- Председатель/Секретарь/Заместитель — своей ролью
- Первый обычный член получает «Члены комиссии», остальные — пустая роль
- Пустая строка в цикле больше не превращается в «—»
Проверено: 1 председатель + 4 члена в шаблоне «6. Акт...»
Word хранит перенос страницы отдельным run в параграфе с <!-- loop_end -->.
Нормализация раньше удаляла его при склейке текста — акты слипались.
Теперь page break сохраняется и копируется в каждую итерацию цикла.
Проверено: 2 ИС -> 2 разрыва страниц, XML валиден.
Word разбивает на run'ы не только маркеры циклов, но и переменные
({{name}}, {{number}}, {{pd_list}} и т.д.). Нормализация теперь
склеивает все параграфы с {{...}}, а размножение цикла подставляет
и {{item.field}}, и {{field}} (шаблон '0. Акт обследования.docx')
- _normalize_loop_markers: склейка текста параграфа в один run перед
поиском <!-- loop:... --> и {{item.*}}, иначе циклы не разворачивались
(шаблон '6. Акт определения уровня защищенности ПДн.docx')
- variables.py: поле address в цикле information_systems
expand_loops_in_zip возвращал путь к пустому tmp-файлу, если в шаблоне
не было маркеров <!-- loop:... -->. python-docx падал с
'Package not found'. Теперь при отсутствии циклов возвращается
исходный шаблон, tmp удаляется. Тесты: без циклов, с циклом,
вложенные циклы — всё ок.