В повседневной работе торговых предприятий и складов регулярно возникает задача одновременного использования двух печатающих устройств: стандартного офисного принтера для документов формата А4 (накладные, акты, счета) и специализированного принтера этикеток (Zebra, TSC, Godex и др.).
Часто пользователи сталкиваются с неудобством: если принтер А4 установлен в операционной системе по умолчанию, то при выводе этикеток на печать платформа 1С пытается отправить их на стандартный принтер. Пользователю приходится каждый раз открывать параметры страницы, вручную выбирать принтер этикеток и заново выставлять нулевые поля, так как при смене устройства настройки сбиваются. Разберем, как один раз корректно настроить систему, чтобы печать документов и ценников происходила на нужные устройства автоматически.
В типовых конфигурациях на управляемых формах (таких как 1С:Розница, 1С:Управление торговлей, 1С:УНФ) предусмотрен встроенный редактор шаблонов ценников и этикеток. В нем можно жестко закрепить конкретное печатающее устройство за выбранным макетом.
Выполним настройку по шагам:
После сохранения этих параметров платформа связывает макет с конкретным печатающим устройством. При последующей отправке этикеток на печать перевыбирать принтер вручную больше не потребуется.
Проанализируем альтернативный вариант, рекомендуемый для специализированного оборудования. Принтер этикеток можно настроить не как стандартное системное устройство печати Windows, а через подсистему торгового оборудования (БСП).
При таком подходе печать ценников и этикеток отправляется непосредственно на торговое оборудование через специализированную компоненту, минуя стандартный диалог печати Windows и не затрагивая настройки системного принтера по умолчанию.
Если печатная форма создана программно или используется нестандартная обработка печати, мы можем управлять поведением табличного документа напрямую из встроенного языка 1С.
Выясним причину сброса параметров: если у объекта ТабличныйДокумент не задан уникальный идентификатор, платформа применяет общие настройки предыдущего сеанса печати. Для фиксации параметров используем свойство КлючПараметровПечати.
Посмотрим на пример кода формирования этикетки:
ТабДок = Новый ТабличныйДокумент;
ТабДок.КлючПараметровПечати = "УникальныйКлюч_ЭтикеткаТовара";
ТабДок.ИмяПринтера = "ZDesigner GK420t";
// Устанавливаем нулевые поля для точного позиционирования
ТабДок.ПолеСлева = 0;
ТабДок.ПолеСправа = 0;
ТабДок.ПолеСверху = 0;
ТабДок.ПолеСнизу = 0;
// Прямая отправка на печать без вызова диалога выбора
ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
Рассмотрим, как работают указанные свойства:
КлючПараметровПечати сохраняет индивидуальные настройки (масштаб, поля, ориентацию) в системном хранилище настроек пользователя для конкретного макета.ИмяПринтера явно указывает, на какое системное устройство необходимо отправить вывод.Напечатать с параметром РежимИспользованияДиалогаПечати.НеИспользовать исключает случайное изменение параметров пользователем.Иногда настройки печати могут сбиваться из-за особенностей работы операционной системы и терминальных сессий. Разберем важные системные параметры: