devpilot.
До вибору прикладів

НАВЧАЛЬНИЙ ПРИКЛАД

Підготовка каталогу до імпорту

Змініть рядки, перевірте помилку й отримайте структуру в браузері.

DEMOБез вигаданих показників продажів
Полотно:

Це ширина демонстраційного полотна. Вона не замінює перевірку справжнього пристрою.

DEMO / csv-import

Підготовка каталогу до імпорту

Перед обробкою вивантаження товарів потрібно переконатися, що в ньому є артикул, назва й коректний залишок. Демонстрація перетворює вставлений текст із колонками sku;name;stock на об’єкти JSON і показує помилки, які не можна пропускати в подальший облік.

Відкрити робочу демонстрацію

Навчальний концепт · вигадана компанія · без надсилання.

Із таблиці — у перевірені рядки

  1. 01Навчальний CSV
  2. 02Перевірка полів
  3. 03Структура JSON

Змініть навчальний рядок, потім спробуйте неправильний залишок. Парсер покаже помилку з причиною; імпорт у робочу систему не виконується.

ОБРОБКА ДАНИХLOCAL / JS

CSV → JSON

Допомагає підготувати дані до імпорту й виправити помилки структури та значень до збереження.

Підготовка каталогу до імпорту

Змініть приклад і запустіть перевірку.

Результат перетворення

Файл не завантажується, залишки в обліковій системі не змінюються.

Для запуску потрібен JavaScript. Розбір завдання й фрагмент коду доступні нижче.

Код, який можна спробувати

Фрагмент функції, яка виконує перетворення в цій демонстрації.

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};
  });
}

Локальна демонстрація: текст обробляється в браузері без завантаження файлу, сервера та збереження даних.

Лише текст, без HTML. Зміни залишаються у вкладці.

Завдання в цьому сценарії

Перед обробкою вивантаження товарів потрібно переконатися, що в ньому є артикул, назва й коректний залишок. Демонстрація перетворює вставлений текст із колонками sku;name;stock на об’єкти JSON і показує помилки, які не можна пропускати в подальший облік.

Як побудовано рішення

  • Спочатку подивіться на обіцяний результат, потім спробуйте дію в демонстрації.
  • Локальні результати не є надсиланням, замовленням або комерційними показниками.

Проміжні матеріали

  1. Початкове завдання та обмеження → Перед обробкою вивантаження товарів потрібно переконатися, що в ньому є артикул, назва й коректний залишок. Демонстрація перетворює вставлений текст із колонками sku;name;stock на об’єкти JSON і показує помилки, які не можна пропускати в подальший облік.
  2. Склад рішення → Редагований CSV і приклади коректних даних та помилок.
  3. Перевірка перед запуском → Перевірити коректний CSV, назву з роздільником усередині лапок, відсутність обов’язкової колонки, неправильний залишок і повтор SKU.

Що перевірити перед запуском

  • Перевірити коректний CSV, назву з роздільником усередині лапок, відсутність обов’язкової колонки, неправильний залишок і повтор SKU.
  • Для справжнього імпорту погодити формат початкового вивантаження та правила залишків; окремо реалізувати збереження й перевірку результату в системі-отримувачі.

Що входить у приклад

  • Редагований CSV і приклади коректних даних та помилок.
  • Локальний розбір тексту, перевірка структури й значень.
  • Результат JSON або повідомлення, яке пояснює причину відмови.

Технічний паспорт

DevPilot 1.5.2 · Охоплення перевірок, вихідний код і дата свідчень

Статус
DEMO · Вигадана компанія й навчальні дані
Матеріали
Власні HTML/CSS/SVG, вихідний код і локальні алгоритми. Фотографії клієнтів не використовуються.
Обробка
Демонстрація виконується в браузері. Відкриття прикладу не створює заявку чи оплачений проєкт.
Докази
Вміст і локальні перевірки відокремлені від справжнього браузерного, хостингового та комерційного приймання.