Задача [API55]: API для получения настроек процессов

Формулировка проблемы: для реализации задач мобильного клиента необходимо реализовать метод API, который должен возвращать настройки процессов Системы.

Решение: необходимо реализовать следующий метод:

URL: rest/api/settings/get_processes.

Тип: GET.

Метод принимает следующие необязательные строковые параметры:

В случае успешного выполнения возвращает json c полями:

Для «обычных» процессов порядок следования и название берутся с настроек конфигуратора «Документооборот» -> «Настройки процессов». Специальные же процессы должны идти после «обычных», взяты из констант Системы, порядковый номер у них отсутствует, но их сортировка в API должна соответствовать таковой в действиях реестра.

В случае неуспешного выполнения возвращается json с полями:

Пример возвращаемого массива

[
  {
    "type": "ASSIGNMENT_ITEM",
    "number": "1",
    "name": "Работа"
  },
  {
    "type": "AGREEMENT_ITEM",
    "number": "2",
    "name": "Согласование"
  },
  {
    "type": "APPROVAL_ITEM",
    "number": "3",
    "name": "Утверждение"
  },
  {
    "type": "ACQUAINTANCE_ITEM",
    "number": "4",
    "name": "Ознакомление"
  },
  {
    "type": "RESOLUTION_ACTION",
    "number": "5",
    "name": "Резолюция"
  },
  {
    "type": "SEND_DOCUMENT",
    "number": "6",
    "name": "Отправка документа"
  },
  {
    "type": "BLOCKING_PROCESS",
    "number": "7",
    "name": "Блокирующий процесс"
  },
  {
    "type": "REGISTRATION_ITEM",
    "number": "8",
    "name": "Регистрация"
  },
  {
    "type": "ROUTE_ITEM",
    "number": "9",
    "name": "Маршрут..."
  },
  {
    "type": "SEND_DOCUMENT_BY_FORM",
    "number": "",
    "name": "Отправка документа по форме"
  },
  {
    "type": "POSITION_APPOINMENT_ITEM",
    "number": "",
    "name": "Назначение на должность"
  },
  {
    "type": "POSITION_TRANSFER_ITEM",
    "number": "",
    "name": "Перевод"
  },
  {
    "type": "POSITION_DISCHARGE_ITEM",
    "number": "",
    "name": "Увольнение"
  },
  {
    "type": "COPY_TO_PR_FOLDER_ITEM",
    "number": "",
    "name": "Копирование в личную папку"
  },
  {
    "type": "CALENDAR_APPOINTEMENT_ITEM",
    "number": "",
    "name": "Назначение календаря"
  },
  {
    "type": "REGISTER_EVENT_ITEM",
    "number": "",
    "name": "Событие реестра"
  },
  {
    "type": "QUERY_RESULT",
    "number": "",
    "name": "Результат запроса"
  },
  {
    "type": "ASSIGNMENT_ITEM_BY_FORM",
    "number": "",
    "name": "Работа по форме"
  },
  {
    "type": "POINTERS_INPUT",
    "number": "",
    "name": "Ввод значения показателя"
  },
  {
    "type": "TIMER",
    "number": "",
    "name": "Таймер"
  },
  {
    "type": "ROUTE_TEMPLATE",
    "number": "",
    "name": "Запуск маршрута по шаблону"
  },
  {
    "type": "CONDITION",
    "number": "",
    "name": "Условный переход"
  },
  {
    "type": "COPY_TO_CARD",
    "number": "",
    "name": "Копирование в карточку"
  },
  {
    "type": "REASSIGN_WORK",
    "number": "",
    "name": "Переназначение работ"
  }
]