- Создатель Васильев Антон, отредактировано 24.05.2024
Передача параметров операции (выделенные документы, диалог) с клиента на сервер. Описание формата данных.
В ряде запросов требуется передача данных с клиента на сервер:
- выделенные документы
- диалог
- выделенные документы +диалог
- диалог + ресурс
К выделенным документам относятся документы, выбранные в коллекции или открытый документ, в контексте которого выполняется операция.
Статус | ГОТОВО |
---|---|
Комментарий |
1) Выделенные документы.
Клиент передает в тело запроса структуру ClientContext, в которой fileds="compactCollection".
2) Диалог.
Клиент передает в тело запроса ресурс диалога как обычный ресурс с contenttype=application/json.
3) Выделенные документы +диалог.
Клиент передает в тело запроса ресурс диалога как обычный ресурс с contenttype=application/json. В ресурсе диалога в элементе $clientContext передается compactCollection, в которой fileds="compactCollection".
4) Диалог + ресурс.
Клиент передает в тело запроса обычный ресурс с contenttype=application/json. В ресурсе в элементе $clientContext передается data.resource, содержащий ресурс диалога.
compactCollection
Название элемента | Тип | Описание |
---|---|---|
ids | String[] | Если флаг needToAdd=true, то массив содержит self выбранных галкой элементов. Если флаг needToAdd=false, то массив содержит элементы, которые не входят в список выделенных (используется при выделении всех элементов коллекции и снятии выделения с нескольких элементов). Значения клиент берет из value.self.link[rel=self] элемента node. |
resourceids | String[] | Если флаг needToAdd=true, то массив содержит id выбранных галкой элементов. Если нет выделенных галкой, то id элемента, выделенного фокусом. Если флаг needToAdd=false, то массив содержит элементы, которые не входят в список выделенных (используется при выделении всех элементов коллекции и снятии выделения с нескольких элементов). Значения клиент берет из value.self.id элемента node. |
focused | String | Содержит id элемента, выделенного в коллекции путем установки фокуса. id клиент берет из value.self.id элемента node. |
needToAdd | boolean | Флан. При значении true в ids передаются выделенные элементы, при false - в ids передаются исключенные элементы. |
collectionURL | String | Ссылка на коллекцию. Передается клиентом при выделении всех элементов коллекции через кнопку "Выделить все" с возможным снятием галок с некоторых элементов (снятые передаются в ids). |
ClientContext
Передается как объектное поле с именем $clientContext внутри ресурса.
Название элемента | Тип | Описание |
---|---|---|
fields | String | В строке через запятую передаются ключевые слова, описывающие тип передаваемых данных. Состав ключевых слов: compactCollection, resource, resourceid, resourcemode, mainresourceid, actionRel, lockerSign |
data | составной элемент, включает элементы compactCollection, resource, lockerSign | Непосредственно клиентский контекст, сформированный клиентом. Ответственность за формирование данного элемента лежит только на клиенте. |
serverData | составной элемент, включает элементы: lockerSign | Дополнительные данные, предоставляемые клиенту, для формирования контекста. Ответственность за формирование данного элемента лежит только на сервере. |
serverData.lockerSign | структура ServerLockerData | Данные, необходимые Локеру: signers - подписывающие, documentDataForLockerLink - ссылка на получение представления документа(ов) для подписи, unids - unid-ы подписываемых объектов |
data.compactCollection | структура compactCollection | Если сервер в строке fields передает ключевое слово compactCollection, то клиент помещает в элемент (основного ресурса или диалога в зависимости от сценария) информацию о выделенных документах. |
data.resource | произвольный ресурс с contenttype=application/json | Данное ключевое слово используется, когда нужно, чтобы клиент передал ресурс контекстного документа. Актуально для операций в контексте открытого объекта. Случай, когда ключевое слово передается внутри ресурса диалога: По кнопке submit диалога клиент передает в тело запроса не сам диалог, а основной ресурс с диалогом внутри (диалог в поле data.resource основного ресурса). В ресурсе диалога должен быть запрос на получение клиентского контекста с ключевым словом data.resource. Действия клиента подробно: |
data.resourceid | id ресурса | Если операция вызывается в контексте коллекции, то клиент передает id элемента, выделенного в коллекции путем установки фокуса. Клиент id берет из value.self.id элемента node. Если операция вызывается из открытого документа, то клиент передает id этого документа, значение которого клиент берет из поля $id ресурса. |
data.resourcemode | mode ресурса | Если сервер в строке fields передает ключевое слово resourcemode, то клиент помещает в элемент (основного ресурса или диалога в зависимости от сценария) значение mode ресурса. В случае диалога в качестве ресурса рассматривается основой ресурс. |
data.mainresourceid | Актуально для случая, когда из меню внешней коллекции, встроенной в форму открытого объекта, по кнопке нужно получить id открытого документа. | |
data.actionRel | идентификатор действия | Если сервер в строке fields передает ключевое слово actionRel, то клиент помещает в элемент идентификатор (rel) действия. В БД НР идентификатор действия задается в поле "Алиас" кнопки. |
data.lockerSign.documentDataForLockerLink | ссылка на получение представления документа(ов) для подписи в формате application/vnd.intertrust.cmj.locker+json;type=documentlist.by.policy | |
data.lockerSign.signers | масссив подписантов | |
data.lockerSign.classic | структура LockerData для передачи ЭП с типом подписи classic | Если сервер в строке fields передает ключевое слово lockerSign, то клиент помещает в элемент (основного ресурса или диалога в зависимости от сценария) результат ЭЦП. Структура LockerData:
|
data.lockerSign.detached | структура LockerDataDetached для передачи ЭП с типом подписи detached | Если сервер в строке fields передает ключевое слово lockerSign, то клиент помещает в элемент (основного ресурса или диалога в зависимости от сценария) результат ЭЦП. Структура LockerDataDetached:
|
data.XXX | Дополнительные поля, имена которых указаны в массиве fields. |
Теги и атрибуты:
- Нет меток