$PBExportHeader$uo_bill_cwaudit.sru forward global type uo_bill_cwaudit from nonvisualobject end type end forward global type uo_bill_cwaudit from nonvisualobject end type global uo_bill_cwaudit uo_bill_cwaudit type variables s_dwsql is_dwsql[] end variables forward prototypes public function integer uof_cwaudit_bill1 (long arg_credid, long arg_scid, long arg_billid, string arg_opemp, string arg_ref_credtype, long arg_ref_credno, long arg_ref_credid, ref string arg_msg, boolean arg_ifcommit) public function integer uof_cwaudit_bill0 (long arg_credid, long arg_scid, long arg_billid, ref string arg_msg, boolean arg_ifcommit) public function integer uof_cwaudit_bill_getinfo (long arg_credid, long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_get_subject (string arg_subid, ref integer arg_hscust, ref integer arg_hsspt, string arg_msg) public function integer uof_cwaudit_bill_getcredid (long arg_credid, long arg_scid, long arg_billid, ref long arg_ref_credid, ref string arg_msg) public function integer uof_cwaudit_cred0 (long arg_credid, long arg_scid, long arg_billid[], string arg_billcode[], ref string arg_msg, boolean arg_ifcommit) public function integer uof_cwaudit_cred1 (long arg_credid, long arg_scid, long arg_billid[], string arg_billcode[], string arg_opemp, ref string arg_msg, boolean arg_ifcommit) public function integer uof_cwaudit_bill_getinfo_hz (long arg_credid, long arg_scid, long arg_billid[], s_cred_port arg_s_credport, readonly s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo01_and_02 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo04 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo05 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo06_and_07 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo08 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo09 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo14 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo15 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo16 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo17 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo18 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo19 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo20 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo25 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo28 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo33 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo26 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo31 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo29 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public function integer uof_cwaudit_bill_getinfo32 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) public subroutine uof_init_s_dwsql02 () public subroutine uof_init_s_dwsql04 () public subroutine uof_init_s_dwsql05 () public subroutine uof_init_s_dwsql01 () public subroutine uof_init_s_dwsql06 () public subroutine uof_init_s_dwsql07 () public subroutine uof_init_s_dwsql08 () public subroutine uof_init_s_dwsql09 () public subroutine uof_init_s_dwsql14 () public subroutine uof_init_s_dwsql15 () public subroutine uof_init_s_dwsql16 () public subroutine uof_init_s_dwsql17 () public subroutine uof_init_s_dwsql18 () public subroutine uof_init_s_dwsql19 () public subroutine uof_init_s_dwsql20 () public subroutine uof_init_s_dwsql25 () public subroutine uof_init_s_dwsql26 () public subroutine uof_init_s_dwsql28 () public subroutine uof_init_s_dwsql29 () public subroutine uof_init_s_dwsql31 () public subroutine uof_init_s_dwsql32 () public subroutine uof_init_s_dwsql33 () public function integer uof_cwaudit_bill_getinfo10_and_11 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg) end prototypes public function integer uof_cwaudit_bill1 (long arg_credid, long arg_scid, long arg_billid, string arg_opemp, string arg_ref_credtype, long arg_ref_credno, long arg_ref_credid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 CHOOSE CASE arg_credid CASE 1,2,14,15,16,20 //销售发货,退货,生产领料,其它出,盘亏,扣费出 UPDATE u_outware SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where outwareid = :arg_billid and scid = :arg_scid; CASE 3,4,9 //客户补件单,客户费用单,供应商费用单 UPDATE u_reissue SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where reissueid = :arg_billid and scid = :arg_scid; CASE 5 //客户返利单 UPDATE u_giveback SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where givebackid = :arg_billid and scid = :arg_scid; CASE 6,7,17,18,19 //采购收货,退化,生产进,其它进,盘盈 UPDATE u_inware SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where inwareid = :arg_billid and scid = :arg_scid; CASE 8 //供应商赔偿单 UPDATE u_spt_amerce SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where billid = :arg_billid and scid = :arg_scid; CASE 10,11 //外协发出,退回 UPDATE ow_wfjg_out SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where outwareid = :arg_billid and scid = :arg_scid; CASE 12,13 //外协收货,外协返工 UPDATE ow_wfjg_in SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where inwareid = :arg_billid and scid = :arg_scid; CASE 21 //仓库调拨单 CASE 22 //成本价调整单 CASE 23 //拆装单 CASE 24 //库存配置调整单 CASE 25,28 //客户收款,供应商付款 UPDATE u_cusamt SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where cusmonid = :arg_billid; CASE 27,30 //客户其它收款,供应商其它付款 UPDATE u_Bmstamt SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where Baid = :arg_billid; CASE 26,29,31,32 //其它收入,支出单 //其它应收,其它应付 UPDATE U_income_expenses SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where billid = :arg_billid; CASE 33 //转帐单 UPDATE u_rap_money_transfer SET cwauditingdate = getdate(), cwauditingrep = :arg_opemp, cwauditingflag = 1, credtype = :arg_ref_credtype, credno = :arg_ref_credno, credid = :arg_ref_credid Where billid = :arg_billid; END CHOOSE IF sqlca.SQLCode <> 0 THEN arg_msg = '更新单据凭证信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF rslt = 1 And arg_ifcommit THEN COMMIT; END IF RETURN rslt end function public function integer uof_cwaudit_bill0 (long arg_credid, long arg_scid, long arg_billid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 datetime null_dt setnull(null_dt) CHOOSE CASE arg_credid CASE 1,2,14,15,16,20 //销售发货,退货,生产领料,其它出,盘亏,扣费出 UPDATE u_outware SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where outwareid = :arg_billid and scid = :arg_scid; CASE 3,4,9 //客户补件单,客户费用单,供应商费用单 UPDATE u_reissue SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where reissueid = :arg_billid and scid = :arg_scid; CASE 5 //客户返利单 UPDATE u_giveback SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where givebackid = :arg_billid and scid = :arg_scid; CASE 6,7,17,18,19 //采购收货,退化,生产进,其它进,盘盈 UPDATE u_inware SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where inwareid = :arg_billid and scid = :arg_scid; CASE 8 //供应商赔偿单 UPDATE u_spt_amerce SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where billid = :arg_billid and scid = :arg_scid; CASE 10,11 //外协发出,退回 UPDATE ow_wfjg_out SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where outwareid = :arg_billid and scid = :arg_scid; CASE 12,13 //外协收货,外协返工 UPDATE ow_wfjg_in SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where inwareid = :arg_billid and scid = :arg_scid; CASE 21 //仓库调拨单 CASE 22 //成本价调整单 CASE 23 //拆装单 CASE 24 //库存配置调整单 CASE 25,28 //客户收款,供应商付款 UPDATE u_cusamt SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where cusmonid = :arg_billid; CASE 27,30 //客户其它收款,供应商其它付款 UPDATE u_Bmstamt SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where Baid = :arg_billid; CASE 26,29,31,32 //其它收入,支出单 //其它应收,其它应付 UPDATE U_income_expenses SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where billid = :arg_billid; CASE 33 //转帐单 UPDATE u_rap_money_transfer SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 Where billid = :arg_billid; END CHOOSE IF sqlca.SQLCode <> 0 THEN arg_msg = '更新单据凭证信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF rslt = 1 And arg_ifcommit THEN COMMIT; END IF RETURN rslt end function public function integer uof_cwaudit_bill_getinfo (long arg_credid, long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i s_bill_to_cred s_billinfo DateTime null_dt SetNull(null_dt) CHOOSE CASE arg_credid CASE 1,2,14,15,16,20 //销售发货,退货,生产领料,其它出,盘亏,扣费出 CHOOSE CASE arg_credid CASE 1 IF uof_cwaudit_bill_getinfo01_and_02(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 2 IF uof_cwaudit_bill_getinfo01_and_02(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 14 IF uof_cwaudit_bill_getinfo14(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 15 IF uof_cwaudit_bill_getinfo15(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 16 IF uof_cwaudit_bill_getinfo16(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 20 IF uof_cwaudit_bill_getinfo20(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END CHOOSE CASE 3,4,9 //客户补件单,客户费用单,供应商费用单 IF arg_credid = 3 THEN //客户补件单 ELSEIF arg_credid = 4 THEN //客户费用单 IF uof_cwaudit_bill_getinfo04(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ELSEIF arg_credid = 9 THEN //供应商费用单 IF uof_cwaudit_bill_getinfo09(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END IF CASE 5 //客户返利单 IF uof_cwaudit_bill_getinfo05(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 6,7,17,18,19 //采购收货,退货,生产进,其它进,盘盈 CHOOSE CASE arg_credid CASE 6 //采购收货单 IF uof_cwaudit_bill_getinfo06_and_07(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 7 //采购退货单 IF uof_cwaudit_bill_getinfo06_and_07(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 17 //生产进仓单 IF uof_cwaudit_bill_getinfo17(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 18 //其它进仓单 IF uof_cwaudit_bill_getinfo18(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 19 //盘盈单 IF uof_cwaudit_bill_getinfo19(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END CHOOSE CASE 8 //供应商赔偿单 IF uof_cwaudit_bill_getinfo08(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 10,11 //外协发出,退回 UPDATE ow_wfjg_out SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 WHERE outwareid = :arg_billid And scid = :arg_scid; CASE 12,13 //外协收货,外协返工 UPDATE ow_wfjg_in SET cwauditingdate = :null_dt, cwauditingrep = '', cwauditingflag = 0, credtype = '', credno = 0, credid = 0 WHERE inwareid = :arg_billid And scid = :arg_scid; CASE 21 //仓库调拨单 CASE 22 //成本价调整单 CASE 23 //拆装单 CASE 24 //库存配置调整单 CASE 25,28 //客户收款,供应商付款 IF arg_credid = 25 THEN //客户收款单 IF uof_cwaudit_bill_getinfo25(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ELSEIF arg_credid = 28 THEN //供应商付款 IF uof_cwaudit_bill_getinfo28(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END IF CASE 27,30,33,34 //客户其它收款,供应商其它付款,客户收款结算单,供应商付款结算单 IF arg_credid = 27 THEN //客户其它收款单 ELSEIF arg_credid = 30 THEN //供应商其它付款单 ELSEIF arg_credid = 33 THEN //客户收款结算单 ELSEIF arg_credid = 34 THEN //供应商付款结算单 END IF CASE 26,29,31,32 //其它收入,支出单 //其它应收,其它应付 CHOOSE CASE arg_credid CASE 31 //其它收入单 IF uof_cwaudit_bill_getinfo31(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 32 //其它支出单 IF uof_cwaudit_bill_getinfo32(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 26 //其它应收单 IF uof_cwaudit_bill_getinfo26(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF CASE 29 //其它应付单 IF uof_cwaudit_bill_getinfo29(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END CHOOSE CASE 33 //转帐单 IF uof_cwaudit_bill_getinfo33(arg_scid,arg_billid,arg_s_credport,arg_ref_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END CHOOSE ext: RETURN rslt end function public function integer uof_get_subject (string arg_subid, ref integer arg_hscust, ref integer arg_hsspt, string arg_msg);Int rslt = 1 SELECT cw_subject.hscust,cw_subject.hsspt INTO :arg_hscust,:arg_hsspt FROM cw_subject Where cw_subject.subid = :arg_subid; IF sqlca.SQLCode <> 0 THEN arg_msg = '没有查询到会计科目:'+arg_subid+'的资料,操作取消,请检查资料' rslt = 0 GOTO ext END IF ext: RETURN rslt end function public function integer uof_cwaudit_bill_getcredid (long arg_credid, long arg_scid, long arg_billid, ref long arg_ref_credid, ref string arg_msg);Int rslt = 1 Int li_cwauditingflag CHOOSE CASE arg_credid CASE 1,2,14,15,16,20 //销售发货,退货,生产领料,其它出,盘亏,扣费出 SELECT u_outware.credid, u_outware.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_outware WHERE u_outware.outwareid = :arg_billid And u_outware.scid = :arg_scid; CASE 3,4,9 //客户补件单,客户费用单,供应商费用单 SELECT u_reissue.credid, u_reissue.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_reissue WHERE u_reissue.reissueid = :arg_billid And u_reissue.scid = :arg_scid; CASE 5 //客户返利单 SELECT u_giveback.credid, u_giveback.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_giveback WHERE u_giveback.givebackid = :arg_billid And u_giveback.scid = :arg_scid; CASE 6,7,17,18,19 //采购收货,退化,生产进,其它进,盘盈 SELECT u_inware.credid, u_inware.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_inware WHERE u_inware.inwareid = :arg_billid And u_inware.scid = :arg_scid; CASE 8 //供应商赔偿单 SELECT u_spt_amerce.credid, u_spt_amerce.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_spt_amerce WHERE u_spt_amerce.billid = :arg_billid And u_spt_amerce.scid = :arg_scid; CASE 10,11 //外协发出,退回 SELECT ow_wfjg_out.credid, ow_wfjg_out.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM ow_wfjg_out WHERE ow_wfjg_out.outwareid = :arg_billid And ow_wfjg_out.scid = :arg_scid; CASE 12,13 //外协收货,外协返工 SELECT ow_wfjg_in.credid, ow_wfjg_in.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM ow_wfjg_in WHERE ow_wfjg_in.inwareid = :arg_billid And ow_wfjg_in.scid = :arg_scid; CASE 21 //仓库调拨单 CASE 22 //成本价调整单 CASE 23 //拆装单 CASE 24 //库存配置调整单 CASE 25,28 //客户收款,供应商付款 SELECT u_cusamt.credid, u_cusamt.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_cusamt Where u_cusamt.cusmonid = :arg_billid; CASE 27,30 //客户其它收款,供应商其它付款 SELECT u_Bmstamt.credid, u_Bmstamt.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_Bmstamt Where u_Bmstamt.Baid = :arg_billid; CASE 26,29,31,32 //其它收入,支出单 //其它应收,其它应付 SELECT U_income_expenses.credid, U_income_expenses.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM U_income_expenses Where U_income_expenses.billid = :arg_billid; CASE 33 //转帐单 SELECT u_rap_money_transfer.credid, u_rap_money_transfer.cwauditingflag INTO :arg_ref_credid, :li_cwauditingflag FROM u_rap_money_transfer Where u_rap_money_transfer.billid = :arg_billid; END CHOOSE IF sqlca.SQLCode <> 0 THEN arg_msg = '查询单据凭证信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF li_cwauditingflag = 0 THEN arg_msg = '单据未会计审,请检查' rslt = 0 GOTO ext END IF IF arg_ref_credid = 0 THEN arg_msg = '错误的凭证id,请检查单据相关凭证信息' rslt = 0 GOTO ext END IF ext: RETURN rslt end function public function integer uof_cwaudit_cred0 (long arg_credid, long arg_scid, long arg_billid[], string arg_billcode[], ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 String ls_credtype Int li_createtype Long ll_ref_credid,ll_credid_array[] Long i,j,k,ll_f SELECT credtype,createtype Into :ls_credtype,:li_createtype From Cw_credence_port Where credid = :arg_credid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询单据凭证接口设置失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF li_createtype = 0 THEN FOR i = 1 To UpperBound(arg_billid) ll_ref_credid = 0 IF uof_cwaudit_bill_getcredid(arg_credid,arg_scid,arg_billid[i],ll_ref_credid,arg_msg) = 0 THEN arg_msg += arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF IF f_del_cred(0,ll_ref_credid,arg_msg,False) = 0 THEN arg_msg += arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF IF uof_cwaudit_bill0(arg_credid,arg_scid,arg_billid[i],arg_msg,False) = 0 THEN arg_msg += arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF NEXT ELSEIF li_createtype = 1 THEN FOR i = 1 To UpperBound(arg_billid) ll_ref_credid = 0 IF uof_cwaudit_bill_getcredid(arg_credid,arg_scid,arg_billid[i],ll_ref_credid,arg_msg) = 0 THEN arg_msg += arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF ll_f = 0 FOR j = 1 To UpperBound(ll_credid_array) IF ll_credid_array[j] = ll_ref_credid THEN ll_f = j EXIT END IF NEXT IF ll_f = 0 THEN k++ ll_credid_array[k] = ll_ref_credid END IF IF uof_cwaudit_bill0(arg_credid,arg_scid,arg_billid[i],arg_msg,False) = 0 THEN arg_msg+= arg_billcode[i]+','+arg_msg+'~n' rslt = 0 GOTO ext END IF NEXT FOR j = 1 To k IF f_del_cred(0,ll_credid_array[j],arg_msg,False) = 0 THEN rslt = 0 GOTO ext END IF NEXT END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF rslt = 1 And arg_ifcommit THEN COMMIT; END IF RETURN rslt end function public function integer uof_cwaudit_cred1 (long arg_credid, long arg_scid, long arg_billid[], string arg_billcode[], string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 String ls_credtype,ls_credname Int li_createtype Int li_ifstorage s_cred_port s_credport Long i,j s_credence arg_s_cred,arg_s_cred_reset Long ll_ref_credid,ll_ref_credno uo_credence uo_cred uo_cred = Create uo_credence SELECT credtype,createtype,ifstorage,credname INTO :ls_credtype,:li_createtype,:li_ifstorage,:ls_credname From Cw_credence_port Where credid = :arg_credid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询单据凭证接口设置失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF s_credport.credtype = ls_credtype s_credport.createtype = li_createtype s_credport.ifstorage = li_ifstorage s_credport.credname = ls_credname IF li_createtype = 0 THEN FOR i = 1 To UpperBound(arg_billid) arg_s_cred = arg_s_cred_reset IF uof_cwaudit_bill_getinfo(arg_credid,arg_scid,arg_billid[i],s_credport,arg_s_cred,arg_msg) = 0 THEN arg_msg = arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF ll_ref_credno = 0 IF f_create_cred(arg_s_cred,False,arg_msg,ll_ref_credid,ll_ref_credno) = 0 THEN arg_msg = arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF IF uo_cred.Check(0,ll_ref_credid,arg_msg,False) = 0 THEN arg_msg = arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF IF uof_cwaudit_bill1(arg_credid,arg_scid,arg_billid[i],arg_opemp,ls_credtype,ll_ref_credno,ll_ref_credid,arg_msg,False) = 0 THEN arg_msg = arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF NEXT ELSEIF li_createtype = 1 THEN IF uof_cwaudit_bill_getinfo_hz(arg_credid,arg_scid,arg_billid,s_credport,arg_s_cred,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ll_ref_credno = 0 IF f_create_cred(arg_s_cred,False,arg_msg,ll_ref_credid,ll_ref_credno) = 0 THEN rslt = 0 GOTO ext END IF IF uo_cred.Check(0,ll_ref_credid,arg_msg,False) = 0 THEN rslt = 0 GOTO ext END IF FOR i = 1 To UpperBound(arg_billid) IF uof_cwaudit_bill1(arg_credid,arg_scid,arg_billid[i],arg_opemp,ls_credtype,ll_ref_credno,ll_ref_credid,arg_msg,False) = 0 THEN arg_msg = arg_billcode[i]+','+arg_msg rslt = 0 GOTO ext END IF NEXT END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF rslt = 1 And arg_ifcommit THEN COMMIT; END IF Destroy uo_cred RETURN rslt end function public function integer uof_cwaudit_bill_getinfo_hz (long arg_credid, long arg_scid, long arg_billid[], s_cred_port arg_s_credport, readonly s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long cnt Int li_hscust,li_hsspt Long no_mxt,i s_bill_to_cred s_billinfo String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname String ls_dwSQL_checkflag,ls_dwSQL_cwauditingflag,ls_dwSQL_data String ls_SyntaxFromSQL_checkflag,ls_SyntaxFromSQL_cwauditingflag,ls_SyntaxFromSQL_data datastore ds_checkflag,ds_cwauditingflag,ds_data String ls_id_str ds_checkflag = Create datastore ds_cwauditingflag = Create datastore ds_data = Create datastore FOR i = 1 To UpperBound(arg_billid) ls_id_str += String(arg_billid[i])+',' NEXT ls_id_str = Left(ls_id_str,Len(ls_id_str) - 1) ls_id_str = '('+ls_id_str+')' //1 ls_dwSQL_checkflag = is_dwsql[arg_credid].dwSQL_checkflag IF Pos(ls_dwSQL_checkflag,'arg_scid') > 0 THEN ls_dwSQL_checkflag = Replace ( ls_dwSQL_checkflag, Pos(ls_dwSQL_checkflag,'arg_scid'), 8, String(arg_scid) ) IF Pos(ls_dwSQL_checkflag,'arg_id_str') > 0 THEN ls_dwSQL_checkflag = Replace ( ls_dwSQL_checkflag, Pos(ls_dwSQL_checkflag,'arg_id_str'), 10, ls_id_str ) ls_SyntaxFromSQL_checkflag = sqlca.SyntaxFromSQL(ls_dwSQL_checkflag,"style(type=grid)",arg_msg) IF arg_msg > '' THEN arg_msg = ls_billname+",检查审核标记dw语法生成失败.语法: ~r~n"+ls_dwSQL_checkflag rslt = 0 GOTO ext END IF ds_checkflag.Create(ls_SyntaxFromSQL_checkflag,arg_msg) IF arg_msg <> '' THEN arg_msg = ls_billname+",建立检查审核标记dw失败," +arg_msg rslt = 0 GOTO ext END IF ds_checkflag.SetTransObject(sqlca) ds_checkflag.Retrieve() cnt = ds_checkflag.Object.cnt[1] IF cnt > 0 THEN arg_msg = ls_billname+' 选择的单据中有未终审的单据,请检查,语法: ~r~n'+ls_dwSQL_checkflag rslt = 0 GOTO ext END IF //2 ls_dwSQL_cwauditingflag = is_dwsql[arg_credid].dwSQL_cwauditingflag IF Pos(ls_dwSQL_cwauditingflag,'arg_scid') > 0 THEN ls_dwSQL_cwauditingflag = Replace ( ls_dwSQL_cwauditingflag, Pos(ls_dwSQL_cwauditingflag,'arg_scid'), 8, String(arg_scid) ) IF Pos(ls_dwSQL_cwauditingflag,'arg_id_str') > 0 THEN ls_dwSQL_cwauditingflag = Replace ( ls_dwSQL_cwauditingflag, Pos(ls_dwSQL_cwauditingflag,'arg_id_str'), 10, ls_id_str ) ls_SyntaxFromSQL_cwauditingflag = sqlca.SyntaxFromSQL(ls_dwSQL_cwauditingflag,"style(type=grid)",arg_msg) IF arg_msg > '' THEN arg_msg = ls_billname+',检查会计审核标记dw语法生成失败. 语法: ~r~n'+ls_dwSQL_cwauditingflag rslt = 0 GOTO ext END IF ds_cwauditingflag.Create(ls_SyntaxFromSQL_cwauditingflag,arg_msg) IF arg_msg <> '' THEN arg_msg = ls_billname+",建立检查会计审核标记dw失败," +arg_msg rslt = 0 GOTO ext END IF ds_cwauditingflag.SetTransObject(sqlca) ds_cwauditingflag.Retrieve() cnt = ds_cwauditingflag.Object.cnt[1] IF cnt > 0 THEN arg_msg = ls_billname+' 选择的单据中有已会计的单据,请检查,语法: ~r~n'+ls_dwSQL_cwauditingflag rslt = 0 GOTO ext END IF //3 if arg_s_credport.ifstorage = 0 then ls_dwSQL_data = is_dwsql[arg_credid].dwSQL_data else ls_dwSQL_data = is_dwsql[arg_credid].dwsql_data_ifstorage end if IF Pos(ls_dwSQL_data,'arg_scid') > 0 THEN ls_dwSQL_data = Replace ( ls_dwSQL_data, Pos(ls_dwSQL_data,'arg_scid'), 8, String(arg_scid) ) IF Pos(ls_dwSQL_data,'arg_id_str') > 0 THEN ls_dwSQL_data = Replace ( ls_dwSQL_data, Pos(ls_dwSQL_data,'arg_id_str'), 10, ls_id_str ) ls_SyntaxFromSQL_data = sqlca.SyntaxFromSQL(ls_dwSQL_data,"style(type=grid)",arg_msg) IF arg_msg > '' THEN arg_msg = ls_billname+",数据汇总dw语法生成失败. "+ls_dwSQL_data rslt = 0 GOTO ext END IF ds_data.Create(ls_SyntaxFromSQL_data,arg_msg) IF arg_msg <> '' THEN arg_msg = ls_billname+",建立数据汇总dw失败," +arg_msg rslt = 0 GOTO ext END IF ds_data.SetTransObject(sqlca) cnt = ds_data.Retrieve() IF cnt = 0 THEN arg_msg = ls_billname+' 没有生成凭证的数据,请检查' rslt = 0 GOTO ext END IF String ls_subid_debit String ls_subid_credit Decimal ld_amt FOR i = 1 To cnt ls_subid_debit = ds_data.GetItemString(i,2) ls_subid_credit = ds_data.GetItemString(i,3) IF ls_subid_debit = '' THEN arg_msg = ls_billname+' 借方未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF ls_subid_credit = '' THEN arg_msg = ls_billname+' 贷方未设置会计科目,请检查' rslt = 0 GOTO ext END IF NEXT FOR i = 1 To cnt ld_amt = ds_data.GetItemDecimal(i,1) ls_subid_debit = ds_data.GetItemString(i,2) ls_subid_credit = ds_data.GetItemString(i,3) //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = '' arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = ls_subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = ld_amt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = '' arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = ls_subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = ld_amt NEXT arg_ref_s_cred.creddate = f_rst_mon_1st(3,sys_curyearmon) arg_ref_s_cred.relcode = '' arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: Destroy ds_checkflag Destroy ds_cwauditingflag Destroy ds_data RETURN rslt end function public function integer uof_cwaudit_bill_getinfo01_and_02 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_outware.outwarecode, u_outware.outdate, 0, u_outware.dscrp, 0 as cusid, 0 as sptid, u_cust.subid, u_storage.subid_sale, u_storage.subid_cost, u_storage.subid, u_outware.cwauditingflag, u_outware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.subid_debit2, :s_billinfo.subid_credit2, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_outware left OUTER join u_cust on u_outware.cusid = u_cust.cusid left OUTER join u_storage on u_outware.storageid = u_storage.storageid WHERE u_outware.outwareid = :arg_billid AND u_outware.scid = :arg_scid And u_outware.billtype = 1; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 客户未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置销售收入会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit2 = '' THEN arg_msg = ls_billname + ' 仓库未设置销售成本会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit2 = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_outwaremx.bsamt, u_outwaremx.costamt, u_mtrldef.mtrlname, u_mtrldef.subid_sale, u_mtrldef.subid_cost, u_mtrldef.subid FROM u_outwaremx INNER join u_mtrldef on u_outwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_outwaremx.outwareid = :arg_billid AND u_outwaremx.scid = :arg_scid Order By u_outwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxamt2[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid2[mx],:s_billmx.subid3[mx],:s_billmx.subid4[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] s_billinfo.billamt2 += s_billmx.mxamt2[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxamt2[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid2[mx],:s_billmx.subid3[mx],:s_billmx.subid4[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid2[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置销售收入会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid3[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置销售成本会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid4[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借1 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 //贷1 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF //借2 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit2 arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt2 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid3[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷2 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit2 arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt2 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid4[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt2[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo04 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_reissue.reissuecode, u_reissue.reissuedate, 0, u_reissue.dscrp, u_reissue.cusid, 0 as sptid, u_cust.subid, '', u_reissue.cwauditingflag, u_reissue.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_reissue left OUTER join u_cust on u_reissue.cusid = u_cust.cusid WHERE u_reissue.reissueid = :arg_billid And u_reissue.scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 客户未设置会计科目,请检查' rslt = 0 GOTO ext END IF DECLARE cur_billmx CURSOR FOR SELECT u_reissuemx.amt, u_reissuemx.dscrp, U_Expenses.subid FROM u_reissuemx left OUTER join U_Expenses on u_reissuemx.mtrlid = U_Expenses.ExpensesID WHERE u_reissuemx.reissueid = :arg_billid AND u_reissuemx.scid = :arg_scid Order By u_reissuemx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置会计科目,请检查' rslt = 0 GOTO ext END IF NEXT //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billinfo.subid_credit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hscust = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = s_billinfo.cusid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = 0 END IF //贷 FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 - s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billmx.subid[j],li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hscust = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = s_billinfo.cusid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = 0 END IF NEXT arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo05 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i s_bill_to_cred s_billinfo String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_giveback.givebackcode, u_giveback.givebackdate, u_giveback.sumamt, u_giveback.dscrp, u_giveback.cusid as cusid, 0 as sptid, u_itemdef.subid, u_cust.subid, u_giveback.cwauditingflag, u_spt_amerce.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_giveback left OUTER join u_cust on u_giveback.cusid = u_cust.cusid left OUTER join u_itemdef on u_giveback.itemid = u_itemdef.itemid WHERE u_giveback.givebackid = :arg_billid And u_giveback.scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 费用项目未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 客户未设置会计科目,请检查' rslt = 0 GOTO ext END IF //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billinfo.subid_debit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt IF uof_get_subject(s_billinfo.subid_credit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo06_and_07 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_inware.inwarecode, u_inware.indate, 0, u_inware.dscrp, 0 as cusid, u_inware.sptid as sptid, u_storage.subid, u_spt.subid, u_inware.cwauditingflag, u_inware.secflag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_inware left OUTER join u_spt on u_inware.sptid = u_spt.sptid left OUTER join u_storage on u_inware.storageid = u_storage.storageid WHERE u_inware.inwareid = :arg_billid AND u_inware.scid = :arg_scid And u_inware.billtype = 1; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未财务审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 供应商未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_inwaremx.bsamt, u_mtrldef.mtrlname, u_mtrldef.subid FROM u_inwaremx INNER join u_mtrldef on u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.inwareid = :arg_billid AND u_inwaremx.scid = :arg_scid Order By u_inwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billinfo.subid_debit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billmx.subid[j],li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF NEXT END IF //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt IF uof_get_subject(s_billinfo.subid_credit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo08 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i s_bill_to_cred s_billinfo String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_spt_amerce.billcode, u_spt_amerce.billdate, u_spt_amerce.amerceamt, u_spt_amerce.amercereason, 0 as cusid, u_spt_amerce.sptid, u_itemdef.subid, u_spt.subid, u_spt_amerce.cwauditingflag, u_spt_amerce.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_spt_amerce left OUTER join u_spt on u_spt_amerce.sptid = u_spt.sptid left OUTER join u_itemdef on u_spt_amerce.itemid = u_itemdef.itemid WHERE u_spt_amerce.billid = :arg_billid And u_spt_amerce.scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 费用项目未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 供应商未设置会计科目,请检查' rslt = 0 GOTO ext END IF //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billinfo.subid_debit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt IF uof_get_subject(s_billinfo.subid_credit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo09 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_reissue.reissuecode, u_reissue.reissuedate, 0, u_reissue.dscrp, 0 as cusid, u_reissue.cusid, '', u_spt.subid, u_reissue.cwauditingflag, u_reissue.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_reissue left OUTER join u_spt on u_reissue.cusid = u_spt.sptid WHERE u_reissue.reissueid = :arg_billid And u_reissue.scid = :arg_scid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 供应商未设置会计科目,请检查' rslt = 0 GOTO ext END IF DECLARE cur_billmx CURSOR FOR SELECT u_reissuemx.amt, u_reissuemx.dscrp, U_Expenses.subid FROM u_reissuemx left OUTER join U_Expenses on u_reissuemx.mtrlid = U_Expenses.ExpensesID WHERE u_reissuemx.reissueid = :arg_billid AND u_reissuemx.scid = :arg_scid Order By u_reissuemx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置会计科目,请检查' rslt = 0 GOTO ext END IF NEXT //借 FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billmx.subid[j],li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF NEXT //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt IF uof_get_subject(s_billinfo.subid_credit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo14 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_outware.outwarecode, u_outware.outdate, 0, u_outware.dscrp, 0 as cusid, 0 as sptid, u_storage.subid_scll, u_storage.subid, u_outware.cwauditingflag, u_outware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_outware left OUTER join u_storage on u_outware.storageid = u_storage.storageid WHERE u_outware.outwareid = :arg_billid AND u_outware.scid = :arg_scid And u_outware.billtype = 3; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 仓库未设置领料会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_inwaremx.costamt, u_mtrldef.mtrlname, u_mtrldef.subid_scll, u_mtrldef.subid FROM u_inwaremx INNER join u_mtrldef on u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.inwareid = :arg_billid AND u_inwaremx.scid = :arg_scid Order By u_inwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置领料会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid2[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo15 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_outware.outwarecode, u_outware.outdate, 0, u_outware.dscrp, 0 as cusid, 0 as sptid, u_static.subid, u_storage.subid, u_outware.cwauditingflag, u_outware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_outware left OUTER join u_static on u_outware.staticid = u_static.staticid left OUTER join u_storage on u_outware.storageid = u_storage.storageid WHERE u_outware.outwareid = :arg_billid AND u_outware.scid = :arg_scid And u_outware.billtype = 8; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 出仓原因未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_outwaremx.costamt, u_mtrldef.mtrlname, u_mtrldef.subid FROM u_outwaremx INNER join u_mtrldef on u_outwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_outwaremx.outwareid = :arg_billid AND u_outwaremx.scid = :arg_scid Order By u_outwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 //贷 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo16 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_outware.outwarecode, u_outware.outdate, 0, u_outware.dscrp, 0 as cusid, 0 as sptid, u_storage.subid_pk, u_storage.subid, u_outware.cwauditingflag, u_outware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_outware left OUTER join u_storage on u_outware.storageid = u_storage.storageid WHERE u_outware.outwareid = :arg_billid AND u_outware.scid = :arg_scid And u_outware.billtype = 9; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 仓库未设置盘亏会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_inwaremx.bsamt, u_mtrldef.mtrlname, u_mtrldef.subid_pk, u_mtrldef.subid FROM u_inwaremx INNER join u_mtrldef on u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.inwareid = :arg_billid AND u_inwaremx.scid = :arg_scid Order By u_inwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置盘亏会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid2[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo17 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_inware.inwarecode, u_inware.indate, 0, u_inware.dscrp, 0 as cusid, 0 as sptid, u_storage.subid, u_storage.subid_scll, u_inware.cwauditingflag, u_inware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_inware left OUTER join u_static on u_inware.staticid = u_static.staticid left OUTER join u_storage on u_inware.storageid = u_storage.storageid WHERE u_inware.inwareid = :arg_billid AND u_inware.scid = :arg_scid And u_inware.billtype = 3; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置领料会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_inwaremx.bsamt, u_mtrldef.mtrlname, u_mtrldef.subid, u_mtrldef.subid_scll FROM u_inwaremx INNER join u_mtrldef on u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.inwareid = :arg_billid AND u_inwaremx.scid = :arg_scid Order By u_inwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid2[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置领料会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo18 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_inware.inwarecode, u_inware.indate, 0, u_inware.dscrp, 0 as cusid, 0 as sptid, u_storage.subid, u_static.subid, u_inware.cwauditingflag, u_inware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_inware left OUTER join u_static on u_inware.staticid = u_static.staticid left OUTER join u_storage on u_inware.storageid = u_storage.storageid WHERE u_inware.inwareid = :arg_billid AND u_inware.scid = :arg_scid And u_inware.billtype = 8; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 进仓原因未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_inwaremx.bsamt, u_mtrldef.mtrlname, u_mtrldef.subid FROM u_inwaremx INNER join u_mtrldef on u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.inwareid = :arg_billid AND u_inwaremx.scid = :arg_scid Order By u_inwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo19 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_inware.inwarecode, u_inware.indate, 0, u_inware.dscrp, 0 as cusid, 0 as sptid, u_storage.subid, u_storage.subid_py, u_inware.cwauditingflag, u_inware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_inware left OUTER join u_storage on u_inware.storageid = u_storage.storageid WHERE u_inware.inwareid = :arg_billid AND u_inware.scid = :arg_scid And u_inware.billtype = 9; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置盘盈会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_inwaremx.bsamt, u_mtrldef.mtrlname, u_mtrldef.subid, u_mtrldef.subid_py FROM u_inwaremx INNER join u_mtrldef on u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.inwareid = :arg_billid AND u_inwaremx.scid = :arg_scid Order By u_inwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid2[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置盘盈会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo20 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_outware.outwarecode, u_outware.outdate, 0, u_outware.dscrp, 0 as cusid, 0 as sptid, u_storage.subid_kf, u_storage.subid, u_outware.cwauditingflag, u_outware.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_outware left OUTER join u_storage on u_outware.storageid = u_storage.storageid WHERE u_outware.outwareid = :arg_billid AND u_outware.scid = :arg_scid And u_outware.billtype = 9; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 仓库未设置扣费领用会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_inwaremx.bsamt, u_mtrldef.mtrlname, u_mtrldef.subid_kf, u_mtrldef.subid FROM u_inwaremx INNER join u_mtrldef on u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.inwareid = :arg_billid AND u_inwaremx.scid = :arg_scid Order By u_inwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx],:s_billmx.subid2[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置扣费领用会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid2[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo25 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i s_bill_to_cred s_billinfo String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_cusamt.cusmoncode, u_cusamt.cusdate, u_cusamt.cusamt, u_cusamt.dscrp, u_cusamt.cusid, 0 as sptid, u_accounts.subid, u_cust.subid, u_cusamt.cwauditingflag, u_cusamt.secflag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_cusamt left OUTER join u_cust on u_cusamt.cusid = u_cust.cusid left OUTER join u_accounts on u_cusamt.accountid = u_accounts.accountsid Where u_cusamt.cusmonid = :arg_billid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未终审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 出纳帐户未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 客户资料未设置会计科目,请检查' rslt = 0 GOTO ext END IF //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billinfo.subid_debit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hscust = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = s_billinfo.cusid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = 0 END IF //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt IF uof_get_subject(s_billinfo.subid_credit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hscust = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = s_billinfo.cusid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].cusid = 0 END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo28 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i s_bill_to_cred s_billinfo String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_cusamt.cusmoncode, u_cusamt.cusdate, u_cusamt.cusamt, u_cusamt.dscrp, 0 as cusid, u_cusamt.cusid, u_spt.subid, u_accounts.subid, u_cusamt.cwauditingflag, u_cusamt.secflag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_cusamt left OUTER join u_spt on u_cusamt.cusid = u_spt.sptid left OUTER join u_accounts on u_cusamt.accountid = u_accounts.accountsid Where u_cusamt.cusmonid = :arg_billid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未终审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 供应商未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 出纳帐户未设置会计科目,请检查' rslt = 0 GOTO ext END IF //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 IF uof_get_subject(s_billinfo.subid_debit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt IF uof_get_subject(s_billinfo.subid_credit,li_hscust,li_hsspt,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF li_hsspt = 1 THEN arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = s_billinfo.sptid ELSE arg_ref_s_cred.arg_s_credmx[no_mxt].sptid = 0 END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo33 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i s_bill_to_cred s_billinfo String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT u_rap_money_transfer.billcode, u_rap_money_transfer.checkdate, u_rap_money_transfer.transferamt, u_rap_money_transfer.dscrp, 0 as cusid, 0 as sptid, u_in.subid, u_out.subid, u_rap_money_transfer.cwauditingflag, u_rap_money_transfer.secflag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_rap_money_transfer left OUTER join u_accounts u_in on u_rap_money_transfer.accountid_in = u_in.accountsid left OUTER join u_accounts u_out on u_rap_money_transfer.accountid_out = u_out.accountsid Where u_rap_money_transfer.billid = :arg_billid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未终审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 转入帐户未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 转出帐户未设置会计科目,请检查' rslt = 0 GOTO ext END IF //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo26 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT U_income_expenses.billcode, U_income_expenses.outdate, U_income_expenses.amt, U_income_expenses.Descrp, u_cust.subid2, '', U_income_expenses.cwauditingflag, U_income_expenses.flag, U_income_expenses.spt_cus_id as cusid, 0 as sptid INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag, :s_billinfo.cusid, :s_billinfo.sptid FROM U_income_expenses left OUTER join u_cust on U_income_expenses.spt_cus_id = u_cust.cusid WHERE U_income_expenses.billid = :arg_billid And U_income_expenses.billtype = 3; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 客户未设置会计科目,请检查' rslt = 0 GOTO ext END IF DECLARE cur_billmx CURSOR FOR SELECT U_income_expenses_mx.amt, U_income_expenses_mx.mxdscrp, u_itemdef.subid FROM U_income_expenses_mx left OUTER join u_itemdef on U_income_expenses_mx.itemid = u_itemdef.itemid WHERE U_income_expenses_mx.billid = :arg_billid Order By U_income_expenses_mx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置会计科目,请检查' rslt = 0 GOTO ext END IF NEXT //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 //贷 FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo31 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT U_income_expenses.billcode, U_income_expenses.outdate, U_income_expenses.amt, U_income_expenses.Descrp, u_accounts.subid, '', U_income_expenses.cwauditingflag, U_income_expenses.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM U_income_expenses left OUTER join u_accounts on U_income_expenses.accountid = u_accounts.accountsid WHERE U_income_expenses.billid = :arg_billid AND U_income_expenses.itemflag = 1 And U_income_expenses.billtype = 0; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 出纳帐号未设置会计科目,请检查' rslt = 0 GOTO ext END IF DECLARE cur_billmx CURSOR FOR SELECT U_income_expenses_mx.amt, U_income_expenses_mx.mxdscrp, u_itemdef.subid FROM U_income_expenses_mx left OUTER join u_itemdef on U_income_expenses_mx.itemid = u_itemdef.itemid WHERE U_income_expenses_mx.billid = :arg_billid Order By U_income_expenses_mx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置会计科目,请检查' rslt = 0 GOTO ext END IF NEXT //借 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 //贷 FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo29 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT U_income_expenses.billcode, U_income_expenses.outdate, U_income_expenses.amt, U_income_expenses.Descrp, '', u_spt.subid2, U_income_expenses.cwauditingflag, U_income_expenses.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM U_income_expenses left OUTER join u_spt on U_income_expenses.spt_cus_id = u_spt.sptid WHERE U_income_expenses.billid = :arg_billid And U_income_expenses.billtype = 4; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 供应商未设置会计科目,请检查' rslt = 0 GOTO ext END IF DECLARE cur_billmx CURSOR FOR SELECT U_income_expenses_mx.amt, U_income_expenses_mx.mxdscrp, u_itemdef.subid FROM U_income_expenses_mx left OUTER join u_itemdef on U_income_expenses_mx.itemid = u_itemdef.itemid WHERE U_income_expenses_mx.billid = :arg_billid Order By U_income_expenses_mx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置会计科目,请检查' rslt = 0 GOTO ext END IF NEXT //借 FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public function integer uof_cwaudit_bill_getinfo32 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Int li_hscust,li_hsspt Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT U_income_expenses.billcode, U_income_expenses.outdate, U_income_expenses.amt, U_income_expenses.Descrp, '', u_accounts.subid, U_income_expenses.cwauditingflag, U_income_expenses.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM U_income_expenses left OUTER join u_accounts on U_income_expenses.accountid = u_accounts.accountsid WHERE U_income_expenses.billid = :arg_billid AND U_income_expenses.itemflag = -1 And U_income_expenses.billtype = 0; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 出纳帐号未设置会计科目,请检查' rslt = 0 GOTO ext END IF DECLARE cur_billmx CURSOR FOR SELECT U_income_expenses_mx.amt, U_income_expenses_mx.mxdscrp, u_itemdef.subid FROM U_income_expenses_mx left OUTER join u_itemdef on U_income_expenses_mx.itemid = u_itemdef.itemid WHERE U_income_expenses_mx.billid = :arg_billid Order By U_income_expenses_mx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF FOR j = 1 To mx IF s_billmx.subid[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置会计科目,请检查' rslt = 0 GOTO ext END IF NEXT //借 FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT //贷 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = s_billinfo.dscrp arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function public subroutine uof_init_s_dwsql02 ();//2 销售退货单 is_dwsql[2].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[2].dwsql_checkflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[2].dwsql_checkflag += ' And u_outware.secflag = 0; ' is_dwsql[2].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[2].dwsql_cwauditingflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[2].dwsql_cwauditingflag += ' And u_outware.cwauditingflag = 2; ' is_dwsql[2].dwsql_data += 'SELECT sum(u_outwaremx.bsamt) as amt, ' is_dwsql[2].dwsql_data += 'u_cust.subid as subid_debit, ' is_dwsql[2].dwsql_data += 'u_mtrldef.subid_sale as subid_credit ' is_dwsql[2].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[2].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[2].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[2].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[2].dwsql_data += ' group by u_cust.subid,u_mtrldef.subid_sale ' is_dwsql[2].dwsql_data += ' order by u_cust.subid,u_mtrldef.subid_sale; ' is_dwsql[2].dwsql_data += 'union all ' is_dwsql[2].dwsql_data += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[2].dwsql_data += 'u_mtrldef.subid_cost as subid_debit, ' is_dwsql[2].dwsql_data += 'u_mtrldef.subid as subid_credit ' is_dwsql[2].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[2].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[2].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[2].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[2].dwsql_data += ' group by u_mtrldef.subid_cost,u_mtrldef.subid ' is_dwsql[2].dwsql_data += ' order by u_mtrldef.subid_cost,u_mtrldef.subid; ' is_dwsql[2].dwsql_data_ifstorage += 'SELECT sum(u_outwaremx.bsamt) as amt, ' is_dwsql[2].dwsql_data_ifstorage += 'u_cust.subid as subid_debit, ' is_dwsql[2].dwsql_data_ifstorage += 'u_storage.subid_sale as subid_credit ' is_dwsql[2].dwsql_data_ifstorage += 'FROM u_outware inner join u_storage on ' is_dwsql[2].dwsql_data_ifstorage += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[2].dwsql_data_ifstorage += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[2].dwsql_data_ifstorage += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[2].dwsql_data_ifstorage += ' group by u_cust.subid,u_storage.subid_sale ' is_dwsql[2].dwsql_data_ifstorage += ' order by u_cust.subid,u_storage.subid_sale; ' is_dwsql[2].dwsql_data_ifstorage += 'union all ' is_dwsql[2].dwsql_data_ifstorage += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[2].dwsql_data_ifstorage += 'u_storage.subid_cost as subid_debit, ' is_dwsql[2].dwsql_data_ifstorage += 'u_storage.subid as subid_credit ' is_dwsql[2].dwsql_data_ifstorage += 'FROM u_outware inner join u_storage on ' is_dwsql[2].dwsql_data_ifstorage += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[2].dwsql_data_ifstorage += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[2].dwsql_data_ifstorage += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[2].dwsql_data_ifstorage += ' group by u_storage.subid_cost,u_storage.subid ' is_dwsql[2].dwsql_data_ifstorage += ' order by u_storage.subid_cost,u_storage.subid; ' end subroutine public subroutine uof_init_s_dwsql04 ();//4 客户费用单 is_dwsql[4].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_reissue ' is_dwsql[4].dwsql_checkflag += 'WHERE u_reissue.reissueid IN arg_id_str and u_reissue.scid = arg_scid ' is_dwsql[4].dwsql_checkflag += ' And u_reissue.flag = 0; ' is_dwsql[4].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_reissue ' is_dwsql[4].dwsql_cwauditingflag += 'WHERE u_reissue.reissueid IN arg_id_str and u_reissue.scid = arg_scid ' is_dwsql[4].dwsql_cwauditingflag += ' And u_reissue.cwauditingflag = 1; ' is_dwsql[4].dwsql_data += 'SELECT sum(u_reissuemx.amt) as amt, ' is_dwsql[4].dwsql_data += 'u_cust.subid as subid_debit, ' is_dwsql[4].dwsql_data += 'U_Expenses.subid as subid_credit ' is_dwsql[4].dwsql_data += 'FROM u_reissue left outer join u_cust on ' is_dwsql[4].dwsql_data += 'u_reissue.cusid = u_cust.cusid inner join u_reissuemx on ' is_dwsql[4].dwsql_data += 'u_reissue.reissueid = u_reissuemx.reissueid and ' is_dwsql[4].dwsql_data += 'u_reissue.scid = u_reissuemx.scid left outer join U_Expenses on ' is_dwsql[4].dwsql_data += 'u_reissuemx.mtrlid = U_Expenses.ExpensesID ' is_dwsql[4].dwsql_data += 'WHERE u_reissue.billid IN arg_id_str and u_reissue.scid = arg_scid ' is_dwsql[4].dwsql_data += ' group by u_cust.subid,U_Expenses.subid ' is_dwsql[4].dwsql_data += ' order by u_cust.subid,U_Expenses.subid; ' end subroutine public subroutine uof_init_s_dwsql05 ();//5 客户返利单 is_dwsql[5].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_giveback ' is_dwsql[5].dwsql_checkflag += 'WHERE u_giveback.givebackid IN arg_id_str and u_giveback.scid = arg_scid ' is_dwsql[5].dwsql_checkflag += ' And u_giveback.flag = 0; ' is_dwsql[5].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_giveback ' is_dwsql[5].dwsql_cwauditingflag += 'WHERE u_giveback.givebackid IN arg_id_str and u_giveback.scid = arg_scid ' is_dwsql[5].dwsql_cwauditingflag += ' And u_giveback.cwauditingflag = 1; ' is_dwsql[5].dwsql_data += 'SELECT sum(u_giveback.sumamt) as amt, ' is_dwsql[5].dwsql_data += 'u_cust.subid as subid_debit, ' is_dwsql[5].dwsql_data += 'u_itemdef.subid as subid_credit ' is_dwsql[5].dwsql_data += 'FROM u_giveback inner join u_cust on ' is_dwsql[5].dwsql_data += 'u_giveback.cusid = u_cust.cusid inner join u_itemdef on ' is_dwsql[5].dwsql_data += 'u_giveback.itemid = u_itemdef.itemid ' is_dwsql[5].dwsql_data += 'WHERE u_giveback.givebackid IN arg_id_str and u_giveback.scid = arg_scid ' is_dwsql[5].dwsql_data += ' group by u_cust.subid,u_itemdef.subid ' is_dwsql[5].dwsql_data += ' order by u_cust.subid,u_itemdef.subid; ' end subroutine public subroutine uof_init_s_dwsql01 ();//1 销售发货单 is_dwsql[1].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[1].dwsql_checkflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[1].dwsql_checkflag += ' And u_outware.secflag = 0; ' is_dwsql[1].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[1].dwsql_cwauditingflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[1].dwsql_cwauditingflag += ' And u_outware.cwauditingflag = 1; ' is_dwsql[1].dwsql_data += 'SELECT sum(u_outwaremx.bsamt) as amt, ' is_dwsql[1].dwsql_data += 'u_cust.subid as subid_debit, ' is_dwsql[1].dwsql_data += 'u_mtrldef.subid_sale as subid_credit ' is_dwsql[1].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[1].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[1].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[1].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[1].dwsql_data += ' group by u_cust.subid,u_mtrldef.subid_sale ' is_dwsql[1].dwsql_data += ' order by u_cust.subid,u_mtrldef.subid_sale; ' is_dwsql[1].dwsql_data += 'union all ' is_dwsql[1].dwsql_data += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[1].dwsql_data += 'u_mtrldef.subid_cost as subid_debit, ' is_dwsql[1].dwsql_data += 'u_mtrldef.subid as subid_credit ' is_dwsql[1].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[1].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[1].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[1].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[1].dwsql_data += ' group by u_mtrldef.subid_cost,u_mtrldef.subid ' is_dwsql[1].dwsql_data += ' order by u_mtrldef.subid_cost,u_mtrldef.subid; ' is_dwsql[1].dwsql_data += 'SELECT sum(u_outwaremx.bsamt) as amt, ' is_dwsql[1].dwsql_data += 'u_cust.subid as subid_debit, ' is_dwsql[1].dwsql_data += 'u_storage.subid_sale as subid_credit ' is_dwsql[1].dwsql_data += 'FROM u_outware inner join u_storage on ' is_dwsql[1].dwsql_data += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[1].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[1].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[1].dwsql_data += ' group by u_cust.subid,u_storage.subid_sale ' is_dwsql[1].dwsql_data += ' order by u_cust.subid,u_storage.subid_sale; ' is_dwsql[1].dwsql_data += 'union all ' is_dwsql[1].dwsql_data += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[1].dwsql_data += 'u_storage.subid_cost as subid_debit, ' is_dwsql[1].dwsql_data += 'u_storage.subid as subid_credit ' is_dwsql[1].dwsql_data += 'FROM u_outware inner join u_storage on ' is_dwsql[1].dwsql_data += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[1].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[1].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[1].dwsql_data += ' group by u_storage.subid_cost,u_storage.subid ' is_dwsql[1].dwsql_data += ' order by u_storage.subid_cost,u_storage.subid; ' end subroutine public subroutine uof_init_s_dwsql06 ();//6 采购收货单 is_dwsql[6].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[6].dwsql_checkflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[6].dwsql_checkflag += ' And u_inware.secflag = 0; ' is_dwsql[6].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[6].dwsql_cwauditingflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[6].dwsql_cwauditingflag += ' And u_inware.cwauditingflag = 1; ' is_dwsql[6].dwsql_data += 'SELECT sum(u_inwaremx.bsamt) as amt, ' is_dwsql[6].dwsql_data += 'u_mtrldef.subid as subid_debit, ' is_dwsql[6].dwsql_data += 'u_spt.subid as subid_credit ' is_dwsql[6].dwsql_data += 'FROM u_inwaremx inner join u_mtrldef on ' is_dwsql[6].dwsql_data += 'u_inwaremx.mtrlid = u_mtrldef.mtrlid inner join u_inware on ' is_dwsql[6].dwsql_data += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid inner join u_spt on ' is_dwsql[6].dwsql_data += 'u_inware.sptid = u_spt.sptid ' is_dwsql[6].dwsql_data += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[6].dwsql_data += ' group by u_mtrldef.subid,u_spt.subid ' is_dwsql[6].dwsql_data += ' order by u_mtrldef.subid,u_spt.subid; ' is_dwsql[6].dwsql_data_ifstorage += 'SELECT sum(u_inwaremx.bsamt) as amt, ' is_dwsql[6].dwsql_data_ifstorage += 'u_storage.subid as subid_debit, ' is_dwsql[6].dwsql_data_ifstorage += 'u_spt.subid as subid_credit ' is_dwsql[6].dwsql_data_ifstorage += 'FROM u_inware inner join u_storage on ' is_dwsql[6].dwsql_data_ifstorage += 'u_inware.storageid = u_storage.storageid inner join u_inwaremx on ' is_dwsql[6].dwsql_data_ifstorage += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid inner join u_spt on ' is_dwsql[6].dwsql_data_ifstorage += 'u_inware.sptid = u_spt.sptid ' is_dwsql[6].dwsql_data_ifstorage += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[6].dwsql_data_ifstorage += ' group by u_storage.subid,u_spt.subid ' is_dwsql[6].dwsql_data_ifstorage += ' order by u_storage.subid,u_spt.subid; ' end subroutine public subroutine uof_init_s_dwsql07 ();//7 采购退货单 is_dwsql[7].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[7].dwsql_checkflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[7].dwsql_checkflag += ' And u_inware.secflag = 0; ' is_dwsql[7].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[7].dwsql_cwauditingflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[7].dwsql_cwauditingflag += ' And u_inware.cwauditingflag = 1; ' is_dwsql[7].dwsql_data += 'SELECT sum(u_inwaremx.bsamt) as amt, ' is_dwsql[7].dwsql_data += 'u_mtrldef.subid as subid_debit, ' is_dwsql[7].dwsql_data += 'u_spt.subid as subid_credit ' is_dwsql[7].dwsql_data += 'FROM u_inwaremx inner join u_mtrldef on ' is_dwsql[7].dwsql_data += 'u_inwaremx.mtrlid = u_mtrldef.mtrlid inner join u_inware on ' is_dwsql[7].dwsql_data += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid inner join u_spt on ' is_dwsql[7].dwsql_data += 'u_inware.sptid = u_spt.sptid ' is_dwsql[7].dwsql_data += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[7].dwsql_data += ' group by u_mtrldef.subid,u_spt.subid ' is_dwsql[7].dwsql_data += ' order by u_mtrldef.subid,u_spt.subid; ' is_dwsql[7].dwsql_data_ifstorage += 'SELECT sum(u_inwaremx.bsamt) as amt, ' is_dwsql[7].dwsql_data_ifstorage += 'u_storage.subid as subid_debit, ' is_dwsql[7].dwsql_data_ifstorage += 'u_spt.subid as subid_credit ' is_dwsql[7].dwsql_data_ifstorage += 'FROM u_inware inner join u_storage on ' is_dwsql[7].dwsql_data_ifstorage += 'u_inware.storageid = u_storage.storageid inner join u_inwaremx on ' is_dwsql[7].dwsql_data_ifstorage += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid inner join u_spt on ' is_dwsql[7].dwsql_data_ifstorage += 'u_inware.sptid = u_spt.sptid ' is_dwsql[7].dwsql_data_ifstorage += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[7].dwsql_data_ifstorage += ' group by u_storage.subid,u_spt.subid ' is_dwsql[7].dwsql_data_ifstorage += ' order by u_storage.subid,u_spt.subid; ' end subroutine public subroutine uof_init_s_dwsql08 ();//8 供应商罚款单 is_dwsql[8].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_spt_amerce ' is_dwsql[8].dwsql_checkflag += 'WHERE u_spt_amerce.billid IN arg_id_str and u_spt_amerce.scid = arg_scid ' is_dwsql[8].dwsql_checkflag += ' And u_spt_amerce.flag = 0; ' is_dwsql[8].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_spt_amerce ' is_dwsql[8].dwsql_cwauditingflag += 'WHERE u_spt_amerce.billid IN arg_id_str and u_spt_amerce.scid = arg_scid ' is_dwsql[8].dwsql_cwauditingflag += ' And u_spt_amerce.cwauditingflag = 1; ' is_dwsql[8].dwsql_data += 'SELECT sum(u_spt_amerce.amerceamt) as amt, ' is_dwsql[8].dwsql_data += 'u_itemdef.subid as subid_debit, ' is_dwsql[8].dwsql_data += 'u_spt.subid as subid_credit ' is_dwsql[8].dwsql_data += 'FROM u_spt_amerce inner join u_spt on ' is_dwsql[8].dwsql_data += 'u_spt_amerce.sptid = u_spt.sptid left outer join u_itemdef on ' is_dwsql[8].dwsql_data += 'u_spt_amerce.itemid = u_itemdef.itemid ' is_dwsql[8].dwsql_data += 'WHERE u_spt_amerce.billid IN arg_id_str and u_spt_amerce.scid = arg_scid ' is_dwsql[8].dwsql_data += ' group by u_itemdef.subid,u_spt.subid ' is_dwsql[8].dwsql_data += ' order by u_itemdef.subid,u_spt.subid; ' end subroutine public subroutine uof_init_s_dwsql09 ();//9 供应商费用单 is_dwsql[9].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_reissue ' is_dwsql[9].dwsql_checkflag += 'WHERE u_reissue.reissueid IN arg_id_str and u_reissue.scid = arg_scid ' is_dwsql[9].dwsql_checkflag += ' And u_reissue.flag = 0; ' is_dwsql[9].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_reissue ' is_dwsql[9].dwsql_cwauditingflag += 'WHERE u_reissue.reissueid IN arg_id_str and u_reissue.scid = arg_scid ' is_dwsql[9].dwsql_cwauditingflag += ' And u_reissue.cwauditingflag = 1; ' is_dwsql[9].dwsql_data += 'SELECT sum(u_reissuemx.amt) as amt, ' is_dwsql[9].dwsql_data += 'U_Expenses.subid as subid_debit, ' is_dwsql[9].dwsql_data += 'u_spt.subid as subid_credit ' is_dwsql[9].dwsql_data += 'FROM u_reissue left outer join u_spt on ' is_dwsql[9].dwsql_data += 'u_reissue.cusid = u_spt.sptid inner join u_reissuemx on ' is_dwsql[9].dwsql_data += 'u_reissue.reissueid = u_reissuemx.reissueid and ' is_dwsql[9].dwsql_data += 'u_reissue.scid = u_reissuemx.scid left outer join U_Expenses on ' is_dwsql[9].dwsql_data += 'u_reissuemx.mtrlid = U_Expenses.ExpensesID ' is_dwsql[9].dwsql_data += 'WHERE u_reissue.billid IN arg_id_str and u_reissue.scid = arg_scid ' is_dwsql[9].dwsql_data += ' group by U_Expenses.subid,u_spt.subid ' is_dwsql[9].dwsql_data += ' order by U_Expenses.subid,u_spt.subid; ' end subroutine public subroutine uof_init_s_dwsql14 ();//14 生产领料单 is_dwsql[14].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[14].dwsql_checkflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[14].dwsql_checkflag += ' And u_outware.flag = 0; ' is_dwsql[14].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[14].dwsql_cwauditingflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[14].dwsql_cwauditingflag += ' And u_outware.cwauditingflag = 1; ' is_dwsql[14].dwsql_data += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[14].dwsql_data += 'u_mtrldef.subid_scll as subid_debit, ' is_dwsql[14].dwsql_data += 'u_mtrldef.subid as subid_credit ' is_dwsql[14].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[14].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[14].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[14].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[14].dwsql_data += ' group by u_mtrldef.subid_scll,u_mtrldef.subid ' is_dwsql[14].dwsql_data += ' order by u_mtrldef.subid_scll,u_mtrldef.subid; ' is_dwsql[14].dwsql_data_ifstorage += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[14].dwsql_data_ifstorage += 'u_storage.subid_scll as subid_debit, ' is_dwsql[14].dwsql_data_ifstorage += 'u_storage.subid as subid_credit ' is_dwsql[14].dwsql_data_ifstorage += 'FROM u_outware inner join u_storage on ' is_dwsql[14].dwsql_data_ifstorage += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[14].dwsql_data_ifstorage += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[14].dwsql_data_ifstorage += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[14].dwsql_data_ifstorage += ' group by u_storage.subid_scll,u_storage.subid ' is_dwsql[14].dwsql_data_ifstorage += ' order by u_storage.subid_scll,u_storage.subid; ' end subroutine public subroutine uof_init_s_dwsql15 ();//15 其它出仓单 is_dwsql[15].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[15].dwsql_checkflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[15].dwsql_checkflag += ' And u_outware.flag = 0; ' is_dwsql[15].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[15].dwsql_cwauditingflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[15].dwsql_cwauditingflag += ' And u_outware.cwauditingflag = 1; ' is_dwsql[15].dwsql_data += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[15].dwsql_data += 'u_static.subid as subid_debit, ' is_dwsql[15].dwsql_data += 'u_mtrldef.subid as subid_credit ' is_dwsql[15].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[15].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[15].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid inner join u_static on ' is_dwsql[15].dwsql_data += 'u_outware.staticid = u_static.staticid ' is_dwsql[15].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[15].dwsql_data += ' group by u_static.subid,u_mtrldef.subid ' is_dwsql[15].dwsql_data += ' order by u_static.subid,u_mtrldef.subid; ' is_dwsql[15].dwsql_data_ifstorage += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[15].dwsql_data_ifstorage += 'u_static.subid as subid_debit, ' is_dwsql[15].dwsql_data_ifstorage += 'u_storage.subid as subid_credit ' is_dwsql[15].dwsql_data_ifstorage += 'FROM u_outware inner join u_storage on ' is_dwsql[15].dwsql_data_ifstorage += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[15].dwsql_data_ifstorage += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid inner join u_static on ' is_dwsql[15].dwsql_data_ifstorage += 'u_outware.staticid = u_static.staticid ' is_dwsql[15].dwsql_data_ifstorage += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[15].dwsql_data_ifstorage += ' group by u_static.subid,u_storage.subid ' is_dwsql[15].dwsql_data_ifstorage += ' order by u_static.subid,u_storage.subid; ' end subroutine public subroutine uof_init_s_dwsql16 ();//16 盘亏单 is_dwsql[16].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[16].dwsql_checkflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[16].dwsql_checkflag += ' And u_outware.flag = 0; ' is_dwsql[16].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[16].dwsql_cwauditingflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[16].dwsql_cwauditingflag += ' And u_outware.cwauditingflag = 1; ' is_dwsql[16].dwsql_data += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[16].dwsql_data += 'u_mtrldef.subid_pk as subid_debit, ' is_dwsql[16].dwsql_data += 'u_mtrldef.subid as subid_credit ' is_dwsql[16].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[16].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[16].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[16].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[16].dwsql_data += ' group by u_mtrldef.subid_pk,u_mtrldef.subid ' is_dwsql[16].dwsql_data += ' order by u_mtrldef.subid_pk,u_mtrldef.subid; ' is_dwsql[16].dwsql_data_ifstorage += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[16].dwsql_data_ifstorage += 'u_storage.subid_pk as subid_debit, ' is_dwsql[16].dwsql_data_ifstorage += 'u_storage.subid as subid_credit ' is_dwsql[16].dwsql_data_ifstorage += 'FROM u_outware inner join u_storage on ' is_dwsql[16].dwsql_data_ifstorage += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[16].dwsql_data_ifstorage += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[16].dwsql_data_ifstorage += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[16].dwsql_data_ifstorage += ' group by u_storage.subid_pk,u_storage.subid ' is_dwsql[16].dwsql_data_ifstorage += ' order by u_storage.subid_pk,u_storage.subid; ' end subroutine public subroutine uof_init_s_dwsql17 ();//17 生产进仓单 is_dwsql[17].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[17].dwsql_checkflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[17].dwsql_checkflag += ' And u_inware.flag = 0; ' is_dwsql[17].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[17].dwsql_cwauditingflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[17].dwsql_cwauditingflag += ' And u_inware.cwauditingflag = 1; ' is_dwsql[17].dwsql_data += 'SELECT sum(u_inwaremx.costamt) as amt, ' is_dwsql[17].dwsql_data += 'u_mtrldef.subid as subid_debit, ' is_dwsql[17].dwsql_data += 'u_mtrldef.subid_scll as subid_credit ' is_dwsql[17].dwsql_data += 'FROM u_inwaremx inner join u_mtrldef on ' is_dwsql[17].dwsql_data += 'u_inwaremx.mtrlid = u_mtrldef.mtrlid inner join u_inware on ' is_dwsql[17].dwsql_data += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid ' is_dwsql[17].dwsql_data += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[17].dwsql_data += ' group by u_mtrldef.subid,u_mtrldef.subid_scll ' is_dwsql[17].dwsql_data += ' order by u_mtrldef.subid,u_mtrldef.subid_scll; ' is_dwsql[17].dwsql_data_ifstorage += 'SELECT sum(u_inwaremx.costamt) as amt, ' is_dwsql[17].dwsql_data_ifstorage += 'u_storage.subid as subid_debit, ' is_dwsql[17].dwsql_data_ifstorage += 'u_storage.subid_scll as subid_credit ' is_dwsql[17].dwsql_data_ifstorage += 'FROM u_inware inner join u_storage on ' is_dwsql[17].dwsql_data_ifstorage += 'u_inware.storageid = u_storage.storageid inner join u_inwaremx on ' is_dwsql[17].dwsql_data_ifstorage += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid ' is_dwsql[17].dwsql_data_ifstorage += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[17].dwsql_data_ifstorage += ' group by u_storage.subid,u_storage.subid_scll ' is_dwsql[17].dwsql_data_ifstorage += ' order by u_storage.subid,u_storage.subid_scll; ' end subroutine public subroutine uof_init_s_dwsql18 ();//18 其它进仓单 is_dwsql[18].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[18].dwsql_checkflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[18].dwsql_checkflag += ' And u_inware.flag = 0; ' is_dwsql[18].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[18].dwsql_cwauditingflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[18].dwsql_cwauditingflag += ' And u_inware.cwauditingflag = 1; ' is_dwsql[18].dwsql_data += 'SELECT sum(u_inwaremx.bsamt) as amt, ' is_dwsql[18].dwsql_data += 'u_mtrldef.subid as subid_debit, ' is_dwsql[18].dwsql_data += 'u_static.subid as subid_credit ' is_dwsql[18].dwsql_data += 'FROM u_inwaremx inner join u_mtrldef on ' is_dwsql[18].dwsql_data += 'u_inwaremx.mtrlid = u_mtrldef.mtrlid inner join u_inware on ' is_dwsql[18].dwsql_data += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid inner join u_static on ' is_dwsql[18].dwsql_data += 'u_inware.staticid = u_static.staticid ' is_dwsql[18].dwsql_data += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[18].dwsql_data += ' group by u_mtrldef.subid,u_static.subid ' is_dwsql[18].dwsql_data += ' order by u_mtrldef.subid,u_static.subid; ' is_dwsql[18].dwsql_data_ifstorage += 'SELECT sum(u_inwaremx.bsamt) as amt, ' is_dwsql[18].dwsql_data_ifstorage += 'u_storage.subid as subid_debit, ' is_dwsql[18].dwsql_data_ifstorage += 'u_static.subid as subid_credit ' is_dwsql[18].dwsql_data_ifstorage += 'FROM u_inware inner join u_storage on ' is_dwsql[18].dwsql_data_ifstorage += 'u_inware.storageid = u_storage.storageid inner join u_inwaremx on ' is_dwsql[18].dwsql_data_ifstorage += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid inner join u_static on ' is_dwsql[18].dwsql_data_ifstorage += 'u_inware.staticid = u_static.staticid ' is_dwsql[18].dwsql_data_ifstorage += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[18].dwsql_data_ifstorage += ' group by u_storage.subid,u_static.subid ' is_dwsql[18].dwsql_data_ifstorage += ' order by u_storage.subid,u_static.subid; ' end subroutine public subroutine uof_init_s_dwsql19 ();//19 盘盈单 is_dwsql[19].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[19].dwsql_checkflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[19].dwsql_checkflag += ' And u_inware.flag = 0; ' is_dwsql[19].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_inware ' is_dwsql[19].dwsql_cwauditingflag += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[19].dwsql_cwauditingflag += ' And u_inware.cwauditingflag = 1; ' is_dwsql[19].dwsql_data += 'SELECT sum(u_inwaremx.costamt) as amt, ' is_dwsql[19].dwsql_data += 'u_mtrldef.subid as subid_debit, ' is_dwsql[19].dwsql_data += 'u_mtrldef.subid_py as subid_credit ' is_dwsql[19].dwsql_data += 'FROM u_inwaremx inner join u_mtrldef on ' is_dwsql[19].dwsql_data += 'u_inwaremx.mtrlid = u_mtrldef.mtrlid inner join u_inware on ' is_dwsql[19].dwsql_data += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid ' is_dwsql[19].dwsql_data += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[19].dwsql_data += ' group by u_mtrldef.subid,u_mtrldef.subid_py ' is_dwsql[19].dwsql_data += ' order by u_mtrldef.subid,u_mtrldef.subid_py; ' is_dwsql[19].dwsql_data_ifstorage += 'SELECT sum(u_inwaremx.costamt) as amt, ' is_dwsql[19].dwsql_data_ifstorage += 'u_storage.subid as subid_debit, ' is_dwsql[19].dwsql_data_ifstorage += 'u_storage.subid_py as subid_credit ' is_dwsql[19].dwsql_data_ifstorage += 'FROM u_inware inner join u_storage on ' is_dwsql[19].dwsql_data_ifstorage += 'u_inware.storageid = u_storage.storageid inner join u_inwaremx on ' is_dwsql[19].dwsql_data_ifstorage += 'u_inwaremx.scid = u_inware.scid and u_inwaremx.inwareid = u_inware.inwareid ' is_dwsql[19].dwsql_data_ifstorage += 'WHERE u_inware.inwareid IN arg_id_str and u_inware.scid = arg_scid ' is_dwsql[19].dwsql_data_ifstorage += ' group by u_storage.subid,u_storage.subid_py ' is_dwsql[19].dwsql_data_ifstorage += ' order by u_storage.subid,u_storage.subid_py; ' end subroutine public subroutine uof_init_s_dwsql20 ();//20 扣费品领用单 is_dwsql[20].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[20].dwsql_checkflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[20].dwsql_checkflag += ' And u_outware.flag = 0; ' is_dwsql[20].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_outware ' is_dwsql[20].dwsql_cwauditingflag += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[20].dwsql_cwauditingflag += ' And u_outware.cwauditingflag = 1; ' is_dwsql[20].dwsql_data += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[20].dwsql_data += 'u_mtrldef.subid_kf as subid_debit, ' is_dwsql[20].dwsql_data += 'u_mtrldef.subid as subid_credit ' is_dwsql[20].dwsql_data += 'FROM u_outwaremx inner join u_mtrldef on ' is_dwsql[20].dwsql_data += 'u_outwaremx.mtrlid = u_mtrldef.mtrlid inner join u_outware on ' is_dwsql[20].dwsql_data += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[20].dwsql_data += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[20].dwsql_data += ' group by u_mtrldef.subid_kf,u_mtrldef.subid ' is_dwsql[20].dwsql_data += ' order by u_mtrldef.subid_kf,u_mtrldef.subid; ' is_dwsql[20].dwsql_data_ifstorage += 'SELECT sum(u_outwaremx.costamt) as amt, ' is_dwsql[20].dwsql_data_ifstorage += 'u_storage.subid_kf as subid_debit, ' is_dwsql[20].dwsql_data_ifstorage += 'u_storage.subid as subid_credit ' is_dwsql[20].dwsql_data_ifstorage += 'FROM u_outware inner join u_storage on ' is_dwsql[20].dwsql_data_ifstorage += 'u_outware.storageid = u_storage.storageid inner join u_outwaremx on ' is_dwsql[20].dwsql_data_ifstorage += 'u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid ' is_dwsql[20].dwsql_data_ifstorage += 'WHERE u_outware.outwareid IN arg_id_str and u_outware.scid = arg_scid ' is_dwsql[20].dwsql_data_ifstorage += ' group by u_storage.subid_kf,u_storage.subid ' is_dwsql[20].dwsql_data_ifstorage += ' order by u_storage.subid_kf,u_storage.subid; ' end subroutine public subroutine uof_init_s_dwsql25 ();//25 客户收款单 is_dwsql[25].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_cusamt ' is_dwsql[25].dwsql_checkflag += 'WHERE u_cusamt.cusmonid IN arg_id_str ' is_dwsql[25].dwsql_checkflag += ' And u_cusamt.flag = 0; ' is_dwsql[25].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_cusamt ' is_dwsql[25].dwsql_cwauditingflag += 'WHERE u_cusamt.cusmonid IN arg_id_str ' is_dwsql[25].dwsql_cwauditingflag += ' And u_cusamt.cwauditingflag = 1; ' is_dwsql[25].dwsql_data += 'SELECT sum(u_cusamt.cusamt) as amt, ' is_dwsql[25].dwsql_data += 'u_accounts.subid as subid_debit, ' is_dwsql[25].dwsql_data += 'u_cust.subid as subid_credit ' is_dwsql[25].dwsql_data += 'FROM u_cusamt inner join u_accounts on ' is_dwsql[25].dwsql_data += 'u_cusamt.accountid = u_accounts.accountsid inner join u_cust on ' is_dwsql[25].dwsql_data += 'u_cusamt.cusid = u_cust.cusid ' is_dwsql[25].dwsql_data += 'WHERE u_cusamt.cusmonid IN arg_id_str ' is_dwsql[25].dwsql_data += ' group by u_accounts.subid,u_cust.subid ' is_dwsql[25].dwsql_data += ' order by u_accounts.subid,u_cust.subid; ' end subroutine public subroutine uof_init_s_dwsql26 ();//26 其它应收单 is_dwsql[26].dwsql_checkflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[26].dwsql_checkflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[26].dwsql_checkflag += ' And U_income_expenses.flag = 0; ' is_dwsql[26].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[26].dwsql_cwauditingflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[26].dwsql_cwauditingflag += ' And U_income_expenses.cwauditingflag = 1; ' is_dwsql[26].dwsql_data += 'SELECT sum(U_income_expenses_mx.amt) as amt, ' is_dwsql[26].dwsql_data += 'u_cust.subid2 as subid_debit, ' is_dwsql[26].dwsql_data += 'u_itemdef.subid as subid_credit ' is_dwsql[26].dwsql_data += 'FROM U_income_expenses_mx inner join u_itemdef on ' is_dwsql[26].dwsql_data += 'U_income_expenses_mx.itemid = u_itemdef.itemid inner join U_income_expenses on ' is_dwsql[26].dwsql_data += 'U_income_expenses_mx.billid = U_income_expenses.billid inner join u_cust on ' is_dwsql[26].dwsql_data += 'U_income_expenses.spt_cus_id = u_cust.cusid ' is_dwsql[26].dwsql_data += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[26].dwsql_data += ' group by u_cust.subid2,u_itemdef.subid ' is_dwsql[26].dwsql_data += ' order by u_cust.subid2,u_itemdef.subid; ' end subroutine public subroutine uof_init_s_dwsql28 ();//28 供应商付款单 is_dwsql[28].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_cusamt ' is_dwsql[28].dwsql_checkflag += 'WHERE u_cusamt.cusmonid IN arg_id_str ' is_dwsql[28].dwsql_checkflag += ' And u_cusamt.flag = 0; ' is_dwsql[28].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_cusamt ' is_dwsql[28].dwsql_cwauditingflag += 'WHERE u_cusamt.cusmonid IN arg_id_str ' is_dwsql[28].dwsql_cwauditingflag += ' And u_cusamt.cwauditingflag = 1; ' is_dwsql[28].dwsql_data += 'SELECT sum(u_cusamt.cusamt) as amt, ' is_dwsql[28].dwsql_data += 'u_accounts.subid as subid_debit, ' is_dwsql[28].dwsql_data += 'u_spt.subid as subid_credit ' is_dwsql[28].dwsql_data += 'FROM u_cusamt inner join u_accounts on ' is_dwsql[28].dwsql_data += 'u_cusamt.accountid = u_accounts.accountsid inner join u_spt on ' is_dwsql[28].dwsql_data += 'u_cusamt.cusid = u_spt.sptid ' is_dwsql[28].dwsql_data += 'WHERE u_cusamt.cusmonid IN arg_id_str ' is_dwsql[28].dwsql_data += ' group by u_accounts.subid,u_spt.subid ' is_dwsql[28].dwsql_data += ' order by u_accounts.subid,u_spt.subid; ' end subroutine public subroutine uof_init_s_dwsql29 ();//29 其它应付单 is_dwsql[29].dwsql_checkflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[29].dwsql_checkflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[29].dwsql_checkflag += ' And U_income_expenses.flag = 0; ' is_dwsql[29].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[29].dwsql_cwauditingflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[29].dwsql_cwauditingflag += ' And U_income_expenses.cwauditingflag = 1; ' is_dwsql[29].dwsql_data += 'SELECT sum(U_income_expenses_mx.amt) as amt, ' is_dwsql[29].dwsql_data += 'u_itemdef.subid as subid_debit, ' is_dwsql[29].dwsql_data += 'u_spt.subid2 as subid_credit ' is_dwsql[29].dwsql_data += 'FROM U_income_expenses_mx inner join u_itemdef on ' is_dwsql[29].dwsql_data += 'U_income_expenses_mx.itemid = u_itemdef.itemid inner join U_income_expenses on ' is_dwsql[29].dwsql_data += 'U_income_expenses_mx.billid = U_income_expenses.billid inner join u_spt on ' is_dwsql[29].dwsql_data += 'U_income_expenses.spt_cus_id = u_spt.sptid ' is_dwsql[29].dwsql_data += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[29].dwsql_data += ' group by u_itemdef.subid,u_spt.subid2 ' is_dwsql[29].dwsql_data += ' order by u_itemdef.subid,u_spt.subid2; ' end subroutine public subroutine uof_init_s_dwsql31 ();//31 其它收入单 is_dwsql[31].dwsql_checkflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[31].dwsql_checkflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[31].dwsql_checkflag += ' And U_income_expenses.flag = 0; ' is_dwsql[31].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[31].dwsql_cwauditingflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[31].dwsql_cwauditingflag += ' And U_income_expenses.cwauditingflag = 1; ' is_dwsql[31].dwsql_data += 'SELECT sum(U_income_expenses_mx.amt) as amt, ' is_dwsql[31].dwsql_data += 'u_accounts.subid as subid_debit, ' is_dwsql[31].dwsql_data += 'u_itemdef.subid as subid_credit ' is_dwsql[31].dwsql_data += 'FROM U_income_expenses_mx inner join u_itemdef on ' is_dwsql[31].dwsql_data += 'U_income_expenses_mx.itemid = u_itemdef.itemid inner join U_income_expenses on ' is_dwsql[31].dwsql_data += 'U_income_expenses_mx.billid = U_income_expenses.billid inner join u_accounts on ' is_dwsql[31].dwsql_data += 'U_income_expenses.accountid = u_accounts.accountsid ' is_dwsql[31].dwsql_data += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[31].dwsql_data += ' group by u_accounts.subid,u_itemdef.subid ' is_dwsql[31].dwsql_data += ' order by u_accounts.subid,u_itemdef.subid; ' end subroutine public subroutine uof_init_s_dwsql32 ();//32 其它支出单 is_dwsql[32].dwsql_checkflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[32].dwsql_checkflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[32].dwsql_checkflag += ' And U_income_expenses.flag = 0; ' is_dwsql[32].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM U_income_expenses ' is_dwsql[32].dwsql_cwauditingflag += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[32].dwsql_cwauditingflag += ' And U_income_expenses.cwauditingflag = 1; ' is_dwsql[32].dwsql_data += 'SELECT sum(U_income_expenses_mx.amt) as amt, ' is_dwsql[32].dwsql_data += 'u_itemdef.subid as subid_debit, ' is_dwsql[32].dwsql_data += 'u_accounts.subid as subid_credit ' is_dwsql[32].dwsql_data += 'FROM U_income_expenses_mx inner join u_itemdef on ' is_dwsql[32].dwsql_data += 'U_income_expenses_mx.itemid = u_itemdef.itemid inner join U_income_expenses on ' is_dwsql[32].dwsql_data += 'U_income_expenses_mx.billid = U_income_expenses.billid inner join u_accounts on ' is_dwsql[32].dwsql_data += 'U_income_expenses.accountid = u_accounts.accountsid ' is_dwsql[32].dwsql_data += 'WHERE U_income_expenses.billid IN arg_id_str ' is_dwsql[32].dwsql_data += ' group by u_itemdef.subid,u_accounts.subid ' is_dwsql[32].dwsql_data += ' order by u_itemdef.subid,u_accounts.subid; ' end subroutine public subroutine uof_init_s_dwsql33 ();//33 转帐单 is_dwsql[33].dwsql_checkflag += 'SELECT count(*) as cnt FROM u_rap_money_transfer ' is_dwsql[33].dwsql_checkflag += 'WHERE u_rap_money_transfer.billid IN arg_id_str ' is_dwsql[33].dwsql_checkflag += ' And u_rap_money_transfer.secflag = 0; ' is_dwsql[33].dwsql_cwauditingflag += 'SELECT count(*) as cnt FROM u_rap_money_transfer ' is_dwsql[33].dwsql_cwauditingflag += 'WHERE u_rap_money_transfer.billid IN arg_id_str ' is_dwsql[33].dwsql_cwauditingflag += ' And u_rap_money_transfer.cwauditingflag = 1; ' is_dwsql[33].dwsql_data += 'SELECT sum(u_rap_money_transfer.transferamt) as amt, ' is_dwsql[33].dwsql_data += 'u_in.subid as subid_debit, ' is_dwsql[33].dwsql_data += 'u_out.subid as subid_credit ' is_dwsql[33].dwsql_data += 'FROM u_rap_money_transfer left OUTER join u_accounts u_in on ' is_dwsql[33].dwsql_data += 'u_rap_money_transfer.accountid_in = u_in.accountsid left OUTER join u_accounts u_out on ' is_dwsql[33].dwsql_data += 'u_rap_money_transfer.accountid_out = u_out.accountsid ' is_dwsql[33].dwsql_data += 'WHERE u_rap_money_transfer.billid IN arg_id_str ' is_dwsql[33].dwsql_data += ' group by u_in.subid,u_out.subid; ' end subroutine public function integer uof_cwaudit_bill_getinfo10_and_11 (long arg_scid, long arg_billid, s_cred_port arg_s_credport, ref s_credence arg_ref_s_cred, ref string arg_msg);Int rslt = 1 Long no_mxt,i,j,mx = 1 s_bill_to_cred s_billinfo s_bill_to_credmx s_billmx String ls_billname DateTime null_dt SetNull(null_dt) ls_billname = arg_s_credport.credname SELECT ow_wfjg_out.outwarecode, ow_wfjg_out.outdate, 0, ow_wfjg_out.dscrp, 0 as cusid, 0 as sptid, u_cust.subid, u_storage.subid_sale, u_storage.subid_cost, u_storage.subid, ow_wfjg_out.cwauditingflag, ow_wfjg_out.flag INTO :s_billinfo.billcode, :s_billinfo.billdate, :s_billinfo.billamt, :s_billinfo.dscrp, :s_billinfo.cusid, :s_billinfo.sptid, :s_billinfo.subid_debit, :s_billinfo.subid_credit, :s_billinfo.subid_debit2, :s_billinfo.subid_credit2, :s_billinfo.cwauditingflag, :s_billinfo.flag FROM u_outware left OUTER join u_cust on u_outware.cusid = u_cust.cusid left OUTER join u_storage on u_outware.storageid = u_storage.storageid WHERE u_outware.outwareid = :arg_billid AND u_outware.scid = :arg_scid And u_outware.billtype = 1; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询 '+ls_billname+' 信息及相关会计科目信息失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF s_billinfo.flag = 0 THEN arg_msg = ls_billname + ' 未仓库审核,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.cwauditingflag = 1 THEN arg_msg = ls_billname + ' 已会计审,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit = '' THEN arg_msg = ls_billname + ' 客户未设置会计科目,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 1 THEN IF s_billinfo.subid_credit = '' THEN arg_msg = ls_billname + ' 仓库未设置销售收入会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_debit2 = '' THEN arg_msg = ls_billname + ' 仓库未设置销售成本会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billinfo.subid_credit2 = '' THEN arg_msg = ls_billname + ' 仓库未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF END IF DECLARE cur_billmx CURSOR FOR SELECT u_outwaremx.bsamt, u_outwaremx.costamt, u_mtrldef.mtrlname, u_mtrldef.subid_sale, u_mtrldef.subid_cost, u_mtrldef.subid FROM u_outwaremx INNER join u_mtrldef on u_outwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_outwaremx.outwareid = :arg_billid AND u_outwaremx.scid = :arg_scid Order By u_outwaremx.printid; OPEN cur_billmx; FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxamt2[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid2[mx],:s_billmx.subid3[mx],:s_billmx.subid4[mx]; DO WHILE sqlca.SQLCode = 0 s_billinfo.billamt += s_billmx.mxamt[mx] s_billinfo.billamt2 += s_billmx.mxamt2[mx] mx++ FETCH cur_billmx Into :s_billmx.mxamt[mx],:s_billmx.mxamt2[mx],:s_billmx.mxdscrp[mx],:s_billmx.subid2[mx],:s_billmx.subid3[mx],:s_billmx.subid4[mx]; LOOP CLOSE cur_billmx; mx = mx - 1 IF mx = 0 THEN arg_msg = ls_billname + ' 没有单据明细,请检查' rslt = 0 GOTO ext END IF IF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx IF s_billmx.subid2[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置销售收入会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid3[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置销售成本会计科目,请检查' rslt = 0 GOTO ext END IF IF s_billmx.subid4[j] = '' THEN arg_msg = ls_billname + ' 明细行:'+String(j)+',未设置存货会计科目,请检查' rslt = 0 GOTO ext END IF NEXT END IF //借1 no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 //贷1 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt[j] NEXT END IF //借2 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_debit2 arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billinfo.billamt2 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid3[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = s_billmx.mxamt2[j] arg_ref_s_cred.arg_s_credmx[no_mxt].credit = 0 NEXT END IF //贷2 IF arg_s_credport.ifstorage = 1 THEN no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + Trim(s_billinfo.dscrp) arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billinfo.subid_credit2 arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billinfo.billamt2 ELSEIF arg_s_credport.ifstorage = 2 THEN FOR j = 1 To mx no_mxt++ arg_ref_s_cred.arg_s_credmx[no_mxt].fuluno = no_mxt arg_ref_s_cred.arg_s_credmx[no_mxt].rate = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawdebit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].rawcredit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].amount = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].price = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].deptid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].itemid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billdate = null_dt arg_ref_s_cred.arg_s_credmx[no_mxt].billid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].billno = '' arg_ref_s_cred.arg_s_credmx[no_mxt].cropbillid = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].ifreadonly = 1 arg_ref_s_cred.arg_s_credmx[no_mxt].brief = Trim(s_billinfo.billcode) + ' ' + s_billmx.mxdscrp[j] arg_ref_s_cred.arg_s_credmx[no_mxt].subid = s_billmx.subid4[j] arg_ref_s_cred.arg_s_credmx[no_mxt].debit = 0 arg_ref_s_cred.arg_s_credmx[no_mxt].credit = s_billmx.mxamt2[j] NEXT END IF arg_ref_s_cred.creddate = s_billinfo.billdate arg_ref_s_cred.reldate = s_billinfo.billdate arg_ref_s_cred.relcode = s_billinfo.billcode arg_ref_s_cred.readtype = 0 arg_ref_s_cred.ifauto = 1 arg_ref_s_cred.credtype = arg_s_credport.credtype ext: RETURN rslt end function on uo_bill_cwaudit.create call super::create TriggerEvent( this, "constructor" ) end on on uo_bill_cwaudit.destroy TriggerEvent( this, "destructor" ) call super::destroy end on event constructor;uof_init_s_dwsql01() uof_init_s_dwsql02() uof_init_s_dwsql04() uof_init_s_dwsql05() uof_init_s_dwsql06() uof_init_s_dwsql07() uof_init_s_dwsql08() uof_init_s_dwsql09() uof_init_s_dwsql14() uof_init_s_dwsql15() uof_init_s_dwsql16() uof_init_s_dwsql17() uof_init_s_dwsql18() uof_init_s_dwsql19() uof_init_s_dwsql20() uof_init_s_dwsql25() uof_init_s_dwsql26() uof_init_s_dwsql28() uof_init_s_dwsql29() uof_init_s_dwsql31() uof_init_s_dwsql32() uof_init_s_dwsql33() end event