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
我想应该将片段模板插入元素部分。
答案 0 :(得分:1)
最简单的解决方案是创建一个SQL片段。
使用SQL,您可以根据传递给模板片段的PackageID准确返回所需的字段。
检查学习中心(Alt-F1)以获取有关创建SQL片段的分步指南。