7.15 oData

Добрый день.

Подскажите пожалуйста. можно ли одним запросом как-то получить все данные о разделе (все поля, указание на справочники если они используются в полях. а также указание какие детали используются).

К примеру есть разделе HR. на странице раздела есть поля для заполнения, и справочниками, и также есть деталь Задачи. Нужно одним запросом получить все что есть на странице. Возможно вообще такое получить?

Прикрепленные файлы

Нравится

2 комментария

Если и можно, то не по OData. Там показывает Id для справочных полей, Name нужно тянуть из объекта справочника отдельно, то же самое и для объектов деталей.

 

Возможно, вместо OData больше подойдёт DataService, который используется в интерфейсе системы для отображения в разделах и карточках записей с сервера. Детали всё равно надо будет отдельно, но значения для отображения из справочников подтянутся. Наконец, несколько запросов к нему можно послать в одном пакетном. То есть можно предусмотреть выборку записи из раздела и связанных с ней записей деталей.

 

Пример одной записи того, что возвращает сервер при заходе в реестр раздела контактов:

      {
         "Id":"b9e98250-72c5-df11-b1ad-001d60e938c6",
         "Name":"\u0410\u0432\u0434\u043E\u0440\u043E\u0432 \u0421\u0435\u0440\u0433\u0435\u0439 \u0412\u0430\u043B\u0435\u043D\u0442\u0438\u043D\u043E\u0432\u0438\u0447",
         "Photo":{
            "value":"dc0d78a5-18ce-4cbb-9afa-2d7d0143f4a6",
            "displayValue":"1.jpg",
            "primaryImageValue":""
         },
         "Job":{
            "value":"34f48df9-56e6-df11-971b-001d60e938c6",
            "displayValue":"\u0414\u0438\u0440\u0435\u043A\u0442\u043E\u0440",
            "primaryImageValue":""
         },
         "Phone":"+7 495 780 80 82",
         "Account":{
            "value":"4bcc8fce-9bde-44ec-a431-302befd28640",
            "displayValue":"\u0410\u043A\u0441\u0438\u043E\u043C\u0430",
            "primaryImageValue":"ac4aa0b0-c255-4c01-a544-741b74e2430e"
         },
         "Email":"s.avdorov@yahoo.com",
         "MobilePhone":"+7 905 726 46 29",
         "EntryPointsCount":0
      },

А если посмотреть на запросы, уходящие при открытии карточки контакта, там множество отдельных запросов как к данным отдельных деталей, так и общему справочнику свойств деталей, то есть стандартно пакетная выборка не используется, только для отдельных случаев.

 

Наконец, если нужно для интеграции с данными из конкретного раздела, можно создать свой сервис, возвращающий сразу нужные данные в нужном формате и обращаться к нему.

 

Если же Вы хотите автоматически получать не сами данные, а их структуру, какие поля есть в карточке и на деталях, то эта информация хранится в коде схем карточки и деталей, по ней генерируется веб-страница, видимая в браузере. Теоретически, их разбирать умеет мастер раздела, можно попробовать разобраться в схемах SectionWizard, SectionPageWizard, PageWizard, ApplicationStructureItemWizard и многих других схемах, его реализующих.

Зверев Александр,

Cпасибо за подсказки.

Показать все комментарии