Насколько я понимаю, вопрос заключается в том, как можно реализовать поиск по текстовым расшифровкам индексов ББК.
Возможны 2 технологии:
1. Вы вводите классификационные (цифровые) индексы в том виде, в котором они введены в библиографические записи, в базу ATHRB. Затем формируете на основе расшифровок новый словарь или добавляете расшифровки в существующий
Привожу код FST для расшифровки цифровой части ББК с 3 символами после запятой и добавления рубрик в словарь для чайников
1111 8 MHL,(if p(v621) then "/DS=/"d621 &uf('DATHRB,|BB=',f(val(v621),0,3),'|,v210^a,v300') fi)
2. Вы формируете справочник (MNU), в котором расшифровываете только характерные для Вашей библиотеки коды со всеми элементами (в т.ч. не цифровыми). И формируете словарь, декодируя индексы по справочнику.
Если вариантов ББК мало или детские таблицы отличаются от массовых (т.е. в любом случае придётся вводить вручную) это технически самый простой и быстрый вариант.
Пример:
1111 8 MHL,(if p(v621) then "/DS=/"d621 &uf('Krubrics.mnu|'v621) fi)
При использовании первого варианта непросто решить вопрос с нецифровой составляющей ББК (я2 и т.п.). Её нужно отделять и дешифровать отдельно. Лучше с использованием регулярных выражений, и только при условии, что словарь создаётся в АРМ Адинистратор (т.е. не при каждом сохранении). Здесь требуется технолог с опытом. Если Вы пойдёте по этому пути, рекомендую заказать работу Галине Арноси, с которой Вы наверняка контактировали в Красноярске при покупке ИРБИС.
Чтобы решить вопрос самостоятельно, необходимо:
1. Прекрасно знать все приложения 1-5 основной документации
2. Изучить все UNIFOR, описанные в релизах
3. Изучить регулярные выражения
Редактировано 1 раз. Последний раз 21.02.2015 14:58 пользователем Кирилл Соколинский (СЗТУ).