Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
Необходимо загрузить идентификаторы читателей
Пользователь: skiph (IP-адрес скрыт)
Дата: 29, November, 2018 06:43

Здравствуйте!
В базе читателей необходимо поменять поле 24 (№ пропуска в библиотеку) (для всех!) причем список новых пропусков находится в отдельном файле. Т.е. требуется найти конкретного читателя и присвоить ему новый номер. Собственно вопрос заключается в том, как сделать это наиболее оптимально? Конечно, если бы база хранилась в каком-нибудь SQL, то вопрос решался бы просто: я бы написал утилитку, которая бы цеплялась к СУБД и по циклу пробегалась по всем записям. Но как это сделать в ИРБИСе? Можно написать глобальную корректировку вроде: "Если это Иванов Иван Иванович, то пропуск такой, если это Петров Петр Петрович..." и т.д. Но читателей несколько тысяч и, соответственно файл такой корректировки будет иметь десятки тысячи строк и производить миллионы сравнений каждого с каждым. Можно корректировать частями, но принципиально это ситуацию не меняет.
Я человек в ИРБИСе новый и много чего не знаю, поэтому и решил посоветоваться. Может быть есть какие-нибудь более подходящие решения?Заранее благодарен!

Re: Необходимо загрузить идентификаторы читателей
Пользователь: Alio (IP-адрес скрыт)
Дата: 29, November, 2018 08:13

В ИРБИСе это сделать можно. Делаете файл-справочник AAA.mnu:
Иван Иванович Иванов
12345678
В глобальном задании используйте оператор:
REP
24
1
if &uf('KAAA.mnu!',v24)<>'' then &uf('KAAA.mnu!',v24) else v24 fi

Re: Необходимо загрузить идентификаторы читателей
Пользователь: skiph (IP-адрес скрыт)
Дата: 05, December, 2018 09:39

Спасибо большое, попробую. Один момент (может быть я ошибаюсь), в целях понимания того, что делаю: может быть правильно писать: &uf('KAAA.mnu!',S(v10,' ',V11,' ',v12)) ?



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.