База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как вставить номер заказа клиента в форму накладной из реализации товаров? › Ответ в теме: Как вставить номер заказа клиента в форму накладной из реализации товаров?
Чтобы вставить номер заказа клиента в печатную форму Расходной накладной, которая печатается из документа РеализацияТоваровУслуг, нужно сделать следующее:
1. Проверить, что в документе РеализацияТоваровУслуг есть ссылка на ЗаказКлиента
В типовой конфигурации в документе РеализацияТоваровУслуг есть реквизит ЗаказКлиента (ссылка на документ ЗаказКлиента). Если его нет — нужно добавить.
2. Открыть макет печатной формы Расходной накладной
— В конфигураторе откройте объект «Документ.РеализацияТоваровУслуг».
— Перейдите в раздел «Макеты печатных форм».
— Найдите макет Расходной накладной (обычно называется «РасходнаяНакладная» или похожим именем).
— Откройте макет в редакторе (FastReport или встроенный редактор).
3. Добавить поле для номера заказа клиента
— В нужном месте макета (например, в шапке документа или рядом с реквизитами документа) добавьте текстовое поле.
— В качестве выражения для этого поля укажите:
|
1 |
[Документ.ЗаказКлиента.Номер] |
Если макет на FastReport, то выражение будет примерно такое:
|
1 |
[Документ.ЗаказКлиента.Номер] |
4. Если в макете нет объекта «Документ.ЗаказКлиента» — нужно расширить выборку данных
В макете печатной формы данные берутся из объекта, который формируется в коде печатной формы.
— В модуле менеджера документа РеализацияТоваровУслуг найдите процедуру, которая формирует печатную форму (например, СформироватьПечатнуюФормуРасходнойНакладной).
— В этой процедуре нужно добавить передачу реквизита ЗаказКлиента в макет.
Пример (в модуле менеджера расширения):
|&Вместо(«СформироватьПечатнуюФормуРасходнойНакладной»)
|Функция СформироватьПечатнуюФормуРасходнойНакладной(Параметры)
| ИсходнаяФорма = ЭтотОбъект.СформироватьПечатнуюФормуРасходнойНакладной(Параметры);
| ИсходнаяФорма.ОбластьДанных.Параметры.ЗаказКлиента = ЭтотОбъект.ЗаказКлиента;
| Возврат ИсходнаяФорма;
|КонецФункции
5. В макете добавить параметр «ЗаказКлиента»
— В редакторе макета добавьте параметр «ЗаказКлиента» типа «ДокументСсылка.ЗаказКлиента».
— В поле для номера заказа укажите выражение:
|
1 |
[ЗаказКлиента.Номер] |
6. Проверить и протестировать
— Сохраните изменения.
— Запустите 1С в режиме предприятия.
— Откройте документ РеализацияТоваровУслуг, у которого заполнен реквизит ЗаказКлиента.
— Распечатайте Расходную накладную.
— Убедитесь, что номер заказа клиента отображается.
—
Если хотите сделать через расширение конфигурации, то:
— Создайте расширение.
— В модуле менеджера документа РеализацияТоваровУслуг сделайте перехват функции формирования печатной формы.
— Добавьте передачу реквизита ЗаказКлиента в макет.
— В макете расширения добавьте поле с номером заказа.
—
Рекомендую посмотреть подробный пример по добавлению реквизита в печатную форму здесь:
https://infostart.ru/public/1590240/
Там подробно описан процесс добавления своего реквизита в макет печатной формы.