Enterprise Architect文档创建 - 过滤器

时间:2015-08-28 17:13:49

标签: templates enterprise-architect

Enterprise Architect仅在今天向我介绍,我还有一个与文档生成相关的任务,应该尽快完成。

我必须为doc生成编写一个模板,这个模板应该对特定元素进行一些过滤或调整。 仔细看看:我有一个元素,它有一个特殊字段{Element.SpecialField},可以保存true或fase的值。如果字段的值为true,则应该在文档中生成字段的名称,否则不生成。

哪种方法最简单?脚本或选择器/片段过滤器?感谢。

修改

生成的文档应如下所示:

![EA Document]:http://s29.postimg.org/68edfthdz/EA_doc.jpg

包含问号的单元格是我在编辑部分上面提到的特定元素值。

有三个元素字段:TagValue_X,TagValue_Y和TagValue_Z。 它们可以单独为真或“”(空字符串)。

但是在表格单元格中,我不希望看到它们的值,而是用逗号分隔的字段名称。例如:if

{Element.valueOf(X)} == true AND {Element.valueOf(Y)} == "" AND {Element.valueOf(Z)} == true

,然后单元格应包含“X,,Z”。

编辑2:致Geert的答案。

当我想在模型中搜索时,以下脚本运行良好(EA 12中的CTRL + ALT + A):

SELECT t_objectproperties.Property FROM t_object, t_objectproperties
WHERE t_objectproperties.Value='True'
AND t_objectproperties.Property='X'
AND t_object.Object_ID = t_objectproperties.Object_ID

我应该如何修改它以将其作为片段模板中的自定义查询应用?我试过这样的一些查询,但他们从来没有回复任何东西。可能这是我的基本概念误解问题......

SELECT t_objectproperties.Property AS SomeQuery
FROM t_objectproperties
WHERE t_objectproperties.Value='True'
AND t_objectproperties.Property='X'
AND t_objectproperties.Object_ID = #OBJECTID#

TemplateMain:

package>
element>
{Template - TemplateFragment}
<element
<package

TemplateFragment:

custom>
{SomeQuery}
<custom

我想应该将片段模板插入元素部分。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是创建一个SQL片段。

使用SQL,您可以根据传递给模板片段的PackageID准确返回所需的字段。

检查学习中心(Alt-F1)以获取有关创建SQL片段的分步指南。