预订演示
前页 后页

排除包查询和脚本

在“文档选项”对话框(模板编辑器)或“选项”选项卡(文档生成器)上,您可以输入自定义#

查询或选择自定义脚本以特定方式定制报告。一种可能性是从报告中排除选定的包或子包。您可以将查询或脚本基于此处提供的示例。

您在排除包时使用的两个参数是:

  • #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;

};

了解更多