$PBExportHeader$w_wfjg_in_th.srw forward global type w_wfjg_in_th from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_wfjg_in_th end type type st_3 from statictext within w_wfjg_in_th end type type st_2 from statictext within w_wfjg_in_th end type type ddlb_status from dropdownlistbox within w_wfjg_in_th end type type tab_1 from tab within w_wfjg_in_th end type type tabpage_1 from userobject within tab_1 end type type dw_1 from u_dw_rbtnfilter within tabpage_1 end type type tabpage_1 from userobject within tab_1 dw_1 dw_1 end type type tabpage_2 from userobject within tab_1 end type type dw_2 from u_dw_rbtnfilter within tabpage_2 end type type tabpage_2 from userobject within tab_1 dw_2 dw_2 end type type tab_1 from tab within w_wfjg_in_th tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type type cb_1 from uo_imflatbutton within w_wfjg_in_th end type type cbx_autocmp from checkbox within w_wfjg_in_th end type type cbx_autocmp_1 from checkbox within w_wfjg_in_th end type end forward global type w_wfjg_in_th from w_publ_1ton_share_detail string title = "车间外协返工单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event insert_childrow_out ( ) event ue_csecauditing ( ) event ue_secauditing ( ) event ue_fj_edit ( ) event ue_fj_view ( ) event ue_cmp_qty ( ) event ue_cmp_uqty ( ) event ue_mod_price ( ) event wf_in_to_out ( ) ddlb_scid ddlb_scid st_3 st_3 st_2 st_2 ddlb_status ddlb_status tab_1 tab_1 cb_1 cb_1 cbx_autocmp cbx_autocmp cbx_autocmp_1 cbx_autocmp_1 end type global w_wfjg_in_th w_wfjg_in_th type variables Long cur_scid //分店ID Int cur_flag = -1 Int cur_secflag = -1 uo_inware_wfjg uo_ware uo_spt_price uo_sptprice Long cur_id = 0 Int cur_editfocus = 0 //1:新建2:修改 Long flag = 0 Long secflag = 0 String ol_cdw_str = '' datawindow dw_aft,dw_bef long child_column_bef datastore ds_copy_aft,ds_copy_bef end variables forward prototypes public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid) public function integer wf_flagstatus_rf () public function integer wf_check_print (ref string arg_msg) public function integer wf_lock_child () public function integer wf_bef_to_aft (ref string arg_msg) public function integer wf_copy (ref string arg_msg) public function integer wf_paste (ref string arg_msg) public function integer wf_check_ifmtrlware (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_change_sptid (long arg_sptid) public function integer wf_in_to_out (ref string arg_msg) public function integer wf_in_to_out2 (ref string arg_msg) end prototypes event insert_childrow();long li_row li_row=dw_aft.insertrow(0) dw_aft.scrolltorow(li_row) dw_aft.object.ow_wfjgmx_in_aft_ifrel[li_row] = sys_option_autoyes dw_aft.SetColumn ('u_mtrldef_mtrlcode') end event event insert_childrow_out();long li_row li_row=dw_bef.insertrow(0) dw_bef.scrolltorow(li_row) dw_bef.SetColumn ('u_mtrldef_mtrlcode') end event event ue_csecauditing();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF IF NOT f_power_ind(818) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '',ls_code,ls_opemp,ls_outpart Long pagerert_row,ls_id pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_in_scid[pagerert_row],dw_pageretr.Object.inwareid [pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF IF uo_ware.c_secauditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) ELSE MessageBox('提示','撤审成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_in_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row]) END IF end event event ue_secauditing();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF IF NOT f_power_ind(818) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF string arg_msg='' if messagebox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 then return long pagerert_row pagerert_row=dw_pageretr.getrow() if pagerert_row<=0 then messagebox('提示','请选定当前目标单据!',information!,OK!) return end if if uo_ware.getinfo(dw_pageretr.object.ow_wfjg_in_scid[pagerert_row],dw_pageretr.object.inwareid[pagerert_row],arg_msg)=0 then messagebox('错误',arg_msg,stopsign!,OK!) return end if if uo_ware.secauditing(true,arg_msg)=0 then messagebox('错误',arg_msg,stopsign!,OK!) else messagebox('提示','审核成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.object.ow_wfjg_in_scid[pagerert_row],dw_pageretr.object.inwareid[pagerert_row]) end if end event event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用',information!,OK!) RETURN END IF //IF NOT f_power_ind(1446) 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_uc.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!) RETURN END IF s_pic.f_long = 911 //采购订单的mainID s_pic.f_string = dw_uc.Object.inwarecode[ls_row] s_pic.g_long = dw_uc.Object.inwareid[ls_row] s_pic.e_long = dw_uc.Object.ow_wfjg_in_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_uc.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!) RETURN END IF s_pic.f_long = 911 //采购订单的mainID s_pic.f_string = dw_uc.Object.inwarecode[ls_row] s_pic.g_long = dw_uc.Object.inwareid[ls_row] s_pic.e_long = dw_uc.Object.ow_wfjg_in_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_cmp_qty();IF NOT dw_edit_mode THEN RETURN Long ll_i dw_aft.accepttext() dw_bef.accepttext() dw_aft.SetRedraw(FALSE) FOR ll_i = 1 TO dw_aft.RowCount() IF dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] > 0 AND dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] > 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] = round(dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] * dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_aft.SetRedraw(TRUE) dw_bef.SetRedraw(FALSE) FOR ll_i = 1 TO dw_bef.RowCount() IF dw_bef.Object.ow_wfjgmx_in_bef_uqty[ll_i] > 0 AND dw_bef.Object.ow_wfjgmx_in_bef_rate[ll_i] > 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_qty[ll_i] = round(dw_bef.Object.ow_wfjgmx_in_bef_uqty[ll_i] * dw_bef.Object.ow_wfjgmx_in_bef_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_bef.SetRedraw(TRUE) end event event ue_cmp_uqty();IF NOT dw_edit_mode THEN RETURN Long ll_i dw_aft.accepttext() dw_bef.accepttext() dw_aft.SetRedraw(FALSE) FOR ll_i = 1 TO dw_aft.RowCount() IF dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] > 0 AND dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] > 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] = round(dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] / dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_aft.SetRedraw(TRUE) dw_bef.SetRedraw(FALSE) FOR ll_i = 1 TO dw_bef.RowCount() IF dw_bef.Object.ow_wfjgmx_in_bef_qty[ll_i] > 0 AND dw_bef.Object.ow_wfjgmx_in_bef_rate[ll_i] > 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_uqty[ll_i] = round(dw_bef.Object.ow_wfjgmx_in_bef_qty[ll_i] / dw_bef.Object.ow_wfjgmx_in_bef_rate[ll_i],sys_option_unit_dec) END IF NEXT dw_bef.SetRedraw(TRUE) end event event ue_mod_price();IF NOT f_power_ind(1475) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN MessageBox('系统提示','编辑状态下不可使用') RETURN END IF Long uc_row,child_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择单据') RETURN END IF Long ll_flag ,ll_secflag,ll_balcflag Long ll_scid,ll_inwareid,ll_printid ll_flag = dw_pageretr.Object.flag[uc_row] ll_secflag = dw_pageretr.Object.ow_wfjg_in_secflag[uc_row] ll_balcflag = dw_pageretr.Object.balcflag[uc_row] ll_scid = dw_pageretr.Object.ow_wfjg_in_scid[uc_row] ll_inwareid = dw_pageretr.Object.inwareid[uc_row] IF ll_flag = 0 THEN MessageBox('系统提示','进仓单待审核状态下不能执行修改单价功能') RETURN END IF IF ll_secflag = 1 THEN MessageBox('系统提示','单据已财审,不能执行修改单价功能') RETURN END IF IF ll_balcflag = 1 THEN MessageBox('系统提示','单据已结存,不能执行修改单价功能') RETURN END IF s_edit_index_tran s_tran_mod s_tran_mod.b_long = ll_scid s_tran_mod.c_long = ll_inwareid s_tran_mod.c_string = "" OpenWithParm(w_inwaremx_wfjg_mod_price_p,s_tran_mod) THIS.TriggerEvent('retrieve_childdw') end event public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//==================================================================== // Function: wf_refresh_curuc(arg_scid,arg_inwareid) //-------------------------------------------------------------------- // Description: 刷新dw_pageretr //-------------------------------------------------------------------- // Arguments: // value long arg_scid // value long arg_inwareid //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.11.14 //-------------------------------------------------------------------- // Modify History: // //==================================================================== if arg_inwareid<=0 or isnull(arg_inwareid) then return 0 long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then return 0 long storageid datetime indate string inrep string part string dscrp int balcflag string inwarecode string sptname datetime opdate string opemp string modemp datetime moddate int aflag datetime Auditingdate string Auditingrep datetime secAuditingdate string secAuditingrep string storagename int thflag int asecflag long sptid string sptcode int relint_1 SELECT ow_wfjg_in.storageid, ow_wfjg_in.indate, ow_wfjg_in.inrep, ow_wfjg_in.part, ow_wfjg_in.dscrp, ow_wfjg_in.opdate, ow_wfjg_in.opemp, ow_wfjg_in.flag, ow_wfjg_in.auditingdate, ow_wfjg_in.auditingrep, ow_wfjg_in.secflag, ow_wfjg_in.secauditingdate, ow_wfjg_in.secauditingrep, ow_wfjg_in.inwarecode, ow_wfjg_in.balcflag, ow_wfjg_in.sptname, ow_wfjg_in.modemp, ow_wfjg_in.moddate, ow_wfjg_in.thflag, u_spt.name, u_spt.sptcode, ow_wfjg_in.sptid, ow_wfjg_in.relint_1 into :storageid, :indate, :inrep, :part, :dscrp, :opdate, :opemp, :aflag, :Auditingdate, :Auditingrep, :asecflag, :secAuditingdate, :secAuditingrep, :inwarecode, :balcflag, :sptname, :modemp, :moddate, :thflag, :sptname, :sptcode, :sptid, :relint_1 FROM ow_wfjg_in,u_spt WHERE ( ow_wfjg_in.inwareid = :arg_inwareid ) and (ow_wfjg_in.sptid=u_spt.sptid ) and ( ow_wfjg_in.scid=:arg_scid ); if sqlca.sqlcode<>0 then messagebox('错误',"查询操作失败(错误单据唯一码)"+sqlca.sqlerrtext,stopsign!,OK!) return 0 end if dw_pageretr.object.ow_wfjg_in_scid[uc_row]=arg_scid dw_pageretr.object.inwareid[uc_row]=arg_inwareid dw_pageretr.object.indate[uc_row]=indate dw_pageretr.object.part[uc_row]= part dw_pageretr.object.inrep[uc_row]= inrep dw_pageretr.object.u_spt_name[uc_row]=sptname dw_pageretr.object.dscrp[uc_row]= dscrp dw_pageretr.object.balcflag[uc_row]= balcflag dw_pageretr.object.inwarecode[uc_row]=inwarecode dw_pageretr.object.opdate[uc_row]= opdate dw_pageretr.object.ow_wfjg_in_opemp[uc_row]= opemp dw_pageretr.object.ow_wfjg_in_moddate[uc_row]= moddate dw_pageretr.object.ow_wfjg_in_modemp[uc_row]= modemp dw_pageretr.object.flag[uc_row]= aflag dw_pageretr.object.Auditingdate[uc_row]= Auditingdate dw_pageretr.object.Auditingrep[uc_row]=Auditingrep dw_pageretr.object.ow_wfjg_in_thflag[uc_row]=thflag dw_pageretr.object.ow_wfjg_in_secAuditingdate[uc_row]= secAuditingdate dw_pageretr.object.ow_wfjg_in_secAuditingrep[uc_row]=secAuditingrep dw_pageretr.object.ow_wfjg_in_secflag[uc_row]= asecflag dw_pageretr.object.u_spt_sptcode[uc_row]= sptcode dw_pageretr.object.ow_wfjg_in_sptid[uc_row]= sptid dw_pageretr.object.ow_wfjg_in_relint_1[uc_row]= relint_1 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_flagstatus_rf ();//wf_flagstatus_rf() Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE flag = -1 secflag = -1 GOTO ext END IF flag = dw_pageretr.Object.flag[pagerert_row] secflag = dw_pageretr.Object.ow_wfjg_in_secflag[pagerert_row] IF dw_edit_mode THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE IF cur_editfocus = 1 THEN flag = -1 secflag = -1 END IF ELSE IF flag = 0 THEN cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = FALSE ELSEIF flag = 1 AND secflag = 0 THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = TRUE ELSE cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE END IF END IF ext: return 0 end function public function integer wf_check_print (ref string arg_msg);long cnt int rslt = 1 string ls_msg string str_dwSQl,str_SyntaxFromSQL datastore ds_maxid datetime ld_cur_dt ld_cur_dt = datetime(today(),time(0)) if sys_option_mustprint = 0 then rslt = 1 goto ext end if string ls_storagestr,tmp_str ls_storagestr = sys_user_storagestr if ls_storagestr <> '0' and ls_storagestr <> '-1' then ls_storagestr = mid(ls_storagestr,2) ls_storagestr = left(ls_storagestr,len(ls_storagestr) - 1 ) end if ds_maxid= create datastore str_dwSQl="select count(*) as countnum from u_inware where indate < '" +string(ld_cur_dt,'yyyy-mm-dd hh:mm:ss')+ "' and billtype = 1 and flag = 0 and " if pos(ls_storagestr,',') > 0 or long(ls_storagestr) > 0 then tmp_str = '(' + 'storageid in (' + ls_storagestr + '))' else tmp_str = '(' + ls_storagestr + ' = 0 or storageid in (' + ls_storagestr + '))' end if str_dwSQl=str_dwSQl + tmp_str //messagebox("",str_dwSQl) str_SyntaxFromSQL =sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg) if ls_msg>'' then arg_msg="dw语法生成失败" rslt = 0 goto ext end if ds_maxid.Create(str_SyntaxFromSQL,ls_msg) if ls_msg>'' then arg_msg="建立相关DW失败" rslt=0 goto ext end if ds_maxid.settransobject(sqlca) ds_maxid.retrieve() cnt=ds_maxid.GetItemNumber(1,1) if isnull(cnt) then cnt = 0 destroy ds_maxid if cnt > 0 then arg_msg = '仓库还有收货单未打印,不能新建' rslt = 0 goto ext end if ext: return rslt end function public function integer wf_lock_child ();//wf_lock_child INT LS_INT IF dw_edit_mode THEN FOR LS_INT=1 TO child_column_int dw_aft.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE FOR LS_INT=1 TO child_column_int dw_aft.SetTabOrder (LS_INT, 0) NEXT END IF IF dw_edit_mode THEN FOR LS_INT=1 TO child_column_bef dw_bef.SetTabOrder (LS_INT,LS_INT*10 ) NEXT ELSE FOR LS_INT=1 TO child_column_bef dw_bef.SetTabOrder (LS_INT, 0) NEXT END IF RETURN 1 end function public function integer wf_bef_to_aft (ref string arg_msg);Long rslt = 1 IF NOT dw_edit_mode THEN rslt = 0 arg_msg = '非编辑状态不可用' GOTO ext END IF dw_bef.AcceptText() Long ll_dw_bef_rowcount ll_dw_bef_rowcount = dw_bef.RowCount() IF ll_dw_bef_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可复制的明细内容' GOTO ext END IF IF ll_dw_bef_rowcount > 0 THEN dw_aft.SetRedraw(FALSE) dw_aft.Reset() Long ls_i FOR ls_i = 1 TO ll_dw_bef_rowcount dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[ls_i] dw_aft.Object.u_mtrldef_mtrlcode[ls_i] = dw_bef.Object.u_mtrldef_mtrlcode[ls_i] dw_aft.Object.u_mtrldef_mtrlname[ls_i] = dw_bef.Object.u_mtrldef_mtrlname[ls_i] dw_aft.Object.u_mtrldef_mtrlmode[ls_i] = dw_bef.Object.u_mtrldef_mtrlmode[ls_i] dw_aft.Object.u_mtrldef_unit[ls_i] = dw_bef.Object.u_mtrldef_unit[ls_i] dw_aft.Object.ow_wfjgmx_in_aft_qty[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_qty[ls_i] dw_aft.Object.ow_wfjgmx_in_aft_status[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_status[ls_i] dw_aft.Object.ow_wfjgmx_in_aft_plancode[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_plancode[ls_i] dw_aft.Object.ow_wfjgmx_in_aft_mxdscrp[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_mxdscrp[ls_i] dw_aft.Object.ow_wfjgmx_in_aft_unit[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_unit[ls_i] dw_aft.Object.ow_wfjgmx_in_aft_uqty[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_uqty[ls_i] dw_aft.Object.ow_wfjgmx_in_aft_rate[ls_i] = dw_bef.Object.ow_wfjgmx_in_bef_rate[ls_i] NEXT dw_aft.SetRedraw(TRUE) END IF dw_aft.AcceptText() ext: RETURN rslt end function public function integer wf_copy (ref string arg_msg);Long rslt = 1 Long ll_rowcount,ll_rowcount1 ll_rowcount = dw_aft.RowCount() IF ll_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可复制的明细内容' GOTO ext END IF ll_rowcount1 = dw_bef.RowCount() ds_copy_aft.Reset() ds_copy_bef.Reset() IF dw_aft.RowsCopy(1, ll_rowcount, Primary!, ds_copy_aft, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '复制收货明细内容失败!' GOTO ext END IF IF ll_rowcount1 > 0 THEN IF dw_bef.RowsCopy(1, ll_rowcount1, Primary!, ds_copy_bef, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '复制外协商库存明细内容失败!' GOTO ext END IF END IF ds_copy_aft.AcceptText() ds_copy_bef.AcceptText() ext: RETURN rslt end function public function integer wf_paste (ref string arg_msg);Long rslt = 1 IF NOT dw_edit_mode THEN rslt = 0 arg_msg = '非编辑状态下不可粘贴' GOTO ext END IF Long ll_rowcount,ll_rowcount1 ll_rowcount = ds_copy_aft.RowCount() IF ll_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可粘贴的收货明细内容' GOTO ext END IF ll_rowcount1 = ds_copy_bef.RowCount() dw_aft.Reset() dw_bef.Reset() IF ds_copy_aft.RowsCopy(1, ll_rowcount, Primary!, dw_aft, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '粘贴收货明细内容失败!' GOTO ext END IF IF ll_rowcount1 > 0 THEN IF ds_copy_bef.RowsCopy(1, ll_rowcount1, Primary!, dw_bef, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '粘贴外协商库存明细内容失败!' GOTO ext END IF END IF ext: RETURN rslt end function public function integer wf_check_ifmtrlware (ref string arg_msg);Long i,rowcnt,rslt = 1 Long ls_mtrlwareid,ls_mtrlid,ls_sptid String ls_mtrlcode String ls_plancode String ls_status,ls_woodcode,ls_pcode Decimal ls_qty rowcnt = dw_bef.RowCount( ) ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF ls_sptid = 0 THEN arg_msg = '请选择供应商' rslt = 0 GOTO ext END IF FOR i = 1 TO rowcnt ls_mtrlwareid = dw_bef.Object.ow_wfjgmx_in_bef_mtrlwareid[i] ls_mtrlid = dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[i] ls_mtrlcode = dw_bef.Object.u_mtrldef_mtrlcode[i] ls_plancode = dw_bef.Object.ow_wfjgmx_in_bef_plancode[i] ls_status = dw_bef.Object.ow_wfjgmx_in_bef_status[i] ls_woodcode = dw_bef.Object.ow_wfjgmx_in_bef_woodcode[i] ls_pcode = dw_bef.Object.ow_wfjgmx_in_bef_pcode[i] ls_qty = dw_bef.Object.ow_wfjgmx_in_bef_qty[i] IF ls_mtrlid = 0 OR ls_qty = 0 THEN CONTINUE IF f_insert_0_sptware(0,ls_mtrlwareid,ls_mtrlid,ls_mtrlcode,ls_sptid,ls_status,ls_woodcode,ls_pcode,ls_plancode,0,arg_msg) = 0 THEN rslt = 0 GOTO ext ELSE dw_bef.Object.ow_wfjgmx_in_bef_mtrlwareid[i] = ls_mtrlwareid END IF NEXT dw_bef.AcceptText( ) 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.inwareid[row] ll_scid = dw_pageretr.Object.ow_wfjg_in_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 = 911 //客户投拆单的 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_uc.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_uc.Object.#1[LS_ROW] ll_scid = dw_uc.Object.ow_wfjg_in_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 = 911); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_aft.RowCount() ll_mtrlid = dw_aft.Object.ow_wfjgmx_in_aft_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.ow_wfjg_in_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.ow_wfjgmx_in_aft_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_change_sptid (long arg_sptid);Long ll_row ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN RETURN IF dw_uc.Object.sptid[ll_row] > 0 And dw_uc.Object.sptid[ll_row] <> arg_sptid THEN dw_aft.Reset() dw_bef.Reset() This.TriggerEvent("insert_childrow") This.TriggerEvent("insert_childrow_out") END IF RETURN end subroutine public function integer wf_in_to_out (ref string arg_msg);Int rslt = 1 Long ll_sptid Long uc_row uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN rslt = 0 arg_msg = '请先选择单据' GOTO ext END IF ll_sptid = dw_uc.Object.sptid[uc_row] IF ll_sptid <= 0 THEN rslt = 0 arg_msg = '请先选择供应商' GOTO ext END IF IF NOT dw_edit_mode THEN rslt = 0 arg_msg = '非编辑状态不可用' GOTO ext END IF dw_aft.AcceptText() Long child_llrow Long ll_dw_in_rowcount Long ll_i,i =1,ll_itmx,ll_j Long ll_in_mtrlid Decimal ld_qty Long ll_row String ls_pfcode Decimal mtrlwaresum_qty,r_qty,i_qty,ins_qty,ins_planprice,ins_price Long ins_mtrlwareid String ins_status,ins_woodcode,ins_pcode,ins_plancode s_mtrldef_wfjg_array s_wfjg ll_dw_in_rowcount = dw_aft.RowCount() IF ll_dw_in_rowcount <= 0 THEN rslt = 0 arg_msg = '没有收货明细内容' GOTO ext END IF dw_bef.SetRedraw(FALSE) dw_bef.Reset() FOR ll_i = 1 TO ll_dw_in_rowcount IF sys_option_2unit = 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] = dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] * dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] ELSE IF dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] <> 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] = dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] / dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] ELSE dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] = 0 END IF END IF dw_aft.AcceptText() ll_in_mtrlid = dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[ll_i] ld_qty = dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] DECLARE cur_inmx CURSOR FOR SELECT u_PrdPF.SonMtrlid, u_mtrldef.mtrlcode, u_mtrldef.mtrlname, u_mtrldef.mtrlmode, u_mtrldef.unit, u_mtrldef.mtrlsectype, u_mtrldef.zxmtrlmode, :ld_qty * u_prdpf.Sonscale / (1 - u_PrdPF.sonloss) + u_PrdPF.SonDECLoss FROM u_PrdPF INNER JOIN u_mtrldef ON u_PrdPF.SonMtrlid = u_mtrldef.mtrlid WHERE ( u_PrdPF.mtrlid = :ll_in_mtrlid ) ; OPEN cur_inmx; FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i], :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i], :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i]; DO WHILE sqlca.SQLCode = 0 i++ FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i], :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i], :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i]; LOOP CLOSE cur_inmx; NEXT ll_itmx = i - 1 FOR ll_j = 1 TO ll_itmx r_qty = 0 SELECT isnull(sum(noallocqty),0) INTO :mtrlwaresum_qty FROM ow_wfjgware WHERE mtrlid = :s_wfjg.mtrlid[ll_j] AND sptid = :ll_sptid; IF sqlca.SQLCode = 0 THEN ELSEIF sqlca.SQLCode = 100 THEN mtrlwaresum_qty = -100000 ELSE arg_msg = '查询库存量失败>'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF mtrlwaresum_qty = 0 OR mtrlwaresum_qty = -100000 THEN IF dw_bef.GetRow() <= 0 THEN child_llrow = dw_bef.InsertRow(0) ELSE IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[dw_bef.GetRow()] > 0 THEN child_llrow = dw_bef.InsertRow(0) ELSE child_llrow = dw_bef.GetRow() END IF END IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlwareid[child_llrow] = 0 dw_bef.Object.u_mtrldef_mtrlcode[child_llrow] = s_wfjg.mtrlcode[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_unit[child_llrow] = s_wfjg.unit[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_uqty[child_llrow] = s_wfjg.qty[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_qty[child_llrow] = s_wfjg.qty[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_llrow] = s_wfjg.mtrlid[ll_j] dw_bef.Object.u_mtrldef_unit[child_llrow] = s_wfjg.unit[ll_j] dw_bef.Object.u_mtrldef_mtrlname[child_llrow] = s_wfjg.mtrlname[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_rate[child_llrow] = 1 dw_bef.Object.u_mtrldef_mtrlmode[child_llrow] = s_wfjg.mtrlmode[ll_j] dw_bef.Object.u_mtrldef_mtrlsectype[child_llrow] = s_wfjg.mtrlsectype[ll_j] dw_bef.Object.u_mtrldef_zxmtrlmode[child_llrow] = s_wfjg.zxmtrlmode[ll_j] GOTO nextmtrl END IF DECLARE pf_cur CURSOR FOR SELECT ow_wfjgware.mtrlwareid, ow_wfjgware.noallocqty, ow_wfjgware.cost, ow_wfjgware.status, ow_wfjgware.woodcode, ow_wfjgware.pcode, ow_wfjgware.plancode FROM ow_wfjgware WHERE ow_wfjgware.mtrlid = :s_wfjg.mtrlid[ll_j] AND ow_wfjgware.sptid = :ll_sptid Order By ow_wfjgware.noallocqty; OPEN pf_cur; FETCH pf_cur INTO :ins_mtrlwareid,:ins_qty,:ins_price,:ins_status,:ins_woodcode,:ins_pcode,:ins_plancode ; DO WHILE sqlca.SQLCode = 0 AND r_qty < s_wfjg.qty[ll_j] i_qty = ins_qty r_qty = r_qty + i_qty IF r_qty > s_wfjg.qty[ll_j] THEN i_qty = ins_qty - ( r_qty - s_wfjg.qty[ll_j] ) END IF IF dw_bef.GetRow() <= 0 THEN child_llrow = dw_bef.InsertRow(0) ELSE IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[dw_bef.GetRow()] > 0 THEN child_llrow = dw_bef.InsertRow(0) ELSE child_llrow = dw_bef.GetRow() END IF END IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlwareid[child_llrow] = ins_mtrlwareid dw_bef.Object.u_mtrldef_mtrlcode[child_llrow] = s_wfjg.mtrlcode[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_unit[child_llrow] = s_wfjg.unit[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_llrow] = s_wfjg.mtrlid[ll_j] dw_bef.Object.u_mtrldef_unit[child_llrow] = s_wfjg.unit[ll_j] dw_bef.Object.u_mtrldef_mtrlname[child_llrow] = s_wfjg.mtrlname[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_rate[child_llrow] = 1 dw_bef.Object.u_mtrldef_mtrlmode[child_llrow] = s_wfjg.mtrlmode[ll_j] dw_bef.Object.u_mtrldef_mtrlsectype[child_llrow] = s_wfjg.mtrlsectype[ll_j] dw_bef.Object.u_mtrldef_zxmtrlmode[child_llrow] = s_wfjg.zxmtrlmode[ll_j] // IF ins_qty <= s_wfjg.qty[ll_j] THEN // dw_bef.Object.ow_wfjgmx_in_bef_uqty[child_llrow] = i_qty // dw_bef.Object.ow_wfjgmx_in_bef_qty[child_llrow] = i_qty // ELSE dw_bef.Object.ow_wfjgmx_in_bef_uqty[child_llrow] = s_wfjg.qty[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_qty[child_llrow] = s_wfjg.qty[ll_j] // END IF FETCH pf_cur INTO :ins_mtrlwareid,:ins_qty,:ins_price,:ins_status,:ins_woodcode,:ins_pcode,:ins_plancode ; LOOP CLOSE pf_cur; nextmtrl: NEXT dw_bef.SetRedraw(TRUE) ext: RETURN rslt end function public function integer wf_in_to_out2 (ref string arg_msg);Int rslt = 1 Long ll_sptid Long uc_row uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN rslt = 0 arg_msg = '请先选择单据' GOTO ext END IF ll_sptid = dw_uc.Object.sptid[uc_row] IF ll_sptid <= 0 THEN rslt = 0 arg_msg = '请先选择供应商' GOTO ext END IF IF NOT dw_edit_mode THEN rslt = 0 arg_msg = '非编辑状态不可用' GOTO ext END IF dw_aft.AcceptText() Long child_llrow Long ll_dw_in_rowcount Long ll_i,i = 1,ll_itmx,ll_j Long ll_in_mtrlid Decimal ld_qty Long ll_row String ls_pfcode Decimal mtrlwaresum_qty,r_qty,i_qty,ins_qty,ins_planprice,ins_price Long ll_mtrlwareid decimal li_cost String ins_status,ins_woodcode,ins_pcode,ins_plancode s_mtrldef_wfjg_array s_wfjg ll_dw_in_rowcount = dw_aft.RowCount() IF ll_dw_in_rowcount <= 0 THEN rslt = 0 arg_msg = '没有收货明细内容' GOTO ext END IF dw_aft.AcceptText() dw_bef.AcceptText() dw_bef.SetRedraw(FALSE) dw_bef.Reset() FOR ll_i = 1 TO ll_dw_in_rowcount //数量 转换 IF sys_option_2unit = 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] = dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] / dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] ELSE IF dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] <> 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] = dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] / dw_aft.Object.ow_wfjgmx_in_aft_uqty[ll_i] ELSE dw_aft.Object.ow_wfjgmx_in_aft_rate[ll_i] = 0 END IF END IF dw_aft.AcceptText() ll_in_mtrlid = dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[ll_i] ld_qty = dw_aft.Object.ow_wfjgmx_in_aft_qty[ll_i] //查找 收货对应的发出 明细 DECLARE cur_inmx CURSOR FOR SELECT u_PrdPF.SonMtrlid, u_mtrldef.mtrlcode, u_mtrldef.mtrlname, u_mtrldef.mtrlmode, u_mtrldef.unit, u_mtrldef.mtrlsectype, u_mtrldef.zxmtrlmode, :ld_qty * u_prdpf.Sonscale / (1 - u_PrdPF.sonloss) + u_PrdPF.SonDECLoss FROM u_PrdPF INNER JOIN u_mtrldef ON u_PrdPF.SonMtrlid = u_mtrldef.mtrlid Where ( u_PrdPF.mtrlid = :ll_in_mtrlid ) ; OPEN cur_inmx; FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i], :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i], :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i]; DO WHILE sqlca.SQLCode = 0 i++ FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i], :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i], :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i]; LOOP CLOSE cur_inmx; NEXT ll_itmx = i - 1 FOR ll_j = 1 TO ll_itmx li_cost=0 SELECT top 1 mtrlwareid,cost INTO :ll_mtrlwareid,:li_cost FROM ow_wfjgware WHERE mtrlid = :s_wfjg.mtrlid[ll_j] AND sptid = :ll_sptid order by noallocqty desc; IF sqlca.SQLCode = 0 THEN ELSEIF sqlca.SQLCode = 100 THEN ll_mtrlwareid = 0 ELSE arg_msg = '查询库存量失败>'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF dw_bef.GetRow() <= 0 THEN child_llrow = dw_bef.InsertRow(0) ELSE IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[dw_bef.GetRow()] > 0 THEN child_llrow = dw_bef.InsertRow(0) ELSE child_llrow = dw_bef.GetRow() END IF END IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlwareid[child_llrow] = ll_mtrlwareid dw_bef.Object.u_mtrldef_mtrlcode[child_llrow] = s_wfjg.mtrlcode[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_unit[child_llrow] = s_wfjg.unit[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_uqty[child_llrow] = s_wfjg.qty[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_qty[child_llrow] = s_wfjg.qty[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_llrow] = s_wfjg.mtrlid[ll_j] dw_bef.Object.u_mtrldef_unit[child_llrow] = s_wfjg.unit[ll_j] dw_bef.Object.u_mtrldef_mtrlname[child_llrow] = s_wfjg.mtrlname[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_rate[child_llrow] = 1 dw_bef.Object.u_mtrldef_mtrlmode[child_llrow] = s_wfjg.mtrlmode[ll_j] dw_bef.Object.u_mtrldef_mtrlsectype[child_llrow] = s_wfjg.mtrlsectype[ll_j] dw_bef.Object.u_mtrldef_zxmtrlmode[child_llrow] = s_wfjg.zxmtrlmode[ll_j] dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_llrow] = li_cost NEXT dw_bef.SetRedraw(TRUE) ext: RETURN rslt end function on w_wfjg_in_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.ddlb_status=create ddlb_status this.tab_1=create tab_1 this.cb_1=create cb_1 this.cbx_autocmp=create cbx_autocmp this.cbx_autocmp_1=create cbx_autocmp_1 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.ddlb_status this.Control[iCurrent+5]=this.tab_1 this.Control[iCurrent+6]=this.cb_1 this.Control[iCurrent+7]=this.cbx_autocmp this.Control[iCurrent+8]=this.cbx_autocmp_1 end on on w_wfjg_in_th.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.st_3) destroy(this.st_2) destroy(this.ddlb_status) destroy(this.tab_1) destroy(this.cb_1) destroy(this.cbx_autocmp) destroy(this.cbx_autocmp_1) 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 dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_scid,cur_flag,cur_secflag,sys_user_spttype) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) end if wf_flagstatus_rf() this.triggerevent('retrieve_childdw') cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled cb_func.enabled=cb_func_enabled //childdw.retrieve() 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+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( inwarecode 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="(ow_wfjg_in.inwarecode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(ow_wfjg_in.inwarecode 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() 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") ls_newselect = ori_oldselect ds_curquery = CREATE DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) 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 = 9 //uc dw前7列可以编辑 child_column_int = 17 //子dw前8列可以编辑 child_column_bef = 7 //子dw前8列可以编辑 uo_ware = CREATE uo_inware_wfjg uo_ware.commit_transaction = sqlca uo_sptprice = CREATE uo_spt_price s_hide_col s_col s_col.col_1 = 'ow_wfjgmx_in_aft_jgprice' s_col.col_2 = 'ow_wfjgmx_in_aft_fprice' s_col.col_3 = 'inamt' s_col.col_4 = 'amt' s_col.col_5 = 'ow_wfjgmx_in_aft_uprice' s_col.col_6 = 'ow_wfjgmx_in_aft_price' //f_hide_col(121,dw_aft,s_col) f_hide_col(1448,dw_aft,s_col) s_hide_col s_col_mtrlsectype s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' f_hide_col(1308,dw_aft,s_col_mtrlsectype) f_hide_col(1308,dw_bef,s_col_mtrlsectype) s_hide_col s_col_zxmtrlmode s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' f_hide_col(1309,dw_aft,s_col_zxmtrlmode) f_hide_col(1309,dw_bef,s_col_zxmtrlmode) s_hide_col s_col_cost s_col_cost.col_1 = 'ow_wfjgmx_in_bef_fprice' s_col_cost.col_2 = 'inamt' f_hide_col(123,dw_bef,s_col_cost) end event event refresh_interface;call super::refresh_interface;wf_flagstatus_rf() ddlb_status.enabled=not dw_edit_mode if dw_edit_mode then ddlb_scid.enabled=false else if sys_scid > 0 then ddlb_scid.enabled=false else ddlb_scid.enabled=true end if end if end event event close;call super::close;destroy uo_ware destroy uo_sptprice wf_del_tempfilepathname() end event event ue_f8;//用于选择明细内容,被f8[默认]\dw_aft.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row,ls_null,cnt_childdw Long ins_storageid = 0 Long ls_sptid Dec ls_lastprice,ls_rebate String ls_unit_buy,ls_unit_scll,ls_unit_sale Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale Int li_wfjgunit,li_wfjgdec string ls_unit long li_dec decimal ld_rate s_mtrldef_array arg_s_mtrldef s_edit_index_tran s_tranf8 s_tranf8.if_retrieve_all = FALSE s_tranf8.arg_pkid = 0 s_tranf8.arg_string_code = '' s_tranf8.b_long = 2 Long chc = 1,ls_j SetNull(ls_null) dw_uc.accepttext() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF //THIS.Enabled = FALSE dw_uc.AcceptText() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF NOT IsValid(w_mtrldef_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.b_long = 3 s_ch_tran.if_select_all = TRUE IF tab_1.SelectedTab = 1 THEN ins_storageid = dw_aft.Object.ow_wfjgmx_in_aft_storageid[dw_aft.GetRow()] IF ins_storageid = 0 OR IsNull(ins_storageid) THEN MessageBox('提示','请先选择仓库',information!,OK!) RETURN END IF s_ch_tran.c_long = ins_storageid child_row = dw_aft.GetRow() cnt_childdw = dw_aft.RowCount() dw_aft.AcceptText() IF dw_aft.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_aft.Object.u_mtrldef_mtrlcode[dw_aft.GetRow()]) OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 dw_aft.SetRedraw(FALSE) FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_aft.GetRow() > 0 THEN IF dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[child_row] <> 0 THEN child_row = dw_aft.InsertRow (0) ELSE child_row = dw_aft.GetRow() END IF ELSE child_row = dw_aft.InsertRow (0) END IF IF f_find_mtrl_by_id(s_inscust.mtrlid[ls_j],arg_s_mtrldef) = 0 THEN li_wfjgunit = 0 ls_unit_buy = '' ls_unit_scll = '' ls_unit_sale = '' ld_rate_buy = 0 ld_rate_scll = 0 ld_rate_sale = 0 li_wfjgdec = 0 ELSE li_wfjgunit = arg_s_mtrldef.wfjgunit[1] ls_unit_buy = arg_s_mtrldef.unit_buy[1] ls_unit_scll = arg_s_mtrldef.unit_scll[1] ls_unit_sale = arg_s_mtrldef.unit_sale[1] ld_rate_buy = arg_s_mtrldef.rate_buy[1] ld_rate_scll = arg_s_mtrldef.rate_scll[1] ld_rate_sale = arg_s_mtrldef.rate_sale[1] li_wfjgdec = arg_s_mtrldef.wfjgdec[1] END IF IF li_wfjgunit = 0 THEN ls_unit = s_inscust.unit[ls_j] ld_rate = 1 li_dec = sys_option_unit_dec ELSEIF li_wfjgunit = 1 THEN ls_unit = ls_unit_buy ld_rate = ld_rate_buy li_dec = li_wfjgdec ELSEIF li_wfjgunit = 2 THEN ls_unit = ls_unit_scll ld_rate = ld_rate_scll li_dec = li_wfjgdec ELSEIF li_wfjgunit = 3 THEN ls_unit = ls_unit_sale ld_rate = ld_rate_sale li_dec = li_wfjgdec END IF dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_aft.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_aft.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_aft.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] dw_aft.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_unit[child_row] = ls_unit dw_aft.Object.ow_wfjgmx_in_aft_rate[child_row] = ld_rate Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg,ls_status,ls_woodcode,ls_pcode IF cur_editfocus = 1 THEN IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],s_inscust.unit[ls_j],ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF s_inscust.planprice[ls_j] = 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_fprice[child_row] = s_inscust.lmbuyprice[ls_j] ELSE dw_aft.Object.ow_wfjgmx_in_aft_fprice[child_row] = s_inscust.planprice[ls_j] END IF ELSE dw_aft.Object.ow_wfjgmx_in_aft_jgprice[child_row] = ls_1stnewcost dw_aft.Object.ow_wfjgmx_in_aft_rebate[child_row] = ls_1stzqrate END IF END IF dw_aft.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j] dw_aft.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j] dw_aft.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j] END IF NEXT THIS.TriggerEvent('ue_allowedit') dw_aft.SetRedraw(TRUE) dw_aft.SetFocus() ELSE s_ch_tran.c_long = -1 child_row = dw_bef.GetRow() cnt_childdw = dw_bef.RowCount() dw_bef.AcceptText() IF dw_bef.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_bef.Object.u_mtrldef_mtrlcode[dw_bef.GetRow()]) OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用 dw_bef.SetRedraw(FALSE) s_mtrldef_array s_inscust1 s_inscust1 = Message.PowerObjectParm //接受返回结 FOR ls_j = 1 TO UpperBound(s_inscust1.mtrlid) IF s_inscust1.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_bef.GetRow() > 0 THEN IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_row] <> 0 THEN child_row = dw_bef.InsertRow (0) ELSE child_row = dw_bef.GetRow() END IF ELSE child_row = dw_bef.InsertRow (0) END IF IF f_find_mtrl_by_id(s_inscust1.mtrlid[ls_j],arg_s_mtrldef) = 0 THEN li_wfjgunit = 0 ls_unit_buy = '' ls_unit_scll = '' ls_unit_sale = '' ld_rate_buy = 0 ld_rate_scll = 0 ld_rate_sale = 0 li_wfjgdec = 0 ELSE li_wfjgunit = arg_s_mtrldef.wfjgunit[1] ls_unit_buy = arg_s_mtrldef.unit_buy[1] ls_unit_scll = arg_s_mtrldef.unit_scll[1] ls_unit_sale = arg_s_mtrldef.unit_sale[1] ld_rate_buy = arg_s_mtrldef.rate_buy[1] ld_rate_scll = arg_s_mtrldef.rate_scll[1] ld_rate_sale = arg_s_mtrldef.rate_sale[1] li_wfjgdec = arg_s_mtrldef.wfjgdec[1] END IF IF li_wfjgunit = 0 THEN ls_unit = s_inscust1.unit[ls_j] ld_rate = 1 li_dec = sys_option_unit_dec ELSEIF li_wfjgunit = 1 THEN ls_unit = ls_unit_buy ld_rate = ld_rate_buy li_dec = li_wfjgdec ELSEIF li_wfjgunit = 2 THEN ls_unit = ls_unit_scll ld_rate = ld_rate_scll li_dec = li_wfjgdec ELSEIF li_wfjgunit = 3 THEN ls_unit = ls_unit_sale ld_rate = ld_rate_sale li_dec = li_wfjgdec END IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_row] = s_inscust1.mtrlid[ls_j] dw_bef.Object.u_mtrldef_mtrlcode[child_row] = s_inscust1.mtrlcode[ls_j] dw_bef.Object.u_mtrldef_mtrlname[child_row] = s_inscust1.mtrlname[ls_j] dw_bef.Object.u_mtrldef_mtrlmode[child_row] = s_inscust1.mtrlmode[ls_j] dw_bef.Object.u_mtrldef_unit[child_row] = s_inscust1.unit[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_unit[child_row] = ls_unit dw_bef.Object.ow_wfjgmx_in_bef_rate[child_row] = ld_rate END IF NEXT dw_bef.SetRedraw(TRUE) dw_bef.SetFocus() END IF END IF //THIS.Enabled = TRUE end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,uc_scid row = dw_pageretr.GetRow() IF row > 0 THEN uc_scid = dw_pageretr.Object.ow_wfjg_in_scid[row] uc_relid=dw_pageretr.object.inwareid[row] dw_aft.SetRedraw (FALSE) dw_aft.Retrieve(uc_scid,uc_relid,sys_option_2unit) dw_aft.SetRedraw (TRUE) dw_bef.SetRedraw (FALSE) dw_bef.Retrieve(uc_scid,uc_relid,sys_option_2unit) dw_bef.SetRedraw (TRUE) ELSE dw_aft.Reset() dw_bef.Reset() END IF end event event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认] IF Not dw_edit_mode THEN RETURN Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row = 0 THEN MessageBox('提示','请选定进仓单!',information!,OK!) RETURN END IF dw_uc.AcceptText() IF Not IsValid(W_spt_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 = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])) OpenWithParm(W_spt_edit,s_ch_tran) //调用 S_spt S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 //重置dw_child wf_change_sptid(S_INSCUST.sptid) dw_uc.SetRedraw(False) dw_uc.Object.sptid[uc_row] = S_INSCUST.sptid dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode dw_uc.SetRedraw(True) dw_uc.SetColumn("indate") END IF END IF end event event ue_viewprint;call super::ue_viewprint;IF Not (f_power_ind(393) OR f_power_ind(456)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,OK!) RETURN END IF S_print_MSG LS_PRMSG 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_wfjg_in_edit' END IF LS_PRMSG.TAG_TEXT = '外协收货单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.ow_wfjg_in_scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[LS_ROW] LS_PRMSG.rowcnt = dw_aft.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('ow_wfjg_in',printnum,dw_pageretr.Object.ow_wfjg_in_scid[LS_ROW],dw_pageretr.Object.inwareid[LS_ROW],'','',arg_msg,TRUE) end event event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN Long childrow,ls_sptid,ls_j childrow = dw_aft.GetRow() String ls_unit_buy,ls_unit_scll,ls_unit_sale Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale Int li_wfjgunit,li_wfjgdec string ls_unit long li_dec decimal ld_rate Int li_statusflag,li_woodcodeflag,li_pcodeflag s_mtrldef_array arg_s_mtrldef ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF ls_sptid <= 0 THEN MessageBox("提示","请先选择供应商",information!,OK!) RETURN END IF s_edit_index_tran s_tranf8 s_tranf8.if_retrieve_all = FALSE s_tranf8.arg_pkid = 0 s_tranf8.arg_string_code = '' s_tranf8.b_long = 2 s_tranf8.d_long = ls_sptid s_tranf8.f_long = 1 s_tranf8.e_long = cur_scid this.enabled = false IF NOT IsValid(w_inware_wfjg_ch) THEN OpenWithParm(w_inware_wfjg_ch,s_tranf8) s_mtrldef_wfjg_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 dw_aft.SetRedraw(FALSE) FOR ls_j = 1 TO UpperBound(s_inscust.wfjgid) IF s_inscust.wfjgid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_aft.GetRow() > 0 THEN IF dw_aft.Object.ow_wfjgmx_in_aft_relid[childrow] <> 0 THEN childrow = dw_aft.InsertRow (0) ELSE childrow = dw_aft.GetRow() END IF ELSE childrow = dw_aft.InsertRow (0) END IF dw_aft.Object.ow_wfjgmx_in_aft_ifrel[childrow] = 1 IF childrow > 1 THEN dw_aft.AcceptText() dw_aft.Object.ow_wfjgmx_in_aft_storageid[childrow] = dw_aft.Object.ow_wfjgmx_in_aft_storageid[childrow - 1] END IF IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 li_wfjgunit = 0 ls_unit_buy = '' ls_unit_scll = '' ls_unit_sale = '' ld_rate_buy = 1 ld_rate_scll = 1 ld_rate_sale = 1 li_wfjgdec = 5 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] li_wfjgunit = arg_s_mtrldef.wfjgunit[1] ls_unit_buy = arg_s_mtrldef.unit_buy[1] ls_unit_scll = arg_s_mtrldef.unit_scll[1] ls_unit_sale = arg_s_mtrldef.unit_sale[1] ld_rate_buy = arg_s_mtrldef.rate_buy[1] ld_rate_scll = arg_s_mtrldef.rate_scll[1] ld_rate_sale = arg_s_mtrldef.rate_sale[1] li_wfjgdec = arg_s_mtrldef.wfjgdec[1] END IF IF li_wfjgunit = 0 THEN ls_unit = s_inscust.unit[ls_j] ld_rate = 1 li_dec = sys_option_unit_dec ELSEIF li_wfjgunit = 1 THEN ls_unit = ls_unit_buy ld_rate = ld_rate_buy li_dec = li_wfjgdec ELSEIF li_wfjgunit = 2 THEN ls_unit = ls_unit_scll ld_rate = ld_rate_scll li_dec = li_wfjgdec ELSEIF li_wfjgunit = 3 THEN ls_unit = ls_unit_sale ld_rate = ld_rate_sale li_dec = li_wfjgdec END IF dw_aft.Object.ow_wfjgmx_in_aft_relid[childrow] = s_inscust.wfjgid[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[childrow] = s_inscust.mtrlid[ls_j] dw_aft.Object.u_mtrldef_mtrlcode[childrow] = s_inscust.mtrlcode[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_relcode[childrow] = s_inscust.taskcode[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_price[childrow] = s_inscust.price[ls_j] dw_aft.Object.u_mtrldef_mtrlname[childrow] = s_inscust.mtrlname[ls_j] dw_aft.Object.u_mtrldef_mtrlmode[childrow] = s_inscust.mtrlmode[ls_j] dw_aft.Object.u_mtrldef_unit[childrow] = s_inscust.unit[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_qty[childrow] = s_inscust.qty[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_status[childrow] = s_inscust.status[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_woodcode[childrow] = s_inscust.woodcode[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_pcode[childrow] = s_inscust.pcode[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_sptid_cusid[childrow] = s_inscust.orderid[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_jgprice[childrow] = s_inscust.price[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_unit[childrow] = ls_unit//s_inscust.unit[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_rate[childrow] = ld_rate//s_inscust.unit[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_uqty[childrow] = s_inscust.qty[ls_j]/ld_rate dw_aft.Object.u_mtrldef_mtrlsectype[childrow] = s_inscust.mtrlsectype[ls_j] dw_aft.Object.u_mtrldef_zxmtrlmode[childrow] = s_inscust.zxmtrlmode[ls_j] dw_aft.Object.ow_wfjgmx_in_aft_mxdscrp[childrow] = s_inscust.dscrp[ls_j] dw_aft.Object.u_mtrldef_statusflag[childrow] = li_statusflag dw_aft.Object.u_mtrldef_woodcodeflag[childrow] = li_woodcodeflag dw_aft.Object.u_mtrldef_pcodeflag[childrow] = li_pcodeflag END IF NEXT THIS.TriggerEvent('ue_allowedit') dw_aft.SetColumn('u_mtrldef_mtrlcode') dw_aft.SetRedraw(TRUE) END IF this.enabled = true end event event ue_print;call super::ue_print;IF NOT (f_power_ind(393) or f_power_ind(456)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF //--直接打印 uo_print_preview uo_print IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN 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_wfjg_in_edit' END IF LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = '外加工收货单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = cur_scid LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[dw_pageretr.GetRow()] LS_PRMSG.rowcnt = dw_aft.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 //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('ow_wfjg_in',printnum,dw_pageretr.Object.ow_wfjg_in_scid[dw_pageretr.GetRow()],dw_pageretr.Object.inwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event resize;call super::resize;ln_bar.EndX = THIS.Width ln_bar2.EndX = THIS.Width ln_1.EndX = THIS.Width ln_2.EndX = THIS.Width r_bar.Width = THIS.Width Long w_width,w_height w_width = 3602 w_height = 2300 IF newwidth < w_width THEN THIS.Width = w_width IF newheight < w_height THEN THIS.Height = w_height //dw_child.Width = THIS.Width - (w_width - dw_child_w) //dw_child.Height = THIS.Height - (w_height - dw_child_h) //dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w) //============================================================================== //YYX081007 //============================================================================== IF uc_width > 0 THEN dw_uc.Width = uc_width END IF IF uc_height > 0 THEN dw_uc.Height = uc_height END IF dw_pageretr.X = dw_uc.X + dw_uc.Width dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40 dw_pageretr.Height = dw_uc.Height tab_1.Y = dw_uc.Y + dw_uc.Height + 4 tab_1.Width = THIS.Width - tab_1.X - 40 tab_1.Height = THIS.Height - tab_1.Y - 150 cb_1.Y = dw_uc.Y + dw_uc.Height + 4 dw_aft.Width = THIS.Width - (3602 - 3515) dw_aft.Height = tab_1.Height - 130 dw_bef.Width = THIS.Width - (3602 - 3515) dw_bef.Height = tab_1.Height - 130 this.triggerevent('resize_p') end event event ue_before_open;call super::ue_before_open;dw_aft = tab_1.tabpage_1.dw_1 dw_bef = tab_1.tabpage_2.dw_2 dw_aft.settransobject(sqlca) dw_bef.settransobject(sqlca) ds_copy_aft = CREATE datastore ds_copy_aft.DataObject = dw_aft.dataobject ds_copy_aft.SetTransObject(sqlca) ds_copy_bef = CREATE datastore ds_copy_bef.DataObject = dw_bef.dataobject ds_copy_bef.SetTransObject(sqlca) end event event ue_f11;call super::ue_f11;//用于选择明细内容,被F8[默认]\dw_bef.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row,ins_sptid = 0 String ls_unit_buy,ls_unit_scll,ls_unit_sale Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale Int li_wfjgunit,li_wfjgdec string ls_unit long ld_rate,li_dec s_mtrldef_array arg_s_mtrldef ins_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF ins_sptid = 0 OR IsNull(ins_sptid) THEN MessageBox('提示','请先选择加工商',information!,OK!) RETURN END IF child_row = dw_bef.GetRow() IF NOT IsValid(w_sptware_sptid_ch) THEN 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 = - 1 //选择原料或产品 s_tranf8.d_long = ins_sptid s_tranf8.f_long =cur_scid Long chc = 1,ls_j dw_bef.AcceptText() IF dw_bef.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_bef.Object.u_mtrldef_mtrlcode[dw_bef.GetRow()]) OpenWithParm(w_sptware_sptid_ch,s_tranf8) //调用 s_sptware_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlwareid) IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN IF dw_bef.GetRow() > 0 THEN IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_row] <> 0 THEN child_row = dw_bef.InsertRow (0) ELSE child_row = dw_bef.GetRow() END IF ELSE child_row = dw_bef.InsertRow (0) END IF IF f_find_mtrl_by_id(s_inscust.mtrlid[ls_j],arg_s_mtrldef) = 0 THEN li_wfjgunit = 0 ls_unit_buy = '' ls_unit_scll = '' ls_unit_sale = '' ld_rate_buy = 0 ld_rate_scll = 0 ld_rate_sale = 0 li_wfjgdec = 0 ELSE li_wfjgunit = arg_s_mtrldef.wfjgunit[1] ls_unit_buy = arg_s_mtrldef.unit_buy[1] ls_unit_scll = arg_s_mtrldef.unit_scll[1] ls_unit_sale = arg_s_mtrldef.unit_sale[1] ld_rate_buy = arg_s_mtrldef.rate_buy[1] ld_rate_scll = arg_s_mtrldef.rate_scll[1] ld_rate_sale = arg_s_mtrldef.rate_sale[1] li_wfjgdec = arg_s_mtrldef.wfjgdec[1] END IF IF li_wfjgunit = 0 THEN ls_unit = S_INSCUST.u_mtrldef_unit[ls_j] ld_rate = 1 li_dec = sys_option_unit_dec ELSEIF li_wfjgunit = 1 THEN ls_unit = ls_unit_buy ld_rate = ld_rate_buy li_dec = li_wfjgdec ELSEIF li_wfjgunit = 2 THEN ls_unit = ls_unit_scll ld_rate = ld_rate_scll li_dec = li_wfjgdec ELSEIF li_wfjgunit = 3 THEN ls_unit = ls_unit_sale ld_rate = ld_rate_sale li_dec = li_wfjgdec END IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_bef.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j] dw_bef.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j] dw_bef.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j] dw_bef.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_qty[child_row] = S_INSCUST.noallocqty[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_row] = S_INSCUST.cost[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_plancode[child_row] = S_INSCUST.plancode[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_status[child_row] = S_INSCUST.status[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_woodcode[child_row] = S_INSCUST.woodcode[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_pcode[child_row] = S_INSCUST.pcode[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_unit[child_row] = ls_unit dw_bef.Object.ow_wfjgmx_in_bef_uqty[child_row] = S_INSCUST.noallocqty[ls_j]/ld_rate dw_bef.Object.ow_wfjgmx_in_bef_rate[child_row] = ld_rate dw_bef.object.u_mtrldef_mtrlsectype[child_row] =S_INSCUST.mtrlsectype[ls_j] dw_bef.object.u_mtrldef_zxmtrlmode[child_row] =S_INSCUST.zxmtrlmode[ls_j] dw_bef.SetColumn('ow_wfjgmx_in_bef_qty') END IF NEXT END IF end event event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF IF NOT f_power_ind(801) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF 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.ow_wfjg_in_scid[uc_row],dw_pageretr.object.inwareid[uc_row],ls_str,arg_msg)=0 then messagebox('错误',arg_msg,stopsign!,OK!) return else messagebox('提示','添加备注操作成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.object.ow_wfjg_in_scid[uc_row],dw_pageretr.object.inwareid[uc_row]) end if end event event ue_deletemx;IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN if tab_1.SelectedTab = 1 then IF dw_aft.GETROW()=0 THEN MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!) RETURN END IF dw_aft.DeleteRow (0) dw_aft.TriggerEvent (rowfocuschanged!) else IF dw_bef.GETROW()=0 THEN MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!) RETURN END IF dw_bef.DeleteRow (0) dw_bef.TriggerEvent (rowfocuschanged!) end if end event event ue_addmx;if tab_1.SelectedTab = 2 then this.triggerevent('ue_f8') dw_aft.SetFocus() else this.triggerevent('ue_f11') dw_bef.SetFocus() end if end event event ue_f12;call super::ue_f12;//用于选择明细内容,被f8[默认]\dw_bef.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row,cnt_childdw Long ls_sptid Long ls_j child_row = dw_bef.GetRow() cnt_childdw = dw_bef.RowCount() ls_sptid = dw_uc.object.sptid[dw_uc.getrow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF THIS.Enabled = FALSE dw_uc.AcceptText() ls_sptid = dw_uc.object.sptid[dw_uc.getrow()] IF NOT IsValid(w_mtrldef_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.b_long = 3 s_ch_tran.c_long = 0 s_ch_tran.if_select_all = TRUE dw_bef.AcceptText() IF dw_bef.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_bef.Object.u_mtrldef_mtrlcode[dw_bef.GetRow()]) OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_bef.GetRow() > 0 THEN IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_row] <> 0 THEN child_row = dw_bef.InsertRow (0) ELSE child_row = dw_bef.GetRow() END IF ELSE child_row = dw_bef.InsertRow (0) END IF dw_bef.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_bef.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_bef.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_bef.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg,ls_status,ls_woodcode,ls_pcode IF cur_editfocus = 1 THEN IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],s_inscust.unit[ls_j],ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF s_inscust.planprice[ls_j] = 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_row] = s_inscust.lmbuyprice[ls_j] ELSE dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_row] = s_inscust.planprice[ls_j] END IF ELSE dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_row] = ls_1stnewcost END IF END IF END IF NEXT END IF THIS.Enabled = TRUE dw_bef.SetRedraw(TRUE) dw_bef.SetFocus() end event event ue_rpt_print;call super::ue_rpt_print;IF Not (f_power_ind(393) OR f_power_ind(456)) 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.ow_wfjg_in_scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[row] LS_PRMSG.rowcnt = dw_aft.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('ow_wfjg_in',printnum,dw_pageretr.Object.ow_wfjg_in_scid[row],dw_pageretr.Object.inwareid[row],'','',arg_msg,TRUE) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF Not (f_power_ind(393) OR f_power_ind(456)) 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.ow_wfjg_in_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row] s_print.rowcnt = dw_aft.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 string arg_msg printnum = Message.DoubleParm f_update_printnum('ow_wfjg_in',printnum,dw_pageretr.Object.ow_wfjg_in_scid[row],dw_pageretr.Object.inwareid[row],'','',arg_msg,TRUE) end event event ue_copycol;IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF IF tab_1.SelectedTab = 1 THEN dw_aft.SetFocus() dw_aft.Copy() ELSE dw_bef.SetFocus() dw_bef.Copy() END IF end event event ue_copyrow;IF NOT dw_edit_mode THEN RETURN Long ll_childrow Long ll_i Long ll_j IF tab_1.SelectedTab = 1 THEN ll_childrow = dw_aft.GetRow() IF ll_childrow = 0 THEN MessageBox('提示','请选择复制对象!',information!,OK!) RETURN END IF ll_j = 0 FOR ll_i = 1 TO dw_aft.RowCount() IF dw_aft.IsSelected(ll_i) THEN ll_j++ dw_aft.RowsCopy (ll_i,ll_i,Primary!,ds_copy_aft,ll_j,Primary!) END IF NEXT FOR ll_i = 1 TO ds_copy_aft.RowCount() ds_copy_aft.RowsCopy (ll_i,ll_i,Primary!,dw_aft,ll_childrow + ll_i,Primary!) NEXT ds_copy_aft.Reset() dw_aft.SelectRow(0,FALSE) dw_aft.SetRow(ll_childrow + 1) dw_aft.ScrollToRow(ll_childrow + 1) dw_aft.SelectRow(ll_childrow + 1,TRUE) ELSE ll_childrow = dw_bef.GetRow() IF ll_childrow = 0 THEN MessageBox('NO','请选择复制对象!') RETURN END IF FOR ll_i = 1 TO dw_bef.RowCount() IF dw_bef.IsSelected(ll_i) THEN ll_j++ dw_bef.RowsCopy (ll_i,ll_i,Primary!,ds_copy_bef,ll_j,Primary!) END IF NEXT FOR ll_i = 1 TO ds_copy_bef.RowCount() ds_copy_bef.RowsCopy (ll_i,ll_i,Primary!,dw_bef,ll_childrow + ll_i,Primary!) NEXT ds_copy_bef.Reset() dw_bef.SelectRow(0,FALSE) dw_bef.SetRow(ll_childrow + 1) dw_bef.ScrollToRow(ll_childrow + 1) dw_bef.SelectRow(ll_childrow + 1,TRUE) END IF end event event ue_cutcol;IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF IF tab_1.SelectedTab = 1 THEN dw_aft.SetFocus() dw_aft.Cut() ELSE dw_bef.SetFocus() dw_bef.Cut() END IF end event event ue_insertmx;Long ll_childrow,li_row IF tab_1.SelectedTab = 1 THEN ll_childrow = dw_aft.GetRow() li_row = dw_aft.InsertRow(ll_childrow) dw_aft.SelectRow(0,FALSE) dw_aft.SetRow(li_row) dw_aft.ScrollToRow(li_row) dw_aft.SelectRow(li_row,TRUE) ELSE ll_childrow = dw_bef.GetRow() li_row = dw_bef.InsertRow(ll_childrow) dw_bef.SelectRow(0,FALSE) dw_bef.SetRow(li_row) dw_bef.ScrollToRow(li_row) dw_bef.SelectRow(li_row,TRUE) END IF end event event ue_pastecol;IF NOT dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用',information!,OK!) RETURN END IF IF tab_1.SelectedTab = 1 THEN dw_aft.SetFocus() dw_aft.Paste() ELSE dw_bef.SetFocus() dw_bef.Paste() END IF end event event ue_f6;call super::ue_f6;IF NOT dw_edit_mode THEN RETURN Long ls_mtrlid s_unit s_inscust IF sys_option_2unit <> 0 THEN s_edit_index_tran s_tran_unit IF sys_option_2unit_ch = 1 THEN IF NOT IsValid(w_unit_ch) THEN IF tab_1.SelectedTab = 1 THEN IF dw_aft.GetRow() < 1 THEN RETURN dw_aft.accepttext() ls_mtrlid = dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[dw_aft.GetRow()] OpenWithParm(w_unit_ch,ls_mtrlid) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_aft.Object.ow_wfjgmx_in_aft_unit[dw_aft.GetRow()] = s_inscust.unit dw_aft.Object.ow_wfjgmx_in_aft_rate[dw_aft.GetRow()] = s_inscust.rate IF s_inscust.ReturnType = 0 THEN IF dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()] > 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_qty[dw_aft.GetRow()] = Round(s_inscust.rate * dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()],sys_option_unit_dec) END IF dw_aft.SetColumn( 'ow_wfjgmx_in_aft_qty') ELSE IF s_inscust.rate > 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()] = Round(dw_aft.Object.ow_wfjgmx_in_aft_qty[dw_aft.GetRow()] /s_inscust.rate ,sys_option_unit_dec) END IF dw_aft.SetColumn( 'ow_wfjgmx_in_aft_uqty') END IF END IF ELSE IF dw_bef.GetRow() < 1 THEN RETURN ls_mtrlid = dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[dw_bef.GetRow()] OpenWithParm(w_unit_ch,ls_mtrlid) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_bef.Object.ow_wfjgmx_in_bef_unit[dw_bef.GetRow()] = s_inscust.unit dw_bef.Object.ow_wfjgmx_in_bef_rate[dw_bef.GetRow()] = s_inscust.rate IF s_inscust.ReturnType = 0 THEN IF dw_bef.Object.ow_wfjgmx_in_bef_uqty[dw_bef.GetRow()] > 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_qty[dw_bef.GetRow()] = Round(s_inscust.rate * dw_bef.Object.ow_wfjgmx_in_bef_uqty[dw_bef.GetRow()],sys_option_unit_dec) END IF dw_bef.SetColumn( 'ow_wfjgmx_in_bef_qty') ELSE IF s_inscust.rate > 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_uqty[dw_bef.GetRow()] = Round(dw_bef.Object.ow_wfjgmx_in_bef_qty[dw_bef.GetRow()] / s_inscust.rate,sys_option_unit_dec) END IF dw_bef.SetColumn( 'ow_wfjgmx_in_bef_uqty') END IF END IF END IF END IF ELSE IF NOT IsValid(w_unit_def_ch) THEN IF tab_1.SelectedTab = 1 THEN IF dw_aft.GetRow() < 1 THEN RETURN OpenWithParm(w_unit_def_ch,ls_mtrlid) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_aft.Object.ow_wfjgmx_in_aft_unit[dw_aft.GetRow()] = s_inscust.unit dw_aft.SetColumn( 'ow_wfjgmx_in_aft_qty') END IF ELSE IF dw_bef.GetRow() < 1 THEN RETURN Open(w_unit_def_ch) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_bef.Object.ow_wfjgmx_in_bef_unit[dw_bef.GetRow()] = s_inscust.unit dw_bef.SetColumn( 'ow_wfjgmx_in_bef_qty') END IF END IF END IF END IF ELSE IF NOT IsValid(w_unit_ch) THEN IF tab_1.SelectedTab = 1 THEN IF dw_aft.GetRow() < 1 THEN RETURN dw_aft.AcceptText() ls_mtrlid = dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[dw_aft.GetRow()] OpenWithParm(w_unit_ch,ls_mtrlid) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_aft.Object.ow_wfjgmx_in_aft_unit[dw_aft.GetRow()] = s_inscust.unit dw_aft.Object.ow_wfjgmx_in_aft_rate[dw_aft.GetRow()] = s_inscust.rate IF s_inscust.ReturnType = 0 THEN IF dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()] <> 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_qty[dw_aft.GetRow()] = Round(s_inscust.rate * dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()],sys_option_unit_dec) END IF dw_aft.SetColumn( 'ow_wfjgmx_in_aft_qty') ELSE IF s_inscust.rate > 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()] = Round(dw_aft.Object.ow_wfjgmx_in_aft_qty[dw_aft.GetRow()] /s_inscust.rate ,sys_option_unit_dec) END IF dw_aft.SetColumn( 'ow_wfjgmx_in_aft_uqty') END IF END IF ELSE IF dw_bef.GetRow() < 1 THEN RETURN dw_bef.AcceptText() ls_mtrlid = dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[dw_bef.GetRow()] OpenWithParm(w_unit_ch,ls_mtrlid) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_bef.Object.ow_wfjgmx_in_bef_unit[dw_bef.GetRow()] = s_inscust.unit dw_bef.Object.ow_wfjgmx_in_bef_rate[dw_bef.GetRow()] = s_inscust.rate IF s_inscust.ReturnType = 0 THEN IF dw_bef.Object.ow_wfjgmx_in_bef_uqty[dw_bef.GetRow()] <> 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_qty[dw_bef.GetRow()] = Round(s_inscust.rate * dw_bef.Object.ow_wfjgmx_in_bef_uqty[dw_bef.GetRow()],sys_option_unit_dec) END IF dw_bef.SetColumn( 'ow_wfjgmx_in_bef_qty') ELSE IF s_inscust.rate > 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_uqty[dw_bef.GetRow()] = Round(dw_bef.Object.ow_wfjgmx_in_bef_qty[dw_bef.GetRow()] / s_inscust.rate,sys_option_unit_dec) END IF dw_bef.SetColumn( 'ow_wfjgmx_in_bef_uqty') END IF END IF END IF END IF END IF end event event ue_allowedit;Long Columns Int i String ls_modify_str Long ll_row Long ll_value Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag String ls_status,ls_woodcode,ls_pcode String ls_data_type ll_row = dw_aft.GetRow() IF ll_row <= 0 THEN RETURN Columns = Long(dw_aft.Describe("DataWindow.Column.Count")) FOR i = 1 TO Columns ls_modify_str = dw_aft.Describe("#" + String(i) + ".name") ls_modify_str = Lower(ls_modify_str) IF i = 1 THEN //第1个字段,约定物料ID ls_data_type = dw_aft.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_value = dw_aft.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'statusflag') > 0 THEN ls_data_type = dw_aft.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_statusflag = dw_aft.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN ls_data_type = dw_aft.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_woodcodeflag = dw_aft.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'pcodeflag') > 0 THEN ls_data_type = dw_aft.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_pcodeflag = dw_aft.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR & Pos(ls_modify_str,'u_buytask_status') > 0 OR & Pos(ls_modify_str,'u_order_ml_status') > 0 OR & Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR & Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN ls_status = ls_modify_str END IF END IF END IF IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN ls_woodcode = ls_modify_str END IF END IF IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN ls_pcode = ls_modify_str END IF END IF NEXT IF ls_status <> '' THEN IF ll_statusflag <> 0 OR ll_value = 0 THEN dw_aft.Modify(ls_status+".dddw.allowedit = no") ELSE dw_aft.Modify(ls_status+".dddw.allowedit = yes") END IF END IF IF ls_woodcode <> '' THEN IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN dw_aft.Modify(ls_woodcode+".dddw.allowedit = no") ELSE dw_aft.Modify(ls_woodcode+".dddw.allowedit = yes") END IF END IF IF ls_pcode <> '' THEN IF ll_pcodeflag <> 0 OR ll_value = 0 THEN dw_aft.Modify(ls_pcode+".dddw.allowedit = no") ELSE dw_aft.Modify(ls_pcode+".dddw.allowedit = yes") END IF END IF end event event ue_bill_copy;String arg_msg = '' IF wf_copy(arg_msg) = 1 THEN MessageBox('系统提示','复制成功') ELSE MessageBox('系统提示',arg_msg) END IF end event event ue_bill_paste;String arg_msg = '' IF wf_paste(arg_msg) = 1 THEN MessageBox('系统提示','复制成功') ELSE MessageBox('系统提示',arg_msg) END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_wfjg_in_th end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_wfjg_in_th integer x = 2537 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_wfjg_in_th integer x = 183 integer y = 188 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_wfjg_in_th integer x = 3049 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_wfjg_in_th integer x = 2720 integer y = 44 integer width = 320 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_wfjg_in_th integer x = 2025 integer y = 296 integer width = 1513 integer height = 840 string dataobject = "dw_wfjg_pk_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_aft.reset() dw_bef.reset() 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_wfjg_in_th integer x = 5 integer y = 208 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_wfjg_in_th integer x = 3200 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_wfjg_in_th integer y = 296 integer width = 2025 integer height = 840 string dataobject = "dw_wfjg_pk_edit_th" end type event dw_uc::dwnkey;parent.triggerevent('user_key') if key = KeyDownArrow! then return 1 if dw_edit_mode then if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then dw_aft.setfocus() dw_aft.scrolltorow(dw_child.rowcount()) dw_aft.SetColumn ('ow_wfjgmx_in_aft_ifrel') return 1 elseif dw_uc.GetColumnName ( )='u_spt_sptcode' and key = KeyEnter! then String ls_code,ls_name,ls_find_code Long ls_sptid Long cnt = 0 Boolean if_find = FALSE dw_uc.AcceptText() ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])) SELECT u_spt.sptid, u_spt.name, u_spt.sptcode INTO :ls_sptid,:ls_name,:ls_code FROM u_spt Where ( sptcode = :ls_code OR Name = :ls_code ); 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_spt Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code ); 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_spt.sptid, u_spt.sptcode, u_spt.name INTO :ls_sptid,:ls_code,:ls_name FROM u_spt Where ( sptcode 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_child wf_change_sptid(ls_sptid) dw_uc.SetRedraw(FALSE) dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("indate") 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::doubleclicked;IF dw_edit_mode and row >0 THEN parent.triggerevent('ue_f9') END IF end event event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN IF dwo.Name = 'storageid' THEN dw_child.Reset() PARENT.TriggerEvent("insert_childrow") END IF end event event dw_uc::clicked;call super::clicked;if not dw_edit_mode then return if row <= 0 then return if dwo.name='p_p' then parent.TRIGGEREVENT('ue_f9') end if end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_wfjg_in_th end type type dw_child from w_publ_1ton_share_detail`dw_child within w_wfjg_in_th boolean visible = false integer x = 55 integer y = 780 integer width = 850 integer height = 120 string dataobject = "dw_wfjgmx_in_aft_edit" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode Long ls_mtrlid,ls_sptid,ls_storageid Dec ls_lmbuyprice,ls_planprice Dec ls_lastprice,ls_rebate String ls_prdpackcode Decimal ls_packqty s_mtrldef_array arg_s_mtrldef Long child_row Long ls_null SetNull(ls_null) IF dw_edit_mode THEN dw_uc.AcceptText() ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()] IF ls_storageid = 0 OR IsNull(ls_storageid) THEN MessageBox(publ_operator,'请先选择仓库') RETURN END IF ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") 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!) 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,ls_storageid,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE ls_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_lmbuyprice = arg_s_mtrldef.lmbuyprice[1] END IF dw_child.Object.ow_wfjgmx_in_aft_mtrlid[child_row] = ls_mtrlid dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_child.Object.u_mtrldef_unit[child_row] = ls_unit dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg,ls_status,ls_woodcode,ls_pcode IF cur_editfocus = 1 THEN IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_unit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF ls_planprice = 0 THEN dw_child.Object.ow_wfjgmx_in_aft_fprice[child_row] = ls_lmbuyprice ELSE dw_child.Object.ow_wfjgmx_in_aft_fprice[child_row] = ls_planprice END IF ELSE dw_child.Object.ow_wfjgmx_in_aft_jgprice[child_row] = ls_1stnewcost dw_child.Object.ow_wfjgmx_in_aft_rebate[child_row] = ls_1stzqrate END IF END IF 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( ) = 'ow_wfjgmx_in_aft_plancode' 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 //u_mtrldef_mtrlcode //u_mtrldef_unit //ow_wfjgmx_in_aft_mtrlid //ow_wfjgmx_in_aft_planprice //ow_wfjgmx_in_aft_price //u_mtrldef_mtrlname end event event dw_child::doubleclicked;dw_child.accepttext() if dw_edit_mode then if row > 0 then if dw_child.object.ow_wfjgmx_in_aft_ifrel[row] = 1 then parent.triggerevent('ue_f7') else parent.triggerevent('ue_f8') end if else parent.triggerevent('ue_f8') 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 = 'ow_wfjgmx_in_aft_ifrel' then if this.object.ow_wfjgmx_in_aft_ifrel[row] = 0 then dw_child.object.ow_wfjgmx_in_aft_relid[row] = 0 dw_child.object.u_order_wfjg_taskcode[row] = '' end if end if end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_wfjg_in_th integer x = 1893 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_wfjg_in_th integer x = 1701 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_wfjg_in_th end type event cb_add::clicked;IF NOT f_power_ind(745) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '' Long uc_row,pagerert_row Long relid_pageretr,reld_uc,j IF NOT dw_edit_mode THEN IF wf_check_print(arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF END IF IF dw_edit_mode THEN //cb_1.triggerevent( clicked!) dw_uc.AcceptText() dw_aft.AcceptText() dw_bef.AcceptText() tab_1.tabpage_1.dw_1.accepttext() tab_1.tabpage_2.dw_2.accepttext() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF NOT dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('提示','不合理发生时间!',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("indate") RETURN END IF IF NOT Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN MessageBox('提示','请填写经手人!',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("inrep") RETURN END IF if dw_uc.object.ow_wfjg_in_relint_1[uc_row] = 0 then messagebox('提示','请选择结算方式',information!,OK!) dw_uc.setfocus() dw_uc.setcolumn("ow_wfjg_in_relint_1") return end if for j=1 to dw_aft.rowcount() IF dw_aft.Object.ow_wfjgmx_in_aft_qty[j] = 0 THEN CONTINUE if not f_power_ind(125) and dw_aft.object.ow_wfjgmx_in_aft_ifrel[j] = 1 and dw_aft.object.ow_wfjgmx_in_aft_relid[j] = 0 then messagebox('提示','用户权限限制,请选择外协订单,第'+string(j)+'行',information!,OK!) return end if if not f_power_ind(125) and dw_aft.object.ow_wfjgmx_in_aft_ifrel[j] = 0 and dw_aft.object.ow_wfjgmx_in_aft_qty[j] > 0 then messagebox('提示','用户权限限制,请选择外协订单,第'+string(j)+'行',information!,OK!) return end if IF cbx_autocmp.Checked THEN //保存自动按收货明细计算外协商库存明细 IF wf_in_to_out2(arg_msg) = 0 THEN MessageBox(publ_operator,arg_msg) RETURN END IF END IF IF cbx_autocmp_1.Checked THEN //保存自动按外协商库存[按清单且外协商库存] IF wf_in_to_out(arg_msg) = 0 THEN MessageBox(publ_operator,arg_msg) RETURN END IF END IF next IF wf_check_ifmtrlware(arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF dw_child.AcceptText() //退货单输入是否负数 FOR j = 1 TO dw_aft.RowCount() IF dw_aft.Object.ow_wfjgmx_in_aft_qty[j] > 0 AND dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[j] > 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_qty[j] = 0 - dw_aft.Object.ow_wfjgmx_in_aft_qty[j] END IF IF dw_aft.Object.ow_wfjgmx_in_aft_uqty[j] > 0 AND dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[j] > 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_uqty[j] = 0 - dw_aft.Object.ow_wfjgmx_in_aft_uqty[j] END IF NEXT FOR j = 1 TO dw_bef.RowCount() IF dw_bef.Object.ow_wfjgmx_in_bef_qty[j] > 0 AND dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[j] > 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_qty[j] = 0 - dw_bef.Object.ow_wfjgmx_in_bef_qty[j] END IF IF dw_bef.Object.ow_wfjgmx_in_bef_uqty[j] > 0 AND dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[j] > 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_uqty[j] = 0 - dw_bef.Object.ow_wfjgmx_in_bef_uqty[j] END IF NEXT Long i,cnt IF sys_option_2unit_ch = 1 THEN cnt = 0 FOR i = 1 TO dw_aft.RowCount() IF dw_aft.Object.ow_wfjgmx_in_aft_rate[i] > 0 THEN IF dw_aft.Object.ow_wfjgmx_in_aft_qty[i] <> dw_aft.Object.ow_wfjgmx_in_aft_rate[i] * dw_aft.Object.ow_wfjgmx_in_aft_uqty[i] THEN cnt++ arg_msg = arg_msg + '收货明细,第'+String(i)+'行,库存单位数量:'+String(dw_aft.Object.ow_wfjgmx_in_aft_qty[i],'#,##0.##########')+'计价单位数量:'+String(dw_aft.Object.ow_wfjgmx_in_aft_uqty[i],'#,##0.##########')+',转换率:'+String(dw_aft.Object.ow_wfjgmx_in_aft_rate[i],'#,##0.00##')+'~r~n' END IF END IF NEXT FOR j = 1 TO dw_bef.RowCount() IF dw_bef.Object.ow_wfjgmx_in_bef_rate[j] > 0 THEN IF dw_bef.Object.ow_wfjgmx_in_bef_qty[j] <> dw_bef.Object.ow_wfjgmx_in_bef_rate[j] * dw_bef.Object.ow_wfjgmx_in_bef_uqty[j] THEN cnt++ arg_msg = arg_msg + '外协商库存明细,第'+String(j)+'行,库存单位数量:'+String(dw_bef.Object.ow_wfjgmx_in_bef_qty[j],'#,##0.##########')+'计价单位数量:'+String(dw_bef.Object.ow_wfjgmx_in_bef_uqty[j],'#,##0.##########')+',转换率:'+String(dw_bef.Object.ow_wfjgmx_in_bef_rate[j],'#,##0.00##')+'~r~n' END IF END IF NEXT IF cnt > 0 THEN IF MessageBox('询问',arg_msg + '以上内容计价单位数量与库存单位数量不符合转换率,是否继续保存?',question!,yesno! ) = 2 THEN RETURN END IF END IF uo_ware.indate = dw_uc.Object.indate[uc_row] uo_ware.inrep = dw_uc.Object.inrep[uc_row] uo_ware.part = dw_uc.Object.part[uc_row] uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] uo_ware.sptid = dw_uc.Object.sptid[uc_row] uo_ware.relint_1 = dw_uc.Object.ow_wfjg_in_relint_1[uc_row] uo_ware.thflag = 1 FOR i = 1 TO dw_aft.RowCount() IF dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[i] > 0 THEN IF uo_ware.acceptmx(dw_aft.Object.printid[i],& dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[i],& dw_aft.Object.u_mtrldef_mtrlcode[i],& dw_aft.Object.ow_wfjgmx_in_aft_plancode[i],& dw_aft.Object.ow_wfjgmx_in_aft_status[i],& dw_aft.Object.ow_wfjgmx_in_aft_uqty[i],& dw_aft.Object.ow_wfjgmx_in_aft_fprice[i],& 1,& dw_aft.Object.ow_wfjgmx_in_aft_mxdscrp[i],& arg_msg,dw_aft.Object.ow_wfjgmx_in_aft_jgprice[i],& dw_aft.Object.ow_wfjgmx_in_aft_relid[i],& dw_aft.Object.ow_wfjgmx_in_aft_relprintid[i],& dw_aft.Object.ow_wfjgmx_in_aft_ifrel[i],'','',& dw_aft.Object.ow_wfjgmx_in_aft_sptid_cusid[i],& dw_aft.Object.ow_wfjgmx_in_aft_unit[i],& dw_aft.Object.ow_wfjgmx_in_aft_qty[i],& dw_aft.Object.ow_wfjgmx_in_aft_storageid[i],& dw_aft.Object.ow_wfjgmx_in_aft_rate[i],& dw_aft.Object.ow_wfjgmx_in_aft_addqty[i],& '',& '',& '') = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF END IF NEXT FOR i = 1 TO dw_bef.RowCount() IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[i] > 0 THEN IF uo_ware.acceptmx_bef_th(dw_bef.Object.ow_wfjgmx_in_bef_mtrlwareid[i],& dw_bef.Object.ow_wfjgmx_in_bef_qty[i],& dw_bef.Object.ow_wfjgmx_in_bef_fprice[i],& dw_bef.Object.ow_wfjgmx_in_bef_mxdscrp[i],& dw_bef.Object.printid[i],& arg_msg,& dw_bef.Object.ow_wfjgmx_in_bef_unit[i],& dw_bef.Object.ow_wfjgmx_in_bef_uqty[i],& dw_bef.Object.ow_wfjgmx_in_bef_rate[i],& dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[i],& dw_bef.Object.u_mtrldef_mtrlcode[i],& dw_bef.Object.ow_wfjgmx_in_bef_plancode[i],& dw_bef.Object.ow_wfjgmx_in_bef_status[i],& dw_bef.Object.ow_wfjgmx_in_bef_woodcode[i],& dw_bef.Object.ow_wfjgmx_in_bef_pcode[i]) = 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,'保存操作成功!') f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_relint_1", String(dw_uc.Object.ow_wfjg_in_relint_1[dw_uc.GetRow()])) f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_inrep", String(dw_uc.Object.inrep[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(cur_scid,uo_ware.inwareid) //刷新uc ELSE IF uo_ware.newbegin(cur_scid,5,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF END IF //CALL SUPER::Clicked IF not dw_edit_mode THEN int li_row li_row = dw_pageretr.InsertRow (1) dw_pageretr.ScrollToRow(li_row) dw_aft.RESET() dw_bef.RESET() dw_uc.reset() dw_UC.SetFocus() dw_pageretr.RowsCopy(li_row,li_row, Primary!, dw_uc, 1, Primary!) END IF dw_edit_mode= NOT dw_edit_mode wf_refresh_interface() //read ini IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") PARENT.TriggerEvent("insert_childrow_out") cur_editfocus = 1 LONG ll_relint_1 string ls_rep ll_relint_1 = long(f_ProfileString (sys_empid,dw_uc.DataObject, "dft_relint_1",'0')) ls_rep = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_inrep",'') dw_uc.Object.ow_wfjg_in_relint_1[dw_uc.GetRow()] = ll_relint_1 dw_uc.Object.inrep[dw_uc.GetRow()] = ls_rep ELSE PARENT.TriggerEvent("retrieve_childdw") cur_editfocus = 0 END IF // THIS.TriggerEvent('refresh_interface') end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_wfjg_in_th end type event cb_edit::clicked;IF NOT f_power_ind(745) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF NOT dw_edit_mode THEN IF uo_ware.updatebegin(dw_pageretr.Object.ow_wfjg_in_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],5,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF PARENT.TriggerEvent('ue_allowedit') END IF CALL SUPER::Clicked IF dw_edit_mode THEN cur_editfocus = 2 ELSE cur_editfocus = 0 END IF end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_wfjg_in_th integer width = 169 end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(747) 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.ow_wfjg_in_scid[uc_row],dw_pageretr.object.inwareid[uc_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) else //日志 long ls_id string ls_code ls_id=dw_pageretr.object.inwareid[uc_row] ls_code=dw_pageretr.object.inwarecode[uc_row] f_setsysoplog('车间外协返工单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true) //-- messagebox('提示','删除单据'+string(dw_pageretr.object.inwarecode[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_wfjg_in_th integer x = 1198 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_secauditing" menustr=menustr + "|" + "Text=财务撤审~tEvent=ue_csecauditing" 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" 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_wfjg_in_th integer x = 855 end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(746) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' IF NOT KeyDown(KeyControl!) THEN Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_in_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,information!,OK!) ELSE MessageBox('提示','审核成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_in_scid[pagerert_row],dw_pageretr.Object.inwareid[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.inwarecode[ll_i] + " 正在审核..." //进度信息 li_flag = dw_pageretr.Object.flag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.inwareid[ll_i] IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN ll_fail++ CONTINUE END IF IF uo_ware.auditing(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_wfjg_in_th integer x = 1449 end type event cb_xm::clicked;is_mx_menustr = "" IF dw_edit_mode THEN is_mx_menustr += "|" + "Text=按转换率计算库存数量~tEvent=ue_cmp_qty" is_mx_menustr += "|" + "Text=按转换率计算计价数量~tEvent=ue_cmp_uqty" is_mx_menustr += "|" + "Text=-" is_mx_menustr += "|" + "Text=选择外协商库存~tEvent=ue_f11" ELSE is_mx_menustr += "Text=仓审后修改单价~tEvent=ue_mod_price" END IF CALL Super::Clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_wfjg_in_th end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_wfjg_in_th integer x = 2085 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_wfjg_in_th integer x = 2386 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_wfjg_in_th integer x = 1047 end type event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(900) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row 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.ow_wfjg_in_scid[pagerert_row],dw_pageretr.Object.inwareid [pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF IF dw_pageretr.Object.flag[pagerert_row] = 1 THEN IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.inwareid[pagerert_row] ls_code = dw_pageretr.Object.inwarecode[pagerert_row] f_setsysoplog('车间外协返工单','撤审,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','撤审成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_in_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row]) END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_wfjg_in_th end type type p_help from w_publ_1ton_share_detail`p_help within w_wfjg_in_th end type type p_encl from w_publ_1ton_share_detail`p_encl within w_wfjg_in_th end type type p_other from w_publ_1ton_share_detail`p_other within w_wfjg_in_th end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_wfjg_in_th end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_wfjg_in_th end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_wfjg_in_th end type type r_bar from w_publ_1ton_share_detail`r_bar within w_wfjg_in_th integer x = 3515 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_wfjg_in_th integer beginx = 9 integer endx = 3273 end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_wfjg_in_th integer beginx = 9 integer endx = 3273 end type type ddlb_scid from uo_ddlb_scid within w_wfjg_in_th integer x = 951 integer y = 188 integer width = 549 integer height = 1120 integer taborder = 20 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid=this.uo_scid end event event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid parent.triggerevent("retrieve_pageretr") end event type st_3 from statictext within w_wfjg_in_th integer x = 1513 integer y = 208 integer width = 219 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_wfjg_in_th integer x = 773 integer y = 208 integer width = 219 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 ddlb_status from dropdownlistbox within w_wfjg_in_th integer x = 1691 integer y = 188 integer width = 549 integer height = 556 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "[全部]" boolean sorted = false string item[] = {"[全部]","待仓库审","待财务审","审核完毕"} borderstyle borderstyle = stylelowered! end type event selectionchanged;IF Index = 1 THEN cur_flag = -1 cur_secflag = -1 ELSEIF Index = 2 THEN cur_flag = 0 cur_secflag = 0 ELSEIF Index = 3 THEN cur_flag = 1 cur_secflag = 0 ELSEIF Index = 4 THEN cur_flag = 1 cur_secflag = 1 END IF PARENT.TriggerEvent('retrieve_pageretr') end event type tab_1 from tab within w_wfjg_in_th integer y = 1144 integer width = 3538 integer height = 1004 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 boolean raggedright = true boolean focusonbuttondown = true integer selectedtab = 1 tabpage_1 tabpage_1 tabpage_2 tabpage_2 end type on tab_1.create this.tabpage_1=create tabpage_1 this.tabpage_2=create tabpage_2 this.Control[]={this.tabpage_1,& this.tabpage_2} end on on tab_1.destroy destroy(this.tabpage_1) destroy(this.tabpage_2) end on type tabpage_1 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3502 integer height = 892 long backcolor = 134217739 string text = "外协返工明细" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_1 dw_1 end type on tabpage_1.create this.dw_1=create dw_1 this.Control[]={this.dw_1} end on on tabpage_1.destroy destroy(this.dw_1) end on type dw_1 from u_dw_rbtnfilter within tabpage_1 event ue_dwndropdown pbm_dwndropdown integer width = 3497 integer height = 872 integer taborder = 20 string dataobject = "dw_wfjgmx_in_aft_pk_edit_th" boolean hscrollbar = true boolean vscrollbar = true end type event ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch Long ll_row,ll_mtrlid s_pzwin_open arg_s_win ll_row = THIS.GetRow() IF ll_row > 0 THEN ls_col_mtrlid = THIS.Describe("#1.Name") IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid) ls_col_pz = THIS.GetColumnName( ) arg_s_win.arg_x = THIS.X + PARENT.X + THIS.PointerX() + tab_1.X arg_s_win.arg_y = THIS.Y + PARENT.Y + THIS.PointerY() + tab_1.Y arg_s_win.arg_col = ls_col_pz arg_s_win.arg_mtrlid = ll_mtrlid ls_pz_ch = f_mtrl_pz(arg_s_win) IF ls_pz_ch = '' THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) END IF end event event doubleclicked;call super::doubleclicked;dw_aft.AcceptText() IF dw_edit_mode THEN IF row > 0 THEN IF dwo.Name = 'ow_wfjgmx_in_aft_unit' THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f6') ELSEIF dw_aft.Object.ow_wfjgmx_in_aft_ifrel[row] = 1 THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f7') ELSE PARENT.GetParent().GetParent().TriggerEvent('ue_f8') END IF ELSE PARENT.GetParent().GetParent().TriggerEvent('ue_f8') END IF END IF end event event itemchanged;call super::itemchanged;if not dw_edit_mode then return this.accepttext() if dwo.name = 'ow_wfjgmx_in_aft_ifrel' then if this.object.ow_wfjgmx_in_aft_ifrel[row] = 0 then dw_aft.object.ow_wfjgmx_in_aft_relid[row] = 0 dw_aft.object.ow_wfjgmx_in_aft_relcode[row] = '' end if elseif dwo.name = 'ow_wfjgmx_in_aft_storageid' then this.triggerevent(rowfocuschanged!) elseif dwo.name = 'ow_wfjgmx_in_aft_uqty' and sys_option_2unit = 0 then dw_aft.Object.ow_wfjgmx_in_aft_qty[dw_aft.GetRow()] = Round(dw_aft.Object.ow_wfjgmx_in_aft_rate[dw_aft.GetRow()] * dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()],sys_option_unit_dec) elseif dwo.name = 'ow_wfjgmx_in_aft_qty' and sys_option_2unit = 0 and dw_aft.Object.ow_wfjgmx_in_aft_rate[dw_aft.GetRow()]<>0 then dw_aft.Object.ow_wfjgmx_in_aft_uqty[dw_aft.GetRow()] = Round(dw_aft.Object.ow_wfjgmx_in_aft_qty[dw_aft.GetRow()]/dw_aft.Object.ow_wfjgmx_in_aft_rate[dw_aft.GetRow()] ,sys_option_unit_dec) end if end event event dwnkey;call super::dwnkey;parent.getparent().getparent().TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode Long ls_mtrlid,ls_sptid,ls_storageid Dec ls_lmbuyprice,ls_planprice Dec ls_lastprice,ls_rebate String ls_prdpackcode Decimal ls_packqty string ls_mtrlsectype string ls_zxmtrlmode Int li_statusflag,li_woodcodeflag,li_pcodeflag String ls_unit_buy,ls_unit_scll,ls_unit_sale Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale Int li_wfjgunit,li_wfjgdec long ld_rate,li_dec s_mtrldef_array arg_s_mtrldef Long child_row Long ls_null SetNull(ls_null) IF dw_edit_mode THEN dw_uc.AcceptText() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN parent.getparent().getparent().TriggerEvent("ue_f9") END IF IF KeyDown(keydownarrow!) THEN Long li_row IF dw_aft.GetRow() = dw_aft.RowCount() THEN parent.getparent().getparent().TriggerEvent("insert_childrow") END IF ELSE If KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF dw_aft.GetColumnName() = 'u_mtrldef_mtrlcode' THEN dw_aft.AcceptText() ls_storageid = dw_aft.Object.ow_wfjgmx_in_aft_storageid[dw_uc.GetRow()] IF ls_storageid = 0 OR IsNull(ls_storageid) THEN MessageBox('提示','请先选择仓库',information!,OK!) RETURN END IF child_row = dw_aft.GetRow() IF dw_aft.Object.ow_wfjgmx_in_aft_ifrel[child_row] = 1 THEN parent.getparent().getparent().TriggerEvent('ue_f7') RETURN 1 END IF ls_mtrlcode = dw_aft.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN parent.getparent().getparent().TriggerEvent('ue_f8') RETURN 1 ELSE ls_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_lmbuyprice = arg_s_mtrldef.lmbuyprice[1] ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] li_statusflag = arg_s_mtrldef.statusflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_wfjgunit = arg_s_mtrldef.wfjgunit[1] ls_unit_buy = arg_s_mtrldef.unit_buy[1] ls_unit_scll = arg_s_mtrldef.unit_scll[1] ls_unit_sale = arg_s_mtrldef.unit_sale[1] ld_rate_buy = arg_s_mtrldef.rate_buy[1] ld_rate_scll = arg_s_mtrldef.rate_scll[1] ld_rate_sale = arg_s_mtrldef.rate_sale[1] li_wfjgdec = arg_s_mtrldef.wfjgdec[1] END IF IF li_wfjgunit = 0 THEN ls_unit = ls_unit ld_rate = 1 li_dec = sys_option_unit_dec ELSEIF li_wfjgunit = 1 THEN ls_unit = ls_unit_buy ld_rate = ld_rate_buy li_dec = li_wfjgdec ELSEIF li_wfjgunit = 2 THEN ls_unit = ls_unit_scll ld_rate = ld_rate_scll li_dec = li_wfjgdec ELSEIF li_wfjgunit = 3 THEN ls_unit = ls_unit_sale ld_rate = ld_rate_sale li_dec = li_wfjgdec END IF dw_aft.Object.ow_wfjgmx_in_aft_mtrlid[child_row] = ls_mtrlid dw_aft.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_aft.Object.u_mtrldef_unit[child_row] = ls_unit dw_aft.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_aft.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_aft.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_aft.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode dw_aft.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_aft.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_aft.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag dw_child.Object.ow_wfjgmx_in_aft_unit[child_row] = ls_unit dw_child.Object.ow_wfjgmx_in_aft_rebate[child_row] = ld_rate IF dw_aft.Object.ow_wfjgmx_in_aft_unit[child_row] = '' OR sys_option_2unit = 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_unit[child_row] = ls_unit END IF Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg,ls_status,ls_woodcode,ls_pcode IF cur_editfocus = 1 THEN IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_unit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF ls_planprice = 0 THEN dw_aft.Object.ow_wfjgmx_in_aft_fprice[child_row] = ls_lmbuyprice ELSE dw_aft.Object.ow_wfjgmx_in_aft_fprice[child_row] = ls_planprice END IF ELSE dw_aft.Object.ow_wfjgmx_in_aft_jgprice[child_row] = ls_1stnewcost dw_aft.Object.ow_wfjgmx_in_aft_rebate[child_row] = ls_1stzqrate END IF END IF PARENT.GetParent().GetParent().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_aft.GetColumnName( ) = 'ow_wfjgmx_in_aft_rate' THEN dw_aft.AcceptText() child_row = dw_aft.GetRow() dw_aft.Object.ow_wfjgmx_in_aft_qty[child_row] = dw_aft.Object.ow_wfjgmx_in_aft_uqty[child_row] * dw_aft.Object.ow_wfjgmx_in_aft_rate[child_row] IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_aft.GetColumnName( ) = 'ow_wfjgmx_in_aft_uqty' THEN dw_aft.AcceptText() child_row = dw_aft.GetRow() dw_aft.Object.ow_wfjgmx_in_aft_qty[child_row] = dw_aft.Object.ow_wfjgmx_in_aft_uqty[child_row] * dw_aft.Object.ow_wfjgmx_in_aft_rate[child_row] IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_aft.GetColumnName( ) = 'ow_wfjgmx_in_aft_plancode' AND dw_aft.GetRow() = dw_aft.RowCount() THEN parent.getparent().getparent().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 rowfocuschanged;call super::rowfocuschanged;if currentrow <= 0 then return this.selectrow(0,false) this.selectrow(currentrow,true) long ll_storageid,ll_if_plancode this.accepttext() if this.getrow() = 0 then return ll_storageid = this.object.ow_wfjgmx_in_aft_storageid[this.getrow()] if ll_storageid <= 0 then return select if_plancode into :ll_if_plancode from u_storage where storageid = :ll_storageid; if sqlca.sqlcode <> 0 then messagebox('提示','查询仓库资料失败',information!,OK!) return end if if ll_if_plancode = 0 then this.modify('ow_wfjgmx_in_aft_plancode.protect = 1') else this.modify('ow_wfjgmx_in_aft_plancode.protect = 0') end if end event event clicked;call super::clicked;THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) end event event rbuttondown;call super::rbuttondown;IF dw_edit_mode THEN Long ll_row,ll_column ll_row = THIS.GetRow() ll_column = THIS.GetColumn() IF ll_row <= 0 THEN RETURN IF ll_column <= 0 THEN RETURN IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN s_calender_arg s_calender s_calender.PointerX = THIS.PointerX() s_calender.PointerY = THIS.PointerY() s_calender.X = THIS.X + PARENT.X s_calender.Y = THIS.Y + PARENT.Y OpenWithParm(w_calendar,s_calender) THIS.SetItem(ll_row,ll_column,id_date_selected) else if Left(dwo.TYPE,4) = 'text' then return m_dwchild_rbotton_wfjg m_print m_print = CREATE m_dwchild_rbotton_wfjg m_print.m_0.PopMenu(tab_1.X + THIS.X + THIS.PointerX() + 50,tab_1.Y + THIS.Y + THIS.PointerY() + 50) END IF END IF end event type tabpage_2 from userobject within tab_1 integer x = 18 integer y = 96 integer width = 3502 integer height = 892 long backcolor = 134217739 string text = "外协商库存" long tabtextcolor = 33554432 long tabbackcolor = 134217739 long picturemaskcolor = 536870912 dw_2 dw_2 end type on tabpage_2.create this.dw_2=create dw_2 this.Control[]={this.dw_2} end on on tabpage_2.destroy destroy(this.dw_2) end on type dw_2 from u_dw_rbtnfilter within tabpage_2 integer x = 5 integer width = 3493 integer height = 872 integer taborder = 20 string dataobject = "dw_wfjgmx_in_bef_pk_edit_th" boolean hscrollbar = true boolean vscrollbar = true end type event doubleclicked;call super::doubleclicked;dw_bef.AcceptText() IF dw_edit_mode THEN IF row > 0 THEN IF dwo.Name = 'ow_wfjgmx_in_bef_unit' THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f6') ELSE PARENT.GetParent().GetParent().TriggerEvent('ue_f11') END IF END IF END IF end event event dwnkey;call super::dwnkey;//w_inware_wfjg_th.TriggerEvent('user_key') PARENT.GetParent().GetParent().TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode String ls_plancode,ls_status,ls_woodcode,ls_pcode Long ls_mtrlwareid,ls_mtrlid,ls_sptid Dec ls_noallocqty,ls_cost,ls_planprice,ls_lmbuyprice,ls_packqty Long child_row Long ls_null SetNull(ls_null) s_mtrldef_array arg_s_mtrldef IF dw_edit_mode THEN dw_uc.AcceptText() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF ls_sptid = 0 OR IsNull(ls_sptid) THEN MessageBox('提示','请先选择加工商',information!,OK!) RETURN END IF IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_bef.GetRow() = dw_bef.RowCount() THEN PARENT.GetParent().GetParent().TriggerEvent('insert_childrow_out') END IF ELSE IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN IF dw_bef.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN dw_bef.AcceptText() child_row = dw_bef.GetRow() ls_mtrlcode = dw_bef.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN PARENT.GetParent().GetParent().TriggerEvent('ue_f8') RETURN 1 ELSE ls_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_lmbuyprice = arg_s_mtrldef.lmbuyprice[1] END IF dw_bef.Object.ow_wfjgmx_in_bef_mtrlid[child_row] = ls_mtrlid dw_bef.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_bef.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_bef.Object.u_mtrldef_unit[child_row] = ls_unit dw_bef.Object.ow_wfjgmx_in_bef_qty[child_row] = 0 dw_bef.Object.ow_wfjgmx_in_bef_unit[child_row] = ls_unit dw_bef.Object.ow_wfjgmx_in_bef_uqty[child_row] = 0 dw_bef.Object.ow_wfjgmx_in_bef_rate[child_row] = 1 Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_unit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF ls_planprice = 0 THEN dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_row] = ls_lmbuyprice ELSE dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_row] = ls_planprice END IF ELSE dw_bef.Object.ow_wfjgmx_in_bef_fprice[child_row] = ls_1stnewcost END IF IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_bef.GetColumnName( ) = 'ow_wfjgmx_in_bef_mxdscrp' AND dw_bef.GetRow() = dw_bef.RowCount() THEN PARENT.GetParent().GetParent().TriggerEvent('insert_childrow_out') 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 clicked;call super::clicked;THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) end event event rbuttondown;call super::rbuttondown;IF dw_edit_mode THEN Long ll_row,ll_column ll_row = THIS.GetRow() ll_column = THIS.GetColumn() IF ll_row <= 0 THEN RETURN IF ll_column <= 0 THEN RETURN IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN s_calender_arg s_calender s_calender.PointerX = THIS.PointerX() s_calender.PointerY = THIS.PointerY() s_calender.X = THIS.X + PARENT.X s_calender.Y = THIS.Y + PARENT.Y OpenWithParm(w_calendar,s_calender) THIS.SetItem(ll_row,ll_column,id_date_selected) else if Left(dwo.TYPE,4) = 'text' then return m_dwchild_rbotton_wfjg m_print m_print = CREATE m_dwchild_rbotton_wfjg m_print.m_0.PopMenu(tab_1.X + THIS.X + THIS.PointerX() + 50,tab_1.Y + THIS.Y + THIS.PointerY() + 50) END IF END IF end event event itemchanged;call super::itemchanged;if not dw_edit_mode then return this.accepttext() if dwo.name = 'ow_wfjgmx_in_bef_uqty' and sys_option_2unit = 0 then this.Object.ow_wfjgmx_in_bef_qty[this.GetRow()] = Round(this.Object.ow_wfjgmx_in_bef_rate[this.GetRow()] * this.Object.ow_wfjgmx_in_bef_uqty[this.GetRow()],sys_option_unit_dec) elseif dwo.name = 'ow_wfjgmx_in_bef_qty' and sys_option_2unit = 0 and this.Object.ow_wfjgmx_in_bef_rate[this.GetRow()]<>0 then this.Object.ow_wfjgmx_in_bef_uqty[this.GetRow()] = Round(this.Object.ow_wfjgmx_in_bef_qty[this.GetRow()]/this.Object.ow_wfjgmx_in_bef_rate[this.GetRow()] ,sys_option_unit_dec) end if end event type cb_1 from uo_imflatbutton within w_wfjg_in_th integer x = 905 integer y = 1144 integer width = 713 integer height = 84 integer taborder = 50 boolean bringtotop = true string text = "从选择的库存生成收货明细" end type event clicked;call super::clicked;if not dw_edit_mode then return string arg_msg if wf_bef_to_aft(arg_msg) = 0 then messagebox('错误',arg_msg,stopsign!,OK!) end if end event type cbx_autocmp from checkbox within w_wfjg_in_th integer x = 2286 integer y = 188 integer width = 1074 integer height = 76 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "保存自动按收货明细计算外协商库存明细" end type event clicked;int li_autocmpl IF THIS.Checked THEN li_autocmpl = 1 ELSE li_autocmpl = 0 END IF f_SetProfileString (sys_empid,dw_pageretr.DataObject, "cur_autocmpl", String(li_autocmpl)) end event event constructor;int li_autocmpl li_autocmpl = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "cur_autocmpl", '0')) IF li_autocmpl = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event type cbx_autocmp_1 from checkbox within w_wfjg_in_th integer x = 3401 integer y = 188 integer width = 1179 integer height = 76 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "保存自动按外协商库存[按清单且外协商库存]" end type event clicked;int li_autocmpl_1 IF THIS.Checked THEN li_autocmpl_1 = 1 ELSE li_autocmpl_1 = 0 END IF f_SetProfileString (sys_empid,dw_pageretr.DataObject, "cur_autocmp_1", String(li_autocmpl_1)) end event event constructor;int li_autocmpl_1 li_autocmpl_1 = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "cur_autocmp_1", '0')) IF li_autocmpl_1 = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event