Как настроить перенос длинных наименований и ширину печати в чеке ККМ для УТ 10.3?

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

При работе с торговым оборудованием в конфигурации «Управление торговлей 10.3» пользователи часто сталкиваются с проблемой, когда наименование товара в чеке обрезается по ширине колонки. Вместо того чтобы перенестись на следующую строку, текст просто обрывается, что затрудняет идентификацию позиции в документе. Разберем подробно, как решить эту задачу, настроить шрифт и обеспечить печать на всю ширину ленты для принтеров чеков, работающих через Windows-драйвер (на примере Posiflex 6900).

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

В 1С:Предприятии 8 печать чеков на нефискальные принтеры (чековые принтеры) чаще всего реализована через механизм табличных документов. Если в свойствах ячейки макета, отвечающей за вывод наименования, установлено значение «Обрезать» или «Забивать», программа не будет пытаться уместить текст в несколько строк. Кроме того, даже если включен перенос, текст может не отображаться полностью, если у строки макета задана фиксированная высота. Проанализируем шаги, необходимые для исправления этой ситуации.

Шаг 1. Поиск нужного макета в Конфигураторе

В УТ 10.3 макет чека может находиться в нескольких местах в зависимости от того, какой механизм печати используется. Рассмотрим основные варианты поиска:

  1. Документ «Чек ККМ»: Откроем Конфигуратор, перейдем в ветку Документы -> ЧекККМ -> Макеты. Обычно здесь находится макет с именем Чек или М_ЧекККМ.
  2. Общие макеты: Иногда разработчики выносят формы чеков в общую ветку. Проверим Общие -> Общие макеты.
  3. Обработки торгового оборудования: УТ 10.3 активно использует внешние или встроенные обработки для связи с оборудованием. Посмотрим в Обработки -> ТОПечатьЧека или аналогичные объекты с префиксом ТО....

Если принтер подключен как «Windows-принтер», 1С формирует обычный табличный документ, используя стандартный макет конфигурации.

Шаг 2. Настройка свойств ячейки и строки

Найдя макет, выполним следующие действия для настройки корректного отображения текста:

Настройка переноса текста: Выделим ячейку, в которую выводится параметр Наименование или Товар. Нажмем правую кнопку мыши и выберем «Свойства». В поле «Размещение текста» установим значение «Переносить». Это позволит 1С автоматически разбивать длинную строку на несколько частей.

Настройка высоты строки: Это критически важный момент, о котором часто забывают. Если для строки установлена фиксированная высота, то текст перенесется, но нижние строки будут скрыты границей ячейки. Выделим всю строку макета (нажав на номер строки слева), в свойствах найдем параметр «Высота строки» и установим значение «Авто». Теперь строка будет расширяться вниз в зависимости от объема текста в наименовании.

Увеличение шрифта: Чтобы текст печатался крупнее, в том же окне свойств макета выберем вкладку «Шрифт». Увеличим размер (например, с 8 до 10 или 12 пунктов). Также можно установить свойство «Жирный» для более четкой печати на термобумаге.

Шаг 3. Программное управление свойствами области

В некоторых случаях макет может редактироваться динамически из программного кода. Если изменения в визуальном редакторе не помогают или нужно реализовать гибкую логику, проанализируем возможность программной настройки. В модуле объекта или в модуле обработки печати найдем фрагмент кода, где получается область макета. Мы можем принудительно задать параметры размещения текста:


// Получаем область макета, отвечающую за строку товара
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");

// Устанавливаем свойство переноса текста для конкретной ячейки или всей области
ОбластьСтрока.Область("Наименование").РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;

// Если нужно изменить шрифт программно
ОбластьСтрока.Область("Наименование").Шрифт = Новый Шрифт(ОбластьСтрока.Область("Наименование").Шрифт, , 12, Истина);

// Выводим область в результирующий документ
ТабДок.Вывести(ОбластьСтрока);

Использование метода ТипРазмещенияТекстаТабличногоДокумента.Переносить гарантирует, что платформа будет обрабатывать строку корректно независимо от предустановок макета.

Шаг 4. Настройка параметров страницы и ширины печати

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

  1. Поля: Для чековых принтеров рекомендуется устанавливать все поля (левое, правое, верхнее, нижнее) в 0. Это позволит использовать физическую ширину ленты по максимуму.
  2. Масштаб: В параметрах страницы выберем опцию «По ширине страницы». В этом случае 1С автоматически масштабирует макет так, чтобы он заполнил всю доступную область печати драйвера.
  3. Настройка драйвера Windows: Зайдем в «Устройства и принтеры» в панели управления Windows, выберем свойства принтера Posiflex. Убедимся, что в настройках формата бумаги выбрана лента соответствующей ширины (например, 80мм или 58мм), а не стандартный лист А4.

Шаг 5. Работа в графическом и текстовом режимах

Рассмотрим разницу в подходах к печати. Принтеры серии Posiflex AURA могут работать в двух режимах:

Графический режим: 1С отправляет на принтер сформированную «картинку» табличного документа. Здесь работают все вышеописанные настройки шрифтов, переносов и высоты строк. Это наиболее гибкий способ, позволяющий печатать логотипы и сложные шрифты.

Текстовый режим (команды ESC/POS): Если в настройках торгового оборудования выбран протокол обмена напрямую, 1С посылает текстовые строки. В этом случае макеты конфигуратора не используются. Для реализации переноса здесь придется вручную разбивать длинную строку на подстроки по количеству символов (например, по 40 символов) и отправлять их в принтер по очереди.

Поскольку автор вопроса упоминает отсутствие настроек в Windows, скорее всего, используется графический режим через драйвер. В этом случае следование инструкциям по редактированию макета ЧекККМ и установке «Автовысоты» строк решит проблему в большинстве случаев.

Резюме для реализации

Подведем итог нашим действиям. Чтобы текст не обрезался и печатался корректно:

Проанализировав ситуацию, можно сделать вывод: в УТ 10.3 проблема чаще всего кроется именно в визуальных свойствах макета, а не в настройках самого принтера. Редактирование табличного документа — самый быстрый и эффективный путь к получению читаемых чеков.

← На главную