НАЧАЛО >> Подсистема заказа изданий >> Action RQST/CreateRequestProlongationBS📄 Скачать в DOCX
Action RQST/CreateRequestProlongationBS создает заявку на продление срока пользования экземпляром издания, который уже находится на руках у читателя. Он используется Bootstrap-интерфейсом личного кабинета после заполнения формы заявки на продление.
Action выполняет серверные проверки, создает запись заказа типа prolongation в базе заказов и записывает желаемую дату возврата в формуляр читателя.
Action вызывается как обычный WIrbis action:
?id=WIrbis&action=RQST/CreateRequestProlongationBS&prolongDate=YYYY-MM-DD&rdrDb=RDR&rdrMfn=<mfn>&occ=<occ>
Параметры можно передавать через GET или POST. Для пользовательского сценария action обычно вызывается из формы, которую формирует RQST/GetRqstProlongationForm.
| Параметр | Обязательный | Описание |
|---|---|---|
prolongDate |
да | Желаемая дата возврата в формате YYYY-MM-DD. Дата должна быть больше текущей даты и больше текущего срока возврата экземпляра. |
rdrDb |
да | Имя базы данных читателей, например RDR. |
rdrMfn |
да | MFN записи читателя. |
occ |
да | Номер повторения поля текущей выдачи в записи читателя. Обычно это повторение поля 40, соответствующее экземпляру, который читатель хочет продлить. |
description |
нет | Примечание пользователя к заявке. Значение сохраняется в создаваемой записи заказа. |
Перед созданием заявки action проверяет:
Если проверка не проходит, запись заказа не создается, формуляр читателя не изменяется, а в JSON-ответе возвращается success: false.
Для заявки формируется объект Rqst_ExType_prolongation. При сохранении заказа его данные попадают в поле 928 записи RQST:
Подполе 928 |
Значение |
|---|---|
A |
тип заказа prolongation |
B |
желаемая дата возврата в формате ИРБИС YYYYMMDD |
C |
база данных читателей |
D |
идентификатор читателя из записи пользователя |
E |
шифр издания из текущей выдачи |
F |
база данных издания из текущей выдачи |
G |
инвентарный номер экземпляра |
H |
штрих-код экземпляра |
После создания записи заказа action записывает желаемую дату возврата в соответствующее повторение поля выдачи формуляра читателя. Для этого используется подполе, заданное настройкой Bookland rdrdelimreturndaterequest; если настройка не задана, используется подполе Q.
Action возвращает JSON.
Успешный ответ:
{
"success": true,
"massage": "Заявка на продление срока пользования экземпляром издания успешно создана"
}
Ответ при ошибке:
{
"success": false,
"massage": "Текст ошибки"
}
Поле ответа называется massage по имени, используемому текущим API action.
Не указана дата возвратаДата желаемого возврата должна быть больше текущей датыНе указана база данных читателейНе указана запись пользователяНе указан номер повторения поля 40Не удалось открыть БД ...Не удалось открыть БД заказовТекущий срок возврата уже больше указанной датыЗаявка на продление срока пользования экземпляром издания (или другой заказ) уже существует