Ниже текст произвольного отчета
local _mal;
STABLE @RL
Select 1, YEAR(GetDate());
alias _dlgresource={
(0,0,320,150,0);
E,(32,35,60,20,0), 'Квартал ',(80,35,90,20,0), 1;
E,(32,55,60,20,0), 'Год ',(80,55,90,20,0), 2;
};
DIALOG @RL,0x0801, '~Укажите период';
If @RL:2 <= 1950 OR @RL:2 > 2055 then (FREE us_,*; DESTROY @RL; ERROR[\3Неправильный год];);
If @RL:1 <= 0 OR @RL:1 > 4 then (FREE us_,*; DESTROY @RL; ERROR[\3Неправильный квартал];);
If _Result <> 10 then (FREE us_,*; DESTROY @RL; ERROR;);
LET _dYY = @RL:2;
LET _dKK = @RL:1;
DESTROY @RL;
browser
{
select
zp.n_pach[]"№ пачки",
cd.full_name[]"ФИО",
cd.date_birth[dd.mm.yyyy]"Дата рождения",
isnull(cat.ABBR,'')[]"Категория",
pftb.summa_1[%15.2x]"Сумма выплат",
pftb.summa_2[%15.2x]"База (всего)",
--#
pftb.summa_3[%15.2x]"Сумма превышения",
pftb.p_month[]"Месяц",
(case
when isnull(pens.check_out,'') <> '' then char(4) + 'checkmrk'
else ''
end)[]"Уволен"
from z_pachka as zp
join z_rep_pens as pens on (pens.id_pachka = zp.id)
join card as cd on (cd.auto_card = pens.auto_card)
join pftb_payout as pftb on (pftb.id_pens = pens.id
and pftb.p_month <> 0)
left join pr_pfr_cat as cat on (cat.sort_num = pftb.pens_categ)
where zp.t_pach = 1
and zp.a_year = _dYY
AND zp.id_period = (_dKK+100)
order by pftb.p_month asc, isnull(cat.ABBR,''), cd.full_name asc;
},,'~Содержимое пачек СЗВ с группировкой по категориям за квартал года';
free _mal, *;
|