---
metadata:
  - name: generator
    content: Diplodoc Platform v5.62.0
style:
  - _assets/styles/custom.css
  - _assets/fonts-golos-text.css
  - _assets/styles/hero-gradient.css
  - _assets/styles/hero-decoration.css
script:
  - _assets/scripts/latex-trust.js
description: >-
  Руководство пользователя (новая версия) - Формирование руководства
  пользователя на ГОСТ-ОН
title: Формирование руководства пользователя на ГОСТ-ОН
vcsPath: poleznye-keisy/formirovanie-rukovodstva-polzovatelia-na-gost-on.md
alternate:
  - href: poleznye-keisy/formirovanie-rukovodstva-polzovatelia-na-gost-on.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    rel: describedby
theme: _assets/style/theme.css
---

# Формирование руководства пользователя на ГОСТ-ОН

Руководство пользователя системы выводится такой конструкцией (в проекте должна быть структура «документ» -> «раздел РП» -> «подраздел РП» -> «шаг»). Скриншоты шагов вставляются фильтром `image`, поэтому получают подпись и номер рисунка:

```jinja
{% set doc = document[0] %}
{% for phase in doc.rp_phase %}
##​ {{ phase.name }}
{% if phase.rp_phase %}{{ phase.rp_phase }}{% endif %}
{% for stage in phase.rp_stage if stage.name %}
###​ {{ stage.name }}
{% if stage.description %}
{{ stage.description }}
{% endif %}
{% if stage.roles %}Условия доступа:
{{ stage.roles | as_bullet_list }}
{% endif %}
{% if stage.user_guide_steps %}
{% for step in stage.user_guide_steps %}
{{ step.steps_list | punctuate_list }}
{% if step.screen %}
{{ step.screen | image('Рисунок {figure_num} — ' ~ stage.name) }}

{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
```


Если руководство строится по задачам системы, подойдет такая конструкция (структура: «компонент» -> «задача» -> «подраздел РП» -> «шаг»).


{% note warning "Горизонтальные связи читаются через related" %}

Подчиняющий родитель у объекта ровно один: подраздел РП подчинен разделу (rp_phase), а с задачей связан горизонтальной связью (relates). Иерархические циклы горизонтальные связи не видят, поэтому обращаться к ним надо через `related`.

{% endnote %}


```jinja
{% for comp in component %}
#​ {{ comp.name }}
{% for task in comp.client_task %}
##​ {{ task.name }}
{% if task.rp_desc %}{{ task.rp_desc }}{% endif %}
{% for stage in task.related.rp_stage if stage.name %}
###​ {{ stage.name }}
{% if stage.description %}
{{ stage.description }}
{% endif %}
{% if stage.roles %}Условия доступа:
{{ stage.roles | as_bullet_list }}
{% endif %}
{% if stage.user_guide_steps %}
{% for step in stage.user_guide_steps %}
{{ step.steps_list | punctuate_list }}
{% if step.screen %}
{{ step.screen | image('Рисунок {figure_num} — ' ~ stage.name) }}

{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
```


<!-- block:end -->
