文档导出自定义模板

Requirements Portal 的文档导出向导可帮助您直接根据需求和 V&V 活动,快速生成可编辑的 Microsoft Word *.docx 文件。您可以使用预定义模板,也可以上传自己的模板。该向导基于 Python-Docx-Template 库,而该库又利用了 Jinja 模板引擎。两者结合,让您能够创建自定义模板。

Python-Docx-Template 库

Python-Docx-Template 库是一款功能强大的工具,扩展了 Python-Docx 库的功能。它集成了 Jinja 模板引擎,支持在 Word 文件中动态生成内容。这意味着您可以使用变量、循环和条件语句,将数据动态填入文档。简单来说,它就像给您的 Word 文档注入了一剂活力。

请注意,对于富文本字段,必须在导出模板中使用 r 前缀。例如,需求文本字段必须以 r requirement.text 的形式包含在模板中。

管理导出模板

您的 Requirements Portal 实例中可用的模板列在 Settings – Export templates 页面上(单击右上角的  图标,从显示的菜单中选择 Settings,然后从左侧窗格的列表中选择 Export templates,即可访问此页面)。

  • 默认提供六个模板,其中三个用于导出需求文档,另外三个用于导出 V&V 活动文档。

    • 有关需求导出模板的更多信息,请参阅 文档导出页面。

    • 有关 V&V 活动导出模板的更多信息,请参阅 文档导出页面。

  • 要添加新的用户自定义模板,请单击页面左上角的  按钮。在显示的 Add template 窗口中,使用 Applicable objects 下拉列表选择新模板应应用于 Requirements 还是 V&V Activities,然后使用 Select template 区域选择模板文件。

    单击对话框中的  按钮以添加模板。该模板将显示在 Export templates 页面的列表中,随后便可用于文档导出。

  • 您可以下载任何模板的文件。为此, 请单击所需模板 Name 列中的  按钮,然后选择 Download 命令。 根据您的浏览器设置,浏览器会自动将文件下载到预定义位置,或询问您要将文件保存到硬盘上的哪个位置。

  • 您可以使用新的模板文件覆盖用户自定义模板。为此,请单击所需模板 Name 列中的  按钮,然后从显示的菜单中选择 Overwrite Template 命令。在打开的 Overwrite template 窗口中指定模板的适用范围,并 选择新文件。启用 I confirm I want to overwrite 选项,然后单击  按钮以完成操作。

附录 – 需求导出模板的数据对象结构

Requirements Portal 实例中提供了多个默认需求导出模板:

  • Specification Doc.docx – 此模板生成并导出的需求与 文档视图功能中的呈现方式类似。

  • Specification Table.docx – 我们的原始模板以清晰的表格格式呈现最相关的需求属性。

  • Requirement Traceability and Verification Matrix.docx – 此模板 可生成 doc 文件, 其中包含需求的父项、子项和设计引用信息,以及验证与确认的意图和状态。

  • Requirements Verification Matrix.docx – 此模板 可生成 doc 文件, 其中包含需求的验证与确认意图和状态信息。

您可以根据文档编制需求,自由添加、删除或修改各个章节。 按上述顺序查看默认模板文件后,您不妨进一步探索,看看报告中还能包含哪些内容。

以下是需求导出模板用于提取信息的对象的基本结构。

字段排序

您可以在 Jinja 模板文档中使用 Sort 函数对需求进行排序。例如,您可以添加 |sort(attribute='identifier') ,使需求按标识符列以字母数字顺序排序。

示例:

{% for requirement in requirements|selectattr("specification_id", "equalto", specification.id)|selectattr("group_id", "none") |sort(attribute='identifier') -%}

自定义列

使用当前的文档导出器,您可以轻松导出自定义列的值。对于简单的文本型自定义列,可以使用以下通用结构:

{% for custom_field in requirement.custom_fields|selectattr(“field”, “equalto”, “Name of Custom Column”) %}{{r custom_field.value }}{% endfor %}

请务必将 Name of Custom Column 文本替换为列标题中显示的实际列名。

如果自定义列不是文本类型,而是多选选项,您可以使用以下代码,并根据自己的使用场景进行调整。

{%- if requirement.custom_fields -%}
     {%- set additional_info_values = [] -%}
     {%- set category_values = [] -%}
     {%- set additional_info_custom_fields = requirement.custom_fields | selectattr('field', 'equalto', 'Additional Information') -%}
     {% for custom_field in additional_info_custom_fields -%}
      {%- set additional_info_values = additional_info_values + custom_field.value -%}
     {% endfor -%}
     {%- set category_custom_fields = requirement.custom_fields | selectattr('field', 'equalto', 'Category') -%}
     {% for custom_field in category_custom_fields -%}
           {%- set category_values = category_values + custom_field.value -%}
     {% endfor -%}
{%- set additional_info_string = additional_info_values | join(';') -%}
{%- set category_string = category_info_values | join(';') -%}
{%- endif -%}

附录 – V&V 活动导出模板的数据对象结构

Requirements Portal 实例中提供了多个默认 V&V 活动导出模板:

  • V&V Activity Document.docx – 包含选为导出上下文的活动信息。

  • V&V Matrix.docx – 包含选为导出上下文的活动与需求及其关联块之间的链接。

  • V&V Runs Document.docx – 包含选为导出上下文的活动的运行信息。

以下是 V&V 活动导出模板用于提取信息的对象的基本结构。

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Contents
功能可用性

您可使用的功能取决于您所采用的 Altium 解决方案——Altium Develop、Altium Agile Teams、Altium Agile Enterprise,或 Altium Designer(在有效订阅期内)。

如果您在实际软件中未看到文档中介绍的某项功能, 请联系 Altium Sales 了解更多信息。

Contents