Этикетка ~~~~~~~~ Структура --------- .. code:: Kotlin data class JsonLabelTemplate ( val labelFormatType: Int?, //Формат этикетки val width: String?, //Штрина этикетки val height: String?, //Высота этикетки val barcodeItems: List?, //Список штрихкодов val textItems: List?, //Список текстовых элементов val imageItems: List?, //Список изображений val graphicItems: List? //Список графических элементов ) 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 } Значения поворота элемента: .. code:: css 0 - 0 градусов по часовой 1 - 90 градусов по часовой 2 - 180 градусов по часовой 3 - 270 градусов по часовой Пример ---------------------------------------------------------------------------------------------------------------------------- .. code:: JSON { "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" } ] }