Как решить проблему со смещением печати и пустыми страницами на принтере этикеток АТОЛ BP-21 в 1С?

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

При работе с принтером этикеток АТОЛ BP-21 в программе «1С:Управление торговлей» пользователи часто сталкиваются с неприятными техническими сбоями. Этикетка может сильно съезжать в сторону (чаще всего вправо), настройки размеров бумаги в диалоговом окне печати 1С сбрасываются при каждом сеансе, а принтер начинает выдавать пустые этикетки через одну.

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

Причина 1. Механическое смещение ленты и особенности заправки

Выясним главную причину, по которой печать на принтере АТОЛ BP-21 уходит далеко вправо. Конструкция этого принтера достаточно капризна к позиционированию расходных материалов. В отличие от многих других моделей, где рулон центрируется по середине, в АТОЛ BP-21 ленту с этикетками необходимо смещать строго к краю (направляющей стороне) и надежно фиксировать пластиковым ограничителем. Если установить рулон ровно по центру, печатающая головка будет позиционировать макет некорректно, из-за чего вся информация на этикетке сместится в сторону.

Выполним правильную заправку ленты по шагам:

  1. Откроем верхнюю крышку принтера.
  2. Установим рулон этикеток на держатель.
  3. Сдвинем рулон по оси до упора к фиксирующему краю (к направляющей стенке принтера).
  4. Зажмем рулон подвижным зеленым фиксатором так, чтобы лента не люфтила, но при этом свободно разматывалась без натяжения.
  5. Пропустим свободный край ленты под направляющими датчика этикеток и закроем крышку до щелчка.

Причина 2. Сбой аппаратного режима датчика зазора (калибровка)

Принтер АТОЛ BP-21 (конструктивно являющийся OEM-копией популярной модели Gprinter GP-2120T) может некорректно определять начало и конец этикетки. Это происходит, если устройство случайно переключилось в режим работы с чековой (непрерывной) лентой вместо этикет-ленты с зазорами, либо если датчик забился бумажной пылью.

Проанализируем процедуру проверки режима, калибровки и сброса принтера:

Шаг 1. Проверка текущего режима работы (Чек / Этикетка):

  1. Выключим принтер тумблером питания на задней панели.
  2. Зажмем одновременно две кнопки на передней панели: FEED и PAUSE.
  3. Не отпуская кнопки, включим принтер.
  4. Принтер распечатает информационный чек самотестирования. Найдем в тексте строку режима. Там должно быть написано: Current printer mode is Label. Если указан режим Receipt, принтер будет игнорировать зазоры и печатать некорректно.

Шаг 2. Аппаратная калибровка датчика зазора:

  1. Выключим принтер.
  2. Зажмем кнопку PAUSE и, удерживая ее, включим питание устройства.
  3. Принтер начнет медленно проматывать ленту. В этот момент датчик считывает плотность подложки и определяет высоту зазора (обычно 2–3 мм). После того как промотка прекратится, отпустим кнопку. Калибровка завершена.

Шаг 3. Полный сброс на заводские настройки:

Если принтер горит или мигает красным индикатором ошибки и не реагирует на команды калибровки, выполним сброс памяти. Выключим принтер, зажмем кнопку FEED и включим устройство. Дождемся, пока принтер распечатает строку Factory Default completed, после чего обязательно повторим калибровку датчика зазора, описанную в Шаге 2.

Шаг 4. Очистка датчика:

Бумажная пыль и остатки клея от термоэтикеток могут загрязнять оптический датчик зазора (светодиод на нижней панели под трактом протяжки ленты). Рекомендуется регулярно протирать глазок датчика и резиновый вал ватной палочкой, слегка смоченной в изопропиловом спирте.

Причина 3. Сброс настроек размера бумаги в 1С и Windows

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

В операционных системах Windows настройки принтера, измененные пользователем внутри сессии 1С, часто не сохраняются. Чтобы решить эту проблему, настроим параметры печати по умолчанию непосредственно в операционной системе от имени администратора:

  1. Перейдем в Панель управления -> Устройства и принтеры.
  2. Кликнем правой кнопкой мыши по значку принтера ATOLL BP-21 (или Gprinter GP-2120T).
  3. Откроем пункт Настройка печати (Printing Preferences). Перейдем на вкладку «Параметры страницы» (или «Материал») и создадим новый пользовательский размер бумаги, точно соответствующий физическому размеру вашей этикетки (например, ширина 45 мм, высота 23 мм, зазор 3 мм). Сохраним изменения.
  4. Снова кликнем правой кнопкой мыши по принтеру и выберем Свойства принтера (Printer Properties). Откроем вкладку Дополнительно и нажмем кнопку Умолчания (Printing Defaults). Пропишем точно такие же размеры и параметры этикетки здесь.

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

Совет: Если оригинальный драйвер от АТОЛ продолжает работать нестабильно и регулярно «теряет» связь с 1С, рекомендуется скачать и установить альтернативный драйвер от компании Seagull Scientific для модели-аналога Gprinter GP-2120T. Этот драйвер оптимизирован для работы со сложными макетами и гораздо стабильнее удерживает настройки печати.

Причина 4. Печать этикеток «через одну» (пустые листы в 1С)

Выясним, почему возникает ситуация, когда этикетки печатаются по схеме: «одна заполненная — одна пустая».

В платформе 1С за вывод печатных форм отвечает объект ТабличныйДокумент. Если физический размер этикетки, заданный в свойствах принтера, составляет, например, ровно 45х23 мм, а программный макет в 1С (с учетом невидимых полей) превышает этот размер хотя бы на 0.1 мм, система автоматически перенесет оставшуюся «лишнюю» часть документа на следующий лист. Поскольку на этой лишней части ничего нет, принтер просто прокручивает пустую этикетку.

Разберем по шагам, как исправить макет этикетки в конфигурации 1С:

  1. Откроем обработку печати этикеток в 1С и перейдем в режим редактирования шаблона.
  2. В параметрах страницы макета установим все поля (левое, правое, верхнее, нижнее) и колонтитулы строго в значение 0.
  3. Слегка уменьшим физические границы макета в редакторе 1С. Например, для реальной этикетки 45х23 мм зададим программную ширину макета 44 мм, а высоту — 22 мм. На физической печати уменьшение на 1 мм визуально будет незаметно, но это гарантирует, что документ полностью поместится в одну страницу без образования пустых листов.
  4. В параметрах печати 1С установим свойство масштабирования в значение По ширине страницы или принудительно зададим масштаб в диапазоне 97–98%.

Для разработчиков и администраторов, настраивающих печать этикеток программно, приведем пример правильной инициализации параметров ТабличногоДокумента в коде 1С:


// Настройка параметров табличного документа для печати без пустых листов
ТабДок = Новый ТабличныйДокумент;
ТабДок.ИмяПринтера = "ATOL BP-21";
ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЭТИКЕТКА_45X23";

// Принудительно очищаем поля макета
ТабДок.ПолеСлева   = 0;
ТабДок.ПолеСправа  = 0;
ТабДок.ПолеСверху  = 0;
ТабДок.ПолеСнизу   = 0;

// Управляем масштабированием
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

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

← На главную