Ошибка при вызове метода контекста прочитатьxml записанноезначение прочитатьxml чтениеxml

При использовании обработки с диска ИТС (ВыгрузкаЗагрузкаДанныхXML), выходит сообщение об ошибке, в момент ЗАГРУЗКИ:

{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(147)}: Ошибка при вызове метода контекста (ПрочитатьXML)

            ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);

по причине:

Ошибка преобразования данных XML: [file://C:/TANYA_New/88888888888888/поступление_2.xml][82,4]

Из копии Бухгалтерии1, перегружаем в рабочую Бухгалтерию2 документ «ПоступлениеТоваров и Услуг» (в нем всего одна позиция) и при загрузке (этой же обработкой, выдает ошибку выше.

Платформа 8.2.19.80.

Выгружаем из версии Бухгалтерии 2.0.54.13

Загружаем в версию Бухгалтерии 2.0.53.8

)

Грабли метода ПрочитатьXML() объекта ФабрикаXDTO

Что таит в себе окно редактирования XDTO-пакета

Фабрика XDTO — это библиотека типов, которая описывает определенные структуры XML. В языке программирования платформы 1С имеется объект ФабрикаXDTO, который содержит все пакеты XDTO, имеющиеся в конфигурации, а также предопределенные пакеты (например, пакет типов XML схемы). У данного объекта метод ПрочитатьXML(), позволяет читать элементы данных XDTO указанного типа из объекта чтения XML:


ФайлXML = Новый ЧтениеXML;
ФайлXML.УстановитьСтроку(СтрокаXML);

Пока ФайлXML.Прочитать() Цикл

Если ФайлXML.ЛокальноеИмя = "Message" И ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ФайлXML);
КонецЕсли;

КонецЦикла;

ФайлXML.Закрыть();

Первый параметр метода является обязательным, в который передается объект чтения XML. Второй параметр метода необязательный, в который передается тип элемента данных XDTO. Если тип не указан, то будет сделана попытка определить тип данных по текущему состоянию объекта ЧтениеXML.

Допустим, создадим тип в пакете XDTO  с пространством имен http://lk.1cps.ru, который будет описывать некую структуру XML:

1. Тип «Документы»

Кусок структуры XML:
...
<Документы>
<РасчетФБ>
<Культура>12122</Культура>
<ПосевнаяПлощадь>23</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>276</Сумма>
</РасчетФБ>
<РасчетФБ>
<Культура>232323</Культура>
<ПосевнаяПлощадь>34</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>408</Сумма>
</РасчетФБ>
</Документы>
...

Прочитаем эту структуру:

Пока ФайлXML.Прочитать() Цикл
Если ФайлXML.ЛокальноеИмя = "Документы" И ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ФайлXML, ФабрикаXDTO.Тип("http://lk.1cps.ru", "ДокументыТип"));
Прервать;
КонецЕсли;
КонецЦикла;

Приведенный код будет завершать ошибкой чтения XML, примерно такой:

