Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Каталогизатор :  ИРБИС Irbis
 
Глобальная корректировка, из одной БД в другую
Пользователь: albond (IP-адрес скрыт)
Дата: 16, July, 2007 12:32

Имеються две БД, EKS и BOOK. Надо восстановить место хранения для всех книг в BOOK из EKS по инв. номеру. Выполняю глобальную корректировку, но он я не правильно её сделал:

0
REP
910^D
F
(if p(v910) then if p(v910^B) then if p(v910^D) then if &uf('DEKS,?IN='v910^B,'?,v910^D')<>'' then &uf('DEKS,?IN='v910^B,'?,v910^D') else v910^D fi fi fi fi/)
XXXXXXXXXXXXXXXXXXX

Она делает что нужно, но только с EKS берёт у суммирует все места хранения одной книги: ЧЗЧЗЧЗаб.аб.ЧЗ для каждой из шести экземпляров.
Вообщем смешно, но хочеться чтоб он отдельно, для каждого инвентарного номера делал одно место хранение из соответствующего инв номера из другой БД.

Re: Глобальная корректировка, из одной БД в другую
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 16, July, 2007 13:27

Место хранение должно быть взято из того же повторения, что и инвентарный номер.

Правильный код должен выглядеть так:

0 
REP 
910^D 
F 
(if p(v910) then if p(v910^B) and p(v910^D) then &uf('+1W300#',v910^b), &uf('DEKS,?IN='v910^B,|?,(if p(v910) then if &uf('+1R300')=v910^b then v910^d,&uf('+1W300#'),break fi,fi)|d910), if &uf('+1R300')<>'' then  v910^D fi fi fi#) 
XXXXXXXXXXXXXXXXXXX

Обратите внимание, что этот алгоритм НЕЛЬЗЯ применять в случае, если библиотека использует многоэкземплярный учёт!

PS
Возможны небольшие огрехи. На проверну времени не хватило.

Re: Глобальная корректировка, из одной БД в другую
Пользователь: albond (IP-адрес скрыт)
Дата: 16, July, 2007 14:07

Вроде получилось, спасибо.



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