1С:Предприятие 7.7 /
Сервисные возможности 1С 7.7 /
Обмен данными в формате XML
Загрузка данных в "1С:Предприятие" из внешних приложений с использованием универсального формата обмена
В данном документе приведен “живой” пример файла обмена. Пример комментируется стандартным для языка 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" /> </ОбъектСправочника> </ФайлОбмена>
Курсы бухгалтерские
Об учебном центре «Стимул»
Цены и режим обучения: бухгалтерские курсы
Курс "Восстановление знаний бухгалтерского учета в программе 1С:Предприятие"
Курс "Ведение бухгалтерского учета и подготовка налоговой отчетности в программе 1С:Предприятие"
Курсы ВЭД для бухгалтера
Другие материалы по теме:
описание элемента справочника, атрибут, предоплата, внешняя компонента, фирма, файл, валюта, обмен, бухгалтерский учет, элемент, договор, реквизит, контрагент, данные, значение, справочник, операции, вид, 7.7, учет, документ
Материалы из раздела: 1С:Предприятие 7.7 / Сервисные возможности 1С 7.7 / Обмен данными в формате XML
Другие материалы по теме:
Источники данных для расчетов бюджетирования
Общесистемные механизмы и принципы
Нормативно-справочная информация: учет взаиморасчетов с контрагентами
Нас находят: не указан формат файла загрузки в 1с, выгрузка и загрузка данных xml указанный файл не существует, указанный файл не существует ошибка загрузки данных, указанный файл не существует 1с универсальный обмен, загрузка данных xml указанный файл не существует, загрузка xml в 1с, загрузить xml в 1с, етогруппа 1C 7/7, 1с указанный файл не существует загрузка данных, https://stimul kiev ua/materialy htm?a=zagruzka_dannykh_v_1spredpriyatie_iz_vneshnikh_prilozheniy_s_ispolzovaniem_unive
Мы на Facebook