Ошибка при вызове метода контекста (ПрочитатьXML)
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ФайлXML, ФабрикаXDTO.Тип("http://lk.1cps.ru", "ДокументыТип"));
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://lk.1cps.ru}ДокументыТип - [126,19]
Проверка дополнительного свойства:
форма: Элемент
имя: {http://lk.1cps.ru}Культура
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://lk.1cps.ru}ДокументыТип

ПРОШЛО 4 ЧАСА :(

Так как выше приведенный кусок структуры XML не относится к пространству имен http://lk.1cps.ru, то и метод ПрочитатьXML() выкидывал ошибку, несмотря на то, что тип правильно описывает структуру XML! Поэтому XML должен выглядеть так:
...
<Документы xmlns="http://lk.1cps.ru">
<РасчетФБ>
<Культура>12122</Культура>
<ПосевнаяПлощадь>23</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>276</Сумма>
</РасчетФБ>
<РасчетФБ>
<Культура>232323</Культура>
<ПосевнаяПлощадь>34</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>408</Сумма>
</РасчетФБ>
</Документы>
...

Вот такие пироги.

Skip to content

Ошибка при вызове метода контекста (ПрочитатьXML)
ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML

или

«Ошибка загрузки: Неверный формат файла выгрузки»

Очень часто при настройке обменов данных с помощью универсальной обработки загрузки/выгрузки XML возникает эта ошибка. Рассмотрим ниже основные причины появления данной ошибки, и как можно исправить её.

Не соответствие структуры метаданных конфигурации

Проблема скорее всего в том, что конфигурация просто отличается.
Если Вы передаете через внешнюю обработку Загрузки/выгрузки XML, то Вы можете передавать данные только между идентичными конфигурациями.

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

Ошибка файловой системы

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

Внимание! Если у вас остались вопросы или что-то не получилось, будем рады оказать Вам персональную техническую помощь. Заполните заявку и наш специалист свяжется с вами.


Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML) ПрочитатьXML(ЧтениеXML);

Описание ошибки:
Ошибка при попытке загрузить описание структуры метаданных в базу конфигурации 1С: Конвертация данных 8, ред. 2.1. Версия платформы 1С: Предприятие 8.3.7.1845

Найденные решения:

Кажется, наверное, что вряд ли бы столкнулся с данной ошибкой, как оказалось не столь редкой. Мне была предоставлена база конфигурации 1С: Конвертация данных 8 ред. 2.0. В которой уже имелись правила обмена, которые нужно было доработать под требуемую задачу. Но для того, чтобы выполнить доработку, необходимо было обновить описание конфигураций посредством загрузки нового описания из файла-описания конфигурации базы-приемника и источника.

Как известо файл-описания конфигурации подготавливается с помощью поставляющегося с 1С: Конвертация данных 8 файла MD82Exp.epf. Традиционно выполнив создание файла-описания структуры конфигурации, перешел к процессу «загрузки метаданных структуры конфигурации» в базе конвертации. И неожиданно по истечении некоторого времени после, казалось бы, удачногостарта процесса загрузки получил ошибку: {Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML)
            ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML: [sfile://C:/Базы 1С/А__/______.xml][171,22]

1с 8 Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML) ПрочитатьXML(ЧтениеXML);

1C 8 конвертация ошибка при загрузке описания конфигурации {Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML)

Удивлению не было предела. Казалось бы столько раз выполнял подобную процедуру. Но такое в первый раз. Оценив шансы на то, что в интернете быстрее найду решение проблемы, чем в документации, оказался прав. На форуме сайта infostart была найдена подсказка о том, что спешка меня подвела.

Таким образом, оценив версию релиза предоставленной базы с версией папки шабонов, изкоторой был выбран файл обработки для формирования описания структуры метаданных конфигурации, стало ясно, что проблема в том, что обработка (точнее релиз, с которым она была предоставлена) не соответствует релизу базы.

1С 8 конвертация данных Ошибка разбора xml при загрузке описания структуры конфигурации, конфы

Соответственно, установка обновления 1С: Конвертация данных релиза 2.1.7.1 и использование файла MD82Exp.epf из папки шаблона релиза разрешило проблему. Ошибка больше не проявилась.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

14-12-2016

Журавлев А.С.
(Сайт www.azhur-c.ru)

Glin

16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

1

13.04.2018, 08:00. Показов 21319. Ответов 8

Метки нет (Все метки)


Здравствуйте, при обмене выдаёт ошибку
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.Модуль Объекта(128)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка данных XML — Нарушение прав доступа!
по причине:
Нарушение прав доступа!

В XML нашёл на чём стопориться

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<CatalogObject.ТипыНоменклатурыРасширенные>
            <Ref>8b0b5c42-f6c9-11e7-b900-b06ebfcdd555</Ref>
            <DeletionMark>false</DeletionMark>
            <Description>Лекарственное средство</Description>
            <PredefinedDataName>ЛекарственноеСредство</PredefinedDataName>
            <ТипНоменклатуры>Товар</ТипНоменклатуры>
        </CatalogObject.ТипыНоменклатурыРасширенные>
        <CatalogObject.ТипыНоменклатурыРасширенные>
            <Ref>8b0b5c43-f6c9-11e7-b900-b06ebfcdd555</Ref>
            <DeletionMark>false</DeletionMark>
            <Description>Товар</Description>
            <PredefinedDataName>Товар</PredefinedDataName>
            <ТипНоменклатуры>Товар</ТипНоменклатуры>
        </CatalogObject.ТипыНоменклатурыРасширенные>
        <CatalogObject.ТипыНоменклатурыРасширенные>
            <Ref>8b0b5c44-f6c9-11e7-b900-b06ebfcdd555</Ref>
            <DeletionMark>false</DeletionMark>
            <Description>Услуга</Description>
            <PredefinedDataName>Услуга</PredefinedDataName>
            <ТипНоменклатуры>Услуга</ТипНоменклатуры>
        </CatalogObject.ТипыНоменклатурыРасширенные>

1С:Предприятие 8.3 (8.3.11.3034)
Конфигурация БА
подскажите как можно это обойти

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

13.04.2018, 08:02

2

И все таки думаю проблема в том, что прав не хватает

0

16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 08:30

 [ТС]

3

Так захожу под Администратором с полными правами

Добавлено через 1 минуту
Получается так, что данные берутся из Справочника ТипыНоменклатурыРасширенные, а реквизит справочника ссылается на перечисление где содержится 2 значения Услуга и Товар

0

Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

13.04.2018, 08:36

4

При каком действие то ошибка вылетает? При чтении файла, или при создании объекта?

0

16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 08:48

 [ТС]

5

при чтении

Добавлено через 1 минуту
если удалить данный кусок XML то всё загружается, только в поле ТипНоменклатуры пишет объект не найден

0

Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

13.04.2018, 08:50

6

У пользователя винды есть права на папкуфайла?
Файл лежит на машине где 1с запущена, или как то через сеть прокинута?

Добавлено через 34 секунды
Можете скинуть обработку и файл?

1

16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 08:58

 [ТС]

7

файл не могу к сожалению скинуть перс. данные в нём . файл лежит на машине где запушена 1с, конфигурации баз совпадают

0

16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 09:00

 [ТС]

8

можно так, пробовал отдельно подгрузить та же ошибка

0

16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 10:30

 [ТС]

9

Егор спасибо вам, проблему решил всё дело в правах как вы и говорили, только не туда смотрел, у справочника в правах для роли Администратор не были включены права на изменение, хотя роль ПолныеПрава была выбрана
Тема закрыта

0

Sergei
26.10.2011 13:13 Прочитано: 9547

При загрузке данных из файла возникает следующая ошибка: {Форма.Форма.Форма(99)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ПередачаОС = ПрочитатьXML(ЧтениеXML);
по причине:
Значения данного типа не могут быть представлены в XML

Вот код:

Код 1C v 8.х

 ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПутьКФайлам+"ПередачаОС.xml");
ПередачаОС = ПрочитатьXML(ЧтениеXML);
ДокументОбъект = Документы.ПередачаОС.СоздатьДокумент();
Документ = Документы.ПередачаОС.ПолучитьФормуНовогоДокумента();
Документ.Открыть();
ЧтениеXML.Закрыть()

Изменено 26.10.11 15:34:34 по причине: Разукрасил код

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
26.10.2011 14:50 Ответ № 1

(0) Sergei, а откуда у тебя файл? каким кодом его выгружал?

Sergei
26.10.2011 14:59 Ответ № 2

Делал следующую выгрузку:
Код 1C v 8.х

 Файл = Новый ЗаписьXML;
Файл.ОткрытьФайл(ПутьКФайлам+"ПередачаОС.xml");
Файл.ЗаписатьОбъявлениеXML();
Файл.ЗаписатьНачалоЭлемента("Корневой");
Файл.ЗаписатьАтрибут("Документ", "ПередачаОС");
Файл.ЗаписатьКомментарий("Формирование списка документов");
Выборка = Документы.ПередачаОС.Выбрать();
Пока Выборка.Следующий() Цикл
Файл.ЗаписатьНачалоЭлемента("Документ");
Файл.ЗаписатьАтрибут("Номер", Строка(Выборка.Номер));
Файл.ЗаписатьАтрибут("Дата", Строка(Выборка.Дата));
Файл.ЗаписатьАтрибут("Организация", Строка(Выборка.Организация));
Файл.ЗаписатьАтрибут("Контрагент", Строка(Выборка.Контрагент));
Файл.ЗаписатьАтрибут("ДоговорКонтрагента", Строка(Выборка.ДоговорКонтрагента));
Для Каждого НовСтрока Из Выборка.ОС Цикл
Файл.ЗаписатьНачалоЭлемента("Строка");
Файл.ЗаписатьАтрибут("ОсновноеСредство", Строка(НовСтрока.ОсновноеСредство));
Файл.ЗаписатьАтрибут("Сумма", Строка(НовСтрока.Сумма));
Файл.ЗаписатьАтрибут("СтавкаНДС", Строка(НовСтрока.СтавкаНДС));
Файл.ЗаписатьАтрибут("СуммаНДС", Строка(НовСтрока.СуммаНДС));
Файл.ЗаписатьТекст(НовСтрока.ОсновноеСредство.Наименование);
Файл.ЗаписатьКонецЭлемента();
КонецЦикла;
Файл.ЗаписатьКонецЭлемента();
КонецЦикла;
Файл.ЗаписатьКонецЭлемента();
Файл.Закрыть();

Изменено 26.10.11 15:34:17 по причине: Разукрасил код

E_Migachev
26.10.2011 15:36 Ответ № 3

(2) Sergei, читай кодом, типо:
Код 1C v 8.х

 ЧтениеXML = Новый ЧтениеXML();

ЧтениеXML.ОткрытьФайл("c:doc.xml");
// Текущим становится элемент Root.
ЧтениеXML.Прочитать();

// Текущим становится элемент с документом.
ЧтениеXML.Прочитать();

// Проверить, сможет ли с данным значением "справиться" система сериализации в данной базе.
Если ВозможностьЧтенияXML(ЧтениеXML) Тогда
// Получить ДокументОбъект.РеализацияТоваровУслуг.
ЗагружаемыйОбъект = ПрочитатьXML(ЧтениеXML);
ЗагружаемыйОбъект.Записать();
КонецЕсли;

ЧтениеXML.Закрыть()

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

XmlDataExchange

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

  1. Перенос данных с использованием правил обмена и обработки «Обмен данными XML». Правила обмена создаются с помощью конфигурации 1С:Конвертация данных.
  2. Перенос данных между похожими информационными базами обработкой «Выгрузка и загрузка данных XML».

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

Условие использования этой обработки следующее: В информационной базе, из которой выгружаются данные, должны присутствовать такие же объекты и с такими же реквизитами (наименование и тип данных), как и в базе, в которую производится загрузка данных.

Рассмотрим пример с переносом данных этой обработкой. Предположим, нужно перенести документы «Платёжное поручение входящее» и «Платёжное поручение исходящее». Решение этой задачи будет следующим.

Открываем внешнюю обработку «Выгрузка и загрузка данных XML» через главное меню: Файл ? Открыть… На вкладке «Выгрузка» указываем файл XML, в который мы будем сохранять данные.

image001

Затем нужно указать период, за который будем выгружать объекты данных из базы 1С и сами объекты. Нужные нам для выгрузки документы помечаем галочкой в поле структуры объектов конфигурации в столбце «Данные для выгрузки». Если в выгружаемых документах есть ссылки на элементы справочников, которых нет в другой конфигурации, то имеет смысл проставить галочки в столбце «При необходимости», чтобы эти элементы тоже выгрузились вместе с документами.

image003

Теперь на данном шаге нужно решить, выгружать ли вместе с документами их движения по регистрам или перепровести эти документы уже в другой базе? Для перепроведения выгружаемых документов уже в другой базе можно воспользоваться обработкой «Групповая обработка справочников и документов». Если алгоритмы проведения в данных информационных базах чем-то отличаются, то галочку напротив «Выгружать с документом все его движения» ставить не следует.

image005

Вот и всё, настройка выгрузки закончена, здесь всё просто! Нажимаем кнопку «Выгрузить данные» и ждём пока данные сохраняться в файл XML. Для более сложных выгрузок можно задавать отбор на выгружаемые объекты не только по периоду.

После выгрузки переходим во вторую базу 1С и открываем там эту же обработку. Переходим на вкладку «Загрузка» и указываем здесь тот же файл XML, в который мы выгрузили данные.

image007

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

Обработку «Выгрузка и загрузка данных XML» (версия 2.1.8) для платформы 1С:Предприятие v8.3 (тонкий клиент) можно скачать здесь.

Обработку «Выгрузка и загрузка данных XML» (версия 2.1.6) для платформы 1С:Предприятие v8.2 (толстый клиент) можно скачать здесь.

Содержание:

1.       Основные сведения про языки XML и HTML

2.       Возникновение ошибки преобразования данных

3.       Причины появления и решения ошибки преобразования 1С

Здравствуйте, коллеги! В данной статье будет рассмотрена ошибка преобразования данных XML: причины её возникновения и инструкция по ее устранению несколькими вариантами.  

1.    Основные сведения про языки XML и HTML

Для начала разберём, что такое XML. XML (еXtensible Markup Language) – это язык программирования, который необходим, чтобы хранить данные. В XML необходимо самим определять теги, так как изначально оны не определены. Особенность XML заключается в том, что это самоопределяемый язык. Языки XML и HTML довольно похожи. Единственное отличие между ними – назначение: HTML отображает данные и решает, в каком виде будет их отображение, когда XML только хранит и транспортирует данные. 

2.    Возникновение ошибки преобразования данных

Обычно ошибка преобразования данных возникает, когда вызывается метод из контекста (ПрочитатьXML) в следующем виде: ЗаписатьЗначение = Прочитать XML(Чтение XML).

Это происходит, когда настраивается обмен данными при помощи стандартной обработки. Это может быть обработка загрузки или выгрузки XML.

Выглядит ошибка преобразования в 1С следующим образом:

Рис. 1 Ошибка преобразования 1С 8.3  

3.    Причины появления и решения ошибки преобразования 1С

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

Есть несколько возможных причин появления данной ошибки.

1. Когда структура с метаданными в конфигурации не соответствует. Если «действие» происходит в узле, который является главным. В данном случае конфигурация, скорее всего, различается. То есть, когда происходит внешняя обработка с загрузкой или выгрузкой XML, то конфигурации должны быть одинаковыми, иначе будет возникать ошибка преобразования. В случае, когда данные передаются по стандартным обменам в конфигурации, нужно проверить совпадения объекта метаданных в правилах по обмену.

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

Если же все вышеперечисленное правильно, в узле, который отправляет данные, необходимо запустить обработку «ВыгрузкаЗагрузкаДанныхXML.epf», которая находится в каталоге с шаблоном конфигураций, в составе конфигурации «Конвертация данных». Кликаем на «Недопустимые символы в плане обмена» и выбираем узел, который получает данные. В случае, если по окончанию проверки появятся ошибки, для окончательного устранения ошибки преобразования XML нужно будет решить те небольшие неполадки.

В данной статье была рассмотрена ошибка преобразования данных XML, которая возникает при стандартных обменах. Также было выведено две причины её возникновения и описано три возможных способа решения ошибки преобразования данных в 1С 8.3.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Содержание:

1.       Основные сведения про языки XML и HTML

2.       Возникновение ошибки преобразования данных

3.       Причины появления и решения ошибки преобразования 1С

Здравствуйте, коллеги! В данной статье будет рассмотрена ошибка преобразования данных XML: причины её возникновения и инструкция по ее устранению несколькими вариантами.  

1.    Основные сведения про языки XML и HTML

Для начала разберём, что такое XML. XML (еXtensible Markup Language) – это язык программирования, который необходим, чтобы хранить данные. В XML необходимо самим определять теги, так как изначально оны не определены. Особенность XML заключается в том, что это самоопределяемый язык. Языки XML и HTML довольно похожи. Единственное отличие между ними – назначение: HTML отображает данные и решает, в каком виде будет их отображение, когда XML только хранит и транспортирует данные. 

2.    Возникновение ошибки преобразования данных

Обычно ошибка преобразования данных возникает, когда вызывается метод из контекста (ПрочитатьXML) в следующем виде: ЗаписатьЗначение = Прочитать XML(Чтение XML).

Это происходит, когда настраивается обмен данными при помощи стандартной обработки. Это может быть обработка загрузки или выгрузки XML.

Выглядит ошибка преобразования в 1С следующим образом:

Рис. 1 Ошибка преобразования 1С 8.3  

3.    Причины появления и решения ошибки преобразования 1С

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

Есть несколько возможных причин появления данной ошибки.

1. Когда структура с метаданными в конфигурации не соответствует. Если «действие» происходит в узле, который является главным. В данном случае конфигурация, скорее всего, различается. То есть, когда происходит внешняя обработка с загрузкой или выгрузкой XML, то конфигурации должны быть одинаковыми, иначе будет возникать ошибка преобразования. В случае, когда данные передаются по стандартным обменам в конфигурации, нужно проверить совпадения объекта метаданных в правилах по обмену.

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

Если же все вышеперечисленное правильно, в узле, который отправляет данные, необходимо запустить обработку «ВыгрузкаЗагрузкаДанныхXML.epf», которая находится в каталоге с шаблоном конфигураций, в составе конфигурации «Конвертация данных». Кликаем на «Недопустимые символы в плане обмена» и выбираем узел, который получает данные. В случае, если по окончанию проверки появятся ошибки, для окончательного устранения ошибки преобразования XML нужно будет решить те небольшие неполадки.

В данной статье была рассмотрена ошибка преобразования данных XML, которая возникает при стандартных обменах. Также было выведено две причины её возникновения и описано три возможных способа решения ошибки преобразования данных в 1С 8.3.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML) ПрочитатьXML(ЧтениеXML);

Описание ошибки:
Ошибка при попытке загрузить описание структуры метаданных в базу конфигурации 1С: Конвертация данных 8, ред. 2.1. Версия платформы 1С: Предприятие 8.3.7.1845

Найденные решения:

Кажется, наверное, что вряд ли бы столкнулся с данной ошибкой, как оказалось не столь редкой. Мне была предоставлена база конфигурации 1С: Конвертация данных 8 ред. 2.0. В которой уже имелись правила обмена, которые нужно было доработать под требуемую задачу. Но для того, чтобы выполнить доработку, необходимо было обновить описание конфигураций посредством загрузки нового описания из файла-описания конфигурации базы-приемника и источника.

Как известо файл-описания конфигурации подготавливается с помощью поставляющегося с 1С: Конвертация данных 8 файла MD82Exp.epf. Традиционно выполнив создание файла-описания структуры конфигурации, перешел к процессу «загрузки метаданных структуры конфигурации» в базе конвертации. И неожиданно по истечении некоторого времени после, казалось бы, удачногостарта процесса загрузки получил ошибку: {Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML)
            ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML: [sfile://C:/Базы 1С/А__/______.xml][171,22]

1с 8 Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML) ПрочитатьXML(ЧтениеXML);

1C 8 конвертация ошибка при загрузке описания конфигурации {Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML)

