Печать этикеток с установкой размеров в мм.


При печати этикеток, всегда возникает вопрос: как вписать текст в размер листа бумаги?
Предлагаю очередной вариант…

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

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

В моей домашней базе //infostart.ru/public/97906/ ,   обработка встроена в «В планы видов характеристик», чтобы можно было хранить все многообразие шаблонов этикеток.

Эта программа, как отдельная обработка, сохраняет настройки только для одного формата. 

Суть процесса:

вначале задаем все известные параметры о размере будущей этикетки.

Затем сколько их должно расположиться на стандартном листе А4 по горизонтали и вертикали.

В таблице создаем будущий список строк для вывода на печать.

В любой строчке  будущего текста можно задать шрифт и высоту строки.

Количество строк в поле этикетки определяет пользователь. 

Суммарную высоту текста программа контролирует, и если размеры или количество строк не укладываются в заданный размер, предупредит об этом.

Нажимаем «Печать» и смотрим предварительный вариант. 

Если область печати все таки не попадает в габариты листа, начинаем подгонять высоту и ширину при помощи параметров служебной  строки.

Служебная строка — это пустая область которая добавляется снизу этикетки, но влияет также и на пропорции самого шрифта.

8 Comments

  1. Воронкин

    Где работает обработка, в описании — везде. Скрин — управляемое приложение. А на самом деле?

    Reply
  2. Jon2011

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

    Если есть проблемы, в портировании — выложу и для обычной платформы.

    Reply
  3. nikita4048

    Процедура ФорматПечатьэтикетокПриИзменении(Элемент)

    Если Элемент.Значение = 2 Тогда

    ШиринаПечатьэтикеток = 52;

    ВысотаПечатьэтикеток = 29;

    ЭлементыФормы.ШиринаПечатьэтикеток.Доступность = Ложь;

    ЭлементыФормы.ВысотаПечатьэтикеток.Доступность = Ложь;

    Иначе

    ЭлементыФормы.ШиринаПечатьэтикеток.Доступность = Истина;

    ЭлементыФормы.ВысотаПечатьэтикеток.Доступность = Истина;

    КонецЕсли;

    КонецПроцедуры

    Как-то так…

    Reply
  4. Воронкин

    (2) Если есть проблемы, в портировании — выложу и для обычной платформы.

    У меня нет проблем — но сайт читают и обычные пользователи, которые берут обработки «как есть», думаю обработка полезная и может пригодится для УТ 103.

    Reply
  5. Jon2011

    Добавил вариант под обычное приложение.

    Reply
  6. turboatom

    Так, а что текст вручную для каждой позиции набирать? А штрихкоды?

    Reply
  7. Jon2011

    (6) turboatom, основная фишка обработки, оперативно создавать многострочные шаблоны. Суть в том, что можно строчки этикетки оформить разными шрифтами. При этом количество строк не фиксировано. Программа автоматический будет все масштабировать. После подгонки, получится шаблон. А как подгрузить в таблицу текст, вручную или автоматом — это уже на усмотрение разработчика.

    Обработка штрих-кодов не предусмотрена. Потому как ШК — это картинки, а это уже другая песня.

    Reply
  8. Jon2011

    Обработку обновил в части подбора шрифтов. Задействовал штатные средства 1С по выбору шрифтов.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *