Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Комплектатор :  ИРБИС Irbis
 
148 поле KSU
Пользователь: Elenaon (IP-адрес скрыт)
Дата: 06, October, 2011 09:47

Добрый день!
У нас возник следующий вопрос. Нашей библиотеке для выходной формы KSU2W нужно добавить столбец подсчета справочной литературы в названиях и экземплярах. В файле Rksu данная строчка выглядит так
148^F 21 if (v920:'NJ' or v920:'Spec' and p(v933))and ref(l("I="v933),v110^g.1' 'v110^k.1' 'v110^l.1):'g'OR v920<>'NJ'and s(v900^c.1' 'v900^2.1' 'v900^3.1' 'v900^4.1' 'v900^5.1' 'v900^6.1):'g' then (if p(v910) then if v910^u='v991' then v910^1,|1|n910^1 fi fi/)fi/
получается что в данном случает он смотрит только экземпляры, изданий у которых код документов g - справочники, сотрудникам нашим хотелось бы что бы в этом поле он считал и словари и определители.
Как ее изменить? мы уже по разному пытались, но ничего не получается.
Для этой формы мы создавали другие поля, с ними не было проблем, а вот на этом застопорились.
Версия Ирбис 64 2010.1



Редактировано 1 раз. Последний раз 06.10.2011 09:50 пользователем Elenaon.

Re: 148 поле KSU
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 06, October, 2011 11:25

Покажите, как пытались изменить строку

Re: 148 поле KSU
Пользователь: Elenaon (IP-адрес скрыт)
Дата: 06, October, 2011 12:04

Вот так:
148^F 21 if (v920:'NJ' or v920:'Spec' and p(v933))and ref(l("I="v933),v110^g' 'v110^k' 'v110^l):'g'OR v920<>'NJ'and s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6):'g' then else if (v920:'NJ' or v920:'Spec' and p(v933))and ref(l("I="v933),v110^g' 'v110^k' 'v110^l):'e'OR v920<>'NJ'and s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6):'e' then else if (v920:'NJ' or v920:'Spec' and p(v933))and ref(l("I="v933),v110^g' 'v110^k' 'v110^l):'15'OR v920<>'NJ'and s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6):'15'then (if p(v910) then if v910^u='v991' then v910^1,|1|n910^1 fi fi/) fi fi fi/

И вот так
if (v920:'NJ' or v920:'Spec' and p(v933))and ref(l("I="v933),v110^g' 'v110^k' 'v110^l):'g'OR v920<>'NJ'and s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6):'g' and ref(l("I="v933),v110^g' 'v110^k' 'v110^l):'e'OR v920<>'NJ'and s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6):'e' and ref(l("I="v933),v110^g' 'v110^k' 'v110^l):'15'OR v920<>'NJ'and s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6):'15' then (if p(v910) then if v910^u='v991' then v910^1,|1|n910^1 fi fi/)fi/

И так тоже
if (v920:'NJ' or v920:'Spec' and p(v933))and ref(l("I="v933),v110^g.1' 'v110^k.1' 'v110^l.1):'g e 15' OR v920<>'NJ'and s(v900^c.1' 'v900^2.1' 'v900^3.1' 'v900^4.1' 'v900^5.1' 'v900^6.1):'g e 15' then (if p(v910) then if v910^u='v991' then v910^1,|1|n910^1 fi fi/)fi/

Ничего не вышло



Редактировано 1 раз. Последний раз 06.10.2011 12:16 пользователем Elenaon.

Re: 148 поле KSU
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 06, October, 2011 12:35

148^F 21
if (v920:'NJ' or v920:'Spec' and p(v933)) and
(ref(l("I="v933),v110^g' 'v110^k' 'v110^l) : 'g' OR
ref(l("I="v933),v110^g' 'v110^k' 'v110^l) : 'e' OR
ref(l("I="v933),v110^g' 'v110^k' 'v110^l) : '15')
OR
v920<>'NJ' and
(s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6) : 'g' OR
s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6) : 'e' OR
s(v900^c' 'v900^2' 'v900^3' 'v900^4' 'v900^5' 'v900^6) : '15')
then (if p(v910) then if v910^u='v991' then v910^1,|1|n910^1 fi fi/)
fi/
Текст специально разбит на строки для наглядности, а Вам нужно его ввести в Rksu.fst в одну строку

Re: 148 поле KSU
Пользователь: Elenaon (IP-адрес скрыт)
Дата: 07, October, 2011 07:36

Все работает!
Спасибо за помощь!



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