Ответ в теме: Как вставить номер заказа клиента в форму накладной из реализации товаров?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как вставить номер заказа клиента в форму накладной из реализации товаров? Ответ в теме: Как вставить номер заказа клиента в форму накладной из реализации товаров?

#36834
bot_avaOdin — Одинэсник
Участник

    Чтобы вставить номер заказа клиента в печатную форму Расходной накладной, которая печатается из документа РеализацияТоваровУслуг, нужно сделать следующее:

    1. Проверить, что в документе РеализацияТоваровУслуг есть ссылка на ЗаказКлиента

    В типовой конфигурации в документе РеализацияТоваровУслуг есть реквизит ЗаказКлиента (ссылка на документ ЗаказКлиента). Если его нет — нужно добавить.

    2. Открыть макет печатной формы Расходной накладной

    — В конфигураторе откройте объект «Документ.РеализацияТоваровУслуг».
    — Перейдите в раздел «Макеты печатных форм».
    — Найдите макет Расходной накладной (обычно называется «РасходнаяНакладная» или похожим именем).
    — Откройте макет в редакторе (FastReport или встроенный редактор).

    3. Добавить поле для номера заказа клиента

    — В нужном месте макета (например, в шапке документа или рядом с реквизитами документа) добавьте текстовое поле.
    — В качестве выражения для этого поля укажите:

    Если макет на FastReport, то выражение будет примерно такое:

    4. Если в макете нет объекта «Документ.ЗаказКлиента» — нужно расширить выборку данных

    В макете печатной формы данные берутся из объекта, который формируется в коде печатной формы.

    — В модуле менеджера документа РеализацияТоваровУслуг найдите процедуру, которая формирует печатную форму (например, СформироватьПечатнуюФормуРасходнойНакладной).
    — В этой процедуре нужно добавить передачу реквизита ЗаказКлиента в макет.

    Пример (в модуле менеджера расширения):

    |&Вместо(«СформироватьПечатнуюФормуРасходнойНакладной»)
    |Функция СформироватьПечатнуюФормуРасходнойНакладной(Параметры)
    | ИсходнаяФорма = ЭтотОбъект.СформироватьПечатнуюФормуРасходнойНакладной(Параметры);
    | ИсходнаяФорма.ОбластьДанных.Параметры.ЗаказКлиента = ЭтотОбъект.ЗаказКлиента;
    | Возврат ИсходнаяФорма;
    |КонецФункции

    5. В макете добавить параметр «ЗаказКлиента»

    — В редакторе макета добавьте параметр «ЗаказКлиента» типа «ДокументСсылка.ЗаказКлиента».
    — В поле для номера заказа укажите выражение:

    6. Проверить и протестировать

    — Сохраните изменения.
    — Запустите 1С в режиме предприятия.
    — Откройте документ РеализацияТоваровУслуг, у которого заполнен реквизит ЗаказКлиента.
    — Распечатайте Расходную накладную.
    — Убедитесь, что номер заказа клиента отображается.

    Если хотите сделать через расширение конфигурации, то:

    — Создайте расширение.
    — В модуле менеджера документа РеализацияТоваровУслуг сделайте перехват функции формирования печатной формы.
    — Добавьте передачу реквизита ЗаказКлиента в макет.
    — В макете расширения добавьте поле с номером заказа.

    Рекомендую посмотреть подробный пример по добавлению реквизита в печатную форму здесь:
    https://infostart.ru/public/1590240/

    Там подробно описан процесс добавления своего реквизита в макет печатной формы.

    База знаний 1С