Перед обробкою вивантаження товарів потрібно переконатися, що в ньому є артикул, назва й коректний залишок. Демонстрація перетворює вставлений текст із колонками sku;name;stock на об’єкти JSON і показує помилки, які не можна пропускати в подальший облік.
НАВЧАЛЬНИЙ ПРИКЛАД
Підготовка каталогу до імпорту
Змініть рядки, перевірте помилку й отримайте структуру в браузері.
Це ширина демонстраційного полотна. Вона не замінює перевірку справжнього пристрою.
DEMO / csv-import
Підготовка каталогу до імпорту
Перед обробкою вивантаження товарів потрібно переконатися, що в ньому є артикул, назва й коректний залишок. Демонстрація перетворює вставлений текст із колонками sku;name;stock на об’єкти JSON і показує помилки, які не можна пропускати в подальший облік.
Відкрити робочу демонстрацію
Навчальний концепт · вигадана компанія · без надсилання.
Із таблиці — у перевірені рядки
- 01Навчальний CSV
- 02Перевірка полів
- 03Структура JSON
Змініть навчальний рядок, потім спробуйте неправильний залишок. Парсер покаже помилку з причиною; імпорт у робочу систему не виконується.
CSV → JSON
Допомагає підготувати дані до імпорту й виправити помилки структури та значень до збереження.
Код, який можна спробувати
Фрагмент функції, яка виконує перетворення в цій демонстрації.
function normalizeCatalogRows(rows) {
if (!Array.isArray(rows) || rows.length < 2) throw new Error('CSV_EMPTY');
if (rows.length > 51) throw new Error('CSV_LIMIT');
if (!Array.isArray(rows[0]) || rows[0].length !== 3) throw new Error('CSV_HEADERS');
const headers = rows[0].map((cell, index) => {
if (typeof cell !== 'string') throw new Error('CSV_HEADERS');
return (index === 0 ? cell.replace(/^\uFEFF/, '') : cell).trim();
});
const required = ['sku', 'name', 'stock'];
if (new Set(headers).size !== 3 || !required.every(key => headers.includes(key))) {
throw new Error('CSV_HEADERS');
}
const seen = new Set();
return rows.slice(1).map((row,index) => {
const fail=(code,field='')=>{const error=new Error(code);error.record=index+1;error.field=field;throw error;};
if (!Array.isArray(row) || row.length !== 3 || row.some(cell => typeof cell !== 'string')) {
fail('CSV_COLUMNS');
}
const cells = row.map(cell => cell.trim());
if (cells.some(cell => cell === '')) fail('CSV_EMPTY_CELL',headers[cells.findIndex(cell=>cell==='')]);
const sku = cells[headers.indexOf('sku')];
const name = cells[headers.indexOf('name')];
const rawStock = cells[headers.indexOf('stock')];
const stock = Number(rawStock);
if (!/^\d+$/.test(rawStock) || !Number.isSafeInteger(stock) || stock < 0 || stock > 1000000) {
fail('CSV_STOCK','stock');
}
const identity = sku.toLowerCase();
if (seen.has(identity)) fail('CSV_DUPLICATE_SKU','sku');
seen.add(identity);
return {sku, name, stock};
});
}Локальна демонстрація: текст обробляється в браузері без завантаження файлу, сервера та збереження даних.
Редагований CSV і приклади коректних даних та помилок.
Перевірити коректний CSV, назву з роздільником усередині лапок, відсутність обов’язкової колонки, неправильний залишок і повтор SKU.
Завдання в цьому сценарії
Перед обробкою вивантаження товарів потрібно переконатися, що в ньому є артикул, назва й коректний залишок. Демонстрація перетворює вставлений текст із колонками sku;name;stock на об’єкти JSON і показує помилки, які не можна пропускати в подальший облік.
Як побудовано рішення
- Спочатку подивіться на обіцяний результат, потім спробуйте дію в демонстрації.
- Локальні результати не є надсиланням, замовленням або комерційними показниками.
Проміжні матеріали
- Початкове завдання та обмеження → Перед обробкою вивантаження товарів потрібно переконатися, що в ньому є артикул, назва й коректний залишок. Демонстрація перетворює вставлений текст із колонками sku;name;stock на об’єкти JSON і показує помилки, які не можна пропускати в подальший облік.
- Склад рішення → Редагований CSV і приклади коректних даних та помилок.
- Перевірка перед запуском → Перевірити коректний CSV, назву з роздільником усередині лапок, відсутність обов’язкової колонки, неправильний залишок і повтор SKU.
Що перевірити перед запуском
- Перевірити коректний CSV, назву з роздільником усередині лапок, відсутність обов’язкової колонки, неправильний залишок і повтор SKU.
- Для справжнього імпорту погодити формат початкового вивантаження та правила залишків; окремо реалізувати збереження й перевірку результату в системі-отримувачі.
Що входить у приклад
- Редагований CSV і приклади коректних даних та помилок.
- Локальний розбір тексту, перевірка структури й значень.
- Результат JSON або повідомлення, яке пояснює причину відмови.
Технічний паспорт
DevPilot 1.5.2 · Охоплення перевірок, вихідний код і дата свідчень
- Статус
- DEMO · Вигадана компанія й навчальні дані
- Матеріали
- Власні HTML/CSS/SVG, вихідний код і локальні алгоритми. Фотографії клієнтів не використовуються.
- Обробка
- Демонстрація виконується в браузері. Відкриття прикладу не створює заявку чи оплачений проєкт.
- Докази
- Вміст і локальні перевірки відокремлені від справжнього браузерного, хостингового та комерційного приймання.