НАЧАЛО >> Руководство пользователя >> Обслуживание записей БД📄 Скачать в DOCX
Операции обслуживания записей доступны из карточки базы данных через кнопку Управление БД... в меню Записи. Они выполняются через очередь задач и предназначены для служебных действий над записями выбранной БД.
Кнопка Обновить протокольную запись открывает окно запуска Database/RecUpdateProtocolRecord. Операция является ограниченным аналогом irbistool recupdate: принимает одну запись в протокольном текстовом формате и сохраняет ее через провайдер DP_Irbis64Native.
Формат входа:
MFN#STATUS;0 или 0#1;TAG#VALUE, где VALUE может содержать основной текст и подполя в виде ^a...^b....Протокольную запись можно ввести в текстовом поле или загрузить из файла. Загруженный файл сохраняется во внутренний каталог операции irbistool-recupdate/<DB>/_uploads; в очередь передается только ProtocolUploadId. Интерфейс и задача не принимают произвольный путь к файлу на сервере. В одном запуске нужно использовать только один источник: либо текстовое поле, либо загруженный файл.
Параметр Обновить MST/XRF соответствует режиму -mstupdate. Если он включен, запись сохраняется в MST/XRF. Параметр Актуализировать словарь соответствует добавлению -ifupdate после записи в MST/XRF.
Перед запуском с включенным Обновить MST/XRF нужно подтвердить наличие актуальной резервной копии БД и описанного способа отката. Комментарий к backup/rollback сохраняется в отчете queue-задачи как BackupNote. Это требование относится к операциям, которые реально меняют MST/XRF; режимы без записи не требуют подтверждения раньше проверки параметров.
Отчет задачи возвращает машинные поля maxMfn, xrfFlags, reportStatus и совместимый текстовый блок irbistoolReportText. Для обычных успешных запусков первые две строки этого блока соответствуют отчету irbistool: текущий maxmfn, затем mfn#status. Если autoin.gbl изменил запись, ИРБИС 128 также возвращает строки измененной записи в returnedRecordLines и в хвосте irbistoolReportText.
Режим чистого -ifupdate без -mstupdate не выполняется. В irbistool этот режим подтвержден как дефектный: утилита возвращает ошибку и не актуализирует индекс. В ИРБИС 128 такое поведение не эмулируется; для актуализации уже существующей записи используйте отдельные операции актуализации словаря.
По исходному коду irbistool команда recupdate читает один протокольный файл как одну запись: отдельного цикла по нескольким записям в этой команде нет. Для массовой загрузки записей используйте импорт записей, потому что он ведет manifest, поддерживает потоковую обработку входного файла и отдельные правила backup/rollback.
Если в БД настроен autoin.gbl, ИРБИС 128 выполняет его перед сохранением записи в режиме Обновить MST/XRF. При проверке irbistool recupdate -mstupdate на простом autoin.gbl с ADD 910 * 'Recupdate autoin mark' подтвержден дефект эталонной утилиты: запись сохраняется без поля autoin, а в протокольной строке результата появляется флаг AUTOIN_ERROR_FLAG (128). Это поведение не эмулируется; в ИРБИС 128 такой autoin.gbl применяется к записи штатно.
Кнопка Разблокировать записи по MFN открывает окно параметров и запускает задачу Database/UnlockMfn. Для провайдера DP_Irbis64Native операция соответствует команде irbistool unlockmfn: снимает флаг блокировки записей в XRF.
Поддерживаемые режимы:
irbistool unlockmfn -mf ... -mt ... или -r ...;irbistool unlockmfn -l ...;irbistool unlockmfn без диапазона и списка.Интерфейс не принимает путь к файлу списка MFN на сервере. В поле Список MFN передаются сами номера записей, разделенные пробелами, запятыми, точками с запятой или переводами строк. Для больших списков используйте поле Файл списка MFN и кнопку Загрузить список: файл сохраняется во внутренний каталог irbistool-unlockmfn/<DB>/_uploads, в очередь передается только MfnListUploadId, а провайдер читает MFN из внутреннего файла потоково.
| Параметр | Назначение |
|---|---|
| Первый MFN | Начало диапазона записей. Если последний MFN не задан, диапазон продолжается до конца БД. |
| Последний MFN | Конец диапазона записей. |
| Список MFN | Явный список записей. При указанном списке диапазон не используется. |
| Файл списка MFN | Загруженный файл списка MFN для больших списков. Нельзя использовать одновременно с полем Список MFN. |
| Все заблокированные | Просканировать XRF и снять блокировку со всех записей, у которых установлен флаг блокировки. |
Если не указан ни диапазон, ни список, ни режим Все заблокированные, задача не запускается и возвращает ошибку параметров.
В отчете фоновой задачи возвращаются:
processed - количество проверенных записей в выбранной области;unlocked - количество записей, с которых реально снята блокировка;alreadyUnlocked - количество записей, которые уже не были заблокированы;skipped - количество пропущенных MFN вне диапазона БД или физически отсутствующих записей;maxMfn - максимальный MFN на момент запуска;mfns - первые разблокированные MFN для быстрой проверки отчета.Для больших БД режим Все заблокированные выполняет последовательный проход по XRF и не загружает весь список записей в оперативную память.
После выполнения проверьте статус задачи в очереди и счетчики результата. Если операция запускалась на рабочей БД после аварийного завершения пользовательских сессий, дополнительно проверьте возможность редактирования контрольных записей, которые ранее считались заблокированными.