При работе в многопользовательском режиме в 1С:Управление торговлей 11.5 часто возникает ситуация, когда на разных рабочих местах установлены разные модели принтеров этикеток (например, Zebra GK420d, 2844 или XP-365B). Основная сложность заключается в том, что стандартные механизмы 1С часто хранят параметры печати либо в самом шаблоне этикетки, либо в локальном кэше пользователя, что приводит к необходимости постоянно выбирать принтер и настраивать поля при каждой печати. Рассмотрим подробные способы решения этой задачи, от типовых настроек до небольших доработок системы.
Проанализируем наиболее надежный типовой способ, который позволяет жестко закрепить настройки печати за конкретным рабочим местом. Для этого нам необходимо задействовать библиотеку подключаемого оборудования (БПО).
Windows-принтер, установленный в системе.РабочиеМеста) уникально для связки «Имя компьютера + Пользователь ОС». Убедимся, что принтер привязан именно к текущему рабочему месту.Этот метод позволяет добиться того, что при нажатии кнопки «Печать» в обработке Печать этикеток и ценников, 1С будет автоматически подставлять принтер, указанный в параметрах выбранного шаблона. Для настройки такой схемы без типовых ошибок конфигурации можно применить расширение для печати этикеток в УТ 11.5 через БПО.
Выясним причину, по которой многие пользователи не видят свои принтеры в списке доступных устройств. В современных версиях УТ 11 существует два принципиально разных типа шаблонов:
MXL). Он печатается через стандартный механизм Windows.Если мы используем драйвер (например, Гексагон), нам следует выбирать второй тип шаблона. В этом случае в обработке печати при выборе оборудования система будет обращаться напрямую к устройству, минуя диалоговое окно настроек печати Windows. Это самый быстрый способ печати «в один клик». Для реализации такой задачи можно использовать расширение для печати этикеток в командном режиме.
Рассмотрим «хитрость», которая часто применяется системными администраторами для обхода ограничений платформы без программирования. Если во всей организации используется один и тот же формат этикетки, можно сделать следующее:
LabelPrinter.LabelPrinter.Важно: Этот метод плохо работает в среде RDP (удаленный рабочий стол), если принтеры пробрасываются с динамическими именами типа «Zebra (redirected 2)». В случае RDP рекомендуется использовать только первый способ через подключаемое оборудование.
Если типовых средств недостаточно или параметров слишком много, проанализируем ситуацию с точки зрения доработки конфигурации. Мы можем создать новый регистр сведений НастройкиПечатиПоРабочимМестам со следующей структурой:
РабочееМесто (СправочникСсылка.РабочиеМеста), Шаблон (СправочникСсылка.ШаблоныЭтикетокИЦенников).ИмяПринтера (Строка), НастройкиСтраницы (ХранилищеЗначений).При открытии формы печати или перед выводом на печать, мы можем программно подменять параметры принтера. Пример логики кода в расширении для обработки ПечатьЭтикетокИЦенников:
&НаСервере
Процедура ПриУстановкеПараметровПечати(ТабличныйДокумент, ВыбранныйШаблон)
Настройка = РегистрыСведений.НастройкиПечатиПоРабочимМестам.Получить(Новый Структура("РабочееМесто, Шаблон", МенеджерОборудованияВызовСервера.ПолучитьРабочееМесто(), ВыбранныйШаблон));
Если ЗначениеЗаполнено(Настройка.ИмяПринтера) Тогда
ТабличныйДокумент.ИмяПринтера = Настройка.ИмяПринтера;
// Дополнительные настройки из хранилища значений
КонецЕсли;
КонецПроцедуры
Такой подход позволяет один раз настроить все принтеры для всех пользователей централизованно, и настройки не будут «слетать» при очистке кэша или обновлении платформы.
Посмотрим на нюансы кэширования. В Тонком клиенте настройки печати (имя принтера, количество копий, ориентация) сохраняются в локальном файле профиля пользователя на компьютере. Если пользователь заходит с другого ПК, настройки могут не подтянуться. Именно поэтому использование Подключаемого оборудования является приоритетным — в этом случае настройки хранятся в базе данных 1С и привязаны к справочнику рабочих мест, что делает систему гораздо стабильнее.
Подводя итог, для реализации печати «одной кнопкой» в УТ 11 рекомендуется сначала настроить принтеры как подключаемое оборудование, а в случае специфических требований — воспользоваться методом создания копий шаблонов под конкретные физические устройства.