$PBExportHeader$w_outware_sale_th.srw forward global type w_outware_sale_th from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_outware_sale_th end type type st_3 from statictext within w_outware_sale_th end type type st_2 from statictext within w_outware_sale_th end type type st_msg from statictext within w_outware_sale_th end type type cbx_his from checkbox within w_outware_sale_th end type type ddlb_status from uo_ddlb_status within w_outware_sale_th end type type cbx_enamt_edit from checkbox within w_outware_sale_th end type type cbx_packqty_cmpl from checkbox within w_outware_sale_th end type type cb_scanbill from commandbutton within w_outware_sale_th end type type cb_1 from commandbutton within w_outware_sale_th end type type cbx_enamt_notax_edit from checkbox within w_outware_sale_th end type type cbx_all from checkbox within w_outware_sale_th end type end forward global type w_outware_sale_th from w_publ_1ton_share_detail integer width = 4507 string title = "销售退货单" boolean maxbox = true windowstate windowstate = maximized! boolean if_chkmtrlinfo = true event insert_childrow ( ) event ue_priceaudit ( ) event ue_cpriceaudit ( ) event ue_importseleprice ( ) event ue_paste ( ) event ue_importcusseleprice ( ) event ue_importcusseleprice_his ( ) event ue_fj_edit ( ) event ue_fj_view ( ) event ue_cmpl_status_qty ( ) event ue_cmpl_addqty ( ) event ue_cmpl_qty ( ) event ue_p_cmpl_qty ( ) event ue_view_mxdscrp ( ) event ue_p_formula_set ( ) event ue_ch_outrepdef ( ) event ue_ch_dscrp ( ) event ue_ch_dscrp2 ( ) event ue_ch_dscrp3 ( ) event ue_ch_rel_address ( ) event ue_ch_station ( ) event ue_view_status ( long arg_row, string arg_status ) event ue_view_mxdscrp2 ( ) event ue_view_mxdscrp3 ( ) event ue_view_mxdscrp4 ( ) event ue_cmpl_set0 ( ) event ue_set_tax ( ) event ue_bill_mod ( ) event retrieve_fjnum ( ) event ue_all_c_secaudit ( ) event ue_cmpl_tax ( ) ddlb_scid ddlb_scid st_3 st_3 st_2 st_2 st_msg st_msg cbx_his cbx_his ddlb_status ddlb_status cbx_enamt_edit cbx_enamt_edit cbx_packqty_cmpl cbx_packqty_cmpl cb_scanbill cb_scanbill cb_1 cb_1 cbx_enamt_notax_edit cbx_enamt_notax_edit cbx_all cbx_all end type global w_outware_sale_th w_outware_sale_th type variables uo_outware_sale uo_ware long cur_scid //分店ID long cur_scid_arr[] int cur_editfocus=0 //1:新建2:修改 string cur_outrepcode='' //当前供销编号 long cur_flag= -1 //-1:全部,0仓库未审,1仓库已审核 long cur_secflag= -1 //-1:全部,0财务未审 long priceflag= 0 long flag= 0 long secflag= 0 string ol_cdw_str = '' int ii_enamt_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑 int ii_packqty_cmpl int ii_enamt_notax_edit = 0 //录入不含税单价 string old_rep_select=''//保留原有下拉sql end variables forward prototypes public function integer wf_flagstatus_rf () public function integer wf_refresh_curuc (long arg_scid, long arg_wareid) public function integer wf_check_ifmtrlware (ref string arg_msg) public function integer wf_check_ifcuststorage (long arg_storageid, ref long arg_cusid, ref string arg_msg) public subroutine wf_check_billfj () public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg) public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg) public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid) public function integer wf_get_mtrlwareid (long arg_row) public subroutine wf_cmpl_amt (integer row) public function integer wf_get_price (long arg_row) public function integer wf_check_qtyandaddqty (ref string arg_msg) public function string wf_check_sys_option_check_scanqty () public subroutine wf_set_barcode () public subroutine wf_set_decimal_place () end prototypes event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_priceaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF IF NOT f_power_ind(563) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF uo_ware.priceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF MessageBox('提示','确认成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) end event event ue_cpriceaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF IF NOT f_power_ind(563) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF uo_ware.c_priceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_outware_outwareid[pagerert_row] ls_code = dw_pageretr.Object.u_outware_outwarecode[pagerert_row] f_setsysoplog('销售退货单','反确认,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','反确认成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) end event event ue_importseleprice();IF NOT dw_edit_mode THEN MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!) RETURN END IF Long ls_row,ls_cusid,ls_mtrlid String ls_cuscode,ls_cusname,arg_msg Long uc_row Decimal obj_price ,obj_rebate,obj_rate String err_str = '' Boolean if_exist_price = TRUE Long ls_pricelistid,ll_moneyid String ls_status,ls_pcode,ls_woodcode,ls_unit s_pricelist_ch s_pricelist ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN MessageBox('提示','请先选择币种',information!,OK!) RETURN END IF //直接查询价格表 // IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN Open(w_sale_price_list_ch) s_pricelist = Message.PowerObjectParm IF s_pricelist.pricelistid <= 0 THEN RETURN FOR ls_row = 1 TO dw_child.RowCount() ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row] ls_status = dw_child.Object.u_outwaremx_status[ls_row] ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row] ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row] ls_unit = dw_child.Object.u_outwaremx_unit[ls_row] IF sys_option_price_if_status = 0 THEN ls_status = '' ls_pcode = '' ls_woodcode = '' END IF SELECT u_sale_price_mx.price INTO :obj_price FROM u_sale_price_mx WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND ( u_sale_price_mx.status = :ls_status ) AND ( u_sale_price_mx.pcode = :ls_pcode ) AND ( u_sale_price_mx.woodcode = :ls_woodcode ) AND ( u_sale_price_mx.unit = :ls_unit); IF sqlca.SQLCode <> 0 THEN err_str = err_str + "当前价格表的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n" ELSE dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price END IF NEXT IF err_str <> '' THEN MessageBox('错误',err_str,stopsign!,OK!) END IF end event event ue_importcusseleprice(); //查询客户价格表 //如果客户无价格表则提示是否直接查询价格表 Long ls_row,ls_cusid,ls_mtrlid String ls_cuscode,ls_cusname,arg_msg Long uc_row Decimal obj_price ,obj_rebate,obj_rate String err_str = '' Boolean if_exist_price = TRUE Long ls_pricelistid,ll_moneyid String ls_status,ls_pcode,ls_woodcode,ls_unit s_pricelist_ch s_pricelist uc_row = dw_uc.GetRow() ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN MessageBox('提示','请先选择币种',information!,OK!) RETURN END IF IF dw_uc.Object.u_outware_cusid[uc_row] = 0 OR IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN MessageBox('提示',"请选择销售客户!",information!,OK!) RETURN END IF ls_cusid = dw_uc.Object.u_outware_cusid[uc_row] SELECT u_cust.pricelistid INTO :ls_pricelistid FROM u_cust Where u_cust.cusid = :ls_cusid; IF sqlca.SQLCode <> 0 OR ls_pricelistid <= 0 THEN if_exist_price = FALSE END IF IF if_exist_price = FALSE THEN IF MessageBox('询问',"当前客户的计划售价尚未设定!是否查询价格列表?",Question!,YesNo!) = 2 THEN RETURN Open(w_sale_price_list_ch) s_pricelist = Message.PowerObjectParm IF s_pricelist.pricelistid <= 0 THEN RETURN END IF FOR ls_row = 1 TO dw_child.RowCount() ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row] ls_status = dw_child.Object.u_outwaremx_status[ls_row] ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row] ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row] ls_unit = dw_child.Object.u_outwaremx_unit[ls_row] IF sys_option_price_if_status = 0 THEN ls_status = '' ls_pcode = '' ls_woodcode = '' END IF IF if_exist_price THEN //查询客户价格表 IF Not (IsNull(ls_mtrlid) OR ls_mtrlid = 0 ) THEN SELECT u_sale_price_mx.price INTO :obj_price FROM u_sale_price_list ,u_cust,u_sale_price_mx WHERE (u_sale_price_list.pricelistid = u_cust.pricelistid) AND (u_sale_price_mx.pricelistid = u_sale_price_list.pricelistid) AND ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND ( u_cust.cusid = :ls_cusid ) AND ( u_sale_price_mx.status = :ls_status ) AND ( u_sale_price_mx.pcode = :ls_pcode ) AND ( u_sale_price_mx.woodcode = :ls_woodcode ) and ( u_sale_price_mx.unit = :ls_unit); IF sqlca.SQLCode <> 0 THEN err_str = err_str + "当前客户的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n" ELSE dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price END IF END IF ELSE //查询价格列表 SELECT u_sale_price_mx.price INTO :obj_price FROM u_sale_price_mx WHERE ( u_sale_price_mx.pricelistid = :s_pricelist.pricelistid ) AND ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND ( u_sale_price_mx.status = :ls_status ) AND ( u_sale_price_mx.pcode = :ls_pcode ) AND ( u_sale_price_mx.woodcode = :ls_woodcode ) and ( u_sale_price_mx.unit = :ls_unit); IF sqlca.SQLCode <> 0 THEN err_str = err_str + "当前价格表的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n" ELSE dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price END IF END IF NEXT IF err_str <> '' THEN MessageBox('错误',err_str,stopsign!,OK!) END IF end event event ue_importcusseleprice_his();// //导入客户历史售价 Long ls_row,ls_cusid,ls_mtrlid String ls_cuscode,ls_cusname,arg_msg Long uc_row Decimal obj_price ,obj_rebate,obj_rate String err_str = '' Boolean if_exist_price = TRUE Long ls_pricelistid,ll_moneyid String ls_status,ls_pcode,ls_woodcode,ls_unit s_pricelist_ch s_pricelist uc_row = dw_uc.GetRow() ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN MessageBox('提示','请先选择币种',information!,OK!) RETURN END IF IF dw_uc.Object.u_outware_cusid[uc_row] = 0 OR IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN MessageBox('提示',"请选择销售客户!",information!,OK!) RETURN END IF ls_cusid = dw_uc.Object.u_outware_cusid[uc_row] ls_cuscode = dw_uc.Object.u_cust_cuscode[uc_row] ls_cusname = dw_uc.Object.u_cust_name[uc_row] IF dw_child.RowCount() <= 0 THEN MessageBox('提示',"请选择产品!",information!,OK!) RETURN END IF FOR ls_row = 1 TO dw_child.RowCount() ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row] ls_status = dw_child.Object.u_outwaremx_status[ls_row] ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row] ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row] ls_unit = dw_child.Object.u_outwaremx_unit[ls_row] IF f_getmtrlcusprice(ll_moneyid,ls_mtrlid,ls_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,obj_price,obj_rebate,obj_rate,arg_msg) <> 1 THEN err_str = err_str + "导入客户["+ls_cuscode+ls_cusname+"]的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的最新售价失败,或没有最新售价! ~n " ELSE dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price dw_child.Object.u_outwaremx_rebate[ls_row] = obj_rebate dw_child.Object.u_outwaremx_rate[ls_row] = obj_rate END IF NEXT IF err_str <> '' THEN MessageBox('错误',err_str,stopsign!,OK!) END IF end event event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用',information!,OK!) RETURN END IF //IF NOT f_power_ind(1098) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!) RETURN END IF s_pic.f_long = 133 //销售订单的mainID s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row] s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row] s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) wf_check_billfj() end event event ue_fj_view();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用',information!,OK!) RETURN END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!) RETURN END IF s_pic.f_long = 133 //销售订单的mainID s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row] s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row] s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_cmpl_status_qty();Int ll_flag Decimal ll_value Long ll_num Long i,j,k String ls_mtrlmode String ls_status Decimal ld_qty Decimal ld_addqty String ls_msg Long ll_type s_cmpl_addqty s_cmpl dw_child.AcceptText() dw_uc.SetRedraw(FALSE) IF dw_edit_mode THEN Open(w_cmpl_status_qty_ch) s_cmpl = Message.PowerObjectParm ll_flag = s_cmpl.flag ll_value = s_cmpl.addvalue ll_num = s_cmpl.num ll_type = s_cmpl.cmptype IF ll_value <= 0 THEN RETURN IF dw_child.RowCount() <= 0 THEN RETURN FOR i = 1 TO dw_child.RowCount() ld_addqty = dw_child.Object.u_outwaremx_addqty[i] CHOOSE CASE ll_type CASE 0 ls_status = dw_child.Object.u_outwaremx_status[i] CASE 1 ls_status = dw_child.Object.u_outwaremx_woodcode[i] CASE 2 ls_status = dw_child.Object.u_outwaremx_pcode[i] CASE 3 ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i] CASE 4 ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i] END CHOOSE IF ld_addqty = 0 OR ls_status = '' THEN ELSE ld_qty = 0 IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN MessageBox('错误',ls_msg,stopsign!,OK!) GOTO ext END IF IF ll_flag = 0 THEN dw_child.Object.u_outwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num) ELSE dw_child.Object.u_outwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num) END IF END IF NEXT END IF ext: dw_uc.SetRedraw(TRUE) end event event ue_cmpl_addqty();Int ll_flag Decimal ll_value long ll_num String ls_qty[] Decimal ld_qty Long i,j,k String ls_mtrlmode s_cmpl_addqty s_cmpl dw_child.AcceptText() IF dw_edit_mode THEN Open(w_cmpl_addqty_ch_sale) s_cmpl = Message.PowerObjectParm ll_flag = s_cmpl.flag ll_value = s_cmpl.addvalue ll_num = s_cmpl.num IF ll_value <= 0 THEN RETURN IF dw_child.RowCount() <= 0 THEN RETURN FOR i = 1 TO dw_child.RowCount() IF IsNull(ls_mtrlmode) THEN CONTINUE ELSE ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i] IF Pos(ls_mtrlmode,'*') = 0 THEN CONTINUE ELSE j = 0 DO WHILE Pos(ls_mtrlmode,'*') > 0 j++ ls_qty[j] = Mid(ls_mtrlmode,1,Pos(ls_mtrlmode,'*') - 1) ls_mtrlmode = Mid(ls_mtrlmode,Pos(ls_mtrlmode,'*') + 1) LOOP j++ ls_qty[j] = ls_mtrlmode END IF ld_qty = 1 FOR k = 1 TO j ld_qty = ld_qty * Dec(ls_qty[k]) NEXT IF ll_flag = 0 THEN dw_child.Object.u_outwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_outwaremx_uqty[i] * ll_value,ll_num) ELSE dw_child.Object.u_outwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_outwaremx_uqty[i] / ll_value,ll_num) END IF END IF NEXT END IF end event event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN Long child_row dw_child.AcceptText() child_row = dw_child.GetRow() s_cmpl_qty s_cmpl,s_return s_cmpl.qty = dw_child.Object.u_outwaremx_uqty[child_row] s_cmpl.formula = dw_child.Object.u_outwaremx_formula[child_row] s_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row] s_cmpl.price = dw_child.Object.u_outwaremx_enprice[child_row] s_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row] s_cmpl.status = dw_child.Object.u_outwaremx_status[child_row] s_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row] s_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row] s_cmpl.packqty = dw_child.Object.u_outwaremx_packqty[child_row] IF NOT IsValid(w_cmpl_qty_ch) THEN OpenWithParm(w_cmpl_qty_ch,s_cmpl) s_return = Message.PowerObjectParm IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN dw_child.Object.u_outwaremx_uqty[child_row] = s_return.qty dw_child.Object.u_outwaremx_formula[child_row] = s_return.formula END IF END IF end event event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN Long i String ls_formula String ls_msg String ls_rs String ls_num Decimal ld_addqty Decimal ld_price Decimal ld_rebate Decimal ld_qty dw_child.AcceptText() s_cmpl_qty s_cmpl Open(w_cmpl_qty_ch_son) s_cmpl = Message.PowerObjectParm dw_uc.SetRedraw(FALSE) FOR i = 1 TO dw_child.RowCount() ld_qty = 0 IF dw_child.Object.u_outwaremx_formula[i] <> '' THEN s_cmpl.formula = dw_child.Object.u_outwaremx_formula[i] s_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[i] s_cmpl.price = dw_child.Object.u_outwaremx_enprice[i] s_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[i] s_cmpl.status = dw_child.Object.u_outwaremx_status[i] s_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[i] s_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[i] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i] IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! ) GOTO ext END IF dw_child.Object.u_outwaremx_uqty[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('u_outwaremx_uqty') dw_uc.SetRedraw(TRUE) end event event ue_view_mxdscrp();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_outwaremx_mxdscrp[dw_child.GetRow()] s_view.Title = '销售发货单明细备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_outwaremx_mxdscrp[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_outwaremx_formula[ll_i] = dw_child.Object.u_outwaremx_formula[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_ch_outrepdef();IF NOT IsValid(w_outrepdef_edit_ch) THEN OPEN(w_outrepdef_edit_ch) s_outrepdef s_outrep_ch s_outrep_ch = Message.PowerObjectParm IF s_outrep_ch.outrepname <> '' THEN dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = s_outrep_ch.outrepname END IF END IF end event event ue_ch_dscrp();s_view_dscrp s_view,s_return String ls_dscrp dw_uc.AcceptText() ls_dscrp = dw_uc.Object.u_outware_dscrp[dw_uc.GetRow()] s_view.Title = '销售退货单备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_uc.Object.u_outware_dscrp[dw_uc.GetRow()] = s_return.dscrp END IF end event event ue_ch_dscrp2();s_view_dscrp s_view,s_return String ls_dscrp dw_uc.AcceptText() ls_dscrp = dw_uc.Object.u_outware_dscrp2[dw_uc.GetRow()] s_view.Title = '销售退货单备注2' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_uc.Object.u_outware_dscrp2[dw_uc.GetRow()] = s_return.dscrp END IF end event event ue_ch_dscrp3();s_view_dscrp s_view,s_return String ls_dscrp dw_uc.AcceptText() ls_dscrp = dw_uc.Object.u_outware_dscrp3[dw_uc.GetRow()] s_view.Title = '销售退货单备注3' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_uc.Object.u_outware_dscrp3[dw_uc.GetRow()] = s_return.dscrp END IF end event event ue_ch_rel_address();s_view_dscrp s_view,s_return String ls_dscrp dw_uc.AcceptText() ls_dscrp = dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] s_view.Title = '客户地址' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp2,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] = s_return.dscrp END IF end event event ue_ch_station();IF dw_edit_mode THEN Long ll_row s_station s_station_2 String arg_msg dw_uc.AcceptText() ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请先选择客户',information!,OK!) RETURN END IF IF NOT IsValid(w_station_edit) THEN s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = FALSE s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 s_ch_tran.arg_string_code = '' s_ch_tran.if_select_all = FALSE OpenWithParm(w_station_edit,s_ch_tran) //调用 s_station_2 = Message.PowerObjectParm //接受返回结构 IF s_station_2.stationid = 0 THEN RETURN dw_uc.Object.u_outware_relstr_1[ll_row] = s_station_2.stationname dw_uc.Object.u_outware_relstr_2[ll_row] = s_station_2.tele dw_uc.Object.u_outware_relstr_3[ll_row] = s_station_2.address END IF END IF end event event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return String ls_dscrp long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag dw_child.AcceptText() ll_mtrlid = dw_child.object.u_outwaremx_mtrlid[arg_row] SELECT statusflag, woodcodeflag, pcodeflag into :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag FROM U_MTRLDEF where mtrlid = :ll_mtrlid; IF arg_status = 'u_outwaremx_status' THEN IF ll_statusflag<>5 THEN RETURN ELSEIF arg_status = 'u_outwaremx_woodcode' THEN IF ll_woodcodeflag<>5 THEN RETURN ELSEIF arg_status = 'u_outwaremx_pcode' then IF ll_pcodeflag<>5 THEN RETURN ELSE RETURN END IF ls_dscrp = dw_child.GetItemString(arg_row, arg_status) s_view.Title = '配置内容' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_status,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.setitem(arg_row,arg_status,s_return.dscrp) END IF end event event ue_view_mxdscrp2();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_outwaremx_mxdscrp2[dw_child.GetRow()] s_view.Title = '销售发货单明细备注2' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_outwaremx_mxdscrp2[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_view_mxdscrp3();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_outwaremx_mxdscrp3[dw_child.GetRow()] s_view.Title = '销售发货单明细备注3' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_outwaremx_mxdscrp3[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_view_mxdscrp4();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_outwaremx_mxdscrp4[dw_child.GetRow()] s_view.Title = '销售发货单明细备注4' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_outwaremx_mxdscrp4[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_cmpl_set0();long i for i=1 to dw_child.rowcount() dw_child.object.u_outwaremx_uqty[i]=0 next end event event ue_set_tax();dw_child.AcceptText() IF dw_child.RowCount() < 1 THEN RETURN Long i FOR i = 1 To dw_child.RowCount() dw_child.Object.u_outwaremx_tax[i] = dw_child.Object.u_outwaremx_tax[1] wf_cmpl_amt(i) NEXT end event event ue_bill_mod();IF Not (f_power_ind(562,sys_msg_pow)) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN Long uc_row,ll_outwareid,ll_scid Int li_flag,li_secflag,li_priceflag s_edit_index_tran s_open uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF ll_scid = dw_pageretr.Object.u_outware_scid[uc_row] ll_outwareid = dw_pageretr.Object.u_outware_outwareid[uc_row] SELECT flag,secflag,priceflag INTO :li_flag,:li_secflag,:li_priceflag From u_outware Where scid = :ll_scid And outwareid = :ll_outwareid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询单据审核标记失败,操作取消!') RETURN END IF IF li_flag <> 1 then MessageBox('系统提示','单据未仓审,操作取消!') RETURN END IF IF li_secflag = 1 THEN MessageBox('系统提示','单据已财审,操作取消!') RETURN END IF s_open.b_long = ll_scid s_open.c_long = ll_outwareid OpenWithParm(w_outware_sale_mod_th,s_open) wf_refresh_curuc(ll_scid,ll_outwareid) end event event retrieve_fjnum(); Long i,ls_filecount string arg_billcode dw_pageretr.SetRedraw(False) FOR i = 1 To dw_pageretr.RowCount() arg_billcode = dw_pageretr.Object.u_outware_outwarecode[i] ls_filecount = 0 SELECT count(*) INTO :ls_filecount FROM u_file WHERE relcode = :arg_billcode AND scid = 0 AND billtype =133 Using sys_filedb_sqlca; IF ls_filecount <> 0 then dw_pageretr.Object.fj_num[i] = String(ls_filecount) end if NEXT dw_pageretr.SetRedraw(true) end event event ue_all_c_secaudit();IF dw_edit_mode THEN RETURN long row_count = 0 String ls_msg = '' Long i,rslt Long ll_suc,ll_fail,ll_i IF Not f_power_ind(873) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF for i = 1 to dw_pageretr.rowcount() if dw_pageretr.object.if_ch[i] = 1 then row_count++ next IF row_count <= 0 THEN MessageBox('提示','请勾选目标单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要批财撤当前选择单据吗?",Question!,YesNo! ) = 2 THEN RETURN Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount()) for i = 1 to dw_pageretr.rowcount() w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[i] + " 正在确认..." //进度信息 IF dw_pageretr.object.if_ch[i] = 1 then rslt = 1 string arg_msg = '',ls_code,ls_opemp,ls_outpart long ll_billid, ll_scid,ls_id Int li_priceflag, li_flag, li_secflag ll_scid = dw_pageretr.Object.u_outware_scid[i] ll_billid = dw_pageretr.Object.u_outware_outwareid[i] li_priceflag = dw_pageretr.Object.u_outware_priceflag[i] li_flag = dw_pageretr.Object.flag[i] li_secflag = dw_pageretr.Object.secflag[i] IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN ll_fail++ ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n' CONTINUE ELSE IF li_secflag = 1 THEN IF uo_ware.c_secauditing(True,arg_msg) = 0 THEN ll_fail++ ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n' CONTINUE ELSE ll_suc++ ls_code = dw_pageretr.Object.u_outware_outwarecode[i] ls_opemp = dw_pageretr.Object.u_outware_opemp[i] ls_outpart = dw_pageretr.Object.u_outware_part[i] f_setsysoplog('销售退货单','财务撤审,code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True) END IF ELSE arg_msg = '此单据未进行财审,不能财撤' ll_fail++ ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n' CONTINUE END IF END IF w_sys_wait_jdt.wf_inc(i) //进度 end if next Close(w_sys_wait_jdt) ls_msg = '批财撤成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)+'~r~n'+ls_msg IF ls_msg <> '' THEN OpenWithParm(w_message_err,ls_msg) ELSE MessageBox('提示','全部财撤成功!') END IF this.triggerevent('retrieve_pageretr') end event event ue_cmpl_tax();If dw_child.GetRow() = 0 Then Return Long child_row child_row = dw_child.GetRow() Decimal lde_saleqty, lde_rebate ,lde_taxamt,lde_enprice,lde_enprice_notax lde_saleqty = dw_child.Object.u_outwaremx_saleqty[child_row] lde_rebate = dw_child.Object.u_outwaremx_rebate[child_row] lde_enprice = dw_child.Object.u_outwaremx_enprice[child_row] lde_enprice_notax = dw_child.Object.u_outwaremx_enprice_notax[child_row] If lde_saleqty = 0 Then MessageBox('提示','请填写数量!') Return End If If lde_enprice = 0 And lde_enprice_notax = 0 Then MessageBox('提示','请填写含税单价或者不含税单价') Return End If If Not IsValid(w_ware_cmpl_taxamt) Then s_edit_index_tran s_tran_tax s_tran_tax.b_string = dw_child.Object.u_outwaremx_unit[child_row] //单位 OpenWithParm(w_ware_cmpl_taxamt,s_tran_tax) s_edit_index_tran s_return s_return = Message.PowerObjectParm If Not IsNull(s_return) Then If s_return.b_decimal = 0 Then Return lde_taxamt = s_return.b_decimal dw_child.Object.u_outwaremx_enamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金 If lde_enprice <> 0 Then dw_child.Object.enamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额 dw_child.Object.enamt_notax[child_row] = dw_child.Object.enamt[child_row] - dw_child.Object.u_outwaremx_enamt_tax[child_row] //不含税总金额 dw_child.Object.u_outwaremx_enprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价 dw_child.Object.u_outwaremx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率 elseif lde_enprice_notax <> 0 then dw_child.Object.enamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额 dw_child.Object.enamt[child_row] = dw_child.Object.enamt_notax[child_row] + dw_child.Object.u_outwaremx_enamt_tax[child_row] //总金额 dw_child.Object.u_outwaremx_enprice[child_row] = lde_enprice_notax + lde_taxamt //单价 dw_child.Object.u_outwaremx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率 End If End If End If end event public function integer wf_flagstatus_rf ();//wf_flagstatus_rf() Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Text = '仓审&F' cb_auditing.Enabled = False // cb_cancelaudit.Text = '撤审' // cb_cancelaudit.Enabled = FALSE priceflag = -1 flag = -1 secflag = -1 GOTO ext END IF priceflag = dw_pageretr.Object.u_outware_priceflag[pagerert_row] flag = dw_pageretr.Object.flag[pagerert_row] secflag = dw_pageretr.Object.secflag[pagerert_row] IF dw_edit_mode THEN IF sys_option_hide_ware = 0 THEN cb_auditing.Text = '仓审&F' cb_auditing_cancel.Text = '仓撤' ELSE cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' END IF cb_auditing.Enabled = False cb_auditing_cancel.Enabled = False IF cur_editfocus = 1 THEN priceflag = -1 flag = -1 secflag = -1 END IF ELSE IF sys_option_hide_ware = 0 THEN IF flag = 0 THEN cb_auditing.Enabled = True cb_auditing.Text = '仓审&F' cb_auditing_cancel.Enabled = False ELSEIF flag = 1 And secflag = 0 THEN cb_auditing.Enabled = True cb_auditing.Text = '财审&F' cb_auditing_cancel.Enabled = True cb_auditing_cancel.Text = '仓撤' ELSE cb_auditing.Text = '仓审&F' cb_auditing.Enabled = False cb_auditing_cancel.Enabled = True cb_auditing_cancel.Text = '财撤' END IF ELSE IF flag = 0 THEN cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' cb_auditing.Enabled = True cb_auditing_cancel.Enabled = False ELSE cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' cb_auditing.Enabled = False cb_auditing_cancel.Enabled = True END IF END IF END IF cb_auditing.TriggerEvent('ue_textchange') cb_auditing_cancel.TriggerEvent('ue_textchange') ext: RETURN 0 end function public function integer wf_refresh_curuc (long arg_scid, long arg_wareid);//==================================================================== // Function: wf_refresh_curuc(arg_scid,arg_inwareid) //-------------------------------------------------------------------- // Description: 刷新dw_uc //-------------------------------------------------------------------- // Arguments: // value long arg_scid // value long arg_inwareid //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.11.14 //-------------------------------------------------------------------- // Modify History: // //==================================================================== //wf_refresh_curuc IF arg_wareid <= 0 Or IsNull(arg_wareid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 Long outwareid,cusid DateTime outdate String part,cusname String outrep String dscrp Int planflag Int balcflag String outwarecode DateTime opdate String operator Int li_flag ,li_secflag ,li_priceflag DateTime auditingdate ,secauditingdate ,moddate,pricedate String Auditingrep ,secAuditingrep ,modemp,priceemp String storagename Int thflag String cuscode Int relint_1 Int relint_2 Int storageid Dec mrate String relstr_1 String relstr_2 string relstr_3,rel_address,rel_rep,rel_tele,rel_tele1,transcode,paytype,dscrp2,dscrp3 Decimal otheramt long typeid string rel_fax datetime viewdate SELECT u_outware.outdate, u_outware.outrep, u_outware.part, u_outware.dscrp, u_outware.outwarecode, u_outware.opdate, u_outware.opemp, u_outware.auditingdate, u_outware.flag, u_outware.auditingrep, u_outware.secauditingdate, u_outware.secflag, u_outware.secauditingrep, u_outware.balcflag, u_outware.cusid, u_cust.name, u_storage.storagename , u_outware.thflag, u_outware.modemp, u_outware.moddate, u_outware.priceflag, u_outware.priceemp, u_outware.pricedate, u_outware.relint_1, u_cust.cuscode, u_outware.relint_2, u_outware.storageid, u_outware.mrate, u_outware.relstr_1, u_outware.relstr_2, u_outware.otheramt, u_outware.relstr_3, u_outware.rel_address, u_outware.rel_rep, u_outware.rel_tele, u_outware.rel_tele1, u_outware.transcode, u_outware.paytype, u_outware.dscrp2, u_outware.dscrp3, u_outware.typeid, u_outware.rel_fax, u_outware.viewdate INTO :outdate, :outrep, :part, :dscrp, :outwarecode, :opdate, :operator, :Auditingdate, :li_flag, :Auditingrep, :secAuditingdate, :li_secflag, :secAuditingrep, :balcflag, :cusid, :cusname, :storagename, :thflag, :modemp, :moddate, :li_priceflag, :priceemp, :pricedate, :relint_1, :cuscode , :relint_2, :storageid, :mrate, :relstr_1, :relstr_2, :otheramt, :relstr_3, :rel_address, :rel_rep, :rel_tele, :rel_tele1, :transcode, :paytype, :dscrp2, :dscrp3, :typeid, :rel_fax, :viewdate FROM u_outware, u_cust ,u_storage WHERE ( u_outware.cusid = u_cust.cusid ) AND ( u_outware.outwareid = :arg_wareid ) AND ( u_outware.storageid = u_storage.storageid) AND ( u_outware.scid = :arg_scid); IF sqlca.SQLCode <> 0 THEN MessageBox('错误',"查询操作失败(错误单据唯一码)",stopsign!,OK!) RETURN 0 END IF dw_pageretr.Object.u_outware_scid[uc_row] = arg_scid dw_pageretr.Object.u_outware_outwareid[uc_row] = arg_wareid dw_pageretr.Object.u_outware_outdate[uc_row] = outdate dw_pageretr.Object.u_outware_part[uc_row] = part dw_pageretr.Object.u_outware_outrep[uc_row] = outrep dw_pageretr.Object.u_outware_dscrp[uc_row] = dscrp dw_pageretr.Object.u_outware_balcflag[uc_row] = balcflag dw_pageretr.Object.u_outware_outwarecode[uc_row] = outwarecode dw_pageretr.Object.u_outware_opdate[uc_row] = opdate dw_pageretr.Object.u_outware_opemp[uc_row] = operator dw_pageretr.Object.flag[uc_row] = li_flag dw_pageretr.Object.u_outware_Auditingdate[uc_row] = auditingdate dw_pageretr.Object.u_outware_Auditingrep[uc_row] = Auditingrep dw_pageretr.Object.u_outware_cusid[uc_row] = cusid dw_pageretr.Object.u_cust_name[uc_row] = cusname dw_pageretr.Object.u_storage_storagename[uc_row] = storagename dw_pageretr.Object.u_outware_thflag[uc_row] = thflag dw_pageretr.Object.secflag[uc_row] = li_secflag dw_pageretr.Object.u_outware_secAuditingdate[uc_row] = secauditingdate dw_pageretr.Object.u_outware_secAuditingrep[uc_row] = secAuditingrep dw_pageretr.Object.u_outware_moddate[uc_row] = moddate dw_pageretr.Object.u_outware_modemp[uc_row] = modemp dw_pageretr.Object.u_outware_priceflag[uc_row] = li_priceflag dw_pageretr.Object.u_outware_pricedate[uc_row] = pricedate dw_pageretr.Object.u_outware_priceemp[uc_row] = priceemp dw_pageretr.Object.u_cust_cuscode[uc_row] = cuscode dw_pageretr.Object.u_outware_relint_2[uc_row] = relint_2 dw_pageretr.Object.u_outware_storageid[uc_row] = storageid dw_pageretr.Object.u_outware_relint_1[uc_row] = relint_1 dw_pageretr.Object.u_outware_mrate[uc_row] = mrate dw_pageretr.Object.u_outware_relstr_1[uc_row] = relstr_1 dw_pageretr.Object.u_outware_relstr_2[uc_row] = relstr_2 dw_pageretr.Object.u_outware_otheramt[uc_row] = otheramt dw_pageretr.Object.u_outware_relstr_3[uc_row] = relstr_3 dw_pageretr.Object.u_outware_rel_address[uc_row] = rel_address dw_pageretr.Object.u_outware_rel_rep[uc_row] = rel_rep dw_pageretr.Object.u_outware_rel_tele[uc_row] = rel_tele dw_pageretr.Object.u_outware_rel_tele1[uc_row] = rel_tele1 dw_pageretr.Object.u_outware_transcode[uc_row] = transcode dw_pageretr.Object.u_outware_paytype[uc_row] = paytype dw_pageretr.Object.u_outware_dscrp2[uc_row] = dscrp2 dw_pageretr.Object.u_outware_dscrp3[uc_row] = dscrp3 dw_pageretr.Object.u_outware_typeid[uc_row] = typeid dw_pageretr.Object.u_outware_rel_fax[uc_row] = rel_fax dw_pageretr.Object.u_outware_viewdate[uc_row] = viewdate dw_pageretr.ResetUpdate() dw_pageretr.SetRedraw(True) dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) dw_uc.ResetUpdate() dw_uc.SetRedraw(True) wf_flagstatus_rf() RETURN 1 end function public function integer wf_check_ifmtrlware (ref string arg_msg);// Long i,rowcnt,rslt = 1 Long ls_mtrlwareid,ls_mtrlid,ls_storageid,ls_dxflag,ll_cusid,ls_sptid String ls_mtrlcode String ls_plancode String ls_status,ls_woodcode,ls_pcode Decimal ls_qty,ld_cost rowcnt = dw_child.RowCount( ) ls_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] IF ls_storageid = 0 THEN arg_msg = '请选择仓库' rslt = 0 GOTO ext END IF Int li_if_cus_mtrlware SELECT balctype INTO :li_if_cus_mtrlware FROM u_storage Where storageid = :ls_storageid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询仓库是否使用客户库存失败' rslt = 0 goto ext END IF IF li_if_cus_mtrlware = 1 THEN ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] IF ll_cusid = 0 THEN arg_msg = '请选择客户' rslt = 0 GOTO ext END IF ls_sptid = ll_cusid ELSE ls_sptid = 0 END IF FOR i = 1 TO rowcnt ls_mtrlwareid = dw_child.Object.u_outwaremx_mtrlwareid[i] ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[i] ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i] ls_plancode = dw_child.Object.u_outwaremx_plancode[i] ls_dxflag = dw_child.Object.u_outwaremx_dxflag[i] ls_status = dw_child.Object.u_outwaremx_status[i] ls_woodcode = dw_child.Object.u_outwaremx_woodcode[i] ls_pcode = dw_child.Object.u_outwaremx_pcode[i] ls_qty = dw_child.Object.u_outwaremx_uqty[i] ld_cost=dw_child.Object.u_outwaremx_cost[i] IF ls_mtrlid = 0 OR ls_qty = 0 THEN CONTINUE IF f_insert_0_mtrlware(ls_mtrlwareid,ls_mtrlid,ls_mtrlcode,ls_storageid,ls_sptid,ls_status,ls_woodcode,ls_pcode,ls_plancode,ld_cost,arg_msg) = 0 THEN rslt = 0 GOTO ext ELSE dw_child.Object.u_outwaremx_mtrlwareid[i] = ls_mtrlwareid END IF NEXT dw_child.AcceptText( ) ext: RETURN rslt end function public function integer wf_check_ifcuststorage (long arg_storageid, ref long arg_cusid, ref string arg_msg);Int li_if_cus_mtrlware,rslt = 1 Long ll_cusid SELECT balctype INTO :li_if_cus_mtrlware FROM u_storage Where storageid = :arg_storageid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询仓库是否使用客户库存失败' rslt = 0 GOTO ext END IF IF li_if_cus_mtrlware = 1 THEN ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] IF ll_cusid = 0 THEN arg_msg = '请选择客户' rslt = 0 GOTO ext END IF arg_cusid = ll_cusid ELSE arg_cusid = 0 END IF ext: RETURN rslt end function public subroutine wf_check_billfj ();String arg_msg Long ll_ConnectionID Long cur_billtype long ll_relid,ll_relid_mx,ll_scid Long ls_filecount = 0 Int rslt = 1 uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype Long row,uc_relid row = dw_pageretr.GetRow() IF row > 0 THEN ll_relid = dw_pageretr.Object.u_outware_outwareid[row] ll_scid = dw_pageretr.Object.u_outware_scid[row] ll_relid_mx = 0 ELSE rslt = 0 GOTO ext END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF cur_billtype = 133 //客户投拆单的 mainiD ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount) IF ls_filecount > 0 THEN rslt = 1 GOTO ext ELSE rslt = 0 GOTO ext END IF ext: wf_encl(rslt) DESTROY ls_uo_fjbt end subroutine public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_pageretr.Object.#1[LS_ROW] ll_scid = dw_pageretr.Object.U_outware_scid[LS_ROW] //查询所选模版是否含有图片信息 Long ll_ifpic Long ll_classid SELECT ifpic INTO :ll_ifpic FROM U_XLS_Templates Where id = :ll_xls_Templatesid; IF sqlca.SQLCode <> 0 THEN ll_ifpic = 0 END IF Long ll_i,ll_j Long ll_mtrlid Long ll_fileid Blob ls_filedata SetNull(ls_filedata) String Pathname,ls_filename,ls_filetype String errmsg uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype s_xls_pic_list s_pic //结构数组-用于保存图片路径 IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件 SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 133); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_child.RowCount() ll_mtrlid = dw_child.Object.mtrlid[ll_i] //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE s_pic.path[ll_i] = '' END IF ELSE s_pic.path[ll_i] = '' END IF NEXT END IF // END IF ////可选设置/// arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码 if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码 boolean xls_locked xls_locked = not (sys_option_xls_lock = 1) /// Excel 的可选设置 if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then return 0 end if for i = 1 to arg_str_billlist.count ////可选操作/// arg_str_billlist.bill[i].ds_data = create datastore // arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow // arg_str_billlist.bill[i].ds_data.settransobject(sqlca) //修改点:注意retrieve 参数与上文对应 arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id) next return 1 end function public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_pageretr.Object.#1[LS_ROW] ll_scid = dw_pageretr.Object.U_outware_scid[LS_ROW] Long ll_i,ll_j Long ll_mtrlid Long ll_fileid Blob ls_filedata SetNull(ls_filedata) String Pathname,ls_filename,ls_filetype String errmsg uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype Long ll_classid SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 102); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_child.RowCount() ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ll_i] arg_s_pic.mtrlid[ll_i] = ll_mtrlid //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE arg_s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE arg_s_pic.path[ll_i] = '' END IF ELSE arg_s_pic.path[ll_i] = '' END IF NEXT END IF RETURN 1 end function public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid);Int lst String cstr = '',rstr = '',msg = '' Decimal arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt String ls_moneyname SELECT name INTO :ls_moneyname FROM cw_currency Where moneyid = :arg_moneyid; IF sqlca.SQLCode <> 0 THEN st_msg.Text = '查询币种信息失败' st_msg.BackColor = RGB(255,255,255) RETURN END IF //--------检查信用额 lst = f_getcusrepamt_info(arg_scid,arg_cusid,arg_moneyid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt) IF lst < 0 THEN st_msg.Text = '提示:查询信用额及欠款失败!' st_msg.BackColor = RGB(255,255,255) ELSE IF arg_cusbalcamt >= arg_cusmaxamt THEN cstr = ' 客户欠款超信用额! ' IF arg_outrep_balcamt >= arg_outrep_maxamt THEN rstr = ' 业务员欠款超信用额! ' msg = '提示:~r~n~r~n币种:'+ls_moneyname+"~r~n~r~n" msg += '客户信用额-欠款:'+String(arg_cusmaxamt,'#0.0#')+'-'+String(arg_cusbalcamt,'#0.0#')+'='+String(arg_cusmaxamt - arg_cusbalcamt,'#0.0#')+cstr+"~r~n~r~n" msg += '业务员信用额-欠款:'+String(arg_outrep_maxamt,'#0.0#')+'-'+String(arg_outrep_balcamt,'#0.0#')+'='+String(arg_outrep_maxamt - arg_outrep_balcamt,'#0.0#')+rstr st_msg.Text = msg IF arg_outrep_balcamt >= arg_outrep_maxamt Or arg_cusbalcamt >= arg_cusmaxamt THEN st_msg.BackColor = RGB(255,200,200) ELSE st_msg.BackColor = RGB(255,255,255) END IF END IF end subroutine public function integer wf_get_mtrlwareid (long arg_row);IF arg_row <= 0 THEN RETURN 1 IF arg_row > dw_child.RowCount() THEN RETURN 1 Long rslt = 1 Long ll_cusid Long ll_i,ll_mtrlid, ll_mtrlwareid, ll_storageid String ls_mtrlcode String ls_msg String ls_status,ls_woodcode,ls_pcode, ls_unit,ls_plancode String arg_msg Decimal lde_price,lde_zqrate,lde_rate Long ll_sptid Int li_if_cus_mtrlware dw_child.AcceptText() ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] IF sys_option_ifuse_cusware_sale_th = 1 THEN IF ll_cusid = 0 THEN arg_msg = '仓库使用客户库存,请选择客户' rslt = 0 GOTO ext END IF //检查是否为客户库存模式,是的,要增加客户id SELECT balctype INTO :li_if_cus_mtrlware FROM u_storage Where storageid = :ll_storageid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询仓库是否使用客户库存失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF END IF IF sys_option_ifuse_cusware_sale_th = 1 And li_if_cus_mtrlware = 1 THEN ll_sptid = ll_cusid ELSE ll_sptid = 0 END IF ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[arg_row] ls_status = dw_child.Object.u_outwaremx_status[arg_row] ls_pcode = dw_child.Object.u_outwaremx_pcode[arg_row] ls_woodcode = dw_child.Object.u_outwaremx_woodcode[arg_row] ls_plancode = dw_child.Object.u_outwaremx_plancode[arg_row] ls_unit = dw_child.Object.u_outwaremx_unit[arg_row] lde_price = dw_child.Object.u_outwaremx_cost[arg_row] IF f_insert_0_mtrlware(ll_mtrlwareid,ll_mtrlid,ls_mtrlcode,ll_storageid,ll_sptid,ls_status,ls_woodcode, ls_pcode,ls_plancode,lde_price,arg_msg) = 0 THEN rslt = 0 ll_mtrlwareid = 0 END IF dw_child.Object.u_outwaremx_mtrlwareid[arg_row] = ll_mtrlwareid ext: IF rslt = 0 THEN MessageBox('系统提示',arg_msg) END IF RETURN rslt end function public subroutine wf_cmpl_amt (integer row);IF row <= 0 THEN RETURN IF row > dw_child.RowCount() THEN RETURN Decimal lde_saleqty, lde_rebate,lde_tax IF sys_option_outware_if_saleqty = 0 THEN lde_saleqty = dw_child.Object.u_outwaremx_uqty[row] ELSE lde_saleqty = dw_child.Object.u_outwaremx_saleqty[row] END IF lde_rebate = dw_child.Object.u_outwaremx_rebate[row] lde_tax = dw_child.Object.u_outwaremx_tax[row] //由金额计算单价 IF cbx_enamt_edit.Checked THEN IF dw_child.Object.enamt[row] <> 0 THEN IF lde_rebate <> 0 And lde_saleqty <> 0 THEN dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty dw_child.Object.u_outwaremx_enprice_notax[row] = dw_child.Object.u_outwaremx_enprice[row] / (1 + lde_tax) //不含税单价 END IF END IF ELSEIF cbx_enamt_notax_edit.Checked THEN // 录入不含税单价 IF dw_child.Object.u_outwaremx_enprice_notax[row] <> 0 THEN dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.u_outwaremx_enprice_notax[row] * (1 + lde_tax) dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*lde_rebate*lde_saleqty, 2) END IF ELSE dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*lde_rebate*lde_saleqty, 2) dw_child.Object.u_outwaremx_enprice_notax[row] = dw_child.Object.u_outwaremx_enprice[row] / (1 + lde_tax) //不含税单价 END IF CHOOSE CASE sys_option_outware_sale_amt_round CASE 0 //分 dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 2) CASE 1 dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 1) CASE 2 dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 0) CASE 3 dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 10, 2) * 10 CASE 4 dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 100, 2) * 100 END CHOOSE //由金额计算单价 //IF sys_option_outware_if_saleqty = 0 THEN // IF cbx_enamt_edit.Checked THEN // IF dw_child.Object.enamt[row] <> 0 THEN // IF dw_child.Object.u_outwaremx_rebate[row] <> 0 And dw_child.Object.u_outwaremx_uqty[row] <> 0 THEN // dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / dw_child.Object.u_outwaremx_rebate[row] / dw_child.Object.u_outwaremx_uqty[row] // END IF // END IF // ELSE // dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*dw_child.Object.u_outwaremx_rebate[row]*dw_child.Object.u_outwaremx_uqty[row], 2) // END IF //ELSE // IF cbx_enamt_edit.Checked THEN // IF dw_child.Object.enamt[row] <> 0 THEN // IF dw_child.Object.u_outwaremx_rebate[row] <> 0 And dw_child.Object.u_outwaremx_saleqty[row] <> 0 THEN // dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / dw_child.Object.u_outwaremx_rebate[row] / dw_child.Object.u_outwaremx_saleqty[row] // END IF // END IF // ELSE // dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*dw_child.Object.u_outwaremx_rebate[row]*dw_child.Object.u_outwaremx_saleqty[row], 2) // END IF //END IF end subroutine public function integer wf_get_price (long arg_row);IF arg_row <= 0 THEN RETURN 1 IF arg_row > dw_child.RowCount() THEN RETURN 1 Long rslt = 1 Long ll_cusid, ll_moneyid Long ll_i,ll_mtrlid String ls_msg String ls_status,ls_woodcode,ls_pcode, ls_unit String arg_msg Decimal lde_enprice,lde_rebate,lde_rate dw_uc.AcceptText() dw_child.AcceptText() ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] IF ll_moneyid = 0 THEN RETURN 1 ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] IF ll_cusid = 0 THEN RETURN 1 lde_enprice = 0 lde_rebate = 1 lde_rate = 1 ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[arg_row] ls_status = dw_child.Object.u_outwaremx_status[arg_row] ls_pcode = dw_child.Object.u_outwaremx_pcode[arg_row] ls_woodcode = dw_child.Object.u_outwaremx_woodcode[arg_row] ls_unit = dw_child.Object.u_outwaremx_unit[arg_row] IF f_getmtrlcusprice(ll_moneyid,ll_mtrlid,ll_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,lde_enprice,lde_rebate,lde_rate,arg_msg) <> 1 THEN lde_enprice = 0 lde_rebate = 1 END IF dw_child.Object.u_outwaremx_enprice[arg_row] = lde_enprice dw_child.Object.u_outwaremx_rebate[arg_row] = lde_rebate RETURN rslt end function public function integer wf_check_qtyandaddqty (ref string arg_msg);Long i Int rslt = 1 Long lk_mtrlid,lk_ifcheckaddqty String ls_strcheckaddqty,ls_mtrlmode Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty,dec_rebate String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode Long num s_cmpl_qty s_cmpl s_cmpl.addvalue = 1 String ls_msg dw_child.AcceptText() FOR i = 1 To dw_child.RowCount() lk_mtrlid = dw_child.Object.u_outwaremx_mtrlid[i] dec_qty = dw_child.Object.u_outwaremx_uqty[i] dec_addqty = dw_child.Object.u_outwaremx_addqty[i] ls_status = dw_child.Object.u_outwaremx_status[i] ls_woodcode = dw_child.Object.u_outwaremx_woodcode[i] ls_pcode = dw_child.Object.u_outwaremx_pcode[i] ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i] ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i] ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i] dec_danpackqty=dw_child.Object.u_mtrldef_packqty[i] dec_packqty=dw_child.Object.u_outwaremx_packqty[i] dec_rebate = dw_child.Object.u_outwaremx_rebate[i] SELECT ifcheckaddqty,strcheckaddqty,strcheck_digit Into :lk_ifcheckaddqty,:ls_strcheckaddqty,:num From u_mtrldef Where mtrlid = :lk_mtrlid; s_cmpl.formula = ls_strcheckaddqty s_cmpl.status = ls_status s_cmpl.woodcode = ls_woodcode s_cmpl.pcode = ls_pcode s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode s_cmpl.addqty = dec_addqty s_cmpl.num = num s_cmpl.oldqty = dec_qty s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode s_cmpl.packqty = dec_packqty s_cmpl.rebate = dec_rebate //如果有填写数量 则 只检查数量和辅数的关系 Decimal dec_tmp IF lk_mtrlid > 0 And dec_qty <> 0 THEN IF f_cmpl_qty_check(s_cmpl,dec_tmp,ls_msg) <> TRUE THEN rslt = 0 arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty GOTO ext END IF END IF //如果没有填写数量 则 由辅数计算出数量 IF lk_mtrlid > 0 And dec_qty = 0 THEN IF f_cmpl_qty(s_cmpl,dec_tmp,ls_msg) = 0 THEN rslt = 0 arg_msg += '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty goto ext END IF dw_child.Object.u_outwaremx_uqty[i] = dec_tmp END IF NEXT dw_child.AcceptText() ext: RETURN rslt end function public function string wf_check_sys_option_check_scanqty ();string arg_msg long i FOR i = 1 To dw_child.RowCount() IF dw_child.Object.u_outwaremx_uqty[i] <> dw_child.Object.u_outwaremx_scanqty[i] THEN arg_msg = arg_msg + '第' + String(i) + '~n ' END IF NEXT IF arg_msg <> '' THEN arg_msg='系统选项267,销售发货单,销售退货单 扫描数不等于出仓数不能审核,~n' END IF RETURN arg_msg end function public subroutine wf_set_barcode ();long i,ll_mtrlid string ls_barcode dw_child.accepttext() for i=1 to dw_child.rowcount() ll_mtrlid=0 ls_barcode='' ll_mtrlid=dw_child.object.u_outwaremx_mtrlid[i] select barcode into :ls_barcode from u_mtrldef where mtrlid=:ll_mtrlid; dw_child.object.u_mtrldef_barcode[i]=ls_barcode next end subroutine public subroutine wf_set_decimal_place ();Long i IF sys_option_outware_price_amt_round = 99 THEN RETURN //设置单价保留位数 dw_child.AcceptText() FOR i = 1 To dw_child.RowCount() CHOOSE CASE sys_option_outware_price_amt_round CASE 0 dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0') ) CASE 1 dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.#') ) CASE 2 dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.##') ) CASE 3 dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.###') ) CASE 4 dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.####') ) END CHOOSE NEXT dw_child.AcceptText() //设置单价保留位数 end subroutine on w_outware_sale_th.create int iCurrent call super::create this.ddlb_scid=create ddlb_scid this.st_3=create st_3 this.st_2=create st_2 this.st_msg=create st_msg this.cbx_his=create cbx_his this.ddlb_status=create ddlb_status this.cbx_enamt_edit=create cbx_enamt_edit this.cbx_packqty_cmpl=create cbx_packqty_cmpl this.cb_scanbill=create cb_scanbill this.cb_1=create cb_1 this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit this.cbx_all=create cbx_all iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_scid this.Control[iCurrent+2]=this.st_3 this.Control[iCurrent+3]=this.st_2 this.Control[iCurrent+4]=this.st_msg this.Control[iCurrent+5]=this.cbx_his this.Control[iCurrent+6]=this.ddlb_status this.Control[iCurrent+7]=this.cbx_enamt_edit this.Control[iCurrent+8]=this.cbx_packqty_cmpl this.Control[iCurrent+9]=this.cb_scanbill this.Control[iCurrent+10]=this.cb_1 this.Control[iCurrent+11]=this.cbx_enamt_notax_edit this.Control[iCurrent+12]=this.cbx_all end on on w_outware_sale_th.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.st_3) destroy(this.st_2) destroy(this.st_msg) destroy(this.cbx_his) destroy(this.ddlb_status) destroy(this.cbx_enamt_edit) destroy(this.cbx_packqty_cmpl) destroy(this.cb_scanbill) destroy(this.cb_1) destroy(this.cbx_enamt_notax_edit) destroy(this.cbx_all) end on event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_func_enabled = cb_func.Enabled cb_nextpage.Enabled = FALSE cb_retrieveall.Enabled = FALSE cb_func.Enabled = FALSE //只显未自已管的仓库 datawindowchild childdw String new_sqlstr,modify_str dw_uc.SetTransObject (sqlca) dw_uc.GetChild("u_outware_storageid",childdw) childdw.SetTransObject (sqlca) new_sqlstr = childdw.Describe("DataWindow.Table.Select") IF Len(ol_cdw_str) = 0 THEN ol_cdw_str = new_sqlstr new_sqlstr = f_modify_selectstr(ol_cdw_str) modify_str = "DataWindow.Table.Select='" + new_sqlstr +"'" childdw.Modify ( modify_str ) IF childdw.Retrieve(cur_scid) = 0 THEN childdw.InsertRow(0) END IF /////////////////////////////////// Int li_option_outrep,li_option_opemp string ls_option_opemp IF sys_power_issuper THEN li_option_outrep = 0 ELSE li_option_outrep = sys_option_outrep END IF IF sys_power_issuper or f_power_ind(541) or f_power_ind(871) or f_power_ind(562) or f_power_ind(873) THEN li_option_opemp = 0 // ls_option_opemp = publ_operator ELSE li_option_opemp = sys_option_opemp_sale ls_option_opemp = publ_operator END IF dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_scid_arr,sys_user_storageid,sys_showsaledata_mindt,cur_flag,cur_secflag,sys_areaid,sys_user_outrep, li_option_outrep,ls_option_opemp,li_option_opemp) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF THIS.TriggerEvent('retrieve_childdw') //THIS.TriggerEvent('retrieve_fjnum')//改成单据功能手动刷新 cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+' ( u_outware_outwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+' ( u_outware_outwarecode LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_pageretr.setfilter(obj_expr) dw_pageretr.SetRedraw(False) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) end if dw_pageretr.SetRedraw(TRUE) end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart=" (u_outware.outwarecode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart=" (u_outware.outwarecode like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+ " AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event open;THIS.TriggerEvent('ue_before_open') wf_movetocenter() ds_copy_bill = CREATE datastore ds_copy_bill.DataObject = dw_child.dataobject ds_copy_bill.SetTransObject(sqlca) OLD_TITLE = THIS.Title s_tran = Message.PowerObjectParm IF NOT IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share = s_tran.ds_share END IF dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select") //==================================================================== // Script - w_outware_sale inherited from w_publ_1ton_share_detail for open // Reason: //-------------------------------------------------------------------- // Modified By: yyx Date: 2003.12.01 //-------------------------------------------------------------------- ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据 //==================================================================== ls_newselect = ori_oldselect ds_curquery = CREATE DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) int rtncode // 保留联系人初始sql DataWindowChild dw_child_dddw rtncode = dw_uc.GetChild("u_outware_rel_rep",dw_child_dddw) old_rep_select = Lower(dw_child_dddw.GetSQLSelect()) wf_editindex_lockf() IF s_tran.d_long = 2 THEN cur_scid = s_tran.c_long Int li_item li_item = ddlb_scid.FindItem(s_tran.d_string,0) IF li_item > 0 THEN ddlb_scid.SelectItem(li_item) END IF END IF sle_usual_query.Text = Trim(arg_string_code) IF NOT retrieve_all THEN THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) THIS.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN THIS.TriggerEvent("ue_usual_query_filt") END IF uc_column_int = 25 //uc dw前7列可以编辑 child_column_int = 24 //子dw前8列可以编辑 uo_ware = CREATE uo_outware_sale uo_ware.commit_transaction = sqlca s_hide_col s_col,s_col1,s_col2 s_col.col_1 = 'u_outwaremx_enprice' s_col.col_2 = 'u_outwaremx_rebate' s_col.col_3 = 'enamt' s_col.col_4 = 'u_outwaremx_ware_fprice' s_col.col_5 = 'u_outwaremx_fprice' s_col.col_6 = 'amt' s_col.col_7 = 'u_outwaremx_price' s_col.col_8 = 'u_outwaremx_dftsaleprice' s_col.col_9 = 'u_outwaremx_enprice_notax' s_col.col_10 = 'z_h_price' s_col.col_11 = 'z_h_amt' s_col.col_12 = 'enamt_notax' f_hide_col(122,dw_child,s_col) s_col2.col_1 = 'u_outwaremx_enamt_tax' f_hide_col(122,dw_child,s_col2) s_col1.col_1 = 'u_outwaremx_cost' f_hide_col(490,dw_child,s_col1) s_hide_col s_col_mtrlsectype s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' f_hide_col(1308,dw_child,s_col_mtrlsectype) s_hide_col s_col_zxmtrlmode s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' f_hide_col(1309,dw_child,s_col_zxmtrlmode) end event event refresh_interface;call super::refresh_interface;wf_flagstatus_rf() st_msg.X = dw_pageretr.X st_msg.Y = dw_pageretr.Y st_msg.Width = dw_pageretr.Width st_msg.Height = dw_pageretr.Height st_msg.Visible = dw_edit_mode ddlb_status.Enabled = NOT dw_edit_mode ddlb_scid.Enabled = NOT dw_edit_mode cbx_enamt_edit.Enabled = NOT dw_edit_mode cbx_packqty_cmpl.Enabled = NOT dw_edit_mode cbx_enamt_notax_edit.Enabled = NOT dw_edit_mode IF dw_edit_mode THEN //编缉状态明细不选择 dw_child.SelectRow(0,FALSE) ddlb_scid.Enabled = FALSE else cur_editfocus = 0 st_msg.Text = '' IF sys_scid > 0 THEN ddlb_scid.Enabled = FALSE ELSE ddlb_scid.Enabled = TRUE END IF END IF //后面还有对金额的分权限处理 IF ii_enamt_edit = 0 THEN dw_child.Modify('enamt.protect = 1~t enamt.Color = 0') dw_child.Modify('enamt_t.Color = 0') ELSE dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"') dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"') END IF //867-仓审后修改单价 //销售数量使用 IF sys_option_outware_if_saleqty = 0 THEN //不分离 dw_child.Modify('u_outwaremx_saleqty.protect = 1~t u_outwaremx_saleqty.Color = 0') dw_child.Modify('u_outwaremx_saleqty_t.Color = 0') ELSE dw_child.Modify('u_outwaremx_saleqty.protect = 0~t u_outwaremx_saleqty.Color = "0~trgb(0,0,255)"') dw_child.Modify('u_outwaremx_saleqty_t.Color = "0~trgb(0,0,255)"') END IF IF sys_option_packqty_sale = 0 THEN dw_child.Modify('u_outwaremx_packqty.protect=1 ') ELSE dw_child.Modify('u_outwaremx_packqty.protect=0 ') END IF IF dw_edit_mode THEN IF flag = 1 AND secflag = 0 THEN dw_uc.Modify('u_outware_storageid.protect=1') dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_outwaremx_uqty.protect=1 ~n u_outwaremx_addqty.protect=1 ~n u_outwaremx_status.protect=1 ~n u_outwaremx_woodcode.protect=1 ~n u_outwaremx_pcode.protect=1 ~n u_outwaremx_plancode.protect=1') cb_xm.Enabled = FALSE ELSE dw_uc.Modify('u_outware_storageid.protect=0') dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n u_outwaremx_status.protect=0 ~n u_outwaremx_woodcode.protect=0 ~n u_outwaremx_pcode.protect=0 ~n u_outwaremx_plancode.protect=0') cb_xm.Enabled = TRUE END IF ELSE dw_uc.Modify('u_outware_storageid.protect=0') dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n u_outwaremx_status.protect=0 ~n u_outwaremx_woodcode.protect=0 ~n u_outwaremx_pcode.protect=0 ~n u_outwaremx_plancode.protect=0') END IF IF dw_edit_mode THEN IF flag = 1 AND secflag = 0 THEN dw_uc.Modify('u_outware_storageid.protect=1 ~n u_cust_cuscode.protect=1 ~n u_outware_relint_2.protect=1 ~n u_outware_mrate.protect=1') dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_outwaremx_uqty.protect=1 ~n u_outwaremx_addqty.protect=1 ~n u_outwaremx_outtype.protect=1 ~n u_outwaremx_status.protect=1 ~n u_outwaremx_woodcode.protect=1 ~n u_outwaremx_pcode.protect=1 ~n u_outwaremx_plancode.protect=1 ~n u_outwaremx_packqty.protect=1') IF NOT f_power_ind(867) THEN dw_child.Modify('u_outwaremx_enprice.protect=1 ') END IF cb_xm.Enabled = FALSE ELSE dw_uc.Modify('u_outware_storageid.protect=0 ~n u_cust_cuscode.protect=0 ~n u_outware_relint_2.protect=0 ~n u_outware_mrate.protect=0') dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n u_outwaremx_outtype.protect=0 ~nu_outwaremx_status.protect=0 ~n u_outwaremx_woodcode.protect=0 ~n u_outwaremx_pcode.protect=0 ~n u_outwaremx_plancode.protect=0 ~n u_outwaremx_packqty.protect=0') cb_xm.Enabled = TRUE END IF //ELSE // dw_child.Modify('u_outwaremx_enprice.protect=0 ') END IF end event event close;call super::close;//destroy uo_ware wf_del_tempfilepathname() end event event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 IF Not dw_edit_mode THEN RETURN IF flag = 1 THEN RETURN Long child_row,ll_storageid = 0,cnt_childdw Long ll_moneyid String errmsg String ls_plancode String ls_con_name Decimal ld_tax string ls_cusmtrlcode,ls_cusmtrlname,ls_cusmtrlmode//客户物料名称 long ls_cusid,ls_mtrlid ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN MessageBox('提示','请先选择币种',information!,OK!) RETURN END IF ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] IF ll_storageid = 0 Or IsNull(ll_storageid) THEN MessageBox('提示','请先选择仓库',information!,OK!) RETURN END IF Long ls_null s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行 s_tranf8.arg_pkid = 0 //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.b_long = cur_scid Long chc = 1,ls_j,ll_cusid,ll_custid SetNull(ls_null) ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] ll_custid = ll_cusid IF IsNull(ll_cusid) Or ll_cusid = 0 THEN This.TriggerEvent("ue_f9") ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] IF IsNull(ll_cusid) Or ll_cusid = 0 THEN RETURN END IF END IF child_row = dw_child.GetRow() cnt_childdw = dw_child.RowCount() IF cbx_his.Checked THEN //退货 IF dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] = 0 THEN This.TriggerEvent("ue_f9") END IF s_tranf8.d_long = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] s_tranf8.c_long = -1 IF Not IsValid(w_outware_tsale_ch) THEN OpenWithParm(w_outware_tsale_ch,s_tranf8) //调用 s_outware_tsale_array S_INSCUST2 S_INSCUST2 = Message.PowerObjectParm //接受返回结构 IF UpperBound(S_INSCUST2.mtrlwareid) > 0 THEN dw_uc.AcceptText() IF Trim(dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] = S_INSCUST2.rel_address[1] END IF IF Trim(dw_uc.Object.u_outware_rel_rep[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_rel_rep[dw_uc.GetRow()] = S_INSCUST2.rel_rep[1] END IF IF Trim(dw_uc.Object.u_outware_rel_tele[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_rel_tele[dw_uc.GetRow()] = S_INSCUST2.rel_tele[1] END IF IF Trim(dw_uc.Object.u_outware_rel_tele1[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_rel_tele1[dw_uc.GetRow()] = S_INSCUST2.rel_tele1[1] END IF IF Trim(dw_uc.Object.u_outware_relstr_1[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_relstr_1[dw_uc.GetRow()] = S_INSCUST2.relstr_1[1] END IF IF Trim(dw_uc.Object.u_outware_relstr_2[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_relstr_2[dw_uc.GetRow()] = S_INSCUST2.relstr_2[1] END IF IF Trim(dw_uc.Object.u_outware_relstr_3[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_relstr_3[dw_uc.GetRow()] = S_INSCUST2.relstr_3[1] END IF IF Trim(dw_uc.Object.u_outware_transcode[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_transcode[dw_uc.GetRow()] = S_INSCUST2.transcode[1] END IF IF Trim(dw_uc.Object.u_outware_dscrp2[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_dscrp2[dw_uc.GetRow()] = S_INSCUST2.dscrp2[1] END IF IF Trim(dw_uc.Object.u_outware_dscrp3[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_dscrp3[dw_uc.GetRow()] = S_INSCUST2.dscrp3[1] END IF IF Trim(dw_uc.Object.u_outware_outrep[dw_uc.GetRow()]) = '' THEN dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = S_INSCUST2.outrep[1] END IF END IF FOR ls_j = 1 To UpperBound(S_INSCUST2.mtrlwareid) IF S_INSCUST2.outwareid[ls_j] > 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_outwaremx_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.u_mtrldef_tflag[child_row] = 1 IF S_INSCUST2.storageid[ls_j] <> ll_storageid THEN dw_child.Object.u_outwaremx_mtrlwareid[child_row] = 0 ELSE dw_child.Object.u_outwaremx_mtrlwareid[child_row] = S_INSCUST2.mtrlwareid[ls_j] END IF dw_child.Object.u_outwaremx_cost[child_row] = S_INSCUST2.cost[ls_j] dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST2.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST2.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST2.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST2.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST2.unit[ls_j] dw_child.Object.u_outwaremx_addqty[child_row] = - S_INSCUST2.addqty[ls_j] dw_child.Object.u_outwaremx_enprice[child_row] = S_INSCUST2.enprice[ls_j] dw_child.Object.u_outwaremx_rebate[child_row] = S_INSCUST2.rebate[ls_j] dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST2.planprice[ls_j] dw_child.Object.u_outwaremx_dxflag[child_row] = S_INSCUST2.dxflag[ls_j] // dw_child.Object.u_outwaremx_sptid[child_row] = S_INSCUST2.sptid[ls_j] dw_child.Object.u_outwaremx_storageid[child_row] = S_INSCUST2.storageid[ls_j] dw_child.Object.u_outwaremx_mxdscrp[child_row] = '退:'+S_INSCUST2.outwarecode[ls_j] dw_child.Object.u_outwaremx_mxdscrp2[child_row] = S_INSCUST2.mxdscrp2[ls_j] dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST2.status[ls_j] dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST2.woodcode[ls_j] dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST2.pcode[ls_j] dw_child.Object.u_outwaremx_plancode[child_row] = S_INSCUST2.plancode[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST2.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST2.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST2.mtrltype[ls_j] dw_child.Object.u_outwaremx_relcode[child_row] = S_INSCUST2.outwarecode[ls_j] dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST2.unit[ls_j] dw_child.Object.u_outwaremx_uqty[child_row] = 0 - S_INSCUST2.uqty[ls_j] dw_child.Object.u_outwaremx_rate[child_row] = S_INSCUST2.rate[ls_j] dw_child.Object.u_outwaremx_relid[child_row] = S_INSCUST2.relid[ls_j] dw_child.Object.u_outwaremx_relprintid[child_row] = S_INSCUST2.relprintid[ls_j] ls_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]//客户物料名称 ls_mtrlid =S_INSCUST2.mtrlid[ls_j] Select isnull(cusmtrlcode,''), isnull(cusmtrlname,''), isnull(cusmtrlmode,'') Into :ls_cusmtrlcode, :ls_cusmtrlname, :ls_cusmtrlmode From u_cusmtrlname Where mtrlid= :ls_mtrlid and cusid= :ls_cusid ; dw_child.Object.cusmtrlname[child_row] = ls_cusmtrlname dw_child.Object.cusmtrlcode[child_row] = ls_cusmtrlcode dw_child.Object.cusmtrlmode[child_row] =ls_cusmtrlmode IF S_INSCUST2.tax[ls_j] <> 0 THEN dw_child.Object.u_outwaremx_tax[child_row] = S_INSCUST2.tax[ls_j] ELSE IF f_find_tax(ll_cusid,'u_cust',ld_tax) = 0 THEN ld_tax = 0 ELSE dw_child.Object.u_outwaremx_tax[child_row] = ld_tax END IF END IF Long li_statusflag Long li_woodcodeflag Long li_pcodeflag s_mtrldef_array arg_s_mtrldef IF f_find_mtrl(S_INSCUST2.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag // IF li_statusflag = 4 Or li_statusflag = 2 THEN // dw_child.Object.u_outwaremx_status[child_row] = arg_s_mtrldef.status[1] // END IF // IF li_woodcodeflag = 4 THEN // dw_child.Object.u_outwaremx_woodcode[child_row] = arg_s_mtrldef.woodcode[1] // END IF // IF li_pcodeflag = 4 THEN // dw_child.Object.u_outwaremx_pcode[child_row] = arg_s_mtrldef.pcode[1] // END IF END IF NEXT dw_child.SetColumn('u_outwaremx_uqty') END IF ELSE IF Not IsValid(W_mtrldef_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.if_select_all = True s_ch_tran.b_long = -1 s_ch_tran.c_long = ll_storageid dw_child.AcceptText() IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(W_mtrldef_edit,s_ch_tran) s_mtrldef_array S_INSCUST S_INSCUST = Message.PowerObjectParm IF wf_check_ifcuststorage(ll_storageid,ll_cusid,errmsg) = 0 THEN MessageBox('错误',errmsg,stopsign!,OK!) RETURN END IF FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_outwaremx_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF s_mtrlware_noalloc_array s_ware // IF f_find_mtrlware( S_INSCUST.mtrlcode[ls_j],ll_storageid,ll_cusid,s_ware) <> 0 THEN // dw_child.Object.u_outwaremx_mtrlwareid[child_row] = s_ware.mtrlwareid[1] // dw_child.Object.u_outwaremx_cost[child_row] = s_ware.cost[1] // ELSE // dw_child.Object.u_outwaremx_mtrlwareid[child_row] = 0 // dw_child.Object.u_outwaremx_cost[child_row] = 0 // END IF dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_outwaremx_fprice[child_row] = S_INSCUST.planprice[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_prdpackcode[child_row] = S_INSCUST.prdpackcode[ls_j] dw_child.Object.u_mtrldef_packqty[child_row] = S_INSCUST.packqty[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] IF f_find_tax(ll_custid,'u_cust',ld_tax) = 0 THEN ld_tax = 0 ELSE dw_child.Object.u_outwaremx_tax[child_row] = ld_tax END IF ls_plancode = f_get_newplancode(ll_storageid) dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode wf_get_price(child_row) dw_child.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_child.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_child.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] ls_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]//客户物料名称 ls_mtrlid =S_INSCUST.mtrlid[ls_j] Select isnull(cusmtrlcode,''), isnull(cusmtrlname,''), isnull(cusmtrlmode,'') Into :ls_cusmtrlcode, :ls_cusmtrlname, :ls_cusmtrlmode From u_cusmtrlname Where mtrlid= :ls_mtrlid and cusid= :ls_cusid ; dw_child.Object.cusmtrlname[child_row] = ls_cusmtrlname dw_child.Object.cusmtrlcode[child_row] = ls_cusmtrlcode dw_child.Object.cusmtrlmode[child_row] =ls_cusmtrlmode IF S_INSCUST.statusflag[ls_j] = 4 THEN dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST.status[1] END IF IF S_INSCUST.woodcodeflag[ls_j] = 4 THEN dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST.woodcode[1] END IF IF S_INSCUST.pcodeflag[ls_j] = 4 THEN dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST.pcode[1] END IF //3个属性默认值 String ls_status_default,ls_woodcode_default,ls_pcode_default ls_status_default = '' ls_woodcode_default = '' ls_pcode_default = '' SELECT status_default,woodcode_default,pcode_default Into :ls_status_default,:ls_woodcode_default,:ls_pcode_default From u_mtrldef Where mtrlid = :S_INSCUST.mtrlid[ls_j]; IF Len(ls_status_default) > 0 THEN dw_child.Object.u_outwaremx_status[child_row] = Trim(ls_status_default) END IF IF Len(ls_woodcode_default) > 0 THEN dw_child.Object.u_outwaremx_woodcode[child_row] = Trim(ls_woodcode_default) END IF IF Len(ls_pcode_default) > 0 THEN dw_child.Object.u_outwaremx_pcode[child_row] = Trim(ls_pcode_default) END IF IF S_INSCUST.statusflag[ls_j] = 2 THEN SELECT name INTO :ls_con_name FROM u_mtrl_configure Where u_mtrl_configure.mtrlid = :S_INSCUST.mtrlid[ls_j] And u_mtrl_configure.DefaultPZ = 1; dw_child.Object.u_outwaremx_status[child_row] = ls_con_name END IF dw_child.SetColumn('u_outwaremx_uqty') END IF NEXT END IF END IF dw_child.SetRedraw(True) dw_child.SetFocus() This.TriggerEvent('ue_allowedit') ////////////////////////////////// // end event event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid,ll_scid row=dw_pageretr.getrow() if row>0 then ll_scid=dw_pageretr.object.u_outware_scid[row] uc_relid=dw_pageretr.object.u_outware_outwareid[row] dw_child.SetRedraw (false) dw_child.retrieve(ll_scid,uc_relid) dw_child.SetRedraw (true) else dw_child.reset() end if end event event ue_f9;call super::ue_f9;IF Not dw_edit_mode THEN RETURN Long child_row Long ll_scid, ll_moneyid child_row = dw_uc.GetRow() IF child_row = 0 THEN MessageBox('提示','请选定出仓单!',information!,OK!) RETURN END IF IF Not IsValid(W_cust_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) //查询列(物料编码)部分内容,用于初步筛选 dw_uc.AcceptText() s_ch_tran.arg_string_code = Trim(dw_uc.Object.u_cust_cuscode[child_row]) OpenWithParm(W_cust_edit,s_ch_tran) //调用 s_custom S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值 dw_uc.SetRedraw(False) dw_uc.Object.u_outware_cusid[child_row] = S_INSCUST.cusid dw_uc.Object.u_cust_name[child_row] = S_INSCUST.Name dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode dw_uc.Object.u_outware_outrep[child_row] = S_INSCUST.bsntype dw_uc.Object.u_outware_relstr_1[child_row] = S_INSCUST.freight dw_uc.Object.u_outware_relstr_2[child_row] = S_INSCUST.freight_tele dw_uc.Object.u_outware_rel_address[child_row] = S_INSCUST.Address dw_uc.Object.u_outware_rel_tele[child_row] = S_INSCUST.tele dw_uc.Object.u_outware_rel_tele1[child_row] = S_INSCUST.tele1 dw_uc.Object.u_outware_rel_fax[child_row] = S_INSCUST.faxno dw_uc.Object.u_outware_rel_rep[child_row] = S_INSCUST.rep IF S_INSCUST.banktypeid > 0 THEN dw_uc.Object.u_outware_relint_1[child_row] = S_INSCUST.banktypeid END IF dw_uc.SetRedraw(True) ll_scid = dw_uc.Object.u_outware_scid[child_row] ll_moneyid = dw_uc.Object.u_outware_relint_2[child_row] wf_getcusrepamt_info(ll_scid,S_INSCUST.cusid,ll_moneyid) dw_uc.SetColumn("u_outware_outdate") END IF END IF end event event ue_viewprint;call super::ue_viewprint;IF Not (f_power_ind(564) OR f_power_ind(568)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF s_print_msg ls_prmsg ls_prmsg.retr_pram_falg = 15 IF dw_uc.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF sys_option_auditprint_sale_th = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] <> 1 THEN MessageBox('提示','单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF ls_prmsg.obj_dwNAME = ls_newname ELSE ls_prmsg.obj_dwNAME = 'dw_rp_outware_sale_edit_th' END IF ls_prmsg.tag_text = '销售退货单' ls_prmsg.filter_string = '' ls_prmsg.pagech_flag = 0 ls_prmsg.retr_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()] ls_prmsg.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()] ls_prmsg.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF OpenWithParm(w_publ_preview,ls_prmsg) IF ifpic = 1 THEN Long li FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN FileDelete(LS_PRMSG.s_pic.path[li]) END IF NEXT END IF //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event resize;call super::resize;st_msg.width = this.width - (3600 - 1166) end event event ue_print;call super::ue_print;//--直接打印 IF Not (f_power_ind(564) OR f_power_ind(568)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print S_print_MSG LS_PRMSG IF dw_uc.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF sys_option_auditprint_sale_th = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] <> 1 THEN MessageBox('提示','单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.retr_pram_falg = 15 IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_outware_sale_edit_th' END IF LS_PRMSG.TAG_TEXT = '销售退货单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()] LS_PRMSG.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() IF ifpic = 1 THEN Long li FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN FileDelete(LS_PRMSG.s_pic.path[li]) END IF NEXT END IF //**更新打印次料 f_update_printnum('u_outware',1,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_addzy;call super::ue_addzy;IF NOT (f_power_ind(700) or f_power_ind(767)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' String ls_str Long uc_row s_inputbox s_sreu uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF s_sreu.Title = '请输入要补充到备注的内容' s_sreu.old_text = '' OpenWithParm(w_inputbox,s_sreu) ls_str = Message.StringParm IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN IF uo_ware.add_dscrp(dw_pageretr.Object.u_outware_scid[uc_row],dw_pageretr.Object.u_outware_outwareid[uc_row],ls_str,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN ELSE MessageBox('提示','添加备注操作成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[uc_row],dw_pageretr.Object.u_outware_outwareid[uc_row]) END IF end event event ue_f10;call super::ue_f10;IF NOT dw_edit_mode THEN RETURN IF flag = 1 THEN RETURN Long child_row Int if_addmxdscrp String ls_mxdscrp s_addqty_input s_input dw_child.AcceptText( ) child_row = dw_child.GetRow() IF child_row <= 0 THEN RETURN IF dw_child.Object.u_outwaremx_mtrlid[child_row] <= 0 THEN RETURN ls_mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row] IF NOT IsValid(w_addqty_input) THEN OpenWithParm(w_addqty_input,ls_mxdscrp) s_input = Message.PowerObjectParm IF s_input.addqty = -1 THEN RETURN dw_child.Object.u_outwaremx_addqty[child_row] = s_input.addqty IF s_input.addqtystr <> '' THEN dw_child.Object.u_outwaremx_mxdscrp[child_row] = s_input.addqtystr END IF IF s_input.formula <> '' THEN dw_child.Object.u_outwaremx_formula[child_row] = s_input.formula END IF IF s_input.flag = 1 THEN dw_child.Object.u_outwaremx_uqty[child_row] = s_input.qty END IF END IF end event event ue_f11;call super::ue_f11;IF NOT dw_edit_mode THEN RETURN Long child_row Long ls_outtypeid child_row = dw_child.GetRow() IF child_row <= 0 THEN RETURN IF NOT IsValid(w_outtype_edit) THEN Open(w_outtype_edit) ls_outtypeid = Message.doubleparm datawindowchild childdw dw_child.getchild("u_outwaremx_outtype",childdw) childdw.SetTransObject (sqlca) IF childdw.retrieve() = 0 then childdw.insertrow(0) end if IF ls_outtypeid = 0 THEN RETURN dw_child.Object.u_outwaremx_outtype[child_row] = ls_outtypeid dw_child.SetFocus() END IF end event event ue_f12;call super::ue_f12;IF NOT IsValid(w_unit_ch) THEN IF dw_child.GetRow() < 1 THEN RETURN Long ls_mtrlid,ls_cusid,ls_moneyid string ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode Decimal rtn_price,rtn_zqrate,rtn_rate ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] ls_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] ls_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] ls_status = dw_child.object.u_outwaremx_status[dw_child.GetRow()] ls_woodcode = dw_child.object.u_outwaremx_woodcode[dw_child.GetRow()] ls_pcode = dw_child.object.u_outwaremx_pcode[dw_child.GetRow()] IF IsNull(ls_cusid) OR ls_cusid = 0 THEN THIS.TriggerEvent("ue_f9") END IF OpenWithParm(w_unit_ch,ls_mtrlid) s_unit s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_child.Object.u_outwaremx_unit[dw_child.GetRow()] = s_inscust.unit ls_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] ls_1stunit = s_inscust.unit IF f_getmtrlcusprice(ls_moneyid,ls_mtrlid,ls_cusid,ls_1stunit,'','','',0,rtn_price,rtn_zqrate,rtn_rate,arg_msg) <> 1 THEN dw_child.Object.u_outwaremx_rate[dw_child.GetRow()] = s_inscust.rate ELSE dw_child.Object.u_outwaremx_enprice[dw_child.GetRow()]= rtn_price dw_child.Object.u_outwaremx_rebate[dw_child.GetRow()] = rtn_zqrate /*MEI:销售退货单转换率不受销售价模式约束 20160510*/ dw_child.Object.u_outwaremx_rate[dw_child.GetRow()] = s_inscust.rate END IF END IF END IF end event event ue_addmx;Long uc_row,ll_flag uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据',information!,OK!) RETURN END IF ll_flag = dw_pageretr.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容',information!,OK!) RETURN END IF this.triggerevent('ue_f8') dw_child.SetFocus() end event event ue_deletemx;Long uc_row,ll_flag uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据',information!,OK!) RETURN END IF ll_flag = dw_pageretr.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN IF dw_child.GETROW()=0 THEN MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!) RETURN END IF dw_child.DeleteRow (0) dw_child.TriggerEvent (rowfocuschanged!) end event event ue_copyrow;Long uc_row,ll_flag uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据',information!,OK!) RETURN END IF ll_flag = dw_pageretr.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容',information!,OK!) RETURN END IF long ll_childrow ll_childrow = dw_child.GETROW() IF ll_childrow=0 THEN MESSAGEBOX('提示','请选择复制对象!',information!,OK!) RETURN END IF dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!) ds_copypaste.RowsCopy (1,1,Primary!,dw_child,dw_child.rowcount() + 1,Primary!) ds_copypaste.reset() dw_child.selectrow(0,false) dw_child.setrow(dw_child.rowcount()) dw_child.scrolltorow(dw_child.rowcount()) dw_child.selectrow(dw_child.rowcount(),true) end event event ue_insertmx;Long uc_row,ll_flag uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据',information!,OK!) RETURN END IF ll_flag = dw_pageretr.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容',information!,OK!) RETURN END IF long ll_childrow,li_row ll_childrow = dw_child.getrow() li_row = dw_child.insertrow(ll_childrow) dw_child.selectrow(0,false) dw_child.setrow(li_row) dw_child.scrolltorow(li_row) dw_child.selectrow(li_row,true) end event event ue_rpt_print;call super::ue_rpt_print;//--直接打印 IF Not (f_power_ind(564) OR f_power_ind(568)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN uo_rpt_print_preview uo_print S_rpt_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = THIS.Title LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_scid = dw_pageretr.Object.u_outware_scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[row] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint;//--直接打印 IF Not (f_power_ind(564) OR f_power_ind(568)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF s_rpt_print_msg s_print s_print.retr_pram_falg = 15 s_print.rpid = ls_msgprintid_rpt s_print.retr_flag = TRUE s_print.tag_text = THIS.Title s_print.rpname = ls_rpname s_print.retr_scid = dw_pageretr.Object.u_outware_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event type cb_func from w_publ_1ton_share_detail`cb_func within w_outware_sale_th end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_outware_sale_th end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_outware_sale_th integer x = 178 integer y = 188 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_outware_sale_th integer x = 2930 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_outware_sale_th integer y = 44 integer width = 265 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_outware_sale_th integer x = 2368 integer y = 300 integer width = 727 integer height = 976 string dataobject = "dw_outware_sale_index_th" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() wf_check_billfj() if dw_edit_mode then return if currentrow <=0 then dw_child.reset() return end if this.selectrow(0,false) this.selectrow(currentrow,true) dw_uc.setrow(currentrow) dw_uc.scrolltorow (currentrow) if not dw_edit_mode then parent.triggerevent('retrieve_childdw') end event type st_1 from w_publ_1ton_share_detail`st_1 within w_outware_sale_th integer x = 0 integer y = 208 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_outware_sale_th integer x = 3081 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_outware_sale_th integer y = 300 integer width = 2368 integer height = 1404 string dataobject = "dw_outware_sale_edit_th" end type event dw_uc::dwnkey; Parent.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 Long li_option_outrep IF sys_power_issuper THEN li_option_outrep = 0 ELSE li_option_outrep = sys_option_outrep END IF IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'u_outware_dscrp' And Key = KeyEnter! THEN dw_child.SetFocus() dw_child.ScrollToRow(dw_child.RowCount()) dw_child.SetColumn ('u_mtrldef_mtrlcode') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' And Key = KeyEnter! THEN String ls_code,ls_name,ls_custype,ls_find_code String ls_freight,ls_freight_tele Long ls_cusid Long cnt = 0 Boolean if_find = False Int li_banktypeid Long ll_scid, ll_moneyid dw_uc.AcceptText() ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()]) SELECT u_cust.cusid, u_cust.name, u_cust.custype, u_cust.cuscode, u_cust.freight, u_cust.freight_tele, u_cust.banktypeid INTO :ls_cusid,:ls_name,:ls_custype,:ls_code, :ls_freight,:ls_freight_tele,:li_banktypeid FROM u_cust WHERE (cuscode = :ls_code OR Name = :ls_code) AND ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) OR :sys_user_outrepstr = '0')) AND ( :sys_option_cusarea = 0 Or ( :sys_areastr Like '%,' + rtrim(cast(u_cust.cusareaid as varchar(10))) + ',%' Or u_cust.cusareaid = 0 Or :sys_areastr = '0' )) ; IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(ls_code),'%') = 0 THEN ls_find_code = '%'+ Trim(ls_code) + '%' ELSE ls_find_code = Trim(ls_code) END IF SELECT count(*) INTO :cnt FROM u_cust Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code ) and ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) OR :sys_user_outrepstr = '0')) AND ( :sys_option_cusarea = 0 Or ( :sys_areastr Like '%,' + rtrim(cast(u_cust.cusareaid as varchar(10))) + ',%' Or u_cust.cusareaid = 0 Or :sys_areastr = '0' )) ; IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f9') RETURN 1 END IF IF cnt <> 1 THEN Parent.TriggerEvent('ue_f9') RETURN 1 ELSE SELECT u_cust.cusid, u_cust.cuscode, u_cust.name, u_cust.freight, u_cust.freight_tele INTO :ls_cusid,:ls_code,:ls_name, :ls_freight,:ls_freight_tele FROM u_cust Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f9') RETURN 1 ELSE if_find = True END IF END IF ELSE if_find = True END IF IF if_find THEN dw_uc.SetRedraw(False) dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] = ls_cusid dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_name dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = ls_custype dw_uc.Object.u_outware_relstr_1[dw_uc.GetRow()] = ls_freight dw_uc.Object.u_outware_relstr_2[dw_uc.GetRow()] = ls_freight_tele IF li_banktypeid > 0 THEN dw_uc.Object.u_outware_relint_1[dw_uc.GetRow()] = li_banktypeid END IF dw_uc.SetRedraw(True) ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()] ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] wf_getcusrepamt_info(ll_scid,ls_cusid,ll_moneyid) dw_uc.SetColumn("u_outware_outdate") RETURN 1 END IF ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF end event event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN IF dwo.Name = 'u_outware_storageid' THEN dw_child.Reset() PARENT.TriggerEvent("insert_childrow") ELSEIF dwo.Name = 'u_outware_relint_2' THEN Long ll_moneyid,ll_scid,ll_cusid dw_uc.accepttext() ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] dw_uc.SetRedraw(FALSE) dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid) dw_uc.SetRedraw(TRUE) ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()] ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] wf_getcusrepamt_info(ll_scid,ll_cusid,ll_moneyid) elseif dwo.name = 'u_outware_rel_rep' then if data <> '' then string ll_officetel,ll_handtel long ls_cusid ls_cusid = dw_uc.object.u_outware_cusid[row] select officetel,handtel into :ll_officetel,:ll_handtel from u_cust_rep where repname = :data and cusid = :ls_cusid; if sqlca.sqlcode = 0 then dw_uc.object.u_outware_rel_tele[row] = ll_officetel dw_uc.object.u_outware_rel_tele1[row] = ll_handtel end if select tele,tele1 into :ll_officetel,:ll_handtel from u_cust where cusid = :ls_cusid and rep = :data; if sqlca.sqlcode = 0 then dw_uc.object.u_outware_rel_tele[row] = ll_officetel dw_uc.object.u_outware_rel_tele1[row] = ll_handtel end if end if END IF end event event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN IF dwo.Name = 'u_cust_cuscode' OR dwo.Name = 'u_cust_name' THEN PARENT.TriggerEvent('ue_f9') END IF END IF end event event dw_uc::clicked;call super::clicked;IF row <= 0 THEN RETURN IF dwo.Name = 'p_dview' THEN Parent.TriggerEvent('ue_ch_dscrp') ELSEIF dwo.Name = 'p_dview2' THEN Parent.TriggerEvent('ue_ch_dscrp2') ELSEIF dwo.Name = 'p_dview3' THEN Parent.TriggerEvent('ue_ch_dscrp3') ELSEIF dwo.Name = 'p_dview4' THEN Parent.TriggerEvent('ue_ch_rel_address') ELSEIF dwo.Name = 'p_dview5' THEN Parent.TriggerEvent('ue_ch_station') END IF IF Not dw_edit_mode THEN RETURN IF dwo.Name = 'p_p' THEN Parent.TriggerEvent('ue_f9') ELSEIF dwo.Name = 'p_emp' THEN PARENT.TriggerEvent('ue_ch_outrepdef') END IF end event event dw_uc::ue_dwndropdown;call super::ue_dwndropdown;IF Not dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch String ls_col_value Long ll_col_value String ls_data_type Long ll_row,ll_mtrlid ll_row = This.GetRow() IF ll_row > 0 THEN ls_col_pz = This.GetColumnName( ) ls_data_type = dw_child.Describe(ls_col_pz+".ColType") IF Left(Lower(ls_data_type),4 ) = "char" THEN ls_col_value = This.GetItemString(ll_row,ls_col_pz) ELSEIF Left(Lower(ls_data_type),4) = "long" THEN ll_col_value = This.GetItemNumber(ll_row,ls_col_pz) END IF if ls_col_pz = 'u_outware_rel_rep' then int rtncode string ls_sql long ls_cusid ls_cusid = dw_uc.object.u_outware_cusid[dw_uc.getrow()] DataWindowChild dw_child_dddw rtncode = dw_uc.GetChild("u_outware_rel_rep",dw_child_dddw) dw_child_dddw.SetTransObject(SQLCA) ls_sql = old_rep_select ls_sql = ls_sql + " or cusid = "+string(ls_cusid); dw_child_dddw.SetSQLSelect(ls_sql) dw_child_dddw.Retrieve() end if This.SetItem(ll_row,ls_col_pz,ls_pz_ch) END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_outware_sale_th end type type dw_child from w_publ_1ton_share_detail`dw_child within w_outware_sale_th integer y = 1700 integer width = 3543 integer height = 508 string dataobject = "dw_outwaremx_sale_edit_th" end type event dw_child::dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key') This.TriggerEvent('user_key') IF Not dw_edit_mode THEN RETURN IF flag = 1 THEN RETURN String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrltype String ls_plancode,ls_status,ls_woodcode,ls_pcode,errmsg Long ll_mtrlwareid,ll_mtrlid,ll_storageid,ll_moneyid Dec ls_noallocqty,ls_noauditingqty,ls_planprice,ls_cost,ls_lmsaleprice s_mtrldef_array arg_s_mtrldef Long li_statusflag Long li_woodcodeflag Long li_pcodeflag s_mtrlware_noalloc_array arg_s_mtrlware Long child_row Long ls_null String arg_msg Long ll_cusid SetNull(ls_null) IF dw_edit_mode THEN dw_uc.AcceptText() ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN MessageBox('提示','请先选择币种',information!,OK!) RETURN END IF ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] IF ll_storageid = 0 Or IsNull(ll_storageid) THEN MessageBox('提示','请先选择仓库',information!,OK!) RETURN END IF ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] IF IsNull(ll_cusid) Or ll_cusid = 0 THEN This.TriggerEvent("ue_f9") ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] END IF IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_child.GetRow() = dw_child.RowCount() THEN Parent.TriggerEvent("insert_childrow") END IF ELSE If (KeyDown(KeyEnter!) Or KeyDown(KeyTab!)) And Not KeyDown(KeyControl!) And Not KeyDown(KeyShift!) THEN IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,ll_storageid,arg_s_mtrldef) = 0 THEN Parent.TriggerEvent('ue_f8') RETURN 1 ELSE ll_mtrlid = arg_s_mtrldef.mtrlid[1] ls_mtrlcode = arg_s_mtrldef.mtrlcode[1] ls_mtrlname = arg_s_mtrldef.mtrlname[1] ls_unit = arg_s_mtrldef.unit[1] ls_mtrlmode = arg_s_mtrldef.mtrlmode[1] ls_planprice = arg_s_mtrldef.planprice[1] ls_mtrltype = arg_s_mtrldef.mtrltype[1] ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF IF wf_check_ifcuststorage(ll_storageid,ll_cusid,errmsg) = 0 THEN MessageBox('错误',errmsg,stopsign!,OK!) RETURN END IF s_mtrlware_noalloc_array s_Ware IF f_find_mtrlware(ls_mtrlcode,ll_storageid,ll_cusid,s_Ware) <> 0 THEN dw_child.Object.u_outwaremx_cost[child_row] = s_Ware.cost[1] dw_child.Object.u_outwaremx_mtrlwareid[child_row] = s_Ware.mtrlwareid[1] //ll_mtrlwareid ELSE dw_child.Object.u_outwaremx_cost[child_row] = 0 dw_child.Object.u_outwaremx_mtrlwareid[child_row] = 0 END IF dw_child.Object.u_outwaremx_mtrlid[child_row] = ll_mtrlid dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_unit[child_row] = ls_unit dw_child.Object.u_outwaremx_uqty[child_row] = 0 dw_child.Object.u_outwaremx_planprice[child_row] = ls_planprice dw_child.Object.u_outwaremx_storageid[child_row] = ll_storageid // dw_child.Object.u_outwaremx_sptid[child_row] = ll_cusid // dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode dw_child.Object.u_outwaremx_status[child_row] = ls_status dw_child.Object.u_outwaremx_woodcode[child_row] = ls_woodcode dw_child.Object.u_outwaremx_pcode[child_row] = ls_pcode dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype dw_child.Object.u_outwaremx_unit[child_row] = ls_unit dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag ls_plancode = f_get_newplancode(ll_storageid) dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode //导入单价 wf_get_price(child_row) dw_child.Object.u_mtrldef_curware_qty[child_row] = ls_noallocqty dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null Parent.TriggerEvent('ue_allowedit') IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName( ) = 'u_outwaremx_mxdscrp' And dw_child.GetRow() = dw_child.RowCount() THEN Parent.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event dw_child::doubleclicked;IF dwo.Name = 'u_outwaremx_mxdscrp' THEN Parent.TriggerEvent('ue_view_mxdscrp') RETURN ELSEIF dwo.Name = 'u_outwaremx_mxdscrp2' THEN Parent.TriggerEvent('ue_view_mxdscrp2') RETURN ELSEIF dwo.Name = 'u_outwaremx_mxdscrp3' THEN Parent.TriggerEvent('ue_view_mxdscrp3') RETURN ELSEIF dwo.Name = 'u_outwaremx_mxdscrp4' THEN Parent.TriggerEvent('ue_view_mxdscrp4') RETURN END IF IF dw_edit_mode And row > 0 THEN IF dwo.Name = 'u_outwaremx_addqty' THEN Parent.TriggerEvent('ue_f10') ELSEIF dwo.Name = 'u_outwaremx_outtype' THEN Parent.TriggerEvent('ue_f11') ELSEIF dwo.Name = 'u_outwaremx_formula' Or dwo.Name = 'u_outwaremx_uqty' THEN Parent.TriggerEvent('ue_cmpl_qty') ELSEIF dwo.Name = 'u_outwaremx_unit' THEN Parent.TriggerEvent('ue_f12') ELSEIF dwo.Name = 'u_outwaremx_status' Or dwo.Name = 'u_outwaremx_woodcode' Or dwo.Name = 'u_outwaremx_pcode' THEN String Name Name = dwo.Name Parent.Trigger Event ue_view_status(row,Name) ELSE Parent.TriggerEvent('ue_f8') wf_set_barcode() END IF END IF end event event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN This.AcceptText() IF dwo.Name = 'u_outwaremx_saleqty' THEN String ls_protect ls_protect = This.Describe( 'u_outwaremx_uqty.protect') IF ls_protect = '0' THEN This.Object.u_outwaremx_uqty[row] = This.Object.u_outwaremx_saleqty[row] wf_cmpl_amt(row) END IF ELSEIF dwo.Name = 'u_outwaremx_uqty' Or dwo.Name = 'enamt' Or dwo.Name = 'u_outwaremx_enprice' Or dwo.Name = 'u_outwaremx_rebate' Or dwo.Name = 'u_outwaremx_enprice_notax' or dwo.Name = 'u_outwaremx_tax' THEN wf_cmpl_amt(row) ELSEIF dwo.Name = 'u_outwaremx_packqty' THEN Long ll_mtrlid Decimal lde_packqty_single, lde_packqty, lde_rate IF ii_packqty_cmpl = 1 THEN ll_mtrlid = This.Object.u_outwaremx_mtrlid[row] lde_packqty_single = f_get_packqty(ll_mtrlid) lde_packqty = This.Object.u_outwaremx_packqty[row] lde_rate = This.Object.u_outwaremx_rate[row] IF lde_rate = 0 THEN lde_rate = 1 This.Object.u_outwaremx_qty[row] = lde_packqty * lde_packqty_single This.Object.u_outwaremx_uqty[row] = lde_packqty * lde_packqty_single / lde_rate This.Object.u_outwaremx_saleqty[row] = lde_packqty * lde_packqty_single / lde_rate END IF END IF end event event dw_child::itemfocuschanged;call super::itemfocuschanged;dw_child.AcceptText() end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_outware_sale_th end type type cb_print from w_publ_1ton_share_detail`cb_print within w_outware_sale_th end type type cb_add from w_publ_1ton_share_detail`cb_add within w_outware_sale_th end type event cb_add::clicked;IF Not (f_power_ind(540) OR f_power_ind(566)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '' Long uc_row,pagerert_row Long relid_pageretr,reld_uc,j,i Long ll_printid,ll_outwareid,ll_scid Int li_flag,li_secflag,li_priceflag decimal ld_packqty s_outwaremx s_mx IF dw_edit_mode THEN dw_uc.AcceptText() dw_child.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF NOT dw_uc.Object.u_outware_outdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('提示','不合理发生时间',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("u_outware_outrep") RETURN END IF IF NOT Len(String(dw_uc.Object.u_outware_outrep[uc_row])) > 0 THEN MessageBox('提示','请填写经手人',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("u_outware_outrep") RETURN END IF IF dw_uc.Object.u_outware_relint_1[uc_row] = 0 THEN MessageBox('提示','请选择结算方式',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("u_outware_relint_1") RETURN END IF IF dw_uc.Object.u_outware_relint_2[uc_row] = 0 THEN MessageBox('提示','请选择币种',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("u_outware_relint_2") RETURN END IF FOR i = 1 To dw_child.RowCount() // IF dw_child.Object.u_outwaremx_mtrlwareid[i] = 0 THEN IF dw_child.Object.u_outwaremx_uqty[i] <> 0 THEN wf_get_mtrlwareid(i) END IF // END IF NEXT dw_child.AcceptText( ) //录入不含税单价 IF cbx_enamt_notax_edit.Checked THEN FOR i = 1 To dw_child.RowCount() wf_cmpl_amt(i) NEXT END IF //退货单输入是否负数 FOR j = 1 TO dw_child.RowCount() IF dw_child.Object.u_outwaremx_mtrlwareid[j] > 0 AND dw_child.Object.u_outwaremx_uqty[j] > 0 THEN dw_child.Object.u_outwaremx_uqty[j] = 0 - dw_child.Object.u_outwaremx_uqty[j] END IF IF dw_child.Object.u_outwaremx_mtrlwareid[j] > 0 AND dw_child.Object.u_outwaremx_addqty[j] > 0 THEN dw_child.Object.u_outwaremx_addqty[j] = 0 - dw_child.Object.u_outwaremx_addqty[j] END IF IF dw_child.Object.u_outwaremx_mtrlwareid[j] > 0 AND dw_child.Object.u_outwaremx_saleqty[j] > 0 THEN dw_child.Object.u_outwaremx_saleqty[j] = 0 - dw_child.Object.u_outwaremx_saleqty[j] END IF NEXT //保存前根据物料资料定义,检查数量和辅数的关系是否正确,如果辅数有填写 ,数量没有填写 ,会根据物料资料里的定义自动计算出数量 IF wf_check_qtyandaddqty(arg_msg) = 0 THEN MessageBox('提示',arg_msg + ',不能保存!',information!,OK!) RETURN END IF //系统选项280 设置单价小数位数 wf_set_decimal_place() uo_ware.outdate = dw_uc.Object.u_outware_outdate[uc_row] // 发生时间 uo_ware.outrep = dw_uc.Object.u_outware_outrep[uc_row] // 经手人 uo_ware.part = dw_uc.Object.u_outware_part[uc_row] //相关部门 uo_ware.dscrp = dw_uc.Object.u_outware_dscrp[uc_row] //备注 uo_ware.dscrp2 = dw_uc.Object.u_outware_dscrp2[uc_row] //备注 uo_ware.dscrp3 = dw_uc.Object.u_outware_dscrp3[uc_row] //备注 uo_ware.cusid = dw_uc.Object.u_outware_cusid[uc_row] uo_ware.storageid = dw_uc.Object.u_outware_storageid[uc_row] uo_ware.relid = dw_uc.Object.u_outware_relid[uc_row] uo_ware.relint_1 = dw_uc.Object.u_outware_relint_1[uc_row] uo_ware.relint_2 = dw_uc.Object.u_outware_relint_2[uc_row] uo_ware.relstr_1 = dw_uc.Object.u_outware_relstr_1[uc_row] uo_ware.relstr_2 = dw_uc.Object.u_outware_relstr_2[uc_row] uo_ware.relstr_3 = dw_uc.Object.u_outware_relstr_3[uc_row] uo_ware.mrate = dw_uc.Object.u_outware_mrate[uc_row] uo_ware.otheramt = dw_uc.Object.u_outware_otheramt[uc_row] uo_ware.rel_address = dw_uc.Object.u_outware_rel_address[uc_row] uo_ware.rel_tele = dw_uc.Object.u_outware_rel_tele[uc_row] uo_ware.rel_tele1 = dw_uc.Object.u_outware_rel_tele1[uc_row] uo_ware.rel_rep = dw_uc.Object.u_outware_rel_rep[uc_row] uo_ware.rel_fax = dw_uc.Object.u_outware_rel_fax[uc_row] uo_ware.transcode = dw_uc.Object.u_outware_transcode[uc_row] uo_ware.paytype = dw_uc.Object.u_outware_paytype[uc_row] uo_ware.typeid = dw_uc.Object.u_outware_typeid[uc_row] uo_ware.viewdate = dw_uc.Object.u_outware_viewdate[uc_row] uo_ware.thflag = 1 ll_scid = dw_uc.Object.u_outware_scid[uc_row] ll_outwareid = dw_uc.Object.u_outware_outwareid[uc_row] IF ll_outwareid > 0 THEN SELECT flag,secflag,priceflag INTO :li_flag,:li_secflag,:li_priceflag FROM u_outware WHERE scid = :ll_scid AND outwareid = :ll_outwareid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询销售单审核标记失败',stopsign!,OK!) RETURN END IF END IF FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.u_outwaremx_mtrlwareid[i] > 0 THEN IF li_priceflag = 0 AND li_flag = 0 THEN ll_printid = i ELSE ll_printid = dw_child.Object.u_outwaremx_printid[i] END IF // ld_packqty = 0 // IF sys_option_packqty_sale = 0 THEN // ld_packqty = dw_child.Object.pack[i] // ELSE // ld_packqty = dw_child.Object.u_outwaremx_packqty[i] // END IF s_mx.mtrlwareid = dw_child.Object.u_outwaremx_mtrlwareid[i] s_mx.saleqty = dw_child.Object.u_outwaremx_saleqty[i] s_mx.qty = dw_child.Object.u_outwaremx_uqty[i] s_mx.addqty = dw_child.Object.u_outwaremx_addqty[i] s_mx.fprice = dw_child.Object.u_outwaremx_enprice[i] s_mx.tax = dw_child.Object.u_outwaremx_tax[i] s_mx.rebate = dw_child.Object.u_outwaremx_rebate[i] s_mx.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[i] s_mx.printid = ll_printid s_mx.ifrel = 0 s_mx.relid = dw_child.Object.u_outwaremx_relid[i] s_mx.relprintid = dw_child.Object.u_outwaremx_relprintid[i] s_mx.relid2 = 0 s_mx.olmtrlid = 0 s_mx.packqty = dw_child.Object.u_outwaremx_packqty[i] s_mx.outtype = dw_child.Object.u_outwaremx_outtype[i] s_mx.unit = dw_child.Object.u_outwaremx_unit[i] s_mx.rate = dw_child.Object.u_outwaremx_rate[i] s_mx.mtrlcuscode = '' s_mx.formula = dw_child.Object.u_outwaremx_formula[i] s_mx.mxdscrp2 = dw_child.Object.u_outwaremx_mxdscrp2[i] s_mx.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[i] s_mx.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[i] s_mx.enprice_notax = dw_child.Object.u_outwaremx_enprice_notax[i] //不含税单价 s_mx.enamt_tax = dw_child.Object.u_outwaremx_enamt_tax[i] //税金 IF uo_ware.acceptmx(s_mx, arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF END IF NEXT IF uo_ware.Save(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF // MessageBox(publ_operator,'保存操作成功!') //write ini f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.u_outware_storageid[dw_uc.GetRow()])) f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()])) // long ll_row ll_row = dw_pageretr.getrow() dw_pageretr.SelectRow(0,FALSE) dw_pageretr.SelectRow(ll_row,TRUE) wf_refresh_curuc(ll_scid,uo_ware.outwareid) //刷新uc ELSE IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF cur_editfocus = 1 flag = -1 secflag = -1 END IF CALL SUPER::Clicked //read ini IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") String ls_storageid,ls_moneyid IF sys_option_hide_ware = 1 THEN ls_storageid = '11' ELSE ls_storageid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ddlb_storageid",'0') IF f_find_storageid(ls_storageid) = '' THEN ls_storageid = '0' END IF END IF ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'0') dw_uc.SetRedraw(FALSE) dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] = Long(ls_storageid) dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] = Long(ls_moneyid) dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid)) dw_uc.Object.u_outware_scid[dw_uc.GetRow()] = cur_scid dw_uc.Object.u_outware_viewdate[dw_uc.GetRow()] = relativedate(today(), 1 - day(today())) dw_uc.SetColumn("u_outware_storageid") dw_uc.SetRedraw(TRUE) ELSE PARENT.TriggerEvent("retrieve_childdw") END IF // end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_outware_sale_th end type event cb_edit::clicked;IF priceflag = 1 OR flag = 1 THEN IF NOT f_power_ind(1527) THEN MessageBox('提示','你没有仓审或确认后修改权限!',information!,OK!) RETURN END IF ELSE IF Not (f_power_ind(540) OR f_power_ind(566)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF END IF String arg_msg = '' Long uc_row uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF NOT dw_edit_mode THEN IF uo_ware.updatebegin(dw_uc.Object.u_outware_scid[uc_row],dw_uc.Object.u_outware_outwareid[uc_row],1,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF cur_editfocus = 2 PARENT.TriggerEvent('ue_allowedit') ELSE cur_editfocus = 0 END IF CALL SUPER::Clicked THIS.TriggerEvent('refresh_interface') end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_outware_sale_th end type event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(581) OR f_power_ind(582)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF string arg_msg='' if dw_edit_mode then return long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标单据!',information!,OK!) return end if if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return if uo_ware.del(dw_pageretr.object.u_outware_scid[uc_row],dw_pageretr.object.u_outware_outwareid[uc_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) else //日志 long ls_id string ls_code ls_id=dw_pageretr.object.u_outware_outwareid[uc_row] ls_code=dw_pageretr.object.u_outware_outwarecode[uc_row] f_setsysoplog('销售退货单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true) //-- messagebox('提示','删除单据'+string(dw_pageretr.object.u_outware_outwarecode[uc_row])+'成功!',information!,OK!) dw_pageretr.deleterow(uc_row) dw_pageretr.postevent(rowfocuschanged!) end if end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_outware_sale_th end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=增加备注~tEvent=ue_addzy" menustr=menustr + "|" + "Text=-" menustr=menustr + "|" + "Text=确认~tEvent=ue_priceaudit" menustr=menustr + "|" + "Text=反确认~tEvent=ue_cpriceaudit" menustr=menustr + "|" + "Text=-" menustr=menustr + "|" + "Text=导入单价~tEvent=ue_importseleprice" menustr=menustr + "|" + "Text=导入客户单价~tEvent=ue_importcusseleprice" menustr=menustr + "|" + "Text=导入客户历史售价~tEvent=ue_importcusseleprice_his" menustr=menustr + "|" + "Text=-" menustr=menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy" menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view" menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit" menustr = menustr + "|" + "Text=刷新附件数~tEvent=retrieve_fjnum" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=仓审后修改结算方式~tEvent=ue_bill_mod" menustr = menustr + "|" + "Text=批财撤(选中的)~tEvent=ue_all_c_secaudit" if len(trim(menustr))<>0 then dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu end if end event type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_outware_sale_th string text = "仓审&F" end type event cb_auditing::clicked;call super::clicked;IF dw_edit_mode THEN RETURN Long rslt = 1 String ls_msg = '' IF Not KeyDown(KeyControl!) THEN String arg_msg = '',ls_code Long pagerert_row,ls_id ls_msg = '审核' pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要"+This.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF IF sys_option_hide_ware = 0 THEN IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN IF Not (f_power_ind(541) Or f_power_ind(567)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF //系统选项267销售发货单,销售退货单 扫描数不等于出仓数不能仓审 IF sys_option_check_scanqty = 1 THEN ls_msg = wf_check_sys_option_check_scanqty() IF ls_msg <> '' THEN MessageBox('NO',ls_msg) RETURN END IF END IF ls_msg = '仓库审核' IF uo_ware.auditing_th(True,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.secflag[pagerert_row] = 0 THEN IF Not (f_power_ind(562) Or f_power_ind(570)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF ls_msg = '财务审核' IF uo_ware.secauditing(True,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END IF ELSE IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN IF Not (f_power_ind(562) Or f_power_ind(570)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF uo_ware.auditing(False,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF uo_ware.secauditing(True,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END IF END IF ext: IF rslt = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) ELSE MessageBox('提示',ls_msg+'成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) END IF ELSE IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",Question!,YesNo! ) = 2 THEN RETURN Long ll_i,ll_billid Int li_flag Long ll_suc,ll_fail dw_pageretr.AcceptText() Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount()) FOR ll_i = 1 To dw_pageretr.RowCount() w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[ll_i] + " 正在审核..." //进度信息 li_flag = dw_pageretr.Object.flag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.u_outware_outwareid[ll_i] IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN ll_fail++ CONTINUE END IF IF uo_ware.auditing_th(True,arg_msg) = 0 THEN ll_fail++ CONTINUE END IF ll_suc++ w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT Close(w_sys_wait_jdt) MessageBox('提示','批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,OK!) Parent.TriggerEvent('retrieve_pageretr') END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_outware_sale_th end type event cb_xm::clicked;is_mx_menustr = '' IF dw_edit_mode THEN is_mx_menustr += "|" + "Text=批设定公式~tEvent=ue_p_formula_set" is_mx_menustr += "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty" is_mx_menustr += "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty" is_mx_menustr += "|" + "Text=批设数量为0~tEvent=ue_cmpl_set0" is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax" is_mx_menustr += "|" + "Text=按第一行批设税率~tEvent=ue_set_tax" ELSE END IF CALL Super::Clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_outware_sale_th end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_outware_sale_th end type type cb_help from w_publ_1ton_share_detail`cb_help within w_outware_sale_th end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_outware_sale_th end type event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN RETURN Long rslt = 1 String ls_msg String arg_msg = '',ls_code,ls_opemp,ls_outpart Long pagerert_row,ls_id ls_msg = "撤审" pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要"+This.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF IF sys_option_hide_ware = 0 THEN //两级审 IF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.secflag[pagerert_row] = 0 THEN IF Not (f_power_ind(871) Or f_power_ind(872)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF ls_msg = '仓库撤审' IF uo_ware.c_auditing(True,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.secflag[pagerert_row] = 1 THEN IF Not f_power_ind(873) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF ls_msg = '财务撤审' IF uo_ware.c_secauditing(True,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END IF ELSE IF dw_pageretr.Object.secflag[pagerert_row] = 1 THEN IF Not f_power_ind(873) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF uo_ware.c_secauditing(False,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF IF uo_ware.c_auditing(True,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF END IF END IF ext: IF rslt = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) ELSE MessageBox('提示',ls_msg+'成功!',information!,OK!) //日志 ls_code = dw_pageretr.Object.u_outware_outwarecode[pagerert_row] ls_opemp = dw_pageretr.Object.u_outware_opemp[pagerert_row] ls_outpart = dw_pageretr.Object.u_outware_part[pagerert_row] f_setsysoplog('销售退货单',ls_msg+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True) //-- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_outware_sale_th end type type p_help from w_publ_1ton_share_detail`p_help within w_outware_sale_th end type type p_encl from w_publ_1ton_share_detail`p_encl within w_outware_sale_th end type type p_other from w_publ_1ton_share_detail`p_other within w_outware_sale_th end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_outware_sale_th end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_outware_sale_th end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_outware_sale_th end type type r_bar from w_publ_1ton_share_detail`r_bar within w_outware_sale_th end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_outware_sale_th end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_outware_sale_th end type type ddlb_scid from uo_ddlb_scid within w_outware_sale_th integer x = 859 integer y = 192 integer width = 494 integer height = 324 end type event constructor;call super::constructor;cur_scid = THIS.uo_scid cur_scid_arr = THIS.uo_scid_arr end event event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid cur_scid_arr = THIS.uo_scid_arr parent.triggerevent("retrieve_pageretr") end event type st_3 from statictext within w_outware_sale_th integer x = 1376 integer y = 204 integer width = 133 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "状态" boolean focusrectangle = false end type type st_2 from statictext within w_outware_sale_th integer x = 731 integer y = 204 integer width = 133 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "分部" boolean focusrectangle = false end type type st_msg from statictext within w_outware_sale_th boolean visible = false integer x = 2373 integer y = 444 integer width = 1166 integer height = 788 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 15793151 boolean border = true borderstyle borderstyle = styleraised! boolean focusrectangle = false end type type cbx_his from checkbox within w_outware_sale_th integer x = 1952 integer y = 204 integer width = 411 integer height = 60 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 string text = "选择发货历史" end type event clicked;long ifmtrlware if this.checked then ifmtrlware = 1 else ifmtrlware = 0 end if f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ifmtrlware",String(ifmtrlware)) end event event constructor;long ifmtrlware ifmtrlware = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ifmtrlware",'0')) IF ifmtrlware = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF end event type ddlb_status from uo_ddlb_status within w_outware_sale_th integer x = 1509 integer y = 192 integer height = 812 integer taborder = 20 boolean bringtotop = true string item[] = {"[全部]","待仓审","待财审","已审核"} end type event selectionchanged;call super::selectionchanged;PARENT.TriggerEvent('retrieve_pageretr') end event event uof_getvalue;IF this.text = "[全部]" THEN cur_flag = -1 cur_secflag = -1 //ELSEIF this.text = "待确认" THEN // cur_flag = -1 // cur_secflag = -1 ELSEIF this.text = "待仓审" THEN cur_flag = 0 cur_secflag = -1 ELSEIF this.text = "待财审" THEN cur_flag = 1 cur_secflag = 0 ELSEIF this.text = "已审核" THEN cur_flag = 1 cur_secflag = 1 END IF end event type cbx_enamt_edit from checkbox within w_outware_sale_th integer x = 3191 integer width = 795 integer height = 80 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "录入金额计算单价" end type event clicked;IF THIS.Checked THEN ii_enamt_edit = 1 ELSE ii_enamt_edit = 0 END IF f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit)) IF ii_enamt_edit = 0 THEN dw_child.Modify('enamt.protect = 1~t enamt.Color = 0') dw_child.Modify('enamt_t.Color = 0') ELSE dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"') dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"') END IF end event event constructor;this.backcolor = 14215660 ii_enamt_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",'0')) IF ii_enamt_edit = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF end event type cbx_packqty_cmpl from checkbox within w_outware_sale_th integer x = 3191 integer y = 80 integer width = 576 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "录入包装数计算数量" end type event clicked;IF THIS.Checked THEN ii_packqty_cmpl = 1 ELSE ii_packqty_cmpl = 0 END IF f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",String(ii_packqty_cmpl)) end event event constructor;this.backcolor = 14215660 ii_packqty_cmpl = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",'0')) IF ii_packqty_cmpl = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF //this.y = cbx_enamt_edit.y //this.x = cbx_enamt_edit.x + cbx_enamt_edit.width + 10 end event type cb_scanbill from commandbutton within w_outware_sale_th integer x = 2843 integer y = 188 integer width = 384 integer height = 84 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" boolean underline = true string text = "条码扫描开单" end type event clicked; String em,ls_str Long this_parrow Long i,ll_row,ll_ucrow long ll_scid,ll_outwareid IF Not dw_edit_mode THEN MessageBox('NO','请在编辑状态操作!') return end if this_parrow = dw_pageretr.GetRow() IF this_parrow <= 0 THEN MessageBox('NO','请选择单据!') RETURN END IF dw_uc.accepttext() //ll_scid=dw_pageretr.object.u_outware_scid[this_parrow] //ll_outwareid=dw_pageretr.object.u_outware_outwareid[this_parrow] s_edit_index_tran s_tran_mod //s_tran_mod.b_long = ll_scid s_tran_mod.c_long = dw_uc.object.u_outware_storageid[dw_uc.getrow()] s_tran_mod.d_long = 1 //退货 //s_tran_mod.c_string = '' OpenWithParm(w_outwaremx_p_new_scanqty,s_tran_mod) dw_child.AcceptText() FOR i = 1 To dw_child.RowCount() wf_get_price(i) NEXT wf_set_barcode() //String em,ls_str //Long this_parrow //Long i,ll_row,ll_ucrow //long ll_scid,ll_outwareid //this_parrow = dw_pageretr.GetRow() //IF this_parrow <= 0 THEN // MessageBox('NO','请选择单据!') // RETURN //END IF //ll_scid=dw_pageretr.object.u_outware_scid[this_parrow] //ll_outwareid=dw_pageretr.object.u_outware_outwareid[this_parrow] //s_edit_index_tran s_tran_mod //s_tran_mod.b_long = ll_scid //s_tran_mod.c_long = ll_outwareid //s_tran_mod.d_long = 1 //退货 //s_tran_mod.c_string = '' //OpenWithParm(w_outwaremx_p_new_scanqty,s_tran_mod) // //parent.TriggerEvent('retrieve_childdw') //String em,ls_str //Long i,ll_row //TRY // s_edit_index_tran s_ch_tran //传递参数使用 // // OpenWithParm(w_scanbill,s_ch_tran ) // // // w_scanbill.cb_add.TriggerEvent('clicked') // w_scanbill.cur_thflag=1 // FOR i = 1 To dw_child.RowCount() // w_scanbill.dw_child.Reset() // ll_row = w_scanbill.dw_child.InsertRow(0) // w_scanbill.dw_child.object.u_outwaremx_mtrlid[ll_row] = dw_child.object.u_outwaremx_mtrlid[i] // w_scanbill.dw_child.object.u_mtrldef_mtrlcode[ll_row] = dw_child.object.u_mtrldef_mtrlcode[i] // w_scanbill.dw_child.object.u_mtrldef_mtrlname[ll_row] = dw_child.object.u_mtrldef_mtrlname[i] // w_scanbill.dw_child.object.u_mtrldef_mtrlmode[ll_row] = dw_child.object.u_mtrldef_mtrlmode[i] // w_scanbill.dw_child.object.u_mtrldef_unit[ll_row] = dw_child.object.u_outwaremx_unit[i] // w_scanbill.dw_child.object.u_outwaremx_uqty[ll_row] = dw_child.object.u_outwaremx_uqty[i] // w_scanbill.dw_child.object.u_scanbillmx_scanqty[ll_row] =0 // // // NEXT // // // // // //Catch (RuntimeError rrrr) // RETURN //END TRY // end event event constructor;//系统选项267销售发货单,销售退货单 扫描数不等于出仓数不能仓审 IF sys_option_check_scanqty = 1 THEN This.Visible = True ELSE This.Visible = False END IF end event type cb_1 from commandbutton within w_outware_sale_th integer x = 2427 integer y = 188 integer width = 384 integer height = 84 integer taborder = 50 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" boolean underline = true string text = "条码扫描检测" end type event clicked;String em,ls_str Long this_parrow Long i,ll_row,ll_ucrow long ll_scid,ll_outwareid this_parrow = dw_pageretr.GetRow() IF dw_edit_mode THEN MessageBox('NO','请在非编辑状态操作!') return end if IF this_parrow <= 0 THEN MessageBox('NO','请选择单据!') RETURN END IF ll_scid=dw_pageretr.object.u_outware_scid[this_parrow] ll_outwareid=dw_pageretr.object.u_outware_outwareid[this_parrow] s_edit_index_tran s_tran_mod s_tran_mod.b_long = ll_scid s_tran_mod.c_long = ll_outwareid s_tran_mod.d_long =1 s_tran_mod.c_string = '' OpenWithParm(w_outwaremx_p_scanqty,s_tran_mod) parent.TriggerEvent('retrieve_childdw') //String em,ls_str //Long this_parrow //Long i,ll_row,ll_ucrow //this_parrow = dw_pageretr.GetRow() //IF this_parrow <= 0 THEN // MessageBox('NO','请选择单据!') // RETURN //END IF // //TRY // s_edit_index_tran s_ch_tran //传递参数使用 // // OpenWithParm(w_scanbill,s_ch_tran ) // // // w_scanbill.cb_add.TriggerEvent('clicked') // w_scanbill.cur_thflag = 0 // ll_ucrow = w_scanbill.dw_uc.GetRow() // IF ll_ucrow <= 0 THEN RETURN // w_scanbill.dw_uc.object.billtype[ll_ucrow]=0 //0 表示发货退货 1 表示盘点单 // w_scanbill.dw_uc.object.scid[ll_ucrow]=dw_pageretr.object.u_outware_scid[this_parrow] // w_scanbill.dw_uc.object.outwareid[ll_ucrow]=dw_pageretr.object.u_outware_outwareid[this_parrow] // w_scanbill.dw_uc.object.outwarecode[ll_ucrow]=dw_pageretr.object.u_outware_outwarecode[this_parrow] // // FOR i = 1 To dw_child.RowCount() // w_scanbill.dw_child.Reset() // ll_row = w_scanbill.dw_child.InsertRow(0) // w_scanbill.dw_child.Object.u_outwaremx_mtrlid[ll_row] = dw_child.Object.u_outwaremx_mtrlid[i] // w_scanbill.dw_child.Object.u_mtrldef_mtrlcode[ll_row] = dw_child.Object.u_mtrldef_mtrlcode[i] // w_scanbill.dw_child.Object.u_mtrldef_mtrlname[ll_row] = dw_child.Object.u_mtrldef_mtrlname[i] // w_scanbill.dw_child.Object.u_mtrldef_mtrlmode[ll_row] = dw_child.Object.u_mtrldef_mtrlmode[i] // w_scanbill.dw_child.Object.u_mtrldef_unit[ll_row] = dw_child.Object.u_outwaremx_unit[i] // w_scanbill.dw_child.Object.u_outwaremx_uqty[ll_row] = dw_child.Object.u_outwaremx_uqty[i] // w_scanbill.dw_child.Object.u_scanbillmx_scanqty[ll_row] = 0 // // // NEXT // // // // // //Catch (RuntimeError rrrr) // RETURN //END TRY // // // end event event constructor;//系统选项267销售发货单,销售退货单 扫描数不等于出仓数不能仓审 IF sys_option_check_scanqty = 1 THEN This.Visible = True ELSE This.Visible = False END IF end event type cbx_enamt_notax_edit from checkbox within w_outware_sale_th integer x = 3881 integer y = 80 integer width = 535 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "录入不含税单价" end type event clicked;IF THIS.Checked THEN ii_enamt_notax_edit = 1 ELSE ii_enamt_notax_edit = 0 END IF f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit)) IF ii_enamt_notax_edit = 0 THEN dw_child.Modify('u_outwaremx_enprice_notax.protect = 1~t u_outwaremx_enprice_notax.Color = 0') dw_child.Modify('u_outwaremx_enprice_notax_t.Color = 0') ELSE dw_child.Modify('u_outwaremx_enprice_notax.protect = 0~t u_outwaremx_enprice_notax.Color = "0~trgb(0,0,255)"') dw_child.Modify('u_outwaremx_enprice_notax_t.Color = "0~trgb(0,0,255)"') END IF end event event constructor;this.backcolor = 14215660 ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0')) IF ii_enamt_notax_edit = 1 THEN THIS.Checked = TRUE ELSE THIS.Checked = FALSE END IF IF ii_enamt_notax_edit = 0 THEN dw_child.Modify('u_outwaremx_enprice_notax.protect = 1~t u_outwaremx_enprice_notax.Color = 0') dw_child.Modify('u_outwaremx_enprice_notax_t.Color = 0') ELSE dw_child.Modify('u_outwaremx_enprice_notax.protect = 0~t u_outwaremx_enprice_notax.Color = "0~trgb(0,0,255)"') dw_child.Modify('u_outwaremx_enprice_notax_t.Color = "0~trgb(0,0,255)"') END IF end event type cbx_all from checkbox within w_outware_sale_th integer x = 3250 integer y = 204 integer width = 219 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "全选" end type event clicked;Int i If This.Checked = True Then For i = 1 To dw_pageretr.RowCount() dw_pageretr.Object.if_ch[i] = 1 Next Else For i = 1 To dw_pageretr.RowCount() dw_pageretr.Object.if_ch[i] = 0 Next End If end event event constructor; this.y = cbx_his.y this.x = cb_scanbill.x + cb_scanbill.width + 20 end event