Удивлению не было предела. Казалось бы столько раз выполнял подобную процедуру. Но такое в первый раз. Оценив шансы на то, что в интернете быстрее найду решение проблемы, чем в документации, оказался прав. На форуме сайта infostart была найдена подсказка о том, что спешка меня подвела.

Таким образом, оценив версию релиза предоставленной базы с версией папки шабонов, изкоторой был выбран файл обработки для формирования описания структуры метаданных конфигурации, стало ясно, что проблема в том, что обработка (точнее релиз, с которым она была предоставлена) не соответствует релизу базы.

1С 8 конвертация данных Ошибка разбора xml при загрузке описания структуры конфигурации, конфы

Соответственно, установка обновления 1С: Конвертация данных релиза 2.1.7.1 и использование файла MD82Exp.epf из папки шаблона релиза разрешило проблему. Ошибка больше не проявилась.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

14-12-2016

Журавлев А.С.
(Сайт www.azhur-c.ru)

Ошибка преобразования данных XML при работе в 1С является стандартной и распространенной ошибкой. При возникновении этой ошибки блокируется дальнейшая работа с документами.

Напомним, что XML это язык программирования, чем-то похожий на HTML. Разница в том, что HTML регламентирует отображение элементов на странице, то есть браузер «считывает» HTML теги и показывает пользователям веб-страницу, согласно тегам. А XML ничего не регламентирует, он только сохраняет и транспортирует информацию. 

