Использование скриптов для загрузки Данных для печати этикеток
Вы можете использовать скрипт для загрузки ваших данных в Данные для печати этикеток.
Для этого в настройках загрузки данных выберите тип источника 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);
На этой странице