Новый реквизит в макете ценника

2023-10-17

Типовые конфигурации 1С предоставляют готовые шаблоны ценников и этикеток. Также есть возможность отредактировать готовый шаблон, для этого есть целый редактор, можно изменять расположение полей, а также добавлять или удалять поля.
Хотя в редакторе есть из чего выбрать, но бывают ситуации когда нет нужных полей, а хочется чтобы на ценнике оно было.

Но добавить свой новый реквизит можно. Делается это через СКД(Систему компоновки данных). На примере 1С Розница добавим поле в макет ценника. Но сначала стоит сказать, что все конструкторы запускаются только в режиме толстого клиента. Поэтому перед запуском, в списке баз, укажите в настройках базы запуск в режиме толстого клиента.

1С Розница

Сначала создадим новый шаблон, заходим в Администрирование - Печатные формы, отчеты и обработки, выбираем Шаблоны этикеток, ценников и чеков ККМ,

Шаблоны ценников

Здесь будет список шаблонов ценников и этикеток, создадим новый шаблон, назовем как-нибудь и сохраним.

Новый шаблон ценника

Дальше нажмем "Редактировать макет...", и загрузим шаблон по умолчанию.

Стандартный шаблон ценника

После того как макет появился, сохраняем и нажимаем редактировать "Редактировать СКД". Перед вами откроется окно в котором видно поля и текст запроса.

СКД макета ценника

Здесь нам нужен Конструктор запроса, открываем его.

Запрос из СКД макета ценника

В этом окне видны все объекты конфигурации, таблицы и выбранные поля, также справа находятся вкладки с вложенными запросами. Нас интересует самый последний, в него будем добавлять новые поля.
Для начала например создадим поле, которое будет выводит завтрашнюю дату в ценнике. По умолчанию у нас есть поле "ТекущееВремя", а нам нужно сделать поле ЗавтрашнийДень. Нажмем на плюс, чтобы добавить поле. Это будет вычисляемое поле, чтобы получить завтрашнюю дату, к текущей дате нужно прибавить один день. Формула для этого:
НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&ТекущееВремя, ДЕНЬ, 1), ДЕНЬ)

Новое поле в ценнике

Теперь это поле появилось в списке полей получаемых в запросе. Дальше нужно назвать новое поле, переходим во вкладку "Объединения/Псевдонимы" и переименовываем новое поле в "ЗавтрашнийДень".

Имя нового поля в макете

Также перейдем во вкладку "Компоновка данных" и во вкладке "Поля добавим это поле в список справа.

Новое поле в СКД макете

Все, конструктор запроса можно закрыть, нажав на кнопку "ОК".
Снова попадаем в конструктор СКД, поставим внизу галочку "Автозаполнение". И видим, что в списке полей появилось созданное поле ЗавтрашнийДень.

Новое СКД для макета

Теперь СКД можно закрыть, нажав кнопку "ОК" и перейти в редактор макета шаблона ценника. Видим, что в списке слева появилось новое поле. Теперь его можно поставить в любую ячейку, настроить формат даты, нам нужна только дата без времени(ДФ=dd.MM.yy) и попробовать напечатать макет.

Ценник 1С с новым полем

Как видим на печать выводится завтрашний день, именно то что и было нужно.
Казалось бы - зачем это нужно? А нужно это для кулинарии, которая ежедневно выпускает продукцию, и чтобы заведующей не выходить в выходные дни чтобы печатать этикетки, было добавлено такое поле, а еще послезавтра и послепослезавтра.

1С КА и 1С УТ

Все вышесказанное относится к 1С:Розница и не актуально например для Комплексной автоматизации и возможно для Управления торговлей.
Чтобы добавить свой реквизит в шаблон ценника в этих конфигурациях, нужно вносить изменения непосредственно в конфигурацию. Причем изменения вносить в нескольких местах.
Сначала нужно отредактировать сам макет. Для этого нужно в обработке ПечатьЭтикетокИЦенников снять с поддержки макеты ПоляШаблонаПечатьТовары и ПоляШаблонаТовары.

Макеты ценников 1с комплексная автоматизация

В обоих макетах есть по два набора данных НаборДанных и НаборДанных2_5, и по аналогии с 1С Розницей в каждый из них нужно добавить новое поле, единственное, что можно не ставить галочку "Автозаполнение".
Почему их два? - Потому что один макет используется в редакторе шаблона, а второй непосредственно в печати.

Но после этих действий, новое поле в списке редактора макета не появится, чтобы оно появилось нужно добавить отображение этих полей в справочник "ШаблоныЭтикетокИЦенников" в форму "ФормаРекдактированияШаблонаЭтикетокИЦенников", снимаем форму с поддержки и в модуле формы ищем поле "ТекущееВремя", и после него вставляем наше новое поле:

Шаблоны этикеток и ценников 1с комплексная автоматизация

После этого новые поля появятся в редакторе шаблона ценника.

Еще одно поле

Добавим для разнообразия еще одно поле в макет ценника. Например выведем в ценнике информацию о сопоставленной номенклатуре ЕГАИС.

Открываем СКД для шаблона, переходим в конструктор запроса, переходим в последний запрос(во вкладках справа) в первой колонке ищем СоответствиеНоменклатурыЕГАИС и добавляем ее во вторую колонку.
Раскрываем таблицу и перетаскиваем поле СоответствиеНоменклатурыЕГАИС.АлкогольнаяПродукция.Наименование в третью колонку. Так мы будем получать в запросе еще одно новое поле.

Добавить поле ЕГАИС в ценник

Дальше нужно связать это поле с номенклатурой, для этого во вкладке "Связи" добавляем новую связь, выбираем Таблица1 - ИсходныеДанныеПоследнийЗапрос, Таблица2 - СоответствиеНоменклатурыЕГАИС. А условием связи делаем поле Номенклатура как впервой так и во второй таблице - ИсходныеДанныеПоследнийЗапрос.Номенклатура=СоответствиеНоменклатурыЕГАИС.Номенклатура.

Условие связи поля ЕГАИС в ценник

Из-за того, что у одной номенклатуры может быть несколько видов алкогольной продукции ЕГАИС, нужно в группировке указать, что поле СоответствиеНоменклатурыЕГАИС.АлкогольнаяПродукция.Наименование = Максимум. Так будет получен только один результат для одной номенклатуры.

Группировка в запросе для поля в ценнике

Переходим в Компоновка/Псевдонимы и добавляем наше новое поле.

Поле для СКД в запросе для ценника

Теперь сохраняем запрос и видим, что наше новое поле появилось в СКД.

Поле для СКД в ценнике

На этом все, можно переходить в редактор макета и попробовать добавить в макет новое поле

Редактирование макета с новыми полями в ценнике

Добавляем куда удобно и пробуем напечатать ценник, в результате на ценнике появилось название продукции ЕГАИС с которым сопоставлена наша номенклатура.

Ценник 1С с новыми полями

Вот такая получилась инструкция по добавлению своих реквизитов в шаблон ценника. Спасибо за внимание.