Дерево страниц
Skip to end of metadata
Go to start of metadata

Передача параметров операции (выделенные документы, диалог) с клиента на сервер. Описание формата данных.

В ряде запросов требуется передача данных с клиента на сервер:

  1. выделенные документы
  2. диалог
  3. выделенные документы +диалог
  4. диалог + ресурс

К выделенным документам относятся документы, выбранные в коллекции или открытый документ, в контексте которого выполняется операция.

Статус

ГОТОВО

Комментарий

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. Действия клиента подробно:
1) В основной ресурс в поле $clientContext.data.resource переносится ресурс НР-диалога;
2) В качестве ресурса, который передается через Submit диалога, рассматривается ресурс из контекста (основной ресурс РКК, для которого выполняется действие, параметры которого редактировались в диалоге).


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) действия. В БД НР идентификатор действия задается в поле "Алиас" кнопки.
ссылка на получение представления документа(ов) для подписи в формате application/vnd.intertrust.cmj.locker+json;type=documentlist.by.policy

data.lockerSign.signers 

масссив подписантов

data.lockerSign.classic

структура LockerData для передачи ЭП с типом подписи classic

Если сервер в строке fields передает ключевое слово lockerSign, то клиент помещает в элемент (основного ресурса или диалога в зависимости от сценария) результат ЭЦП.

Структура LockerData:

  • result - результат формирования ЭП (done/continue/cancel/error)
  • log - данные протокола (структура элемента НР-объекта соответствует содержанию с application/vnd.intertrust.cmj.locker+json;type=log.create)
  • signatureSet - сформированную ЭП (структура элемента НР-объекта соответствует содержанию  application/vnd.intertrust.cmj.locker+json;type=signature.set ),


data.lockerSign.detached

структура LockerDataDetached для передачи ЭП с типом подписи detached


Если сервер в строке fields передает ключевое слово lockerSign, то клиент помещает в элемент (основного ресурса или диалога в зависимости от сценария) результат ЭЦП.

Структура LockerDataDetached:

  • result - результат формирования ЭП (done/continue/cancel/error)
  • log - данные протокола (структура элемента НР-объекта соответствует содержанию с application/vnd.intertrust.cmj.locker+json;type=log.create)
  • lockerSignatureID String - идентификатор ЭП
  • sigFiles- массив объектов отделяемых ЭП. Структура элемента массива sigFiles:
    • sig String. ЭП в бинарном виде, кодированная в BASE64.
    • name String. Имя файла, к которому относится данная подпись.
    • field - имя поля, в котором лежит подписанный файл.

data.XXX


Дополнительные поля, имена которых указаны в массиве fields.

Теги и атрибуты:

  • Нет меток