/* скрипт для отображения событий произошедших в текущем месяце
/* Карауш А.С.
&uf('+7W103#'),&uf('+7W100#'),&uf('+7W101#'),&uf('+7W102#'),
(if p(v309^i) then
if p(v309^i) and v309^i<>' '
then
&unifor('+7U100#'F((val(&unifor('30'))-val(v309^e.4))/val(v309^i),4,2)),
&unifor('+7U101#'F((val(v309^i)-val(v309^i)/100*val(&unifor('G2.'G100))),0,0)),
&uf('+7U102#'if &unifor('G2.'G100)='00' then &unifor('30') else &unifor('G2.'G101) fi)
fi
if &unifor('31')=v309^e*4.2 then
'
',
/* '',&unifor('S1A'),'. ',
if v309^i='1' then
/* by ask добавка прямой ссылки на документ
'',
v309^t,
'.',
/* by ask конец прямой ссылки на документ
' - ',' Событие отмечается ежегодно'
else
if &unifor('G2.'G100)='00' then
/* by ask добавка прямой ссылки на документ
'',
v309^t,
'.',
/* by ask конец прямой ссылки на документ
' - ',' Текущий (', &uf('30'), ') год - юбилейный '
else
/* by ask добавка прямой ссылки на документ
'',
v309^t,
'.',
/* by ask конец прямой ссылки на документ
' - ',' До юбилея 'G102,if g102='' then '(нет данных)' fi
if g102*1.1<>'' then
if g102.1='1' then ' лет' else
if g102*1.1 ='1' then ' год' else
if '2 3 4 ':g102*1.1 then ' года' else ' лет'
fi fi fi
else
if g102 ='1' then ' год' else
if '2 3 4 ':g102 then ' года' else ' лет'
fi fi fi fi,| (интервал |v309^i| лет)|
fi
/* ', с даты события прошёл (прошло) ', f(val(&unifor('30'))-val(v309^e.4),5,0), ' год (лет). ' ,
/* алгоритм который отвечает за то, как выводить дату в словах год, года, лет для поля 309^e (повторяющегося)
if p(v309^e) then
if v309^e.4:'?'then
else
if v309^e:'?' or v309^e*4.1='' or v309^e*6.1=''
then ', с даты события ',
if &uf('+961*0.2#', f((val(&uf('30'))- val(v309^e.4)),5,0))<>'11' and
&uf('+961*0.1#', f((val(&uf('30'))- val(v309^e.4)),5,0))='1'
then 'прошел'
else 'прошло'
fi, '',
f((val(&uf('30'))- val(v309^e.4)),5,0),
if (val(&uf('+961*0.2#', f((val(&uf('30'))- val(v309^e.4)),5,0)))>4 and val(&uf('+961*0.2#', f((val(&uf('30'))- val(v309^e.4)),5,0)))<21) or
val(&uf('+961*0.1#', f((val(&uf('30'))- val(v309^e.4)),5,0)))>4 or val(&uf('+961*0.1#', f((val(&uf('30'))- val(v309^e.4)),5,0)))=0
then ' лет'
else if val(&uf('+961*0.1#', f((val(&uf('30'))- val(v309^e.4)),5,0)))=1 then ' год' else ' года' fi
fi, '',
/* -------
else ', с даты события ',
if &uf('+961*0.2#', f((val(&uf('3'))- val(v309^e))/10000,5,0))<>'11' and
&uf('+961*0.1#', f((val(&uf('3'))- val(v309^e))/10000,5,0))='1'
then 'прошел' else 'прошло' fi, '',
f((val(&uf('3'))- val(v309^e))/10000,5,0),
if (val(&uf('+961*0.2#', f((val(&uf('3'))- val(v309^e))/10000,5,0)))>4 and val(&uf('+961*0.2#', f((val(&uf('3'))- val(v309^e))/10000,5,0)))<21) or
val(&uf('+961*0.1#', f((val(&uf('3'))- val(v309^e))/10000,5,0)))>4 or val(&uf('+961*0.1#', f((val(&uf('3'))- val(v309^e))/10000,5,0)))=0
then ' лет'
else if val(&uf('+961*0.1#', f((val(&uf('3'))- val(v309^e))/10000,5,0)))=1 then ' год' else ' года' fi
fi, '',
fi
fi fi
/* конец алгоритма вывода года год лет для поля 309^e (повторяющегося)
else
fi
fi /),
' -- (',
if &uf('Av200^a#1')<>'' and &uf('Av711^a#1')<>'' then &uf('Av200^a#1'),' - ', &uf('Av711^a#1'), else
&uf('Av200^a#1'), &uf('Av711^a#1') fi,
&uf('Av700^a#1'), if &uf('Av700^g#1')<>'' then ', ',&uf('Av700^g#1') else ' ', &uf('Av700^b#1') fi,
')',