Ошибка преобразования данных XML обычно появляется тогда, когда нарушается последовательность при принятии периферийным узлом информации от центрального узла. Когда эта ошибка появляется на главном узле в момент передачи на второстепенный узел, тогда самое важное вначале устранить саму проблему, а не менять сразу настройки главного узла. Если это сделать (менять настройки), тогда присутствует риск возникновения такой же проблемы на второстепенном узле, поэтому важно для начала проанализировать и найти причину возникновения ошибки и устранить ее.

Ошибка преобразования данных XML в 1С: основные причины

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

  1. Иногда ошибка преобразования данных XML возникает по достаточно простой причине, например, из-за того, что в передаваемом документе присутствуют недопустимые символы, а второстепенный узел просто не может их прочитать. Так ли это? Можно проверить на отправляющем узле, если открыть проверку «ВыгрузкаЗагрузкаДанныхXML.epf». Если причина в этом, тогда вы получите соответствующее сообщение. Если сообщения нет, тогда можно искать другие причины и устранять их.

  2. Технические неполадки в файловой системе. Ошибка появляется, потому что XML-файл не может быть прочитан. Такая проблема может быть связана с неправильным именем передаваемого файла, то есть узел-получатель не может прочитать имя передаваемого файла. Чтобы устранить эту причину, нужно на узле-отправителе поменять имя у передаваемого файла и отправить его еще раз. Если ошибка преобразования данных XML была из-за имени, тогда после переименования она устранится.

  3. Не соответствуют метаданные между узломотправителем и узломполучателем. Важно помнить, что безошибочная передача данных XML между узлами возможна лишь в том случае, если оба узла используют идентичную конфигурацию. Поэтому нужно исследовать правила обмена данными в обоих узлах на их соответствие. Если найдены какие-то различия, тогда устраните их и попробуйте еще раз передать XML-файл.

Заключение

Ошибка преобразования данных XML возникает в 1С нечасто, но в то же время это самый распространенный вид ошибки. Причин возникновения может быть несколько, и о них мы сегодня написали. Все ли причины возникновения ошибки мы перечислили? Нет, не все, но это самые распространенные, которые наиболее часто встречаются на практике.

При использовании обработки с диска ИТС (ВыгрузкаЗагрузкаДанныхXML), выходит сообщение об ошибке, в момент ЗАГРУЗКИ:

{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(147)}: Ошибка при вызове метода контекста (ПрочитатьXML)

            ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);

по причине:

Ошибка преобразования данных XML: [file://C:/TANYA_New/88888888888888/поступление_2.xml][82,4]

Из копии Бухгалтерии1, перегружаем в рабочую Бухгалтерию2 документ «ПоступлениеТоваров и Услуг» (в нем всего одна позиция) и при загрузке (этой же обработкой, выдает ошибку выше.

Платформа 8.2.19.80.

Выгружаем из версии Бухгалтерии 2.0.54.13

Загружаем в версию Бухгалтерии 2.0.53.8

)

Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML) ПрочитатьXML(ЧтениеXML);

Описание ошибки:
Ошибка при попытке загрузить описание структуры метаданных в базу конфигурации 1С: Конвертация данных 8, ред. 2.1. Версия платформы 1С: Предприятие 8.3.7.1845

Найденные решения:

Кажется, наверное, что вряд ли бы столкнулся с данной ошибкой, как оказалось не столь редкой. Мне была предоставлена база конфигурации 1С: Конвертация данных 8 ред. 2.0. В которой уже имелись правила обмена, которые нужно было доработать под требуемую задачу. Но для того, чтобы выполнить доработку, необходимо было обновить описание конфигураций посредством загрузки нового описания из файла-описания конфигурации базы-приемника и источника.

