|
Импорт из xml файла в табличную часть | ☑ | ||
---|---|---|---|---|
0
Alexsey58
01.10.12
✎
12:10
|
помогите с обработкой импорт xml в табличную часть.
загружаю данные в документ ЗаказПокупателя, в xml файле есть несколко позичий одного контрагента, нужно чтобы номенклатура контрагента записывалась в один документ, а как сделать проверку на дубликат документов. вот моя обработка //XML ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл("positions.xml"); Имя = ЧтениеXML.Имя; Массив = Новый Структура(Имя); Пока ЧтениеXML.Прочитать() Цикл ПолучитьXMLТип(ЧтениеXML); Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Имя = ЧтениеXML.Имя; Пока ЧтениеXML.ПрочитатьАтрибут() Цикл Атрибут = ЧтениеXML.Значение; КонецЦикла; КонецЕсли; Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда Массив.Вставить(Имя, ЧтениеXML.Значение); КонецЕсли; Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ЧтениеXML.Имя = "pst_article_display" Тогда Если Массив.pst_ord_id <> "заказ" Тогда ДокПозицииЗаказКл = Документы.ЗаказПокупателя.СоздатьДокумент(); ДокПозицииЗаказКл.Заказ = Массив.pst_ord_id; ДокПозицииЗаказКл.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Массив.customer); ЧислоДаты = Лев(Массив.pst_arrival_date,2); МесяцДаты = Сред(Массив.pst_arrival_date,4,2); ГодДаты = Прав(Массив.pst_arrival_date,2); ПравильнаяДата = "20" + ГодДаты + МесяцДаты + ЧислоДаты; ДокПозицииЗаказКл.Ожидается = Дата(ПравильнаяДата); ДокПозицииЗаказКл.Баланс = Массив.cst_balance; ДокПозицииЗаказКл.Срок = Массив.pst_term; ДокПозицииЗаказКл.ГарСрок = Массив.pst_max_term; ДокПозицииЗаказКл.Направление = Массив.pst_destination; ДокПозицииЗаказКл.Комментарий = Массив.pst_comment; Если Массив.pst_manager_comment <> "коммент. менеджера" Тогда ДокПозицииЗаказКл.КомментМенеджера = Массив.pst_manager_comment; КонецЕсли; ТоварКл = ДокПозицииЗаказКл.Товары.Добавить(); ТоварКл.Артикул = Массив.pst_article; ТоварКл.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Массив.pst_name); ТоварКл.Производитель = Массив.pst_brand; ТоварКл.Количество = Массив.pst_amount; ТоварКл.Цена = Массив.pst_price; ТоварКл.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; ТоварКл.Сумма = Массив.summ; ТоварКл.Оплачено = Массив.payed; ТоварКл.Долг = Массив.debt; ФормадокументаЗаказКл = ДокПозицииЗаказКл.ПолучитьФорму(); //ФормадокументаЗаказКл.Записать(); ФормадокументаЗаказКл.Открыть(); КонецЕсли; КонецЕсли; КонецЦикла; |
|||
1
zladenuw
01.10.12
✎
12:19
|
загрузи в ТЗ. потом по контрагенту отбор строк
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |