Проблема с выводом названия организации на ценниках и этикетках является довольно распространенной в конфигурациях, построенных на базе современных библиотек «1С:Розница 2.0», «1С:Управление торговлей 11» и «1С:Управление нашей фирмой 3.0». Часто пользователи сталкиваются с тем, что в шаблоне поле добавлено, в форме печати организация выбрана, но само поле на бумаге остается пустым. Разберем детально причины этого поведения и способы решения проблемы.
Первым делом проанализируем, какой именно параметр указан в шаблоне ценника. Одной из частых ошибок является попытка вывести вложенный реквизит, такой как Организация.НаименованиеПолное или Организация.НаименованиеСокращенное. В современных версиях 1С система компоновки данных (СКД), которая готовит данные для печати, может не поддерживать автоматическое извлечение вложенных полей через «точку», если это не предусмотрено разработчиком в схеме компоновки.
Как показывает практика, решением часто становится использование простого параметра Организация. В этом случае платформа самостоятельно подставит основное представление объекта. Посмотрим, как это сделать:
Организация.Важно помнить, что если в списке доступных полей есть несколько вариантов, стоит протестировать их по очереди, начиная с самого простого.
Разберем ситуацию, когда параметр выбран верно, но 1С все равно его игнорирует. В редакторе шаблона у каждой ячейки есть критически важное свойство — Заполнение. Проанализируем возможные варианты:
Продавец: [Организация].Если мы указали название параметра, но забыли сменить тип заполнения с Текст на Параметр, поле останется либо статичным, либо пустым в зависимости от логики обработки. Рекомендуется всегда проверять это свойство в палитре свойств ячейки.
Иногда проблема кроется глубже — в программном коде обработки ПечатьЭтикетокИЦенников. В конфигурациях типа «УНФ 3.0» или «УТ 11» за печать отвечает Библиотека подключаемого оборудования (БПО). Рассмотрим ситуацию, когда при подборе товаров в таблицу печати поле организации остается незаполненным «внутри» программы, хотя в шапке формы организация выбрана.
Если при добавлении товара через форму подбора организация не прописывается в невидимую колонку ОрганизацияБПО, ценник выйдет без названия фирмы. Проанализируем пример кода, который исправляет это поведение через расширение конфигурации. Нам необходимо вмешаться в процедуру завершения подбора товаров:
&После("ОбработкаПодбораТоваровДляПечатиЭтикетокИЦенниковЗавершение")
Процедура ПРЕФИКС_ОбработкаПодбораТоваровДляПечатиЭтикетокИЦенниковЗавершение(Результат, ПараметрыОперации, МассивТоваровДляПечати)
// Пытаемся определить организацию исходя из выбранного торгового объекта (склада)
Если ЗначениеЗаполнено(ПараметрыОперации.ТорговыйОбъектБПО)
И ТипЗнч(ПараметрыОперации.ТорговыйОбъектБПО) = Тип("СправочникСсылка.СтруктурныеЕдиницы") Тогда
Организация = ПараметрыОперации.ТорговыйОбъектБПО.Организация;
КонецЕсли;
// Проходим по всем товарам в очереди на печать и принудительно заполняем пустую организацию
Для каждого ТоварДляЦенника из МассивТоваровДляПечати Цикл
Если НЕ ЗначениеЗаполнено(ТоварДляЦенника.ОрганизацияБПО) Тогда
ТоварДляЦенника.ОрганизацияБПО = Организация;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Этот код гарантирует, что каждый товар в списке получит ссылку на организацию, которая затем будет передана в макет. Без этого заполнения параметр Организация в шаблоне будет оставаться пустым.
Рассмотрим еще один важный аспект: как система определяет, какую организацию печатать, если в базе их несколько. В 1С:Розница и УТ часто используется привязка организации к складу (торговому объекту). Выясним, все ли настройки выполнены корректно:
Если склад не выбран или в его настройках нет жесткой привязки к организации, обработка может не понимать, чьи данные выводить, и оставлять поле пустым.
В современных конфигурациях печать ценников работает через систему компоновки данных. Даже если мы добавили поле в макет, оно может не выводиться, если оно отключено в настройках самой обработки. Рассмотрим, как это проверить:
В форме «Печать этикеток и ценников» нажмем кнопку Настроить или перейдем на вкладку Поля (в зависимости от версии интерфейса). Убедимся, что напротив поля Организация стоит флажок. Если флажок снят, данные об организации просто не будут извлекаться из базы данных для этой печатной сессии.
Также стоит обратить внимание на длину наименования организации. Если в ячейке макета установлено свойство размещения текста Обрезать, а само название фирмы длинное и ячейка узкая, текст может просто не поместиться и не отобразиться. Мы рекомендуем устанавливать свойство Переносить и проверять высоту строки в шаблоне.
Проанализировав все вышеперечисленные методы, можно сделать вывод, что в большинстве случаев проблема решается либо правильным именованием параметра в макете (просто Организация), либо контролем заполнения реквизитов в табличной части обработки печати.