Имя: Пароль:
1C
 
Не читается значение из XML файла
0 NIGHTHUNTER
 
29.12.20
06:11
В переменных НомерЧека и ДатаЧека значения - АтрибутDOM
Как их прочитать что бы там были сами значения? Номер и Дата.


            Парсер   = Новый ЧтениеXML;
            ИмяФайла = ФайлЗаказ.ПолноеИмя;
            Парсер.ОткрытьФайл(ИмяФайла);
            Построитель  = Новый ПостроительDOM;
            Документ     = Построитель.Прочитать(Парсер);
            Для каждого Элемент0 Из Документ.ЭлементДокумента.ДочерниеУзлы Цикл
                Если Элемент0.ИмяУзла = "ЗаказНаряд" Тогда
                    ЗаказНаряд = Элемент0;
                    НомерЧека  = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Номер");
                    ДатаЧека   = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Дата");
1 NIGHTHUNTER
 
29.12.20
06:15
сам файл такой

<?xml version="1.0" encoding="UTF-8"?>
<ДокументЗаказНаряд>
    <ЗаказНаряд Номер="ИП00000783" Дата="20200807103005">
        <Товары>
            <Товар Наименование="Фильтр топливный 3.0 диз" Код="ЦБ011672" Количество="1" Цена="4 300" Сумма="4 300" СуммаВсего="4 300"/>
            <Товар Наименование="Очиститель дизельных форсунок, 500 мл." Код="ЦБ013107" Количество="1" Цена="2 500" Сумма="2 500" СуммаВсего="2 500"/>
            <Товар Наименование="Диз.топливо" Код="ЦБ007257" Количество="20" Цена="50" Сумма="1 000" СуммаВсего="1 000"/>
        </Товары>
        <Работы>
            <Работа Наименование="Бак - указатель топлива -топливный бак - ремонт" Код="88.25.30.1" Количество="1" Цена="1 600" Сумма="4 000" СуммаВсего="3 600"/>
            <Работа Наименование="Форсунки-комплект-промывка" Код="19.60.12.1" Количество="1" Цена="1 600" Сумма="1 600" СуммаВсего="1 440"/>
        </Работы>
    </ЗаказНаряд>
</ДокументЗаказНаряд>
2 NIGHTHUNTER
 
29.12.20
06:45
Например, Код, Наименование, Количество, читаются, -

                    ДатаЧека   = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Дата");
                    СуммаИтого = 0;
                    Для каждого Элемент1 Из ЗаказНаряд.ДочерниеУзлы Цикл
                        Если Элемент1.ИмяУзла = "Товары" Тогда
                            Товары = Элемент1;
                            Для каждого Элемент2 Из Товары.ДочерниеУзлы Цикл
                                //
                                Товар        = Элемент2;
                                //
                                НоваяСтрокаТовары              = Объект.ТаблицаЗагрузкиТовары.Добавить();
                                //
                                НоваяСтрокаТовары.НомерЧека    = НомерЧека;                                
                                НоваяСтрокаТовары.ДатаЧека     = ДатаЧека;
                                //
                                НоваяСтрокаТовары.Код          = Товар.Атрибуты.ПолучитьИменованныйЭлемент("Код").Значение;
                                НоваяСтрокаТовары.Наименование = Товар.Атрибуты.ПолучитьИменованныйЭлемент("Наименование").Значение;
                                НоваяСтрокаТовары.Количество   = Товар.Атрибуты.ПолучитьИменованныйЭлемент("Количество").Значение;
3 NIGHTHUNTER
 
29.12.20
06:54
извините, протормозил, нужно так

                    НомерЧека  = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Номер").Значение;
                    ДатаЧека   = ЗаказНаряд.Атрибуты.ПолучитьИменованныйЭлемент("Дата").Значение;