Учитывая наблюдаемый интерес к работе с XDTO, хочу обратить внимание на информацию о специфике самой платформы, которая предоставлена в пакетах самой платформы. Ничего нового, всё это можно увидеть при работе со стационарным описанием XDTO при выборе типов свойств и объектов, но это интерфейс. Но и программно докопаться несложно. Эти пакеты, ровно с теми же URI, доступны для глобальной переменной ФабрикаXDTO (синглтона). Надо заметить, что этим, помимо клиент-серверной доступности, отличаются способы создания фабрик. Если вы делаете фабрику конструктором, в неё включатся только нужные вам пакеты, а если задействуете синглтон, то всё "барахло" встроенных пакетов тоже ваше. Так вот, путём несложных манипуляций можно получить, например, выгрузку содержимого пакета в текстовый файл, почитать его и узнать кое-что интересное. Например, для желающих глубже понять устройство 1С и особенности её поведения в тех или иных ситуациях.
По рассмотрении пакетов, выяснилось следующее:
"http://v8.1c.ru/8.1/data/enterprise/current-config" - все метаданные, но без универсальных полей, т.е. без, например, таких понятий, как ДлинаКода или РежимУправленияБлокировкойДанных, только реквизиты и самое общее по ним, что, в общем, можно получить обычным опросом метаданных.
"http://v8.1c.ru/8.1/data/core" - системные перечисления, служебные типы, самые-самые базисные понятия, на которых построена и сама платформа, у меня вызвало чисто теоретический интерес, т.к. не знаю, где применить.
"http://v8.1c.ru/8.1/data/enterprise" - системные перечисления, служебные типы, но уже не самые базисные понятия, и это может понадобиться в тонкостях работы конвертаций, обменов и тыды.
"http://v8.1c.ru/8.2/uobjects" - универсальные коллекции, в т.ч. ДанныеФормы. Любителям дербанить и пересобирать формы, используя выгрузку в файлы на 8.3 рекомендую.
"http://v8.1c.ru/8.2/bsl" - объекты обработки ошибок, тоже может пригодиться.
"http://v8.1c.ru/8.2/data/bsl" - описание описаний процедур и функций, если я верно понял. Наверное, было бы интересно в каких-то интеграциях в вебе, в веб-расширении и прочих трансляциях).
"http://v8.1c.ru/8.2/managed-application/core" - базовые и основные для интерфейсов УФ. Опять-таки, разбирать конфу с учётом этих сведений удобнее.
"http://v8.1c.ru/8.1/data/ui" - также некоторые служебные системные перечисления и сведения, может пригодиться ленивым, которым неохота перепечатывать СП, делая свои списки выбора, и волноваться, а не добавила ли 1С ещё что-нибудь в очередной версии.
Например, можно вытащить все описанные форматы картинок (а равно и вообще форматы файлов, поддерживаемые платформой и выдаваемые в фильтре при открытии файла в 1С).
// маленький пример, как пользоваться XDTO самой конфы
Функция ПолучитьДопустимыеФорматыКартинок1С()
Попытка
// в принципе, так же можно получать и другие системные перечисления - надо лишь выяснить, в каком пакете они.
рОбъектXDTO=ФабрикаXDTO.ЭкспортМоделиXDTO("http://v8.1c.ru/8.1/data/ui"); // тут известно, что в этом пакете.
рXML=Новый ЗаписьXML;
рXML.УстановитьСтроку("UTF-8");
рXML.ЗаписатьОбъявлениеXML();
ФабрикаXDTO.ЗаписатьXML(рXML,рОбъектXDTO);
// читаем в построитель
рХМЛ=Новый ЧтениеXML;
рХМЛ.УстановитьСтроку(рXML.Закрыть());
постр=Новый ПостроительDOM;
док=постр.Прочитать(рХМЛ);
// ищем (жаль, нет поиска по значению атрибута)
мЗначений=Новый Массив;
спЭлементов=док.ПолучитьЭлементыПоИмени("valueType");
Для каждого эл Из спЭлементов Цикл
Если эл.ПолучитьАтрибут("name")="PictureFormat" Тогда // это он, нужный
Для каждого уз Из эл.ДочерниеУзлы Цикл // находится в теге enumeration
мЗначений.Добавить(уз.ТекстовоеСодержимое);
КонецЦикла;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат мЗначений;
Исключение
Сообщить("ПолучитьДопустимыеФорматыКартинок1С, ошибка: "+ОписаниеОшибки(),СтатусСообщения.Важное);
Возврат Неопределено;
КонецПопытки;
КонецФункции
Ну а уж вывалить ЗаписьXML в текстовый файл, чтоб просто полюбоваться, думаю, все смогут:
т=Новый ТекстовыйДокумент; т.УстановитьТекст(ЗаписьХМЛ.Закрыть()); т.Показать();
Если кому пригодится, будет хорошо )))