1с розница обмен с егаис текст xml содержит недопустимый символ в позиции 0

Обновлено: 04.07.2024

Ошибка при записи изменений при обмене: Ошибка при вызове метода контекста (ЗаписатьИзменения): Текст XML содержит недопустимый символ в позиции .

Обнаруживал эту ошибку 2 раза.
а) Один раз когда производился обмен в распределенной базе данных.
б) Другой раз когда производилось обновление конфигурации 1С: Бухгалтерия предприятия с версии 1.6 до версии 2.0.

В обоих случаях используется выгрузка-загрузка данных через файлый в формате XML.

Решается так:
Для случая б)

Новая база данных Бухгалтерия 2.0 обращается к старой базе данных версии 1.6, запуская программу 1С: Предприятие и инициируя выгрузку данных с помощью обработки УниверсальныйОбменДаннымиXML.

В этой обработке в последних версиях есть возможность поставить галочку, чтобы обработка сама боролась с ситуацией "недопустимые символы XML". По умолчанию (и при вызове этой обработки "из вне", как в описываемом случае) данная галочка не стоит.

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

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

Все равно после загрузки в базу данных конфигурации Бухгалтерия 2.0 проверять все данные нужно.

Решение для ситуации а)
Распределенная база данных

Та же база данных (да и проблема наверняка в одних и тех же документах) - 1C V8, Бухгалтерия Предприятия 2.0, то же было в 1.6, причем и на платформе 1C V8.1 и на платформе 1C V8.2.

После неудачной выгрузки в каталоге временных файлов Windows нашел недописанный файл XML, который называется в моем случае ""C:\Documents and Settings\ИмяПользователяWindows\Local Settings\Temp\a\Полный\ОбменСФилиалом\Message_АБВ_ЭЮЯ.xml""

В самом конце этого файла обнаружил, что не завершена запись для документа "СписаниеСРасчетногоСчета", номер и дата этого документа в XML уже были записаны до возникновения ошибки, потому найти документ в базе данных не сложно.

Написал обработку, которая с помощью "ПланыОбмена.УдалитьРегистрациюИзменений(ВыбУдаленныйУзел, ВыбКосячныйДокумент);" исключает из выгрузки битый документ.

Повторил выгрузку, обнаружил ту же ошибку на другом документе того же вида с той же операцией - "Списание с расчетного счета: Расчеты по кредитам и займам".

Возникли подозрения, что данные банковские документ косячат потому как загружены автоматически системой "Клиент-банк".

После того, как все косячные документы были исключены из обмена данными с помощью вышеописанной операции "УдалитьРегистрациюИзменений" выгрузка прошла успешно.

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

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

Посмотрев внимательнее куций файл XML, созданный во временном каталоге увидел, что застопорился на записи табличной части "РеквизитыКонтрагента" на реквизите "Значение".

Для решения проблемы поиска этой самой ошибки вида: "Ошибка при вызове метода контекста(ЗаписатьИзменения): Текст XML содержит недопустимые символ в позиции . " была написана эта простенькая обработка. Может кому-то пригодится :)

Как работает обработка?

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

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Увы, проблему недопустимых символов это не решает. Обработка вероятно может помочь ее локализовать и что-то доработать в конфигурации. Потому как в зависимости от ситуации решения надо принимать тоже разные. В свое время намучились. И почему при обмене у 1С не используется банальное base64 ? (1) kraynev-navi, увы - не решает. Столкнувшись с проблемой было потрачено много времени на локализацию ее. После увидев обычный объект, ни чем от остальных не отличающийся, просто исключили его из обмена, т.е. просто обошли эту ошибку. Если кто-то знает природу этого явления и решение этой проблемы - поделитесь. (2) Мы сделали костыль (по другому сложно охарактеризовать). В проблемном объекте ПриЗаписи принудительно обходились проблемные реквизиты и заменялись проблемные символы. При помощи НайтиНедопустимыеСимволыXML (4) pvb2003, любую конфигурацию можно запустить в обычном режиме через конфигуратор.

Просмотры 20539

Загрузки 101

Рейтинг 8

Создание 29.04.14 10:04

Обновление 29.04.14 10:04

№ Публикации 275731

Конфигурация Не имеет значения

Операционная система Windows

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Не указано

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0")

См. также

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) Промо

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

1 стартмани

22.10.2014 225289 4384 ekaruk 184

У вас "Ошибка преобразования данных XML" или "Error transforming XML data"? Решение

Рассмотрим варианты возникновения данной ошибки и рассмотрим способ решения, одной из причин.

2 стартмани

01.11.2021 1023 0 markers 0

Восстановление РИБа, ошибки РИБ на управляемых формах, создание начального образа с файлами

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

1 стартмани

22.10.2021 739 0 user1479207 0

Восстановление 1С РИБ (распределенная база) при проблемах обмена конфигураций и расширений

Работая с 1С РИБами в разных конфигурациях: типовых, переписанных, отраслевых, доработанных, с расширениями и пр. Неоднократно сталкивался с различными проблемами, связанными с обменом в распределенных узлах. Например, некорректно проходит обмен, не принимается обновления конфигурации, после обновления крашится база на расширении или на объекте конфигурации, либо просто перестает запускать в режим предприятия по какой то причине. На самом деле проблемы с распределенной базой возникают довольно часто, в данной статье рассмотрим самые основные, с которыми приходилось сталкиваться. Описанные методы никогда не подводили и всегда работали, что бы с базой ни случилось. Делюсь опытом, кому-то будет спасательным кругом.

1 стартмани

23.09.2021 1052 12 ClickUp 4

Соответствия объектов обмена Промо

Обработка позволяет проверять, исправлять ошибки, добавлять и удалять соответствия объектов в обменах данными между конфигурациями на основе «Комплексной автоматизации 1.1» или похожими конфигурациям. Подходит для обменов с использованием регистра сведений «СоответствиеОбъектовДляОбмена».

Для решения проблемы поиска этой самой ошибки вида: "Ошибка при вызове метода контекста(ЗаписатьИзменения): Текст XML содержит недопустимые символ в позиции . " была написана эта простенькая обработка. Может кому-то пригодится :)

Как работает обработка?

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

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Увы, проблему недопустимых символов это не решает. Обработка вероятно может помочь ее локализовать и что-то доработать в конфигурации. Потому как в зависимости от ситуации решения надо принимать тоже разные. В свое время намучились. И почему при обмене у 1С не используется банальное base64 ? (1) kraynev-navi, увы - не решает. Столкнувшись с проблемой было потрачено много времени на локализацию ее. После увидев обычный объект, ни чем от остальных не отличающийся, просто исключили его из обмена, т.е. просто обошли эту ошибку. Если кто-то знает природу этого явления и решение этой проблемы - поделитесь. (2) Мы сделали костыль (по другому сложно охарактеризовать). В проблемном объекте ПриЗаписи принудительно обходились проблемные реквизиты и заменялись проблемные символы. При помощи НайтиНедопустимыеСимволыXML (4) pvb2003, любую конфигурацию можно запустить в обычном режиме через конфигуратор.

Просмотры 20539

Загрузки 101

Рейтинг 8

Создание 29.04.14 10:04

Обновление 29.04.14 10:04

№ Публикации 275731

Конфигурация Не имеет значения

Операционная система Windows

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Не указано

Ключевую часть курса составляет практическая работа по командам над проектами. Управление ИТ-проектами. Agile: продвинутый курс по гибкому управлению проектами.

См. также

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) Промо

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

1 стартмани

22.10.2014 225289 4384 ekaruk 184

У вас "Ошибка преобразования данных XML" или "Error transforming XML data"? Решение

Рассмотрим варианты возникновения данной ошибки и рассмотрим способ решения, одной из причин.

2 стартмани

01.11.2021 1023 0 markers 0

Восстановление РИБа, ошибки РИБ на управляемых формах, создание начального образа с файлами

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

1 стартмани

22.10.2021 739 0 user1479207 0

Восстановление 1С РИБ (распределенная база) при проблемах обмена конфигураций и расширений

Работая с 1С РИБами в разных конфигурациях: типовых, переписанных, отраслевых, доработанных, с расширениями и пр. Неоднократно сталкивался с различными проблемами, связанными с обменом в распределенных узлах. Например, некорректно проходит обмен, не принимается обновления конфигурации, после обновления крашится база на расширении или на объекте конфигурации, либо просто перестает запускать в режим предприятия по какой то причине. На самом деле проблемы с распределенной базой возникают довольно часто, в данной статье рассмотрим самые основные, с которыми приходилось сталкиваться. Описанные методы никогда не подводили и всегда работали, что бы с базой ни случилось. Делюсь опытом, кому-то будет спасательным кругом.

1 стартмани

23.09.2021 1052 12 ClickUp 4

Соответствия объектов обмена Промо

Обработка позволяет проверять, исправлять ошибки, добавлять и удалять соответствия объектов в обменах данными между конфигурациями на основе «Комплексной автоматизации 1.1» или похожими конфигурациям. Подходит для обменов с использованием регистра сведений «СоответствиеОбъектовДляОбмена».

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