При работе с торговым оборудованием в конфигурации «Управление торговлей 10.3» пользователи часто сталкиваются с проблемой, когда наименование товара в чеке обрезается по ширине колонки. Вместо того чтобы перенестись на следующую строку, текст просто обрывается, что затрудняет идентификацию позиции в документе. Разберем подробно, как решить эту задачу, настроить шрифт и обеспечить печать на всю ширину ленты для принтеров чеков, работающих через Windows-драйвер (на примере Posiflex 6900).
В 1С:Предприятии 8 печать чеков на нефискальные принтеры (чековые принтеры) чаще всего реализована через механизм табличных документов. Если в свойствах ячейки макета, отвечающей за вывод наименования, установлено значение «Обрезать» или «Забивать», программа не будет пытаться уместить текст в несколько строк. Кроме того, даже если включен перенос, текст может не отображаться полностью, если у строки макета задана фиксированная высота. Проанализируем шаги, необходимые для исправления этой ситуации.
В УТ 10.3 макет чека может находиться в нескольких местах в зависимости от того, какой механизм печати используется. Рассмотрим основные варианты поиска:
Документы -> ЧекККМ -> Макеты. Обычно здесь находится макет с именем Чек или М_ЧекККМ.Общие -> Общие макеты.Обработки -> ТОПечатьЧека или аналогичные объекты с префиксом ТО....Если принтер подключен как «Windows-принтер», 1С формирует обычный табличный документ, используя стандартный макет конфигурации.
Найдя макет, выполним следующие действия для настройки корректного отображения текста:
Настройка переноса текста: Выделим ячейку, в которую выводится параметр Наименование или Товар. Нажмем правую кнопку мыши и выберем «Свойства». В поле «Размещение текста» установим значение «Переносить». Это позволит 1С автоматически разбивать длинную строку на несколько частей.
Настройка высоты строки: Это критически важный момент, о котором часто забывают. Если для строки установлена фиксированная высота, то текст перенесется, но нижние строки будут скрыты границей ячейки. Выделим всю строку макета (нажав на номер строки слева), в свойствах найдем параметр «Высота строки» и установим значение «Авто». Теперь строка будет расширяться вниз в зависимости от объема текста в наименовании.
Увеличение шрифта: Чтобы текст печатался крупнее, в том же окне свойств макета выберем вкладку «Шрифт». Увеличим размер (например, с 8 до 10 или 12 пунктов). Также можно установить свойство «Жирный» для более четкой печати на термобумаге.
В некоторых случаях макет может редактироваться динамически из программного кода. Если изменения в визуальном редакторе не помогают или нужно реализовать гибкую логику, проанализируем возможность программной настройки. В модуле объекта или в модуле обработки печати найдем фрагмент кода, где получается область макета. Мы можем принудительно задать параметры размещения текста:
// Получаем область макета, отвечающую за строку товара
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
// Устанавливаем свойство переноса текста для конкретной ячейки или всей области
ОбластьСтрока.Область("Наименование").РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;
// Если нужно изменить шрифт программно
ОбластьСтрока.Область("Наименование").Шрифт = Новый Шрифт(ОбластьСтрока.Область("Наименование").Шрифт, , 12, Истина);
// Выводим область в результирующий документ
ТабДок.Вывести(ОбластьСтрока);
Использование метода ТипРазмещенияТекстаТабличногоДокумента.Переносить гарантирует, что платформа будет обрабатывать строку корректно независимо от предустановок макета.
Чтобы текст занимал всю ширину бумаги и не имел лишних отступов, необходимо настроить параметры страницы табличного документа. Это можно сделать как в режиме «1С:Предприятие» (через предварительный просмотр), так и программно.
Рассмотрим разницу в подходах к печати. Принтеры серии Posiflex AURA могут работать в двух режимах:
Графический режим: 1С отправляет на принтер сформированную «картинку» табличного документа. Здесь работают все вышеописанные настройки шрифтов, переносов и высоты строк. Это наиболее гибкий способ, позволяющий печатать логотипы и сложные шрифты.
Текстовый режим (команды ESC/POS): Если в настройках торгового оборудования выбран протокол обмена напрямую, 1С посылает текстовые строки. В этом случае макеты конфигуратора не используются. Для реализации переноса здесь придется вручную разбивать длинную строку на подстроки по количеству символов (например, по 40 символов) и отправлять их в принтер по очереди.
Поскольку автор вопроса упоминает отсутствие настроек в Windows, скорее всего, используется графический режим через драйвер. В этом случае следование инструкциям по редактированию макета ЧекККМ и установке «Автовысоты» строк решит проблему в большинстве случаев.
Подведем итог нашим действиям. Чтобы текст не обрезался и печатался корректно:
ЧекККМ или ТОПечатьЧека.Проанализировав ситуацию, можно сделать вывод: в УТ 10.3 проблема чаще всего кроется именно в визуальных свойствах макета, а не в настройках самого принтера. Редактирование табличного документа — самый быстрый и эффективный путь к получению читаемых чеков.