Ошибка преобразования данных xdto текст false

   XiPyPg2012

18.10.13 — 17:14

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.

по причине:

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

Текст: false

Листинг:

&НаСервере

Функция ВыполнитьПроверкуСПоступлениемТоваров(ЭтотОбъект,ЗадатьВопрос)

    //ЗадатьВопрос = «Не задавать»;

    ЭтотОбъект = ЭтотОбъект.ПолучитьОбъект();

    если ТипЗнч(этотОбъект.Распоряжение) = Тип(«ДокументСсылка.ПоступлениеТоваровУслуг») тогда

    ТоварыПО = ЭтотОбъект.Товары.Выгрузить();

    запрос = новый запрос;

    запрос.Текст = «ВЫБРАТЬ

                   |    ТоварыПО.Номенклатура,

                   |    ТоварыПО.Количество,

                   |    ТоварыПО.Характеристика

                   |ПОМЕСТИТЬ ТоварыПО

                   |ИЗ

                   |    &ТоварыПО КАК ТоварыПО

                   |;

                   |

                   |////////////////////////////////////////////////////////////////////////////////

                   |ВЫБРАТЬ

                   |    ТоварыПО.Номенклатура,

                   |    СУММА(ТоварыПО.Количество) КАК Количество,

                   |    ТоварыПО.Характеристика,

                   |    СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК Количество1,

                   |    ЕСТЬNULL(ПоступлениеТоваровУслугТовары.Номенклатура, ЛОЖЬ) КАК Номенклатура1

                   |ИЗ

                   |    ТоварыПО КАК ТоварыПО

                   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары

                   |        ПО (ПоступлениеТоваровУслугТовары.Номенклатура = ТоварыПО.Номенклатура)

                   |            И (ПоступлениеТоваровУслугТовары.Характеристика = ТоварыПО.Характеристика)

                   |

                   |СГРУППИРОВАТЬ ПО

                   |    ТоварыПО.Номенклатура,

                   |    ТоварыПО.Характеристика,

                   |    ЕСТЬNULL(ПоступлениеТоваровУслугТовары.Номенклатура, ЛОЖЬ)»;

    
    //Запрос.УстановитьПараметр («Ссылка»,ЭтотОбъект.Ссылка);

    Запрос.УстановитьПараметр («ТоварыПО»,ТоварыПО);

    
    Результат = Запрос.Выполнить();

    Выборка = Результат.Выбрать();

    Пока выборка.следующий() Цикл

    
        Если выборка.Номенклатура1 = ложь Тогда

            Сообщение = Новый СообщениеПользователю;

            Сообщение.Текст = «В приходном ордере присутствует номенклатура » + выборка.номенклатура + » которая отсутствует в поступлении.»;

            Сообщение.Сообщить();

            ЗадатьВопрос = истина;

        иначеесли выборка.Количество > выборка.Количество1 тогда

            Сообщение = Новый СообщениеПользователю;

            Сообщение.Текст = «В приходном ордере у номенклатуры » + выборка.Количество + » а в поступление » + выборка.количество1;

            Сообщение.Сообщить();

            ЗадатьВопрос = истина;

        КонецЕсли;

    
    КонецЦикла;

    КонецЕсли;

Возврат ЗадатьВопрос;

КонецФункции // ВыполнитьПроверкуСПоступлениемТоваров()

&НаКлиенте

Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)

    //<< Горбенко В.В. 18.10.2013

    ЗадатьВопрос = Ложь;

    задатьВопрос = ВыполнитьПроверкуСПоступлениемТоваров(Объект.Ссылка, ЗадатьВопрос);    

    Если задатьВопрос = «Задать вопрос» Тогда

         Режим = РежимДиалогаВопрос.ДаНет;

         Текст = «Желаете все равно провести документ?»;

         Ответ = Вопрос(НСтр(Текст), Режим, 0);

         Если Ответ = КодВозвратаДиалога.Нет Тогда

                       Отказ = истина;

         иначе

                     Отказ = Ложь;

         КонецЕсли;

    КонецЕсли;

    //>> Горбенко В.В.

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

Как с этим бороться ?

   mrDSide

11 — 18.10.13 — 21:39

т.е. если у Вас все одном общем модуле (и директивы «&НаСервере» и «&НаКлиенте»), то работать точно не будет.

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

   XiPyPg2012

12 — 21.10.13 — 08:27

у меня в модуле формы, и на УФ все запросы выполняются ток в процедурах и функциях на сервере…Так что в функция которая выполняется на сервере, передается ссылка на объект а там по ссылке он получается если есть такая необходимость, ну и соответственно потом возвращаешь что тебе нужно.

А щас что-то я глючу и не могу понять в чем косяк.

При входе в базу 1с вы можете увидеть “Ошибка преобразования данных XDTO:

Начало Свойства: errorProcessingSettings

Форма: Элемент

Тип: {http://v8.1c.ru/8.2/managed-application/core}ErrorProcessingSettings по причине

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

Есть простое решение данной проблемы.

Достаточно запустить базу доступным нам способом (где нет ошибки) включить Функции тех. специалиста (Меню — Настройки — Параметры — Режим технического специалиста)

В Функциях для технического специалиста ищем Управление настройками обработки ошибок (Стандартные)

Запускаем

Готово!

Уже более 10 000 компаний работают
в облачной 1С от 42Clouds

— Консультация по 1С Бесплатно!

— Поддержка 24/7 по техническим вопросам: в чате, по телефону, по почте

— Все типовые конфигурации онлайн, доступ через RDP, Remote App, Web

  

XiPyPg2012

18.10.13 — 17:14

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.

по причине:

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

Текст: false

Листинг:

&НаСервере

Функция ВыполнитьПроверкуСПоступлениемТоваров(ЭтотОбъект,ЗадатьВопрос)

    //ЗадатьВопрос = «Не задавать»;

    ЭтотОбъект = ЭтотОбъект.ПолучитьОбъект();

    если ТипЗнч(этотОбъект.Распоряжение) = Тип(«ДокументСсылка.ПоступлениеТоваровУслуг») тогда

    ТоварыПО = ЭтотОбъект.Товары.Выгрузить();

    запрос = новый запрос;

    запрос.Текст = «ВЫБРАТЬ

                   |    ТоварыПО.Номенклатура,

                   |    ТоварыПО.Количество,

                   |    ТоварыПО.Характеристика

                   |ПОМЕСТИТЬ ТоварыПО

                   |ИЗ

                   |    &ТоварыПО КАК ТоварыПО

                   |;

                   |

                   |////////////////////////////////////////////////////////////////////////////////

                   |ВЫБРАТЬ

                   |    ТоварыПО.Номенклатура,

                   |    СУММА(ТоварыПО.Количество) КАК Количество,

                   |    ТоварыПО.Характеристика,

                   |    СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК Количество1,

                   |    ЕСТЬNULL(ПоступлениеТоваровУслугТовары.Номенклатура, ЛОЖЬ) КАК Номенклатура1

                   |ИЗ

                   |    ТоварыПО КАК ТоварыПО

                   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары

                   |        ПО (ПоступлениеТоваровУслугТовары.Номенклатура = ТоварыПО.Номенклатура)

                   |            И (ПоступлениеТоваровУслугТовары.Характеристика = ТоварыПО.Характеристика)

                   |

                   |СГРУППИРОВАТЬ ПО

                   |    ТоварыПО.Номенклатура,

                   |    ТоварыПО.Характеристика,

                   |    ЕСТЬNULL(ПоступлениеТоваровУслугТовары.Номенклатура, ЛОЖЬ)»;

    

    //Запрос.УстановитьПараметр («Ссылка»,ЭтотОбъект.Ссылка);

    Запрос.УстановитьПараметр («ТоварыПО»,ТоварыПО);

    

    Результат = Запрос.Выполнить();

    Выборка = Результат.Выбрать();

    Пока выборка.следующий() Цикл

    

        Если выборка.Номенклатура1 = ложь Тогда

            Сообщение = Новый СообщениеПользователю;

            Сообщение.Текст = «В приходном ордере присутствует номенклатура » + выборка.номенклатура + » которая отсутствует в поступлении.»;

            Сообщение.Сообщить();

            ЗадатьВопрос = истина;

        иначеесли выборка.Количество > выборка.Количество1 тогда

            Сообщение = Новый СообщениеПользователю;

            Сообщение.Текст = «В приходном ордере у номенклатуры » + выборка.Количество + » а в поступление » + выборка.количество1;

            Сообщение.Сообщить();

            ЗадатьВопрос = истина;

        КонецЕсли;

    

    КонецЦикла;

    КонецЕсли;

Возврат ЗадатьВопрос;

КонецФункции // ВыполнитьПроверкуСПоступлениемТоваров()

&НаКлиенте

Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)

    //<< Горбенко В.В. 18.10.2013

    ЗадатьВопрос = Ложь;

    задатьВопрос = ВыполнитьПроверкуСПоступлениемТоваров(Объект.Ссылка, ЗадатьВопрос);    

    Если задатьВопрос = «Задать вопрос» Тогда

         Режим = РежимДиалогаВопрос.ДаНет;

         Текст = «Желаете все равно провести документ?»;

         Ответ = Вопрос(НСтр(Текст), Режим, 0);

         Если Ответ = КодВозвратаДиалога.Нет Тогда

                       Отказ = истина;

         иначе

                     Отказ = Ложь;

         КонецЕсли;

    КонецЕсли;

    //>> Горбенко В.В.

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