Как известо файл-описания конфигурации подготавливается с помощью поставляющегося с 1С: Конвертация данных 8 файла MD82Exp.epf. Традиционно выполнив создание файла-описания структуры конфигурации, перешел к процессу «загрузки метаданных структуры конфигурации» в базе конвертации. И неожиданно по истечении некоторого времени после, казалось бы, удачногостарта процесса загрузки получил ошибку: {Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML)
            ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML: [sfile://C:/Базы 1С/А__/______.xml][171,22]

1с 8 Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML)    ПрочитатьXML(ЧтениеXML);

1C 8 конвертация ошибка при загрузке описания конфигурации {Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(74)}: Ошибка при вызове метода контекста (ПрочитатьXML)

Удивлению не было предела. Казалось бы столько раз выполнял подобную процедуру. Но такое в первый раз. Оценив шансы на то, что в интернете быстрее найду решение проблемы, чем в документации, оказался прав. На форуме сайта infostart была найдена подсказка о том, что спешка меня подвела.

Таким образом, оценив версию релиза предоставленной базы с версией папки шабонов, изкоторой был выбран файл обработки для формирования описания структуры метаданных конфигурации, стало ясно, что проблема в том, что обработка (точнее релиз, с которым она была предоставлена) не соответствует релизу базы.

1С 8 конвертация данных Ошибка разбора xml при загрузке описания структуры конфигурации, конфы

Соответственно, установка обновления 1С: Конвертация данных релиза 2.1.7.1 и использование файла MD82Exp.epf из папки шаблона релиза разрешило проблему. Ошибка больше не проявилась.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

14-12-2016

Журавлев А.С.
(Сайт www.azhur-c.ru)

Грабли метода ПрочитатьXML() объекта ФабрикаXDTO

Что таит в себе окно редактирования XDTO-пакета

Фабрика XDTO — это библиотека типов, которая описывает определенные структуры XML. В языке программирования платформы 1С имеется объект ФабрикаXDTO, который содержит все пакеты XDTO, имеющиеся в конфигурации, а также предопределенные пакеты (например, пакет типов XML схемы). У данного объекта метод ПрочитатьXML(), позволяет читать элементы данных XDTO указанного типа из объекта чтения XML:


ФайлXML = Новый ЧтениеXML;
ФайлXML.УстановитьСтроку(СтрокаXML);

Пока ФайлXML.Прочитать() Цикл

Если ФайлXML.ЛокальноеИмя = "Message" И ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ФайлXML);
КонецЕсли;

КонецЦикла;

ФайлXML.Закрыть();

Первый параметр метода является обязательным, в который передается объект чтения XML. Второй параметр метода необязательный, в который передается тип элемента данных XDTO. Если тип не указан, то будет сделана попытка определить тип данных по текущему состоянию объекта ЧтениеXML.

Допустим, создадим тип в пакете XDTO  с пространством имен http://lk.1cps.ru, который будет описывать некую структуру XML:

1. Тип «Документы»

Кусок структуры XML:
...
<Документы>
<РасчетФБ>
<Культура>12122</Культура>
<ПосевнаяПлощадь>23</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>276</Сумма>
</РасчетФБ>
<РасчетФБ>
<Культура>232323</Культура>
<ПосевнаяПлощадь>34</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>408</Сумма>
</РасчетФБ>
</Документы>
...

Прочитаем эту структуру:

Пока ФайлXML.Прочитать() Цикл
Если ФайлXML.ЛокальноеИмя = "Документы" И ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ФайлXML, ФабрикаXDTO.Тип("http://lk.1cps.ru", "ДокументыТип"));
Прервать;
КонецЕсли;
КонецЦикла;

Приведенный код будет завершать ошибкой чтения XML, примерно такой:

