Версия формата обмена 1с

Обновлено: 05.07.2024

В статье описаны возможные ошибки, возникающие при обмене данными между программами 1С, а также варианты решения этих ошибок.

Общие ошибки, возникающие в 1С при работе с XML

Не установлен MS XML Core Services 4.0

На компьютере не установлен Microsoft XML Core Services 4.0, используемый "1С:Предприятием 8" для работы с XML.

Попробуйте установить Microsoft XML Core Services 4.0. При установке "1С:Предприятия 8" Microsoft XML Core Services 4.0 устанавливается автоматически.

Ошибка разбора XML

Ошибка, возникающая при синтаксическом анализе данных XML в процессе чтения. Все ошибки, определенные в SAX2, трансформируются в данную ошибку, генерируемую платформой "1С:Предприятие 8".

Проверьте правильность оформления и синтаксис данных XML.

Ошибочный порядок записи XML

Методы записи содержимого документа XML вызываются в неправильном порядке. Например, запись атрибута вызывается после записи текста элемента.

Текст XML содержит недопустимые символы

Записываемый текст XML содержит недопустимые символы.

Текст XML должен соответствовать требованиям к XML.

Недопустимое имя XML

Записываемое имя XML содержит недопустимые символы.

Имя XML должно соответствовать требованиям к XML.

Пустое значение URI допустимо только для пространства имен по умолчанию

Производится попытка записать соответствие пространства имен, в котором URI пространства имен, представленному пустой строкой, соответствует непустой префикс.

Значение URI пространства имен должно соответствовать рекомендации Namespaces in XML.

Переопределение пространства имен по умолчанию для текущего элемента XML недопустимо

Текущий записываемый элемент не относится ни к какому пространству имен. Поэтому для него недопустимо определение непустого пространства имен по умолчанию.

Переопределение пространства имен по умолчанию для элемента, не относящегося ни к какому пространству имен – запрещено.

Ошибка преобразования данных XML

Ошибка возникает вследствие нарушения структуры передаваемых данных.

Значения данного типа не могут быть представлены в XML

Производится попытка записи в XML значения, для типа которого не определена процедура записи в XML. Или производится попытка чтения из XML значения неизвестного типа или типа, для которого не определена процедура чтения из XML.

Ошибка данных XML

Ошибка возникает при получении некорректных данных из источника XML или же в случаях неудачного считывания из базы данных содержимого объекта, данные которого должны быть прочитаны из источника XML: блокировка объекта или же отсутствие прав на чтение данного объекта.

Например, чтение существующего элемента справочника: если элемент справочника является группой, а было прочитано то, что является элементом, будет сгенерирована данная ошибка.

Если вышеперечисленные способы не привели к устранению ошибки, то необходимо проверить целостность данных информационной базы.

Ситуации, возникающие при обмене данными в рамках распределенной информационной базы в 1С

Узел не является узлом распределенной ИБ

При вызове одного из методов встроенного языка, относящегося к распределенной ИБ, значение переданного параметра - узла плана обмена - не принадлежит плану обмена с установленным признаком "Распределенная информационная база".

Необходимо убедиться в правильности передаваемого в метод параметра.

Начальный образ может быть выгружен только во вновь созданную или пустую ИБ

По указанному месторасположению начального образа уже существует другая информационная база.

Необходимо убедиться, что при создании начального образа указано место, в котором не существует информационной базы.

Ошибка формата представления изменений

Попытка приема изменений от неизвестной конфигурации

Искажены изменения конфигурации!

Конфигурация узла распределенной ИБ не соответствует ожидаемой!

Изменения конфигурации не могут быть получены из подчиненного узла распределенной ИБ

Из главного узла распределенной ИБ получены изменения конфигурации

Из главного узла получены изменения конфигурации.

Данные не входят в состав плана обмена

Если не нашли решения своих ошибок или хотите воспользоваться услугами экспертов для настройки обмена данными между программами 1С, проверки и исправления ошибок, звоните в офисы Первого Бита.

Подсистема «Обмен данными» библиотеки стандартных подсистем содержит 4 варианта ( технологии) обмена информацией между различными информационными базами:

  • распределенные информационные базы (РИБ);
  • обмен данными через универсальный формат;
  • обмен данными по правилам обмена (правила обмена создаются при помощи конфигурации «Конвертация данных», редакция 2.1);
  • обмен данными без правил обмена.


Рис. 1 Последние релизы БСП 2.3

Описание формата EnterpriseData

Что такое формат EnterpriseData ?

Это формат, позволяющий описать объект информационной базы (контрагента, накладную и т.п.) или сообщить о факте удаления этого объекта. Ожидается, что конфигурация, получившая файл в формате EnterpriseData, отреагирует соответствующим образом – создаст у себя новые объекты и удалит те, которые в файле помечены как удаленные. Он предназначен для обмена информацией между конфигурациями УТ, РТ, УНФ, БП. Также формат может использоваться для обмена информацией с любыми другими информационными системами: он не зависит от особенностей собственного программного обеспечения или структур информационных баз, которые участвуют в обмене и не содержит в себе явных ограничений использования.

Версия формата EnterpriseData


Рис. 3 Структура XDTO-пакетаExchangeMessage

Как обмениваться данными в формате EnterpriseData?

  • через выделенный файловый каталог,
  • через каталог FTP,
  • через веб-сервис, развернутый на стороне информационной базы. Файл с данными передается как параметр веб-методов.

При обмене с использованием планов обмена конфигурации в ходе синхронизации передают только информацию об изменениях, произошедших со времени последней синхронизации (чтобы минимизировать объем передаваемой информации). При первой синхронизации конфигурация выгрузит все объекты в формате EnterpriseData в XML-файл (поскольку все они являются «новыми» для стороннего приложения).


При передаче данных от внешнего приложения в конфигурацию картина меняется на обратную. Приложение должно заполнить секцию <Confirmation> соответствующим образом, а в секцию <Body> поместить объекты для синхронизации в формате EnterpriseData.


Более подробно об обмен данными с прикладными решениями на платформе «1С:Предприятие» в формате EnterpriseData можно посмотреть здесь

Процедуры и функции, полностью описывающие правила выгрузки данных из информационной базы в формат обмена и правила загрузки данных из формата обмена в информационную базу, разрабатываются в общем модуле – модуле менеджера обмена через универсальный формат.


Рис. 4 Структура модуля менеджера обмена через универсальный формат

Модуль создается автоматически с помощью конфигурации «Конвертация данных», редакция 3.0, на основе настроенных правил обмена либо вручную в конфигураторе.

Модуль состоит из нескольких крупных разделов, каждый из которых содержит свою группу процедур и функций.

  1. Комментарий. Первая строка модуля содержит комментарий с наименованием конвертации. Эта строка необходима для идентификации модуля при использовании команды Загрузка обработчиков в программе «Конвертация данных», редакция 3.0., например. // Конвертация УП2.2.3 от 01.06.2017 19:51:50
  2. Процедуры конвертации. Содержит предопределенные процедуры, которые выполняются на разных этапах синхронизации данных: перед конвертацией, после конвертации, перед отложенным заполнением.
  3. Правила обработки данных (ПОД). Содержит процедуры и функции, которые описывают правила обработки данных.
  4. Правила конвертации объектов (ПКО). Содержит процедуры и функции, которые описывают правила конвертации объектов, а также правила конвертации свойств данных объектов.
  5. Правила конвертации предопределенных данных (ПКПД). Содержит процедуру, заполняющую правила конвертации предопределенных данных.
  6. Алгоритмы. Содержит произвольные алгоритмы, которые вызываются из других правил (ПОД или ПКО).
  7. Параметры. Содержит логику заполнения параметров конвертации.
  8. Общего назначения. Содержит процедуры и функции, которые широко используются в правилах и алгоритмах.

Ниже описаны параметры процедур и функций, которые используются в нескольких видах процедур модуля менеджера.

КомпонентыОбмена. Тип – Структура. Содержит параметры и правила обмена, инициализированные в рамках выполнения сеанса обмена.

НаправлениеОбмена. Тип – Строка. Либо «Отправка», либо «Получение».

ДанныеИБ. Тип – СправочникОбъект либо ДокументОбъект.

Процедуры, связанные с событиями конвертации

Предусмотрены три предопределенные процедуры, которые вызываются в процессе конвертации:

  • ПередКонвертацией. Вызывается перед выполнением синхронизации данных. Обычно в этой процедуре размещается логика инициализации различных параметров конвертации, заполнения значений по умолчанию и т. д. Параметры:КомпонентыОбмена.
  • ПослеКонвертации. Вызывается после выполнения синхронизации данных, но до выполнения отложенного заполнения. Параметры:КомпонентыОбмена.
  • ПередОтложеннымЗаполнением. Вызывается перед выполнением отложенного заполнения. Здесь может быть расположена логика сортировки или корректировки таблицы объектов, подлежащих отложенному заполнению. Параметры:КомпонентыОбмена.

Процедуры ПОД

ЗаполнитьПравилаОбработкиДанных. Экспортная процедура, в которой располагается логика заполнения правил обработки данных. Содержит вызовы других процедур, которые добавляют в таблицу правил правило обработки конкретного объекта (см. ниже процедуры ДобавитьПОД). Параметры: НаправлениеОбмена, ПравилаОбработкиДанных (таблица значений, инициализированная в рамках выполнения сеанса обмена).

ДобавитьПОД_<ИмяПОД>. Набор процедур, которые наполняют таблицу ПОД правилами для конкретных объектов. Количество таких процедур соответствует количеству ПОД, предусмотренных для данной конвертации в программе «Конвертация данных», редакция 3.0. Параметры: ПравилаОбработкиДанных (таблица значений, инициализированная в рамках выполнения сеанса обмена).

ПОД_<ИмяПОД>_ПриОбработке. Процедура содержит текст обработчика ПриОбработке для конкретного ПОД. Обработчик предназначен для реализации логики конвертации на уровне объектов. Например, назначить конкретному объекту определенное ПКО в зависимости от содержимого объекта. Параметры:

  • ДанныеИБлибо ДанныеXDTO (в зависимости от направления обмена):
  • при отправке – объект (СправочникОбъект,ДокументОбъект);
  • при получении – структуру с описанием объекта XDTO.
  • ИспользованиеПКО. Тип –Структура. Ключ содержит строку с именем ПКО, а значение типа Булево (Истина – ПКО используется, Ложь – ПКО не используется).
  • КомпонентыОбмена.

ПОД_<ИмяПОД>_ВыборкаДанных. Функция содержит текст обработчика ПриВыгрузке. Обработчик предназначен для реализации произвольного алгоритма выборки объектов, подлежащих выгрузке. Возвращаемое значение: массив объектов, подлежащих выгрузке. В массиве могут содержаться как ссылки на объекты информационной базы, так и структура с данными для выгрузки. Параметры: КомпонентыОбмена.

Процедуры ПКО

ЗаполнитьПравилаКонвертацииОбъектов. Экспортная процедура, в которой располагается логика заполнения правил конвертации объектов. Содержит вызовы других процедур, которые добавляют в таблицу правил правило конвертации конкретного объекта (см. ниже процедуры ДобавитьПКО). Параметры: НаправлениеОбмена, ПравилаКонвертации (таблица значений, инициализированная в рамках выполнения сеанса обмена).

ДобавитьПКО_<ИмяПКО>. Набор процедур, которые наполняют таблицу ПКО правилами для конкретных объектов. Количество таких процедур соответствует количеству ПКО, предусмотренных для данной конвертации в программе «Конвертация данных», редакция 3.0. Параметры: ПравилаКонвертации (таблица значений, инициализированная в рамках выполнения сеанса обмена).

ПКО_<ИмяПКО>_ПриОтправкеДанных. Процедура содержит текст обработчика ПриОтправке для конкретного ПКО. Обработчик используется при выгрузке данных. Предназначен для реализации логики конвертации данных, содержащихся в объекте информационной базы, в описание объекта XDTO. Параметры:

  • ДанныеИБ. Тип –СправочникОбъект, ДокументОбъект. Обрабатываемый объект информационной базы.
  • ДанныеXDTO. Тип –Структура. Предназначен для доступа к данным объекта XDTO.
  • КомпонентыОбмена.
  • СтекВыгрузки. Тип –Массив. Содержит ссылки на выгружаемые объекты с учетом вложенности.

ПКО_<ИмяПКО>_ПриКонвертацииДанныхXDTO. Процедура содержит текст обработчика ПриКонвертацииДанныхXDTO для конкретного ПКО. Обработчик используется при загрузке данных. Предназначен для реализации произвольной логики конвертации данных XDTO. Параметры:

  • ДанныеXDTO. Тип –Структура. Свойства объекта XDTO, прошедшие предварительную обработку для упрощения доступа к ним.
  • ПолученныеДанные. Тип –СправочникОбъект, ДокументОбъект. Объект информационной базы, сформированный путем конвертации данных XDTO. Не записан в информационную базу.
  • КомпонентыОбмена.

ПКО_<ИмяПКО>_ПередЗаписьюПолученныхДанных. Процедура содержит текст обработчика ПередЗаписьюПолученныхДанных для конкретного ПКО. Обработчик используется при загрузке данных. Предназначена для реализации дополнительной логики, которую необходимо выполнить перед записью объекта в информационную базу. Например, нужно ли загрузить изменения в существующие данные ИБ либо следует загрузить их как новые данные. Параметры:

  • ПолученныеДанные. Тип –СправочникОбъект, ДокументОбъект. Элемент данных, сформированный путем конвертации данных XDTO.

Записывается в случае, если эти данные являются для информационной базы новыми (параметр ДанныеИБ содержит значение Неопределено).

В противном случае ПолученныеДанные замещают собой ДанныеИБ (все свойства из ПолученныеДанные переносятся в ДанныеИБ).

Если стандартное замещение данных ИБ полученными данными не требуется, следует прописать свою логику переноса, после чего установить параметру ПолученныеДанные значение Неопределено:

  • ДанныеИБ. Тип –СправочникОбъект, ДокументОбъект. Элемент данных информационной базы, соответствующий полученным данным. Если соответствующие данные не найдены, содержит Неопределено.
  • КонвертацияСвойств. Тип –Таблица значений. Содержит правила конвертации свойств текущего объекта, инициализированные в рамках выполнения сеанса обмена.
  • КомпонентыОбмена.

Процедуры ПКПД

ЗаполнитьПравилаКонвертацииПредопределенныхДанных. Экспортная процедура, в которой располагается логика заполнения правил конвертации предопределенных данных. Параметры: НаправлениеОбмена, ПравилаКонвертации (таблица значений, инициализированная в рамках выполнения сеанса обмена).

Алгоритмы

В программе «Конвертация данных», редакция 3.0 есть возможность создавать произвольные алгоритмы, которые вызываются из обработчиков ПОД и ПКПД. Наименование, параметры и содержимое алгоритмов определяются при разработке правил.

Параметры

ЗаполнитьПараметрыКонвертации. Экспортная процедура, в которой происходит заполнение структуры с параметрами конвертации. Параметры: ПараметрыКонвертации (тип – Структура).

Процедуры и функции общего назначения

ВыполнитьПроцедуруМодуляМенеджера. Параметры: ИмяПроцедуры (строка), Параметры (структура). Экспортная процедура, которая предназначена для вызова неэкспортной процедуры модуля, имя и параметры которой получены на вход. Позволяет выполнить вызов процедуры или функции по строке без использования метода Выполнить.

ВыполнитьФункциюМодуляМенеджера. Параметры: ИмяПроцедуры (строка), Параметры (структура). Функция, назначение аналогично ВыполнитьПроцедуруМодуляМенеджера. Отличие в том, что она вызывает функцию и возвращает ее значение.

Переход на универсальный формат обмена между конфигурациями "1С:Управление нашей фирмой" и "1С:Бухгалтерия предприятия" редакция 3.0

В типовой конфигурации "1С:Управление нашей фирмы" начиная с релиза 1.6.16.153 применяется универсальный формат обмена c конфигурацией "1С:Бухгалтерия предприятия, редакция 3.0".

Новый формат обмена данными между 1С:Управление нашей фирмой и 1С:Бухгалтерия предприятия ред.3.0


В новой версии конфигурации УНФ удалены все настройки синхронизации c конфигурацией "Бухгалтерия предприятия, редакция 3.0" по старым правилам обмена. Все новые настройки синхронизации выполняются через универсальный формат.
Существующие настройки по правилам обмена работают в прежнем режиме. Рекомендуется выполнить переход на синхронизацию данных через универсальный формат при помощи внешней обработки "ПереходНаСинхронизациюДанныхЧерезУниверсальныйФормат.epf" из комплекта поставки.

Внимание!
Перед запуском обработки обязательно сделайте копии рабочих информационных баз "1С:Управление нашей фирмы" и "1С:Бухгалтерии".

Порядок перехода на универсальный формат обмена

Запустите конфигурацию "Управление нашей фирмой". Откройте обработку "Переход на синхронизацию данных через универсальный формат.epf" из комплекта поставки обновления конфигурации УНФ 1.6.16.153. Открыть обработку можно выполнив команду "Файл" > "Открыть". По умолчанию файл обработки "Переход на синхронизацию данных через универсальный формат.epf" (в ОС Windows 7, 8, 10) сохраняется в каталоге: "C:\Users\%UserName%\AppData\Roaming\1C\1Cv82\tmplts\smallbusiness\1_6_16_153\Обмены данными\Обмен с конфигурацией Бухгалтерия предприятия, ред. 3.0".

После завершения выполнения обработки запустите в конфигурации "Управление нашей фирмой" синхронизацию данных.

Далее запустите синхронизацию в конфигурации "Бухгалтерия предприятия", если не используется прямое подключение к базе.

Синхронизация 1С:УНФ и 1С:Бухгалтерии, Обмен данными между 1С:УНФ и 1С:Бухгалтерией, Универсальный обмен данных между 1С:Бухгалтерией и 1С:УНФ, Правила обмена УНФ с 1С:Бухгалтерией, Где правила обмена 1С:УНФ и 1С:Бухгалтерия предприятия 3.0, Настройки синхронизации УНФ с 1С:Бухгалтерией, Перестал работать обмен между 1С:УНФ и 1С:Бухгалтерией, Не работает синхронизация 1С:УНФ с 1С:Бухгалтерией, Правила обмена данными между 1С:Бухгалтерией и 1С УНФ, План обмена данными между 1С:Бухгалтерией и 1С:Управление нашей фирмой

Структура файлов обмена данными (Российская Федерация), версия 1.02

Ниже приводится список возможных служебных строк, строк секций, назначенные им идентификаторы, их обязательность при обмене данными.

Комментарии к описанному формату обмена

  • В связи с возможностью использования стандарта обмена информацией с различными системами "Банк-Клиент" некоторые реквизиты могут записываться в различной форме и, по сути, дублироваться. К таким реквизитам относятся "Плательщик", "Получатель" и "Назначение платежа". Реквизиты "Плательщик" и "Получатель" формируются с учетом типа расчетного счета.

Использование реквизитов для поля "Плательщик":

Реквизиты "Плательщик" и "Получатель" формируются следующим образом:

Реквизит Значение реквизита
Для прямых расчетов Для непрямых расчетов
<Плательщик> ИНН <ПлательщикИНН>

<Получатель> ИНН <ПолучательИНН>

Таким образом, модуль обмена данными системы "1С:Предприятие" передает и получает информацию о плательщике и получателе двумя способами, что дает определенную свободу при проектировании ответного модуля подсистемы "Клиент банка".

При выгрузке данных из системы "1С:Предприятие" заполняются все реквизиты: передается и реквизит <Плательщик>, и реквизиты <ПлательщикИНН>, <Плательщик1>, . <Плательщик 4>, т. е. информация дублируется.

"Клиент банка" может брать данные как из поля <Плательщик>, так и из полей <ПлательщикИНН>, <Плательщик1>, . <Плательщик 4> (откуда это удобнее).

При загрузке данных из "Клиента банка" реквизит <Плательщик> используется, если не переданы реквизиты <ПлательщикИНН>, <Плательщик1>, . <Плательщик 4>. "Клиент банка" может заполнять те реквизиты, которые ему удобнее. Предпочтительнее заполнять отдельные реквизиты <ПлательщикИНН>, <Плательщик1>, . <Плательщик 4>.

Все сказанное справедливо и для получателя платежа.

"Назначение платежа" передается и принимается двумя способами:

Таким образом, реквизиты <ПлательщикСчет> и <ПолучательСчет> всегда содержат расчетные счета плательщика и получателя в банках, которые их обслуживают, и при прямых и при непрямых расчетах.

Читайте также: