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

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

  • автор:

проверить есть ли элемент в ответе 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 наличие свойства с определенным именем

image
Начнем с простого — скачаем пакет форматов по интеграционному взаимодействию с ГИС ЖКХ, импортируем все 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, можно разделить на три вида:

    • Один пакет XDTO, содержащий описание типов платформы. Этот пакет является одинаковым для всех конфигураций системы «1С:Предприятие».
    • Один пакет XDTO, содержащий описание типов конфигурации, созданных в результате редактирования метаданных (создания и изменения свойств справочников, документов и пр.)
    • Один или несколько пакетов XDTO, описанных непосредственно в дереве объектов конфигурации, в ветке Общие – XDTO-пакеты.
    16.1.2.2. Получение фабрики XDTO из файла-схемы XSD
    16.1.2.3. Получение фабрики XDTO из нескольких источников

    ● Схемы XML, которая расположена в файле с:\temp\sсhema 1.xsd.
    ● Схемы XML, которая расположена в файле с:\temp\sсhema 2.xsd.
    ● Схемы пакета 1 текущей конфигурации.
    ● Схемы пакета 2 текущей конфигурации.

    1C:Enterprise

    При добавлении пакета XDTO в дерево конфигурации окно редактирования пакета открывается автоматически.

    Для того, чтобы открыть окно редактирования пакета XDTO, следует выбрать нужный пакет и выполнить команду «Открыть пакет«.

    Окно редактирования пакета XDTO содержит иерархическую структуру пакета XDTO, отображаемую в виде дерева.

    В корневом элементе расположен идентификатор пакета XDTO, содержащий URI пространства имен данного пакета.

    На первом уровне иерархии могут располагаться следующие элементы пакета:

    Каждый тип значения XDTO описывается иерархической структурой и может содержать в своем составе следующие элементы:

    Каждый тип объекта XDTO описывается иерархической структурой, которая может содержать в своем составе набор свойств объекта.

    Свойства пакета XDTO

    Редактирование свойств пакета XDTO выполняется в палитре свойств.

    Кроме основных свойств (показываются, если окно редактирования закрыто) требуется указать пространство имен импортируемого пакета.

    Свойства типа значения XDTO

    Редактирование свойств типа значения XDTO выполняется в палитре свойств.

    Для типа значения XDTO палитра свойств содержит следующие свойства:

    Свойства типа объекта XDTO

    Редактирование свойств типа объекта XDTO выполняется в палитре свойств.

    Для типа объекта XDTO палитра свойств содержит следующие свойства:

    Свойства свойств типа объекта XDTO

    Редактирование свойства свойств типа объекта XDTO выполняется в палитре свойств.

    Для свойства свойств типа объекта XDTO палитра свойств содержит следующие свойства:

    Глобальное свойство

    Редактирование свойств глобального свойства выполняется в палитре свойств.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *