Перейти до вмісту

XML 1С

Матеріал з K2 ERP Wiki


SEO title: XML 1С — обмін даними, читання і запис XML, CommerceML, інтеграції, помилки і міграція в K2 ERP SEO description: XML 1С: що таке XML у 1С/BAS, де використовується, як читати і записувати XML мовою 1С, обмін даними, CommerceML, зовнішні обробки, інтеграції, типові помилки, безпека і міграція XML-обмінів у K2 ERP. SEO keywords: XML 1С, XML BAS, обмін XML 1С, читання XML 1С, запис XML 1С, CommerceML 1С, інтеграція XML 1С, вивантаження XML 1С, завантаження XML 1С, K2 ERP, міграція з 1С Alternative to:


XML 1С — це використання формату XML у / 1С:Підприємство та BAS для обміну даними, вивантаження і завантаження довідників, документів, замовлень, цін, залишків, банківських або регламентованих даних, інтеграції з сайтами, CRM, WMS, MES, електронним документообігом, зовнішніми системами та міграційними інструментами.

XML — це текстовий формат із тегами, який дозволяє описувати структуровані дані. У 1С XML часто використовується у зовнішніх обробках, обмінах, CommerceML, web-сервісах, універсальному обміні даними, вивантаженні конфігураційних або довідкових даних, інтеграціях із сайтами та підготовці даних для міграції.

Головне. XML у 1С — це один із класичних форматів обміну даними. Він добре підходить для структурованих довідників, документів, замовлень, цін, залишків і CommerceML, але потребує контролю схеми, кодування, тегів, обов’язкових полів і помилок завантаження.

Проста аналогія. XML — це як анкета з підписаними полями: кожне значення лежить усередині тегу, а програма розуміє, де номер документа, дата, контрагент, товар, кількість і ціна.

Важливо про та BAS. В Україні продукти екосистеми і частина продуктів BAS пов’язані з санкційними, юридичними, кібербезпековими та репутаційними ризиками. Держспецзв’язку веде офіційний перелік забороненого до використання програмного забезпечення та комунікаційного обладнання, де згадуються продукти 1С/BAS, зокрема 1C:Підприємство 8 і BAS ERP. Указ Президента України №601/2024 ввів у дію рішення РНБО від 2 вересня 2024 року щодо застосування, скасування та внесення змін до санкцій. Перед підтримкою, використанням або міграцією таких систем потрібно перевіряти актуальні офіційні обмеження. ([cip.gov.ua](https://cip.gov.ua/ua/statics/perelik-zaboronenogo-do-vikoristannya-programnogo-zabezpechennya-ta-komunikaciinogo-merezhevogo-obladnannya), [president.gov.ua](https://www.president.gov.ua/documents/6012024-52009))

Що таке XML у 1С

XML або Extensible Markup Language — це текстовий формат для зберігання і передачі структурованих даних.

У 1С XML використовується для:

  • обміну довідниками;
  • обміну документами;
  • вивантаження замовлень;
  • завантаження замовлень із сайту;
  • передачі цін;
  • передачі залишків;
  • обміну з інтернет-магазинами;
  • обміну через CommerceML;
  • обміну з CRM;
  • обміну з WMS;
  • обміну з MES;
  • обміну з електронним документообігом;
  • формування службових файлів;
  • міграції даних;
  • інтеграції зі старими системами.

XML був одним із найпоширеніших форматів інтеграції в старих 1С-рішеннях. У сучасних інтеграціях часто використовується JSON, але XML досі зустрічається у CommerceML, старих обмінах, банківських форматах, державних і корпоративних інтеграціях.

Приклад XML

Простий XML-документ із замовленням:

<?xml version="1.0" encoding="UTF-8"?>
<Order>
    <Number>WEB-10025</Number>
    <Date>2026-05-15</Date>
    <Customer>ТОВ Ромашка</Customer>
    <Items>
        <Item>
            <SKU>SKU-001</SKU>
            <Name>Товар А</Name>
            <Quantity>2</Quantity>
            <Price>1200</Price>
        </Item>
        <Item>
            <SKU>SKU-002</SKU>
            <Name>Товар Б</Name>
            <Quantity>1</Quantity>
            <Price>850</Price>
        </Item>
    </Items>
</Order>

Такий файл можна передати з сайту в 1С або з 1С у зовнішню систему.

XML і JSON: різниця

Критерій XML JSON
Структура Теги Ключі й значення
Людиночитність Читабельний, але громіздкий Зазвичай компактніший
Схеми Часто використовується XSD Часто використовується JSON Schema
Старі інтеграції Дуже поширений Менш типовий для старих систем
Web API Зустрічається рідше Дуже поширений
CommerceML Використовує XML Не використовується як основний формат

У старих 1С-обмінах XML зустрічається частіше. У нових API частіше використовують JSON.

Де використовується XML у 1С

Типові сценарії:

  • обмін із сайтом;
  • обмін з інтернет-магазином;
  • CommerceML;
  • завантаження замовлень;
  • вивантаження товарів;
  • вивантаження цін;
  • вивантаження залишків;
  • обмін із CRM;
  • обмін із WMS;
  • обмін із MES;
  • електронний документообіг;
  • завантаження банківських або службових файлів;
  • обмін між базами 1С;
  • вивантаження для міграції;
  • імпорт довідників;
  • імпорт номенклатури;
  • обмін із державними або корпоративними системами.

XML і CommerceML

CommerceML — це XML-формат, який широко використовувався в обмінах між 1С і сайтами, особливо інтернет-магазинами.

Через CommerceML зазвичай передають:

  • каталог товарів;
  • групи товарів;
  • характеристики;
  • одиниці виміру;
  • ціни;
  • залишки;
  • замовлення;
  • контрагентів;
  • статуси замовлень.

Приклад спрощеної структури:

<КоммерческаяИнформация ВерсияСхемы="2.07" ДатаФормирования="2026-05-15">
    <Каталог>
        <Товары>
            <Товар>
                <Ид>SKU-001</Ид>
                <Наименование>Товар А</Наименование>
            </Товар>
        </Товары>
    </Каталог>
</КоммерческаяИнформация>

CommerceML часто використовується для синхронізації 1С/BAS з сайтами на CMS або інтернет-магазинами.

XML у зовнішніх обробках

Зовнішня обробка 1С може читати або формувати XML.

Приклади:

  • завантажити замовлення з XML-файлу;
  • вивантажити номенклатуру в XML;
  • імпортувати контрагентів;
  • сформувати файл для сайту;
  • розібрати відповідь зовнішньої системи;
  • підготувати файл для міграції;
  • сформувати XML для електронного документообігу.

Зовнішні обробки з XML часто використовувалися як швидкий спосіб інтеграції без зміни основної конфігурації.

XML у регламентних завданнях

Регламентні завдання 1С можуть автоматично виконувати XML-обміни.

Наприклад:

  • щогодини завантажувати замовлення із сайту;
  • щодня вивантажувати залишки;
  • раз на день оновлювати ціни;
  • щоночі формувати XML для зовнішньої системи;
  • перевіряти папку з XML-файлами;
  • обробляти чергу імпорту;
  • відправляти результати обробки.

Регламентний XML-обмін має мати журнал, статуси, повтори і контроль помилок.

XML і сервер 1С

У клієнт-серверному режимі XML-обміни краще виконувати на сервері 1С, а не на клієнті.

Переваги серверного виконання:

  • стабільніший доступ до файлів або сервісів;
  • менша залежність від комп’ютера користувача;
  • легше логувати;
  • зручніше запускати за розкладом;
  • краще контролювати права;
  • простіше виконувати фонові обробки.

Погана практика — коли менеджер вручну запускає важкий XML-обмін зі свого комп’ютера, і від його робочого місця залежить весь сайт.

XML і мова 1С

Мова 1С має механізми для роботи з XML.

У типових сценаріях використовують:

  • читання XML;
  • запис XML;
  • обхід вузлів;
  • отримання атрибутів;
  • запис елементів;
  • перетворення значень;
  • роботу з кодуванням;
  • обробку помилок;
  • логування результатів.

Назви класів і методів можуть відрізнятися залежно від версії платформи, але загальний принцип однаковий: відкрити XML, прочитати вузли, перетворити їх у об’єкти 1С або навпаки.

Приклад запису XML у 1С

Спрощений приклад формування XML-файлу:

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\Exchange\order.xml", "UTF-8");

ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("Order");

ЗаписьXML.ЗаписатьНачалоЭлемента("Number");
ЗаписьXML.ЗаписатьТекст("WEB-10025");
ЗаписьXML.ЗаписатьКонецЭлемента();

ЗаписьXML.ЗаписатьНачалоЭлемента("Date");
ЗаписьXML.ЗаписатьТекст("2026-05-15");
ЗаписьXML.ЗаписатьКонецЭлемента();

ЗаписьXML.ЗаписатьКонецЭлемента(); // Order
ЗаписьXML.Закрыть();

Результат:

<?xml version="1.0" encoding="UTF-8"?>
<Order>
    <Number>WEB-10025</Number>
    <Date>2026-05-15</Date>
</Order>

Приклад читання XML у 1С

Спрощений приклад читання XML-файлу:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("C:\Exchange\order.xml");

Пока ЧтениеXML.Прочитать() Цикл

    Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда

        Если ЧтениеXML.Имя = "Number" Тогда
            ЧтениеXML.Прочитать();
            НомерЗаказа = ЧтениеXML.Значение;
        КонецЕсли;

    КонецЕсли;

КонецЦикла;

ЧтениеXML.Закрыть();

У реальному коді потрібно враховувати вкладеність, кодування, відсутні теги, помилки формату і перетворення типів.

Приклад XML замовлення для 1С

<Order>
    <ExternalID>WEB-10025</ExternalID>
    <Date>2026-05-15T10:30:00</Date>
    <Customer>
        <Code>12345678</Code>
        <Name>ТОВ Ромашка</Name>
    </Customer>
    <Items>
        <Item>
            <SKU>SKU-001</SKU>
            <Quantity>2</Quantity>
            <Price>1200</Price>
            <Amount>2400</Amount>
        </Item>
    </Items>
</Order>

Після завантаження 1С може:

  1. знайти або створити контрагента;
  2. знайти номенклатуру за SKU;
  3. створити замовлення покупця;
  4. заповнити табличну частину;
  5. записати зовнішній ID;
  6. встановити статус обміну;
  7. залогувати результат.

Приклад XML вивантаження залишків

<StockBalances date="2026-05-15">
    <Warehouse code="MAIN">
        <Item>
            <SKU>SKU-001</SKU>
            <Quantity>25</Quantity>
        </Item>
        <Item>
            <SKU>SKU-002</SKU>
            <Quantity>10</Quantity>
        </Item>
    </Warehouse>
</StockBalances>

Такий файл може передаватися на сайт або в WMS.

Приклад XML вивантаження цін

<Prices date="2026-05-15">
    <PriceType code="RETAIL">
        <Item>
            <SKU>SKU-001</SKU>
            <Price>1200</Price>
            <Currency>UAH</Currency>
        </Item>
        <Item>
            <SKU>SKU-002</SKU>
            <Price>850</Price>
            <Currency>UAH</Currency>
        </Item>
    </PriceType>
</Prices>

При вивантаженні цін важливо передавати тип ціни, валюту, дату актуальності та зовнішній код товару.

XML і довідники

Через XML часто обмінюються довідниками.

Наприклад:

  • номенклатура;
  • контрагенти;
  • склади;
  • одиниці виміру;
  • валюти;
  • типи цін;
  • характеристики;
  • договори;
  • працівники;
  • підрозділи.

Приклад контрагента:

<Customer>
    <Code>12345678</Code>
    <Name>ТОВ Ромашка</Name>
    <TaxNumber>123456789012</TaxNumber>
    <Email>office@example.com</Email>
</Customer>

XML і номенклатура

Для номенклатури важливо передавати:

  • зовнішній ID;
  • артикул;
  • назву;
  • групу;
  • одиницю виміру;
  • штрихкод;
  • характеристики;
  • вагу;
  • ставку ПДВ;
  • тип товару;
  • опис;
  • зображення або посилання на нього.

Приклад:

<Product>
    <ID>SKU-001</ID>
    <Article>A-001</Article>
    <Name>Товар А</Name>
    <Unit>шт</Unit>
    <VAT>20</VAT>
</Product>

XML і характеристики номенклатури

Характеристики номенклатури 1С у XML потрібно передавати дуже обережно.

Приклад:

<Product>
    <ID>SKU-001</ID>
    <Name>Футболка</Name>
    <Characteristics>
        <Characteristic>
            <Name>Розмір</Name>
            <Value>M</Value>
        </Characteristic>
        <Characteristic>
            <Name>Колір</Name>
            <Value>Чорний</Value>
        </Characteristic>
    </Characteristics>
</Product>

Проблеми виникають, якщо сайт і 1С по-різному називають характеристики: “Колір”, “Цвет”, “Color”, “colour”.

XML і партії

Партії 1С можуть передаватися в XML, якщо потрібен партійний облік.

Приклад:

<Item>
    <SKU>SKU-001</SKU>
    <Batch>LOT-2026-05</Batch>
    <Quantity>100</Quantity>
    <ExpiryDate>2027-05-15</ExpiryDate>
</Item>

Для партій важливо передавати:

  • номер партії;
  • дату партії;
  • строк придатності;
  • постачальника;
  • склад;
  • кількість;
  • серію, якщо використовується.

XML і документи

Через XML можна завантажувати або вивантажувати документи.

Приклади:

  • замовлення покупця;
  • рахунок;
  • реалізація;
  • надходження;
  • повернення;
  • переміщення;
  • списання;
  • платіж;
  • акт;
  • виробниче замовлення.

Для документа важливо передавати:

  • зовнішній ID;
  • номер;
  • дату;
  • організацію;
  • контрагента;
  • договір;
  • валюту;
  • склад;
  • рядки;
  • суми;
  • ПДВ;
  • статус;
  • коментар.

XML і взаєморозрахунки

Для взаєморозрахунків XML може містити:

  • контрагента;
  • договір;
  • документ розрахунків;
  • суму боргу;
  • суму оплати;
  • валюту;
  • дату оплати;
  • призначення платежу;
  • зовнішній ID.

Приклад платежу:

<Payment>
    <ExternalID>BANK-98765</ExternalID>
    <Date>2026-05-15</Date>
    <CustomerCode>12345678</CustomerCode>
    <Amount>5000</Amount>
    <Currency>UAH</Currency>
    <Purpose>Оплата за рахунком WEB-10025</Purpose>
</Payment>

XML і ПДВ

Для ПДВ 1С у XML потрібно передавати податкові параметри.

Наприклад:

  • ставка ПДВ;
  • сума без ПДВ;
  • сума ПДВ;
  • сума з ПДВ;
  • податкова ознака;
  • тип операції;
  • країна;
  • код пільги, якщо використовується.

Приклад:

<Item>
    <SKU>SKU-001</SKU>
    <Quantity>2</Quantity>
    <Price>1200</Price>
    <VATRate>20</VATRate>
    <VATAmount>400</VATAmount>
    <AmountWithVAT>2400</AmountWithVAT>
</Item>

Помилки з ПДВ в XML можуть призвести до неправильних сум у документах і звітності.

XML і банк

Деякі банківські або платіжні інтеграції можуть використовувати XML.

У XML платежу можуть бути:

  • ID транзакції;
  • дата;
  • рахунок;
  • контрагент;
  • ЄДРПОУ;
  • сума;
  • валюта;
  • призначення платежу;
  • статус;
  • комісія.

Для банку критично важливо контролювати дублікати. Один і той самий XML-файл не повинен створити платежі двічі.

XML і електронний документообіг

XML часто використовується в електронному документообігу.

Через XML можуть передаватися:

  • рахунки;
  • акти;
  • накладні;
  • податкові документи;
  • кадрові документи;
  • статуси підписання;
  • квитанції;
  • службові відповіді.

У таких інтеграціях особливо важливі схема, підпис, кодування, сертифікати і контроль статусів.

XML і web-сервіси

У старих інтеграціях часто використовувалися SOAP web-сервіси, де дані передаються в XML.

Типова SOAP-структура:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <GetOrder>
            <OrderNumber>WEB-10025</OrderNumber>
        </GetOrder>
    </soap:Body>
</soap:Envelope>

У сучасних інтеграціях частіше використовують REST API і JSON, але SOAP/XML досі зустрічається в старих корпоративних системах.

XML і XSD

XSD — це XML Schema Definition, тобто формальний опис структури XML.

XSD визначає:

  • які теги дозволені;
  • які атрибути дозволені;
  • які поля обов’язкові;
  • які типи даних допустимі;
  • яка вкладеність правильна;
  • які значення дозволені.

Якщо інтеграція критична, краще мати XSD-схему і перевіряти XML перед завантаженням.

Типові проблеми XML у 1С

Проблема Причина Наслідок
XML не читається Помилка структури або кодування Обмін не виконується
Не знаходиться товар Немає SKU або зовнішнього ID Замовлення не завантажується
Дублюються документи Немає контролю external_id Створюються дублікати
Неправильна дата Різні формати дат Документ потрапляє не в той період
Неправильна сума Різні правила округлення або ПДВ Розбіжності у взаєморозрахунках
Не ті символи Проблема кодування Зіпсовані назви товарів або контрагентів
XML занадто великий Вивантажують усе без відборів Повільний обмін або помилки пам’яті

Помилка: неправильне кодування

Одна з найчастіших проблем XML — кодування.

Наприклад, файл заявлений як UTF-8:

<?xml version="1.0" encoding="UTF-8"?>

але фактично збережений в іншому кодуванні.

Наслідки:

  • українські літери відображаються неправильно;
  • XML не читається;
  • назви товарів спотворені;
  • контрагенти створюються з “кракозябрами”;
  • обмін завершується помилкою.

Помилка: відсутній external_id

Для інтеграцій дуже важливий зовнішній ідентифікатор.

Погано:

<Order>
    <Number>10025</Number>
</Order>

Краще:

<Order>
    <ExternalID>WEB-10025</ExternalID>
    <Number>10025</Number>
</Order>

ExternalID потрібен, щоб не створити документ повторно при повторному завантаженні.

Помилка: дублювання документів

Причини:

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

Правильний підхід:

  1. Прочитати external_id.
  2. Перевірити, чи такий документ уже є.
  3. Якщо є — оновити або пропустити.
  4. Якщо немає — створити.
  5. Записати статус.
  6. Залогувати результат.

Помилка: неправильні формати дат

У XML можуть зустрічатися різні формати дат:

<Date>2026-05-15</Date>
<Date>15.05.2026</Date>
<Date>2026-05-15T10:30:00</Date>

Потрібно домовитися про єдиний формат.

Найкраще використовувати ISO-подібний формат:

<Date>2026-05-15T10:30:00</Date>

Помилка: неправильне округлення

Суми можуть не збігатися через:

  • різне округлення ціни;
  • різне округлення ПДВ;
  • різну кількість знаків після коми;
  • різну логіку знижок;
  • різну валюту;
  • суму з ПДВ або без ПДВ;
  • округлення по рядку або по документу.

Приклад проблеми:

Джерело Логіка Результат
Сайт ПДВ рахується по документу 1000,01 грн
ПДВ рахується по рядках 1000,00 грн

Такі правила потрібно описувати в специфікації обміну.

Помилка: XML занадто великий

Великий XML може створювати проблеми:

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

Рішення:

  • розбивати файли на частини;
  • використовувати відбір по даті;
  • передавати тільки зміни;
  • використовувати пагінацію в API;
  • запускати обмін на сервері;
  • вести статуси обробки.

XML і логування

Для XML-обміну потрібно логувати:

  • дату і час;
  • напрямок обміну;
  • файл;
  • зовнішній ID;
  • кількість об’єктів;
  • кількість успішних записів;
  • кількість помилок;
  • текст помилки;
  • користувача або завдання;
  • статус;
  • час виконання.

Приклад журналу:

Час Файл Статус Об’єктів Помилок
15.05.2026 10:30 orders_20260515.xml Успішно 125 0
15.05.2026 11:30 orders_20260515_2.xml Помилка 80 3

XML і безпека

XML-файли можуть містити чутливі дані:

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

Потрібно контролювати:

  • де зберігаються XML-файли;
  • хто має доступ;
  • чи шифрується передача;
  • чи є HTTPS або захищений канал;
  • чи не логуються паролі;
  • чи не зберігаються токени у відкритому вигляді;
  • чи очищуються тимчасові файли;
  • чи є аудит обміну.

Критично. XML-файл із замовленнями, контрагентами, банківськими даними або зарплатою — це не “просто файл”. Це бізнес-дані, які потрібно захищати як частину ERP.

XML і продуктивність

XML-обміни можуть навантажувати систему.

Причини:

  • великий файл;
  • багато довідників;
  • багато документів;
  • пошук номенклатури по назві замість коду;
  • створення об’єктів у циклі без оптимізації;
  • проведення кожного документа одразу;
  • відсутність пакетної обробки;
  • запис у робочий час;
  • HTTP-запити в циклі;
  • відсутність індексів для пошуку external_id.

Як оптимізувати XML-обмін

Практичні поради:

  • використовувати external_id;
  • шукати об’єкти за кодом або зовнішнім ID;
  • не шукати товари тільки за назвою;
  • розбивати великий XML на частини;
  • обробляти тільки зміни;
  • запускати важкі обміни вночі;
  • не проводити документи без потреби під час імпорту;
  • вести журнал обміну;
  • використовувати статуси;
  • робити повторну обробку без дублів;
  • тестувати на копії бази.

XML і зовнішні ID

Зовнішній ID — ключовий елемент стабільного обміну.

Приклади:

Об’єкт Поле XML Для чого
Товар SKU / ProductID Зіставлення номенклатури
Контрагент CustomerID / ЄДРПОУ Зіставлення клієнта
Замовлення ExternalID Захист від дублів
Платіж TransactionID Захист від повторного завантаження
Склад WarehouseCode Зіставлення складу

Без зовнішніх ID інтеграція стає нестабільною.

XML і міграція з 1С/BAS

XML може використовуватися для міграції з або BAS у K2 ERP.

Через XML можна вивантажити:

  • довідники;
  • контрагентів;
  • номенклатуру;
  • склади;
  • одиниці виміру;
  • ціни;
  • залишки;
  • документи;
  • взаєморозрахунки;
  • партії;
  • характеристики;
  • виробничі дані;
  • зовнішні ID;
  • контрольні суми.

Але при міграції XML — це лише транспортний формат. Головне — правильно зіставити бізнес-сутності між старою і новою системою.

XML чи JSON для міграції

Формат Переваги Коли підходить
XML Добре підходить для старих 1С-обмінів, CommerceML, складних ієрархій Якщо вже є XML-обробки або зовнішня система очікує XML
JSON Компактний, зручний для сучасних API Якщо міграція йде через REST API або сучасні сервіси
CSV/Excel Простий для таблиць Для простих довідників і ручної перевірки
Пряме підключення Швидке для великих обсягів Для контрольованої технічної міграції

Для K2 ERP частіше зручні JSON/API або контрольовані міграційні таблиці, але XML може бути проміжним форматом, якщо він уже використовується в старій 1С.

Що перевірити перед міграцією XML-обмінів

Перед міграцією потрібно зібрати:

  • список XML-обмінів;
  • хто їх запускає;
  • де лежать файли;
  • які системи беруть участь;
  • формат XML;
  • приклади файлів;
  • XSD-схеми, якщо є;
  • зовнішні ID;
  • правила зіставлення;
  • логіку створення документів;
  • правила ПДВ;
  • правила округлення;
  • правила статусів;
  • журнал помилок;
  • регламентні завдання;
  • відповідальних користувачів.

Варіанти перенесення XML-обміну в K2 ERP

Старий XML-обмін у 1С Варіант у K2 ERP Коментар
CommerceML із сайтом API або новий конектор Краще перейти на сучасний формат
XML-файл замовлень REST API / JSON / імпорт Потрібен external_id
XML цін API цін або міграційна таблиця Важливі типи цін і валюти
XML залишків API залишків або BI-шар Важливі склади, партії, характеристики
XML для ЕДО Новий EDI/API-конектор Потрібні сертифікати і статуси
Міграційний XML Разовий імпорт у K2 ERP Потрібні контрольні суми

Карта міграції XML

XML-елемент Що означає Аналог у K2 ERP Контроль
Product Номенклатура Item / Product SKU, назва, одиниця
Customer Контрагент Customer / Partner Код, ЄДРПОУ, дублікати
Order Замовлення Sales order ExternalID, дата, статус
Item Рядок документа Document line Кількість, ціна, ПДВ
Warehouse Склад Warehouse Код складу
Price Ціна Price list Тип ціни, валюта
StockBalance Залишок Stock balance Кількість, партія, характеристика

Контрольні суми після XML-міграції

Після XML-міграції потрібно звірити:

  • кількість товарів;
  • кількість контрагентів;
  • кількість документів;
  • кількість рядків документів;
  • суми документів;
  • ПДВ;
  • залишки по складах;
  • залишки по партіях;
  • характеристики;
  • ціни;
  • валюти;
  • взаєморозрахунки;
  • зовнішні ID;
  • кількість помилок;
  • кількість пропущених записів.

Реплікатор K2 і XML 1С

Реплікатор K2 може допомогти при переході з XML-обмінів або BAS у K2 ERP.

Він може використовуватися для:

  • аналізу старих XML-обмінів;
  • вивантаження довідників;
  • вивантаження документів;
  • вивантаження регістрів;
  • формування контрольних сум;
  • підготовки JSON замість XML;
  • перевірки зовнішніх ID;
  • зіставлення старих і нових сутностей;
  • підготовки даних для Power BI;
  • паралельного запуску 1С/BAS і K2 ERP.

XML у сучасній ERP-архітектурі

У сучасній ERP-архітектурі XML може залишатися для сумісності, але нові інтеграції частіше будуються через:

  • REST API;
  • JSON;
  • webhooks;
  • черги повідомлень;
  • інтеграційну шину;
  • EDI-конектори;
  • BI-шар;
  • контрольовані імпорти;
  • логування і статуси.

У K2 ERP старі XML-обміни варто переглядати не механічно, а архітектурно: які дані реально потрібні, які правила актуальні, які формати краще замінити на API або JSON, а які XML-схеми залишити для сумісності.

Санкції та ризики використання 1С/BAS в Україні

При описі XML-інтеграцій і BAS в українському контексті потрібно згадувати санкційні та безпекові ризики.

історично є російською програмною екосистемою. Після початку російської агресії проти України використання такого програмного забезпечення стало питанням не тільки бухгалтерії, а й кібербезпеки, комплаєнсу, репутації та цифрової незалежності.

Держспецзв’язку веде перелік забороненого до використання програмного забезпечення та комунікаційного обладнання; у переліку згадуються продукти 1С/BAS, зокрема 1C:Підприємство 8 і BAS ERP. Указ Президента України №601/2024 ввів у дію рішення РНБО від 2 вересня 2024 року щодо застосування, скасування та внесення змін до персональних спеціальних економічних та інших санкцій. ([cip.gov.ua](https://cip.gov.ua/ua/statics/perelik-zaboronenogo-do-vikoristannya-programnogo-zabezpechennya-ta-komunikaciinogo-merezhevogo-obladnannya), [president.gov.ua](https://www.president.gov.ua/documents/6012024-52009))

Важливо. XML-обміни 1С/BAS можуть передавати критичні бізнес-дані: замовлення, контрагентів, банк, ціни, залишки, ПДВ, зарплату, персональні дані, виробничі специфікації та комерційні умови. Якщо такі обміни працюють у ризиковому або підсанкційному ПЗ, компанії потрібно оцінити юридичні, технічні й кібербезпекові ризики та планувати перехід на безпечну ERP-платформу.

Типові питання

Що таке XML 1С?

XML 1С — це використання XML-файлів або XML-повідомлень для обміну даними між 1С/BAS та іншими системами: сайтами, CRM, банками, WMS, MES, електронним документообігом або міграційними інструментами.

Для чого XML використовується в 1С?

Найчастіше для обміну товарами, цінами, залишками, замовленнями, контрагентами, документами, CommerceML, електронним документообігом і міграцією даних.

Що краще: XML чи JSON?

Для старих 1С-обмінів і CommerceML часто використовується XML. Для сучасних API частіше краще JSON. Вибір залежить від систем, які інтегруються.

Чому XML не завантажується в 1С?

Причини можуть бути в неправильній структурі, кодуванні, відсутніх тегах, неправильних датах, невідомих товарах, дублях external_id або помилках у коді обробки.

Як уникнути дублів при XML-імпорті?

Потрібно використовувати external_id, зберігати його в 1С, перевіряти перед створенням документа і вести журнал обміну.

Що важливо при міграції XML-обмінів у K2 ERP?

Потрібно зібрати всі XML-формати, приклади файлів, правила зіставлення, external_id, схеми, статуси, журнали помилок і вирішити, що переносити як XML, а що краще замінити на API або JSON.

Коротко

Питання Відповідь
Що таке XML у 1С? Формат обміну структурованими даними через теги.
Де використовується? Сайти, CommerceML, CRM, WMS, MES, ЕДО, документи, довідники, міграція.
Що найважливіше? Кодування, структура, external_id, схема, логування, контроль дублів.
Що найчастіше ламається? Кодування, дати, ПДВ, округлення, зовнішні ID, дублікати, великі файли.
XML чи JSON? XML частіше в старих обмінах, JSON частіше в сучасних API.
Що важливо при міграції? Перенести не просто файл, а логіку обміну, зіставлення, статуси і контрольні суми.

Висновок

XML 1С — це важливий механізм обміну даними, який багато років використовувався для інтеграцій 1С/BAS із сайтами, банками, CRM, WMS, MES, електронним документообігом, CommerceML і зовнішніми системами.

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

XML-обмін — це не просто файл у папці. Це частина бізнес-процесу, яка може створювати документи, змінювати залишки, оновлювати ціни, впливати на замовлення, ПДВ, банк і звітність.

При переході з або BAS у K2 ERP XML-обміни потрібно інвентаризувати окремо. Частину можна тимчасово залишити, частину варто замінити на JSON/API, частину — перенести в Power BI або інтеграційний шар, а застарілі обміни — прибрати.

Правильна міграція XML — це не перенесення старих файлів “як є”, а перенесення корисної логіки обміну в сучасну, контрольовану і безпечну ERP-архітектуру.

Див. також

Зовнішні посилання