logo

Централизованная библиотечная система г. Рязани

Функции модуля (__call)


НАЧАЛО >> Оглавление >> Описание модулей системы >> MergeRecords - Слияние записей >> Функции модуля (__call)


Функции могут быть вызваны как UseModule("MergeRecords")->function(parameter1,parameter2,...);

Имя функцииОписаниеПараметры
GetResultВозвращает запись в которую производилось слияние командой MergeRecords::MergeОтсутствуют
MergeСлияние записи r с записью sr
ТипПараметрПо умолчаниюОписание
Record$sr''

Запись-приемник

Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния

Элементы массива:

  • dbn - Имя БД записи-источника
  • jssh - Шифр сводной записи на журнал (передается при слиянии записей номеров журнала)
  • njssh - Шифр сводной записи на номер журнала (передается при слиянии записей статей журнала)
RetChangedВозвращает true если запись-источник или запись-приемник изменились. иначе false
ТипПараметрПо умолчаниюОписание
Bool$schanged'true'

Установить что запись-приемник изменилась

Bool$cchanged'false'

Установить что запись-источник изменилась

SetFieldСлияние полей записи r с полями записи sr. Функция пытается использовать соответствующий мергер для слияния полей (см MergeRecords::TryToLoadMerger). Если мергера нет, то возвращает false. Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

String$rectype''

Значение поля 920 записи-источника

Record$r''

Запись-источник

Number$fld''

Номер поля для слияния

SetFieldOccСлияние конкретного номера повторения поля записи r с полями записи sr. Функция пытается использовать соответствующий мергер типа MergeOcc для слияния полей (см MergeRecords::TryToLoadMerger). Если мергера нет и номер повторения поля записи-источника больше чем количество повторений поля в записи-приемнике, поле добавляется в запись-приемник. Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

String$rectype''

Значение поля 920 записи-источника

Record$r''

Запись-источник

Number$fld''

Номер поля для слияния

Number$occ''

Номер повторени поля записи-источника для слияния

TryToLoadMerger

Функция пытается загрузить мергер. Мергеры - это специальные классы с именем CSpiderFieldMerger_type_fld, которые могут содержать в своем составе несколько функций:

  • function MergeField($res,$rectype,&$r,&$sr) - Алгоритм слияния повторения поля fld записи-источника $r с записью-приемником sr. Возвращает true если запись изменилась и false если изменений нет.
  • function MergeOcc($res,$rectype,&$r,&$sr,$occ) - Алгоритм слияния повторения $occ поля fld записи-источника $r с записью-приемником sr. Возвращает true если запись изменилась и false если изменений нет.

Поиск класса мергера происходит в файле fld.inc, расположенному в каталоге modules/MergeRecords/FieldMergers/type

ТипПараметрПо умолчаниюОписание
String$type''

Тип записи. Обычно соответствует содержимому поля 920

Number$fld''

Номер поля для слияния

UrlFilterFunctionФункция - фильтр ссылок для импорта в сводный каталог
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник в которой проверяется ссылка

Array$params''

Ассоциативный массив с информацией о проверяемой ссылке.

Элементы массива:

  • sourceDbn - Имя БД записи-источника
  • sourceLinkType - Тип ссылки. Значения: 951A - ссылка из подполя A, 951I - ссылка из подполя I 951 поля
  • sourceLink - ссылка на полный текст
  • sourceText - текст подписи для ссылки
  • destinationDbn - имя выходной БД
  • destinationSid - SID записи в которую необходимо произвести импорт полного текста
UrlFilterFunctionGPNTBФункция - фильтр ссылок для импорта в сводный каталог
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник в которой проверяется ссылка

Array$params''

Ассоциативный массив с информацией о проверяемой ссылке.

Элементы массива:

  • sourceDbn - Имя БД записи-источника
  • sourceLinkType - Тип ссылки. Значения: 951A - ссылка из подполя A, 951I - ссылка из подполя I 951 поля
  • sourceLink - ссылка на полный текст
  • sourceText - текст подписи для ссылки
  • destinationDbn - имя выходной БД
  • destinationSid - SID записи в которую необходимо произвести импорт полного текста
lВывод информации в лог-файл MergeRecords.log (см описание Log::Write)
ТипПараметрПо умолчаниюОписание
String$str''

Текст сообщения для лог-файла

String$code'ERR'

Тип сообщения (см. описание Log::Write)

sprepare330Функция слияния поля 330 (Аннотация). Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepare691Функция слияния поля 691 (книгообеспеченность). Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepare902Функция слияния поля 330 (Аннотация). Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepare922Функция слияния поля 922 (Оглавление). Выбирает оглавление с наибольшим количеством повторений поля 922. Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepareASPФункция слияния записей ASP (Аналитика). Устанавливает связи между 903 полем записи типа NJ и 463^W записи ASP Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepareMergeClientRecordФункция слияния записей с использованием мергеров. Сначала для каждого поля записи-источника пытается использовать MergeRecords::SetField. Если изменений записей не произошло, для каждого повторения этого поля пытается вызвать MergeRecords::SetFieldOcc Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepareNJФункция слияния записей NJ (Номер журнала). Устанавливает связи между 903 полем записи типа J и 933 записи NJ Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepareRDRФункция слияния записей RDR (пользователь). Переносит информацию об учетных данных пользователя. Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)

sprepareRecordФункция слияния записей. Сначала вызывает общую функцию слияния MergeRecords::sprepareMergeClientRecord, затем последовательно соответствующие функции для NJ, ASP, слияния полей 330, 691, и для RDR. Возвращает true если запись-источник или запись-приемник изменились. Иначе false.
ТипПараметрПо умолчаниюОписание
Record$r''

Запись-источник

Array$res''

Ассоциативный массив с информацией о записи-источнике из подсистемы слияния (см. описание MergeRecords::Merge)