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

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

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

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

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

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

{
    "dataSource": {
        "readyData": [
            {
                "NumberOfLabelsToPrint": 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"
            },
            {
                "NumberOfLabelsToPrint": 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. Используем только элемент с именем "readyData"
let rowIndex = 0;
data['dataSource']['readyData'].forEach(row => {
    // Добавляем в список новую запись
    list.add();
    Object.keys(row).forEach(key => {
        // Добавляем поле в запись. Имя поля — это имя объекта JSON. Значение поля — это значение объекта JSON
        list.setFieldValue(rowIndex, key, row[key]);
    });
    rowIndex++;
});

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