문서 내보내기 사용자 지정 템플릿

요구 사항 및 시스템 포털의 문서 내보내기 마법사를 사용하면 편집 가능한 Microsoft Word *.docx 파일을 바로 편집할 수 있습니다. 미리 정의된 템플릿을 사용하거나 직접 템플릿을 업로드할 수 있습니다. 이 마법사는 Python-Docx-Template 라이브러리를 기반으로 하며, 이 라이브러리는 다시 Jinja 템플릿 엔진을 활용합니다. 이 역동적인 듀오를 통해 사용자 지정 템플릿을 만들 수 있습니다.

Python-Docx-Template 라이브러리

Python-Docx-Template 라이브러리는 Python-Docx 라이브러리의 기능을 확장하는 강력한 도구입니다. 여기에는 진자 템플릿 엔진이 통합되어 있어 Word 파일 내에서 동적 콘텐츠 생성이 가능합니다. 즉, 변수, 루프, 조건문을 사용하여 문서를 데이터로 즉시 채울 수 있습니다. 한마디로 Word 문서에 에스프레소 한 잔을 추가하는 것과 같습니다.

서식 있는 텍스트인 필드의 경우, 필드 이름에 r 접두사를 내보내기 템플릿에 사용해야 합니다. 예를 들어, 요구 사항 텍스트 필드는 템플릿에 다음과 같이 r requirement.text.

내보내기 템플릿 관리하기

요구 사항 및 시스템 포털 인스턴스에서 사용할 수 있는 템플릿은 Export templates 페이지( » Settings » Export templates).

  • 기본적으로 요구 사항 문서 내보내기용 템플릿 3개와 V&V 활동 문서 내보내기용 템플릿 3개 등 총 6개의 템플릿이 제공됩니다.

    • 요구 사항 내보내기 템플릿에 대한 자세한 내용은 문서 내보내기 페이지를 참조하세요.

    • V&V 활동 내보내기 템플릿에 대한 자세한 내용은 문서 내보내기 페이지를 참조하세요.

  • 새 사용자 정의 템플릿을 추가하려면 페이지 오른쪽 상단의 버튼을 클릭하세요. 표시되는 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 옵션을 활성화하고 버튼을 클릭하여 프로세스를 완료합니다.

부록 - 요구 사항 내보내기 템플릿의 데이터 객체 구조

요구 사항 및 시스템 포털 인스턴스에서는 세 가지 기본 요구 사항 내보내기 템플릿을 사용할 수 있으며, 각 템플릿은 이전 템플릿보다 점점 더 복잡해집니다. 따라서 템플릿의 수준을 높이고 싶다면 순차적으로 템플릿을 사용하는 것이 현명한 방법입니다. 다음은 라인업입니다:

  • spec_doc.docx - 이 템플릿은 요구 사항인 문서 보기와 동일한 결과물을 생성하기 위한 간단하고 일반적인 템플릿입니다. 초보자에게 적합하며 간단한 루프와 변수를 다룹니다.

  • spec_table.docx - 한 단계 업그레이드된 이 템플릿은 조건문과 필터를 도입했습니다. 여기서부터 본격적으로 시작됩니다. 병합 필드가 있는 스크립트 기반 Word 템플릿의 Jinja 버전입니다.

  • req_verification.docx - 템플릿의 대가입니다. 중첩 루프와 조건문이 풍부하고 테이블도 통합되어 있습니다. 이 템플릿을 마스터할 수 있다면 문서 템플릿의 제다이가 된 것입니다.

필요에 따라 섹션을 자유롭게 추가, 제거 또는 수정하여 문서에 더 잘 맞출 수 있습니다. 위에 제시된 순서대로 기본 템플릿 파일을 살펴본 후에는 보고서에 포함할 수 있는 항목의 한계를 테스트하는 모험심을 발휘할 수 있습니다.

다음은 요구 사항 내보내기 템플릿에서 정보를 가져오는 개체의 기본 구조입니다.

필드 정렬

진자 템플릿 문서의 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”) %}{% for value in custom_field.value %}{{ value }}{% endfor %}{% 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', '추가 정보') -%}
     {% 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-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
기능 제공 여부

사용 가능한 기능은 보유하고 계시는 Altium 솔루션에 따라 달라집니다. 해당 솔루션은 Altium Develop, Altium Agile의 에디션(Agile Teams 또는 Agile Enterprise), 또는 활성기간 내의 Altium Designer 중 하나입니다.

안내된 기능이 고객님의 소프트웨어에서 보이지 않는 경우, 보다 자세한 내용을 위해 Altium 영업팀 에 문의해 주세요.

콘텐츠