Показатели на стороннем API

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Возможности работы с показателями во многом схожи с возможностями по работе со справочниками на стороннем API
Только для работы с показателями, при получении данных, не учитываются orderFields и limit, а фильтры всегда будут передаваться с условием Default.
Методы сохранения данных и получения структуры идентичны.
Примером данной реализации является контроллер WorkflowDataSourceView сервиса Workflow.

Настройка показателя на стороннем API на примере Workflow (Согласования)

Ниже будут описаны шаги по настройке показателя на основе объекта согласования. JSON согласования, на основе которого будет строиться показатель указан ниже.

JSON согласования
1 !!! JSON WORKFLOW !!!

Создание соединения с источником

Создаем объект "Соединение с источником". Подробнее о создании данного объекта можно узнать в статье Соединение с источником. Затем в JSON (???) необходимо добавить:

1 {
2   "dbType": "Web",
3   "connectionString": "http://workflow/api/WorkflowDataSourceView/"
4 }

Создание справочника фактов

Создаем справочник, где будут храниться все необходимые атрибуты согласования. Подробнее о создании справочника можно узнать в статье Создание нового справочника. Например, вынесем в справочник "Факты_согласование" Идентификатор состояния, Статус и Комментарий:

!!! СКРИН СПРАВОЧНИКА !!!

Создание показателя

Создаем показатель, в котором измерениями будут являться все справочники, указанные в согласовании в качестве параметров. В данном случае в согласовании указан один параметр со справочником "Сотрудники", он и будет являться измерением показателя. Справочником фактов будет служить справочник "Факты_согласование", созданный на предыдущем шаге. В справочнике "Факты_согласование" выбираем все элементы. Для элемента "Идентификатор состояния" задаем числовой тип данных, для элементов "Статус" и "Комментарий" - текстовый:

!!! СКРИН КОНСТРУКТОРА ПОКАЗАТЕЛЯ !!!

Далее донастраиваем показатель в JSON:
1. В поле "virtualTable": {"name": } указываем идентификатор согласования ("215").
2. В поле connectionId указываем идентификатор объекта "Соединение с источником", созданного на первом шаге (Создание соединения с источником) ("???").
3. В поле "virtualTable": {"columns": []} в первой колонке указан справочник измерения, который является параметром в согласовании. В поле "virtualTable": {"columns": [{"name"}]} необходимо указать идентификатор этого параметра в согласовании ("1!!!").
4. После всех измерений в поле "virtualTable": {"columns": []} идет описание фактов (элементов справочника "Факты_согласование"). В поле "virtualTable": {"columns": [{"name"}]} необходимо указать "StateId", "StateName", "StateComment" соответственно для трех элементов справочника.

!!! СКРИН JSON ПОКАЗАТЕЛЯ С ОБОЗНАЧЕНИЯМИ 1-2-3-4 !!!

Результат:

!!! СКРИН САМОГО ПОКАЗАТЕЛЯ !!!