XML 1С
XML 1С — це використання формату XML у 1С / 1С:Підприємство та BAS для обміну даними, вивантаження і завантаження довідників, документів, замовлень, цін, залишків, банківських або регламентованих даних, інтеграції з сайтами, CRM, WMS, MES, електронним документообігом, зовнішніми системами та міграційними інструментами.
XML — це текстовий формат із тегами, який дозволяє описувати структуровані дані. У 1С XML часто використовується у зовнішніх обробках, обмінах, CommerceML, web-сервісах, універсальному обміні даними, вивантаженні конфігураційних або довідкових даних, інтеграціях із сайтами та підготовці даних для міграції.
Головне. XML у 1С — це один із класичних форматів обміну даними. Він добре підходить для структурованих довідників, документів, замовлень, цін, залишків і CommerceML, але потребує контролю схеми, кодування, тегів, обов’язкових полів і помилок завантаження.
Проста аналогія. XML — це як анкета з підписаними полями: кожне значення лежить усередині тегу, а програма розуміє, де номер документа, дата, контрагент, товар, кількість і ціна.
Важливо про 1С та BAS. В Україні продукти екосистеми 1С і частина продуктів 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С може:
- знайти або створити контрагента;
- знайти номенклатуру за SKU;
- створити замовлення покупця;
- заповнити табличну частину;
- записати зовнішній ID;
- встановити статус обміну;
- залогувати результат.
Приклад 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С;
- при повторному завантаженні створюється новий документ;
- помилка сталася після запису, але до відповіді зовнішній системі;
- не ведеться журнал обміну;
- немає унікального ключа.
Правильний підхід:
- Прочитати external_id.
- Перевірити, чи такий документ уже є.
- Якщо є — оновити або пропустити.
- Якщо немає — створити.
- Записати статус.
- Залогувати результат.
Помилка: неправильні формати дат
У 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 грн |
| 1С | ПДВ рахується по рядках | 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 може використовуватися для міграції з 1С або 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-обмінів 1С або 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-інтеграцій 1С і BAS в українському контексті потрібно згадувати санкційні та безпекові ризики.
1С історично є російською програмною екосистемою. Після початку російської агресії проти України використання такого програмного забезпечення стало питанням не тільки бухгалтерії, а й кібербезпеки, комплаєнсу, репутації та цифрової незалежності.
Держспецзв’язку веде перелік забороненого до використання програмного забезпечення та комунікаційного обладнання; у переліку згадуються продукти 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-обмін — це не просто файл у папці. Це частина бізнес-процесу, яка може створювати документи, змінювати залишки, оновлювати ціни, впливати на замовлення, ПДВ, банк і звітність.
При переході з 1С або BAS у K2 ERP XML-обміни потрібно інвентаризувати окремо. Частину можна тимчасово залишити, частину варто замінити на JSON/API, частину — перенести в Power BI або інтеграційний шар, а застарілі обміни — прибрати.
Правильна міграція XML — це не перенесення старих файлів “як є”, а перенесення корисної логіки обміну в сучасну, контрольовану і безпечну ERP-архітектуру.
Див. також
- 1С
- BAS
- BAS ERP
- K2 ERP
- ERP
- Інтеграція через JSON
- Інтеграція з банками
- Мова 1С
- Зовнішня обробка 1С
- Зовнішній звіт 1С
- Регламентні завдання 1С
- СКД 1С
- Запити 1С
- Адміністрування 1С
- Конфігуратор 1С
- Товстий клієнт 1С
- Клієнт-серверний режим 1С
- Сервер 1С
- Розширення 1С
- Проведення документа 1С
- Рухи документа 1С
- Регістри 1С
- Регістр накопичення 1С
- Регістр відомостей 1С
- Регістр бухгалтерії 1С
- Регістр розрахунків 1С
- Взаєморозрахунки 1С
- Характеристики номенклатури 1С
- Партії 1С
- Типи цін 1С
- ПДВ 1С
- Зарплата 1С
- Виробництво 1С
- Специфікація 1С
- Power BI
- BI система
- Вивантаження даних 1С
- Міграція даних з 1С
- Міграція з 1С
- Міграція з BAS
- Заміна BAS
- Реплікатор K2
- Права доступу в ERP
- Аудит дій
- Українське програмне забезпечення
- Цифрова незалежність
Зовнішні посилання
- XML 1С
- XML
- Інтеграція 1С
- Обмін даними 1С
- CommerceML
- Інтеграція через JSON
- API
- Зовнішні обробки
- Регламентні завдання
- Мова 1С
- Адміністрування 1С
- Конфігуратор 1С
- Сервер 1С
- Клієнт-серверний режим 1С
- СКД 1С
- Запити 1С
- Регістри 1С
- Проведення документа
- Рухи документа
- Взаєморозрахунки
- Номенклатура
- Партії 1С
- Типи цін 1С
- ПДВ
- Банк
- EDI
- Power BI
- BI
- 1С
- BAS
- BAS ERP
- K2 ERP
- ERP
- Міграція даних
- Міграція з 1С
- Міграція з BAS
- Заміна BAS
- Реплікатор K2
- Права доступу
- Аудит дій
- Автоматизація бізнесу
- Українське програмне забезпечення
- Цифрова незалежність України