Задача [0394]: Доработка API получения РКК документа - обязательные поля

Формулировка проблемы: необходимо доработать API-метод, позволяющий получить РКК документа - передавать обязательные для заполнения поля.

Связанные задачи: 0270, API62

Решение:

Необходимо доработать метод rest/api/docflow/doc/rcc (см. задачу API62), добавив в его выходные параметры поле mandatoryFields, представляющее собой JSON-массив строк - полей, обязательных для заполнения в данном конкретном документе (см. задачу 0270).

Тип запроса и входные параметры не изменяются.

В выходные данные добавляется поле mandatoryFields, которое представляет собой массив строк с кодами обязательных для заполнения полей. В случае, если какое-либо из полей РКК передается в виде нескольких полей JSON, в mandatoryFields указываются они все.

Пример:

В настройках типа документа включена «Валидация РКК перед отправкой документа», а также активированы опции «Требовать указание дела» и «Требовать ввода исполнителя».

В этом случае выходные данные будут такими:

{
  "content": "Future requests.",
  "registerID": "888cfa2e-6d55-4ed5-b1be-890ffad560dq",
  "registerName": "Исходящие документы",
  "number": "{obwii}-{dd}.{MM}.{yyyy}",
  "regDate": "",
  "correspondentOrg": "",
  "correspondent": "",
  "authorID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
  "authorName": "Aбдрешен Леонид Аркадьевич",
  "registeredByID": "",
  "authorName": "",
  "controlled": true,
  "caseID": "",
  "caseName": "",
  "executorID": "",
  "executorName": "",
  "bases": [],
  "data":
  [
    {
      "id": "cmp-numericinput",
      "type": "numericinput",
      "value": "20.00"
    },
    {
      "id": "cmp-id",
      "type": "personlink",
      "label": "Label-text",
      "value": "идентификатор записи адресной книги"
    }
  ]
  "mandatoryFields":
  [
    "caseID", "caseName", "executorID", "executorName"
  ]
}

В случае, если настройка «Валидация РКК перед отправкой документа» выключена либо ни один из флажков:

не указан, mandatoryFields должен быть пустым массивом.