PDA

Просмотр полной версии : XDTO чтение и запись xml в 1с



AndreyLe
22.03.2018, 09:16
Есть xml вида


<?xml version="1.0" encoding="UTF-8"?>
<Root>
<RegContr>
<Contr ID="1234" SNAME="Поставщик1" INN="7418529631" KPP="123456789" />
<Contr ID="1235" SNAME="Поставщик2" INN="1593571478" KPP="745896321" />
</RegContr>
<RegGood>
<Good ID_EL="22819" NAME="Резонатор4"/>
<Good ID_EL="17135" NAME="Резонатор3"/>
<Good ID_EL="17136" NAME="Резонатор2"/>
<Good ID_EL="23040" NAME="Резонатор1"/>
</RegGood>

<Doc ID="30448" SNAME="2066" INN="7418529631" ID_CONTR="1234" ID_ORG="1183" SNAME_ORG="Организация1">
<String NOM="1" ID_EL="23040" CORRECTNAME="Резонатор1" QU="1"/>
<String NOM="2" ID_EL="17136" CORRECTNAME="Резонатор2" QU="2"/>
<String NOM="3" ID_EL="17135" CORRECTNAME="Резонатор3" QU="3"/>
<String NOM="4" ID_EL="22819" CORRECTNAME="Резонатор4" QU="1"/>
</Doc>

</Root>



Тэг <DOC> - это данные о счете что внутри под тэгом <String> это табличная часть товаров.
не получается прочитать и записать данные из тэга DOC <Doc ID="30448" SNAME="2066" INN="7418529631" ID_CONTR="1234" ID_ORG="1183" SNAME_ORG="Организация1">



Для каждого Doc Из ОбъектXDTO.RegDoc.Doc Цикл

КодСч = Doc.SNAME;
НомерСЧ = Документы.СчетаПоставщика� �.НайтиПоРеквизиту("КодСч", КодСч);

Если Документы.СчетаПоставщика� �.НайтиПоРеквизиту("КодСч",Doc.SNAME).Пустая() Тогда
НовыйДокумент = Документы.СчетаПоставщика� �.СоздатьДокумент();
НовыйДокумент.КодСч = КодСч;
НовыйДокумент.Записать();

КонецЕсли;
КонецЦикла;



Пишет ошибку: что SNAME нет такого реквизита, переменная не определена.

angmar1982
28.03.2018, 17:23
Схема файла загруженная в XDTO-пакеты содержит элемент?