Этикетка

Структура

data class JsonLabelTemplate (
    val labelFormatType: Int?, //Формат этикетки
    val width: String?, //Штрина этикетки
    val height: String?, //Высота этикетки
    val barcodeItems: List<JsonBarcodeItem>?, //Список штрихкодов
    val textItems: List<JsonTextItem>?, //Список текстовых элементов
    val imageItems: List<JsonImageItem>?, //Список изображений
    val graphicItems: List<JsonGraphicItem>? //Список графических элементов
)

data class JsonBarcodeItem(
    val type: LabelBarcodeItems?, //Тип штрихкода
    val number: Int? = null, //Номер штрихкода (1-5)
    val x: Int?, //Координата X
    val y: Int?, //Координата Y
    val width: Int?, //Ширина штрихкода
    val height: Int?, //Высота штрихкода. Необходимо добавить +7 к фактическому значению
    val lineVerification: Boolean?, //Наличие проверочной линии
    val orientation: Int? = null, //Значение поворота элемента
)

data class JsonTextItem(
    val type: LabelTextItems?, //Тип текстового элемента
    val x: Int?, //Координата X
    val y: Int?, //Координата Y
    val align: Int?, //Позиционирование 0 - слева, 1 - по центру, 2 - справа
    val font: Int?, //Номер шрифта. Значения 0-6
    val orientation: Int? = null, //Значение поворота элемента
)

data class JsonImageItem(
    val imageNumber: Int?, //Номер изображения. Значения 0-4. 0 - Лента Мёбиуса
    val x: Int?, //Координата X
    val y: Int?, //Координата Y
    val width: Int?, //Ширина изображения. Только на получение
    val height: Int? //Высота изображения. Только на получение
    val orientation: Int? = null, //Значение поворота элемента
)

data class JsonGraphicItem(
    val x: Int?, //Координата X верхнего левого угла прямоугольника
    val y: Int?, //Координата Y верхнего левого угла прямоугольника
    val xEnd: Int?, //Координата X нижнего правого угла прямоугольника
    val yEnd: Int? //Координата Y нижнего правого угла прямоугольника
)

enum class LabelBarcodeItems(){
    DATAMATRIX, //Датаматрикс для вывода кодов маркировки
    BARCODE, //Штрихкод товара
}

enum class LabelTextItems(){
    NAME_PRODUCT, //Название товара
    NAME_SHOP, //Название магазина
    SHOP_ADDRESS, //Адрес магазина
    NUMBER_PLU, //ПЛУ товара
    CODE_PRODUCT, //Код товара
    GROUP_CODE, //Код категории
    MESSAGES, //Сообщение
    TEXT_LABEL_NUMBER, //Надпись "Номер этикетки"
    NUMBER_LABEL, //Номер этикетки
    TEXT_SCALES_NUMBER, //Надпись "Номер весов"
    NUMBER_SCALES, //Номер весов
    PACKER_NAME, //Имя фасовщика
    TEXT_PACKED, //Надпись "Упаковано"
    DATE, //Дата упаковки
    TIME, //Время упаковки
    TEXT_DATE_SHELF_LIFE, //Надпись "Годен до"
    DATE_SHELF_LIFE, //Дата срока годности
    TIME_SHELF_LIFE, //Время срока годности
    TEXT_EXPIRATION_DATE, //Надпись "Срок годности"
    DATE_SHELF_LIFE_IN_DAYS, //Срок годности в днях
    TEXT_DATE_CREATE, //Надпись "Изготовлено"
    DATE_MANUFACTURING, //Дата изготовления
    TIME_MANUFACTURING, //Время изготовления
    TEXT_WEIGHT, //Надпись "МАССА"
    WEIGHT, //Масса
    TEXT_TARE, //Надпись "Тара"
    TARE, //Тара
    TEXT_GROSS_WEIGHT, //Надпись "Масса брутто"
    GROSS_WEIGHT, //Масса брутто
    CALCULATED_NET_WEIGHT, //Масса нетто
    TEXT_PRICE, //Надпись "Цена, руб/кг"
    PRICE_PRODUCT, //Цена
    TEXT_DISCOUNT_PRICE, //Надпись "Цена со скидкой"
    DISCOUNT_PRICE, //Цена со скидкой
    TEXT_COST, //Надпись "Сумма"
    COST, //Сумма
    TEXT_DISCOUNT_COST, //Надпись "Сумма со скидкой"
    DISCOUNT_COST, //Сумма со скидкой
    QUANTITY_OPERATIONS_SUM, //Кол-во операций суммирования
    CURRENCY_EQUIVALENT_COST, //Валютный эквивалент стоимости (не используется)
    TEXT_GLOBAL_1, //Пользовательский текст 1
    TEXT_GLOBAL_2, //Пользовательский текст 2
    TEXT_GLOBAL_3, //Пользовательский текст 3
    TEXT_GLOBAL_4, //Пользовательский текст 4
    TEXT_GLOBAL_5, //Пользовательский текст 5
}

