Имя: Пароль:
1C
1C 7.7
v7: Выгрузка данных в xml
,
0 serg-lom89
 
11.06.13
12:50
Нужно сделать выгрузку в xml
Может у кого есть примеры работы с xml/выгрузка
буду признателен за кусочек кода-)
1 ech2000
 
11.06.13
12:51
выгрузка каких данных?
2 Любопытная
 
11.06.13
12:53
//Переменные XDTO
   ПолноеИмяФайлаСхемы = ПолучитьИмяВременногоФайла("xsd");
   
   ОтчетОбъект = РеквизитФормыВЗначение("Объект");
   Схема = ОтчетОбъект.ПолучитьМакет(ИмяОтчета);
   Схема.Записать(ПолноеИмяФайлаСхемы, КодировкаТекста.UTF8);
   
   //проинициализируем схему
   Чтение    = Новый ЧтениеXML;
   Чтение.ОткрытьФайл(ПолноеИмяФайлаСхемы);
   
   НовыйПостроительДом = Новый ПостроительDOM;
   НовыйДокументДом    = НовыйПостроительДом.Прочитать(Чтение);
   
   НовыйПостроительСхемXML    = Новый ПостроительСхемXML;
   
   НоваяСхема    = НовыйПостроительСхемXML.СоздатьСхемуXML(НовыйДокументДом);
   ОсновноеПространствоИмен = НоваяСхема.ПространствоИмен;
   
   НаборСхем    = Новый НаборСхемXML;
   НаборСхем.Добавить(НоваяСхема);
   
   Фабрика = Новый ФабрикаXDTO(НаборСхем);


КорневойТип = Фабрика.Тип(ОсновноеПространствоИмен,"EDO_ODKF012");
   Корень = Фабрика.Создать(КорневойТип);
   

ЗаголовокТип = КорневойТип.Свойства.Получить("title").Тип;
   FTitle = Фабрика.Создать(ЗаголовокТип);
   FTitle.report_on_date = Формат(ДокСсылка.ДатаОкончания,"ДФ=dd.MM.yyyy");
   FTitle.report_date = Формат(ДокСсылка.ДатаПодписи,"ДФ=dd.MM.yyyy");
   FTitle.dogovor_num = СокрЛП(РеквизитыДоговораДУ.Код);
   FTitle.dogovor_date = РеквизитыДоговораДУ.ДатаНачала;
   
   Promoter = Фабрика.Создать(ЗаголовокТип.Свойства.Получить("promoter").Тип);

и т.д. и т.п.
3 Wobland
 
11.06.13
12:54
(2) на семёрке немного круче
4 Любопытная
 
11.06.13
12:55
Оу, сори, не заметила, что v7
5 serg-lom89
 
11.06.13
12:56
(1) справочника номенклатура
6 serg-lom89
 
11.06.13
12:58
(2) а для 7 есть пример?
7 Wobland
 
11.06.13
12:59
(6) MD77Exp.ert в составе КД глянь
8 ech2000
 
11.06.13
13:01
Анализатор = СоздатьОбъект("AddIn.XMLParser");
   Запрос = СоздатьОбъект("Запрос")
   
   Корень = Анализатор.СоздатьДокумент();
   Данные = Корень.СоздатьПодчиненныйЭлемент("Set");
   price = Данные.СоздатьПодчиненныйЭлемент("price");
   zone_town = Данные.СоздатьПодчиненныйЭлемент("zone_town");
   region_town = Данные.СоздатьПодчиненныйЭлемент("regions");
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Выполнить)
   |Доставка = Справочник.Доставка.ТекущийЭлемент;
   |ВесНач = Справочник.Доставка.ВесНач;
   |ВесКон = Справочник.Доставка.ВесКон;
   |Зона = Справочник.Доставка.Зона;
   |СуммаДД = Справочник.Доставка.СуммаДД;
   |Группировка ВесНач;
   |Группировка Зона;
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;
   
   Пока Запрос.Группировка(1) = 1 Цикл
       ves = price.СоздатьПодчиненныйЭлемент("ves");
       ves.УстановитьАтрибут("Begin",СокрЛП(Запрос.ВесНач));
       ves.УстановитьАтрибут("End",СокрЛП(Запрос.ВесКон));
       Пока Запрос.Группировка(2) = 1 Цикл
           zone = ves.СоздатьПодчиненныйЭлемент("zone");
           zone.УстановитьАтрибут("Num",СокрЛП(Запрос.Зона));
           zone.УстановитьАтрибут("Cost",СокрЛП(Запрос.СуммаДД));
       КонецЦикла;
   КонецЦикла;

Вот работающий пример, тут можно увидеть иерархию хмл файла.
9 serg-lom89
 
11.06.13
13:04
(8) Спасибо
10 serg-lom89
 
11.06.13
13:15
Анализатор = СоздатьОбъект("AddIn.XMLParser");
AddIn.XMLParser- это что?какой то файл в каталоге программы или что?
12 Wobland
 
11.06.13
13:16
долбаная, тудыть её, семёрка

   Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "v7plus.dll") <> 1 Тогда
       
       Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
           
           Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "ExtForms\" + "v7plus.dll") <> 1 Тогда
               
               Предупреждение("Компонента v7plus.dll не найдена!", 60);
               
               Возврат;
               
           КонецЕсли;
           
       КонецЕсли;
       
   КонецЕсли;

   XMLАнализатор = СоздатьОбъект("AddIn.XMLParser");
   мИнфо = СоздатьОбъект("AddIn.V7SysInfo");
13 serg-lom89
 
11.06.13
13:17
долбаная, тудыть её, семёрка

ахахахах=))
14 Mikeware
 
11.06.13
13:19
(11) как в анекдоте про вовочку - "а ты матерные слова на "ля-ля" заменяй..." :-)
15 aka AMIGO
 
11.06.13
13:23
(13) так работает в 7-ке копипаст на английской раскладке :)
16 Wobland
 
11.06.13
13:24
(15) если в реестре не подшаманить
17 Dolly_EV
 
11.06.13
14:16
(0) ты озвуч по-конкретнее задачу? может чего готовое есть
18 Nenaviwu1c20
 
11.06.13
14:20
19 1Сергей
 
11.06.13
14:22
(18)
Опасность: обнаружено вредоносное ПО!
Google Chrome заблокировал доступ к этой странице на сайте help1c.com.
На эту веб-страницу было вставлено содержание с amb-ret.ru, известного распространителя вредоносного ПО. Ее посещение может привести к заражению вашего компьютера вредоносным ПО.
Вредоносное ПО – это программное обеспечение, специально созданное для совершения преступных действий, например хищения идентификационных данных, кражи денег или безвозвратного удаления файлов.
20 Nenaviwu1c20
 
11.06.13
14:33
Открой в опере.Не боись виров не подбрасываю)
21 Nenaviwu1c20
 
11.06.13
14:33
там дано описание кода и на 7ке и на 8ке
22 serg-lom89
 
11.06.13
14:51
(18) спасибо большое=))сейчас переделаю под себя=)
AdBlock убивает бесплатный контент. 1Сергей