Позволяет получить тип данных XML, соответствующий переданному в качестве параметра типу.
Синтаксис
XMLТип(<Тип>)Полное описание, параметры и ограничения
СериализаторXDTO.XMLТип (XDTOSerializer.XMLType)
СериализаторXDTO (XDTOSerializer)
XMLТип (XMLType)
Доступен, начиная с версии 8.1.
Синтаксис:
XMLТип(<Тип>)
Параметры:
<Тип> (обязательный)
Тип: Тип.
Тип значения, для которого необходимо определить соответствующий XML тип.
Возвращаемое значение:
Тип: ТипДанныхXML.
Неопределено, если никакой тип данных XML не соответствует указанному типу.
Описание:
Позволяет получить тип данных XML, соответствующий переданному в качестве параметра типу.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Преобразовать ОписаниеТипов в объект XDTO и обратно без XML-текста
Промежуточная модель XDTO не обязана записываться в файл. ОписаниеТипов превращается в составной ОбъектXDTO, а восстановленное описание содержит два исходных типа.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Исходное ОписаниеТипов создано в памяти и содержит только Строка и Число; объекты базы не экспортируются.
ЗаписатьXDTO возвращает значение модели, несмотря на слово Записать: объект файловой записи здесь не нужен.
Сериализатор = Новый СериализаторXDTO;
ИсходноеОписание = Новый ОписаниеТипов("Строка,Число");
Модель = Сериализатор.ЗаписатьXDTO(ИсходноеОписание);
Если ТипЗнч(Модель) <> Тип("ОбъектXDTO") Тогда
ВызватьИсключение "Для описания типов ожидалась составная модель ОбъектXDTO";
КонецЕсли;
ВосстановленноеОписание = Сериализатор.ПрочитатьXDTO(Модель);
Сообщить(ТипЗнч(ВосстановленноеОписание) = Тип("ОписаниеТипов"));
Сообщить(ВосстановленноеОписание.СодержитТип(Тип("Строка")));
Сообщить(ВосстановленноеОписание.СодержитТип(Тип("Число")));
Сообщить(ВосстановленноеОписание.Типы().Количество() = 2);
ТипXML = Сериализатор.XMLТип(Тип("ОписаниеТипов"));
Если ТипXML = Неопределено Тогда
ВызватьИсключение "Не найден XML-тип описания типов";
КонецЕсли;
Сообщить("XML-тип: {" + ТипXML.URIПространстваИмен + "}" + ТипXML.ИмяТипа);Разбор по шагам
Создаём описание двух допустимых типов. Это объект-контракт, не одно конкретное строковое или числовое значение.
ЗаписатьXDTO преобразует его в составной ОбъектXDTO. Проверяем вид модели перед обратным преобразованием.
ПрочитатьXDTO использует сопоставление платформы для восстановления ОписаниеТипов.
XMLТип получает XML-описание по Тип платформы; XMLТипЗнч в соседнем уроке получает его по конкретному значению.
Как проверить результат
Восстановленный тип ОписаниеТипов, он содержит Строка и Число и ровно два типа.
Для ОписаниеТипов определён XML-тип, выводится его URI и имя.
Выполнение не создаёт XML/JSON-файл и не меняет реквизиты конфигурации.
Ожидаемый результат
Составное описание типов прошло цикл платформенное значение → модель XDTO → платформенное значение.
На что обратить внимание
Не все платформенные типы имеют сопоставление XDTO. Открытое соединение нельзя переносить по аналогии.
ОбъектXDTO и ЗначениеXDTO различаются: метод обратного составного преобразования здесь получает именно объект.
Восстановленное ОписаниеТипов само по себе не добавляет реквизит формы или конфигурации.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.