Значения поворота элемента:

0 - 0 градусов по часовой
1 - 90 градусов по часовой
2 - 180 градусов по часовой
3 - 270 градусов по часовой

Пример

{
    "width": "58"
    "height": "30",
    "labelFormatType": 0,
    "imageItems": [],
    "barcodeItems": [
        {
            "height": 15,
            "number": 1,
            "lineVerification": true,
            "type": "BARCODE",
            "width": 25,
            "x": 0,
            "y": 12,
            "orientation": "0"
        }
    ],
    "graphicItems": [
        {
            "x": 37,
            "xEnd": 53,
            "y": 13,
            "yEnd": 18
        }
    ],
    "textItems": [
        {
            "align": 0,
            "font": 2,
            "type": "NAME_PRODUCT",
            "x": 2,
            "y": 2,
            "orientation": "0"
        },
        {
            "align": 0,
            "font": 0,
            "type": "TEXT_PACKED",
            "x": 0,
            "y": 7,
            "orientation": "0"
        },
        {
            "align": 0,
            "font": 0,
            "type": "TEXT_DATE_SHELF_LIFE",
            "x": 11,
            "y": 7,
            "orientation": "0"
        },
        {
            "align": 0,
            "font": 0,
            "type": "TEXT_DATE_CREATE",
            "x": 21,
            "y": 7,
            "orientation": "0"
        },
        {
            "align": 1,
            "font": 0,
            "type": "TEXT_WEIGHT",
            "x": 46,
            "y": 7,
            "orientation": "0"
        },
        {
            "align": 0,
            "font": 0,
            "type": "DATE",
            "x": 0,
            "y": 9,
            "orientation": "0"
        },
        {
            "align": 0,
            "font": 0,
            "type": "DATE_SHELF_LIFE",
            "x": 11,
            "y": 9,
            "orientation": "0"
        },
        {
            "align": 0,
            "font": 0,
            "type": "DATE_MANUFACTURING",
            "x": 21,
            "y": 9,
            "orientation": "0"
        },
        {
            "align": 1,
            "font": 2,
            "type": "WEIGHT",
            "x": 46,
            "y": 9,
            "orientation": "0"
        },
        {
            "align": 1,
            "font": 2,
            "type": "PRICE_PRODUCT",
            "x": 31,
            "y": 16,
            "orientation": "0"
        },
        {
            "align": 1,
            "font": 0,
            "type": "TEXT_PRICE",
            "x": 31,
            "y": 19,
            "orientation": "0"
        },
        {
            "align": 1,
            "font": 2,
            "type": "TARE",
            "x": 31,
            "y": 12,
            "orientation": "0"
        },
        {
            "align": 2,
            "font": 5,
            "type": "COST",
            "x": 53,
            "y": 14,
            "orientation": "0"
        },
        {
            "align": 1,
            "font": 0,
            "type": "TEXT_COST",
            "x": 46,
            "y": 19,
            "orientation": "0"
        },
        {
            "align": 0,
            "font": 2,
            "type": "NAME_SHOP",
            "x": 2,
            "y": 21,
            "orientation": "0"
        }
    ]
}