#3927: Создание шаблона этикетки для TSC на языке TSPL
Отредактирована: 22 дня назадПростое создание шаблона на языке TSPL
Все написаное ниже позволяет создать шаблоны на языке TSPL с использованием всех его возможностей.
Для удобного и простого создания шаблонов в редакторе воспользуйтесь этой статьей.
Что представляет собой шаблон этикетки для принтера TSC
Шаблон этикетки для принтеров TSC представляет собой текстовый файл с набором команд языка TSPL. Указанный файл должен иметь расширение tmpl и загружен в шаблон этикетки 1С
Команды делятся на:
- Сервисные. Они указывают принтеру размер этикетки, расстояния между этикетками и включают различные режимы работы.
- Команды графических примитивов. Эти команды рисуют на виртуальном холсте необходимые примитивы: текст, штрихкод, изображение.
- Директивы. Эти команды указывают принтеру выполнить действие. Например,
PRINTпечатает на этикетку все, что нарисовано на виртуальном холсте
Размеры и координаты расположения элементов в шаблоне указываются в точках принтера. Для принтера с головой 300dpi в одном миллиметре 12 точек.
Т. е. для того, чтобы верно указать размер вычислите его в миллиметрах и умножьте на 12.
Исключение составляют размеры шрифтов TTF, они указываются в пунктах, в тех же единицах, что и в Word.
Как использовать данные из 1С/МДТ в шаблоне
Перед отправкой на принтер МДТ производит замену в файле шаблона имен переменных в квадратных скобках [] на значение этих переменных.
Имена переменных должны быть определены в шаблоне 1С.
Дополнительные файлы
В шаблоне могут быть использованы шрифты TTF и изображения в формате BMP, PCX и PNG.
Эти файлы должны быть загружены в шаблон 1С и загружаются в DRAM принтера при входе в задание.
Для изображений настоятельно рекомендуется использовать черно-белый формат BMP с разрешением цвета 1 бит/пиксель.
Пример текстового файла с шаблоном этикетки.
REM Обязательный заголовок. Задаются размеры этикетки 100х150мм,
REM Расстояние между этикетками 3мм и кодовая страница UTF-8 в
REM которой 1С пришлет содержимое. Кодовая страница всегда должна быть UTF-8
SIZE 100 mm,150 mm
GAP 3 mm, 0
CODEPAGE UTF-8
REM Содержимое этикетки
REM Очистка холста. Обязательная команда
CLS
REM Блок текста с названием расположенный в 2 мм от краев этикетки, размером 59х27мм
REM шрифтом высотой 18 пунктов. Содержимое текста берется из поля name шаблона 1С
BLOCK 24,24,708,324,"ARIAL.TTF",0,18,0, "[name]"
REM Блок описания продукта шрифтом высотой 10 пунктов
REM Содержимое текста берется из поля description шаблона 1С
BLOCK 24,360,708,912,"ARIAL.TTF",0,10,0, "[description]"
REM Код EAN13 повернутый на 270 градусов, с нижним левым углом смещенным вниз на 105мм и вправо на 62мм
REM высота основных штрихов кода 29.1 мм, с цифрами выровненными по центру кода, с шириной штриха 1мм
REM Код состоит из постоянного префикса 2000000 и переменной ean_weight шаблона 1С
BARCODE 744,1260,"EAN13",350,2,270,12,12,"2000000[ean_weight]"
REM Datamatrix с размером модуля 0.83мм
REM Содержимое кода состоит из символа FNC1 и содержимого переменной barcode из 1С
DMATRIX 744,1284,468,468,c126,x10,r0, "~1[barcode]"
BLOCK 24,1392,228,264,"ARIAL.TTF",0,10,0, "Изготовлено и упаковано:"
REM Строка текста с левым верхним углом смещенным на 2мм вправо и 139.2мм вниз.
TEXT 24,1670,"ARIAL.TTF",0,12,0, "[production_date]"
BLOCK 252,1392,228,264,"ARIAL.TTF",0,10,0, "Годен до:"
TEXT 252,1670,"ARIAL.TTF",0,12,0, "[best_before]"
BLOCK 480,1392,228,264,"ARIAL.TTF",0,10,0, "Масса нетто:"
TEXT 480,1670,"ARIAL.TTF",0,12,0, "[weight]"
REM Печать этикетки в одном экземпляре
PRINT 1,1
Дополнительная полезная информация
- Библиотека готовых шаблонов. Найдите наиболее подходящий для вас и измените его.
- Краткий справочником команд TSPL. Тут собраны все часто используемые команды TSPL.
- Если краткого справочника недостаточно, воспользуйтесь руководством по TSPL.