Формулировка проблемы: для реализации задач мобильного клиента необходимо реализовать метод API, который должен возвращать настройки процессов Системы.
Решение: необходимо реализовать следующий метод:
URL: rest/api/settings/get_processes
.
Тип: GET
.
Метод принимает следующие необязательные строковые параметры:
locale
- локаль пользователя,
ru/en/kz
(по умолчанию
ru
).
В случае успешного выполнения возвращает json
c
полями:
name
- название процесса на языке локали,
переданной в параметре locale
;
number
- порядковый номер следования в
списке;
type
- тип операции, один из следующих
вариантов:
ASSIGNMENT_ITEM
- работа;
AGREEMENT_ITEM
- согласование;
APPROVAL_ITEM
- утверждение;
ACQUAINTANCE_ITEM
- ознакомление;
RESOLUTION_ACTION
- резолюция;
SEND_DOCUMENT
- отправка документа;
BLOCKING_PROCESS
- блокирующий процесс;
REGISTRATION_ITEM
- регистрация;
ROUTE_ITEM
- маршрут;
SEND_DOCUMENT_BY_FORM
- отправка
документа по форме;
POSITION_APPOINMENT_ITEM
- назначение на
должность;
POSITION_TRANSFER_ITEM
- перевод;
POSITION_DISCHARGE_ITEM
- увольнение;
COPY_TO_PR_FOLDER_ITEM
- копирование в
личную папку;
CALENDAR_APPOINTEMENT_ITEM
- назначение
календаря;
REGISTER_EVENT_ITEM
- событие реестра;
QUERY_RESULT
- результат запроса;
COMMON_PROCESS_BY_FORM
- работа по форме;
POINTERS_INPUT
- ввод значения
показателя;
TIMER
- таймер;
ROUTE_TEMPLATE
- запуск маршрута по
шаблону;
CONDITION
- условный переход;
COPY_TO_CARD
- копирование в карточку;
REASSIGN_WORK
- переназначение работ.
Для «обычных» процессов порядок следования и название берутся с настроек конфигуратора «Документооборот» -> «Настройки процессов». Специальные же процессы должны идти после «обычных», взяты из констант Системы, порядковый номер у них отсутствует, но их сортировка в API должна соответствовать таковой в действиях реестра.
В случае неуспешного выполнения возвращается json
с полями:
errorCode
- код выполнения (число, отличное
от 0);
errorMessage
- сообщение об ошибке.
Пример возвращаемого массива
[ { "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": "Переназначение работ" } ]