Ошибка при вызове метода контекста (ПрочитатьXML)
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ФайлXML, ФабрикаXDTO.Тип("http://lk.1cps.ru", "ДокументыТип"));
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://lk.1cps.ru}ДокументыТип - [126,19]
Проверка дополнительного свойства:
форма: Элемент
имя: {http://lk.1cps.ru}Культура
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://lk.1cps.ru}ДокументыТип

ПРОШЛО 4 ЧАСА :(

Так как выше приведенный кусок структуры XML не относится к пространству имен http://lk.1cps.ru, то и метод ПрочитатьXML() выкидывал ошибку, несмотря на то, что тип правильно описывает структуру XML! Поэтому XML должен выглядеть так:
...
<Документы xmlns="http://lk.1cps.ru">
<РасчетФБ>
<Культура>12122</Культура>
<ПосевнаяПлощадь>23</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>276</Сумма>
</РасчетФБ>
<РасчетФБ>
<Культура>232323</Культура>
<ПосевнаяПлощадь>34</ПосевнаяПлощадь>
<СтавкаСубсидий>12</СтавкаСубсидий>
<Сумма>408</Сумма>
</РасчетФБ>
</Документы>
...

Вот такие пироги.

Skip to content

Ошибка при вызове метода контекста (ПрочитатьXML)
ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML

или

«Ошибка загрузки: Неверный формат файла выгрузки»

Очень часто при настройке обменов данных с помощью универсальной обработки загрузки/выгрузки XML возникает эта ошибка. Рассмотрим ниже основные причины появления данной ошибки, и как можно исправить её.

Не соответствие структуры метаданных конфигурации

Проблема скорее всего в том, что конфигурация просто отличается.
Если Вы передаете через внешнюю обработку Загрузки/выгрузки XML, то Вы можете передавать данные только между идентичными конфигурациями.

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

Ошибка файловой системы

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

Внимание! Если у вас остались вопросы или что-то не получилось, будем рады оказать Вам персональную техническую помощь. Заполните заявку и наш специалист свяжется с вами.


Glin

16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

1

13.04.2018, 08:00. Показов 34296. Ответов 8

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Здравствуйте, при обмене выдаёт ошибку
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(128)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ЗаписанноеЗначение = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка данных XML — Нарушение прав доступа!
по причине:
Нарушение прав доступа!

В XML нашёл на чём стопориться

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<CatalogObject.ТипыНоменклатурыРасширенные>
            <Ref>8b0b5c42-f6c9-11e7-b900-b06ebfcdd555</Ref>
            <DeletionMark>false</DeletionMark>
            <Description>Лекарственное средство</Description>
            <PredefinedDataName>ЛекарственноеСредство</PredefinedDataName>
            <ТипНоменклатуры>Товар</ТипНоменклатуры>
        </CatalogObject.ТипыНоменклатурыРасширенные>
        <CatalogObject.ТипыНоменклатурыРасширенные>
            <Ref>8b0b5c43-f6c9-11e7-b900-b06ebfcdd555</Ref>
            <DeletionMark>false</DeletionMark>
            <Description>Товар</Description>
            <PredefinedDataName>Товар</PredefinedDataName>
            <ТипНоменклатуры>Товар</ТипНоменклатуры>
        </CatalogObject.ТипыНоменклатурыРасширенные>
        <CatalogObject.ТипыНоменклатурыРасширенные>
            <Ref>8b0b5c44-f6c9-11e7-b900-b06ebfcdd555</Ref>
            <DeletionMark>false</DeletionMark>
            <Description>Услуга</Description>
            <PredefinedDataName>Услуга</PredefinedDataName>
            <ТипНоменклатуры>Услуга</ТипНоменклатуры>
        </CatalogObject.ТипыНоменклатурыРасширенные>

1С:Предприятие 8.3 (8.3.11.3034)
Конфигурация БА
подскажите как можно это обойти



0



Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

13.04.2018, 08:02

2

И все таки думаю проблема в том, что прав не хватает



0



16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 08:30

 [ТС]

3

Так захожу под Администратором с полными правами

Добавлено через 1 минуту
Получается так, что данные берутся из Справочника ТипыНоменклатурыРасширенные, а реквизит справочника ссылается на перечисление где содержится 2 значения Услуга и Товар



0



Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

13.04.2018, 08:36

4

При каком действие то ошибка вылетает? При чтении файла, или при создании объекта?



0



16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 08:48

 [ТС]

5

при чтении

Добавлено через 1 минуту
если удалить данный кусок XML то всё загружается, только в поле ТипНоменклатуры пишет объект не найден



0



Тест

Эксперт 1С

383 / 162 / 56

Регистрация: 26.02.2010

Сообщений: 1,241

13.04.2018, 08:50

6

У пользователя винды есть права на папкуфайла?
Файл лежит на машине где 1с запущена, или как то через сеть прокинута?

Добавлено через 34 секунды
Можете скинуть обработку и файл?



1



16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 08:58

 [ТС]

7

файл не могу к сожалению скинуть перс. данные в нём . файл лежит на машине где запушена 1с, конфигурации баз совпадают



0



16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 09:00

 [ТС]

8

можно так, пробовал отдельно подгрузить та же ошибка



0



16 / 16 / 5

Регистрация: 26.05.2014

Сообщений: 122

13.04.2018, 10:30

 [ТС]

9

Егор спасибо вам, проблему решил всё дело в правах как вы и говорили, только не туда смотрел, у справочника в правах для роли Администратор не были включены права на изменение, хотя роль ПолныеПрава была выбрана
Тема закрыта



0



  • Ошибка при вызове метода контекста получитьформуновогодокумента
  • Ошибка при вызове метода контекста создатькаталог
  • Ошибка при вызове метода контекста прочитатьjson представление даты имеет неверный формат
  • Ошибка при вызове метода контекста получитьформу неизвестное имя формы
  • Ошибка при вызове метода контекста создатьwsпрокси сервис не найден