Зачастую возникает потребность сделать внешнюю печатную форму, набор данных для которой схож с какой-нибудь из встроенных штатных печатных форм.

Например, в программе "1С Управление торговлей 11.2" нам нужно создать печатную форму "Спецификация товара", которая будет распечатываться из документа "Заказ клиента".

Набор данных для новой внешней печатной формы схож с набором данных для встроенной печатной формы "Заказ клиента". Поэтому, выберем эту печатную форму в качестве основы для конструирования новой формы.

Создадим заготовку внешней печатной формы, как описано в статье "Создание внешнего отчёта, обработки, печатной формы".

Потом откроем менеджер объекта конфигурации Документ "Заказ клиента", и найдём в нём Функцию "ПолучитьДанныеДляПечатнойФормыЗаказаНаТоварыУслуги". Скопируем её в модуль объекта нашей внешней печатной формы. В этой функции находится запрос, который получает данные для печатной формы. Мы можем изменить запрос, чтобы получить в нём какие-то дополнительные данные и отменить получение ненужных.

Найдём объект конфигурации Обработка "ПечатьЗаказовНаТоварыУслуги". В нём хранится макет печатной формы "Заказ клиента". Скопируем его во внешнюю печатную форму. Переименуем макет в "ПФ_MXL_Спецификация" и доработаем его под свои нужды. Из модуля менеджера обработки скопируем процедуру Печать, а также другие процедуры и функции, необходимые для печати. Их можно определить по названию. Естественно все эти процедуры и функции мы "затачиваем" под свои задачи.

Например, изменяем Функцию СформироватьПечатнуюФормуЗаказаНаТоварыИУслуги таким образом, чтобы переменная ДанныеДляПечати формировалась из процедуры нашей внешней печатной формы.

Важный момент: в процедуре ЗаполнитьТабличныйДокументЗаказаНаТоварыУслуги мы должны вместо штатного макета подставить свой.

Макет выбиратся здесь:

Пока ДанныеПечати.Следующий() Цикл
		
		Макет = УправлениеПечатью.МакетПечатнойФормы(ИмяМакета);

Мы заменим вторую строку приведённого кода на такую:

Макет = ПолучитьМакет("ПФ_MXL_Спецификация");

Всё остальное, что называется, по вкусу.

Подключается внешняя обработка в разделе Администрирование --> Дополнительные обработки.

О том, как выполнять отладку внешних печатных форм и обработок, можно почитать здесь.

Комментарии

  • pavlo 18.09.2018 13:59
    У меня по второму варианту не получилось. При такой настройке появилась колонка построчно со словами названия колонки ресурса.

    Подробнее...

     
  • Altavista- 17.09.2018 20:51
    Не бесспорное решение: 1. В регистр логичнее добавить 2й ресурс ("вТрансфертныхЦенах"); 2. РС "Наценки"? Однозначно, нет. Это реквизит справочника; 3. Реквизита "Контрагент" в условии задачи тоже нет и ...

    Подробнее...

     
  • Андрей 02.08.2018 09:55
    Большое спасибо! По "Варианту 2": в выбранных полях группировки колонок (у меня их несколько) кроме поля самой колонки пришлось добавить и ресурс.

    Подробнее...