Re: Вопросы по Каталогизатору
Пользователь:
Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 29, December, 2005 13:42
if v920='J' then else
'\fi300\b Экз-ры: \b0 \fs18',
,&uf('+1W903#'),"Текущий отдел"
,&uf('+1W904#'),"Флаг вывода запятой между инвентарными номерами и УК"
,&uf('+1W905#'),"Уже выведенные отделы"
,&uf('+1W906#'),"Уже выведенные УК для текущего отдела"
,&uf('+1W907#'),"Текущий УК"
,&uf('+1W908#'),"Общее количество экземпляров в отделе"
,&uf('+1W909#'),"Количество подсчитанных экземпляров для УК"
,(if p(v910) then
if '2 6 7':v910^a then else
/*Вывод названия текущего отдела и подсчёт экземпляров
&uf('+1W903#',v910^d),
if &uf('+1R905'):s('*',v910^d,'*') then else if &uf('+1R905')<>'' then '); 'fi, v910^d|-|,
&uf('+1W908#',f(rsum(ref(mfn,(if p(v910) then if &uf('+1R903')=v910^d then v910^1|;|,|1;|n910^1,fi fi))),0,0)),&uf('+1R908') '(' fi,
if &uf('+1R905'):s('*',v910^d,'*') then else,
/*--Вывод инвентарных номеров и УК для текущего отдела
&uf('+1W906#'),
ref(mfn,(
if p(v910) then
if &uf('+1R903')<>v910^d or &uf('+1R906'):v910^b then else if &uf('+1R904')<>'' then |, |v910^b else v910^b fi,
/*----Вывод количества экземпляров на текущем УК для текущего отдела
&uf('+1W907#',v910^b),
if v910^a='U' then, &uf('+1W909#'f(rsum(ref(mfn,(if p(v910) then if &uf('+1R903')=v910^d and &uf('+1R907')=v910^b then v910^1|;|,|1;|n910^1,fi fi))),0,0)), if &uf('+1R909')<>&uf('+1R908') then '[',&uf('+1R909'),']' fi,fi,
/*//--Вывод количества экземпляров на текущем УК для текущего отдела
&uf('+1W904#1'),&uf('+1W906#',v910^b,&uf('+1R906'))
fi,
fi,
)),
/*//Вывод инвентарных номеров и УК для текущего отдела
fi,
&uf('+1W905#',s(&uf('+1R905'),s('*',v910^d,'*'))),
&uf('+1W904#'),fi fi),')'
fi,
В старых версиях(2003.1, во всяком случае) для использования в формате просмотра, этот код нужно вставить в файл IBISW.PFT или Oex910.pft и заменить им функцию &unifor('O').
За любые предложения по оптимизации буду признателен.