Как с этим бороться ?

  

mrDSide

11 — 18.10.13 — 21:39

т.е. если у Вас все одном общем модуле (и директивы «&НаСервере» и «&НаКлиенте»), то работать точно не будет.

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

  

XiPyPg2012

12 — 21.10.13 — 08:27

у меня в модуле формы, и на УФ все запросы выполняются ток в процедурах и функциях на сервере…Так что в функция которая выполняется на сервере, передается ссылка на объект а там по ссылке он получается если есть такая необходимость, ну и соответственно потом возвращаешь что тебе нужно.

А щас что-то я глючу и не могу понять в чем косяк.

При входе в базу 1с вы можете увидеть “Ошибка преобразования данных XDTO:

Начало Свойства: errorProcessingSettings

Форма: Элемент

Тип: {http://v8.1c.ru/8.2/managed-application/core}ErrorProcessingSettings по причине

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

Есть простое решение данной проблемы.

Достаточно запустить базу доступным нам способом (где нет ошибки) включить Функции тех. специалиста (Меню — Настройки — Параметры — Режим технического специалиста)

В Функциях для технического специалиста ищем Управление настройками обработки ошибок (Стандартные)

Запускаем

Готово!

Уже более 10 000 компаний работают
в облачной 1С от 42Clouds

— Консультация по 1С Бесплатно!

— Поддержка 24/7 по техническим вопросам: в чате, по телефону, по почте

— Все типовые конфигурации онлайн, доступ через RDP, Remote App, Web

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Текст: false Листинг: &НаСервере Как с этим бороться ?

Горбенко В.В. , вы пишите странный код.

тоже самое, первоначально так и было

и в чем же его странность?

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

Вот здесь кусочек копрокота Прекрасно. Великолепные УФ заставляют чесать тыкву и выгребать авгиевые конюшни. Как и предсказывалось.

хоть просто пытаешь передать параметр истина или ложь чтото типа — Если задатьВопрос = истина Тогда таже ерунда, вобще не пойму что случилось

Давай я попробую. Даже интересно.

смущает «ЭтотОбъект». это используется в модуле объекта. Если в форме — должно быть «Объект».

т.е. если у Вас все одном общем модуле (и директивы «&НаСервере» и «&НаКлиенте»), то работать точно не будет. выносите в отдельные модули с вызовом сервера, чтоб код выполнялся на клиенте… как-то так.

у меня в модуле формы, и на УФ все запросы выполняются ток в процедурах и функциях на сервере…Так что в функция которая выполняется на сервере, передается ссылка на объект а там по ссылке он получается если есть такая необходимость, ну и соответственно потом возвращаешь что тебе нужно. А щас что-то я глючу и не могу понять в чем косяк.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Просмотров 12к. Опубликовано 24 октября, 2018 Обновлено 24 октября, 2018

Ошибка преобразования данных XDTO: Текст XML содержит недопустимый символ.

На самом деле ошибка преобразования XDTO является не какой-то определенной ошибкой, а является большим семейством ошибок возникающих при работе одного из базовых механизмов платформы 1С. Этот механизм обеспечивает передачу данных между различными подсистемами платформы, при этом данные из внутреннего представления одной подсистемы преобразуются в текстовый формат XML, передаются в другую подсистему, и там  опять преобразуются во внутреннее представление. Ошибка преобразования XDTO говорит, что прямом или обратном преобразовании обнаружено какое-то несоответствие, из-за которого оно не может быть выполнено.

Частные причины ошибки

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

Прежде чем приступить к диагностике причины ошибки XDTO, следует выполнить стандартные профилактические операции над ИБ: очистить кэш, проверить состояния файла, выполнить тестирование ИБ.

Взаимодействие Клиента и Сервера

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

Сырые и Неоригинальные решения

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

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

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

Этот функционал создавался как удобный инструмент обмена данными между конфигурациями и другими приложениями. Также этот механизм используют для работы с web-сервисами и для обработки произвольных данных. Большое преимущество XDTO перед другими способами – в нем есть возможность обращаться к файлу XML, как к объекту 1С. То есть все реквизиты можно будет получить, описывая структуру через точку, не задумываясь о скобках, тегах и атрибутах.

Взаимодействие с файлами XML происходит по заранее установленным правилам, описанным в объекте структуры конфигурации – XDTO – пакеты в 1С 8.3. Суть этих элементов структуры в том, что они представляют собой схемы, по которым будут распознаваться данные из XML-файлов. В типовых конфигурациях уже присутствуют подобные объекты, но при работе с конкретными файлами понадобятся другие схемы.

Существует два способа добавить XDTO-пакет в конфигурацию:

  • Собственноручно создать. Этот вариант подойдет при самостоятельной работе с XML определенного формата. Зная, какие данные будут подаваться на вход для импорта с использованием XDTO, можно заранее создать в конфигурации нужный объект. Этот вариант хорош, если обмен данными налажен и никаких изменений не планируется;

    Рис.1 XDTO пакеты

    Рис.1 XDTO пакеты
  • Импорт присланной схемы. Когда нам присылают данные, их схема может оказаться какой угодно, особенно, если раньше мы не работали с источником. Сильно упростит ситуацию, если вместе с XML нам пришлют и файл формата xsd. В нем содержится выгрузка XDTO-пакета, который может разобрать конкретные XML. Нам останется лишь импортировать его.

Чтобы загрузить данные из присланной нам схемы, необходимо в режиме конфигуратор открыть раздел «Общие» и «XDTO-пакеты». Через контекстное меню выбрать пункт «Импорт XML-схемы…», выбрать файл и подтвердить пространство имен, взятое из файла. После этого необходимо обновить конфигурацию, и предварительные настройки сделаны.

Но на самом деле в последнем случае нам необязательно создавать XDTO-пакеты в конфигурации 1С 8.3. Существует возможность только использовать XSD-схему, присланную нам из отдельного файла, не внося изменения в структуру базы 1С. Для этого нужно воспользоваться кодом, объясняющим платформе 1С, какой тип объекта с какими параметрами будет загружаться.

Это происходит следующими командами:


ФайлXSD = Новый Массив();
ФайлXSD.Добавить("D:1strust.xsd");
ФабрикаXDTOИзФайла = СоздатьФабрикуXDTO(ФайлXSD);
Номенклатура = ФабрикаXDTOИзФайла.Тип("http://www.1c.ru/products", "Номенклатура");

Экспорт и импорт файла

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

  1. Заполняем URI-пространство имен в свойствах XDTO пакета. Среди разработчиков 1С принято заполнять этот реквизит адресом страницы, заполненной описанием тех данных, с которыми происходит работа. Это помогает в работе, но не всегда возможно. В иных случаях заполняют произвольным текстом;
  2. Задаем тип объекта и его свойства, используя контекстное меню. Задаем имя этих параметров и для свойств определяем тип, выбирая его из предложенных платформой.

Рис.2 Параметры пакета

Рис.2 Параметры пакета

Следующим этапом будет написание процедуры для создания файла XML по описанной выше схеме. Код достаточно прост, поскольку создан XDTO-пакет, а у элемента всего 2 свойства – «Наименование» и «Артикул». Обращаться к конкретной схеме позволяет объект платформы «ФабрикаXDTO». Сама процедура состоит из:

  1. Определение схемы будущей XML;
    
    ТипФабрики = ФабрикаXDTO.Тип("http://www.primerXML.ru/Nomen","Номенклатура");
    

  2. Заполнение свойств номенклатуры;
    
    Номенклатура = ФабрикаXDTO.Создать(ТипФабрики);
    Номенклатура.Наименование = "Тест XML";
    Номенклатура.Артикул = "2";
    

  3. Создание нового XML файла.
    
    ИмяФайла = "D:1struct1.xml";
    МойXML = Новый ЗаписьXML;
    ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);
    МойXML.ОткрытьФайл(ИмяФайла, ПараметрыЗаписиXML);
    МойXML.ЗаписатьОбъявлениеXML();
    ФабрикаXDTO.ЗаписатьXML(МойXML, номенклатура);
    МойXML.Закрыть();
    

Чтение XML-файлов с помощью конкретной фабрики XDTO по уже созданному в конфигурации пакету ничуть не сложнее. Алгоритм похож по структуре и отличается только операциями взаимодействия с XML-файлами. В данном случае нам нужно воспользоваться объектом платформы «ЧтениеXML» и прочитать содержимое в переменную. На выходе у нее будет тип «ОбъектXDTO», и вы сможете обращаться ко всем ее свойствам через точку.


ТипФабрики = ФабрикаXDTO.Тип("http://www.primerXML.ru/Nomen","Номенклатура");
 
ИмяФайла = "D:1struct1.xml";
МойXML = Новый ЧтениеXML;
МойXML.ОткрытьФайл(ИмяФайла);
номенклатура = ФабрикаXDTO.ПрочитатьXML(МойXML, ТипФабрики);
МойXML.Закрыть();

Теперь попробуем прочитать файл, схемы которого нет в нашей конфигурации. Для этого экспортируем XDTO-пакет в файл формата xsd и удалим схему из конфигурации. После этого нам придется объяснить платформе, откуда ей брать схему читаемой XML-кодом, продемонстрированным ранее. Однако в простейших случаях 1С самостоятельно может распознать все свойства.

Рис.3 Экспорт XDTO-пакета

Рис.3 Экспорт XDTO-пакета

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

Исправление ошибок

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

Зачастую проблема с ошибками преобразования данных возникает и по другим причинам:

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

Чтобы исправить эту ошибку, сначала почистите кэш или удалите, а также заново добавьте информационную базу в список баз. Затем внимательно проверьте файл XML – вдруг случайно сделали ошибку в его тексте, проверьте соответствие структуры пакету XDTO. Если ошибка появилась после обновления, сделайте тестирование и исправление ИБ, сохранив перед этим резервную копию базы. Если проблема не уйдет, вернитесь на предыдущую версию и подождите, пока разработчики 1С не разберутся с этой проблемой.

Рис.4 Ошибка преобразования данных

Рис.4 Ошибка преобразования данных

Еще одна проблема, часто мучающая программистов 1С, работающих с XDTO, – ошибка проверки данных. Если при импорте вы видите подобный текст, то с высокой долей вероятности источник проблемы в несоответствии файла нужной схеме. Но проблема может быть не на вашей стороне, а в базе, из которой выгружали XML. Чтобы исправить эту оплошность, придется внимательно изучить всю последовательность действий и найти, после чего файл перестал соответствовать ожиданиям.

Рис.5 Ошибка проверки данных

Рис.5 Ошибка проверки данных

Более сложная для анализа проблема, если при обмене информацией 1С выдает ошибку о несоответствии типов XDTO. В этом случае придется проверять все данные, находить ошибки и их причины. В некоторых случаях ошибки могут быть в коде, иногда – в данных информационной базы. Чтобы это понять, необходимо иметь доступ к базам причастным к обмену и четко понимать всю суть происходящего экспорта и импорта.

Рис.6 Несоответствие типов XDTO

Рис.6 Несоответствие типов XDTO

На первый взгляд работа с XDTO достаточно сложна, поэтому на первое время рекомендуется добавлять XDTO-пакеты в 1С для большего порядка и учета. Конечно, все нюансы изучить сразу невозможно, но в процессе работы вы будете продолжать учиться. Но с уверенной теоретической базой намного удобнее начинать разбираться в этом вопросе.

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

Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<V8Exch:_1CV8DtUD xmlns:V8Exch="http://www.1c.ru/V8/1CV8DtUD/" xmlns:core="http://v8.1c.ru/data" xmlns:v8="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <V8Exch:Data>
        <v8:CatalogObject.ФизическиеЛица>
            <v8:IsFolder>true</v8:IsFolder>
            <v8:Ref xsi:type="v8:CatalogRef.ФизическиеЛица">6b90e188-c868-11ec-97a4-00d8616e2fe4</v8:Ref>
            <v8:DeletionMark>false</v8:DeletionMark>
            <v8:Parent xsi:type="v8:CatalogRef.ФизическиеЛица">00000000-0000-0000-0000-000000000000</v8:Parent>
            <v8:Code>001900001</v8:Code>
            <v8:Description>Кочубеевский</v8:Description>
        </v8:CatalogObject.ФизическиеЛица>
    </V8Exch:Data>
    <PredefinedData/>
</V8Exch:_1CV8DtUD>

Элемент не грузит, падает на функции ЗаписанноеЗначение = Сериализатор.ПрочитатьXML(ЧтениеXML);
с ошибкой:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogObject.ФизическиеЛица Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogObject.ФизическиеЛица
по причине:
Ошибка преобразования данных XDTO:
КонецСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogObject.ФизическиеЛица Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogObject.ФизическиеЛица

Я выгрузил аналогичную группу из базы приемника:

Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<V8Exch:_1CV8DtUD xmlns:V8Exch="http://www.1c.ru/V8/1CV8DtUD/" xmlns:core="http://v8.1c.ru/data" xmlns:v8="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <V8Exch:Data>
        <v8:CatalogObject.ФизическиеЛица>
            <v8:IsFolder>true</v8:IsFolder>
            <v8:Ref xsi:type="v8:CatalogRef.ФизическиеЛица">cd4c4ee4-7fbd-11e0-8751-00155d006422</v8:Ref>
            <v8:DeletionMark>false</v8:DeletionMark>
            <v8:Parent xsi:type="v8:CatalogRef.ФизическиеЛица">00000000-0000-0000-0000-000000000000</v8:Parent>
            <v8:Code>1000000001</v8:Code>
            <v8:Description>НОВОАЛЕКСАНДРОВСКИЙ</v8:Description>
        </v8:CatalogObject.ФизическиеЛица>
    </V8Exch:Data>
    <PredefinedData/>
</V8Exch:_1CV8DtUD>

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

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

1С 8 Ошибка «Ошибка преобразования данных XDTO:» при открытии базы в режиме 1С: Предприятие

Описание ошибки:
База была выгружена из ирхива .dt. База файловая, конфигурация 1С: Бухгалтерия предприятия, редакция 3.0. При работе в конфигураторе и при запуска конфигуратора ошибок не возникает. Ошибка проявляет себя только при попытке запуска в режиме 1С: Предприятие. Даже не выводится форма для авторизации пользователя, как возникает ошибка. Релиз платформы 1С: Предприятие — 8.3.12.89.

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

Нажатие на изображении увеличит его
1С 8, как устранить, убрать, исправить ошибку, при запуске базы, Ошибка преобразования данных XDTO, НачалоСвойства: errorProcessingSettings, messageTemplates, category

Полный текст ошибки:

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

