Ошибка при записи ФабрикаXDTO.ЗаписатьXML ( #771564


#0 by Dunstan
Разбираюсь с XML. При записи ФабрикаXDTO.ЗаписатьXML (МойXML,Таблица) дает ошибку:Ошибка преобразования данных XDTO: Объект XDTO может быть записан только в форме элемента XML текст процедуры:     ТипНоменклатура = ФабрикаXDTO.Тип(";);     ТипСтрока        = ФабрикаXDTO.Тип(";);     ТипТаблица        = ФабрикаXDTO.Тип(";);     ТипКод            = ФабрикаXDTO.Тип(";);     ТипУИД            = ФабрикаXDTO.Тип(";);     ТипНаименование = ФабрикаXDTO.Тип(";);     ТипКолВо        = ФабрикаXDTO.Тип(";);     ТипСумма        = ФабрикаXDTO.Тип(";);
#1 by Dunstan
и тишина
#2 by mehfk
Экстрасенс-одинэсника - редкая профессия.
#3 by 4St
Что это за пространство имен? В конфигурации присутствует пакет XDTO с таким URI? Как в отладчике отображается вот этот объект? Таблица = ФабрикаXDTO.Создать(ТипТаблица);
#4 by Dunstan
Свое пространство имен Таблица отображается как объект XDTO
#5 by Dunstan
да XDTO c таким URL есть в конфе пробовал и такой вариант:   ФабрикаXDTO.ЗаписатьXML (МойXML, Таблица)
#6 by Лефмихалыч
версия платформы?
#7 by Dunstan
1С:Предприятие 8.3 (8.3.8.1652)
#8 by Лефмихалыч
на 8.3.7 воспроизводится?
#9 by Dunstan
была ошибка и в 8,3,6 поменял на 1С:Предприятие 8.3 (8.3.8.1652)
#10 by RomaH
а должен быть список, вроде
#11 by RomaH
Таблица.ListOf - а нет - это д.б. список
#12 by 4St
Обрати внимание вот сюда: ТипСтрока        = ФабрикаXDTO.Тип(";;); ... Возможно, у тебя в схеме свойство "Good" у типа "; имеет форму "Атрибут" или "Текст". А должен быть "Элемент". Возможно, ругается на какое-то другое свойство. Локализовать можно так: прямо в коде расставляем такие строки: "ОбъектXDTO.Проверить", где "ОбъектXDTO" заменяем на подозрительный объект. На каком объекте свалится, тот и надо изучать внимательно.
#13 by 4St
С XDTO удобнее работать через функции-обертки, по крайней мере там, где скорость не критична. И дальше вместо
#14 by 4St
наверняка можно будет написать гораздо проще: Номенклатура.Code = Выборка.Номенклатура.Код; Но это тоже неправильно, потому что Номенклатура.Код надо получить еще в запросе, а здесь писать уже Выборка.Номенклатура_Код; То же самое с наименованием и прочими полями через точку. Скорость вырастает на порядок, уверяю.
#15 by Dunstan
4St Спасибо большое. Буду пробовать.
#16 by 4St
Перечитал еще раз, валится ведь здесь: ФабрикаXDTO.ЗаписатьXML (МойXML, Таблица,"Table",".Явное); Т.е. все объекты валидные. Что будет, если вызвать просто ФабрикаXDTO.ЗаписатьXML (МойXML, Таблица,"Table"); ?
#17 by Dunstan
имеет форму "Атрибут" или "Текст". А должен быть "Элемент". вот где собака порылась!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

В этой группе 1С