Многие библиотеки, особенно библиотеки с ИРБИС 32, хорошо знакомы с проблемой длительного сохранения записей содержащих книгообеспеченностью. Она обусловлена большим количеством актуализируемых полей и, соответственно, словарей.
Но хотя я обозначил в заголовке именно проблему длительного сохранения, конкретно в нашей библиотеке такое количество словарей приводит к сбою от переполнения в ходе актуализации. Я решил преодолеть проблему, пожертвовав рядов второстепенных словарей, удаление которых позволило бы сохранить работу системы. Второстепенными я считал словари, префиксы которых не упоминаются в форматах баз RDR, VUZ и базы каталога.
Наша библиотека работает по технологии уникальной дисциплины. Типовая связка данных из поля 691 выглядит так:
^DАвтоматизация проектирования систем и средств управления^W505/1^I505^AИСААиУ^HПУИС^N220201^C210101^BПУИС^Oозо^F9
В таких условиях я решил отказаться от словарей:
KAFV= - кафедра читающая
NAPR= - направление
CIKLD= - цикл дисциплин
TL= - тип литературы
PL=- тип литературы
KURS= - курс
NUPL= данные УПЛ
NUPS= данные УПЛ
NUPSS= данные УПЛ
SNUP= данные УПЛ
NUPK=данные УПЛ
NDUNK= ?
DFS= ?
SNDUN= ?
NDUNSS= ?
Итогом стало сокращение FST до следующих 4 строк:
691 0 MHL,(if p(v691) then |NDUN=|v691^w/|FAK=|v691^a/if v691^C<>'' then 'SPEC=',v691^C fi/if v691^B<>'' then 'KAFCH=',v691^B fi/|VO=|v691^v/|FO=|v691^o fi,|%|d691/)
691 0 MHL,(if p(v691) then |SEM=|v691^f/|NDUNS=|v691^w '-S'v691^f/if &unifor('Kkurs.mnu|'v691^f)<>''then'KURS='&unifor('Kkurs.mnu|'v691^f) fi fi,|%|d691/)
691 0 MHL,(|IDD=|v691^i/)
691 0 MHL,(if p(v691) then 'DF='v691^I,'-S'v691^f fi/)
Светлана Михайловна, не могли бы Вы прокомментировать это решение и указать на те словари, отсутствие которых может привести к нежелательным последствиям? Хотелось бы так же уточнить для каких целей используются последние четыре словаря. На них я не нашел никаких ссылок в форматах.
Возможно, к аналогичным мерам придётся прибегнуть другим библиотекам, но без Вашей консультации сделать такую операцию грамотно будет очень сложно.