|
Чтение xml-файла | ☑ | ||
---|---|---|---|---|
0
lesta
12.03.20
✎
13:35
|
Добрый день!
Помогите, пожалуйста, с проблемой? Данные приходят в виде xml-файла. Вся информация идет только в атрибутах, элементов около 10 тыс. В элементе включены данные, которые записываются в справочники. Причем очень часто в один справочник считывается один и тот же объект из половины элементов многократно. Чтобы не записывалось, делаю проверку: если элемент в справочнике есть, то сравниваю по реквизитам, так как предполагается повторная загрузка с корректировкой данных. Теперь получается многократная проверка( Но внутри записи одного файла не будет изменений одного объекта. Как сделать, чтобы на первое вхождение проверялось полностью по всем реквизитам, а потом только УИ? <?xml version="1.0" encoding="UTF-8"?> <Справочник.ВнутренниеДокументы> <Элемент ВнутреннийДокументУИ="3ada6f2ac-fc76-11e9-5a97-78e3b50f4ec0" Папка="Дополнительные соглашения" РегистрационныйНомер="" Дата="" Наименование="-" ТипДоговора="" Организация="66d3c333-a03d-11e8-bfb3-50335db4e7ec" ОрганизацияНаименование="Ассоциация;" ОрганизацияНаименованиеПолное="Ассоциация" ОрганизацияВид="Юридическое лицо" ОрганизацияИНН="" ОрганизацияКПП="" .../> <Элемент ВнутреннийДокументУИ="cb80916c-1744-11ea-3781-78e3b50f4ec0" Папка="Дополнительные соглашения" РегистрационныйНомер="" Дата="" Наименование="-" ТипДоговора="" ОрганизацияГУИД="66d3c333-a03d-11e8-bfb3-50465db4e7ec" ОрганизацияНаименование="Ассоциация ;" ОрганизацияНаименованиеПолное="Ассоциация " ОрганизацияВид="Юридическое лицо" ОрганизацияИНН="" ОрганизацияКПП="" .../> </Справочник.ВнутренниеДокументы> |
|||
1
Garykom
гуру
12.03.20
✎
13:40
|
(0) о вот тока недавно было XDTO пакеты. Зачем они нужны?
|
|||
2
Злопчинский
12.03.20
✎
13:41
|
ПервыйНах = 1;
... Если ПервыйНах=1 Тогда //проверить по всем реквизитам ПервыйНах = 0; Иначе //проверить по УИ КонецЕсли; - так не пойдет? |
|||
3
Жан Пердежон
12.03.20
✎
13:42
|
(0) считай данные в табличку, табличку закинь в запрос, в запросе отбери только нужное
|
|||
4
Garykom
гуру
12.03.20
✎
13:49
|
А задачка интересная, кривая выгрузка данных с дублями и дубли детализации повторно не надо обрабатывать.
Если организация уже по уид загружена и заполнена то типа не надо перезаполнять, просто найдем ее по уид и подставим в документ. Короче завести структуры загруженных объектов (ссылки пишем), если ссылка на объект в структуре = загружен и его данные игнорируем. Ключ это уид, а значение ссылка в структурах. Структур хз сколько будет, вижу только Организация в куске |
|||
5
lesta
12.03.20
✎
13:54
|
(4) Структур 7, атрибутов за 30( Выгрузка не из приятных...
Спасибо за направление |
|||
6
lesta
12.03.20
✎
13:55
|
(3) Спасибо
|
|||
7
lesta
12.03.20
✎
13:55
|
(2) Там с проверкой реквизитов уже такое себе...((
|
|||
8
RomaH
naïve
12.03.20
✎
14:06
|
СоотвествиеОбъектов = Новый Соответствие;
Если СоотвествиеОбъектов[Ключ] = Неопределено Тогда //Обрабатываем СоттветсвиеОбъектов.Встаить(Ключ,0); Конецелис |
|||
9
lesta
13.03.20
✎
05:53
|
(8) Спасибо за решение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |