|   |   | 
| 
 | Чтение 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) Спасибо за решение     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |