Доброго дня шановні програмісти. Маю намір полегшити своє життя з тим аби створити модуль для експорту даних типу XML для подальшої загрузки його в Медок структура файлу приблизно така:
<?xml version="1.0" encoding="windows-1251"?>
<DECLAR xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F1203001.XSD">
<DECLARHEAD>
<TIN>2617415735</TIN>
<C_DOC>F12</C_DOC>
<C_DOC_SUB>030</C_DOC_SUB>
<C_DOC_VER>1</C_DOC_VER>
<C_DOC_TYPE>0</C_DOC_TYPE>
<C_DOC_CNT>41</C_DOC_CNT>
<C_REG>06</C_REG>
<C_RAJ>08</C_RAJ>
<PERIOD_MONTH>4</PERIOD_MONTH>
<PERIOD_TYPE>1</PERIOD_TYPE>
<PERIOD_YEAR>2017</PERIOD_YEAR>
<C_STI_ORIG>0608</C_STI_ORIG>
<C_DOC_STAN>1</C_DOC_STAN>
<LINKED_DOCS xsi:nil="true" />
<D_FILL>24042017</D_FILL>
<SOFTWARE>MEDOC</SOFTWARE>
</DECLARHEAD>
<DECLARBODY>
<HTYPR>0</HTYPR>
<HFILL>03589717</HFILL>
<HNUM>249</HNUM>
<HNUM1 xsi:nil="true" />
<HNAMESEL>ФОП Калачун Григорій Михайлович</HNAMESEL>
<HNAMEBUY>ОГІЕНКО ВАСИЛЬ ВАСИЛЬОВИЧ</HNAMEBUY>
<HKSEL>2617415735</HKSEL>
<HKBUY>2523608675</HKBUY>
<R01G1>2710131894</R01G1>
<R01G2S>товар</R01G2S>
<R01G3>1823.60</R01G3>
<R01G4>2425.00</R01G4>
<HBOS>Григорій Михайлович</HBOS>
<HKBOS>2617415735</HKBOS>
</DECLARBODY>
</DECLAR>
<!-- YOUR_ID="13426583871108940960"-->
Процедура Екпорт_в_МЕДОК()
ИмяФайлаXML = "f:\Програмування_в_1С\XML\ПримерФайлаXML.xml";
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
Предупреждение("Компонента v7plus.dll не найдена!");
Возврат;
КонецЕсли;
XMLАнализатор = СоздатьОбъект("AddIn.XMLParser");
XMLКорневойРаздел = XMLАнализатор.СоздатьДокумент();
// структура самого документа XML
ДанныеXML = XMLКорневойРаздел.СоздатьПодчиненныйЭлемент("DECLAR");
ДанныеXML.УстановитьАтрибут("xmlns" + "-" + "xsi", "http" + "-" + "//www.w3.org/2001/XMLSchema-instance");
ДанныеXML.УстановитьАтрибут("xsi" + "-" + "noNamespaceSchemaLocation", "F1203001.XSD");
Ветка_1 = ДанныеXML.СоздатьПодчиненныйЭлемент("DECLARHEAD");
Элемент = Ветка_1.СоздатьПодчиненныйЭлемент("TIN");
Элемент.Значение = "2617602835";
XMLКорневойРаздел.Записать(ИмяФайлаXML);
Предупреждение("ОК");
КонецПроцедуры
<?xml version="1.0" encoding="windows-1251"?>
<DECLAR xmlns-xsi="http-//www.w3.org/2001/XMLSchema-instance" xsi-noNamespaceSchemaLocation="F1203001.XSD"><DECLARHEAD><TIN>2617602835</TIN></DECLARHEAD></DECLAR>
ДанныеXML.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema-instance","xsi");
Дякую та плюсую Вам за ":" рядок в XML формується без проблем.
Але залишається відкритим питання, що до того яким чином в XML файлі зробити перехід на наступний рядок, бо весь файл формується в один рядок
яким браузером відкриваєте хмл-файл?
<LINKED_DOCS xsi:nil="true" />
Элемент14 = Ветка_1.СоздатьПодчиненныйЭлемент("LINKED_DOCS");
Элемент14.УстановитьАтрибут("xsi:nil", "true");
Взагалі, я не користуюсь інструментами v7plus.dll для запису хмл-файлів (використовую їх тільки для читання таких файлів). Для себе відкрив об'єкт DomDocument для запису хмл-файлів (читати він звісно також може ), там все логічно і зрозуміло як для мене.
ні ну не як не розумію чому коли пишу в коді
Элемент14.УстановитьАтрибут("xsi:nil", "true");
Усім дякую, проблема вирішена, питання більше не актуальне.
leo10k10, так и в чем была проблема?
ТекстФайла=СоздатьОбъект("Текст");
ТекстФайла.ДобавитьСтроку("<?xml version=""1.0"" encoding=""windows-1251""?>");
ТекстФайла.ДобавитьСтроку("<DECLAR xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""F1203001.XSD"">");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+"<DECLARHEAD>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<TIN>2617415735</TIN>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_DOC>F12</C_DOC>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_DOC_SUB>030</C_DOC_SUB>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_DOC_VER>1</C_DOC_VER>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_DOC_TYPE>0</C_DOC_TYPE>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_DOC_CNT>41</C_DOC_CNT>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_REG>06</C_REG>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_RAJ>08</C_RAJ>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<PERIOD_MONTH>4</PERIOD_MONTH>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<PERIOD_TYPE>1</PERIOD_TYPE>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<PERIOD_YEAR>2017</PERIOD_YEAR>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_STI_ORIG>0608</C_STI_ORIG>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<C_DOC_STAN>1</C_DOC_STAN>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<LINKED_DOCS xsi:nil=""true""/>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<D_FILL>24042017</D_FILL>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<SOFTWARE>MEDOC</SOFTWARE>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+"</DECLARHEAD>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+"<DECLARBODY>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HTYPR>0</HTYPR>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HFILL>03589717</HFILL>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HNUM>249</HNUM>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HNUM1 xsi:nil=""true"" />");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HNAMESEL>ФОП Калачун Григорій Михайлович</HNAMESEL>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HNAMEBUY>ОГІЕНКО ВАСИЛЬ ВАСИЛЬОВИЧ</HNAMEBUY>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HKSEL>2617415735</HKSEL>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HKBUY>2523608675</HKBUY>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<R01G1>2710131894</R01G1>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<R01G2S>товар</R01G2S>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<R01G3>1823.60</R01G3>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<R01G4>2425.00</R01G4>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+СимволТабуляции+"<HBOS>Григорій Михайлович</HBOS>");
ТекстФайла.ДобавитьСтроку(""+СимволТабуляции+"</DECLARBODY>");
ТекстФайла.ДобавитьСтроку("</DECLAR>");
ТекстФайла.Записать("C:\DECLAR.xml");
Предупреждение("Файл записан");
ЗапуститьПриложение("C:\");
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua