Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Проверка на существующий документ в УТ из загружаемого XML-файла

Проверка на существующий документ в УТ из загружаемого XML-файла
Я
   DiFas
 
31.07.18 - 14:22
Добрый день, форумчане. Прошу помощи. Пишу обработку для УТ 10.3, которая загружает из XML-файла документы. Вопрос встал в проверке существования документа в базе, т.е. если XML пытается загрузить документ, который уже есть в базе, то нужно пропустить этот родительский элемент(скрины прилагаются):
https://yadi.sk/i/c6T1GlnG3Zkmwx
https://yadi.sk/i/m8GLkGZG3Zkmx5

Пытался через XDTO, но разбираться для меня долго. Есть какой-нибудь другой способ перебрать и перейти к следующему атрибуту "<Документ>"? Срочно нужна ваша помощь! Заранее спасибо!
 
 
   DiFas
 
1 - 31.07.18 - 14:56
Ребят, никто не знает?(((
   Chameleon1980
 
2 - 31.07.18 - 14:59
на каком этапе документ создается там и смотри
   Chameleon1980
 
3 - 31.07.18 - 14:59
тебе проверка или пропуск ветки?
   DiFas
 
4 - 31.07.18 - 16:08
(3) в строке с номером производится проверка на существование номера. Если номер есть, то пропустить ВСЮ ветку под названием "<Документ>"
   youalex
 
5 - 31.07.18 - 16:43
(4) то есть тебе нужно прочитать xml вплоть до конца узла "Документ" ?
   Cyberhawk
 
6 - 31.07.18 - 17:02
Читай через ДОМ-модель
   pablo_escobar
 
7 - 31.07.18 - 17:06
ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ЧтоТамВXML);
    
    ПостроительDOM = Новый ПостроительDOM;
    ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
    
    УзлыДоки = ДокументDOM.ПолучитьЭлементыПоИмени("Документ");
    
    Для каждого Узел Из УзлыДоки Цикл
        
        Если Узел.Атрибуты.ПолучитьИменованныйЭлемент("Номер") <> Неопределено Тогда// Тут проверяем что нужно

            Продолжить;
        КонецЕсли;
        
        
        
    КонецЦикла;
    
    ЧтениеXML.Закрыть();
   DiFas
 
8 - 02.08.18 - 10:35
(7) (6) Спасибо! Воспользовались через DOM!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует