#std789¶
Разработка печатных форм с учетом возможного внесения изменений в макет пользователем¶
Если в конфигурации пользователь может редактировать макеты
(например, средствами подсистемы Печать БСП),
учитывайте, что параметры и области макета могут быть изменены или удалены.
Требования зависят от технологии компоновки печатной формы.
1.¶
Если печатная форма строится средствами подсистемы Печать БСП
(по макету СКД),
для корректного вывода измененных макетов сохраняйте существующий состав полей
в макетах ДанныеПечати объектов метаданных.
1.1.¶
Если в объекте уже есть макет ДанныеПечати,
можно расширять состав полей,
но нельзя переименовывать или удалять поля.
1.2.¶
Если макета ДанныеПечати нет,
нельзя переименовывать реквизиты или табличные части.
Если нужно изменить состав реквизитов и/или табличных частей,
сначала создайте макет ДанныеПечати,
чтобы зафиксировать прежний состав полей объекта.
2.¶
При программной компоновке печатной формы кроме макета разрабатываются процедуры получения данных и вывода в печатную форму.
Поэтому код вывода должен быть устойчив к изменениям макета.
2.1.¶
Область макета может быть удалена пользователем, поэтому перед получением области проверяйте, что она существует.
2.2.¶
Избегайте явного присвоения параметров в областях печати.
Используйте глобальный метод ЗаполнитьЗначенияСвойств
или метод Заполнить коллекции ПараметрыМакетаТекстовогоДокумента.
Неправильно
3.¶
Изменения макетов печати (в метаданных) бывают обязательные и необязательные.
Обязательные - например, когда в макете отражены изменения в регламентированной печатной форме.
Необязательные - когда добавлена новая область, без которой печатная форма остается пригодной к использованию.
Если изменение обязательное, при обновлении конфигурации нужно отключать пользовательский макет и уведомлять пользователя.
Если в конфигурации используется БСП,
для отключения пользовательского макета применяйте процедуру
ОтключитьПользовательскийМакет общего модуля УправлениеПечатью.
Для проверки измененности и использования макета
применяйте функции ПоставляемыйМакетИзменен
и ИспользуетсяПользовательскийМакет
общего модуля УправлениеПечатью.
Если изменение необязательное,
в новом коде формирования печатной формы
обеспечьте вывод по старому макету
(см. п. 2.1 и 2.2).