Имя: Пароль:
1C
1C 7.7
v7: Помогите разобраться с XML
0 lazarsr
 
09.02.12
23:30
Есть файл MXL
<?xml version="1.0" encoding="windows-1251"?>
 <Заявка>
   <Шапка>
     <Номер>000009с</Номер>
     <Дата>27.12.11</Дата>
     <Сумма>1'554.00</Сумма>
     <Расчет>Безнал</Расчет>
     <Покупатель>Юридическое лицо</Покупатель>
     <Фамилия/>
     <Имя/>
     <Отчество/>
     <E-mail>[email protected]</E-mail>
     <НазваниеОрганизации>ООО "СДВ-Медиа"</НазваниеОрганизации>
     <ИНН>7840404107</ИНН>
     <КПП/>
     <Банк/>
     <РасчетныйСчет/>
     <КорреспондентскийСчет/>
     <ЮридическийАдрес>191011, Санкт-петербург, Невский пр. 1/4, оф. 528</ЮридическийАдрес>
     <Телефон>6003050</Телефон>
     <Факс>6003050</Факс>
   </Шапка>
   <ДопРеквизиты>
     <Доставка>Авто</Доставка>
     <АдресДоставки>191011, Санкт-петербург, Невский пр. 1/4, оф. 528</АдресДоставки>
     <СтоимостьДоставки>300</СтоимостьДоставки>
     <ДатаДоставки>06.02.2012</ДатаДоставки>
     <Комментарий/>
   </ДопРеквизиты>
   <ТабЧасть>
     <Элемент <Код>="270-724" <Количество>="1" <Цена>="90">
     </Элемент>
     <Элемент <Код>="27-175" <Количество>="4" <Цена>="136">
     </Элемент>
     <Элемент <Код>="26-011" <Количество>="1" <Цена>="920">
     </Элемент>
   </ТабЧасть>
 </Заявка>
Нужна помощь в последнем теге ТабЧасть. Сам тег 1с видит но разобрать его не дает.
1 Cthulhu
 
09.02.12
23:30
врёшь! это - не моксель!
2 zak555
 
09.02.12
23:30
так ты спускайся

код покажи
3 ДенисЧ
 
09.02.12
23:32
<Элемент <Код>="270-724" <Количество>="1" <Цена>="90">

это неправильный хмл, и он даёт неправильный мёд...
4 zak555
 
09.02.12
23:35
(3) может там gt
5 lazarsr
 
09.02.12
23:35
Чем не правильный, такой мне с сайта выгружают.
До этого выгружали такой пока у них чтото не поменялось.
<?xml version="1.0" encoding="windows-1251"?>
<order number="50С" date="2012-01-31" time="03:38:56" summary="589" payment="Безналичный по счету">
 <customer title="Покупатель" type="Юридическое лицо">
   <lname title="Фамилия">Лукашевич</lname>
   <fname title="Имя">Сергей</fname>
   <father_name title="Отчество">Вячеславович</father_name>
   <e-mail title="E-mail">[email protected]</e-mail>
   <org_name title="Название организации">ООО "НПО"РАДА"</org_name>
   <inn title="ИНН">7840428130</inn>
   <kpp title="КПП">784001001</kpp>
   <bank title="Банк">Банк "Открытие"</bank>
   <raschetnyj_schet title="Расчетный счет">30101810400000000766</raschetnyj_schet>
   <korrespondentskij_schet title="Корреспондентский счет">40702810901000119325</korrespondentskij_schet>
   <yuridicheskij_adres title="Юридический адрес">Садовая д.28/30 к,23 пом 2-Н</yuridicheskij_adres>
   <telefon title="Телефон">407-48-05</telefon>
   <faks title="Факс">407-48-05</faks>
 </customer>
 <delivery title="Доставка" type="Курьерская доставка">
   <address title="Адрес доставки">Садовая д.28/30 к,23 пом 2-Н</address>
   <price title="Стоимость доставки">300</price>
   <date title="Дата доставки">2012-01-31</date>
 </delivery>
 <comment title="Дополнительный комментарий"></comment>
 <items title="Товары">
   <item article="27-175" amount="1" price="136"/>
   <item article="27-184" amount="1" price="153"/>
 </items>
</order>
6 zak555
 
09.02.12
23:37
(5) и в чём проблема ?
в кавычка это атрибут
между тегами значение
7 ДенисЧ
 
09.02.12
23:37
я привёл кусок неправильного кода
8 andrewks
 
09.02.12
23:38
(5) это кошерный xml
9 zak555
 
09.02.12
23:39
(8) особенно, если конкурент =)
10 lazarsr
 
09.02.12
23:44
В кавычках значение которое надо забрать в 1С
11 zak555
 
09.02.12
23:48
12 Tarlich
 
09.02.12
23:49
не оно

//процедура формирует печатную таблицу с данными, содержащимися в файле формата XML
Процедура Сформировать()
    Перем Файл,Каталог;
    Если ФС.ВыбратьФайл(0,Файл,Каталог,"Открытие документа XML","Документы XML|*.xml")=0 Тогда
         Возврат;
    КонецЕсли;
    //таблица
    Т=СоздатьОбъект("Таблица");
    Т.ИсходнаяТаблица("");
    Т.ВывестиСекцию("Шапка");
    //документ
    Анализатор=СоздатьОбъект("AddIn.XMLParser");
    Д=Анализатор.СоздатьДокумент();
    Д.Загрузить(Каталог+Файл);
    //узлы
    Узел=Д.ВыбратьУзел("Данные");
    Для i=1 По Узел.КоличествоПодчиненных() Цикл
         ТекУзел=Узел.ПолучитьПодчиненныйПоНомеру(i);
         Состояние(ТекУзел.Текст);
         //строка
         тЭлемент=ТекУзел.Наименование;
         тЗначение=ТекУзел.Значение;
         Т.ВывестиСекцию("Строка");
    КонецЦикла;
    //таблица
    Т.Опции(1,1,1,0);
    Т.ПовторятьПриПечатиСтроки(1,1);
    Т.ТолькоПросмотр(1);
    Т.Показать("XML");
КонецПроцедуры
13 zak555
 
09.02.12
23:52
(12) от единицы ? о_О
14 zak555
 
09.02.12
23:56
15 lazarsr
 
10.02.12
00:00
(12) Не оно ошибки пишет
16 zak555
 
10.02.12
00:02
бюджет ?
17 lazarsr
 
10.02.12
00:07
(16) Нет.