Ошибка передачи между клиентом и сервером |
Я |
06.06.16 — 20:33
МассивТранспортныхСредств = Новый Массив;
Для каждого СтрТранспортныеСредства Из ТранспортныеСредства Цикл
МассивТранспортныхСредств.Добавить(СтрТранспортныеСредства.ТранспортноеСредство);
КонецЦикла;
Запр2(Выборка, МассивТранспортныхСредств);
Выдает ошибку: {Обработка.Тест.Форма.Форма.Форма(99)}: Ошибка при вызове метода контекста (Запр2)
Запр2(Выборка, МассивТранспортныхСредств);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘param’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘РезультатЗапроса’
Вопрос: Подскажите, что я неправильно передаю между клиентом и сервером.
1 — 06.06.16 — 20:34
Весь код покажи, а то этот кусок мне несколько странным кажется
2 — 06.06.16 — 20:38
> что я неправильно передаю между клиентом и сервером.
результат запроса ты передаешь, а это неправильно.
Чтобы узнать, где неправильное значение, используй отладчик
3 — 06.06.16 — 20:39
(1) &НаСервере
Процедура Запр2(Выборка, МассивТранспортныхСредств)
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Остатки.ТранспортноеСредство КАК ТранспортноеСредство,
| СУММА(Остатки.КоличествоОстаток) КАК КоличествоКоробок,
| СУММА(Остатки.КоличествоОстаток * ГабаритыКоробок.Высота * ГабаритыКоробок.Ширина * ГабаритыКоробок.Длина) КАК ОбъемГруза
|ИЗ
| РегистрНакопления.ГрузыВТранспортныхСредствах.Остатки(, ) КАК Остатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГабаритыКоробок КАК ГабаритыКоробок
| ПО Остатки.ВидКоробки = ГабаритыКоробок.ВидКоробки
|ГДЕ
| Остатки.ТранспортноеСредство В(&ТранспортноеСредство)
|
|СГРУППИРОВАТЬ ПО
| Остатки.ТранспортноеСредство
|
|УПОРЯДОЧИТЬ ПО
| Остатки.ТранспортноеСредство»;
Запрос.УстановитьПараметр(«ТранспортноеСредство», МассивТранспортныхСредств);
Выборка = Запрос.Выполнить();
КонецПроцедуры
4 — 06.06.16 — 20:40
(2) А как быть процедура исполняется на клиенте, а запрос только НаСервере.
5 — 06.06.16 — 20:41
После выполнить делай выгрузить(4)
6 — 06.06.16 — 20:43
И почему процедура , а не функция?(5)
7 — 06.06.16 — 20:46
(3) и почему выборка, если это не выборка «Выборка = Запрос.Выполнить();»?
8 — 06.06.16 — 20:46
(4) выполни процу на сервере, будь мужиком
9 — 06.06.16 — 20:47
(5) Сделал, выдает ошибку:
{Обработка.Тест.Форма.Форма.Форма(109)}: Ошибка при вызове метода контекста (Запр2)
Запр2(Выборка);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: param Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/core}ValueTable’
10 — 06.06.16 — 20:47
(8) Да, а как я тогда буду работать НаСервере с реквизитами формы?
11 — 06.06.16 — 20:48
(10) насервере доступны реквизиты объекта, используй их
12 — 06.06.16 — 20:51
(9) все верно, так и должно быть.
Не передавай это все на клиента. Обрабатывай на сервере.
13 — 06.06.16 — 21:00
(12) Так я и обрабатываю запрос на сервере, а на клиента только пытаюсь передать результат.
14 — 06.06.16 — 21:17
(13) реквизиты формы нормально на сервере работают
15 — 06.06.16 — 21:41
(11) Попробую
16 — 06.06.16 — 22:18
(0) Закрой конфигуратор. Не твое это.
17 — 07.06.16 — 17:43
(14) А что тогда работает только на клиенте. Знаю что Предупреждение() работает только на клиенте.
Nuobu
18 — 07.06.16 — 17:48
(17) Только на клиенте работают функции работы с пользователем. Всякие там элементы формы, реквизиты формы и их значения нормально работают и на сервере и на клиенте. А вот Запрос, результат его выполнения, создание элементов справочников и документов нужно смотреть на сервере.
Есть статья на инфостарте, почитай:
http://catalog.mista.ru/public/198766/
Просмотров 12к. Опубликовано 24 октября, 2018 Обновлено 24 октября, 2018
Ошибка преобразования данных XDTO: Текст XML содержит недопустимый символ.
На самом деле ошибка преобразования XDTO является не какой-то определенной ошибкой, а является большим семейством ошибок возникающих при работе одного из базовых механизмов платформы 1С. Этот механизм обеспечивает передачу данных между различными подсистемами платформы, при этом данные из внутреннего представления одной подсистемы преобразуются в текстовый формат XML, передаются в другую подсистему, и там опять преобразуются во внутреннее представление. Ошибка преобразования XDTO говорит, что прямом или обратном преобразовании обнаружено какое-то несоответствие, из-за которого оно не может быть выполнено.
Частные причины ошибки
Существует очень много частных причин ошибки преобразования XDTO. Сведения доступные под кнопкой Подробно могут помочь в понимании частной причины, но далеко не всегда.
Прежде чем приступить к диагностике причины ошибки XDTO, следует выполнить стандартные профилактические операции над ИБ: очистить кэш, проверить состояния файла, выполнить тестирование ИБ.
Взаимодействие Клиента и Сервера
При запуске 1С в режиме Тонкий клиент взаимодействие клиента с ИБ происходит с использование преобразования XDTO, и если оно приводит к ошибке, то в тех случаях, когда это возможно, следует воспользоваться режим Толстый клиент.
Сырые и Неоригинальные решения
Если ошибка преобразования XDTO возникает в неоригинальной конфигурации или неоригинальной обработке, то возможно, причина в неоригинальном коде, который не был должным образом оттестирован. Это возможно и в оригинальных решения от 1С после установки сырых обновлений.
В этом случае необходимо отказаться от использования неоригинального или сырого решения и вернуться к предыдущему состоянию кода из архива.
1С 8 Ошибка «Ошибка преобразования данных XDTO:» при открытии базы в режиме 1С: Предприятие
Описание ошибки:
База была выгружена из ирхива .dt. База файловая, конфигурация 1С: Бухгалтерия предприятия, редакция 3.0. При работе в конфигураторе и при запуска конфигуратора ошибок не возникает. Ошибка проявляет себя только при попытке запуска в режиме 1С: Предприятие. Даже не выводится форма для авторизации пользователя, как возникает ошибка. Релиз платформы 1С: Предприятие — 8.3.12.89.
Найденные решения:
Нажатие на изображении увеличит его
Полный текст ошибки:
Ошибка преобразования данных 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.
Нажатие на изображении увеличит его
Таким образом оказалось, что необходимо установить более высокую минорную версию релиза 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)