door Vladimir Novopashin 5 jaren geleden
243
Meer zoals dit
GetPrcRate
GetPrcRate - функция обращается к внутренним объектам ЦФТ - из-за этого реализуется только половина отчета (та часть, где не требуется обращение к этой функции):
function GetPrcRate( p_cred in ref [R2_LOAN]
,p_date in [DATE]
,p_vid_debt in ref [R2_VID_DEBT]
)
return number
is
v_tariff ref[R2_TARIFF_CALC];
begin
v_tariff := ::[R2_TARIFFS].[LIB_2].get_tariff ( p_cred
,p_cred.[PN]
,p_date
,p_vid_debt
,'R2_LOAN'
);
if v_tariff is not null then
if p_vid_debt.[CODE] = 'ПРОЦ_НЕУЧТ_ЛП' then
return v_tariff.[OTP_GET_PRCR#1](
P_PROD_ID == p_cred%id -- Продукт
,P_PN == p_cred.[PN] -- Partition Number
,P_VID_DEBT == p_vid_debt -- Вид задолженности
,P_ON_DATE == p_date -- На дату
);
else
return v_tariff.[GET_PRC_RATE](
P_PROD_ID == p_cred%id -- Продукт
,P_PN == p_cred.[PN] -- Partition Number
,P_VID_DEBT == p_vid_debt -- Вид задолженности
,P_ON_DATE == p_date -- На дату
);
end if;
end if;
return null;
exception
when others then
&debug('Сбой при вызове :'|| utils.error_stack(true),0)
return null;
end;
Требутся данные с R2_LOAN
calcdebt_all
Проблема "связанности" с ЦФТ - внутри кода Excel вызывается функция calcdebt:
function calcdebt( p_r2_loan ref [R2_LOAN],
p_vid_debt ref [R2_VID_DEBT],
p_date date) return summa is
retvalue summa;
begin
retvalue:=::[R2_CRED_DEBT].[LIB].GetSumDebt (
p_product == p_r2_loan,
p_prod_class == ::[R2_LOAN]%class,
p_vid_debt == p_vid_debt,
p_on_date == p_date,
p_on_prov == false);
&debug('calcdebt: '||p_vid_debt.[CODE]||', retvalue='||retvalue, 0)
return nvl(retvalue, 0);
end;