Как определить у объекта xdto наличие свойства с определенным именем

от admin

проверить есть ли элемент в ответе XDTO (soap)

есть сервис по soap дает ответ — иерархический, по самому нижнему уровню в цикле обхожу весь массив параметров-элементов, в ответе грубо 10 столбцов(параметров), но бывает что одного из параметров нет в ответе, как проверить есть ли элемент с определенным именем в ответе?

можно через попытка и по ошибке, но наверно есть более правильный способ.
[1c]
Определения = новый WSОпределения("http://www.xxx.ru/WebServices/WebService.asmx?WSDL");
прокси=wsссылки.WSСсылка1.СоздатьWSПрокси("http://www.xxx.ru/","WebService","WebServiceSoap");
ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://www.xxx.ru/").Получить("Get4Group");
//Создаем параметр на основе типа и заполняем значение параметра On_Date.
WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
WSПараметр.UserID = "11";
WSПараметр.GroupID = "12";
ответ = Прокси.Get4Group(WSПараметр);
Для Каждого Элемент Из ответ.Get4GroupResult.diffgram.Setx.ResponseTable Цикл

сообщить(элемент.Number);
сообщить(элемент.Param1);
сообщить(элемент.Param2);
конеццикла;
[/1c]
вот бывает что param2 нет в ответе, нужно проверить его на наличие в ответе

Как определить у объекта xdto наличие свойства с определенным именем


Начнем с простого — скачаем пакет форматов по интеграционному взаимодействию с ГИС ЖКХ, импортируем все xsd схемы из пакета интеграций, наведем порядок переименуем все как нам удобно. В итоге получим как показано на картинке:

Механизм XDTO

Механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами.
Аббревиатура XDTO обозначает XML Data Transfer Objects.
Механизм XDTO позволяет создать модель представления данных (модель типов и значений), которая, с одной стороны, обеспечивает возможность просто и естественно манипулировать данными в среде системы «1С:Предприятие», а с другой стороны, хорошо приспособлена для прозрачного преобразования данных в другие форматы, главным образом XML.

Рис. 1. Общая схема XDTO

Можно выделить несколько задач, для решения которых используется механизм XDTO:

  • обмен данными между конфигурациями системы «1С:Предприятие» с разными схемами данных;
  • обмен данными на основе схем XML, не привязанных к той или иной конфигурации (например, обмен с информационными системами, построенными не на основе системы «1С:Предприятие»);
  • организация работы с Web-сервисами. Механизм XDTO позволяет описывать типы параметров и возвращаемых значений Web-сервисов, а также манипулировать передаваемыми и возвращаемыми данными.

Механизм XDTO обладает следующими ключевыми свойствами:

  • обеспечивает работу с XML,
  • привычная модель работы с данными.

В настоящее время обмен данными с различными программными платформами и системами реализуется с использованием XML: XML-документы служат для представления данных, а схема XML используется для описания форматов и структур данных. Механизм XDTO позволяет создавать требуемые для обмена схемы XML и формировать XML-документы, удовлетворяющие этим схемам.
В то же время использование механизма XDTO позволяет выполнять эти действия в привычной, для большинства разработчиков системы «1С:Предприятие», манере.
Разработчик имеет дело с типами и объектами данных, объекты данных содержат свойства, свойствам присваиваются значения и т. д. При манипулировании данными с помощью XDTO разработчик максимально изолирован от подробностей, связанных с тем, как эти данные представлены в XML. Конечно, совсем избавиться от этих подробностей невозможно, но важно, что они проявляются только там, где это действительно нужно.

16.1.2. Фабрика XDTO

16.1.2.1. Общая информация

Ключевым понятием механизма XDTO является фабрика XDTO. Фабрика XDTO содержит описание всех типов, с которыми оперирует некоторая система. В частности, для любой конфигурации системы «1С:Предприятие» существует глобальная фабрика XDTO, которая описывает все типы,используемые в конфигурации, в терминах XDTO (эта фабрика XDTO доступна через свойство глобального контекста ФабрикаXDTO).
Все описания типов, которые содержит фабрика XDTO, сгруппированы в один или несколько пакетов XDTO. Если проводить аналогию между XDTO и XML, то можно сказать, что пакет XDTO соответствует схеме XML. Таким образом, фабрика XDTO может соответствовать нескольким схемам XML.
Фабрика XDTO является полностью самодостаточной. То есть любой из типов, зарегистрированных в фабрике XDTO, может ссылаться только на типы из той же самой фабрики XDTO.
В общем случае фабрика XDTO создается единовременно на основании описаний всех типов, которые должны быть зарегистрированы в фабрике. Для создания фабрики XDTO средствами встроенного языка используется конструктор объекта ФабрикаXDTO, которому передается набор схем XML, содержащийся в объекте НаборСхемXML . Сценарий, при котором типы XDTO добавляются в фабрику по одному или группами, не
поддерживается.
В отличие от произвольной фабрики XDTO, которую может создать разработчик, глобальная фабрика XDTO создается системой автоматически, при создании новой информационной базы, и допускает добавление типов XDTO по одному или группами. Для этого используются средства визуального конструирования, позволяющие добавлять пакеты XDTO в ветку дерева метаданных Общие – XDTO-пакеты . Все пакеты,
содержащиеся в глобальной фабрике XDTO, можно разделить на три вида:

Похожие статьи