Как настроить печать этикеток со штрихкодами на листе А4 в несколько колонок в 1С:УТ 11?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При переходе на версии программы 1С:Управление торговлей (начиная с релиза 11.3) пользователи часто сталкиваются с неприятным сюрпризом: при попытке напечатать товарные этикетки со штрихкодами на обычном офисном принтере А4 пропадают привычные настройки количества колонок и строк. В результате каждая этикетка выводится на отдельный лист, что делает невозможным использование стандартной самоклеящейся бумаги формата А4 (например, популярной разметки на 65 наклеек).

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

Выясним причину технического ограничения

В современных релизах конфигурации Управление торговлей 11 разработчики разделили логику формирования ценников и этикеток на уровне программного кода:

  1. Этикетка для товаров. Алгоритмы системы предполагают, что этикетка всегда печатается на специализированном ленточном принтере (рулонная печать). По этой причине в редакторе шаблонов при выборе назначения "Этикетка..." программно блокируются и скрываются параметры разметки страницы. Более того, при формировании табличного документа система принудительно вставляет разделитель страниц после каждой этикетки.
  2. Ценник для товаров. Для этого типа шаблона сохраняется возможность компоновки на листе формата А4. Здесь по-прежнему доступны параметры страницы, количество колонок, строк и размеры полей.

Способ 1. Использование шаблона с назначением «Ценник» (Рекомендуемый обходной путь)

Самый простой способ, не требующий изменения конфигурации, — обмануть систему, создав макет этикетки под видом ценника. Разберем этот процесс по шагам:

  1. Перейдем в меню настройки шаблонов этикеток и ценников.
  2. Создадим новый шаблон, но в поле Назначение обязательно выберем значение Ценник для товаров (вместо "Этикетка для товаров").
  3. В редакторе макета настроим внешний вид нашего "ценника" так, чтобы он выглядел как этикетка: добавим штрихкод, артикул, наименование товара и другие необходимые реквизиты.
  4. В самом конструкторе шаблона откроем параметры страницы (через меню Еще — Изменить в редакторе — Параметры страницы) и укажем точные размеры ячейки, а также настроим количество колонок и строк для вашего листа А4 (например, 5 колонок по горизонтали и 13 строк по вертикали).

При использовании этого метода возникает одно неудобство: по умолчанию при печати ценников программа подставляет количество "1" для каждой позиции, в то время как для этикеток количество должно автоматически браться из табличной части документа (например, из приходной накладной). Чтобы решить эту проблему, рассмотрим два варианта:

Способ 2. Настройка вывода средствами драйвера принтера

Если вам критически важно использовать именно шаблон с типом "Этикетка", можно переложить задачу компоновки на физический принтер или его виртуальный драйвер. Рассмотрим подробнее, как настроить этот процесс:

  1. В 1С создаем стандартный шаблон этикетки, указав ее реальный физический размер (например, 38х21 мм).
  2. При отправке на печать выбираем обычный офисный Windows-принтер А4.
  3. Открываем свойства драйвера принтера (настройки печати) и находим опцию компоновки макета (она может называться "Несколько страниц на одном листе", "Multi-Page Layout", "N-up" или "Буклет").
  4. Указываем количество страниц на одном листе по горизонтали и вертикали в соответствии с сеткой вашей самоклеящейся бумаги.

Важное примечание: данный способ имеет погрешность позиционирования. Из-за принудительного масштабирования полей драйвером принтера границы штрихкодов могут смещаться относительно физических просечек на листе А4, поэтому потребуется детальная калибровка полей в настройках печати самого принтера.

Способ 3. Программная корректировка параметров шаблона (для программистов)

Если вы хотите, чтобы стандартный механизм печати этикеток располагал их на А4 в несколько колонок без смены назначения шаблона на ценник, можно прибегнуть к программной доработке. Настройки компоновки листа хранятся в справочнике ШаблоныЭтикетокИЦенников в реквизите типа ХранилищеЗначения.

Проанализируем ситуацию: в этом хранилище находится сериализованная структура параметров страницы. Мы можем написать внешнюю обработку, которая программно извлечет эту структуру, установит нужные свойства колонок и запишет её обратно. Посмотрим на пример кода:


// Пример программного изменения параметров страницы шаблона
ШаблонОбъект = ВыбранныйШаблон.ПолучитьОбъект();
ПараметрыСтраницы = ШаблонОбъект.НастройкиСтраницы.Получить();

Если ПараметрыСтраницы = Неопределено Тогда
    ПараметрыСтраницы = Новый Структура;
КонецЕсли;

// Задаем принудительно количество колонок и строк для листа А4
ПараметрыСтраницы.Вставить("КоличествоКолонок", 5);
ПараметрыСтраницы.Вставить("КоличествоСтрок", 13);
ПараметрыСтраницы.Вставить("ВыводитьНаОдинЛист", Истина);

// Записываем измененные настройки обратно в базу данных
ШаблонОбъект.НастройкиСтраницы = Новый ХранилищеЗначения(ПараметрыСтраницы);
ШаблонОбъект.Записать();

После выполнения этого кода стандартный механизм печати этикеток начнет компоновать их на листе А4 в несколько колонок, обходя визуальные ограничения интерфейса формы настройки.

Способ 4. Внешние печатные формы (ВПФ)

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

← На главную