Использование скриптов для загрузки Данных для печати этикеток

Вы можете использовать скрипт для загрузки ваших данных в Данные для печати этикеток.

Для этого в настройках импорта выберите тип источника JavaScript, Pascal и нажмите Редактировать скрипт.

Ниже приведены примеры скриптов для разных задач.

Загрузка JSON из Интернет

Пример данных, которые нужно загрузить:

[
    {
        "PrintQuantity": 2,
        "SKU": "AZL10002",
        "Name": "Pro, подписка на год",
        "Brand": "AzureLabel",
        "Barcode": "2345678901234",
        "Price": 8900,
        "PriceOld": 9900,
        "Description": "Использование в бизнесе",
        "Code": "pro-y",
        "Size": "L",
        "Color": "azure",
        "Country": "USA",
        "Unit": "шт",
        "Link": "https://azurelabel.com/purchase"
    },
    {
        "PrintQuantity": 3,
        "SKU": "AZL10005",
        "Name": "Corporate, подписка на год",
        "Brand": "AzureLabel",
        "Barcode": "5678901234562",
        "Price": 13500,
        "PriceOld": 14500,
        "Description": "Корпоративные Решения",
        "Code": "corp-y",
        "Size": "XL",
        "Color": "dark azure",
        "Country": "USA",
        "Unit": "шт",
        "Link": "https://azurelabel.com/purchase"
    }
]

Решение

JavaScript

// URL-адрес тестовых данных в формате JSON
const url = 'https://azurelabel.com/docs/resources/script-guide/text-ru/example001.json';

// Отправляем запрос на URL-адрес. Ответ это массив из двух строк: код ответа сервера и тестовые данные в формате JSON
const response = azureLabel.httpRequest( url, 'get', null, null, null, null, null, null, true, 1, 10000, 10000, false, null, null);

// Преобразуем строку JSON в массив
const data = JSON.parse(response[1]);

// Библиотека AzureLabel необходима чтобы использовать специальный класс ListOfRecords
const ext = require("azurelabel_ext");
// Создаем список записей
const list = new ext.ListOfRecords;
// Добавляем в список данные из массива JSON.
let rowIndex = 0;
data.forEach(row => {
    // Добавляем в список новую запись
    list.add();
    Object.keys(row).forEach(key => {
        // Добавляем поле в запись. Имя поля — это имя объекта JSON. Значение поля — это значение объекта JSON
        list.setFieldValue(rowIndex, key, row[key]);
    });
    rowIndex++;
});

// Очистим "Данные для печати этикеток" и добавим данные из списка
azureLabel.setPrintData(list);