Почему не сохраняются настройки печати этикеток в 1С и как это исправить?

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

Разберем классическую ситуацию, с которой сталкиваются пользователи программ 1С (например, 1С:Управление торговлей 11.4 или 1С:Розница). Мы настроорили шаблон этикетки нужного размера (например, 30x20), открываем обработку печати ценников (удобнее использовать инструмент проверки складских документов и печати этикеток), выставляем параметры: принтер, размер бумаги, поля, источник и ориентацию. Отправляем на печать — этикетки выходят идеально. Однако стоит нам закрыть обработку и открыть ее заново, как 1С "забывает" выставленные параметры. При попытке печати выходит пустая лента, а в предварительном просмотре мы видим, что настройки сбросились на значения по умолчанию. Проанализируем, почему так происходит и как раз и навсегда зафиксировать нужные параметры печати.

Решение 1: Жесткая фиксация параметров в макете этикетки

Самая распространенная ошибка заключается в том, что пользователи пытаются сохранить настройки только в окне предварительного просмотра 1С перед непосредственной отправкой на принтер. При следующем открытии формы 1С инициализирует настройки макета "с нуля". Чтобы этого избежать, зафиксируем параметры непосредственно в самом шаблоне.

  1. Откроем справочник с шаблонами этикеток и ценников и перейдем в режим редактирования нужного макета (для настройки макетов без конфигуратора есть утилита редактирования печатных форм и этикеток в 1С).
  2. В самом редакторе вызовем параметры страницы (меню «Файл» — «Параметры страницы» или соответствующая кнопка на панели).
  3. Выберем конкретный принтер этикеток, зададим нужный размер бумаги (например, Пользовательский 30x20).
  4. Обязательно обнулим все поля: левое, правое, верхнее и нижнее. Если система при сохранении выдаст системное предупреждение с предложением «автоматически рассчитать поля», нажмем «Нет», чтобы сохранить именно нулевые значения.
  5. Удалим любые колонтитулы (сверху и снизу).
  6. Обратим внимание на масштаб. Снимем галочку «По ширине страницы» (Автомасштаб) и жестко укажем масштаб печати. Оптимально выставить 100%. В некоторых случаях, если драйвер принтера слегка "сдвигает" печать, спасает установка масштаба 96-98% — так содержимое гарантированно не будет вылезать за границы термоленты и создавать лишние пустые этикетки.
  7. Сохраним макет.

Решение 2: Разные макеты для разных принтеров

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

Для решения этой проблемы создадим копии основного макета для каждого рабочего места. Например: «Этикетка 30x20 (Принтер Zebra склад)» и «Этикетка 30x20 (Принтер TSC магазин)». В каждом макете жестко пропишем настройки и выберем целевой принтер, как мы разобрали в первом решении. Это самый надежный способ избежать конфликтов оборудования в сети.

Решение 3: Возврат классического окна печати в Windows 10/11

Если настройки все равно не сохраняются, проанализируем поведение самой операционной системы. Проблема часто кроется в новом унифицированном диалоге печати Windows 10 и 11. Этот новый интерфейс печати некорректно работает с пользовательскими форматами бумаги для специфического оборудования (принтеров этикеток) и не передает сохраненные настройки в 1С.

Нам нужно принудительно вернуть классический (legacy) диалог печати. Выполним следующие шаги:

  1. Откроем командную строку (CMD) обязательно от имени Администратора.
  2. Введем следующую команду для изменения ключа системного реестра:
    
    reg add "HKCU\Software\Microsoft\Print\UnifiedPrintDialog" /v "PreferLegacyPrintDialog" /d 1 /t REG_DWORD /f
    
  3. Нажмем Enter. Выведется сообщение об успешном выполнении операции.
  4. Перезагрузим компьютер.

После возврата классического системного окна печати платформа 1С начнет корректно считывать и записывать пользовательские настройки параметров этикетки.

Решение 4: Настройка "Умолчаний" принтера в панели управления Windows

