katlog.orgжурнал разработки Демо-каталогДемо
ОШ003
Разбор ошибки2 мин чтения

Куда пропали девять записей

В исходной выгрузке 6 153 записи, в новой базе — 6 144. Никакой ошибки на экране, никакого предупреждения. Как мы это заметили и почему «пропустить» — худшее, что может сделать импорт.

Эта ошибка не ломала ни одной кнопки. Каталог работал, поиск находил, фильтры считали. Её выдала одна строчка в отчёте агента: «в базе разработки осталось 6 144 записи».

Откуда разница

6 153 минус 6 144 — девять. В нашей выгрузке ровно девять записей без основного названия. Импорт встречал такую запись, решал, что она неполноценная, и молча пропускал её. В коде это выглядело безобидно: «Запись без названия пропущена».

Почему это плохоЗапись без названия — всё ещё запись. У неё могут быть авторы, шифр, экземпляры на полке. Выбросив её, система сделала вид, что книги нет, хотя она стоит в зале.

Как должно быть

У нас уже был правильный инструмент для таких случаев — раздел «Качество данных». Он не прячет проблемы, а превращает их в список работы. Запись без названия должна загрузиться, показываться как «[без названия]» и попасть в группу «Нет названия», где библиотекарь её исправит.

Исправление сформулировали так:

  1. Загружать всё, что содержит хоть какие-то данныеПропускать можно только полностью пустые записи — и называть их число в отчёте.
  2. Проверить на исходном файлеИз нашей выгрузки должно получиться ровно 6 153 записи.
  3. Догрузить недостающиеПовторный импорт того же файла добавляет девять записей в группу «Новые записи».

После исправления агент нашёл все девять записей и даже указал строки в файле, где они стоят.

Katlog: пробный разбор файла — 6 153 записи распознаны, девять замечаний о записях без названия
Пробный разбор исходного файла находит все 6 153 записи и отдельно перечисляет девять записей без названия.

Урок

После любого импорта сравнивайте число записей в файле и в системе. Это самая дешёвая проверка из возможных, и она ловит ошибки, которые не видны ни в одном окне. Ровно так же мы начинали проект: выгрузка из Aleph тоже сначала показала 5 858 записей вместо 6 153.