Вставил строку 4604 0 if val(&unifor('+N961'))>1 then "YY=ДА" fi в конец файла ibis.fst (предпоследняя строка идет под номером 4603)
В сценарии поиска в файле ibisc.ini добавил новую строку.
Отрывок секции Search irbisс.ini:
ItemName50=Поиск повторений подполей больше 1 в поле 961
ItemPref50=YY=
ItemDictionType50=0
ItemLogic50=
ItemMenu50=
ItemF8For50=
ItemModByDic50=
ItemTranc50=
ItemHint50=
ItemModByDicAuto50=
ItemAdv50=
Выполнил в администраторе для базы данных IBIS - создать словарь полностью.
Открыл в каталогизаторе базу IBIS. Выбрал поиск по словарю. В выпадающем списке вида поиска выбрал "Поиск повторений", но поле терминов словаря (левая половина окна поиска) оказалось пустым. Хотя последовательный поиск по запросу val(&unifor('+N961'))>1 в базе IBIS дал восемь результов.
Редактировано 2 раз. Последний раз 20.03.2008 16:52 пользователем o7b6s.
Вы корректировали IBIS.FST ДО того, как вызвали эту БД в АРМ Администратор для перезагрузки? Переоткройте эту БД в АРМе Администратор и создайте словарь заново еще раз.
И насчет строки в FST:
4603 и т.п. - это ВОВСЕ не порядковая нумерация. Вообще-то Вам следовало бы написать:
961 0 if val(&unifor('+N961'))>1 then "YY=ДА" fi
но впрочем в данной ситуации это не имеет значения.
o7b6s написал(а):
-------------------------------------------------------
> После внесения изменений в файл ibis.fst создал
> словарь полностью, но при выборе вновь созданного
> вида поиска результатов нет.
А БД Ibis переоткрыли? Попробуйте перестартовать Администратор и заново создать словарь.
Да переоткрывал БД IBIS в администраторе по нескольку раз. Создавал словарь заново. Перезапускал сервер. Выбираю свой вид поиска - и ничего. Может есть еще какой нибудь способ проверить работу скрипта поиска по словарю. Хотя последовательный поиск с этим же запросом val(&unifor('+N961'))>1 дает результаты. Не знаю с чем это может быть связано.
o7b6s написал(а):
-------------------------------------------------------
> Вставил строку 4604 0 if val(&unifor('+N961'))>1
> then "YY=ДА" fi
Здесь нужно поставить безусловный литерал
4604 0 if val(&unifor('+N961'))>1 then 'YY=ДА' fi
в конец файла ibis.fst
> (предпоследняя строка идет под номером 4603)
> В сценарии поиска в файле ibisc.ini добавил новую
> строку.
> Отрывок секции Search irbisс.ini:
> ItemName50=Поиск повторений подполей больше 1 в
> поле 961
> ItemPref50=YY=
> ItemDictionType50=0
> ItemLogic50=
> ItemMenu50=
> ItemF8For50=
> ItemModByDic50=
> ItemTranc50=
> ItemHint50=
> ItemModByDicAuto50=
> ItemAdv50=
>
> Выполнил в администраторе для базы данных IBIS -
> создать словарь полностью.
> Открыл в каталогизаторе базу IBIS. Выбрал поиск по
> словарю. В выпадающем списке вида поиска выбрал
> "Поиск повторений", но поле терминов словаря
> (левая половина окна поиска) оказалось пустым.
> Хотя последовательный поиск по запросу
> val(&unifor('+N961'))>1 в базе IBIS дал восемь
> результов.
Дунаевская написал(а):
-------------------------------------------------------
> o7b6s написал(а):
> --------------------------------------------------
> -----
> > Вставил строку 4604 0 if
> val(&unifor('+N961'))>1
> > then "YY=ДА" fi
>
> Здесь нужно поставить безусловный литерал
> 4604 0 if val(&unifor('+N961'))>1 then 'YY=ДА' fi
>
>
> в конец файла ibis.fst
> > (предпоследняя строка идет под номером 4603)
> > В сценарии поиска в файле ibisc.ini добавил
> новую
> > строку.
> > Отрывок секции Search irbisс.ini:
> > ItemName50=Поиск повторений подполей больше 1
> в
> > поле 961
> > ItemPref50=YY=
> > ItemDictionType50=0
> > ItemLogic50=
> > ItemMenu50=
> > ItemF8For50=
> > ItemModByDic50=
> > ItemTranc50=
> > ItemHint50=
> > ItemModByDicAuto50=
> > ItemAdv50=
> >
> > Выполнил в администраторе для базы данных IBIS -
>
> > создать словарь полностью.
> > Открыл в каталогизаторе базу IBIS. Выбрал поиск
> по
> > словарю. В выпадающем списке вида поиска
> выбрал
> > "Поиск повторений", но поле терминов словаря
> > (левая половина окна поиска) оказалось пустым.
> > Хотя последовательный поиск по запросу
> > val(&unifor('+N961'))>1 в базе IBIS дал восемь
> > результов.
Здравствуйте!
Подскажите, пожалуйста, нам нужно отобрать записи в базе Ibis, у которых больше одного повторения 951 поля. Как это сделать в 2017 версии Ирбиса?
Добрый день! подскажите, пожалуйста, как можно отобрать все записи, в которых есть больше одного поля 907 в каждом из которых присутствует ^С=1. Пытаемся отловить ошибки простановки этапов работы