$PBExportHeader$w_rp_aging.srw forward global type w_rp_aging from w_publ_easyq end type type tv_1 from uo_tv_cusarea within w_rp_aging end type type ddlb_1 from uo_ddlb_moneyid within w_rp_aging end type type st_1 from statictext within w_rp_aging end type type cbx_ifmsttake from checkbox within w_rp_aging end type type cbx_type from checkbox within w_rp_aging end type type st_2 from statictext within w_rp_aging end type type ddlb_scid from uo_ddlb_scid within w_rp_aging end type type st_5 from statictext within w_rp_aging end type type cb_edit from uo_imflatbutton within w_rp_aging end type type cb_3 from uo_imflatbutton within w_rp_aging end type type rb_1 from radiobutton within w_rp_aging end type type rb_2 from radiobutton within w_rp_aging end type type dw_spttype from u_dw_rbtnfilter within w_rp_aging end type type cbx_1 from checkbox within w_rp_aging end type type s_bmstpay_wf from structure within w_rp_aging end type type s_bmsttake_ws from structure within w_rp_aging end type type s_bmsttake_ws_all from structure within w_rp_aging end type end forward type s_Bmstpay_wf from structure long payid decimal oriamt decimal payamt decimal wfamt end type type s_bmsttake_ws from structure long takeid decimal oriamt decimal takeamt decimal wsamt end type type s_bmsttake_ws_all from structure long cusid long scid long moneyid datetime takedate long takeid decimal oriamt decimal takeamt decimal wsamt end type global type w_rp_aging from w_publ_easyq integer x = 9 integer y = 12 string title = "账龄分析表" tv_1 tv_1 ddlb_1 ddlb_1 st_1 st_1 cbx_ifmsttake cbx_ifmsttake cbx_type cbx_type st_2 st_2 ddlb_scid ddlb_scid st_5 st_5 cb_edit cb_edit cb_3 cb_3 rb_1 rb_1 rb_2 rb_2 dw_spttype dw_spttype cbx_1 cbx_1 end type global w_rp_aging w_rp_aging type variables private: s_bmsttake_ws ss_bmsttake_ws[] s_bmsttake_ws_all ss_bmsttake_ws_all[] s_Bmstpay_wf ss_Bmstpay_wf[] public: String ls_areaname = '' Long cur_moneyid = -1 string ls_aging[] long cur_scid_arr1[],cur_scid =100 long s_days,e_days datetime dd_enddate long ins_spttypeid end variables forward prototypes public subroutine wf_read_aging () public subroutine wf_kf_days (string arg_str) public function decimal f_getys1 (long arg_custid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end) public function decimal f_getys (long arg_custid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end) public function decimal f_getys3 (long arg_sptid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end) public function decimal f_getys4 (long arg_sptid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end) public subroutine wf_init () end prototypes public subroutine wf_read_aging ();//游标读收费项目 integer i DECLARE read_aging CURSOR FOR SELECT u_money_aging.name FROM u_money_aging ; OPEN read_aging; i++ FETCH read_aging INTO :ls_aging[i]; DO WHILE sqlca.SQLCode = 0 i++ FETCH read_aging INTO :ls_aging[i]; LOOP CLOSE read_aging; end subroutine public subroutine wf_kf_days (string arg_str);arg_str = Trim(arg_str) Integer ll_s,ll_e s_days = 0 e_days = 0 ll_s = Pos(arg_str,"至") s_days = Long(Left(arg_str,ll_s - 1)) e_days = Long(Mid(arg_str,ll_s + 1,Len(arg_str) - ll_s -1)) IF s_days = 0 or e_days= 0 THEN MessageBox("错误","分拆日期出错") END IF end subroutine public function decimal f_getys1 (long arg_custid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end);Decimal amt,amt1,temamt //游标读收费项目 Long i,j,k //FOR j = 1 To UpperBound(ss_bmsttake_ws) // ss_bmsttake_ws[j].takeid = 0 // ss_bmsttake_ws[j].oriamt = 0 // ss_bmsttake_ws[j].takeamt = 0 // ss_bmsttake_ws[j].wsamt = 0 //NEXT //DECLARE read_u_Bmsttake CURSOR FOR // SELECT u_Bmsttake.takeid,u_Bmsttake.oriamt,u_Bmsttake.takeamt,(msttakeamt - takeamt) as wsamt // FROM u_Bmsttake // WHERE // ( u_Bmsttake.cusid = :arg_custid) AND // ( u_Bmsttake.scid = :arg_scid ) AND // ( u_Bmsttake.moneyid = :arg_moneyid) AND // ( u_Bmsttake.takedate >= :arg_star ) AND // ( u_Bmsttake.takedate <= :arg_end) AND // (msttakeamt - takeamt<> 0); //// ((u_Bmsttake.oriamt = u_Bmsttake.msttakeamt) Or (msttakeamt - takeamt <> 0)) ; //// ((u_Bmsttake.oriamt > 0) Or (u_Bmsttake.oriamt < 0 And accountsid = 0)); // //OPEN read_u_Bmsttake; //i++ //FETCH read_u_Bmsttake Into :ss_bmsttake_ws[i].takeid,:ss_bmsttake_ws[i].oriamt,:ss_bmsttake_ws[i].takeamt,:ss_bmsttake_ws[i].wsamt; // //DO WHILE sqlca.SQLCode = 0 // i++ // FETCH read_u_Bmsttake Into :ss_bmsttake_ws[i].takeid,:ss_bmsttake_ws[i].oriamt,:ss_bmsttake_ws[i].takeamt,:ss_bmsttake_ws[i].wsamt; //LOOP //CLOSE read_u_Bmsttake; // // //IF arg_custid = 14 THEN // Long aaa // aaa = 1 //END IF //messagebox("",string(UpperBound(ss_bmsttake_ws))) FOR j = 1 To UpperBound(ss_bmsttake_ws) ss_bmsttake_ws[j].takeid = 0 ss_bmsttake_ws[j].oriamt = 0 ss_bmsttake_ws[j].takeamt = 0 ss_bmsttake_ws[j].wsamt = 0 NEXT k = 0 FOR j = 1 To UpperBound(ss_bmsttake_ws_all) IF ss_bmsttake_ws_all[j].cusid = arg_custid And & ss_bmsttake_ws_all[j].scid = arg_scid And & ss_bmsttake_ws_all[j].takedate >= arg_star And & ss_bmsttake_ws_all[j].takedate <= arg_end THEN k++ ss_bmsttake_ws[k].takeid=ss_bmsttake_ws_all[j].takeid ss_bmsttake_ws[k].oriamt=ss_bmsttake_ws_all[j].oriamt ss_bmsttake_ws[k].takeamt=ss_bmsttake_ws_all[j].takeamt ss_bmsttake_ws[k].wsamt=ss_bmsttake_ws_all[j].wsamt END IF NEXT FOR j = 1 To UpperBound(ss_bmsttake_ws) IF ss_bmsttake_ws[j].takeid > 0 THEN // IF ss_bmsttake_ws[j].takeamt <> 0 THEN IF ss_bmsttake_ws[j].oriamt > 0 THEN SELECT sum(takeamt) Into :temamt From u_Bmsttakemx Where takeid = :ss_bmsttake_ws[j].takeid And takedate > :dd_enddate And listno > 0; ELSE SELECT sum(takeamt) Into :temamt From u_Bmsttakemx Where takeid = :ss_bmsttake_ws[j].takeid And opdate > :dd_enddate And listno > 0; END IF IF IsNull(temamt) THEN temamt = 0 ss_bmsttake_ws[j].wsamt = ss_bmsttake_ws[j].wsamt + temamt // ELSE // ss_bmsttake_ws[j].wsamt = ss_bmsttake_ws[j].oriamt // // END IF END IF NEXT FOR j = 1 To UpperBound(ss_bmsttake_ws) IF ss_bmsttake_ws[j].takeid > 0 THEN amt = amt + ss_bmsttake_ws[j].wsamt END IF NEXT RETURN amt // //SELECT // isnull(sum( U_Bmsttake.msttakeamt - U_Bmsttake.takeamt ) ,0)as '应收' //Into :amt //From u_Bmsttake Left Outer join u_accounts On //u_Bmsttake.accountsid = u_accounts.accountsid //Left Outer join u_itemdef On //u_Bmsttake.itemid = u_itemdef.itemid //Left Outer join cw_banktype On //u_Bmsttake.banktypeid = cw_banktype.banktypeid, //u_scdef //Where //( u_Bmsttake.cusid = :arg_custid) And //( u_Bmsttake.scid = :arg_scid ) And //( u_Bmsttake.moneyid = :arg_moneyid) And //( u_Bmsttake.takedate >= :arg_star ) And //( u_Bmsttake.takedate < :arg_end) ; // //////////////////////////////////// //// SELECT //// isnull(sum(abs( u_Bmsttake.oriamt)),0) //// into :amt1 //// FROM U_Bmsttake left outer join u_accounts on //// U_Bmsttake.accountsid = u_accounts.accountsid //// left outer join u_itemdef on //// U_Bmsttake.itemid = u_itemdef.itemid //// left outer join cw_banktype on //// U_Bmsttake.banktypeid = cw_banktype.banktypeid, //// u_scdef //// Where //// ( u_Bmsttake.cusid = :arg_custid) And ////( u_Bmsttake.scid = :arg_scid ) And ////( u_Bmsttake.moneyid = :arg_moneyid) And ////( u_Bmsttake.takedate > :arg_end ) And //// (u_Bmsttake.finishflag=1) and //// (u_Bmsttake.oriamt <0); //amt=amt+ amt1 end function public function decimal f_getys (long arg_custid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end);//Decimal amt,amt1 // //SELECT //IsNull(sum(u_Bmsttake.oriamt),0) //Into :amt //From u_Bmsttake Left Outer join u_accounts On //u_Bmsttake.accountsid = u_accounts.accountsid //Left Outer join u_itemdef On //u_Bmsttake.itemid = u_itemdef.itemid //Left Outer join cw_banktype On //u_Bmsttake.banktypeid = cw_banktype.banktypeid, //u_scdef //Where //( u_Bmsttake.cusid = :arg_custid) And //( u_Bmsttake.scid = :arg_scid ) And //( u_Bmsttake.moneyid = :arg_moneyid) And //( u_Bmsttake.takedate >= :arg_star ) And //( u_Bmsttake.takedate < :arg_end) ; // //RETURN amt Decimal amt,amt1,temamt //游标读收费项目 Long i,j,k //FOR j = 1 To UpperBound(ss_bmsttake_ws) // ss_bmsttake_ws[j].takeid = 0 // ss_bmsttake_ws[j].oriamt = 0 // ss_bmsttake_ws[j].takeamt = 0 // ss_bmsttake_ws[j].wsamt = 0 //NEXT //DECLARE read_u_Bmsttake CURSOR FOR // SELECT u_Bmsttake.takeid,u_Bmsttake.oriamt,u_Bmsttake.takeamt,(msttakeamt - takeamt) as wsamt // FROM u_Bmsttake // WHERE // ( u_Bmsttake.cusid = :arg_custid) AND // ( u_Bmsttake.scid = :arg_scid ) AND // ( u_Bmsttake.moneyid = :arg_moneyid) AND // ( u_Bmsttake.takedate >= :arg_star ) AND // ( u_Bmsttake.takedate <= :arg_end) AND // (msttakeamt - takeamt<> 0); //// ((u_Bmsttake.oriamt = u_Bmsttake.msttakeamt) Or (msttakeamt - takeamt <> 0)) ; //// ((u_Bmsttake.oriamt > 0) Or (u_Bmsttake.oriamt < 0 And accountsid = 0)); // //OPEN read_u_Bmsttake; //i++ //FETCH read_u_Bmsttake Into :ss_bmsttake_ws[i].takeid,:ss_bmsttake_ws[i].oriamt,:ss_bmsttake_ws[i].takeamt,:ss_bmsttake_ws[i].wsamt; // //DO WHILE sqlca.SQLCode = 0 // i++ // FETCH read_u_Bmsttake Into :ss_bmsttake_ws[i].takeid,:ss_bmsttake_ws[i].oriamt,:ss_bmsttake_ws[i].takeamt,:ss_bmsttake_ws[i].wsamt; //LOOP //CLOSE read_u_Bmsttake; // // //IF arg_custid = 14 THEN // Long aaa // aaa = 1 //END IF //messagebox("",string(UpperBound(ss_bmsttake_ws))) FOR j = 1 To UpperBound(ss_bmsttake_ws) ss_bmsttake_ws[j].takeid = 0 ss_bmsttake_ws[j].oriamt = 0 ss_bmsttake_ws[j].takeamt = 0 ss_bmsttake_ws[j].wsamt = 0 NEXT k = 0 FOR j = 1 To UpperBound(ss_bmsttake_ws_all) IF ss_bmsttake_ws_all[j].cusid = arg_custid And & ss_bmsttake_ws_all[j].scid = arg_scid And & ss_bmsttake_ws_all[j].takedate >= arg_star And & ss_bmsttake_ws_all[j].takedate <= arg_end THEN k++ ss_bmsttake_ws[k].takeid=ss_bmsttake_ws_all[j].takeid ss_bmsttake_ws[k].oriamt=ss_bmsttake_ws_all[j].oriamt ss_bmsttake_ws[k].takeamt=ss_bmsttake_ws_all[j].takeamt ss_bmsttake_ws[k].wsamt=ss_bmsttake_ws_all[j].wsamt END IF NEXT FOR j = 1 To UpperBound(ss_bmsttake_ws) IF ss_bmsttake_ws[j].takeid > 0 THEN IF ss_bmsttake_ws[j].takeamt <> 0 THEN IF ss_bmsttake_ws[j].oriamt > 0 THEN SELECT sum(takeamt) Into :temamt From u_Bmsttakemx Where takeid = :ss_bmsttake_ws[j].takeid And takedate > :dd_enddate And listno > 0; ELSE SELECT sum(takeamt) Into :temamt From u_Bmsttakemx Where takeid = :ss_bmsttake_ws[j].takeid And opdate > :dd_enddate And listno > 0; END IF IF IsNull(temamt) THEN temamt = 0 ss_bmsttake_ws[j].wsamt = ss_bmsttake_ws[j].wsamt + temamt ELSE ss_bmsttake_ws[j].wsamt = ss_bmsttake_ws[j].oriamt END IF END IF NEXT FOR j = 1 To UpperBound(ss_bmsttake_ws) IF ss_bmsttake_ws[j].takeid > 0 THEN amt = amt + ss_bmsttake_ws[j].wsamt END IF NEXT RETURN amt // //SELECT // isnull(sum( U_Bmsttake.msttakeamt - U_Bmsttake.takeamt ) ,0)as '应收' //Into :amt //From u_Bmsttake Left Outer join u_accounts On //u_Bmsttake.accountsid = u_accounts.accountsid //Left Outer join u_itemdef On //u_Bmsttake.itemid = u_itemdef.itemid //Left Outer join cw_banktype On //u_Bmsttake.banktypeid = cw_banktype.banktypeid, //u_scdef //Where //( u_Bmsttake.cusid = :arg_custid) And //( u_Bmsttake.scid = :arg_scid ) And //( u_Bmsttake.moneyid = :arg_moneyid) And //( u_Bmsttake.takedate >= :arg_star ) And //( u_Bmsttake.takedate < :arg_end) ; // //////////////////////////////////// //// SELECT //// isnull(sum(abs( u_Bmsttake.oriamt)),0) //// into :amt1 //// FROM U_Bmsttake left outer join u_accounts on //// U_Bmsttake.accountsid = u_accounts.accountsid //// left outer join u_itemdef on //// U_Bmsttake.itemid = u_itemdef.itemid //// left outer join cw_banktype on //// U_Bmsttake.banktypeid = cw_banktype.banktypeid, //// u_scdef //// Where //// ( u_Bmsttake.cusid = :arg_custid) And ////( u_Bmsttake.scid = :arg_scid ) And ////( u_Bmsttake.moneyid = :arg_moneyid) And ////( u_Bmsttake.takedate > :arg_end ) And //// (u_Bmsttake.finishflag=1) and //// (u_Bmsttake.oriamt <0); //amt=amt+ amt1 end function public function decimal f_getys3 (long arg_sptid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end);Decimal amt,amt1 SELECT IsNull(sum(u_Bmstpay.oriamt),0) Into :amt From u_Bmstpay Left Outer join u_accounts On u_Bmstpay.accountsid = u_accounts.accountsid Left Outer join u_itemdef On u_Bmstpay.itemid = u_itemdef.itemid Left Outer join cw_banktype On u_Bmstpay.banktypeid = cw_banktype.banktypeid, u_scdef Where ( u_Bmstpay.sptid = :arg_sptid) And ( u_Bmstpay.scid = :arg_scid ) And ( u_Bmstpay.moneyid = :arg_moneyid) And ( u_Bmstpay.paydate >= :arg_star ) And ( u_Bmstpay.paydate < :arg_end) ; RETURN amt end function public function decimal f_getys4 (long arg_sptid, integer arg_scid, integer arg_moneyid, datetime arg_star, datetime arg_end);Decimal amt,amt1,temamt //游标读收费项目 Integer i,j FOR j = 1 To UpperBound(ss_Bmstpay_wf) ss_Bmstpay_wf[j].payid = 0 ss_Bmstpay_wf[j].oriamt = 0 ss_Bmstpay_wf[j].payamt = 0 ss_Bmstpay_wf[j].wfamt = 0 NEXT DECLARE read_u_Bmstpay CURSOR FOR SELECT payid,oriamt,payamt FROM u_Bmstpay WHERE ( u_Bmstpay.sptid = :arg_sptid) AND ( u_Bmstpay.scid = :arg_scid ) AND ( u_Bmstpay.moneyid = :arg_moneyid) AND ( u_Bmstpay.paydate >= :arg_star ) AND ( u_Bmstpay.paydate <= :arg_end) AND ( Mstpayamt - payamt<> 0); //(u_Bmstpay.oriamt = u_Bmstpay.Mstpayamt); OPEN read_u_Bmstpay; i++ FETCH read_u_Bmstpay Into :ss_Bmstpay_wf[i].payid,:ss_Bmstpay_wf[i].oriamt,:ss_Bmstpay_wf[i].payamt; DO WHILE sqlca.SQLCode = 0 i++ FETCH read_u_Bmstpay Into :ss_Bmstpay_wf[i].payid,:ss_Bmstpay_wf[i].oriamt,:ss_Bmstpay_wf[i].payamt; LOOP CLOSE read_u_Bmstpay; FOR j = 1 To UpperBound(ss_Bmstpay_wf) IF ss_Bmstpay_wf[j].payid > 0 THEN // IF ss_Bmstpay_wf[j].payamt <> 0 THEN IF ss_Bmstpay_wf[j].oriamt > 0 THEN SELECT sum(payamt) Into :temamt From u_Bmstpaymx Where payid = :ss_Bmstpay_wf[j].payid And paydate > :dd_enddate And listno > 0; ELSE SELECT sum(payamt) Into :temamt From u_Bmstpaymx Where payid = :ss_Bmstpay_wf[j].payid And opdate > :dd_enddate And listno > 0; END IF IF IsNull(temamt) THEN temamt = 0 ss_Bmstpay_wf[j].wfamt = ss_Bmstpay_wf[j].oriamt - ss_Bmstpay_wf[j].payamt + temamt // ELSE // ss_Bmstpay_wf[j].wfamt = ss_Bmstpay_wf[j].oriamt // // END IF END IF NEXT FOR j = 1 To UpperBound(ss_Bmstpay_wf) IF ss_Bmstpay_wf[j].payid > 0 THEN amt = amt + ss_Bmstpay_wf[j].wfamt END IF NEXT RETURN amt end function public subroutine wf_init ();open(w_sys_wait) Decimal amt,amt1,temamt //游标读收费项目 long i,j FOR j = 1 To UpperBound(ss_bmsttake_ws_all) ss_bmsttake_ws_all[j].cusid = 0 ss_bmsttake_ws_all[j].scid = 0 ss_bmsttake_ws_all[j].moneyid = 0 ss_bmsttake_ws_all[j].takeid = 0 ss_bmsttake_ws_all[j].oriamt = 0 ss_bmsttake_ws_all[j].takeamt = 0 ss_bmsttake_ws_all[j].wsamt = 0 NEXT DECLARE read_u_Bmsttake_all CURSOR FOR SELECT u_Bmsttake.cusid, u_Bmsttake.scid,u_Bmsttake.moneyid,u_Bmsttake.takedate,u_Bmsttake.takeid,u_Bmsttake.oriamt,u_Bmsttake.takeamt,(msttakeamt - takeamt) as wsamt FROM u_Bmsttake where (msttakeamt - takeamt<> 0); OPEN read_u_Bmsttake_all; i++ FETCH read_u_Bmsttake_all Into :ss_bmsttake_ws_all[i].cusid,:ss_bmsttake_ws_all[i].scid,:ss_bmsttake_ws_all[i].moneyid,:ss_bmsttake_ws_all[i].takedate,:ss_bmsttake_ws_all[i].takeid,:ss_bmsttake_ws_all[i].oriamt,:ss_bmsttake_ws_all[i].takeamt,:ss_bmsttake_ws_all[i].wsamt; DO WHILE sqlca.SQLCode = 0 i++ FETCH read_u_Bmsttake_all Into :ss_bmsttake_ws_all[i].cusid,:ss_bmsttake_ws_all[i].scid,:ss_bmsttake_ws_all[i].moneyid,:ss_bmsttake_ws_all[i].takedate,:ss_bmsttake_ws_all[i].takeid,:ss_bmsttake_ws_all[i].oriamt,:ss_bmsttake_ws_all[i].takeamt,:ss_bmsttake_ws_all[i].wsamt; LOOP CLOSE read_u_Bmsttake_all; close(w_sys_wait) end subroutine on w_rp_aging.create int iCurrent call super::create this.tv_1=create tv_1 this.ddlb_1=create ddlb_1 this.st_1=create st_1 this.cbx_ifmsttake=create cbx_ifmsttake this.cbx_type=create cbx_type this.st_2=create st_2 this.ddlb_scid=create ddlb_scid this.st_5=create st_5 this.cb_edit=create cb_edit this.cb_3=create cb_3 this.rb_1=create rb_1 this.rb_2=create rb_2 this.dw_spttype=create dw_spttype this.cbx_1=create cbx_1 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.tv_1 this.Control[iCurrent+2]=this.ddlb_1 this.Control[iCurrent+3]=this.st_1 this.Control[iCurrent+4]=this.cbx_ifmsttake this.Control[iCurrent+5]=this.cbx_type this.Control[iCurrent+6]=this.st_2 this.Control[iCurrent+7]=this.ddlb_scid this.Control[iCurrent+8]=this.st_5 this.Control[iCurrent+9]=this.cb_edit this.Control[iCurrent+10]=this.cb_3 this.Control[iCurrent+11]=this.rb_1 this.Control[iCurrent+12]=this.rb_2 this.Control[iCurrent+13]=this.dw_spttype this.Control[iCurrent+14]=this.cbx_1 end on on w_rp_aging.destroy call super::destroy destroy(this.tv_1) destroy(this.ddlb_1) destroy(this.st_1) destroy(this.cbx_ifmsttake) destroy(this.cbx_type) destroy(this.st_2) destroy(this.ddlb_scid) destroy(this.st_5) destroy(this.cb_edit) destroy(this.cb_3) destroy(this.rb_1) destroy(this.rb_2) destroy(this.dw_spttype) destroy(this.cbx_1) end on event open;call super::open;em_1.Text = String(Today(),'yyyy-mm')+'-01' wf_init() //Int ifcusgroup //ifcusgroup = Integer(f_ProfileString (sys_empid,'dw_rp_musttake_balc_scid_fenyue', "ifcusgroup", '0')) IF rb_1.Checked = True THEN dw_1.DataObject = 'dw_rp_musttake_balc_scid_fenyue' tv_1.Visible = True dw_spttype.Visible = False dw_1.SetTransObject(sqlca) ELSE dw_1.DataObject = 'dw_rp_u_bmstpay_balc_scid_fenyue' dw_spttype.Visible = True tv_1.Visible = False dw_1.SetTransObject(sqlca) END IF dw_spttype.SetTransObject(sqlca) dw_1.ins_INIfile_name = sys_inifilename dw_1.ins_opemp = publ_operator dw_1.cardw_empid = sys_empid dw_1.cur_DataObject = dw_1.DataObject dw_1.uf_read_profile_layout() f_title_change(dw_1) IF cbx_loginretr.Checked THEN cb_1.TriggerEvent(Clicked!) END IF end event event ue_before_open;call super::ue_before_open;if_ue_retr=true if_ue_filter=true if_ue_sort=true if_ue_sentdataout=true end event event resize;call super::resize;tv_1.Height = dw_1.Height dw_spttype.x=tv_1.x dw_spttype.y=tv_1.y dw_spttype.width=tv_1.width dw_spttype.height=tv_1.height end event type cb_func from w_publ_easyq`cb_func within w_rp_aging end type type cb_exit from w_publ_easyq`cb_exit within w_rp_aging integer x = 919 end type type cb_2 from w_publ_easyq`cb_2 within w_rp_aging boolean visible = false boolean bringtotop = true end type type cb_psetup from w_publ_easyq`cb_psetup within w_rp_aging boolean visible = false boolean bringtotop = true end type type cb_1 from w_publ_easyq`cb_1 within w_rp_aging boolean bringtotop = true end type event cb_1::clicked;Long i,j String ls_s DateTime firstdate,enddate firstdate = DateTime(Date("2000-01-01"),Time(0)) enddate = DateTime(Date(em_2.Text),Time('23:59:59')) dd_enddate = DateTime(Date(em_2.Text),Time('23:59:59')) IF rb_1.Checked = True THEN dw_1.DataObject = 'dw_rp_musttake_balc_scid_fenyue' tv_1.Visible = True dw_spttype.Visible = False dw_1.SetTransObject(sqlca) dw_1.Retrieve(ls_areaname) ELSE dw_1.DataObject = 'dw_rp_u_bmstpay_balc_scid_fenyue' dw_spttype.Visible = True tv_1.Visible = False dw_1.SetTransObject(sqlca) dw_1.Retrieve(ins_spttypeid) END IF wf_read_aging() IF rb_1.Checked = True THEN //应收表 FOR i = 1 To dw_1.RowCount() //期初 dw_1.Object.jine[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) NEXT FOR j = 1 To 24 ls_s = "y" + String(j) dw_1.Modify(ls_s + '.Visible = 1') NEXT FOR j = UpperBound(ls_aging) * 2 - 1 To 24 ls_s = "y" + String(j) dw_1.Modify(ls_s + '.Visible = 0') NEXT FOR j = 1 To UpperBound(ls_aging) - 1 IF j = 1 THEN dw_1.Modify('y1.width = 500') dw_1.Modify("y1_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y1[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y2[i] = dw_1.Object.y1[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y2.width = 500') dw_1.Modify("y2_t.text = '" + "所占比例%"+ "'") END IF IF j = 2 THEN dw_1.Modify('y3.width = 500') dw_1.Modify("y3_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y3[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y4[i] = dw_1.Object.y3[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y4.width = 500') dw_1.Modify("y4_t.text = '" + "所占比例%"+ "'") END IF IF j = 3 THEN dw_1.Modify('y5.width = 500') dw_1.Modify("y5_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y5[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y6[i] = dw_1.Object.y5[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y6.width = 500') dw_1.Modify("y6_t.text = '" + "所占比例%"+ "'") END IF IF j = 4 THEN dw_1.Modify('y7.width = 500') dw_1.Modify("y7_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y7[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y8[i] = dw_1.Object.y7[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y8.width = 500') dw_1.Modify("y8_t.text = '" + "所占比例%"+ "'") END IF IF j = 5 THEN dw_1.Modify('y9.width = 500') dw_1.Modify("y9_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y9[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y10[i] = dw_1.Object.y9[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y10.width = 500') dw_1.Modify("y10_t.text = '" + "所占比例%"+ "'") END IF IF j = 6 THEN dw_1.Modify('y11.width = 500') dw_1.Modify("y11_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y11[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y12[i] = dw_1.Object.y11[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y12.width = 500') dw_1.Modify("y12_t.text = '" + "所占比例%"+ "'") END IF IF j = 7 THEN dw_1.Modify('y13.width = 500') dw_1.Modify("y13_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y13[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y14[i] = dw_1.Object.y13[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y14.width = 500') dw_1.Modify("y14_t.text = '" + "所占比例%"+ "'") END IF IF j = 8 THEN dw_1.Modify('y15.width = 500') dw_1.Modify("y15_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y15[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y16[i] = dw_1.Object.y15[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y16.width = 500') dw_1.Modify("y16_t.text = '" + "所占比例%"+ "'") END IF IF j = 9 THEN dw_1.Modify('y17.width = 500') dw_1.Modify("y17_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y17[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y18[i] = dw_1.Object.y17[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y18.width = 500') dw_1.Modify("y18_t.text = '" + "所占比例%"+ "'") END IF IF j = 10 THEN dw_1.Modify('y19.width = 500') dw_1.Modify("y19_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y19[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y20[i] = dw_1.Object.y19[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y20.width = 500') dw_1.Modify("y20_t.text = '" + "所占比例%"+ "'") END IF IF j = 11 THEN dw_1.Modify('y21.width = 500') dw_1.Modify("y21_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y21[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y22[i] = dw_1.Object.y21[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y22.width = 500') dw_1.Modify("y22_t.text = '" + "所占比例%"+ "'") END IF IF j = 12 THEN dw_1.Modify('y23.width = 500') dw_1.Modify("y23_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y23[i] = f_getys1(dw_1.Object.cusid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y24[i] = dw_1.Object.y23[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y24.width = 500') dw_1.Modify("y24_t.text = '" + "所占比例%"+ "'") END IF NEXT END IF IF rb_2.Checked = True THEN //应付表 FOR i = 1 To dw_1.RowCount() //期初 dw_1.Object.jine[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,dd_enddate) NEXT FOR j = 1 To 24 ls_s = "y" + String(j) dw_1.Modify(ls_s + '.Visible = 1') NEXT FOR j = UpperBound(ls_aging) * 2 - 1 To 24 ls_s = "y" + String(j) dw_1.Modify(ls_s + '.Visible = 0') NEXT FOR j = 1 To UpperBound(ls_aging) - 1 IF j = 1 THEN dw_1.Modify('y1.width = 500') dw_1.Modify("y1_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y1[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y2[i] = dw_1.Object.y1[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y2.width = 500') dw_1.Modify("y2_t.text = '" + "所占比例%"+ "'") END IF IF j = 2 THEN dw_1.Modify('y3.width = 500') dw_1.Modify("y3_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y3[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y4[i] = dw_1.Object.y3[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y4.width = 500') dw_1.Modify("y4_t.text = '" + "所占比例%"+ "'") END IF IF j = 3 THEN dw_1.Modify('y5.width = 500') dw_1.Modify("y5_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y5[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y6[i] = dw_1.Object.y5[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y6.width = 500') dw_1.Modify("y6_t.text = '" + "所占比例%"+ "'") END IF IF j = 4 THEN dw_1.Modify('y7.width = 500') dw_1.Modify("y7_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y7[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y8[i] = dw_1.Object.y7[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y8.width = 500') dw_1.Modify("y8_t.text = '" + "所占比例%"+ "'") END IF IF j = 5 THEN dw_1.Modify('y9.width = 500') dw_1.Modify("y9_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y9[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y10[i] = dw_1.Object.y9[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y10.width = 500') dw_1.Modify("y10_t.text = '" + "所占比例%"+ "'") END IF IF j = 6 THEN dw_1.Modify('y11.width = 500') dw_1.Modify("y11_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y11[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y12[i] = dw_1.Object.y11[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y12.width = 500') dw_1.Modify("y12_t.text = '" + "所占比例%"+ "'") END IF IF j = 7 THEN dw_1.Modify('y13.width = 500') dw_1.Modify("y13_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y13[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y14[i] = dw_1.Object.y13[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y14.width = 500') dw_1.Modify("y14_t.text = '" + "所占比例%"+ "'") END IF IF j = 8 THEN dw_1.Modify('y15.width = 500') dw_1.Modify("y15_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y15[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y16[i] = dw_1.Object.y15[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y16.width = 500') dw_1.Modify("y16_t.text = '" + "所占比例%"+ "'") END IF IF j = 9 THEN dw_1.Modify('y17.width = 500') dw_1.Modify("y17_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y17[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y18[i] = dw_1.Object.y17[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y18.width = 500') dw_1.Modify("y18_t.text = '" + "所占比例%"+ "'") END IF IF j = 10 THEN dw_1.Modify('y19.width = 500') dw_1.Modify("y19_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y19[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y20[i] = dw_1.Object.y19[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y20.width = 500') dw_1.Modify("y20_t.text = '" + "所占比例%"+ "'") END IF IF j = 11 THEN dw_1.Modify('y21.width = 500') dw_1.Modify("y21_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y21[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y22[i] = dw_1.Object.y21[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y22.width = 500') dw_1.Modify("y22_t.text = '" + "所占比例%"+ "'") END IF IF j = 12 THEN dw_1.Modify('y23.width = 500') dw_1.Modify("y23_t.text = '" + ls_aging[j] + "'") wf_kf_days( ls_aging[j]) firstdate = DateTime(RelativeDate(Date(dd_enddate),(e_days * (-1)) + 1),Time(0)) enddate = DateTime(RelativeDate(Date(dd_enddate),(s_days * (-1)) + 1),Time('23:59:59')) FOR i = 1 To dw_1.RowCount() dw_1.Object.y23[i] = f_getys4(dw_1.Object.sptid[i],cur_scid,cur_moneyid,firstdate,enddate) dw_1.AcceptText() IF dw_1.Object.jine[i] <> 0 And Not IsNull(dw_1.Object.jine[i]) THEN dw_1.Object.y24[i] = dw_1.Object.y23[i] / dw_1.Object.jine[i] * 100 END IF NEXT dw_1.Modify('y24.width = 500') dw_1.Modify("y24_t.text = '" + "所占比例%"+ "'") END IF NEXT END IF next1: IF cbx_1.Checked = False THEN //显示0金额 FOR i = 1 To dw_1.RowCount() IF dw_1.Object.jine[i] = 0 THEN dw_1.DeleteRow(i) GOTO next1 END IF NEXT END IF end event type st_3 from w_publ_easyq`st_3 within w_rp_aging boolean visible = false integer x = 2162 integer y = 292 boolean enabled = true end type type st_4 from w_publ_easyq`st_4 within w_rp_aging boolean visible = false integer x = 2889 integer y = 292 boolean enabled = true end type type em_1 from w_publ_easyq`em_1 within w_rp_aging boolean visible = false integer x = 2363 integer y = 276 end type type em_2 from w_publ_easyq`em_2 within w_rp_aging integer x = 338 integer y = 308 integer width = 462 end type event em_2::losefocus;call super::losefocus;cb_1.TriggerEvent(Clicked!) end event type ddlb_yl from w_publ_easyq`ddlb_yl within w_rp_aging integer x = 1541 end type type cbx_yl from w_publ_easyq`cbx_yl within w_rp_aging end type type dw_1 from w_publ_easyq`dw_1 within w_rp_aging integer x = 850 integer width = 2706 integer height = 1680 string dataobject = "dw_rp_musttake_balc_scid_fenyue" end type type sle_mtrl from w_publ_easyq`sle_mtrl within w_rp_aging integer y = 464 end type type sle_cust from w_publ_easyq`sle_cust within w_rp_aging integer y = 464 end type type st_mtrl from w_publ_easyq`st_mtrl within w_rp_aging integer y = 480 end type type st_cust from w_publ_easyq`st_cust within w_rp_aging integer y = 480 end type type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_rp_aging boolean visible = true end type type pb_em1 from w_publ_easyq`pb_em1 within w_rp_aging boolean visible = false integer x = 3040 integer y = 256 end type type pb_em2 from w_publ_easyq`pb_em2 within w_rp_aging integer x = 814 integer y = 304 end type type pb_2 from w_publ_easyq`pb_2 within w_rp_aging boolean visible = false integer x = 3154 integer y = 268 end type type cb_help from w_publ_easyq`cb_help within w_rp_aging integer x = 768 end type type cb_copyself from w_publ_easyq`cb_copyself within w_rp_aging boolean visible = false end type type gb_1 from w_publ_easyq`gb_1 within w_rp_aging integer x = 1019 integer y = 416 integer width = 1659 end type type ln_bar from w_publ_easyq`ln_bar within w_rp_aging end type type ln_bar2 from w_publ_easyq`ln_bar2 within w_rp_aging end type type r_bar from w_publ_easyq`r_bar within w_rp_aging end type type ln_1 from w_publ_easyq`ln_1 within w_rp_aging end type type ln_2 from w_publ_easyq`ln_2 within w_rp_aging end type type ln_3 from w_publ_easyq`ln_3 within w_rp_aging end type type ln_4 from w_publ_easyq`ln_4 within w_rp_aging end type type tv_1 from uo_tv_cusarea within w_rp_aging integer y = 416 integer width = 850 integer height = 1680 integer taborder = 70 boolean bringtotop = true integer textsize = -9 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" end type event selectionchanged;call super::selectionchanged;ls_areaname = THIS.uo_cur_info.areaname ls_areaname = ls_areaname + '%' cb_1.TriggerEvent(Clicked!) end event type ddlb_1 from uo_ddlb_moneyid within w_rp_aging integer x = 343 integer y = 192 integer width = 466 integer height = 772 integer taborder = 30 boolean bringtotop = true end type event constructor;call super::constructor;cur_moneyid = THIS.uo_moneyid end event event selectionchanged;call super::selectionchanged;cur_moneyid = THIS.uo_moneyid cb_1.TriggerEvent(Clicked!) end event type st_1 from statictext within w_rp_aging integer x = 9 integer y = 208 integer width = 302 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "币种:" boolean focusrectangle = false end type type cbx_ifmsttake from checkbox within w_rp_aging boolean visible = false integer x = 777 integer y = 200 integer width = 521 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "只显示应收未对单" boolean checked = true end type event clicked;Int ifmsttake IF THIS.Checked THEN ifmsttake = 1 ELSE ifmsttake = 0 END IF f_SetProfileString (sys_empid,dw_1.DataObject, "ifmsttake", String(ifmsttake)) cb_1.triggerevent(clicked!) end event event constructor;Int ifmsttake ifmsttake = Integer(f_ProfileString (sys_empid,dw_1.DataObject, "ifmsttake", '0')) IF ifmsttake = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event type cbx_type from checkbox within w_rp_aging boolean visible = false integer x = 1440 integer y = 200 integer width = 466 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "按客户分组小计" end type event clicked;int ifcusgroup dw_1.uf_save_profile_layout() IF THIS.Checked THEN dw_1.DataObject = 'dw_rp_cusbalc_bill_cus' ifcusgroup = 1 ELSE dw_1.DataObject = 'dw_rp_cusbalc_bill' ifcusgroup = 0 END IF dw_1.SetTransObject(sqlca) dw_1.ins_INIfile_name = sys_inifilename dw_1.ins_opemp = publ_operator dw_1.cardw_empid = sys_empid dw_1.cur_DataObject = dw_1.DataObject dw_1.uf_read_profile_layout() f_title_change(dw_1) f_SetProfileString (sys_empid,'w_rp_cusbalc_bill', "ifcusgroup", String(ifcusgroup)) cb_1.TriggerEvent(Clicked!) end event event constructor;Int ifcusgroup ifcusgroup = Integer(f_ProfileString (sys_empid,'w_rp_cusbalc_bill', "ifcusgroup", '0')) IF ifcusgroup = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event type st_2 from statictext within w_rp_aging integer x = 9 integer y = 328 integer width = 302 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "截止日期:" boolean focusrectangle = false end type type ddlb_scid from uo_ddlb_scid within w_rp_aging integer x = 1120 integer y = 192 integer width = 562 integer height = 424 integer taborder = 30 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid_arr1 = THIS.uo_scid_arr cur_scid=this.uo_scid end event event selectionchanged;call super::selectionchanged;cur_scid_arr1[] = THIS.uo_scid_arr cur_scid=this.uo_scid //cb_1.triggerevent(clicked!) end event type st_5 from statictext within w_rp_aging integer x = 887 integer y = 204 integer width = 224 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "分部:" boolean focusrectangle = false end type type cb_edit from uo_imflatbutton within w_rp_aging integer x = 306 integer width = 274 integer height = 164 integer taborder = 20 boolean bringtotop = true string text = "设置分组" string normalpicname = "PRINTFLD.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;open(w_money_aging) end event type cb_3 from uo_imflatbutton within w_rp_aging integer x = 585 integer width = 183 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "导出" string normalpicname = "excel.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;OPENWITHPARM(w_sentdataout,dw_1) end event type rb_1 from radiobutton within w_rp_aging integer x = 1102 integer y = 320 integer width = 425 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "应收" boolean checked = true end type event clicked;cb_1.TriggerEvent(Clicked!) end event type rb_2 from radiobutton within w_rp_aging integer x = 1582 integer y = 320 integer width = 425 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "应付" end type event clicked;dw_spttype.retrieve() cb_1.TriggerEvent(Clicked!) end event type dw_spttype from u_dw_rbtnfilter within w_rp_aging integer y = 1212 integer width = 841 integer height = 1656 integer taborder = 100 boolean bringtotop = true string dataobject = "dw_spttype_index" end type event rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN this.selectrow(0,false) this.selectrow(currentrow,true) IF dw_spttype.GetRow() <= 0 THEN ins_spttypeid = 0 ELSE ins_spttypeid = dw_spttype.Object.spttypeid[dw_spttype.GetRow()] END IF cb_1.triggerevent(clicked!) end event type cbx_1 from checkbox within w_rp_aging integer x = 2139 integer y = 324 integer width = 402 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "显示0金额" end type event clicked;cb_1.TriggerEvent(Clicked!) end event