![]() |
![]() |
![]() |
|
выгрузка данных в xml в 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
fadeik86
08.06.11
✎
04:56
|
Привет всем.
Можно ли сделать выгрузку в XML из 1С 7.7 понимаю, что штатными средствами это невозможно (поставщик затребовал выгрузку именно в этом формате) Можете сказать, может кто занимался этим уже, где почитать про это? спс. |
|||
1
Андрюха
08.06.11
✎
04:59
|
Пример записи/чтения в XML из 1С
http://narod.ru/disk/15347184001/ПримерРаботыXML.ert.html |
|||
2
Андрюха
08.06.11
✎
05:01
|
Перем ИмяФайлаXML;
//******************************************* Процедура ПрочитатьXML() ТекстОшибки = ""; Если ФС.СуществуетФайл(ИмяФайлаXML) <> 1 Тогда ТекстОшибки = "Файл """ + ИмяФайлаXML + """ не найден!"; ИначеЕсли ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда ТекстОшибки = "Компонента v7plus.dll не найдена!"; КонецЕсли; Если ПустаяСтрока(ТекстОшибки) <> 1 Тогда Предупреждение(ТекстОшибки); Возврат; КонецЕсли; XMLАнализатор = СоздатьОбъект("AddIn.XMLParser"); XMLДокумент = XMLАнализатор.СоздатьДокумент(); XMLДокумент.Загрузить(ИмяФайлаXML); XMLКорневойРаздел = XMLДокумент.ВыбратьУзлы("*"); XMLКорневойРаздел = XMLКорневойРаздел.ПолучитьУзел(0); ДанныеXML = XMLКорневойРаздел.ВыбратьУзлы("*"); Для Сч1 = 0 По ДанныеXML.КоличествоУзлов() - 1 Цикл Ветка = ДанныеXML.ПолучитьУзел(Сч1); ДанныеДата = Ветка.ПолучитьАтрибут("Дата"); ДанныеВремя = Ветка.ПолучитьАтрибут("Время"); Сообщить("Узел: """ + Ветка.Наименование + """, Дата: " + ДанныеДата + ", Время: " + ДанныеВремя); Элементы = Ветка.ВыбратьУзлы("*"); Для Сч2 = 0 По Элементы.КоличествоУзлов() - 1 Цикл Элемент = Элементы.ПолучитьУзел(Сч2); Сообщить(" Элемент: """ + Элемент.Наименование + """, Значение: " + Элемент.Значение); КонецЦикла; КонецЦикла; Предупреждение("ОК"); КонецПроцедуры //******************************************* Процедура ЗаписатьXML() Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда Предупреждение("Компонента v7plus.dll не найдена!"); Возврат; КонецЕсли; XMLАнализатор = СоздатьОбъект("AddIn.XMLParser"); XMLКорневойРаздел = XMLАнализатор.СоздатьДокумент(); ДанныеXML = XMLКорневойРаздел.СоздатьПодчиненныйЭлемент("root"); Для Сч1 = 1 По 3 Цикл Ветка = ДанныеXML.СоздатьПодчиненныйЭлемент("Данные" + Сч1); Ветка.УстановитьАтрибут("Дата", ТекущаяДата()); Ветка.УстановитьАтрибут("Время", ТекущееВремя()); Для Сч2 = 1 По 5 Цикл Элемент = Ветка.СоздатьПодчиненныйЭлемент("Элемент" + Сч2); Элемент.Значение = "Значение" + Сч2; КонецЦикла; КонецЦикла; XMLКорневойРаздел.Записать(ИмяФайлаXML); Предупреждение("ОК"); КонецПроцедуры ИмяФайлаXML = "C:\ПримерФайлаXML.xml"; |
|||
3
PaulBC
08.06.11
✎
05:02
|
>>понимаю, что штатными средствами это невозможно
Возможно |
|||
4
miki
08.06.11
✎
05:03
|
(0)
>>понимаю, что штатными средствами это невозможно LOL сделай в типовом глобальнике поиск по "XML" и удивись... Можешь также открыть для себя XMLParser из v7plus. |
|||
5
fadeik86
08.06.11
✎
05:04
|
(3) с помощью v7plus.DLL?
|
|||
6
ДенисЧ
08.06.11
✎
06:03
|
(5) намекаю. XML - это текст. Продолжать?
|
|||
7
MiraRed
08.06.11
✎
06:09
|
(5) Да.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |