Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Не отображает новые поступления
Пользователь: Pavel (IP-адрес скрыт)
Дата: 31, July, 2014 16:53

Здравствуйте.

Помогите разобраться.На главной странице где размещён электронный каталог не отображаются новые поступления (ссылки не активны по месяцам). Но при этом новые поступления через поиск найти можно.

В апреле устанавливали веб-ирбис и переносили базы, после апреля на следующие месяца ссылки почему-то неактивны.

Вложения: Главная.png (131.6KB)  
Re: Не отображает новые поступления
Пользователь: Карауш (IP-адрес скрыт)
Дата: 01, August, 2014 05:50

Вероятнее всего, изменились файлы словарей (алгоритмов создания словарей) в новой версии. И при переноске баз не была проведена процедура создания словарей заново.
И еще, посмотрите внимательно данные в 907 поле (дата). Заполняется ли оно? Если вносили изменения в дистрибутив и старались убрать автоматическое заполнение этого поля (многим не нравится, что его нельзя самостоятельно редактировать), то это тоже могло стать причиной.

Re: Не отображает новые поступления
Пользователь: Pavel (IP-адрес скрыт)
Дата: 04, August, 2014 09:00

Проверил поле 907 (дата), дата проставляется. Сделал актуализацию словаря заново -> полностью. Ссылки по месяцам активными так и не стали.

Нашёл на форуме ветку где говорится, поиск новых поступлений в WEB ИРБИС осуществляется по первому повторению 907 поля ^A с префиксом DP=
Поэтому возможные перекопирования и вторичные технологические правки не попадают в новые поступления.
У нас как раз в первом повторении поля стоит другая дата. Что в таком случае делать?



Редактировано 2 раз. Последний раз 04.08.2014 13:39 пользователем Pavel.

Вложения: Дата.png (107.3KB)  
Re: Не отображает новые поступления
Пользователь: Екатерина Малинина (IP-адрес скрыт)
Дата: 03, September, 2014 12:53

Если у Вас актуальная дата находится в 910 поле, то можно сделать так, чтобы в табличке новых поступлений даты брались из 910^C.



Редактировано 1 раз. Последний раз 03.09.2014 12:59 пользователем Екатерина Малинина.

Re: Не отображает новые поступления
Пользователь: iishakirov (IP-адрес скрыт)
Дата: 08, August, 2017 13:15

А как поменять что бы даты брались из 910

Re: Не отображает новые поступления
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 08, August, 2017 20:08

Ирек Ильгамович!

В сценарии формирования словаря (в файле <имя бд>.fst) есть два префикса DP= и DR=

907 0 if s(v910^c,v907^a)<>''then'DP='&unifor('Av907^a#1'),if a(v907^a)then &unifor('Av910^c#1')fi/if v920='J' then else (|DR=|v910^c/) fi fi


Первый (DP=) в большей степени характеризует не дату поступления экземпляров в библиотеку, а дату создания записи в электронном каталоге.

Например, если идет ретроконверсия фондов библиотеки, то 1-е повторение поля 907 вовсе не будет говорить о том, что в этот день в библиотеку поступили экземпляры данного наименования.

Второй префикс (DR=) собирает именно даты поступления экземпляров, причем всех.
Поэтому, для того, чтобы в Web-ИРБИС64 у вас работали ссылки как вы хотите (собственно так будет корректнее) надо в файле web_news_all_1.pft заменить DP= на DR= (везде, где встречается упоминание этого префикса).

При этом можно в формат fullwebr.pft добавить условие, которое будет проверять даты поступления из поискового запроса с теми, что есть в 910 поле у каждой записи и выводить примечание о том, что издание поступило в библиотеку впервые, а не имеет место докомплектование.

Re: Не отображает новые поступления
Пользователь: iishakirov (IP-адрес скрыт)
Дата: 09, August, 2017 09:36

Извините, что не уточнил, имел в виду jirbis

Re: Не отображает новые поступления
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 09, August, 2017 10:04

Очень своевременное уточнение smiling smiley

Для J-ИРБИС есть отдельная ветка на форуме...

В административной панели: меню: Компоненты - ИРБИС - закладка Поисковые формы - таблица Правила обработки форм.

Замените префиксы DP= на DR= сохраните и на всякий случай очистите кеш.

Вложения: даты поступления экз.J-ИРБИС.png (42KB)  
Re: Не отображает новые поступления
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 09, August, 2017 22:10

Pavel написал(а):
-------------------------------------------------------
> Нашёл на форуме ветку где говорится, поиск новых
> поступлений в WEB ИРБИС осуществляется по первому
> повторению 907 поля ^A с префиксом DP=
> У нас как раз в первом повторении поля стоит
> другая дата. Что в таком случае делать?

Замените строку


907 0 if s(v910^c,v907^a)<>''then'DP='&unifor('Av907^a#1'),if a(v907^a)then &unifor('Av910^c#1')fi/if v920='J' then else (|DR=|v910^c/) fi fi 

на 

907 0  'DP='&unifor('Av910^c#1')


Аналогичные действия с учётом синтаксиса файла нужно выполнить для IFS.

Re: Не отображает новые поступления
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 10, August, 2017 09:06

конструкция:

907 0 'DP='&unifor('Av910^c#1')

будет работать только с 1-м повторением 910 поля, в то время как в префикс DR= собираются все даты поступления по умолчанию, т.е. без необходимости что-либо менять в IFS/FST.