НачалоСвойства: errorProcessingSettings Форма: Элемент Тип: {http://v8.1c.ru/8.2/managed-application/core}ErrorProcessingSettings

по причине:

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

НачалоСвойства: messageTemplates Форма: Элемент Тип: {http://v8.1c.ru/8.2/managed-application/core}ErrorMessagesTexts

по причине:

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

НачалоСвойства: category Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/core}ErrorCategory

Ошибка в некотором роде редкая, но не настолько, чтобы остаться неизвестной. Короткое обсуждение на форуме dev.mista.ru, содержащее ссылку на описание в каталоге ошибок (потребуется авторизация для сайта ИТС) продукта технологической платформы позволило точно определить проблему — неподходящий релиз платформы. Как указано — использовался релиз платформы 8.3.18.1289.



Нажатие на изображении увеличит его
ошибка при запуске базы 1С 8, Ошибка преобразования данных XDTO, форма, элемент тип: http://v8.1c.ru/8.2/managed-application/core

Таким образом оказалось, что необходимо установить более высокую минорную версию релиза 8.3.18 — 8.3.18.13.63 или позднее. Так же ошибка может возникать для более ранних релизов версий 8.3.17 (до 17.2127), 8.3.19 (до релиза 19.1150), а так же для 8.3.20 (ранее релиза 20.1363).

Обновление релиза платформы 1С:предприятие на релиз 8.3.18.1563 на рабочем месте, где возникла ошибка, исправило ситуацию и база была запущена в ошибок.

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




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

04-10-2021

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

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Текст: false Листинг: &НаСервере Как с этим бороться ?

Горбенко В.В. , вы пишите странный код.

тоже самое, первоначально так и было

и в чем же его странность?

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

Вот здесь кусочек копрокота Прекрасно. Великолепные УФ заставляют чесать тыкву и выгребать авгиевые конюшни. Как и предсказывалось.

хоть просто пытаешь передать параметр истина или ложь чтото типа — Если задатьВопрос = истина Тогда таже ерунда, вобще не пойму что случилось

Давай я попробую. Даже интересно.

смущает «ЭтотОбъект». это используется в модуле объекта. Если в форме — должно быть «Объект».

т.е. если у Вас все одном общем модуле (и директивы «&НаСервере» и «&НаКлиенте»), то работать точно не будет. выносите в отдельные модули с вызовом сервера, чтоб код выполнялся на клиенте… как-то так.

у меня в модуле формы, и на УФ все запросы выполняются ток в процедурах и функциях на сервере…Так что в функция которая выполняется на сервере, передается ссылка на объект а там по ссылке он получается если есть такая необходимость, ну и соответственно потом возвращаешь что тебе нужно. А щас что-то я глючу и не могу понять в чем косяк.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Просмотров 12.5к. Опубликовано 24 октября, 2018 Обновлено 24 октября, 2018

Ошибка преобразования данных XDTO: Текст XML содержит недопустимый символ.

На самом деле ошибка преобразования XDTO является не какой-то определенной ошибкой, а является большим семейством ошибок возникающих при работе одного из базовых механизмов платформы 1С. Этот механизм обеспечивает передачу данных между различными подсистемами платформы, при этом данные из внутреннего представления одной подсистемы преобразуются в текстовый формат XML, передаются в другую подсистему, и там  опять преобразуются во внутреннее представление. Ошибка преобразования XDTO говорит, что прямом или обратном преобразовании обнаружено какое-то несоответствие, из-за которого оно не может быть выполнено.

Частные причины ошибки

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

Прежде чем приступить к диагностике причины ошибки XDTO, следует выполнить стандартные профилактические операции над ИБ: очистить кэш, проверить состояния файла, выполнить тестирование ИБ.

Взаимодействие Клиента и Сервера

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

Сырые и Неоригинальные решения

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

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

  • Ошибка преобразования данных xdto началосвойства ret форма элемент
  • Ошибка преобразования данных xdto началосвойства error processing settings форма элемент
  • Ошибка преобразования данных xdto началосвойства category форма элемент тип
  • Ошибка преобразования данных xdto запись значения свойства ret
  • Ошибка преобразования данных xdto запись значения свойства param