Action `RQST/GetRqstProlongationForm`


НАЧАЛО >> Подсистема заказа изданий >> Actions модуля RQST >> Action `RQST/GetRqstProlongationForm`📄 Скачать в DOCX


Action RQST/GetRqstProlongationForm формирует HTML-фрагмент формы заявки на продление срока пользования экземпляром. Фрагмент используется в модальном окне, которое открывается после нажатия кнопки «Продлить» в разделе «Книги на руках».

Рисунок 1 - Форма заявки на продление срока пользования изданием

Форма заявки на продление срока пользования изданием

Action только подготавливает форму. Сама заявка создается после подтверждения формы отдельным action RQST/CreateRequestProlongationBS.

1. Вызов из интерфейса

Кнопка «Продлить» формируется в представлении текущих выдач читателя. Кнопка передает в action три значения:

Параметр Назначение
rdrDb Имя базы данных читателей, в которой хранится запись пользователя.
rdrMfn MFN записи читателя.
occ Номер повторения поля выдачи в записи читателя.

Клиентский обработчик вызывает action через WIrbis и при успешном ответе открывает модальное окно «Заявка на продление срока пользования изданием». После подтверждения модального окна обработчик передает введенные prolongDate и description в RQST/CreateRequestProlongationBS.

2. Проверки

Перед построением формы action проверяет:

Если по этому же читателю и изданию уже найден заказ, action возвращает ошибку и форма повторной заявки не открывается.

3. Содержимое формы

В успешном ответе HTML-фрагмент содержит:

Дата по умолчанию рассчитывается от текущей даты по настройке профиля Bookland prolongatedefaultdays. Если настройка отсутствует, равна нулю или меньше нуля, используется значение 14 дней.

4. Ответ

Action возвращает JSON.

Успешный ответ:

{
  "success": true,
  "massage": "<HTML-фрагмент формы>"
}

Ответ с ошибкой:

{
  "success": false,
  "massage": "Текст ошибки"
}

Поле massage является текущим именем поля в фактическом API action и используется клиентским JavaScript при открытии модального окна.

5. Типовые ошибки

Сообщение Причина
Не указана база данных Не передан параметр rdrDb.
Не указана запись пользователя Не передан параметр rdrMfn.
Ошибка в номере повторения поля 40 ... Параметр occ отсутствует или меньше 1.
Не удалось открыть БД ... База читателей из rdrDb недоступна.
Не установлен текущий профиль АРМ Книговыдача Для текущего контекста не применен профиль Bookland.
Заявка на продление срока пользования экземпляром издания уже существует Для этого читателя и издания уже найден заказ.