注册 登录
编程论坛 PowerBuilder

pb局部函数,折旧总是提示第一个messagebox:('提示','折旧计算表中无固定资产编码【'+r_code+'】日期【'+r_rq+'】的相应数据!'),

cwyray 发布于 2013-05-21 22:32, 2450 次点击
pb局部函数,折旧总是提示第一个messagebox:('提示','折旧计算表中无固定资产编码【'+r_code+'】日期【'+r_rq+'】的相应数据!'),怎么回事呢?求助

//wf_jtzj(r_dw,r_row)        //计提折旧,0:正常计提,1:折旧计算表中无相应数据,2:采用工作量折旧方法,需要输入本月工作量

decimal r_zje,r_bygzl             //折旧额、本月工作量
string r_bz,r_shbj,r_zdr         //备注、审核标记、制单人
string r_code,r_rq,r_zjff
integer r_count

r_code=r_dw.getitemstring(r_row,'gdzc_code')
r_zjff=r_dw.getitemstring(r_row,'zjff_code')
r_rq=r_dw.getitemstring(r_row,'rq')
select zje into :r_zje from gd_zjjsb where gdzc_code=:r_code and rq=:r_rq;
if sqlca.sqlcode=100 then
    messagebox('提示','折旧计算表中无固定资产编码【'+r_code+'】日期【'+r_rq+'】的相应数据!')
    return 1
elseif sqlca.sqlcode=0 then   
    choose case r_zjff
        case '04'        //工作量折旧方法
            select count(*) into :r_count from gd_gzlb where gdzc_code=:r_code  and rq=:r_rq and shbj='Y';
            if r_count=0 then
                messagebox('提示','该固资【'+r_code+'】采用工作量折旧方法,请输入并审核本月工作量!')
                return 2
            else   
                select bygzl into :r_bygzl from gd_gzlb where gdzc_code=:r_code  and rq=:r_rq and shbj='Y';    //本月工作量
                r_zje=r_bygzl * r_zje
                r_dw.setitem(r_row,'byzje',r_zje)
           end if
        case else
            r_dw.setitem(r_row,'byzje',r_zje)
    end choose
end if
r_zdr=r_dw.getitemstring(r_row,'zdr')
r_shbj=r_dw.getitemstring(r_row,'shbj')
r_bz=r_dw.getitemstring(r_row,'bz')
//将本月折旧额插入计提折旧表
insert into gd_jtzjb ( rq,gdzc_code,byzje,zdr,shbj,bz)  
    values (:r_rq,:r_code,:r_zje,:r_zdr, :r_shbj ,:r_bz)  ;
return 0
0 回复
1