Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
АРМ Администратор :  ИРБИС Irbis
 
Поиск повторения поля
Пользователь: o7b6s (IP-адрес скрыт)
Дата: 19, March, 2008 12:56

Здравствуйте! Подскажите как с помощью свободного поиска найти все записи где заданное поле имеет больше одного повторения.

Олег



Редактировано 2 раз. Последний раз 19.03.2008 16:34 пользователем o7b6s.

Re: Поиск повторения поля
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 19, March, 2008 17:39

Может так
val(&unifor('+Nxxx'))=1
возможности проверить сейчас нет

Re: Поиск повторения поля
Пользователь: Alio (IP-адрес скрыт)
Дата: 19, March, 2008 18:10

маленькое уточнение
val(&unifor('+Nxxx'))>1

Где ххх - метка поля

Re: Поиск повторения поля
Пользователь: o7b6s (IP-адрес скрыт)
Дата: 19, March, 2008 21:45

Спасибо. Хочу еще разобраться с поиском по словарю. Можно ли воспользоваться данным поиском в этом случае?

Re: Поиск повторения поля
Пользователь: Alio (IP-адрес скрыт)
Дата: 20, March, 2008 10:52

Не понял...

Re: Поиск повторения поля
Пользователь: o7b6s (IP-адрес скрыт)
Дата: 20, March, 2008 12:36

Я имею ввиду как сделать запрос "val(&unifor('+Nxxx'))>1"
используя поиск по словарю/рубрикатору.Возможно ли такое?

Re: Поиск повторения поля
Пользователь: Alio (IP-адрес скрыт)
Дата: 20, March, 2008 13:03

Надо создать соответствующий словарь, т.е. добавить в <dbname>.FST новую строку, что-то вроде

XXX 0 if val(&unifor('+Nxxx'))>1 then "YY=ДА" fi

и далее в сценарии поиска добавить новый поиск для префикса YY=

После добавления строки в FST надо, разумеется, создать словарь заново.

Re: Поиск повторения поля
Пользователь: o7b6s (IP-адрес скрыт)
Дата: 20, March, 2008 16:38

Вставил строку 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.

Re: Поиск повторения поля
Пользователь: Alio (IP-адрес скрыт)
Дата: 20, March, 2008 18:42

Вы корректировали IBIS.FST ДО того, как вызвали эту БД в АРМ Администратор для перезагрузки? Переоткройте эту БД в АРМе Администратор и создайте словарь заново еще раз.

И насчет строки в FST:

4603 и т.п. - это ВОВСЕ не порядковая нумерация. Вообще-то Вам следовало бы написать:

961 0 if val(&unifor('+N961'))>1 then "YY=ДА" fi

но впрочем в данной ситуации это не имеет значения.

Re: Последовательный поиск - > Поиск по словарю
Пользователь: o7b6s (IP-адрес скрыт)
Дата: 20, March, 2008 20:11

После внесения изменений в файл ibis.fst создал словарь полностью, но при выборе вновь созданного вида поиска результатов нет.



Редактировано 4 раз. Последний раз 21.03.2008 13:40 пользователем o7b6s.

Вложения: Ibis.rar (14.1KB)  
Re: Последовательный поиск - > Поиск по словарю
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 21, March, 2008 15:16

o7b6s написал(а):
-------------------------------------------------------
> После внесения изменений в файл ibis.fst создал
> словарь полностью, но при выборе вновь созданного
> вида поиска результатов нет.

А БД Ibis переоткрыли? Попробуйте перестартовать Администратор и заново создать словарь.

Re: Последовательный поиск - > Поиск по словарю
Пользователь: freeuser (IP-адрес скрыт)
Дата: 21, March, 2008 19:22

Да переоткрывал БД IBIS в администраторе по нескольку раз. Создавал словарь заново. Перезапускал сервер. Выбираю свой вид поиска - и ничего. Может есть еще какой нибудь способ проверить работу скрипта поиска по словарю. Хотя последовательный поиск с этим же запросом val(&unifor('+N961'))>1 дает результаты. Не знаю с чем это может быть связано.

Re: Поиск повторения поля
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 21, March, 2008 19:50

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 дал восемь
> результов.

Re: Поиск повторения поля
Пользователь: freeuser (IP-адрес скрыт)
Дата: 21, March, 2008 19:57

Огромное спасибо! Теперь все работает!X(

Re: Поиск повторения поля
Пользователь: Александр М. (IP-адрес скрыт)
Дата: 17, March, 2020 07:29

Дунаевская написал(а):
-------------------------------------------------------
> 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 версии Ирбиса?

Re: Поиск повторения поля
Пользователь: Gena (IP-адрес скрыт)
Дата: 17, March, 2020 09:05

&uf('av951#2')<>''

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Поиск повторения поля
Пользователь: Александр М. (IP-адрес скрыт)
Дата: 17, March, 2020 09:57

Gena написал(а):
-------------------------------------------------------
> &uf('av951#2')<>''


В последовательном поиске просто?

Re: Поиск повторения поля
Пользователь: Gena (IP-адрес скрыт)
Дата: 17, March, 2020 11:04

Александр М. написал(а):
-------------------------------------------------------
> Gena написал(а):
> --------------------------------------------------
> -----
> > &uf('av951#2')<>''
>
>
> В последовательном поиске просто?


да

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Поиск повторения поля
Пользователь: alisma (IP-адрес скрыт)
Дата: 16, July, 2020 12:36

Добрый день! подскажите, пожалуйста, как можно отобрать все записи, в которых есть больше одного поля 907 в каждом из которых присутствует ^С=1. Пытаемся отловить ошибки простановки этапов работы

Re: Поиск повторения поля
Пользователь: ochagova (IP-адрес скрыт)
Дата: 16, July, 2020 13:50

Последовательный поиск:
val(&uf('+N907#^C1'))>1

Re: Поиск повторения поля
Пользователь: alisma (IP-адрес скрыт)
Дата: 16, July, 2020 14:00

Спасибо, но выходит сообщение "Ошибка в запроса"

Re: Поиск повторения поля
Пользователь: ochagova (IP-адрес скрыт)
Дата: 16, July, 2020 17:06

Покажите картинку



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