Перейти к основному содержимому

Добавление параметров номенклатуры и карточек номенклатуры в макетах печатных форм

Универсальный механизм подстановки реквизитов Номенклатуры и Карточки номенклатуры в макеты печатных форм без правки конфигурации. Достаточно добавить в макет параметр с именем по правилу Номенклатура<ИмяРеквизита> или КарточкаНоменклатуры<ИмяРеквизита> — система сама подставит туда нужное значение из документа.

Зачем это нужно

Раньше, чтобы в печатной форме показать значение какого нибуть реквизита номенклатуры или карточки номенклатуры (например, производителя, бух. номер карточки), нужно было обращаться к программисту: править запрос в модуле менеджера, добавлять поле в выборку, согласовывать имя параметра. Любая мелкая правка макета превращалась в задачу на несколько часов, а то и дней.

Теперь добавление поля в макет — это локальное изменение макета (через стандартное «Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм → Изменить макет»). Не нужно править ни код 1С, ни запросы. Реализация в общем модуле один раз поддерживает все будущие параметры — список потенциально доступных полей соответствует составу реквизитов справочника на момент печати.

Где это уже работает

Документ / Справочник
Заказ клиента
Заказ поставщику
Поступление
Продажа
Списание
Сборка-комплектация
Инвентаризация
Начало обслуживания
Окончание обслуживания
Карточки номенклатуры (справочник)

Как пользоваться

1. Откройте копию макета на правку

В клиенте 1С: «Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм». Выбрать нужный макет и нажать Изменить макет или F2.

Праметры-1

2. Добавьте нужный параметр в область строки

В области макета (например, «Строка» для «Заказа клиента»):

  1. Поставьте курсор в нужную ячейку.
  2. Откройте свойства ячейки (правый клик → Свойства или Alt + Enter).
  3. В поле Заполнение выберите Параметр.
  4. В поле Параметр введите имя по правилу:
    • для Номенклатуры — Номенклатура<ИмяРеквизита>
    • для Карточки номенклатуры — КарточкаНоменклатуры<ИмяРеквизита>

Праметры

Имя реквизита берётся из таблиц приложений 1 и 2 этой статьи.

3. Сохраните и проверьте

Сохраните макет, закройте редактор, нажмите «Печать → Заказ клиента» ещё раз — теперь в нужной ячейке окажется значение из реквизита номенклатуры - производитель.

Праметры

Что произойдёт, если имя параметра указано неверно

Параметр останется пустым. Печать не сломается. Это штатное поведение: лишние имена параметров система молча игнорирует, ошибок не возникает. Проверьте имя по таблице в приложении.

Правила формирования имён параметров

A. Простые реквизиты

<Префикс><ИмяРеквизита> — без разделителей.

Примеры:

  • НоменклатураАртикул
  • НоменклатураГарантияМесяцев
  • КарточкаНоменклатурыБухНомер
  • КарточкаНоменклатурыДатаВводаВЭксплуатацию

B. Раскрытие реквизитов-ссылок

Для реквизита, который сам является ссылкой на справочник (например, Производитель или ВидНоменклатуры), помимо ключа с самим значением (НоменклатураПроизводитель) автоматически добавляются развёрнутые поля первого уровня вложенности ссылочного объекта:

Имя параметраЧто подставляется
НоменклатураВидНоменклатурыНаименованиеНаименование вида номенклатуры
НоменклатураПоставщикНаименованиеНаименование контрагента-поставщика
НоменклатураПоставщикИННИНН контрагента-поставщика
НоменклатураПоставщикКППКПП контрагента-поставщика
КарточкаНоменклатурыКодПоОКОФНаименованиеРасшифровка кода ОКОФ

Имена реквизита и подреквизита идут подряд, без разделителей.

Глубина раскрытия — один уровень. То есть НоменклатураПроизводительПолноеНаименование доступно (это реквизит самого Производителя), а вот НоменклатураПроизводительОсновноеЛицоИНН — нет (это уже второй уровень вложенности).

С. Дополнительные реквизиты

Если у номенклатуры или карточки настроены «Дополнительные реквизиты» (механизм БСП), они доступны под именами:

  • НоменклатураДопРеквизит<Идентификатор> — для Номенклатуры
  • КарточкаНоменклатурыДопРеквизит<Идентификатор> — для Карточки

<Идентификатор> формируется из наименования дополнительного реквизита: оставляются только буквы, цифры и подчёркивание, остальные символы убираются. Например, дополнительный реквизит «Цвет корпуса» доступен как НоменклатураДопРеквизитЦветкорпуса.

D. Служебный параметр

Имя параметраЧто подставляется
НоменклатураДатаИВремяПечатиТекущая дата и время сервера на момент печати
КарточкаНоменклатурыДатаИВремяПечатиТо же

