Довідковий матеріал

Завантаження даних до "1С:Підприємство" із зовнішніх застосунків із використанням універсального формату обміну

У цьому документі наведено “живий” приклад файлу обміну. Приклад коментується стандартним для мови xml способом. Файл містить опис завантажуваного документа “Прибутковий ордер”, усіх елементів довідників і документа "Договір", на які посилається цей документ.

Абстрактна XML-структура даних проходить через сполучний міст і перетворюється на впорядковані картки документів, довідників і зв’язків для облікової системи.

У цьому документі наведено “живий” приклад файлу обміну. Приклад коментується стандартним для мови xml способом. Файл містить опис завантажуваного документа “Прибутковий ордер”, усіх елементів довідників і документа "Договір", на які посилається цей документ. Аналогічним чином можуть бути описані будь-які інші документи (зокрема “ручна” бухгалтерська операція) і будь-які елементи довідників будь-якої конфігурації. Файл в описаному форматі може бути сформований з використанням Microsoft XML Parser або будь-яким іншим способом із дотриманням синтаксису мови xml і описаного формату.

Текст прикладу можна скопіювати та зберегти без будь-яких змін у файл із будь-яким розширенням. За допомогою “універсальної обробки завантаження” дані можуть бути завантажені до типової конфігурації “Бухгалтерський облік для України", редакція 2. Виклик обробки здійснюється з меню “Сервіс\Додаткові можливості”. Ця обробка постачається на дисках ІТС (якщо на Вашому комп’ютері її ще не встановлено, то Ви можете зробити це, клацнувши за цим посиланням). За її допомогою дані в описаному нижче форматі можуть бути завантажені до будь-якої конфігурації, реалізованої на платформі “1С:Підприємство 7.7”. Рекомендуємо також ознайомитися з прикладом вивантаження для типової конфігурації російської конфігурації "Бухгалтерський облік, редакція 4.4", у якому висвітлено деякі можливості, що не застосовуються в цьому прикладі)

Примітки:

  • Для зручності читання файлу тут використовуються синтаксичні відступи. Під час аналізу (завантаження) xml-документа синтаксичні відступи не відіграють ролі, тобто не використовуються та просто пропускаються. Під час створення xml-документа засобами Microsoft XML Parser результуючий текст не містить роздільників рядків і, таким чином, являє собою один рядок.
  • Для зручності читання тут використовується кольорове маркування.
  • Зелений колір:

коментарі. Під час завантаження коментарі ігноруються

  • Червоний колір:

xml-елементи (імена тегів)

  • Синій колір:

xml-атрибути

  • Чорний колір: дані
  • Опис об’єктів у файлі не залежить один від одного й може розташовуватися в довільному порядку.
  • Файл суворо має починатися з оголошення <?xml version="1.0" …. Наявність порожніх рядків на початку неприпустима.
  • Під час вибору файлу в універсальній обробці обміну в діалозі вибору встановлено фільтрацію файлів за розширенням “xml”. У разі використання іншого розширення ім’я файлу слід набрати вручну або скопіювати.
  • Завантаження даних виконується послідовно, і, таким чином, можуть бути оброблені файли теоретично необмежених розмірів. Під час завантаження файлів із великим обсягом даних слід зняти прапорець “Запам’ятовувати посилання на завантажені об’єкти

”.

  • Під час налагодження обміну можна встановити прапорець “Режим налагодження”. У цьому разі буде вимкнено використання транзакцій і запис об’єктів виконуватиметься в конструкції “Спроба Виключення” з виведенням повідомлень про помилки, але без переривання подальшої обробки.
  • Для роботи “універсального завантаження даних” потрібна зовнішня компонента v7Plus.dll
  • Під час обміну даними між конфігураціями “1С:Підприємства” описаний нижче формат обміну має розширені можливості завдяки використанню так званих “правил обміну”. Повний опис схеми універсального формату обміну можна переглянути на диску ІТС у розділі методичної підтримки “Обмін даними у форматі XML\Універсальна технологія обміну - "Конвертація даних"\Опис і структура схеми універсального формату обміну”. Для розробки правил обміну між різними конфігураціями “1С:Підприємства” можна використовувати спеціалізовану конфігурацію “Конвертація даних”. У цьому разі можна використовувати також “універсальну обробку вивантаження даних”

.

Приклад файлу обміну (опис формату):

<?xml version="1.0" encoding="windows-1251"?> <!-- Указувати атрибут “ІдКонфігураціїПриймача” (ідентифікатор конфігурації-приймача) необов’язково. У разі невідповідності ідентифікаторів (указаного у файлі та в завантажуваній конфігурації) буде видано відповідне попередження. --> <ФайлОбміну ВерсіяФормату="1.0" ІдКонфігураціїПриймача="Бухгалтерський облік для України"> <!-- редакція 2 --> <!-- Опис елемента довідника "Контрагенти". Атрибут "Правило" містить вид довідника. --> <Об’єктДовідника Правило="Контрагенти"> <!-- Елемент "Посилання" визначає спосіб ідентифікації (синхронізації) елемента під час завантаження. Можуть бути вказані значення будь-яких реквізитів елемента, за якими необхідно виконувати синхронізацію. Рекомендується використовувати реквізити "Код", "Найменування", "Власник", "Батько" і реквізити зі встановленою ознакою сортування. Можливе зазначення значень кількох реквізитів. Якщо елемент із зазначеними значеннями реквізитів не знайдено, буде створено новий, причому якщо не вказувати реквізит “Код”, то він буде сформований системою автоматично.--> <Посилання> <Реквізит Ідентифікатор="Код" Значення="30"/> <!-- Значення реквізитів, що мають тип довідник або документ, ідентифікуються за допомогою елемента посилання. Елемент "Посилання" визначає спосіб ідентифікації об’єкта за значенням будь-яких його реквізитів. Можливе зазначення значень кількох реквізитів. Для довідників рекомендується використовувати реквізити "Код", "Найменування", "Власник", "Батько" і реквізити зі встановленою ознакою сортування. Для документів рекомендується використовувати пару реквізитів "ДатаДок" і "НомерДок" (можливо також використовувати реквізити бухгалтерської операції документа). Для ідентифікації груп довідника необхідно встановити атрибут "ЦеГрупа" так, як показано нижче.--> <Реквізит Ідентифікатор="Батько"> <Посилання ЦеГрупа="1"> <!-- У цьому разі вказано код групи, до якої належить завантажуваний елемент --> <Реквізит Ідентифікатор="Код" Значення="2"/> </Посилання> </Реквізит> </Посилання> <Реквізит Ідентифікатор="ВидКонтрагента" Значення="Організація"/> <Реквізит Ідентифікатор="ЄДРПОУ" Значення="81007825"/> <Реквізит Ідентифікатор="Найменування" Значення="Ательє"/> <Реквізит Ідентифікатор="ПовнНайменування" Значення="Ательє"/> <Реквізит Ідентифікатор="ВидВзаєморозрахунків" Значення="ЗаДоговорами"/> <Реквізит Ідентифікатор="ВидТоргівлі" Значення="Передоплата"/> </Об’єктДовідника> <!-- Опис документа "Договір". Атрибут "Правило" містить вид документа. --> <Документ Правило="Договір"> <!-- Елемент "Посилання" визначає спосіб ідентифікації (синхронізації) документа під час завантаження. Можуть бути вказані значення будь-яких реквізитів шапки документа та реквізити бухгалтерської операції документа, за якими необхідно виконувати синхронізацію. Рекомендується використовувати пару реквізитів "НомерДок" і "ДатаДок". Можливе зазначення значень кількох реквізитів. --> <Посилання> <!-- У цьому разі документ буде ідентифікуватися за датою та номером договору. Якщо документа з такими значеннями реквізитів не існує, то під час завантаження буде створено новий документ, причому оскільки номер документа тут не вказано, він буде сформований системою автоматично. Якщо в документа вимкнено режим автонумерації, увімкнено контроль унікальності та номер не вказано, то під час завантаження буде видано повідомлення про помилку. --> <Реквізит Ідентифікатор="ДатаДок" Значення="21.04.2003" /> <Реквізит Ідентифікатор="НомерДоговору" Значення="215-2003" /> </Посилання> <!-- Опис реквізитів шапки документа--> <!-- Реквізити Фірма, Контрагент, Валюта, СубконтоВалДохВит, ВидПДВ ідентифікуються за посиланням. При цьому відповідні елементи або мають існувати в конфігурації, або мають бути описані в xml-файлі. У цьому разі Фірма, Контрагент, Валюта описані у файлі, а СубконтоВалДохВит, ВидПДВ — за замовчуванням присутні в конфігурації --> <Реквізит Ідентифікатор="Фірма"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="1" /> </Посилання> </Реквізит> <Реквізит Ідентифікатор="Контрагент"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="30" /> </Посилання> </Реквізит> <Реквізит Ідентифікатор="Валюта"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="980" /> </Посилання> </Реквізит> <Реквізит Ідентифікатор="ВидПДВ"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="ПДВ20" /> </Посилання> </Реквізит> <!-- Ідентифікація СубконтоВалДохВит відбувається з урахуванням усіх батьків кінцевого елемента --> <Реквізит Ідентифікатор="СубконтоВалДохВит"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="1" /> <Реквізит Ідентифікатор="Батько"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="1" /> <Реквізит Ідентифікатор="Батько"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="1" /> <Реквізит Ідентифікатор="Батько" /> </Посилання> </Реквізит> </Посилання> </Реквізит> </Посилання> </Реквізит> <Реквізит Ідентифікатор="Курс" Значення="1" /> <Реквізит Ідентифікатор="ДатаПочатку" Значення="21.04.2003" /> <Реквізит Ідентифікатор="ДатаЗакінчення" Значення=". ." /> <Реквізит Ідентифікатор="ВидТоргівлі" Значення="Передоплата" /> <Реквізит Ідентифікатор="ВідбірЗамовленняКонтрагент"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="30" /> </Посилання> </Реквізит> </Документ> <!-- Опис документа "ПрибутковийКасовий". Атрибут "Правило" містить вид документа. --> <Документ Правило="ПрибутковийКасовий"> <!-- Елемент "Посилання" визначає спосіб ідентифікації (синхронізації) документа під час завантаження. Можуть бути вказані значення будь-яких реквізитів шапки документа та реквізити бухгалтерської операції документа, за якими необхідно виконувати синхронізацію. Рекомендується використовувати пару реквізитів "НомерДок" і "ДатаДок". Можливе зазначення значень кількох реквізитів. --> <Посилання> <!-- У цьому разі документ буде ідентифікуватися за датою та номером прибуткового ордера. Якщо документа з такими значеннями реквізитів не існує, то під час завантаження буде створено новий документ, причому оскільки номер документа тут не вказано, він буде сформований системою автоматично. Якщо в документа вимкнено режим автонумерації, увімкнено контроль унікальності та номер не вказано, то під час завантаження буде видано повідомлення про помилку. --> <Реквізит Ідентифікатор="ДатаДок" Значення="21.04.2003"/> <Реквізит Ідентифікатор="НомерПО" Значення="545"/> </Посилання> <!-- Опис реквізитів шапки документа--> <Реквізит Ідентифікатор="Фірма"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="1" /> </Посилання> </Реквізит> <!-- Ідентифікація реквізиту РРахунок відбувається з урахуванням реквізиту Фірма (для якого встановлено прапорець сортування, а також коду та батька--> <Реквізит Ідентифікатор="РРахунок"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="5" /> <Реквізит Ідентифікатор="Батько"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="4" /> </Посилання> </Реквізит> <Реквізит Ідентифікатор="Фірма"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="1" /> </Посилання> </Реквізит> </Посилання> </Реквізит> <Реквізит Ідентифікатор="НомерПО" Значення="545"/> <Реквізит Ідентифікатор="Рахунок" Значення="361"/> <Реквізит Ідентифікатор="СумаВал" Значення="6000"/> <Реквізит Ідентифікатор="ПДВ" Значення="1000"/> <Реквізит Ідентифікатор="Додаток" Значення="Прибуток у касу № 545"/> <Реквізит Ідентифікатор="Підстава" Значення="Передплата за товари за договором №215-2003"/> <Реквізит Ідентифікатор="ОпераційнаКР" Значення="1"/> <Реквізит Ідентифікатор="ВидПДВ"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="ПДВ20"/> </Посилання> </Реквізит> <Реквізит Ідентифікатор="ДокументЗамовлення"> <Посилання> <Реквізит Ідентифікатор="ДатаДок" Значення="21.04.2003" /> <Реквізит Ідентифікатор="НомерДоговору" Значення="215-2003" /> </Посилання> </Реквізит> <Реквізит Ідентифікатор="СубконтоВалДохВит"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="1" /> <Реквізит Ідентифікатор="Батько"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="1" /> <Реквізит Ідентифікатор="Батько"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="1" /> <Реквізит Ідентифікатор="Батько" /> </Посилання> </Реквізит> </Посилання> </Реквізит> </Посилання> </Реквізит> <!-- Для реквізитів невизначеного типу або виду необхідно вказати значення атрибутів "ТипЗначення" і "ВидЗначення" так, як зазначено нижче.--> <Реквізит Ідентифікатор="Субконто" ТипЗначення="Довідник" ВидЗначення="Контрагенти"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="30"/> </Посилання> </Реквізит> <Реквізит Ідентифікатор="Замовлення" ТипЗначення="Документ" ВидЗначення="Договір"> <Посилання> <Реквізит Ідентифікатор="ДатаДок" Значення="21.04.2003" /> <Реквізит Ідентифікатор="НомерДоговору" Значення="215-2003" /> </Посилання> </Реквізит> <!-- Для реквізитів типу перелік в атрибут значення можна помістити: ідентифікатор значення переліку, або синонім значення переліку, або порядковий номер значення переліку--> <Реквізит Ідентифікатор="ДохідВитрата" Значення="Плюс"/> <Реквізит Ідентифікатор="ВидНадходженняГрошей" Значення="ВиручкаВідРеалізації"/> <!-- Для опису багаторядкової частини документа кожен рядок необхідно описати так: <Рядок> <Реквізит Ідентифікатор="XXX" Значення="YYY"/> </Рядок> Опис реквізитів табличної частини аналогічний опису реквізитів шапки --> </Документ> <!-- Автоматичне проведення документа під час завантаження. Атрибут "Правило" містить вид документа. Під час завантаження “ручної” бухгалтерської операції атрибут Правило=“Операція”, усе інше ідентичне; хоча фактично проведення як такого в цьому разі немає, але формат такий самий — для однаковості. --> <ПровестиДокумент Правило="Договір"> <!-- Елемент "Посилання" визначає спосіб ідентифікації (синхронізації) проведеного документа під час завантаження. Можуть бути вказані значення будь-яких реквізитів шапки документа та реквізити бухгалтерської операції документа, за якими необхідно виконувати пошук проведеного документа. Рекомендується використовувати пару реквізитів "НомерДок" і "ДатаДок". Можливе зазначення значень кількох реквізитів. --> <Посилання> <!-- У цьому разі проведений документ буде ідентифікуватися за датою та номером договору. --> <Реквізит Ідентифікатор="ДатаДок" Значення="21.04.2003" /> <Реквізит Ідентифікатор="НомерДоговору" Значення="215-2003" /> </Посилання> </ПровестиДокумент> <ПровестиДокумент Правило="ПрибутковийКасовий"> <!-- Елемент "Посилання" визначає спосіб ідентифікації (синхронізації) проведеного документа під час завантаження. Можуть бути вказані значення будь-яких реквізитів шапки документа та реквізити бухгалтерської операції документа, за якими необхідно виконувати пошук проведеного документа. Рекомендується використовувати пару реквізитів "НомерДок" і "ДатаДок". Можливе зазначення значень кількох реквізитів. --> <Посилання> <!-- У цьому разі проведений документ буде ідентифікуватися за датою та номером прибуткового ордера. --> <Реквізит Ідентифікатор="ДатаДок" Значення="21.04.2003"/> <Реквізит Ідентифікатор="НомерПО" Значення="545"/> </Посилання> </ПровестиДокумент> <!-- Опис групи довідника "Контрагенти" --> <Об’єктДовідника Правило="Контрагенти" ЦеГрупа="1"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="2"/> </Посилання> </Об’єктДовідника> <!-- Опис елемента довідника "Фірми" --> <Об’єктДовідника Правило="Фірми"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="1" /> </Посилання> <Реквізит Ідентифікатор="Найменування" Значення="Добро" /> </Об’єктДовідника> <!-- Опис елемента довідника "Валюти" --> <Об’єктДовідника Правило="Валюти"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="980" /> </Посилання> <Реквізит Ідентифікатор="Найменування" Значення="Гривня"/> <Реквізит Ідентифікатор="Коротко" Значення="грн." /> <Реквізит Ідентифікатор="Курс" Значення="1"/> <Реквізит Ідентифікатор="Кратність" Значення="1"/> </Об’єктДовідника> <!-- Опис групи та елемента довідника "НашіГрошовіРахунки" --> <Об’єктДовідника Правило="НашіГрошовіРахунки" ЦеГрупа="1"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="4"/> </Посилання> <Реквізит Ідентифікатор="Найменування" Значення="Готівка"/> </Об’єктДовідника> <Об’єктДовідника Правило="НашіГрошовіРахунки"> <Посилання> <Реквізит Ідентифікатор="Фірма"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="1" /> </Посилання> </Реквізит> <Реквізит Ідентифікатор="Код" Значення="5" /> <Реквізит Ідентифікатор="Батько"> <Посилання ЦеГрупа="1"> <Реквізит Ідентифікатор="Код" Значення="4" /> </Посилання> </Реквізит> </Посилання> <Реквізит Ідентифікатор="Найменування" Значення="Основна каса (грн)" /> <Реквізит Ідентифікатор="Валюта"> <Посилання> <Реквізит Ідентифікатор="Код" Значення="980" /> </Посилання> </Реквізит> <Реквізит Ідентифікатор="РахунокОбліку" Значення="301" /> </Об’єктДовідника> </ФайлОбміну>

Записатися телефоном