# Создание шаблона этикетки для TSC на языке TSPL
# Простое создание шаблона на языке TSPL

Все написаное ниже позволяет создать шаблоны на языке TSPL с использованием всех его возможностей.
Для удобного и простого создания шаблонов в редакторе воспользуйтесь [этой статьей](https://support.bit-erp.ru/article/ru/4504).

# Что представляет собой шаблон этикетки для принтера TSC

Шаблон этикетки для принтеров TSC представляет собой текстовый файл с набором команд языка TSPL. Указанный файл должен иметь расширение `tmpl` и загружен в шаблон этикетки 1С
Команды делятся на:

*   Сервисные. Они указывают принтеру размер этикетки, расстояния между этикетками и включают различные режимы работы.
*   Команды графических примитивов. Эти команды рисуют на виртуальном холсте необходимые примитивы: текст, штрихкод, изображение.
*   Директивы. Эти команды указывают принтеру выполнить действие. Например, `PRINT` печатает на этикетку все, что нарисовано на виртуальном холсте

Размеры и координаты расположения элементов в шаблоне указываются в точках принтера. Для принтера с головой 300dpi в одном миллиметре 12 точек.
Т. е. для того, чтобы верно указать размер вычислите его в миллиметрах и умножьте на 12.
Исключение составляют размеры шрифтов TTF, они указываются в пунктах, в тех же единицах, что и в Word.

# Как использовать данные из 1С/МДТ в шаблоне

Перед отправкой на принтер МДТ производит замену в файле шаблона имен переменных в квадратных скобках `[]` на значение этих переменных.
Имена переменных должны быть [определены в шаблоне 1С](https://support.bit-erp.ru/article/ru/3983).

# Дополнительные файлы

В шаблоне могут быть использованы шрифты TTF и изображения в формате `BMP`, `PCX` и `PNG`.
Эти файлы должны быть загружены в шаблон 1С и загружаются в DRAM принтера при входе в задание.

Для изображений настоятельно рекомендуется использовать черно-белый формат BMP с разрешением цвета 1 бит/пиксель.&#x20;
Подробнее в статье: [Добавление картинок на этикетку TSC на языке TSPL](https://support.bit-erp.ru/article/ru/4684-dobavlenie-kartinok-na-etiketku-tsc-na-yazyke-tspl.html)

# Пример текстового файла с шаблоном этикетки.

```
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
```

# Дополнительная полезная информация

*   [Библиотека готовых шаблонов](https://support.bit-erp.ru/article/ru/3984). Найдите наиболее подходящий для вас и измените его.
*   Краткий [справочником](https://support.bit-erp.ru/article/ru/3922) команд TSPL. Тут собраны все часто используемые команды TSPL.
*   Если краткого справочника недостаточно, воспользуйтесь [руководством](/attachments/h/2/h2OEFZG7RSQBpAI__a/tspl_tspl2_programming_c.pdf) по TSPL.