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