Пользовательские шаблоны экспорта документов

Мастер экспорта документов Requirements Portal — ваш основной инструмент для быстрого создания редактируемых файлов Microsoft Word *.docx непосредственно из ваших требований и действий V&V. Вы можете использовать предустановленные шаблоны или загружать собственные. В основе мастера лежит библиотека Python-Docx-Template, которая, в свою очередь, использует Jinja Templating Engine. Этот мощный тандем позволяет создавать пользовательские шаблоны.

Библиотека Python-Docx-Template

Библиотека Python-Docx-Template — это мощный инструмент, расширяющий возможности библиотеки Python-Docx. Она включает Jinja Templating Engine, что позволяет динамически генерировать содержимое в ваших файлах Word. Это означает, что вы можете использовать переменные, циклы и условные конструкции для заполнения документа данными на лету. По сути, это как добавить вашему документу Word хорошую порцию энергии.

Обратите внимание, что для полей с форматированным текстом в шаблоне экспорта необходимо использовать префикс r. Например, поле текста требования должно быть включено в шаблон как r requirement.text.

Управление шаблонами экспорта

Шаблоны, доступные вашему экземпляру Requirements Portal, перечислены на странице Export templates (  » Settings » Export templates).

  • По умолчанию предоставляются шесть шаблонов — три для экспорта документов требований и три для экспорта документов действий V&V.

    • Дополнительные сведения о шаблонах экспорта требований см. на странице Document Export.

    • Дополнительные сведения о шаблонах экспорта действий V&V см. на странице Document Export.

  • Чтобы добавить новый пользовательский шаблон, нажмите кнопку  в правом верхнем углу страницы. В появившемся окне Add template выберите, должен ли новый шаблон применяться к Requirements или V&V Activities с помощью раскрывающегося списка Applicable objects, а затем используйте область Select template для выбора файла шаблона.

    Нажмите кнопку  в диалоговом окне, чтобы добавить шаблон. Он будет отображён в списке на странице Export templates, после чего его можно будет использовать при экспорте документов.

  • Файл любого шаблона можно скачать. Для этого нажмите кнопку  в столбце Name нужного шаблона и выберите команду Download. В зависимости от ваших персональных настроек браузера файл либо будет автоматически загружен в заранее заданное расположение, либо браузер предложит выбрать место для сохранения на жёстком диске.

  • Пользовательский шаблон можно перезаписать новым файлом шаблона. Для этого нажмите кнопку  в столбце Name нужного шаблона и выберите в появившемся меню команду Overwrite Template. В открывшемся окне Overwrite template укажите применимость шаблона и выберите новый файл. Включите параметр I confirm I want to overwrite и нажмите кнопку , чтобы завершить процесс.

Приложение — структура объекта данных шаблонов экспорта требований

В экземпляре Requirements Portal доступны три шаблона экспорта требований по умолчанию, каждый из которых немного сложнее предыдущего. Поэтому, если вы хотите лучше освоить работу с шаблонами, разумно изучать их последовательно. Вот этот набор:

  • spec_doc.docx — это простой, стандартный шаблон, предназначенный для создания вывода, идентичного представлению требований Document View. Он отлично подходит для начинающих и охватывает простые циклы и переменные.

  • spec_table.docx — следующий уровень сложности: этот шаблон вводит условные конструкции и фильтры. Здесь всё становится интереснее. Это Jinja-версия нашего шаблона Word на основе скрипта с полями слияния.

  • req_verification.docx — мастер среди наших шаблонов. Этот вариант насыщен вложенными циклами и условными конструкциями, а также включает таблицы. Если вы его освоите, можно считать, что вы настоящий мастер шаблонизации документов.

При необходимости вы можете добавлять, удалять или изменять разделы, чтобы они лучше соответствовали вашим потребностям в документации. После изучения файлов шаблонов по умолчанию в указанном выше порядке у вас, возможно, появится желание поэкспериментировать и проверить пределы того, что можно включать в ваши отчёты.

Ниже приведена базовая структура объекта, из которого ваши шаблоны экспорта требований будут получать информацию.

Сортировка полей

Вы можете сортировать требования с помощью функции Sort в документе шаблона Jinja. Например, можно добавить |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

Ниже приведена базовая структура объекта, из которого ваши шаблоны экспорта действий V&V будут получать информацию.

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функций

Доступные вам функции зависят от того, какое решение Altium вы используете: Altium Develop, Altium Agile Teams, Altium Agile Enterprise или Altium Designer (при активной подписке).

Если вы не видите описанную функцию в используемом вами программном обеспечении, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Контент