Ошибка при загрузке данных из файла XML! #423251


#0 by mzelensky
Все мучаюсь с загрузкой/выгрузкой данных в XML. Написал 2 процедурки: При выгрузке вроде файл создается нормально, без каких-либо ошибок, система ни на что не ругается, все необходимые данные попадают в файл. Когда же я пытаюсь загрузить из этого файла информацию, то все доходит до функции "ВозможностьЧтенияXML(ЧтениеXML)", которая выдает мне "Ложь" и соответственно ничего не происходит. Если эту функцию убрать, то при "ЗагружаемыйОбъект = ПрочитатьXML(ЧтениеXML)" происходит ошибка чтения данных. ПОЧЕМУ???
#1 by ТелепатБот
#2 by Shurjk
Колосально. По моему вы просто слишком высокого мнения об XML в нем нет встроенного интелекта:), вопользуйтесь лучше КД.
#3 by mzelensky
Да дело в том, что я этот механиз взял из учебника, лишь слегка подправив. И там написано .что мол все работает!!! А что такое КД???
#4 by Shurjk
Конвертация данных. А кто тебе сказал что Докумен.Объект это сериализуемое значение? Оттуда и ошибка, так просто документы выгрузить не получиться, а ведь с ними еще и справочники надо грузить....
#5 by mzelensky
Не, справочники там не нужны...предполагается перенос значений из аналогичных баз данных...т.е. справочники и регистры там буду одинаковые! Через конвертацию данных там сложно получается...да и это целая конфигурация...хотелось бы иметь возможность делать выгрузки в своей конфе!
#6 by mzelensky
В сп написано: "В XML могут быть записаны: значения следующих типов: Неопределено, Null, Булево, Число, Строка, Дата, Тип, УникальныйИдентификатор, ДвоичныеДанные, ХранилищеЗначения, ОписаниеТипов, а также ссылки объектов данных и сами объекты данных, наборы записей регистров, менеджер значения константы. В дальнейшем список может пополняться. При попытке записи значения неподходящего типа будет вызвано исключение. " - у меня никаких исключений при выгрузке не происходит, все данные выгружаются нормально...следовательно, я так думаю, Документ.Объект это сериализуемое значение.
#7 by Serg_1960
Это выгрузка:
#8 by Живой Ископаемый
Вот просто на секундочку.. ты смотрел какой ХМЛ файл у тебя получается?
#9 by mzelensky
а вот эти параметры: Будут всегда одинаковые???
#10 by mzelensky
ДА ,файл XML после выгрузки выглядит вот так:
#11 by Живой Ископаемый
Вот как вы думаете что это такое: 92c2cebb-3309-11de-a14f-000b0d0980d3 и как ваша процедура загрузки должна это интрепретировать  и собственно где это в коде? Ну и кроме того, если в конфе-получателе документ вида DocumentObject.ВыполнениеНаучноТехническихПрограмм, и все ли у него такие реквизиты как файле выгрузке?
#12 by mzelensky
"92c2cebb-3309-11de-a14f-000b0d0980d3 " - это ссылка на определенный объект справочника (элемент справочника). Реквизиты в конфе получатеде абсолютно эдентичны реквизитам конфы-отправителя. Это по сути одна и таже конфигурация...просто (по идее) она будет стоять на разных компах.
#13 by Shurjk
Посомтрите КД, там для одинаковых конфигураций уже есть готовая обработка.
#14 by Живой Ископаемый
"идентичных" Ну ладно, тогда вроде нормально.. Нужно пробовать, почему у вас не получается... а это время.. :(
#15 by mzelensky
Как называется обработка, подскажите плиз...а то я с Конвертацией данных буквально 1 раз работал...и то очень поверхностно.
#16 by Живой Ископаемый
а, ну и опять же - надеюсь в конфе-приемнике есть элемент справочника с ай-ди "92c2cebb-3309-11de-a14f-000b0d0980d3 "
#17 by mzelensky
Да, елементы справочников и регистров так же "идентичны" :)
#18 by Serg_1960
Это загрузка: Если ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента Или Если Не ЧтениеXML.Прочитать Или
#19 by Живой Ископаемый
2 У регистров нету элементов... как они могут быть идентичны?
#20 by Serg_1960
Начало и окончание - "необязательные" элементы. Только для "совместимости" с универсальной выгрузкой. В объекте выгружаются и загружаются ссылочные данные "как есть" - без контроля их наличия. Так можно работать, только если у Вас есть полная уверенность, что данные идентичные в базах данных. А она у Вас есть? Имхо, - это требутся еще доказать :( ТиИ - вот это "аргумент". Зарегистрирует битые ссылки - значит Вы были не правы:) Сорри, инет тормозит безбожно.
#21 by mzelensky
Сейчас попробую!
#22 by Serg_1960
И желательно весь процесс выгрузки выполнять в транзакции. Как только ошибка - так сразу прерывать и отменять транзакцию.
#23 by mzelensky
Истину выдает вот это сравнение: "ЧтениеXML.ТипУзла <> ТипУзлаXML.КонецЭлемента", а "ВозможностьЧтенияXML(ЧтениеXML)" выдает ЛОЖЬ
#24 by mzelensky
UP
#25 by Jolly Roger
метаданные в базах разные, вот и не может прочитать...
#26 by mzelensky
я сейчас все это тестю в одной базе!!!Поэтому уж методанные точно одинаоквые!!!
#27 by Регистратор
для сериализации важен даже порядок реквизитов он должен быть идентичным, иногда при накате изменений объединением это может быть не так
#28 by Jolly Roger
попробуй добавить в начало ЗаписьXML.ЗаписатьОбъявлениеXML;
#29 by mzelensky
уже записано
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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