Посмотрим на настройки драйвера со стороны Windows. У принтеров в ОС есть два раздела для указания параметров, и часто системные администраторы меняют настройки только в обычных «Настройках печати» для текущего пользователя. Однако 1С при инициализации объекта печати может запрашивать глобальные настройки оборудования по умолчанию.

Чтобы исключить сброс размера ленты, сделаем следующее:

  1. Откроем «Панель управления» — «Устройства и принтеры».
  2. Кликнем правой кнопкой мыши по нашему принтеру этикеток и выберем Свойства принтера (не путать с обычными «Настройками печати»).
  3. Перейдем на вкладку Дополнительно (Advanced).
  4. Нажмем на кнопку Умолчания... (Printing Defaults).
  5. Откроется окно, визуально идентичное обычным настройкам, но параметры, заданные здесь, применяются на уровне всей системы для всех новых сессий. Выставим здесь размер нашей этикетки (30x20), правильную ориентацию и отключим системные отступы.
  6. Сохраним изменения.

Решение 5: Настройка RDP (Терминального сервера)

Особого внимания заслуживает случай, когда пользователи запускают 1С на удаленном терминальном сервере, а принтер проброшен (redirected) с локального компьютера. В таких сессиях настройки теряются регулярно из-за работы службы Easy Print. Разберем по шагам, как настроить сервер:

  1. Откажемся от использования универсального драйвера Remote Desktop Easy Print. Для этого установим на сам сервер абсолютно такие же «родные» драйверы принтера (например, от TSC, Zebra или универсальные драйверы Seagull Scientific), какие стоят на локальном ПК пользователя.
  2. Настроим политику групповых политик сервера (GPO), чтобы при пробросе принтеров сервер в первую очередь пытался использовать оригинальный драйвер, а не Easy Print.
  3. Важный нюанс сохранения: после того как мы пробросили принтер и настроили его размеры в терминальной сессии, пользователю необходимо корректно завершить сеанс (сделать "Выход" / Logoff), а не просто закрыть окно RDP крестиком. Только при корректном завершении сеанса Windows сохраняет профиль пользователя и кэширует настройки принтеров.

Решение 6: Альтернативный способ — "Подключаемое оборудование"

Если мы работаем в современных конфигурациях, таких как УТ 11, Розница или УНФ, у нас есть мощный альтернативный инструмент. Принтер этикеток можно подключить не просто как принтер Windows, а как специализированное устройство через раздел Подключаемое оборудование. Для стабильной реализации этого механизма в УТ 11.5 можно использовать расширение для печати этикеток на термопринтеры через БПО.

  1. Перейдем в раздел НСИ и Администрирование — Подключаемое оборудование.
  2. Создадим новый экземпляр оборудования с типом ПринтерыЭтикеток.
  3. Выберем драйвер от 1С (Native API) или драйвер производителя (например, Гексагон или АТОЛ).
  4. Настроим параметры подключения прямо в карточке оборудования в 1С (укажем порт, скорость, ширину ленты).

В чем преимущество этого метода? При использовании Native API программа генерирует не графическую картинку страницы Windows, а текстовые команды на внутреннем языке самого принтера (например, ZPL для Zebra или TSPL для TSC). Эти команды отправляются напрямую в порт принтера, полностью минуя диспетчер печати Windows (spooler). При такой архитектуре параметры (поля, размеры, отступы) никогда не сбрасываются операционной системой, а печать происходит мгновенно.

Решение 7: Переименование принтера

В завершение проанализируем еще одну неочевидную, но частую причину. Платформа 1С может давать сбои при сохранении пользовательских настроек (которые хранятся в системных файлах кэша), если имя принтера в сети слишком длинное, содержит кириллицу, пробелы или спецсимволы (например: \\Склад_Сервер\Принтер Этикеток TSC (Копия 1)).

Чтобы исключить эту ошибку, переименуем принтер как на локальном ПК, так и на сервере. Зададим ему максимально короткое латинское имя без пробелов, например TSC или Zebra. После переименования заново выберем этот принтер в макете 1С и сохраним настройки. Зачастую одного этого действия достаточно, чтобы программа начала корректно запоминать выбранный принтер и его профиль.

← На главную