Имя: Пароль:
1C
1С v8
Самый короткий способ выгрузить схему XML для текущей конфигурации
,
0 TormozIT
 
гуру
09.02.12
15:18
Процедура ВыгрузитьСхему(ИмяФайлаСхемы)
   НаборСхем = ФабрикаXDTO.ЭкспортСхемыXML("http://v8.1c.ru/8.1/data/enterprise/current-config");
   СхемаXML = НаборСхем[0];
   СхемаXML.ОбновитьЭлементDOM();
   ЗаписьXML = Новый ЗаписьXML;
   ЗаписьXML.ОткрытьФайл(ИмяФайлаСхемы);
   ЗаписьDOM = Новый ЗаписьDOM;
   ЗаписьDOM.Записать(СхемаXML.ДокументDOM, ЗаписьXML);
   ЗаписьXML.Закрыть();
КонецПроцедуры

Есть ли способ короче?
1 Живой Ископаемый
 
09.02.12
15:19
ты что, издеваешься?
2 TormozIT
 
гуру
09.02.12
15:21
Где я?
3 TormozIT
 
гуру
09.02.12
15:22
(1) Если ты про команду конфигуратора, то в режиме предприятия она мне не поможет.
4 Господин ПЖ
 
09.02.12
15:22
щито это?
5 TormozIT
 
гуру
09.02.12
15:30
(4) По-другому это называется XSD файл для текущей конфигурации.
6 Господин ПЖ
 
09.02.12
15:39
(5) а что с ним делать можно?
7 TormozIT
 
гуру
09.02.12
15:46
(6) По нему можно создать фабрику например в чужеродной системе или базе с другой конфигурацией. Ну а фабрика дает возможность читать и писать в XML.
8 Живой Ископаемый
 
09.02.12
15:58
я про то, что это неприлично - прийти со способом который в секунды выгрузит схему для конфы и требовать еще быстрее..
9 Nagaru
 
09.02.12
16:00
Выглядит не как вопрос, а как способ показать свой код...
10 Maxus43
 
09.02.12
16:02
(9) ТС много полезных штук выкладывал бесплатно, например v8: v8: Подсистема "Инструменты разработчика" получила зеркало без ограничения скачивания
так что лучше придумай способ лучше (0), всем благо)
11 shamannk
 
09.02.12
16:02
«Ты суслика видишь? — Нет. — И я нет. А он есть!» (с)
12 TormozIT
 
гуру
09.02.12
16:08
(8) Я требовал не быстрее, а короче. В (0) многовато операций и текста.
Мне кажется есть способ в меньшее число операций и соответственно текста, но такой же быстрый.
13 Maxus43
 
09.02.12
16:14
кстати долго выгружает. на файловой УПП 3-4 секунды
14 Живой Ископаемый
 
09.02.12
16:17
2(13) там создается файл в 2-3 метра поди.. точно долго?
15 Maxus43
 
09.02.12
16:19
(14) 5 метров) 1-2 секунды думает над
   НаборСхем = ФабрикаXDTO.ЭкспортСхемыXML("http://v8.1c.ru/8.1/data/enterprise/current-config");
   СхемаXML = НаборСхем[0];
   СхемаXML.ОбновитьЭлементDOM();
   ЗаписьXML = Новый ЗаписьXML;
16 Maxus43
 
09.02.12
16:21
67% времени на СхемаXML.ОбновитьЭлементDOM();
17 ptiz
 
09.02.12
16:22
(15) Можно вопрос чайника?
Откуда взялась строка "http://v8.1c.ru/8.1/data/enterprise/current-config" ?
И где взять подобные?
18 Maxus43
 
09.02.12
16:23
(17) в свойствах корня конфы указано
19 Maxus43
 
09.02.12
16:23
(16) + 2,1 секунды на это
20 TormozIT
 
гуру
09.02.12
16:27
(17) В подсистеме ИР есть исследователь объектов. Открываешь его и он сразу показывает глобальный контекст. В нем находишь ФабрикаXDTO. Входишь в нее и даблкликаешь на свойстве Пакеты. Ну дальше думаю станет все понятно.
21 TormozIT
 
гуру
09.02.12
16:28
(17) Еще можно в отладчике по точке останова вычислить выражение "ФабрикаXDTO.Пакеты". Там подубовее будет, но если нет ИР, то сойдет.
22 ptiz
 
09.02.12
16:28
(21) Ага, так и нашел. Спасибо.
23 Maxus43
 
09.02.12
16:29
(18) + нет, не указано...
ну и если записать объект любой используя сериализатор - то в файле будут написаны они
24 Maxus43
 
09.02.12
16:31
или выгрузить схему из конфигуратора. ПКМ на пакетах XDTO