Если дата перер-и в поле 52, то
val(&uf('Av52^*#',&uf('+N52') ) ) >= val('20140101') and val(&uf('Av52^*#',&uf('+N52') ) ) <= val('20141231') and &uf('Av52^*C',&uf('+N52') ): 'МЛ' and v50: 'школьник' and val(v90^F)=1
ochagova написал(а):
-------------------------------------------------------
> Если дата перер-и в поле 52, то
> val(&uf('Av52^*#',&uf('+N52') ) ) >=
> val('20140101') and val(&uf('Av52^*#',&uf('+N52')
> ) ) <= val('20141231') and
> &uf('Av52^*C',&uf('+N52') ): 'МЛ' and v50:
> 'школьник' and val(v90^F)=1
Последовате6льный поиск - это плохое решение. Используйте поиск по словарям. Есть же словари категорий и, думаю, по классу (семестру?). Также предусмотрен словарь для поля перерегистрации, его префикс RD=
Комбинируйте результаты поисков по словарям
ochagova написал(а):
-------------------------------------------------------
> Последовате6льный поиск - это плохое решение.
> Используйте поиск по словарям. Есть же словари
> категорий и, думаю, по классу (семестру?). Также
> предусмотрен словарь для поля перерегистрации, его
> префикс RD=
> Комбинируйте результаты поисков по словарям
У меня нет таких видов поиска по словарю...
Или мне нужно самой формировать новые виды?
А возможно сформировать по моим критериям новую стат. форму?
Спасибо.
Словарь для поля перерегистрации сделала, но этого недостаточно. Нужен поиск для, например, места перерегистрации (52^С), класса (19^E). Возможно ли это сделать?
Вложу для наглядности ту форму отчёта, которую мы заполняем каждый год.
Спасибо.
Все в ваших руках. В дистрибутиве есть строка:
51 0 (|RD=|v51.8,|-|v51^c/)/(|RD=|v52.8,|-|v52^c/)
Если вы хотите отдельно выделить место пер., то добавьте, например с префиксом RDM=
51 0 (|RD=|v51.8,|-|v51^c/)/(|RD=|v52.8,|-|v52^c/)/(|RDM=|v52^c/)
Если у вас класс в поле 19^E, то добавьте, например, префикс CL=
19 0 MHL,"CL="v19^E
Далее эти префиксы используйте в видах поиска, в стат.формах и т.д.
ochagova написал(а):
-------------------------------------------------------
> Все в ваших руках. В дистрибутиве есть строка:
> 51 0
> (|RD=|v51.8,|-|v51^c/)/(|RD=|v52.8,|-|v52^c/)
> Если вы хотите отдельно выделить место пер., то
> добавьте, например с префиксом RDM=
> 51 0
> (|RD=|v51.8,|-|v51^c/)/(|RD=|v52.8,|-|v52^c/)/(|RD
> M=|v52^c/)
> Если у вас класс в поле 19^E, то добавьте,
> например, префикс CL=
> 19 0 MHL,"CL="v19^E
> Далее эти префиксы используйте в видах поиска, в
> стат.формах и т.д.
Всё получилось. Благодарю!
Редактировано 1 раз. Последний раз 13.01.2015 13:51 пользователем Nata.
Здравствуйте. У нас не совпадения в последовательном поиске. Хотели выяснить в каких записях нет штрих-кода у 45Ф. Делали следующее:
в словаре Место хранения экз-ра выбрали 45Ф, открыли последовательный поиск, уточнили запрос ("45Ф" Место хранения экземпляра), поле 910, подполе штрих-код, отсутствие - выполнить. В результат поиска попали записи, которые имеют штрих-код по МХР 45Ф, но тут же находятся экземпляры и других МХР, но в них нет штрих-кода. Может быть тогда поиск ориентируется на них?
auto_02 написал(а):
-------------------------------------------------------
> благодарствую
>
> А есть где-нибудь вики или просто справка по этому
> делу?
Общее описание. Приложение 17
Кстати, по поводу применения оператора NOT в ПОСЛЕДОВАТЕЛЬНОМ ПОИСКЕ
В инструкции (Общее описание. Приложение 4, п.7.2) читаем:
Оператор NOT может использоваться только как унарный, т.е. он всегда применяется к логическому выражению, следующему за ним.
Поясним это на примере: надо найти записи, в которых присутствует поле 10 и в поле 910 (во всех повторениях) не присутствует символ 5
Следующие конструкции поискового выражения для данного последовательного поиска являются ОШИБОЧНЫМИ:
p(v10) not (v910:'5')
p(v10) and not (v910:'5')
not (v910:'5') and p(v10)
А вот эти являются ВЕРНЫМИ:
p(v10) and (not v910:'5')
p(v10) and (not (v910:'5'))
(not v910:'5') and p(v10)
т.е. правило по сути простое:
Конструкцию отрицания (NOT) надо всегда заключать в скобки (разумеется, в тех случаях, когда эта конструкция объединяется с другими логическими конструкциями).
И кстати, задачка для любознательных: как выполнить данный последовательный поиск, не употребляя логический оператор NOT
Редактировано 3 раз. Последний раз 17.12.2015 15:30 пользователем Alio.
Добрый день!
ИРБИС 64 2014.1
Помогите, пожалуйста, составить такой поисковый запрос: нужно определить количество перерегистрированных читателей в отделе "МЛ" в 2016 году. Поле 52 множественное.
Добавила новые виды поиска: год перерегистрации и место перерегистрации.
Но если я составляю поиски - сначала отбираю год перерегистрации (2016), а потом в этих отсортированных записях выбираю место перерегистрации (МЛ), то выходное количество записей превышает действительное количество.
Спасибо.
Можно было сделать не отдельные словари, а объединенный - год-место, т.е.:
префикс,,,(if p(v52) then v52^*,| - |v52^C fi/).
Или отобрать последов. поиском:
| v52.4='2016' and &uf('+97',v52^C)='МЛ'
ochagova написал(а):
-------------------------------------------------------
> Можно было сделать не отдельные словари, а
> объединенный - год-место, т.е.:
> префикс,,,(if p(v52) then v52^*,| - |v52^C fi/).
> Или отобрать последов. поиском:
> | v52.4='2016' and &uf('+97',v52^C)='МЛ'
Попробовала добавить новый вид поиска, но, похоже, что-то с пунктуацией напутала:
52 0 |GMP=| (if p(v52) then v52^*,| - |v52^C fi/)
pikachu147 написал(а):
-------------------------------------------------------
> День добрый!
>
> Хочу добавить в последовательный поиск в БД CMPL
> при выборе подполе "Канал поступления", которого
> нет (см. скриншот).
>
> Как добавить?
Подскажите, пожалуйста, что нужно изменить в настройках, чтобы была возможность в последовательном поиске отобрать БЗ с отсутствующим номером КСУ в поле 910? Электронный каталог формируется без АРМа "Комплектатор", и КСУ присваиваются вручную в "Каталогизаторе". Точно известно, что есть записи с пропущенными КСУ, но в последовательном поиске результат на этот запрос "0". Смущает присутствующая (неудаляемая) метка подполя ^U при отсутствующем номере КСУ... Скриншот прилагаю. Спасибо.
P.S. Версия ИРБИС64 2013.1
Редактировано 1 раз. Последний раз 26.11.2016 17:09 пользователем Лукко.
Лукко написал(а):
-------------------------------------------------------
> Подскажите, пожалуйста, что нужно изменить в
> настройках, чтобы была возможность в
> последовательном поиске отобрать БЗ с
> отсутствующим номером КСУ в поле 910? Электронный
> каталог формируется без АРМа "Комплектатор", и КСУ
> присваиваются вручную в "Каталогизаторе". Точно
> известно, что есть записи с пропущенными КСУ, но в
> последовательном поиске результат на этот запрос
> "0". Смущает присутствующая (неудаляемая) метка
> подполя ^U при отсутствующем номере КСУ...
> Скриншот прилагаю. Спасибо.
> P.S. Версия ИРБИС64 2013.1
Вам надо в окне "Свободный поиск" прописать запрос:
rsum((if p(v910)then if v910:'^U' and v910^u=''then '1;' else'0;'fi fi))>0