Ошибка преобразования данных xdto как исправить
Ошибка преобразования данных XDTO в 1С
Ошибка преобразования данных XDTO: Текст XML содержит недопустимый символ.
На самом деле ошибка преобразования XDTO является не какой-то определенной ошибкой, а является большим семейством ошибок возникающих при работе одного из базовых механизмов платформы 1С. Этот механизм обеспечивает передачу данных между различными подсистемами платформы, при этом данные из внутреннего представления одной подсистемы преобразуются в текстовый формат XML, передаются в другую подсистему, и там опять преобразуются во внутреннее представление. Ошибка преобразования XDTO говорит, что прямом или обратном преобразовании обнаружено какое-то несоответствие, из-за которого оно не может быть выполнено.
Частные причины ошибки
Существует очень много частных причин ошибки преобразования XDTO. Сведения доступные под кнопкой Подробно могут помочь в понимании частной причины, но далеко не всегда.
Прежде чем приступить к диагностике причины ошибки XDTO, следует выполнить стандартные профилактические операции над ИБ: очистить кэш, проверить состояния файла, выполнить тестирование ИБ.
Взаимодействие Клиента и Сервера
При запуске 1С в режиме Тонкий клиент взаимодействие клиента с ИБ происходит с использование преобразования XDTO, и если оно приводит к ошибке, то в тех случаях, когда это возможно, следует воспользоваться режим Толстый клиент.
Сырые и Неоригинальные решения
Если ошибка преобразования XDTO возникает в неоригинальной конфигурации или неоригинальной обработке, то возможно, причина в неоригинальном коде, который не был должным образом оттестирован. Это возможно и в оригинальных решения от 1С после установки сырых обновлений.
В этом случае необходимо отказаться от использования неоригинального или сырого решения и вернуться к предыдущему состоянию кода из архива.
РеКС — друг в мире компьютеров
Исходя из личного практического опыта поиска решения этой проблемы в Интернет, я выяснил, что у пользователей 1С:Предприятие 8.3 такая проблема случается не редко.
Общая причина ошибки
На самом деле ошибка преобразования XDTO является не какой-то определенной ошибкой, а является большим семейством ошибок возникающих при работе одного из базовых механизмов платформы 1С. Этот механизм обеспечивает передачу данных между различными подсистемами платформы, при этом данные из внутреннего представления одной подсистемы преобразуются в текстовый формат XML, передаются в другую подсистему, и там проходят обратное преобразование во внутреннее представление. Ошибка преобразования XDTO говорит, что прямом или обратном преобразовании обнаружено какое-то несоответствие, из-за которого оно не может быть выполнено.
Работа XDTO более подробно описана в серии статей «XDTO — это просто» на /infostart.ru
Частные причины ошибки
Существует очень много частных причин ошибки преобразования XDTO. Сведения доступные под кнопкой Подробно могут помочь в понимании частной причины, но далеко не всегда.
Прежде чем приступить к диагностике причины ошибки XDTO, следует выполнить стандартные профилактические операции над ИБ: очистить кэш, проверить состояния файла, выполнить тестирование ИБ.
Взаимодействие Клиента и Сервера
При запуске 1С в режиме Тонкий клиент взаимодействие клиента с ИБ происходит с использование преобразования XDTO, и если оно приводит к ошибке, то в тех случаях, когда это возможно, следует воспользоваться режим Толстый клиент.
Сырые и Неоригинальные решения
Если ошибка преобразования XDTO возникает в неоригинальной конфигурации или неоригинальной обработке, то возможно, причина в неоригинальном коде, который не был должным образом оттестирован. Это возможно и в оригинальных решения от 1С после установки сырых обновлений.
В этом случае необходимо отказаться от использования неоригинального или сырого решения и вернуться к предыдущему состоянию кода из архива.
Ошибка преобразования XDTO при загрузке данных из файлов
Если ошибка XDTO возникает при загрузке данных из файла, то причину ошибки можно обнаружить в самом файле. В моем случае, я выполнял загрузку данных данных из файла XML в новую ИБ, версия которой была несколько новее, чем версия ИБ источника. Во время загрузки возникала ошибка:
Ошибка преобразования данных XDTO: 8.2
Выпадает такая ошибка при обращении с клиента на сервер:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/uobjects >v
по причине:
Текст XML содержит недопустимый символ в позиции 0 :
Обработка.ВозвратТоваровОтРозничногоПокупателя.Форма.Форма.Форма(1838)>: Ошибка при вызове метода контекста (ПолучитьСуммыПоВидуОплат)
ПолучитьСуммыПоВидуОплат(СуммаНаличнойОплаты, СуммаБезналичнойОплаты);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/uobjects >v
по причине:
Текст XML содержит недопустимый символ в позиции 0 :
Пародокс в том что до определенного момента все работало, потом перестала, причем ругается на код стандартный 1С.
Эксперементально выяснил, что глючит на Windows XP, причем пробывали запускать узел на разных машинах под XP результат один и тот же, на Windows7 всё работает.
покажите код, на котором вылетает.
и какой релиз платформы?
8.2.18.102 на 8.2.18.109 тоже самое
&НаКлиенте
Процедура ОбновитьПолеСдача()
СуммаНаличнойОплаты = 0;
СуммаБезналичнойОплаты = 0;
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| Оплата.ВидОплаты,
| Оплата.Сумма
|ПОМЕСТИТЬ ТаблицаОплат
|ИЗ
| &Оплата КАК Оплата
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА ТаблицаОплат.ВидОплаты = ЗНАЧЕНИЕ(Справочник.ВидыОплатЧекаККМ.ПустаяСсылка)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТаблицаОплат.ВидОплаты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипыОплатЧекаККМ.Наличные)
| ТОГДА ТаблицаОплат.Сумма
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ) КАК СуммаНаличнойОплаты,
| СУММА(ВЫБОР
| КОГДА ТаблицаОплат.ВидОплаты = ЗНАЧЕНИЕ(Справочник.ВидыОплатЧекаККМ.ПустаяСсылка)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА (НЕ ТаблицаОплат.ВидОплаты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипыОплатЧекаККМ.Наличные))
| ТОГДА ТаблицаОплат.Сумма
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ) КАК СуммаБезналичнойОплаты
|ИЗ
| ТаблицаОплат КАК ТаблицаОплат»;
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Если Выборка.Следующий() Тогда
Если ЗначениеЗаполнено(Выборка.СуммаНаличнойОплаты) Тогда
СуммаНаличнойОплаты = Выборка.СуммаНаличнойОплаты;
КонецЕсли;
Если ЗначениеЗаполнено(Выборка.СуммаБезналичнойОплаты) Тогда
СуммаБезналичнойОплаты = Выборка.СуммаБезналичнойОплаты;
КонецЕсли;
Ошибка передачи данных между клиентом и сервером. Ошибка преобразования данных XDTO.
Доброго времени суток. Просьба не кидаться тухлыми помидорами, только учусь 🙂 Т.к. учусь опишу задачу, вдруг совсем неправильно подхожу к ее решению.
Задача такая: необходимо открыть форму выбора справочника с отбором. Для этого получаю данные отбора из регистра запросом. С клиентской процедуры решил использовать функцию на сервере, которая вернет массив запроса. В последующем результат я обработаю уже на клиенте и открою форму с отбором.
В момент возвращения массива на клиентскую процедуру возникает ошибка, довольно длинная:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
форма: Элемент
имя:
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘Value’:
форма: Элемент
имя:
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘СтрокаТаблицыЗначений’
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
форма: Элемент
имя:
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘Value’:
форма: Элемент
имя:
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘СтрокаТаблицыЗначений’
&НаСервере
Функция Бит_ТоварыНоменклатураНачалоВыбораНаСервере(СтрокаСАлкПрод)
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.Номенклатура КАК Номенклатура,
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.АлкогольнаяПродукция КАК АлкогольнаяПродукция
|ИЗ
| РегистрСведений.алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры КАК алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры
|
|СГРУППИРОВАТЬ ПО
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.Номенклатура,
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.АлкогольнаяПродукция»;
ПараметрыОтбора = Новый Структура();
ПараметрыОтбора.Вставить(«АлкогольнаяПродукция»,СтрокаСАлкПрод);
НайденныеСтроки = РезультатЗапроса.НайтиСтроки(ПараметрыОтбора);
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
СтрокаСАлкПрод = ТекДанные.АлкогольнаяПродукция;
СтандартаяОбработка = ложь;
ПараметрыОтбораФормы = Новый Структура();
Для каждого стр из НайденныеСтроки Цикл
Значение = стр.Номенклатура;
ПараметрыОтбораФормы.Вставить(«Номенклатура»,Значение);
КонецЦикла;
ПараметрыОтбораФормы = ПолучитьИзВременногоХранилища(АдресХранилища);
Форма = ПолучитьФорму(«Справочник.Номенклатура.ФормаВыбора»,ПараметрыОтбораФормы);
Форма.Открыть();
КонецПроцедуры
ну ругайтесь, пожалуйста. облазил сколько смог перед тем как зарегаться тут
УПП 1.3.89 на 8.2.19.90 Ошибка преобразования данных XDTO:
через сравнение/объединение на 1.3.90.1 выдает ошибку:
Ошибка загрузки документа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: template Форма: Элемент Тип:
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: tableCell Форма: Элемент Тип:
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: item Форма: Элемент Тип:
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: value Форма: Элемент Тип:
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: scale Форма: Атрибут Тип:
Через загрузку cf загружается, под 8.3 тоже рабоает, только переход на 8.3 остается? нет других вариантов?
Кэш чистил
а с базой все норм?
работали под 8.2.19.106 не так давно не было такого
Внимание!
Текущий релиз конфигурации «Управление производственным
предприятием» предназначен для использования с версией системы
с версией 8.3.3.687(и выше)в режиме совместимости «Версия 8.2.13».
При работе с операционной системой Microsoft Windows 10 необходимо
использовать версию 8.3 платформы «1С:Предприятие».
Текущий релиз конфигурации «Управление производственным предприятием» предназначен для использования с версией системы 1С:Предприятие 8 не ниже 8.2.19, а также может использоваться с версией 8.3.3.687 (и выше) в режиме совместимости «Версия 8.2.13».