Bookland::GetDbBookByRdrOcc


НАЧАЛО >> АРМ «Книговыдача» >> Функции модуля Bookland >> Bookland::GetDbBookByRdrOcc📄 Скачать в DOCX


Bookland::GetDbBookByRdrOcc(ObjectDataRecord $rdrRec, int $rdrOcc): ObjectDataDatabase определяет базу изданий по выбранному повторению выдачи в записи читателя.

Функция находится в файле modules/Bookland/__call/GetDbBookByRdrOcc.inc и вызывается как внешний метод модуля Bookland через механизм __call.

1. Назначение

Функция используется, когда сценарий уже знает запись читателя и номер повторения поля книговыдачи, но должен определить, в какой базе изданий искать связанный экземпляр. Это важно для установок, где выдачи могут относиться к разным базам ЭК.

Типичный сценарий:

  1. Сценарий находит повторение выдачи в записи читателя.
  2. GetDbBookByRdrOcc() читает имя базы изданий из этого повторения.
  3. Возвращенная ObjectDataDatabase передается в функции, которые ищут запись издания и повторение экземпляра.

2. Параметры

Параметр Тип Описание
$rdrRec ObjectDataRecord Запись читателя, содержащая поле истории книговыдачи.
$rdrOcc int Номер повторения выдачи в записи читателя. Нумерация повторений начинается с 1.

3. Используемые настройки профиля

Перед чтением данных функция вызывает CheckProfile(), поэтому для работы должен быть выбран действующий профиль книговыдачи.

Из профиля используются параметры группы «Настройка полей, подполей и поисковых префиксов»:

Параметр профиля Назначение Значение по умолчанию
rdrtagrequest Поле записи читателя с данными книговыдачи. 40
rdrdelimdbname Подполе имени базы изданий в выбранном повторении. G

4. Возвращаемое значение

Функция возвращает объект ObjectDataDatabase для базы изданий, имя которой записано в подполе rdrdelimdbname выбранного повторения поля rdrtagrequest.

5. Диагностика ошибок

Если в выбранном повторении не указано имя базы изданий, функция прерывает выполнение с ошибкой:

Не указано имя БД каталога изданий

В текст ошибки добавляется контекст записи читателя: MFN, номер поля книговыдачи и номер повторения. Этот контекст помогает найти поврежденную или неполную выдачу в формуляре читателя.

6. Связанные функции

GetDbBookByRdrOcc() только определяет базу изданий. Для полного сопоставления выдачи с экземпляром обычно используются также: