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