Ограничения

  1. Реквизиты составного типа не раскрываются на подреквизиты. Например, у Карточки номенклатуры реквизит ДокументПоступления — составной (может быть Поступление, Списание и т. д.), поэтому доступен только ключ КарточкаНоменклатурыДокументПоступления (выведется представление), а вот КарточкаНоменклатурыДокументПоступленияДата или ...Номер — нет.
  2. Перечисления (АмортизационнаяГруппа) — подреквизитов нет по определению. В параметр подставляется представление значения перечисления.
  3. Устаревшие реквизиты (УдалитьВес, УдалитьКартинка и подобные с префиксом «Удалить») в выборку не попадают. Использовать их в макетах нельзя.
  4. Изображения и хранилища значений не передаются — это технические данные, для макета не пригодны.
  5. Табличные части номенклатуры/карточки (например, СетевыеИнтерфейсы у Карточки) не разворачиваются в строки макета — для каждой строки печати используется одна номенклатура/карточка, ТЧ — это коллекция. Если нужна печать сетевых интерфейсов карточки — это отдельный макет «Карточка номенклатуры», для которого механизм не предназначен.
  6. Стандартный реквизит «Владелец» карточки (= номенклатура, которой она принадлежит) сейчас не входит в набор автоматических параметров.

Совет: как быстро узнать список доступных параметров

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

Также можно ориентироваться на список реквизитов справочника в режиме 1С:ПредКонфигуратор.


Приложение 1. Реквизиты справочника «Номенклатура»

В колонке «Имя параметра в макете» — то имя, которое нужно вписать в свойство «Параметр» ячейки.

Имя параметра в макетеСиноним (как видит пользователь)Описание
НоменклатураСсылкаСсылкаСама ссылка на элемент (в текстовый параметр выведется как представление)
НоменклатураКодКодКод элемента (в справочнике Номенклатура код по умолчанию пустой)
НоменклатураНаименованиеНаименованиеНаименование позиции
НоменклатураПометкаУдаленияПометка удаленияИстина — элемент помечен на удаление
НоменклатураЭтоГруппаЭто группаИстина — элемент является группой каталога
НоменклатураРодительРодительСсылка на родительскую группу
НоменклатураАмортизационнаяГруппаАмортизационная группаАмортизационная группа номенклатуры
НоменклатураАртикулАртикулАртикул позиции номенклатуры
НоменклатураВидНоменклатурыВид номенклатурыВид номенклатуры в информационной базе
НоменклатураВРасчетПотребностейВключатьАналогиВ расчёт потребностей включать аналогиПри расчёте минимального остатка учитывать аналоги
НоменклатураГарантияМесяцевГарантия месяцевСрок гарантии в месяцах
НоменклатураЕдиницаИзмеренияЕдиница измеренияЕдиница измерения по классификатору, в которой ведётся учёт
НоменклатураКодПоОКОФКод по ОКОФКод по ОКОФ номенклатуры
НоменклатураКомментарийКомментарийПроизвольный комментарий
НоменклатураМинимальныйОстатокМинимальный остатокМинимальный остаток номенклатуры, который должен быть в резерве
НоменклатураПоставщикПоставщикПоставщик номенклатуры
НоменклатураПроизводительПроизводительПроизводитель номенклатуры
НоменклатураСтавкаНДССтавка НДССтавка НДС по умолчанию для подстановки в документы
НоменклатураФайлКартинкиФайл картинкиСсылка на файл картинки номенклатуры

Раскрытые поля реквизитов-ссылок (примеры наиболее полезных — полный список зависит от состава реквизитов справочников-целей):

Имя параметра в макетеЧто подставляется
НоменклатураПроизводительНаименованиеНаименование производителя
НоменклатураПроизводительКодКод производителя
НоменклатураПоставщикНаименованиеНаименование контрагента-поставщика
НоменклатураПоставщикИННИНН поставщика
НоменклатураПоставщикКППКПП поставщика
НоменклатураВидНоменклатурыНаименованиеНаименование вида номенклатуры
НоменклатураЕдиницаИзмеренияНаименованиеНаименование единицы измерения (шт., упак. и т. д.)
НоменклатураСтавкаНДСНаименованиеНаименование ставки НДС (20%, 10%, Без НДС и т. п.)
НоменклатураКодПоОКОФНаименованиеРасшифровка кода ОКОФ

Приложение 2. Реквизиты справочника «Карточки номенклатуры»

В колонке «Имя параметра в макете» — то имя, которое нужно вписать в свойство «Параметр» ячейки.

