Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 20, February, 2017 13:25

Как решается вот такое:
(if v900^c:'m1' then 'A' else if v900^c:'m2' then 'D' fi,fi, v910^b /)

http://s016.radikal.ru/i334/1702/d1/5e6f9c9350ba.jpg

Re: Язык форматирования
Пользователь: Alio (IP-адрес скрыт)
Дата: 20, February, 2017 13:47

О чем вопрос? Что значит "решается"?

Re: Язык форматирования
Пользователь: А. Роман (IP-адрес скрыт)
Дата: 21, February, 2017 21:01

Если правильно понял, то задача стоит в том, чтобы в случае, если характер документа содержит код m1 (автореферат диссертации) перед всеми инвентарными номерами выводить A, а если характер документа содержит код m2 (диссертация) - выводить D ?

Если так, то нужно учесть, что код может быть (теоретически) не только в подполе С и лучше использовать глобальную переменную (чтобы в цикле не проверять для каждого инвентарного номера условие вывода префикса А или D):

сначала для записи определяем префикс и записываем его в переменную:

&uf('+7'), if S(V900^C,v900^2,v900^3,v900^4,v900^5,v900^6,):'m1' then &uf('+7W1900#A') else
if S(V900^C,v900^2,v900^3,v900^4,v900^5,v900^6,):'m2' then &uf('+7W1900#D') fi fi,


Затем для всех повторений 910 поля, содержащих инв. номер выводим перед ним префикс из переменной:

(,if p(v910^B) then &uf('AG1900#1'), v910^b fi/)


получим в итоге для примера, приведенного на снимке экрана:

D1821
D1824

Re: Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 01, March, 2017 12:48

А. Роман написал(а):
-------------------------------------------------------
> Если правильно понял, то задача стоит в том, чтобы
> в случае, если характер документа содержит код m1
> (автореферат диссертации) перед всеми инвентарными
> номерами выводить A, а если характер документа
> содержит код m2 (диссертация) - выводить D ?
>
> Если так, то нужно учесть, что код может быть
> (теоретически) не только в подполе С и лучше
> использовать глобальную переменную (чтобы в цикле
> не проверять для каждого инвентарного номера
> условие вывода префикса А или D):
>
> сначала для записи определяем префикс и записываем
> его в переменную:
>
> &uf('+7'), if
> S(V900^C,v900^2,v900^3,v900^4,v900^5,v900^6,):'m1'
> then &uf('+7W1900#A') else
> if
> S(V900^C,v900^2,v900^3,v900^4,v900^5,v900^6,):'m2'
> then &uf('+7W1900#D') fi fi,
>
>
> Затем для всех повторений 910 поля, содержащих
> инв. номер выводим перед ним префикс из
> переменной:
>
> (,if p(v910^B) then &uf('AG1900#1'), v910^b fi/)
>
>
> получим в итоге для примера, приведенного на
> снимке экрана:
>
> D1821
> D1824

Спасибо.

Re: Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 04, April, 2017 15:15

Помогите пожалуйста
Требуется подавить префикс-литерал после последнего повторения, здесь бы сработала конструкция v675+|; | но это происходит в ссылке в веб-ирбисе, нужен фиктивный вывод d675+|; | не срабатывает, вот такой вариант еще есть v675 +|;|d675, но работает только если непосредственно впереди вывод v675 ?

Re: Язык форматирования
Пользователь: ochagova (IP-адрес скрыт)
Дата: 04, April, 2017 15:43

Не поняла ваши рассуждения, поняла только первую фразу. Неуклюжий, но верный способ:
(if p(v675) then v675,,if val(&uf('+90'))=val(&uf('+N675')) then else ', ' fi fi)

Re: Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 05, April, 2017 08:55

ochagova
Благодарю.

Re: Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 23, May, 2017 14:16

Как сохранить некоторое значение в файл?
Мне нужен сохраняемый счетчик, брать значение из файла, добавлять единицу и сохранять новое значение.

&uf('+7W11#'),
&uf('+7W11#'&uf('+9C10,,123.txt')),
&uf('+7W11#'f(val(g11)+1,0,0))

Как сохранять новое значение?



Редактировано 2 раз. Последний раз 23.05.2017 14:17 пользователем -AND-.

Re: Язык форматирования
Пользователь: Alio (IP-адрес скрыт)
Дата: 23, May, 2017 15:15

Пользуйтесь ГЛОБАЛЬНЫМИ СЧЕТЧИКАМИ - релиз версии 2015.1 (RELEASE_15_1.doc) раздел КАТАЛОГИЗАТОР п.3

Re: Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 24, May, 2017 08:49

Alio написал(а):
-------------------------------------------------------
> Пользуйтесь ГЛОБАЛЬНЫМИ СЧЕТЧИКАМИ - релиз версии
> 2015.1 (RELEASE_15_1.doc) раздел КАТАЛОГИЗАТОР п.3

У меня версия 2013 года

Re: Язык форматирования
Пользователь: ochagova (IP-адрес скрыт)
Дата: 25, May, 2017 10:27

Это можно сделать только через некую служебную запись в БД (в вашей версии).

Re: Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 09, June, 2017 13:58

ochagova написал(а):
-------------------------------------------------------
> Это можно сделать только через некую служебную
> запись в БД (в вашей версии).

Может есть какой способ откорректировать глобальной номер в определенном поле (1,2,3,4...)? Счетчик сбрасывается.

Re: Язык форматирования
Пользователь: -AND- (IP-адрес скрыт)
Дата: 12, June, 2017 15:33

-AND- написал(а):
-------------------------------------------------------
> ochagova написал(а):
> --------------------------------------------------
> -----
> > Это можно сделать только через некую служебную
> > запись в БД (в вашей версии).
>
> Может есть какой способ откорректировать
> глобальной номер в определенном поле (1,2,3,4...)?
> Счетчик сбрасывается.

Наверное, техподдержка уже устала отвечать на одни и те же вопросы, потому отвечаю сам. Счетчик, который не сбрасывается каждые 100 записей, таки, организовать можно. Нужно добавить параметр MAIN: MaxPortion=0 (умолчание=100) irbisbat.ini

Re: Язык форматирования
Пользователь: ochagova (IP-адрес скрыт)
Дата: 13, June, 2017 15:31

Техподдержка была на конференции в Крыму, пока не все вернулись.
"..Счетчик, который не сбрасывается каждые 100 записей.." - вы говорите о работе глобальной корректировки?
Нет такого параметра MaxPortion



Редактировано 1 раз. Последний раз 13.06.2017 15:32 пользователем ochagova.



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