【问题标题】:Enterprise Architect document creation - filterEnterprise Architect 文档创建 - 过滤器
【发布时间】:2015-09-08 17:33:46
【问题描述】:

Enterprise Architect 是今天才介绍给我的,而且我还有一个与文档生成相关的任务,应该尽快完成。

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

最简单的方法是什么?脚本或选择器/片段过滤器?谢谢。

编辑:

生成的文档应如下所示:

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

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

共有三个元素字段:TagValue_X、TagValue_Y 和 TagValue_Z。 它们可以分别为 true 或 ""(空字符串)。

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

{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#

模板主:

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

模板片段:

custom>
{SomeQuery}
<custom

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

【问题讨论】:

  • 最简单的方法取决于太多其他因素,无法给出一个好的答案。如果您能描述您遇到的具体问题,我们或许可以帮助您解决。
  • 嗨!我编辑了原始帖子。

标签: templates enterprise-architect


【解决方案1】:

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

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

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

【讨论】:

  • 学习中心似乎很有用,但对这个主题并不十分详细。我为我的原始问题添加了一个 EDIT 2 部分。
  • 我检查了您的编辑,但似乎应该可以。您是否将查询粘贴到模板片段的自定义查询部分?并选择自定义 SQL 作为模板片段类型?
  • 学习中心有两个文档专门针对 SQL 片段:Enterprise Architect|Reporting|RTF 模板片段|创建基于 SQL 的片段(1 和 2)
  • 我检查了提到的文档,因此我可以创建 EDIT 2 中提供的内容。最终对我有用的是以下内容:SELECT t_objectproperties.Property AS SomeQuery FROM t_object, t_objectproperties WHERE t_object.Package_ID = #PACKAGEID# AND t_objectproperties.Object_ID = #OBJECTID# AND t_objectproperties.Value='True' AND t_objectproperties.Property='X' 所以我在选择中添加了 t_object 和 #PACKAGEID#。抱歉,评论格式不佳。
猜你喜欢
  • 1970-01-01
  • 2011-04-20
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多