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