helpf.pro
Регистрация

v8: загрузка данных в документ из xml

Sergei
26.10.2011 13:13Прочитано: 10706
При загрузке данных из файла возникает следующая ошибка: {Форма.Форма.Форма(99)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ПередачаОС = ПрочитатьXML(ЧтениеXML);
по причине:
Значения данного типа не могут быть представлены в XML

Вот код:
Код 1C v 8.х
 ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПутьКФайлам+"\ПередачаОС.xml");
ПередачаОС = ПрочитатьXML(ЧтениеXML);
ДокументОбъект = Документы.ПередачаОС.СоздатьДокумент();
Документ = Документы.ПередачаОС.ПолучитьФормуНовогоДокумента();
Документ.Открыть();
ЧтениеXML.Закрыть()

Изменено 26.10.11 15:34:34 по причине: Разукрасил код
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
26.10.2011 14:50Ответ № 1
(0) Sergei, а откуда у тебя файл? каким кодом его выгружал?
Sergei
26.10.2011 14:59Ответ № 2
Делал следующую выгрузку:
Код 1C v 8.х
 Файл = Новый ЗаписьXML;
Файл.ОткрытьФайл(ПутьКФайлам+"\ПередачаОС.xml");
Файл.ЗаписатьОбъявлениеXML();
Файл.ЗаписатьНачалоЭлемента("Корневой");
Файл.ЗаписатьАтрибут("Документ", "ПередачаОС");
Файл.ЗаписатьКомментарий("Формирование списка документов");
Выборка = Документы.ПередачаОС.Выбрать();
Пока Выборка.Следующий() Цикл
Файл.ЗаписатьНачалоЭлемента("Документ");
Файл.ЗаписатьАтрибут("Номер", Строка(Выборка.Номер));
Файл.ЗаписатьАтрибут("Дата", Строка(Выборка.Дата));
Файл.ЗаписатьАтрибут("Организация", Строка(Выборка.Организация));
Файл.ЗаписатьАтрибут("Контрагент", Строка(Выборка.Контрагент));
Файл.ЗаписатьАтрибут("ДоговорКонтрагента", Строка(Выборка.ДоговорКонтрагента));
Для Каждого НовСтрока Из Выборка.ОС Цикл
Файл.ЗаписатьНачалоЭлемента("Строка");
Файл.ЗаписатьАтрибут("ОсновноеСредство", Строка(НовСтрока.ОсновноеСредство));
Файл.ЗаписатьАтрибут("Сумма", Строка(НовСтрока.Сумма));
Файл.ЗаписатьАтрибут("СтавкаНДС", Строка(НовСтрока.СтавкаНДС));
Файл.ЗаписатьАтрибут("СуммаНДС", Строка(НовСтрока.СуммаНДС));
Файл.ЗаписатьТекст(НовСтрока.ОсновноеСредство.Наименование);
Файл.ЗаписатьКонецЭлемента();
КонецЦикла;
Файл.ЗаписатьКонецЭлемента();
КонецЦикла;
Файл.ЗаписатьКонецЭлемента();
Файл.Закрыть();

Изменено 26.10.11 15:34:17 по причине: Разукрасил код
E_Migachev
26.10.2011 15:36Ответ № 3
(2) Sergei, читай кодом, типо:
Код 1C v 8.х
 ЧтениеXML = Новый ЧтениеXML();

ЧтениеXML.ОткрытьФайл("c:\doc.xml");
// Текущим становится элемент Root.
ЧтениеXML.Прочитать();

// Текущим становится элемент с документом.
ЧтениеXML.Прочитать();

// Проверить, сможет ли с данным значением "справиться" система сериализации в данной базе.
Если ВозможностьЧтенияXML(ЧтениеXML) Тогда
// Получить ДокументОбъект.РеализацияТоваровУслуг.
ЗагружаемыйОбъект = ПрочитатьXML(ЧтениеXML);
ЗагружаемыйОбъект.Записать();
КонецЕсли;

ЧтениеXML.Закрыть()
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.