|
Ошибка при выгрузке таб. части в XML | ☑ | ||
---|---|---|---|---|
0
lirt82
02.05.19
✎
14:03
|
Нужно через подписку выгрузить некоторые данные данные из дока Реализации, выдает ошибку при выгрузке таб. части товары, как исправить?
Процедура ВыгрузкаВХМЛПриЗаписи(Источник, Отказ) Экспорт Если Источник.Склад.Код <> "00000008" Тогда Возврат Иначе Нашли = НайтиФайлы(Константы.КаталогОбменаФайлами.Получить(), "export_upp.xml"); Если Нашли.Количество() = 0 Тогда //создадим новый файл xml НовыйФайлXML = Новый ЗаписьXML(); ИмяФайла = Константы.jcpc_КаталогОбменаФайлами.Получить() + "\" + СокрЛП("export_upp.xml"); НовыйФайлXML.ОткрытьФайл(ИмяФайла, "UTF-8"); НовыйФайлXML.ЗаписатьОбъявлениеXML(); НовыйФайлXML.ЗаписатьНачалоЭлемента("Контрагент"); НовыйФайлXML.ЗаписатьАтрибут("ИдентификационныйКодЛичности", Источник.Контрагент.ИдентификационныйКодЛичности); НовыйФайлXML.ЗаписатьКонецЭлемента(); //НовыйФайлXML.ЗаписатьНачалоЭлемента("Товары"); Для каждого Стр Из Источник.Товары Цикл НовыйФайлXML.ЗаписатьНачалоЭлемента("Стр.Номенклатура"); НовыйФайлXML.ЗаписатьАтрибут("Код", Стр.Номенклатура.Код); НовыйФайлXML.ЗаписатьАтрибут("Количество", Стр.Номенклатура.Количество); НовыйФайлXML.ЗаписатьКонецЭлемента(); КонецЦикла; //НовыйФайлXML.ЗаписатьКонецЭлемента(); НовыйФайлXML.Закрыть(); Иначе //перезапишем существующий НовыйФайлXML = Новый ЗаписьXML(); ИмяФайла = Константы.КаталогОбменаФайлами.Получить() + "\" + СокрЛП("export_upp.xml"); НовыйФайлXML.ОткрытьФайл(ИмяФайла, "UTF-8"); НовыйФайлXML.ЗаписатьОбъявлениеXML(); НовыйФайлXML.ЗаписатьНачалоЭлемента("Контрагент"); НовыйФайлXML.ЗаписатьАтрибут("ИдентификационныйКодЛичности", Источник.Контрагент.ИдентификационныйКодЛичности); НовыйФайлXML.ЗаписатьКонецЭлемента(); //НовыйФайлXML.ЗаписатьНачалоЭлемента("Товары"); Для каждого Стр Из Источник.Товары Цикл НовыйФайлXML.ЗаписатьНачалоЭлемента("Стр.Номенклатура"); НовыйФайлXML.ЗаписатьАтрибут("Код", Стр.Номенклатура.Код); НовыйФайлXML.ЗаписатьАтрибут("Количество", Стр.Номенклатура.Количество); НовыйФайлXML.ЗаписатьКонецЭлемента(); КонецЦикла; //НовыйФайлXML.ЗаписатьКонецЭлемента(); НовыйФайлXML.Закрыть(); КонецЕсли; КонецЕсли; КонецПроцедуры Ошибка при вызове метода контекста (ЗаписатьНачалоЭлемента) НовыйФайлXML.ЗаписатьНачалоЭлемента("Стр.Номенклатура"); по причине: Ошибочный порядок записи XML |
|||
1
hhhh
02.05.19
✎
14:07
|
(0) а разве можно с точкой?
|
|||
2
lirt82
02.05.19
✎
14:32
|
(1) незнаю) но пробовал и другие имена, такая же ошибка
|
|||
3
lirt82
02.05.19
✎
14:33
|
ну или пример скиньте по выгрузке таб.части через цикл
|
|||
4
Ник080808
02.05.19
✎
14:37
|
(2) "Номенклатура" попробуй
|
|||
5
Ник080808
02.05.19
✎
14:40
|
(4) тьху. не так
у тебя же элементы должны идти в виде "дерева". То есть должен быть корневой элемент. ты или контрагента сделай корневым или сделай другой элемент документ |
|||
6
Ник080808
02.05.19
✎
14:40
|
Вот тут НовыйФайлXML.ЗаписатьНачалоЭлемента("Контрагент");
НовыйФайлXML.ЗаписатьАтрибут("ИдентификационныйКодЛичности", Источник.Контрагент.ИдентификационныйКодЛичности); НовыйФайлXML.ЗаписатьКонецЭлемента(); убираешь НовыйФайлXML.ЗаписатьКонецЭлемента(); а после цикла перед НовыйФайлXML.Закрыть(); добавляешь НовыйФайлXML.ЗаписатьКонецЭлемента(); |
|||
7
Ник080808
02.05.19
✎
14:41
|
Ну или пишешь
НовыйФайлXML.ЗаписатьНачалоЭлемента("Документ"); НовыйФайлXML.ЗаписатьНачалоЭлемента("Контрагент"); *** КонецЦикла; НовыйФайлXML.ЗаписатьКонецЭлемента(); НовыйФайлXML.Закрыть(); |
|||
8
lirt82
02.05.19
✎
14:59
|
теперь другая ошибка
Ошибка при вызове метода контекста (ЗаписатьАтрибут) НовыйФайлXML.ЗаписатьАтрибут("Количество", Стр.Количество); по причине: Несоответствие типов (параметр номер '2') |
|||
9
lirt82
02.05.19
✎
15:00
|
Описывать что ли? Количество Новый ОписаниеТипов Число....
|
|||
10
Ник080808
02.05.19
✎
15:22
|
(9) не. формат делай
|
|||
11
hhhh
02.05.19
✎
19:35
|
(9) там числа запрещены
|
|||
12
runoff_runoff
02.05.19
✎
19:37
|
(9) XMLСтрока()
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |