上一页 | 下一个 |
排除包查询和脚本
在“文档选项”对话框(模板编辑器)或“选项”选项卡(文档生成器)中,您可以输入自定义SQL查询或选择自定义脚本以特定方式定制报表。一种可能性是从报告中排除选定的包或子包。您可以将查询或脚本基于此处提供的示例。
用于排除Package的两个参数是:
- #PACKAGEID# - 在排除条件下处理的t_package中当前记录的Package_ID
- #OBJECTID# - 在排除条件下处理的t_object中当前Package元素记录的Object_ID
自定义SQL查询
要使用自定义SQL查询从报表中排除包,可以基于t_package列创建查询。例如:
SELECT Package_ID AS ExcludePackage
FROM t_package
WHERE Package_ID =#PACKAGEID#
AND Name ='测试'
或者,您可以基于t_object表中的Package对象列创建Query:
SELECT t_package.Package_ID AS ExcludePackage
FROM t_package,t_object
WHERE_package.Package_ID =#PACKAGEID#
AND t_object.Object_ID =#OBJECTID#
AND t_object.Stereotype ='NoDoc'
自定义脚本
如果您已选择“自定义脚本”选项并希望从报告中排除包,则可以创建脚本并输入对其的调用,例如:
ExcludePackage(#包标识#)
这是脚本返回的XML示例:
<?xml version =“1.0”?>
<EADATA version =“1.0”exporter =“Enterprise Architect”>
<Dataset_0>
<数据>
<行>
<ExcludePackage>
89
</ ExcludePackage>
</列>
</数据>
</ Dataset_0>
</ EADATA>
这是用于排除包的JScript示例:
!INC Local Scripts.EAConstants-JScript
/ *
*脚本名称:RTF排除包脚本示例
* /
函数ExcludePackage(packageID)
{
var xmlDOM = new ActiveXObject(“MSXML2.DOMDocument.4.0”);
xmlDOM.validateOnParse = false;
xmlDOM.async = false;
var node = xmlDOM.createProcessingInstruction(“xml”,“version ='1.0'coding ='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(“Data”);
xmlDataSet.appendChild(XMLDATA);
var xmlRow = xmlDOM.createElement(“Row”);
xmlData.appendChild(xmlRow);
var package as EA.Package;
package = Repository.GetPackageByID(packageID)
if(package.StereotypeEx ==“NoDoc”)
{
var xmlName = xmlDOM.createElement(“ExcludePackage”);
xmlName.text =“”+ package.PackageID;
xmlRow.appendChild(xmlName);
}
return xmlDOM.xml;
};
学到更多