Action RQST/CreateRequestProlongationBS


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


Action RQST/CreateRequestProlongationBS создает заявку на продление срока пользования экземпляром издания, который уже находится на руках у читателя. Он используется Bootstrap-интерфейсом личного кабинета после заполнения формы заявки на продление.

Action выполняет серверные проверки, создает запись заказа типа prolongation в базе заказов и записывает желаемую дату возврата в формуляр читателя.

1. Вызов

Action вызывается как обычный WIrbis action:

?id=WIrbis&action=RQST/CreateRequestProlongationBS&prolongDate=YYYY-MM-DD&rdrDb=RDR&rdrMfn=<mfn>&occ=<occ>

Параметры можно передавать через GET или POST. Для пользовательского сценария action обычно вызывается из формы, которую формирует RQST/GetRqstProlongationForm.

2. Параметры

Параметр Обязательный Описание
prolongDate да Желаемая дата возврата в формате YYYY-MM-DD. Дата должна быть больше текущей даты и больше текущего срока возврата экземпляра.
rdrDb да Имя базы данных читателей, например RDR.
rdrMfn да MFN записи читателя.
occ да Номер повторения поля текущей выдачи в записи читателя. Обычно это повторение поля 40, соответствующее экземпляру, который читатель хочет продлить.
description нет Примечание пользователя к заявке. Значение сохраняется в создаваемой записи заказа.

3. Проверки

Перед созданием заявки action проверяет:

Если проверка не проходит, запись заказа не создается, формуляр читателя не изменяется, а в JSON-ответе возвращается success: false.

4. Создание записи заказа

Для заявки формируется объект Rqst_ExType_prolongation. При сохранении заказа его данные попадают в поле 928 записи RQST:

Подполе 928 Значение
A тип заказа prolongation
B желаемая дата возврата в формате ИРБИС YYYYMMDD
C база данных читателей
D идентификатор читателя из записи пользователя
E шифр издания из текущей выдачи
F база данных издания из текущей выдачи
G инвентарный номер экземпляра
H штрих-код экземпляра

После создания записи заказа action записывает желаемую дату возврата в соответствующее повторение поля выдачи формуляра читателя. Для этого используется подполе, заданное настройкой Bookland rdrdelimreturndaterequest; если настройка не задана, используется подполе Q.

5. Ответ

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

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

{
  "success": true,
  "massage": "Заявка на продление срока пользования экземпляром издания успешно создана"
}

Ответ при ошибке:

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

Поле ответа называется massage по имени, используемому текущим API action.

6. Возможные ошибки