При доработке типовых конфигураций (например, 1С:Управление нашей фирмой) часто возникает задача: в документ добавлены новые реквизиты, и теперь их значения необходимо вывести в печатную форму. Однако простого добавления текста или названия реквизита в ячейку макета недостаточно. Разберем подробно, почему свойства ячеек могут быть недоступны, как устроен механизм вывода печатных форм и какими способами можно решить эту задачу.
Проанализируем частую проблему: при открытии макета в палитре свойств отсутствует раздел Макет или свойство Заполнение (где переключаются режимы Текст, Параметр, Шаблон).
Выясним причину такого поведения конфигуратора. Данное свойство отображается только тогда, когда выделена сама ячейка целиком (или диапазон ячеек), но курсор не находится внутри ячейки в режиме непосредственного ввода текста. Если дважды кликнуть по ячейке и начать писать, фокус переходит в режим редактирования строки, и свойства макета в палитре скрываются.
Рассмотрим порядок правильной настройки ячейки:
F4 или через контекстное меню).НовыйРеквизит.Дополнительные сведения: [НовыйРеквизит].Посмотрим на внутреннее устройство подсистемы печати БСП, используемой в УНФ. Изменение только визуального макета не приведет к выводу данных, так как платформа должна знать, откуда брать значения для созданных параметров. Формирование печатных форм обычно выполняется в модуле менеджера документа в экспортных процедурах печати.
Разберем по шагам, какие изменения необходимо внести в код конфигурации:
Печать или вспомогательная процедура формирования табличного документа).
// В секцию ВЫБРАТЬ добавляем новые реквизиты документа
Запрос.Текст =
"ВЫБРАТЬ
| Документ.Ссылка КАК Ссылка,
| Документ.Номер КАК Номер,
| Документ.Дата КАК Дата,
| Документ.НовыйРеквизит1 КАК НовыйРеквизит1,
| Документ.НовыйРеквизит2 КАК НовыйРеквизит2
|ИЗ
| Документ.ПриемВРемонт КАК Документ
|ГДЕ
| Документ.Ссылка В(&МассивОбъектов)";
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Заполнить(Выборка);
ТабличныйДокумент.Вывести(ОбластьШапка);
ОбластьШапка.Параметры.НовыйРеквизит1 = Выборка.НовыйРеквизит1;
ОбластьШапка.Параметры.НовыйРеквизит2 = Выборка.НовыйРеквизит2;
Рассмотрим альтернативные варианты, которые позволяют избежать прямых изменений типовой конфигурации и упрощают последующие обновления системы:
ДополнительныеОтчетыИОбработки. Это изолирует изменения от основной конфигурации.&Вместо или &ИзменениеИКонтроля, сохраняя конфигурацию на полной поддержке поставщика.Важное ограничение: редактирование макетов через пользовательский интерфейс в режиме «1С:Предприятие» (раздел Печатные формы, отчеты и обработки -> Макеты печатных форм) позволяет изменить только взаимное расположение областей и шрифты. Вывести абсолютно новые реквизиты без корректировки программного кода формирования печатной формы невозможно, так как алгоритм выборки данных остается неизменным.