Как изменить размеры созданного шаблона ценника в 1С:Управление торговлей без потери содержимого?

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

При настройке справочника Шаблоны этикеток и ценников в программе «1С:Управление торговлей» (начиная с редакции 11) пользователи часто сталкиваются с неприятной особенностью: если попытаться скорректировать ширину или высоту уже настроенного ценника в шапке формы, всё содержимое макета моментально очищается. В результате сложная разметка, формулы, дополнительные реквизиты и форматирование строк бесследно исчезают, а система предлагает собирать макет заново.

Выясним причину такого поведения типовой конфигурации и подробно разберем несколько проверенных способов, которые позволяют изменить габариты шаблона без необходимости перерисовывать его с нуля.

Почему очищается макет при изменении размеров

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

Тем не менее, существует несколько вариантов обойти это ограничение типового функционала.

Способ 1. Копирование разметки в новый шаблон через буфер обмена

Разберем по шагам наиболее быстрый и надежный пользовательский способ переноса сложного макета:

  1. Откроем исходный шаблон ценника, в котором настроены все доп. реквизиты и визуальное оформление.
  2. Выделим всю рабочую область ячеек макета и скопируем её в буфер обмена с помощью стандартной комбинации клавиш Ctrl+C.
  3. Создадим новый элемент справочника Шаблоны этикеток и ценников, указав в его шапке уже скорректированные размеры (например, ширину 62 мм вместо 64 мм).
  4. Установим курсор в верхнюю левую ячейку нового чистого макета (R1C1) и вставим содержимое через Ctrl+V.
  5. Посмотрим на результат: структура ячеек, привязки полей данных, форматы вывода чисел и дат полностью перенесутся. Теперь останется лишь вручную подтянуть ширину крайних столбцов, подогнав их под новую границу макета.

Способ 2. Экспорт шаблона и правка XML-файла

Рассмотрим вариант с выгрузкой структуры шаблона во внешний файл. Этот способ исключает срабатывание обработчиков интерфейса формы 1С:

  1. В окне редактирования макета ценника найдем меню команд и выполним выгрузку шаблона через команду Экспортировать (или Сохранить в файл).
  2. Откроем полученный файл выгрузки в любом текстовом редакторе.
  3. Найдем узел или тег, отвечающий за ширину макета (параметр Ширина или Width), и вручную заменим значение на требуемое (например, 62 вместо 64).
  4. Сохраним изменения в текстовом редакторе.
  5. В окне редактора шаблона в 1С выполним команду Импортировать и выберем отредактированный файл. Макет загрузится с новыми геометрическими параметрами, сохранив при этом все связи и оформление ячеек.

Способ 3. Программное изменение реквизитов через групповую обработку

Поскольку очистка табличного документа привязана исключительно к интерфейсному событию изменения поля на форме, мы можем изменить реквизит в базе напрямую в обход логики формы:

  1. Воспользуемся стандартной обработкой Групповое изменение реквизитов (доступна администраторам в разделе администрирования).
  2. Выберем объект Шаблоны этикеток и ценников и настроим отбор по нашему конкретному шаблону.
  3. Укажем новое значение для реквизита ширины или высоты и выполним запись объекта.
  4. При программной перезаписи сам табличный документ макета не затирается. Открыв шаблон после этого, мы увидим сохраненный макет с обновленным системным размером страницы. Останется лишь слегка уменьшить ячейки, чтобы они не выходили за границу печати.

Способ 4. Масштабирование при выводе и настройки драйвера принтера

Если ценник физически не помещается на термоленту буквально на 1–2 мм, переделывать сам макет вовсе не обязательно. Проанализируем возможности подгонки на этапе печати:

  1. Масштаб страницы: В форме предварительного просмотра печати ценников откроем параметры страницы и установим масштаб, например, 95% или 97% вместо 100%. Это позволит вписать макет в границы ленты без визуальных искажений.
  2. Поля документа: В настройках параметров печати табличного документа выставим левое, правое, верхнее и нижнее поля равными 0 мм. Зачастую ценник не влезает именно из-за стандартных отступов по 5–10 мм.
  3. Свойства принтера этикеток: Перейдем в настройки драйвера принтера в операционной системе. Большинство современных термопринтеров поддерживают функции автоматического масштабирования («Fit to printable area» / «Вписать по ширине») и позволяют жестко задать физический размер этикетки, автоматически сжимая вывод макета до требуемых миллиметров.
← На главную