前页 | 后页 |
排除包查询和脚本
在“文档选项”对话框(模板编辑器)或“选项”选项卡(文档生成器)上,您可以输入自定义#
查询或选择自定义脚本以特定方式定制报告。一种可能性是从报告中排除选定的包或子包。您可以将查询或脚本基于此处提供的示例。
您在排除包时使用的两个参数是:
- #PACKAGEID# - 在排除条件下正在处理的 t_package 中当前记录的 Package_ID
- #OBJECTID# - 在排除条件下正在处理的 t_object 中当前包元素记录的 Object_ID
自定义 SQL查询
要使用自定义 SQL查询从报告中排除包,您可以基于 t_package 列创建查询。例如:
SELECT Package_ID 作为 ExcludePackage
FROM t_package
WHERE Package_ID = #PACKAGEID#
AND名称='测试'
或者,您可以根据 t_object表中的包object列创建查询:
SELECT t_package.Package_ID 作为 ExcludePackage
FROM t_package,t_object
WHERE t_package.Package_ID = #PACKAGEID#
AND t_object.Object_ID =#OBJECTID#
AND t_object.构造型= 'NoDoc'
自定义脚本
如果您选择了“自定义脚本”选项并希望将包从报告中排除,您可以创建一个脚本并输入对其的调用,例如:
排除包(#PACKAGEID#)
这是脚本返回的 XML 示例:
<?xml 版本=" 1 .0"?>
<EADATA 版本=" 1 .0" 出口商=" Enterprise Architect ">
<数据集_0>
<数据>
<行>
<排除包>
89
</ExcludePackage>
</行>
</数据>
</Dataset_0>
</EADATA>
这是一个用于排除包的 JScript 示例:
!INC 本地脚本.EAConstants-JScript
/*
*脚本名称:RTF Exclude包脚本Sample
*/
函数ExcludePackage(packageID)
{
var xmlDOM = new ActiveXObject("MSXML2.DOMDocument.4.0");
xmlDOM.validateOnParse = false ;
xmlDOM.async = false ;
var node = xmlDOM.createProcessingInstruction("xml", "version=' 1 .0' encoding='ISO-8859-1'");
xmlDOM.appendChild(节点);
var xmlRoot = xmlDOM.createElement("EADATA");
xmlDOM.appendChild(xmlRoot);
var xmlDataSet = xmlDOM.createElement("Dataset_0");
xmlRoot.appendChild(xmlDataSet);
var xmlData = xmlDOM.createElement("数据");
xmlDataSet.appendChild(xmlData);
var xmlRow = xmlDOM.createElement("Row");
xmlData.appendChild(xmlRow);
var包作为EA.包;
包=存储库.GetPackageByID(packageID)
if(包.StereotypeEx == "NoDoc")
{
var xmlName = xmlDOM.createElement("ExcludePackage");
xmlName.text = "" +包.PackageID;
xmlRow.appendChild(xmlName);
}
返回xmlDOM.xml;
};