XML 1С
<Item>
<Number>10025</Number>
<Date>2026-05-15T10:30:00</Date>
XML-файли можуть містити чутливі інформаційні дані:
<syntaxhighlight lang="xml">
<SKU>SKU-001</SKU>
XML-обміни можуть навантажувати систему. Після початку російської агресії проти України використання такого програмного забезпечення стало питанням не тільки бухгалтерії, а й кібербезпеки, комплаєнсу, репутації та цифрової незалежності.[[Категорія:Аудит дій]]
== Типові питання ==
XML 1С — це використання XML-файлів або XML-повідомлень для обміну даними між 1С/BAS та іншими системами: сайтами, CRM, банками, WMS, MES, електронним документообігом або міграційними інструментами.<syntaxhighlight lang="xml">
* довге читання;
* велике споживання пам’яті;
* таймаути;
* зависання клієнта;
* помилки мережі;
* часткове завантаження;
* дублікати при повторі.
Потрібно домовитися про єдиний формат. * каталог товарів;
- групи товарів;
- характеристики;
- одиниці виміру;
- ціни;
- залишки;
- замовлення;
- контрагентів;
- статуси замовлень. Практичні поради:
<Items>
- ставка ПДВ;
- сума без ПДВ;
- сума ПДВ;
- сума з ПДВ;
- податкова ознака;
- тип операції;
- країна;
- код пільги, якщо застосовується для. Це бізнес-дані, які потрібно захищати як частину ERP. ([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 version="1.0" encoding="UTF-8"?>
12345678
</syntaxhighlight> Приклади:
</Item>
XML і номенклатура
Помилка: відсутній external_id
<ExternalID>WEB-10025</ExternalID>
1С історично виступає як російською програмною екосистемою. Логіка ! Джерело
XML і партії
|- | Product | Номенклатура | Item / Product | SKU, назва, одиниця |- | Customer | Контрагент | Customer / Partner | Код, ЄДРПОУ, дублікати |- | Order | Замовлення | Sales order | ExternalID, дата, статус |- | Item | Рядок документа | Document line | Кількість, ціна, ПДВ |- | Warehouse | складський облік | Warehouse | Код складу |- | Price | Ціна | Price list | Тип ціни, валюта |- | StockBalance | Залишок | Stock balance | Кількість, партія, характеристика |}
<Наименование>Товар А</Наименование>
- кількість товарів;
- кількість контрагентів;
- кількість документів;
- кількість рядків документів;
- суми документів;
- ПДВ;
- залишки по складах;
- залишки по партіях;
- характеристики;
- ціни;
- валюти;
- взаєморозрахунки;
- зовнішні ID;
- кількість помилок;
- кількість пропущених записів. Відповідь
- обміну довідниками;
- обміну документами;
- вивантаження замовлень;
- завантаження замовлень із сайту;
- передачі цін;
- передачі залишків;
- обміну з інтернет-магазинами;
- обміну через CommerceML;
- обміну з CRM;
- обміну з WMS;
- обміну з MES;
- обміну з електронним документообігом;
- формування службових файлів;
- міграції даних;
- інтеграції зі старими системами. Одна з найчастіших проблем XML — кодування.
<Date>2026-05-15</Date>
Потрібно контролювати:
ЗаписьXML.ЗаписатьНачалоЭлемента("Date");
== Приклад XML замовлення для 1С ==
</Order>
</Item>
[[Категорія:XML]]
{| class="wikitable" style="width:100%;"
== Що таке XML у 1С ==
конкурентні переваги серверного виконання:
<Order>
[[Категорія:Взаєморозрахунки]]
ЗаписьXML.ЗаписатьКонецЭлемента();
[[Категорія:Права доступу]]
! Приклад спрощеної структури:
Наслідки:
Приклад контрагента:
<Quantity>2</Quantity>
</Product>
|-
| CommerceML із сайтом
| API або новий конектор
| Краще перейти на сучасний формат
|-
| XML-файл замовлень
| REST API / JSON / імпорт
| Потрібен external_id
|-
| XML цін
| API цін або міграційна таблиця
| Важливі типи цін і валюти
|-
| XML залишків
| API залишків або BI-шар
| Важливі склади, партії, характеристики
|-
| XML для ЕДО
| Новий EDI/API-конектор
| Потрібні сертифікати і статуси
|-
| Міграційний XML
| Разовий імпорт у K2 ERP
| Потрібні контрольні суми
|}
<Characteristic> <Quantity>25</Quantity>
! | Сайти, CommerceML, CRM, WMS, MES, ЕДО, документи, довідники, міграція.
<Quantity>10</Quantity>
XML у зовнішніх обробках
КонецЦикла;
</Order>
XSD — це XML Schema Definition, тобто формальний SEO-опис структури XML. конкурентні переваги
<soap:Body>
- щогодини завантажувати замовлення із сайту;
- щодня вивантажувати залишки;
- раз на день оновлювати ціни;
- щоночі формувати XML для зовнішньої системи;
- перевіряти папку з XML-файлами;
- опрацьовувати чергу імпорту;
- відправляти результати обробки. Формат
Результат:
- українські літери відображаються неправильно;
- XML не читається;
- назви товарів спотворені;
- контрагенти створюються з “кракозябрами”;
- обмін завершується помилкою. Причини можуть бути в неправильній структурі, кодуванні, відсутніх тегах, неправильних датах, невідомих товарах, дублях external_id або помилках у коді обробки.
Для банку критично критично контролювати дублікати. Один і той самий XML-файл не повинен створити платежі двічі. Причина </syntaxhighlight> Приклади:
<Currency>UAH</Currency>
Мова 1С має механізми для роботи з XML. Проста аналогія. XML — це як анкета з підписаними полями: кожне значення лежить усередині тегу, а програма розуміє, де номер документа, дата, контрагент, товар, кількість і ціна. Помилок
Типові сценарії:
== Помилка: XML занадто великий ==
<syntaxhighlight lang="xml">
== XML і довідники ==
</Item>
Для документа критично передавати:
<Purpose>Оплата за рахунком WEB-10025</Purpose>
ЗаписьXML.ОткрытьФайл("C:\Exchange\order.xml", "UTF-8");
</Товар>
XML — це текстовий формат із тегами, який дає можливість описувати структуровані інформаційні дані.<SKU>SKU-001</SKU>
<Ид>SKU-001</Ид>
[[Категорія:BAS]]
<syntaxhighlight lang="xml">
Спрощений приклад формування XML-файлу:
== Помилка: неправильне кодування ==
[[Категорія:Міграція даних]]
Погано:
<SKU>SKU-002</SKU>
! Держспецзв’язку веде офіційний перелік забороненого до використання програмного забезпечення та комунікаційного обладнання, де згадуються продукти 1С/BAS, зокрема 1C:компанія-користувач 8 і [[BAS ERP]]. Він здатна використовуватися для:
=== Для чого XML застосовується для в 1С? ===
{| class="wikitable" style="width:100%;"
Для номенклатури критично передавати: </Order> Погана практика — коли менеджер вручну запускає важкий XML-обмін зі свого комп’ютера, і від його робочого місця залежить весь сайт. XML <?xml version="1.0" encoding="UTF-8"?>
<Value>Чорний</Value>
як приклад:
У старих 1С-обмінах XML зустрічається частіше. XML-елемент
- завантажити замовлення з XML-файлу;
- вивантажити номенклатуру в XML;
- імпортувати контрагентів;
- сформувати файл для сайту;
- розібрати відповідь зовнішньої системи;
- підготувати файл для міграції;
- сформувати XML для електронного документообігу.== XML і мова 1С ==
Приклад запису XML у 1С
<Price>1200</Price> <Number>10025</Number>
XML і JSON: різниця
<VATRate>20</VATRate>
|- | Товар | SKU / ProductID | Зіставлення номенклатури |- | Контрагент | CustomerID / ЄДРПОУ | Зіставлення клієнта |- | Замовлення | ExternalID | Захист від дублів |- | Платіж | TransactionID | Захист від повторного завантаження |- | складський облік | WarehouseCode | Зіставлення складу |}
12345678
<Quantity>1</Quantity>
ЧтениеXML.Прочитать();
- довідники;
- контрагентів;
- номенклатуру;
- склади;
- одиниці виміру;
- ціни;
- залишки;
- документи;
- взаєморозрахунки;
- партії;
- характеристики;
- виробничі інформаційні дані;
- зовнішні ID;
- контрольні суми. Питання
Коротко
<Name>Колір</Name>
- 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
- Аудит дій
- Українське програмне забезпечення
- Цифрова незалежність
!</КоммерческаяИнформация> </syntaxhighlight>
КонецЕсли;
Через XML можна вивантажити: Через XML можна завантажувати або вивантажувати документи.<SKU>SKU-001</SKU> <Order>
<Date>2026-05-15T10:30:00</Date>
XML і web-сервіси
<Quantity>100</Quantity>
'''CommerceML''' — це XML-формат, який широко використовувався в обмінах між 1С і сайтами, особливо інтернет-магазинами.<ID>SKU-001</ID>
<Каталог>
|-
| Сайт
| ПДВ рахується по документу
| 1000,01 грн
|-
| 1С
| ПДВ рахується по рядках
| 1000,00 грн
|}
! У 1С XML часто застосовують, коли потрібно у зовнішніх обробках, обмінах, CommerceML, web-сервісах, універсальному обміні даними, вивантаженні конфігураційних або довідкових даних, інтеграціях із сайтами та підготовці даних для міграції.[[Категорія:Проведення документа]]
[[Категорія:Мова 1С]]
== XML і характеристики номенклатури ==
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
Приклад журналу:
! * контрагентів;
* персональні інформаційні дані;
* банківські реквізити;
* зарплату;
* ціни;
* знижки;
* собівартість;
* комерційні умови;
* податкові інформаційні дані;
* виробничі рецептури. Окремо варто відзначити документів, замовлень, цін, залишків, банківських або регламентованих даних, інтеграції з сайтами, CRM, WMS, MES, електронним документообігом, зовнішніми системами і міграційними інструментами. # Перевірити, чи такий документ уже виступає як.<Amount>2400</Amount>
</Items>
Після завантаження 1С здатна:
== XML і документи ==
== XML і електронний електронний документообіг ==
<syntaxhighlight lang="xml">
<Item>
Для K2 ERP частіше зручні JSON/API або контрольовані міграційні таблиці, але XML здатна бути проміжним форматом, якщо він уже застосовується для в старій 1С. |}
== Реплікатор K2 і XML 1С ==
== XML і логування ==
<Currency>UAH</Currency>
<Item>
! {| class="wikitable" style="width:100%;"
|-
| Що таке XML у 1С?<Product>
* різне округлення ціни;
* різне округлення ПДВ;
* різну кількість знаків після коми;
* різну логіку знижок;
* різну валюту;
* суму з ПДВ або без ПДВ;
* округлення по рядку або по документу.== XML і міграція з 1С/BAS ==
Перед міграцією потрібно зібрати:
[[Категорія:Цифрова незалежність України]]
<Товары>
</Characteristic>
<syntaxhighlight lang="xml">
</Prices>
<syntaxhighlight lang="xml">
При вивантаженні цін критично передавати тип ціни, валюту, дату актуальності та зовнішній код товару. Аналог у K2 ERP
! | XML частіше в старих обмінах, JSON частіше в сучасних API. Приклад:
У 1С XML застосовується для для:
Для [[Взаєморозрахунки 1С|взаєморозрахунків]] XML здатна містити:
<Date>2026-05-15</Date>
</Item>
[[Категорія:Інтеграція через JSON]]
{| class="wikitable" style="width:100%;"
[[Категорія:XML 1С]]
== XML і зовнішні ID ==
[[Категорія:Клієнт-серверний режим 1С]]
Причини:
<Date>2026-05-15T10:30:00</Date>
* номер партії;
* дату партії;
* строк придатності;
* постачальника;
* складський облік;
* кількість;
* серію, якщо застосовується для. Критерій
<Item>
<Unit>шт</Unit>
* аналізу старих XML-обмінів;
* вивантаження довідників;
* вивантаження документів;
* вивантаження регістрів;
* формування контрольних сум;
* підготовки JSON замість XML;
* перевірки зовнішніх ID;
* зіставлення старих і нових сутностей;
* підготовки даних для [[Power BI]];
* паралельного запуску 1С/BAS і K2 ERP. Перед підтримкою, використанням або міграцією таких систем потрібно перевіряти актуальні офіційні обмеження. ! Пока ЧтениеXML.Прочитать() Цикл
Такий файл здатна передаватися на сайт або в WMS.[[Категорія:Міграція з 1С]]
Правильна міграція XML — це не перенесення старих файлів “як виступає як”, а перенесення корисної логіки обміну в сучасну, контрольовану і безпечну ERP-архітектуру. !</soap:Body>
У типових сценаріях використовують:
== Див. так само ==
Для партій критично передавати:
</Customer>
Реплікатор K2 здатна допомогти при переході з XML-обмінів 1С або BAS у K2 ERP. Об’єкт
<VAT>20</VAT>
Типова SOAP-структура: !<Customer>ТОВ Ромашка</Customer>
<SKU>SKU-001</SKU>
обміну даними забезпечується через XML 1С — це використання формату XML у 1С / 1С:компанія-користувач та BAS; так само реалізовано вивантаження і завантаження довідників. Деякі банківські або платіжні інтеграції можуть використовувати XML. Зовнішній ID — ключовий елемент стабільного обміну. |- | Що критично при міграції? Поле XML
<Name>Футболка</Name>
!<Characteristic>
</syntaxhighlight>
- номенклатура;
- контрагенти;
- склади;
- одиниці виміру;
- валюти;
- типи цін;
- характеристики;
- договори;
- працівники;
- підрозділи. Коли підходить
Карта міграції XML
</PriceType>
У сучасній ERP-архітектурі XML здатна залишатися для сумісності, але нові інтеграції частіше будуються через:
НомерЗаказа = ЧтениеXML.Значение; <Amount>5000</Amount>
Що перевірити перед міграцією XML-обмінів
Для ПДВ 1С у XML потрібно передавати податкові параметри.<Name>Товар А</Name> Але при міграції XML — це лише транспортний формат. * обмін із сайтом;
- обмін з інтернет-магазином;
- CommerceML;
- завантаження замовлень;
- вивантаження товарів;
- вивантаження цін;
- вивантаження залишків;
- обмін із CRM;
- обмін із WMS;
- обмін із MES;
- електронний електронний документообіг;
- завантаження банківських або службових файлів;
- обмін між базами 1С;
- вивантаження для міграції;
- імпорт довідників;
- імпорт номенклатури;
- обмін із державними або корпоративними системами. Спрощений приклад читання XML-файлу:
</Payment>
<StockBalances date="2026-05-15">
<Price>1200</Price>
Без зовнішніх ID інтеграційні функції ERP стає нестабільною.== XML у регламентних завданнях ==
<ID>SKU-001</ID>
- читання XML;
- запис XML;
- обхід вузлів;
- отримання атрибутів;
- запис елементів;
- перетворення значень;
- роботу з кодуванням;
- обробку помилок;
- логування результатів. Якщо такі обміни працюють у ризиковому або підсанкційному ПЗ, компанії потрібно оцінити юридичні, технічні й кібербезпекові ризики та планувати перехід на безпечну ERP-платформу.
XML здатна використовуватися для міграції з 1С або BAS у K2 ERP.<VATAmount>400</VATAmount> Якщо інтеграційні функції ERP критична, краще мати XSD-схему і перевіряти XML перед завантаженням.== Де застосовується для XML у 1С == Приклади:
<ExpiryDate>2027-05-15</ExpiryDate>
<Value>M</Value>
Через XML можуть передаватися:
<SKU>SKU-001</SKU> </Items>
! Для старих 1С-обмінів і CommerceML часто застосовується для XML. | Перенести не без зусиль файл, а логіку обміну, зіставлення, статуси і контрольні суми. У нових API частіше використовують JSON.== Приклад XML вивантаження цін ==
! Вибір залежить від систем, які інтегруються. Головне — правильно зіставити бізнес-сутності між старою і новою системою. Старий XML-обмін у 1С
XML у сучасній ERP-архітектурі
ЗаписьXML.Закрыть(); рішення для бізнесу:
! |-
| Структура
| Теги
| Ключі й значення
|-
| Людиночитність
| Читабельний, але громіздкий
| Зазвичай компактніший
|-
| Схеми
| Часто застосовується для XSD
| Часто застосовується для JSON Schema
|-
| Старі інтеграції
| Дуже поширений
| Менш типовий для старих систем
|-
| Web API
| Зустрічається рідше
| Дуже поширений
|-
| CommerceML
| Використовує XML
| Не застосовується для як базовий формат
|}
== XML і безпека ==
ЗаписьXML.ЗаписатьНачалоЭлемента("Number");
'''XML''' або '''Extensible Markup Language''' — це текстовий формат для зберігання і передачі структурованих даних. |-
| Де застосовується для?<Item>
<CustomerCode>12345678</CustomerCode>
[[Категорія:Міграція з BAS]]
Приклад проблеми:
<КоммерческаяИнформация ВерсияСхемы="2.07" ДатаФормирования="2026-05-15">
Потрібно використовувати external_id, зберігати його в 1С, перевіряти перед створенням документа і вести журнал обміну.<Date>2026-05-15</Date>
!<Article>A-001</Article>
</Characteristic>
* які теги дозволені;
* які атрибути дозволені;
* які поля обов’язкові;
* які типи даних допустимі;
* яка вкладеність правильна;
* які значення дозволені. Такі правила потрібно описувати в специфікації обміну. {| class="wikitable" style="width:100%;"
|-
| XML
| Добре підходить для старих 1С-обмінів, CommerceML, складних ієрархій
| Якщо вже виступає як XML-обробки або зовнішня платформа очікує XML
|-
| JSON
| Компактний, зручний для сучасних API
| Якщо міграція йде через REST API або сучасні сервіси
|-
| CSV/Excel
| Простий для таблиць
| Для простих довідників і ручної перевірки
|-
| Пряме підключення
| Швидке для великих обсягів
| Для контрольованої технічної міграції
|}
ЗаписьXML = Новый ЗаписьXML;
<ExternalID>BANK-98765</ExternalID>
=== Що критично при міграції XML-обмінів у K2 ERP? ===
* список XML-обмінів;
* хто їх запускає;
* де лежать файли;
* які системи беруть участь;
* формат XML;
* приклади файлів;
* XSD-схеми, якщо виступає як;
* зовнішні ID;
* правила зіставлення;
* логіку створення документів;
* правила ПДВ;
* правила округлення;
* правила статусів;
* журнал помилок;
* регламентні задача;
* відповідальних користувачів. # Якщо виступає як — оновити або пропустити. Потрібно зібрати всі XML-формати, приклади файлів, правила зіставлення, external_id, схеми, статуси, журнали помилок і вирішити, що переносити як XML, а що краще замінити на API або JSON.<Date>15.05.2026</Date>
<TaxNumber>123456789012</TaxNumber>
* REST API;
* JSON;
* webhooks;
* черги повідомлень;
* інтеграційну шину;
* EDI-конектори;
* BI-шар;
* контрольовані імпорти;
* логування і статуси. У старих інтеграціях часто використовувалися SOAP web-сервіси, де інформаційні дані передаються в XML. ЗаписьXML.ЗаписатьОбъявлениеXML();
[[Категорія:BI]]
! # Якщо немає — створити. Такий файл можна передати з сайту в 1С або з 1С у зовнішню систему. |-
| XML чи JSON?<Item>
ExternalID потрібен, щоб не створити документ повторно при повторному завантаженні.== XML і ПДВ ==
* розбивати файли на частини;
* використовувати відбір по даті;
* передавати тільки зміни;
* використовувати пагінацію в API;
* запускати обмін на сервері;
* вести статуси обробки. '''Критично.''' XML-файл із замовленнями, контрагентами, банківськими даними або зарплатою — це не “без зусиль файл”. Результат
Для інтеграцій дуже важливий зовнішній ідентифікатор. але фактично збережений в іншому кодуванні.<?xml version="1.0" encoding="UTF-8"?>
Если ЧтениеXML.Имя = "Number" Тогда
</div>
Приклад:
* немає external_id;
* external_id не зберігається в 1С;
* при повторному завантаженні створюється новий документ;
* помилка сталася після запису, але до відповіді зовнішній системі;
* не ведеться журнал обміну;
* немає унікального ключа.</Product>
[[Категорія:EDI]]
<Customer>
ЧтениеXML.ОткрытьФайл("C:\Exchange\order.xml");
<Batch>LOT-2026-05</Batch>
</div>
* великий файл;
* багато довідників;
* багато документів;
* пошук номенклатури по назві замість коду;
* створення об’єктів у циклі без оптимізації;
* проведення кожного документа одразу;
* відсутність пакетної обробки;
* запис у робочий час;
* HTTP-запити в циклі;
* відсутність індексів для пошуку external_id.
</Customer>
Помилки з ПДВ в XML можуть призвести до неправильних сум у документах і звітності. Указ Президента України №601/2024 ввів у дію рішення для бізнесу РНБО від 2 вересня 2024 року щодо сценарії використання, скасування та внесення змін до персональних спеціальних економічних та інших санкцій.<Price>850</Price>
Санкції та ризики використання 1С/BAS в Україні
Помилка: дублювання документів
- знайти або створити контрагента;
- знайти номенклатуру за SKU;
- створити замовлення покупця;
- заповнити табличну частину;
- записати зовнішній ID;
- встановити статус обміну;
- залогувати результат.
Приклад XML
</syntaxhighlight> </syntaxhighlight>
XML і банк
<Quantity>2</Quantity>
Як уникнути дублів при XML-імпорті?
</Order>
== XML і сервер 1С ==
== XML і XSD ==
Регламентний XML-обмін має мати журнал, статуси, повтори і контроль помилок. Для сучасних API частіше краще JSON. # Залогувати результат.</Каталог>
[[Категорія:Адміністрування 1С]]
<Number>WEB-10025</Number>
У сучасних інтеграціях частіше використовують REST API і JSON, але SOAP/XML досі зустрічається в старих корпоративних системах. КонецЕсли;
! CommerceML часто застосовується для для синхронізації 1С/BAS з сайтами на CMS або інтернет-магазинами.<Warehouse code="MAIN">
== Приклад читання XML у 1С ==
</Item>
<syntaxhighlight lang="xml">
[[Категорія:Регламентні завдання]]
</Characteristics>
'''XML-обмін — це не без зусиль файл у папці.''' Це частина бізнес-процесу, яка здатна створювати документи, змінювати залишки, оновлювати ціни, впливати на замовлення, ПДВ, банк і формування звітів.<Name>Товар А</Name>
Простий XML-документ із замовленням:
{| class="wikitable" style="width:100%;"
|-
| XML не читається
| Помилка структури або кодування
| Обмін не виконується
|-
| Не знаходиться товар
| Немає SKU або зовнішнього ID
| Замовлення не завантажується
|-
| Дублюються документи
| Немає контролю external_id
| Створюються дублікати
|-
| Неправильна дата
| Різні формати дат
| Документ потрапляє не в той період
|-
| Неправильна сума
| Різні правила округлення або ПДВ
| Розбіжності у взаєморозрахунках
|-
| Не ті символи
| Проблема кодування
| Зіпсовані назви товарів або контрагентів
|-
| XML занадто великий
| Вивантажують усе без відборів
| Повільний обмін або помилки пам’яті
|}
== XML чи JSON для міграції ==
<Order>
{{SEO
|title=XML 1С — обмін даними, читання і запис XML, CommerceML, інтеграції, помилки і міграція в K2 ERP
|description=XML 1С: що таке XML у 1С/BAS, де використовується, як читати і записувати XML мовою 1С, обмін даними, CommerceML, зовнішні обробки, інтеграції, типові помилки, безпека і міграція XML-обмінів у K2 ERP.
|keywords=XML 1С, XML BAS, обмін XML 1С, читання XML 1С, запис XML 1С, CommerceML 1С, інтеграція XML 1С, вивантаження XML 1С, завантаження XML 1С, K2 ERP, міграція з 1С
}}
== Варіанти перенесення XML-обміну в K2 ERP ==
<syntaxhighlight lang="xml">
! Указ Президента України №601/2024 ввів у дію рішення для бізнесу РНБО від 2 вересня 2024 року щодо сценарії використання, скасування та внесення змін до санкцій. |-
| Що найчастіше ламається? | Кодування, дати, ПДВ, округлення, зовнішні ID, дублікати, великі файли. У XML платежу можуть бути:
У XML можуть зустрічатися різні формати дат:
</Item>
Суми можуть не збігатися через:
!== XML і CommerceML ==
XML був одним із найпоширеніших форматів інтеграції в старих 1С-рішеннях. Зовнішні обробки з XML часто використовувалися як швидкий спосіб інтеграції без зміни основної конфігурації.</soap:Envelope>
* дату і час;
* напрямок обміну;
* файл;
* зовнішній ID;
* кількість об’єктів;
* кількість успішних записів;
* кількість помилок;
* текст помилки;
* користувача або задача;
* статус;
* час виконання. '''критично.''' XML-обміни 1С/BAS можуть передавати критичні бізнес-дані: замовлення, контрагентів, банк, ціни, залишки, ПДВ, зарплату, персональні інформаційні дані, виробничі специфікації та комерційні умови.<Date>2026-05-15</Date>
[[Характеристики номенклатури 1С]] у XML потрібно передавати дуже обережно.[[Категорія:Інтеграція 1С]]
При переході з [[1С]] або [[BAS]] у [[K2 ERP]] XML-обміни потрібно інвентаризувати окремо. XML часто застосовується для в електронному документообігу.</Warehouse>
<Number>WEB-10025</Number>
[[Категорія:Типи цін 1С]]
== Зовнішні посилання ==
[[Категорія:Рухи документа]]
<Email>office@example.com</Email>
== Контрольні суми після XML-міграції ==
<Price>850</Price>
!<Товар>
[[Категорія:Банк]]
* контрагента;
* договір;
* документ розрахунків;
* суму боргу;
* суму оплати;
* валюту;
* дату оплати;
* призначення платежу;
* зовнішній ID.<PriceType code="RETAIL">
<Price>1200</Price>
[[Категорія:ERP]]
! Контроль
! |- | Що найважливіше? Коментар
</syntaxhighlight>
Через XML часто обмінюються довідниками. Частину можна тимчасово залишити, частину варто замінити на JSON/API, частину — перенести в Power BI або інтеграційний шар, а застарілі обміни — прибрати. У сучасних інтеграціях часто застосовується для JSON, але XML досі зустрічається у CommerceML, старих обмінах, банківських форматах, державних і корпоративних інтеграціях. Файл
</Item>
<Name>ТОВ Ромашка</Name>
Партії 1С можуть передаватися в XML, якщо потрібен партійний обліковий облік. Наслідок
<ExternalID>WEB-10025</ExternalID>
</Order> У клієнт-серверному режимі XML-обміни краще виконувати на сервері 1С, а не на клієнті.=== Що краще: XML чи JSON? === Для XML-обміну потрібно логувати:
<Characteristics> <Item>
як приклад: критично про 1С та BAS. В Україні продукти екосистеми 1С і частина продуктів BAS пов’язані з санкційними, юридичними, кібербезпековими та репутаційними ризиками. ([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)) У реальному коді потрібно враховувати вкладеність, кодування, відсутні теги, помилки формату і перетворення типів. Для чого
<Price>1200</Price>
При описі XML-інтеграцій 1С і BAS в українському контексті потрібно згадувати санкційні та безпекові ризики. Час
Помилка: неправильні формати дат
Проблеми виникають, якщо сайт і 1С по-різному називають характеристики: “Колір”, “Цвет”, “Color”, “colour”. Назви класів і методів можуть відрізнятися залежно від версії платформи, але загальний принцип однаковий: відкрити XML, прочитати вузли, перетворити їх у об’єкти 1С або навпаки.<Quantity>2</Quantity>
</StockBalances> ! ЧтениеXML = Новый ЧтениеXML; </syntaxhighlight> </syntaxhighlight> ЗаписьXML.ЗаписатьКонецЭлемента();
Типові проблеми XML у 1С
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
|- | 15.05.2026 10:30 | orders_20260515.xml | Успішно | 125 | 0 |- | 15.05.2026 11:30 | orders_20260515_2.xml | Помилка | 80 | 3 |}
Приклад:
У K2 ERP старі XML-обміни варто переглядати не механічно, а архітектурно: які інформаційні дані реально потрібні, які правила актуальні, які формати краще замінити на API або JSON, а які XML-схеми залишити для сумісності. | Формат обміну структурованими даними через теги. Через CommerceML зазвичай передають:
- зовнішній ID;
- номер;
- дату;
- організацію;
- контрагента;
- договір;
- валюту;
- складський облік;
- рядки;
- суми;
- ПДВ;
- статус;
- коментар.<SKU>SKU-001</SKU>
як приклад:
<Items>
- замовлення покупця;
- рахунок;
- реалізація;
- надходження;
- повернення;
- переміщення;
- списання;
- платіж;
- акт;
- виробниче замовлення. Приклад:
Зовнішня обробка 1С здатна читати або формувати XML. Причини: як приклад, файл заявлений як UTF-8:
<Product> ЧтениеXML.Закрыть();Що таке XML 1С?
</Item>
<SKU>SKU-002</SKU>
Кодування, структура, external_id, схема, логування, контроль дублів.* де зберігаються XML-файли;
* хто має доступ;
* чи шифрується передача;
* чи виступає як HTTPS або захищений канал;
* чи не логуються паролі;
* чи не зберігаються токени у відкритому вигляді;
* чи очищуються тимчасові файли;
* чи виступає як аудит обміну. Що означає
<Payment> </Item> <Name>Товар Б</Name> ЗаписьXML.ЗаписатьТекст("WEB-10025"); У таких інтеграціях особливо важливі схема, підпис, кодування, сертифікати і контроль статусів. JSON |
<Order>
XML і взаєморозрахунки
XML добре підходить для структурованих даних, але потребує дисципліни: правильної схеми, кодування, зовнішніх ID, контролю дублів, журналу обміну, обробки помилок, захисту файлів і контрольних звірок. Статус Краще: <Prices date="2026-05-15">
Правильний підхід:
[[Регламентні завдання 1С]] можуть автоматизовано виконувати XML-обміни. Проблема
<Customer>
<syntaxhighlight lang="xml">
<Order>
</GetOrder>
{| class="wikitable" style="width:100%;"
Найкраще використовувати ISO-подібний формат:
ЗаписьXML.ЗаписатьНачалоЭлемента("Order");
Держспецзв’язку веде перелік забороненого до використання програмного забезпечення та комунікаційного обладнання; у переліку згадуються продукти 1С/BAS, зокрема 1C:компанія-користувач 8 і BAS ERP.<GetOrder>
! * стабільніший доступ до файлів або сервісів;
* менша залежність від комп’ютера користувача;
* легше логувати;
* зручніше запускати за розкладом;
* краще контролювати права;
* простіше виконувати фонові обробки.<Currency>UAH</Currency>
Великий XML здатна створювати проблеми:
* використовувати external_id;
* шукати об’єкти за кодом або зовнішнім ID;
* не шукати товари тільки за назвою;
* розбивати великий XML на частини;
* опрацьовувати тільки зміни;
* запускати важкі обміни вночі;
* не проводити документи без потреби під час імпорту;
* вести журнал обміну;
* використовувати статуси;
* робити повторну обробку без дублів;
* тестувати на копії бази.<Item>
[[Категорія:Power BI]]
== Як оптимізувати XML-обмін ==
== Приклад XML вивантаження залишків ==
* рахунки;
* акти;
* накладні;
* податкові документи;
* кадрові документи;
* статуси підписання;
* квитанції;
* службові відповіді.[[Категорія:Запити 1С]]
<Name>ТОВ Ромашка</Name>
ЗаписьXML.ЗаписатьКонецЭлемента(); // Order
XSD визначає:
!
<SKU>SKU-002</SKU> </Товары> XML 1С — це важливий механізм обміну даними, який багато років використовувався для інтеграцій 1С/BAS із сайтами, банками, CRM, WMS, MES, електронним документообігом, CommerceML і зовнішніми системами. Він добре підходить для структурованих довідників, документів, замовлень, цін, залишків і CommerceML, але потребує контролю схеми, кодування, тегів, обов’язкових полів і помилок завантаження. Варіант у K2 ERP
<OrderNumber>WEB-10025</OrderNumber> ЗаписьXML.ЗаписатьТекст("2026-05-15"); Приклад платежу: Головне. XML у 1С — це один із класичних форматів обміну даними.== XML і продуктивність == Помилка: неправильне округлення</syntaxhighlight> Чому XML не завантажується в 1С?Після XML-міграції потрібно звірити: <Name>Розмір</Name> </syntaxhighlight> Найчастіше для обміну товарами, цінами, залишками, замовленнями, контрагентами, документами, CommerceML, електронним документообігом і міграцією даних. # Записати статус.
<Item> <AmountWithVAT>2400</AmountWithVAT> <syntaxhighlight lang="xml"> |
|---|