Re: Не отображает новые поступления
Пользователь: iishakirov (IP-адрес скрыт)
Дата: 10, August, 2017 09:12

Я попробовал в файле ibis.fst строку

907 0 if s(v910^c,v907^a)<>''then'DP='&unifor('Av907^a#1'),if a(v907^a)then &unifor('Av910^c#1')fi/if v920='J' then else (|DR=|v910^c/) fi fi

поменять на
907 0 'DP='&unifor('Av910^c#1')

и в файле ibis.ifs строку
907,910,920,907 0 if s(v910^c,v907^a)<>''then'DP='&unifor('Av907^a#1'),if a(v907^a)then &unifor('Av910^c#1')fi/if v920='J' then else (|DR=|v910^c/) fi fi
поменять на
907,910,920,907 0 'DP='&unifor('Av910^c#1')
Но это не помогло.
Может я где то не там меняю, или не совсем правильно меняю?
После замены ирбис перезапускал

Re: Не отображает новые поступления
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 10, August, 2017 09:54

iishakirov написал(а):
-------------------------------------------------------
> Я попробовал в файле ibis.fst строку
>
> 907 0 if
> s(v910^c,v907^a)<>''then'DP='&unifor('Av907^a#1'),
> if a(v907^a)then &unifor('Av910^c#1')fi/if
> v920='J' then else (|DR=|v910^c/) fi fi
>
> поменять на
> 907 0 'DP='&unifor('Av910^c#1')
>
> и в файле ibis.ifs строку
> 907,910,920,907 0 if
> s(v910^c,v907^a)<>''then'DP='&unifor('Av907^a#1'),
> if a(v907^a)then &unifor('Av910^c#1')fi/if
> v920='J' then else (|DR=|v910^c/) fi fi
> поменять на
> 907,910,920,907 0 'DP='&unifor('Av910^c#1')
> Но это не помогло.
> Может я где то не там меняю, или не совсем
> правильно меняю?
> После замены ирбис перезапускал

Если Вы замените как предлагалось ранее - всю строку на 907 0 'DP='&unifor('Av910^c#1')

то у вас в построении словаря будет принимать участие только 1-е повторение 910 поля, содержащее дату поступления.
К тому же, если в БД есть записи без 910 поля (например электронные документы), то они полностью выпадут из поиска, т.к. их условие предложенное ранее не учитывает.

Предлагаю оставить в данном случае эту строку по умолчанию и если не хотите ничего менять, кроме добавления в словарь DP= всех дат поступления экземпляров - создайте в секции user файлов FST/IFS следующий сценарий:

910 0 &uf('+7'), (&uf('+7U2910#',|DP=|V910^C/) ), &uf('+7G2910') ,(G2910/)

910,910 0 &uf('+7'), (&uf('+7U2910#',|DP=|V910^C/) ), &uf('+7G2910') ,(G2910/)



Редактировано 1 раз. Последний раз 10.08.2017 09:55 пользователем А. Роман.

Re: Не отображает новые поступления
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 14, August, 2017 21:19

iishakirov написал(а):
-------------------------------------------------------
> После замены ирбис перезапускал

Вы создали заново словари?

Re: Не отображает новые поступления
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 16, August, 2017 13:24

А. Роман написал(а):
-------------------------------------------------------
> Предлагаю оставить в данном случае эту строку по
> умолчанию и если не хотите ничего менять, кроме
> добавления в словарь DP= всех дат поступления
> экземпляров - создайте в секции user файлов
> FST/IFS следующий сценарий:
>
> 910 0 &uf('+7'), (&uf('+7U2910#',|DP=|V910^C/) ),
> &uf('+7G2910') ,(G2910/)

Целесообразность такого решения представляется мягко говоря спорной. Причём как с технической, так и с методической точки зрения.

1. С технической точки зрения
А) Зачем обеспечивать уникальность индексируемых значений?
Б) Зачем использовать такое количество избыточного кода? Использование переменной 2910 формирует в памяти 2910 переменных. Конструкция (&uf('+7U2910#',|DP=|V910^C/) ) приводит выполнению UNIFOR чаще чем это фактически необходимо. Зачем обнулять все глобальные переменные каждый раз?

Если стояла задача сохранить только оригинальные повторения, то следовало использовать гораздо более быструю и лаконичную конструкцию

910 0 &uf('+1I',(|DP=|V910^C/))

2. С методической точки зрения не совсем понятно, зачем в новых поступлениях отображать поступление каждой партии издания. Допустим в библиотеке было 10 экземпляров. Купили ещё 5. Могут ли эти 5 экземпляров считаться новым поступлением?

Re: Не отображает новые поступления
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 16, August, 2017 13:46

Про техническую точку зрения - согласен. Предложенный ранее вариант не был оптимален, хотя его результат был аналогичным. Конструкция 910 0 &uf('+1I',(|DP=|V910^C/)) - безупречна.

Но на счет методической категорически не согласен - есть другой пример, довольно частый в вузах, который почему-то вы не рассмотрели (примеров могу привести и больше): в читальном зале был 1 экземпляр. Через полгода или даже через месяц поступило 50 (тем же докомплектованием) в отдел учебной литературы. Если не индексировать все даты, то читатель не получит информацию о том, что в текущем месяце в библиотеку поступило достаточное кол-во экземпляров, которые ранее были в дефиците.



Редактировано 2 раз. Последний раз 17.08.2017 15:02 пользователем А. Роман.



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