ошибка преобразования данных xdto конец свойства props форма элемент тип
Ошибка преобразования данных XDTO в 1С
Ошибка преобразования данных XDTO: Текст XML содержит недопустимый символ.
На самом деле ошибка преобразования XDTO является не какой-то определенной ошибкой, а является большим семейством ошибок возникающих при работе одного из базовых механизмов платформы 1С. Этот механизм обеспечивает передачу данных между различными подсистемами платформы, при этом данные из внутреннего представления одной подсистемы преобразуются в текстовый формат XML, передаются в другую подсистему, и там опять преобразуются во внутреннее представление. Ошибка преобразования XDTO говорит, что прямом или обратном преобразовании обнаружено какое-то несоответствие, из-за которого оно не может быть выполнено.
Частные причины ошибки
Существует очень много частных причин ошибки преобразования XDTO. Сведения доступные под кнопкой Подробно могут помочь в понимании частной причины, но далеко не всегда.
Прежде чем приступить к диагностике причины ошибки XDTO, следует выполнить стандартные профилактические операции над ИБ: очистить кэш, проверить состояния файла, выполнить тестирование ИБ.
Взаимодействие Клиента и Сервера
При запуске 1С в режиме Тонкий клиент взаимодействие клиента с ИБ происходит с использование преобразования XDTO, и если оно приводит к ошибке, то в тех случаях, когда это возможно, следует воспользоваться режим Толстый клиент.
Сырые и Неоригинальные решения
Если ошибка преобразования XDTO возникает в неоригинальной конфигурации или неоригинальной обработке, то возможно, причина в неоригинальном коде, который не был должным образом оттестирован. Это возможно и в оригинальных решения от 1С после установки сырых обновлений.
В этом случае необходимо отказаться от использования неоригинального или сырого решения и вернуться к предыдущему состоянию кода из архива.
Ошибка преобразования данных XDTO, управляемые формы
Коллеги, всем добрый день!
Сегодня я поймал очень интересный кейс, первый раз за свою практику.
При открытии управляемой формы списка одного из регистра сведений, возникает ошибка
<ОбщийМодуль.ксПартии_Меркурий.Модуль(37)>: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму( «РегистрСведений.ксОтправленнаяПродукция_Меркурий.Форма.АвтоматическоеСозданиеПартий»,
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: < http://v8.1c.ru/8.2/uobjects >v
по причине:
Неизвестное свойство:
Свойство ‘ВСД’ не обнаружено
Ошибка на мой взгляд не связана с программным кодом (если шагать по отладке, то прошагаем обработчик ПриСозданииНаСервере, далее падает в это исключение, сама процедура при этом успешно шагает до последней строчки кода).
Единственную закономерность которую я заметил это то, что я вчера обновлял эту базу, но на моем локальном ПК по этой базе видимо полностью устаревший кэш (в контрукторе запроса, поля таблицы абсолютно не соответствовали фактическим).
В моем случае данную проблему я полечил, добавив реквизит в регистр сведений, чтоб вызвать платформенную реструктуризацию и провел обновление на ПК разработчика, который всегда этим занимается, затем реквизит удалил. Проблема ушла.
А вот теперь вопрос, влияет ли локальный кэш ПК на обновляемую базу, если структура метаданных локального кэша не соответствует фактической структуре таблицы БД?
Хотелось бы послушать Ваши мысли или готовые ответы если кто уже сталкивался) Платформа 8.3.9.2170, режим совместимости 8.2.13.
На текущий момент единственные мои мысли только такие, что все таки мой локальный кэш ПК как-то повлиял на консистентность данных, что привело к некому логическому разрушению данных в таблице, которые в последующем не смогли быть преобразованы платформой для нормального отображения.
Старая структура таблицы (которая у меня сохранилась):
Новая структура таблицы (которая фактически):
Перед тем как дойти до этого:
После обновления Бухгалтерии предприятия 3.0 возникает ошибка «Ошибка преобразования данных XDTO:»
Вчера обновлял бухгалтерские базы, в частности 2 базы Бухгалтерия предприятия 3.0.
Базы стандартные, без изменений.
Обновление происходило на версию 3.0.34.13, платформа 8.3.4.437, базы серверные (Microsoft SQL Server 2008 R2).
После обновления все было нормально, сам запускал базу, пользователи не жаловались.
Но на следующий день, сегодня, у всех пользователей этих баз при попытке запуска в режиме 1С:Предприятие возникает ошибка:
Детальное описание ошибки:
<ОбщийМодуль.СтандартныеПодсистемыКлиентПовтИсп.Модуль(56)>: Ошибка при вызове метода контекста
(ПараметрыРаботыКлиентаПриЗапуске)
ПараметрыКлиента = СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиентаПриЗапуске(Параметры);
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: <http://v8.1c.ru/8.2/managed-application/modules>cli Форма: Элемент Тип:
<http://v8.1c.ru/8.1/data/core>FixedStructure
При выводе ошибки возможно либо «Завершить работу», либо «Перезапустить».
Если пользователь щелкает «Перезапустить», то со второго раза ему удается войти в программу, где он нормально работает.
Дополнительные сложности возникли у пользователей, который включили себе интерфейс Такси, у них при нажатии «Перезапустить» не получалось входить в 1с, появлялась еще одна ошибка.
Чистка кэша не помогает.
Способы решения:
1) Для быстрого временного решения проблемы можно в настройках базы в списке баз 1с установить основной режим запуска «Толстый клиент» вместо «Выбирать автоматически» (пользователю с включенный интерфейсом Такси это не помогло).
2) Включить возможность изменения конфигурации базы и добавить пустую строку в любой общий модуль (взято здесь: http://forum-mista.pro/topic.php?id=713977).
Второй способ решил проблему полностью.
РеКС — друг в мире компьютеров
Исходя из личного практического опыта поиска решения этой проблемы в Интернет, я выяснил, что у пользователей 1С:Предприятие 8.3 такая проблема случается не редко.
Общая причина ошибки
На самом деле ошибка преобразования XDTO является не какой-то определенной ошибкой, а является большим семейством ошибок возникающих при работе одного из базовых механизмов платформы 1С. Этот механизм обеспечивает передачу данных между различными подсистемами платформы, при этом данные из внутреннего представления одной подсистемы преобразуются в текстовый формат XML, передаются в другую подсистему, и там проходят обратное преобразование во внутреннее представление. Ошибка преобразования XDTO говорит, что прямом или обратном преобразовании обнаружено какое-то несоответствие, из-за которого оно не может быть выполнено.
Работа XDTO более подробно описана в серии статей «XDTO — это просто» на /infostart.ru
Частные причины ошибки
Существует очень много частных причин ошибки преобразования XDTO. Сведения доступные под кнопкой Подробно могут помочь в понимании частной причины, но далеко не всегда.
Прежде чем приступить к диагностике причины ошибки XDTO, следует выполнить стандартные профилактические операции над ИБ: очистить кэш, проверить состояния файла, выполнить тестирование ИБ.
Взаимодействие Клиента и Сервера
При запуске 1С в режиме Тонкий клиент взаимодействие клиента с ИБ происходит с использование преобразования XDTO, и если оно приводит к ошибке, то в тех случаях, когда это возможно, следует воспользоваться режим Толстый клиент.
Сырые и Неоригинальные решения
Если ошибка преобразования XDTO возникает в неоригинальной конфигурации или неоригинальной обработке, то возможно, причина в неоригинальном коде, который не был должным образом оттестирован. Это возможно и в оригинальных решения от 1С после установки сырых обновлений.
В этом случае необходимо отказаться от использования неоригинального или сырого решения и вернуться к предыдущему состоянию кода из архива.
Ошибка преобразования XDTO при загрузке данных из файлов
Если ошибка XDTO возникает при загрузке данных из файла, то причину ошибки можно обнаружить в самом файле. В моем случае, я выполнял загрузку данных данных из файла XML в новую ИБ, версия которой была несколько новее, чем версия ИБ источника. Во время загрузки возникала ошибка:
Ошибка передачи данных между клиентом и сервером. Ошибка преобразования данных XDTO.
Доброго времени суток. Просьба не кидаться тухлыми помидорами, только учусь 🙂 Т.к. учусь опишу задачу, вдруг совсем неправильно подхожу к ее решению.
Задача такая: необходимо открыть форму выбора справочника с отбором. Для этого получаю данные отбора из регистра запросом. С клиентской процедуры решил использовать функцию на сервере, которая вернет массив запроса. В последующем результат я обработаю уже на клиенте и открою форму с отбором.
В момент возвращения массива на клиентскую процедуру возникает ошибка, довольно длинная:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
форма: Элемент
имя:
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘Value’:
форма: Элемент
имя:
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘СтрокаТаблицыЗначений’
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘ret’:
форма: Элемент
имя:
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘Value’:
форма: Элемент
имя:
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘СтрокаТаблицыЗначений’
&НаСервере
Функция Бит_ТоварыНоменклатураНачалоВыбораНаСервере(СтрокаСАлкПрод)
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.Номенклатура КАК Номенклатура,
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.АлкогольнаяПродукция КАК АлкогольнаяПродукция
|ИЗ
| РегистрСведений.алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры КАК алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры
|
|СГРУППИРОВАТЬ ПО
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.Номенклатура,
| алкСоответствияАлкогольнойПродукцииЕГАИСИНоменклатуры.АлкогольнаяПродукция»;
ПараметрыОтбора = Новый Структура();
ПараметрыОтбора.Вставить(«АлкогольнаяПродукция»,СтрокаСАлкПрод);
НайденныеСтроки = РезультатЗапроса.НайтиСтроки(ПараметрыОтбора);
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
СтрокаСАлкПрод = ТекДанные.АлкогольнаяПродукция;
СтандартаяОбработка = ложь;
ПараметрыОтбораФормы = Новый Структура();
Для каждого стр из НайденныеСтроки Цикл
Значение = стр.Номенклатура;
ПараметрыОтбораФормы.Вставить(«Номенклатура»,Значение);
КонецЦикла;
ПараметрыОтбораФормы = ПолучитьИзВременногоХранилища(АдресХранилища);
Форма = ПолучитьФорму(«Справочник.Номенклатура.ФормаВыбора»,ПараметрыОтбораФормы);
Форма.Открыть();
КонецПроцедуры
ну ругайтесь, пожалуйста. облазил сколько смог перед тем как зарегаться тут