Имя параметра в макетеСиноним (как видит пользователь)Описание
КарточкаНоменклатурыСсылкаСсылкаСама ссылка на карточку (выведется как представление)
КарточкаНоменклатурыКодКодКод карточки (автонумерация, длина 11)
КарточкаНоменклатурыНаименованиеНаименование карточкиНаименование карточки
КарточкаНоменклатурыПометкаУдаленияПометка удаленияИстина — карточка помечена на удаление
КарточкаНоменклатурыАвтоНаименованиеАвто наименованиеАвтоматически формировать наименование по формуле из настроек учёта
КарточкаНоменклатурыАмортизационнаяГруппаАмортизационная группаАмортизационная группа ОКОФ
КарточкаНоменклатурыБухНомерБух номерБухгалтерский номер карточки
КарточкаНоменклатурыВерсияПОВерсия ПОВерсия программного обеспечения
КарточкаНоменклатурыВестиУчетПоКарточкамНоменклатурыВести учёт по карточкам номенклатурыВедётся ли для данной карточки учёт по карточкам
КарточкаНоменклатурыВидНоменклатурыВид номенклатурыВид номенклатуры карточки
КарточкаНоменклатурыГарантияМесяцевГарантия месяцевСрок гарантии в месяцах
КарточкаНоменклатурыДатаВводаВЭксплуатациюДата ввода в эксплуатациюДата ввода карточки в эксплуатацию
КарточкаНоменклатурыДатаНачалаЛицензииДата начала лицензииДата начала действия лицензии
КарточкаНоменклатурыДатаНачалаПодпискиОбновленийДата начала подписки обновленийДата начала действия подписки на обновления
КарточкаНоменклатурыДатаОкончанияГарантииДата окончания гарантииДата окончания гарантии от даты ввода в эксплуатацию
КарточкаНоменклатурыДатаОкончанияЛицензииДата окончания лицензииДата окончания действия лицензии
КарточкаНоменклатурыДатаОкончанияПодпискиОбновленийДата окончания подписки обновленийДата окончания действия подписки на обновления
КарточкаНоменклатурыДатаПриобретенияДата приобретенияДата приобретения карточки
КарточкаНоменклатурыДатаУстановкиПОДата установки ПОДата установки программного обеспечения
КарточкаНоменклатурыДокументПоступленияДокумент поступленияДокумент-основание поступления карточки (составной тип, выведется как представление)
КарточкаНоменклатурыЕстьГарантияЕсть гарантияИстина — на карточку распространяется гарантия
КарточкаНоменклатурыЕстьОграниченияПоКоличествуПользователейЛицензииЕсть ограничения по количеству пользователей лицензииПризнак ограничения лицензии по количеству пользователей
КарточкаНоменклатурыЕстьОграниченияПоСрокуДействияЛицензииЕсть ограничения по сроку действия лицензииПризнак ограничения лицензии по сроку действия
КарточкаНоменклатурыЕстьОграниченияПоСрокуДействияОбновленийЕсть ограничения по сроку действия обновленийПризнак ограничения подписки на обновления по сроку
КарточкаНоменклатурыЗаметкиЗаметкиДополнительная информация по карточке
КарточкаНоменклатурыИнвентарныйНомерИнвентарный номерИнвентарный номер карточки
КарточкаНоменклатурыКлючАктивацииКлюч активацииКлюч активации лицензии
КарточкаНоменклатурыКодПоОКОФКод по ОКОФКод по ОКОФ карточки
КарточкаНоменклатурыКоличествоПользователейЛицензииКоличество пользователей лицензииКоличество пользователей у лицензии
КарточкаНоменклатурыКомментарийКомментарийПроизвольное описание
КарточкаНоменклатурыПервоначальнаяСтоимостьПервоначальная стоимостьСумма первоначальной стоимости
КарточкаНоменклатурыПорядковыйНомерПорядковый номерПорядковый номер карточки
КарточкаНоменклатурыСерийныйНомерСерийный номерСерийный номер карточки
КарточкаНоменклатурыСетевоеИмяСетевое имяСетевое имя устройства
КарточкаНоменклатурыСетевойПользовательСетевой пользовательСетевой пользователь устройства
КарточкаНоменклатурыСрокПолезногоИспользованияСрок полезного использования (мес.)Срок полезного использования карточки в месяцах
КарточкаНоменклатурыФайлКартинкиФайл картинкиСсылка на файл картинки карточки

Раскрытые поля реквизитов-ссылок (примеры):

Имя параметра в макетеЧто подставляется
КарточкаНоменклатурыВидНоменклатурыНаименованиеНаименование вида номенклатуры
КарточкаНоменклатурыВидНоменклатурыКодКод вида номенклатуры
КарточкаНоменклатурыКодПоОКОФНаименованиеРасшифровка кода ОКОФ
КарточкаНоменклатурыКодПоОКОФКодСам код ОКОФ (значение в справочнике)