Найденное решение:
Теория
Книговыдача работает с базой читателей, полем 40. там Отмечается факт выдачи и возврата экземпляра с его характеристиками. Таким образом, если сделать выборку уже выданных, но еще не возвращенных книг, можно получить список реально выданных книг.
Если же сделать выборку по базе книг, 910^A и сравнить два списка, легко обнаружить и оценить масштабы расхождения. И ликвидировать их, разумеется.
Практика
Выполнять нужно, когда книговыдачи не ведется (темной ночью, например).
1) Открываем базу книг
2) Последовательный поиск - Поле 910, подполе "Статус", содержит 1. Показать результаты
3) Делаем глобалку для выбраных записей:
0
PUTLOG
(if p(v910) then if p(v910^A) then if v910^A='1' then v910^E/ fi fi fi)
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
Галочки автоввода снимаем, в лог пишем только сообщения задания
На выходе имеем набор штрихкодов. Аналогично можно и инвентарные номера вывести.
4) Аналогично открываем базу читателей.
5) Последовательный поиск, поле 40, подполе "Дата фактического возврата", содержит ******.
6) Делаем глобалку для выбраных записей:
0
PUTLOG
(if p(v40) then if p(v40^F) then if v40^F='******' then v40^H/ fi fi fi)
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
7) Результаты вставляем в два столбика эксель, сортируем.
8) На листе с результами из базы книг ставим формулу:
=ПОИСКПОЗ(A1;rdr!A:A;0)
Она возвращает номер строки для найденного значения в столбце с штрихкодами из базы читателей.
Если такого номера нет, формула возвратит #Н/Д - значит статус выставлен ошибочно,и его нужно обнулять
9) ставим фильтр, отбираем значения #Н/Д
10) копируем на соседний лист, анализируем и правим руками, либо автоматизировано.