$PBExportHeader$w_scwg_taskwork_2_person.srw forward global type w_scwg_taskwork_2_person from w_publ_1ton_share_detail end type type st_4 from statictext within w_scwg_taskwork_2_person end type type ddlb_scid from uo_ddlb_scid within w_scwg_taskwork_2_person end type type ddlb_status from dropdownlistbox within w_scwg_taskwork_2_person end type type st_2 from statictext within w_scwg_taskwork_2_person end type type st_3 from statictext within w_scwg_taskwork_2_person end type type em_dftdate from editmask within w_scwg_taskwork_2_person end type type st_5 from statictext within w_scwg_taskwork_2_person end type type em_mth from editmask within w_scwg_taskwork_2_person end type type cb_affirm from uo_imflatbutton within w_scwg_taskwork_2_person end type type cb_cancel_affirm from uo_imflatbutton within w_scwg_taskwork_2_person end type end forward global type w_scwg_taskwork_2_person from w_publ_1ton_share_detail string title = "个人产品工序计件单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event f10 ( ) event ue_p_pro ( ) event ue_audit_all ( ) event ue_caudit_all ( ) event ue_addqty_to_qty ( ) st_4 st_4 ddlb_scid ddlb_scid ddlb_status ddlb_status st_2 st_2 st_3 st_3 em_dftdate em_dftdate st_5 st_5 em_mth em_mth cb_affirm cb_affirm cb_cancel_affirm cb_cancel_affirm end type global w_scwg_taskwork_2_person w_scwg_taskwork_2_person type variables Long cur_scid_arr[],cur_scid Long cur_flag = -1 Long cur_affirmflag = -1 uo_scwg_taskwork_2 uo_ware decimal lds_orderqty end variables forward prototypes public function integer wf_refresh_curuc (long arg_billid) public function integer wf_flagstatus_rf () public function decimal wf_cmp_auto_proqty (long arg_mtrlid, string arg_procode, integer arg_scid, long arg_orderid, long arg_relprintid, long arg_billid) end prototypes event insert_childrow();Long li_row li_row = dw_child.InsertRow(0) dw_child.ScrollToRow(li_row) dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_p_pro();IF Not dw_edit_mode THEN MessageBox('系统提示','非编辑状态下不能使用') RETURN END IF IF MessageBox(publ_operator,'是否要确定要批设定工序', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i,uc_row Long ll_scid,ll_orderid,ll_mtrlid Long cnt = 0 String ls_procode,ls_proname Decimal ld_price Long llk_mtrlid,llk_relscid,llk_orderid,llk_relprintid,llk_billid String lsk_procode uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN IF cur_scid < 0 THEN ll_scid = dw_pageretr.Object.scid[uc_row] ELSE ll_scid = cur_scid END IF FOR ll_i = 1 To dw_child.RowCount() IF dw_child.Object.procode[1] = '' THEN RETURN ls_procode = dw_child.Object.procode[1] ls_proname = dw_child.Object.proname[1] IF ll_i = 1 THEN CONTINUE IF sys_option_taskwork_procode_order = 0 Or dw_child.Object.ifrel[ll_i] = 0 THEN IF dw_child.Object.mtrlid[ll_i] = 0 THEN CONTINUE ll_mtrlid = dw_child.Object.mtrlid[ll_i] cnt = 0 SELECT count(*) INTO :cnt FROM (SELECT u_sc_workprice.procode as procode, u_sc_workprice.Proname as proname FROM u_sc_workprice WHERE u_sc_workprice.Mtrlid = :ll_mtrlid UNION ALL SELECT u_sc_workprocedure.code as procode, u_sc_workprocedure.name as Proname FROM u_sc_workprocedure WHERE ( u_sc_workprocedure.sysflag = 0 ) AND u_sc_workprocedure.ifpubl = 1) a WHERE a.procode = :ls_procode And a.proname = :ls_proname; IF sqlca.SQLCode <> 0 THEN CONTINUE IF cnt = 0 THEN CONTINUE SELECT top 1 a.workPrice INTO :ld_price FROM (SELECT u_sc_workprice.workPrice as workPrice, u_sc_workprice.procode as procode, u_sc_workprice.Proname as proname FROM u_sc_workprice WHERE u_sc_workprice.Mtrlid = :ll_mtrlid UNION ALL SELECT u_sc_workprocedure.workPrice as workPrice, u_sc_workprocedure.code as procode, u_sc_workprocedure.name as proname FROM u_sc_workprocedure WHERE ( u_sc_workprocedure.sysflag = 0 ) AND u_sc_workprocedure.ifpubl = 1) a WHERE a.procode = :ls_procode And a.proname = :ls_proname; IF sqlca.SQLCode <> 0 THEN ld_price = 0 END IF ELSE IF dw_child.Object.u_scwg_taskwork_2_mx_orderid[ll_i] = 0 THEN CONTINUE ll_orderid = dw_child.Object.u_scwg_taskwork_2_mx_orderid[ll_i] ll_mtrlid = dw_child.Object.mtrlid[ll_i] llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[ll_i]) cnt = 0 // SELECT count(*) INTO :cnt // FROM U_OrderRqwp // WHERE ( U_OrderRqwp.scid = :ll_scid ) AND // ( U_OrderRqwp.orderid = :ll_orderid ) AND // ( U_OrderRqwp.procode = :ls_procode ) AND // ( U_OrderRqwp.proname = :ls_proname); SELECT count(*) INTO :cnt FROM U_OrderRqwp WHERE scid = :ll_scid AND printid = :llk_relprintid AND taskid = :ll_orderid AND mtrlid = :ll_mtrlid And procode = :ls_procode; IF sqlca.SQLCode <> 0 THEN CONTINUE IF cnt = 0 THEN CONTINUE // SELECT workprice INTO :ld_price // FROM u_orderrqwp // WHERE ( U_OrderRqwp.scid = :ll_scid ) AND // ( U_OrderRqwp.orderid = :ll_orderid ) AND // ( U_OrderRqwp.procode = :ls_procode ) AND // ( U_OrderRqwp.proname = :ls_proname); SELECT workprice INTO :ld_price FROM u_orderrqwp WHERE scid = :ll_scid AND printid = :llk_relprintid AND taskid = :ll_orderid AND mtrlid = :ll_mtrlid And procode = :ls_procode; IF sqlca.SQLCode <> 0 THEN ld_price = 0 END IF END IF dw_child.Object.procode[ll_i] = dw_child.Object.procode[1] dw_child.Object.proname[ll_i] = dw_child.Object.proname[1] dw_child.Object.price[ll_i] = ld_price NEXT dw_child.AcceptText() FOR ll_i = 1 To dw_child.RowCount() llk_mtrlid = Long(dw_child.Object.mtrlid[ll_i]) lsk_procode = String(dw_child.Object.procode[ll_i]) llk_relscid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relscid[ll_i]) llk_orderid = Long(dw_child.Object.u_scwg_taskwork_2_mx_orderid[ll_i]) llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[ll_i]) IF dw_pageretr.GetRow() > 0 THEN llk_billid = Long(dw_pageretr.Object.billid[dw_pageretr.GetRow()]) END IF Decimal rtn_qty rtn_qty = wf_cmp_auto_proqty(llk_mtrlid,lsk_procode,llk_relscid,llk_orderid,llk_relprintid,llk_billid) if rtn_qty = 0 then continue dw_child.Object.qty[ll_i] = rtn_qty NEXT end event event ue_audit_all();IF NOT f_power_ind(1368) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF s_taskwork_abnormity_audit s_audit OpenWithParm(w_scwg_taskwork_2_person_p_audit,1) s_audit = Message.PowerObjectParm IF s_audit.audit_month = 0 THEN RETURN String arg_msg IF uo_ware.auditing_1(s_audit.audit_wageid,s_audit.audit_month,arg_msg) = 0 THEN MessageBox(publ_operator,'计件单审核失败,原因>>'+arg_msg) RETURN END IF MessageBox(publ_operator,'计件单审核成功') this.TriggerEvent('retrieve_pageretr') end event event ue_caudit_all();IF NOT f_power_ind(1369) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF s_taskwork_abnormity_audit s_audit OpenWithParm(w_scwg_taskwork_2_person_p_audit,0) s_audit = Message.PowerObjectParm IF s_audit.audit_month = 0 THEN RETURN String arg_msg IF uo_ware.c_auditing_1(s_audit.audit_wageid,s_audit.audit_month,arg_msg) = 0 THEN MessageBox(publ_operator,'计件单撤审失败,原因>>'+arg_msg) RETURN END IF MessageBox(publ_operator,'计件单撤审成功') THIS.TriggerEvent('retrieve_pageretr') end event event ue_addqty_to_qty();// Long ll_row Long ll_mtrlid String ls_procode decimal arg_proqty dw_child.AcceptText() ll_row = dw_child.GetRow() ll_mtrlid = Long(dw_child.Object.mtrlid[ll_row]) ls_procode = Trim(dw_child.Object.procode[ll_row]) IF ll_mtrlid <= 0 THEN RETURN IF ls_procode = '' THEN RETURN arg_proqty=0 SELECT workqty INTO :arg_proqty FROM u_sc_workprice WHERE mtrlid = :ll_mtrlid And procode = :ls_procode; dw_child.Object.qty[ll_row]=dec(dw_child.Object.u_scwg_taskwork_2_mx_addqty[ll_row]) * dec(arg_proqty) end event public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 Long billid DateTime billdate Long wagemth String rep String relcode String dscrp Long scid String billcode Long wrkgrpid Int flag String opemp DateTime opdate String auditingrep DateTime auditingdate Long wageid DateTime moddate String modemp string affirmemp DateTime affirmdate int affirmflag string empname,empcode SELECT u_scwg_taskwork_2.wagemth, u_scwg_taskwork_2.billdate, u_scwg_taskwork_2.relcode, u_scwg_taskwork_2.rep, u_scwg_taskwork_2.dscrp, u_scwg_taskwork_2.scid, u_scwg_taskwork_2.billid, u_scwg_taskwork_2.wageid, u_scwg_taskwork_2.wrkGrpid, u_scwg_taskwork_2.billcode, u_scwg_taskwork_2.opdate, u_scwg_taskwork_2.opemp, u_scwg_taskwork_2.moddate, u_scwg_taskwork_2.modemp, u_scwg_taskwork_2.flag, u_scwg_taskwork_2.auditingdate, u_scwg_taskwork_2.auditingrep, u_scwg_taskwork_2.affirmflag, u_scwg_taskwork_2.affirmdate, u_scwg_taskwork_2.affirmemp, u_scwg_taskwork_2.printnum, u_rs_empinfo.empcode, u_rs_empinfo.empname INTO :wagemth, :billdate, :relcode, :rep, :dscrp, :scid, :billid, :wageid, :wrkgrpid, :billcode, :opdate, :opemp, :moddate, :modemp, :flag, :auditingdate, :auditingrep, :affirmflag, :affirmdate, :affirmemp, :printnum, :empcode , :empname FROM u_scwg_taskwork_2,u_rs_empinfo WHERE (u_scwg_taskwork_2.wrkgrpid = u_rs_empinfo.empid) and ( u_scwg_taskwork_2.billid = :arg_billid ); IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询计件单操作失败"+sqlca.SQLErrText) RETURN 0 END IF dw_pageretr.Object.billid[uc_row] = arg_billid dw_pageretr.Object.billdate[uc_row] = billdate dw_pageretr.Object.wagemth[uc_row] = wagemth dw_pageretr.Object.rep[uc_row] = rep dw_pageretr.Object.relcode[uc_row] = relcode dw_pageretr.Object.dscrp[uc_row] = dscrp dw_pageretr.Object.scid[uc_row] = scid dw_pageretr.Object.billcode[uc_row] = billcode dw_pageretr.Object.wrkgrpid[uc_row] = wrkgrpid dw_pageretr.Object.flag[uc_row] = flag dw_pageretr.Object.opemp[uc_row] = opemp dw_pageretr.Object.opdate[uc_row] = opdate dw_pageretr.Object.modemp[uc_row] = modemp dw_pageretr.Object.moddate[uc_row] = moddate dw_pageretr.Object.auditingrep[uc_row] = auditingrep dw_pageretr.Object.auditingdate[uc_row] = auditingdate dw_pageretr.Object.u_scwg_taskwork_2_affirmemp[uc_row] = affirmemp dw_pageretr.Object.u_scwg_taskwork_2_affirmdate[uc_row] = affirmdate dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[uc_row] = affirmflag dw_pageretr.Object.u_rs_empinfo_empcode[uc_row] = empcode dw_pageretr.Object.u_rs_empinfo_empname[uc_row] = empname dw_pageretr.Object.wageid[uc_row] = wageid dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) wf_flagstatus_rf() dw_pageretr.ResetUpdate() dw_pageretr.SetRedraw(TRUE) RETURN 1 end function public function integer wf_flagstatus_rf ();Long pagerert_row Int li_flag,li_affirmflag pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = False cb_affirm.Enabled = False cb_cancel_affirm.Enabled = False GOTO ext END IF li_flag = dw_pageretr.Object.flag[pagerert_row] li_affirmflag = dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[pagerert_row] IF dw_edit_mode THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = False cb_affirm.Enabled = False cb_cancel_affirm.Enabled = False ELSE cb_auditing.Enabled = True cb_auditing_cancel.Enabled = True IF sys_option_taskwork_not_affirm = 0 THEN IF li_affirmflag = 0 THEN cb_affirm.Enabled = True cb_cancel_affirm.Enabled = False ELSEIF li_affirmflag = 1 And li_flag = 0 THEN cb_affirm.Enabled = False cb_cancel_affirm.Enabled = True ELSEIF li_affirmflag = 1 And li_flag = 1 THEN cb_affirm.Enabled = False cb_cancel_affirm.Enabled = False END IF ELSE cb_affirm.Enabled = False cb_cancel_affirm.Enabled = False END IF IF li_flag = 0 THEN cb_auditing.Enabled = True cb_auditing_cancel.Enabled = False ELSE cb_auditing.Enabled = False cb_auditing_cancel.Enabled = True END IF END IF ext: RETURN 0 end function public function decimal wf_cmp_auto_proqty (long arg_mtrlid, string arg_procode, integer arg_scid, long arg_orderid, long arg_relprintid, long arg_billid);//wf_cmp_auto_proqty(arg_mtrlid,arg_procode,arg_scid,arg_orderid,arg_relprintid) Decimal rslt //工序表基础数 arg_proqty Decimal arg_proqty arg_proqty = 0 SELECT workqty INTO :arg_proqty FROM u_sc_workprice WHERE mtrlid = :arg_mtrlid And procode = :arg_procode; IF sqlca.SQLCode <> 0 THEN // MessageBox('提示', '查询工序:'+arg_procode+',工价表数量失败,'+sqlca.SQLErrText) rslt = 0 GOTO ext END IF //可计件总数 lde_orderqty String ls_ordercode = '' Decimal lde_orderqty = 0 Decimal lde_assignqty = 0 SELECT u_SaleTask.taskcode,u_SaleTaskMx.orderqty, u_SaleTaskMx.assignqty INTO :ls_ordercode,:lde_orderqty, :lde_assignqty FROM u_SaleTaskMx,u_SaleTask WHERE u_SaleTaskMx.scid = :arg_scid AND u_SaleTaskMx.taskid = :arg_orderid AND u_SaleTaskMx.printid = :arg_relprintid AND u_SaleTaskMx.scid = u_SaleTask.scid And u_SaleTaskMx.taskid = u_SaleTask.taskid ; IF sqlca.SQLCode <> 0 THEN // MessageBox('提示', '查询订单号失败,'+sqlca.SQLErrText) rslt = 0 GOTO ext END IF IF sys_opton_taskwork_gz_qty = 0 THEN //用已进仓数限制 081 lde_orderqty=lde_assignqty END IF //计件已完成数 ld_finish_qty Decimal lde_workqty,ld_finish_qty //IF sys_option_add_orderrqwp_fqty = 1 THEN //查数量顺带查是否有该工序 // if sys_version = 802003 then //只有工业版+才有mrp运算 SELECT proqty, finishqty INTO :lde_workqty, :ld_finish_qty FROM U_OrderRqwp WHERE scid = :arg_scid AND printid = :arg_relprintid AND taskid = :arg_orderid AND mtrlid = :arg_mtrlid And procode = :arg_procode; IF sqlca.SQLCode <> 0 THEN // MessageBox('提示', '查询工序:'+arg_procode+',信息失败,'+sqlca.SQLErrText) // // rslt = 0 // GOTO ext END IF //END IF //个人产品工序 已开单数 ld_Otherbill_qty Decimal ld_Otherbill_qty = 0 SELECT isnull(sum(qty),0) INTO :ld_Otherbill_qty FROM u_scwg_taskwork_2,u_scwg_taskwork_2_mx WHERE u_scwg_taskwork_2_mx.billid = u_scwg_taskwork_2.billid AND u_scwg_taskwork_2_mx.mtrlid = :arg_mtrlid AND u_scwg_taskwork_2_mx.orderid = :arg_orderid AND u_scwg_taskwork_2_mx.relprintid = :arg_relprintid AND u_scwg_taskwork_2_mx.relscid = :arg_scid AND u_scwg_taskwork_2_mx.procode = :arg_procode AND u_scwg_taskwork_2_mx.billid <> :arg_billid And (u_scwg_taskwork_2.affirmflag = 0 Or :sys_option_taskwork_not_affirm = 1 ); IF sqlca.SQLCode <> 0 THEN // MessageBox('提示', '查询工序:'+arg_procode+',其它已开单未确认数失败,'+sqlca.SQLErrText) // rslt = 0 // GOTO ext END IF //产品个人工序 已开单数 ld_Otherbill_qty_2 Decimal ld_Otherbill_qty_2 = 0 SELECT isnull(sum(Amount),0) INTO :ld_Otherbill_qty_2 FROM u_sc_taskworkmx,u_sc_taskwork WHERE u_sc_taskworkmx.billid = u_sc_taskwork.billid AND u_sc_taskworkmx.scid = u_sc_taskwork.scid AND u_sc_taskwork.mtrlid = :arg_mtrlid AND u_sc_taskwork.orderid = :arg_orderid AND u_sc_taskwork.relid = :arg_relprintid AND u_sc_taskworkmx.procode = :arg_procode And (u_sc_taskwork.affirmflag = 0 Or :sys_option_taskwork_not_affirm = 1 ); IF sqlca.SQLCode <> 0 THEN // MessageBox('提示', '查询工序:'+arg_procode+',产品个人计件单统计表开单未确认数失败,'+sqlca.SQLErrText) // rslt = 0 // GOTO ext END IF IF IsNull(arg_proqty) THEN arg_proqty = 0 //工序表基础数 IF IsNull(lde_orderqty) THEN lde_orderqty = 0 //可计件总数 IF IsNull(ld_finish_qty) THEN ld_finish_qty = 0 //计件已完成数 IF IsNull(ld_Otherbill_qty) THEN ld_Otherbill_qty = 0 //个人产品工序 已开单数 IF IsNull(ld_Otherbill_qty_2) THEN ld_Otherbill_qty_2 = 0 //产品个人工序 已开单数 rslt = lde_orderqty * arg_proqty - ld_finish_qty - ld_Otherbill_qty - ld_Otherbill_qty_2 IF rslt < 0 THEN rslt = 0 ext: RETURN rslt end function on w_scwg_taskwork_2_person.create int iCurrent call super::create this.st_4=create st_4 this.ddlb_scid=create ddlb_scid this.ddlb_status=create ddlb_status this.st_2=create st_2 this.st_3=create st_3 this.em_dftdate=create em_dftdate this.st_5=create st_5 this.em_mth=create em_mth this.cb_affirm=create cb_affirm this.cb_cancel_affirm=create cb_cancel_affirm iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.st_4 this.Control[iCurrent+2]=this.ddlb_scid this.Control[iCurrent+3]=this.ddlb_status this.Control[iCurrent+4]=this.st_2 this.Control[iCurrent+5]=this.st_3 this.Control[iCurrent+6]=this.em_dftdate this.Control[iCurrent+7]=this.st_5 this.Control[iCurrent+8]=this.em_mth this.Control[iCurrent+9]=this.cb_affirm this.Control[iCurrent+10]=this.cb_cancel_affirm end on on w_scwg_taskwork_2_person.destroy call super::destroy destroy(this.st_4) destroy(this.ddlb_scid) destroy(this.ddlb_status) destroy(this.st_2) destroy(this.st_3) destroy(this.em_dftdate) destroy(this.st_5) destroy(this.em_mth) destroy(this.cb_affirm) destroy(this.cb_cancel_affirm) end on event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled Boolean 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_pageretr.Retrieve(cur_scid_arr,cur_flag,cur_affirmflag) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF wf_flagstatus_rf() THIS.TriggerEvent('retrieve_childdw') THIS.TriggerEvent('retrieve_mx') cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event retrieve_childdw;Long row,billid,scid //dw_child.Reset() row = dw_pageretr.GetRow() dw_child.setfilter('') dw_child.filter() IF row > 0 THEN billid = dw_pageretr.Object.billid[row] scid = dw_pageretr.object.scid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(billid,sys_option_taskwork_price_limit,scid) dw_child.SetRedraw (TRUE) ELSE dw_child.Reset() END IF end event event open;call super::open;uc_column_int = 8 //uc dw前8列可以编辑 child_column_int = 13 //子dw前4列可以编辑 uo_ware = CREATE uo_scwg_taskwork_2 uo_ware.commit_transaction = sqlca em_dftdate.Text = String(Today(),'yyyy-mm-dd') s_hide_col s_col_price s_col_price.col_1 = 'price' s_col_price.col_2 = 'amt' f_hide_col(122,dw_child,s_col_price) end event event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN Long uc_row s_empselect s_select uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN RETURN dw_uc.SetRedraw(FALSE) IF NOT IsValid(w_empinfo_choice) THEN String tmp_empcode dw_uc.AcceptText() tmp_empcode = Trim(dw_uc.Object.u_rs_empinfo_empcode[uc_row]) OpenWithParm(w_empinfo_choice,tmp_empcode) s_select = Message.PowerObjectParm //接受返回结构 IF s_select.empid > 0 THEN dw_uc.Object.wrkgrpid[dw_uc.GetRow()] = s_select.empid dw_uc.Object.u_rs_empinfo_empcode[dw_uc.GetRow()] = s_select.empcode dw_uc.Object.u_rs_empinfo_empname[dw_uc.GetRow()] = s_select.empname dw_uc.Object.u_rs_empinfo_duty[dw_uc.GetRow()] = s_select.duty THIS.TriggerEvent('retrieve_mx') dw_uc.SetColumn('dscrp') END IF END IF dw_uc.SetRedraw(TRUE) end event event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row child_row = dw_child.GetRow() IF NOT IsValid(w_mtrldef_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.if_select_all = TRUE s_ch_tran.b_long = 0 s_ch_tran.c_long = -1 s_ch_tran.f_long = 0 Long chc = 1,ls_j dw_child.AcceptText() IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(w_mtrldef_edit,s_ch_tran) s_mtrldef_array S_INSCUST S_INSCUST = Message.PowerObjectParm FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[child_row] > 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j] Long li_statusflag Long li_woodcodeflag Long li_pcodeflag String ls_priceformula s_mtrldef_array arg_s_mtrldef IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ls_priceformula = '' ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] ls_priceformula = arg_s_mtrldef.priceformula[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag END IF NEXT END IF dw_child.SetFocus() end event event ue_f10;call super::ue_f10;Long child_row Long ls_mtrlid dw_child.AcceptText() child_row = dw_child.GetRow() IF child_row <= 0 THEN MessageBox('系统提示','当前没有记录!') RETURN END IF ls_mtrlid = dw_child.Object.mtrlid[child_row] IF ls_mtrlid <= 0 THEN MessageBox('系统提示','产品不能为空!') RETURN END IF IF Not IsValid(w_workprice_workproduce_ch) THEN s_workpricetable s_inscust s_workpricetable_array s_select s_inscust.mtrlid = ls_mtrlid OpenWithParm(w_workprice_workproduce_ch,s_inscust) s_select = Message.PowerObjectParm IF UpperBound(s_select.procode) <= 0 THEN RETURN IF IsNull(s_select.procode[1]) Or s_select.procode[1] = '' THEN RETURN dw_child.SetRedraw(False) dw_child.Object.procode[child_row] = s_select.procode[1] dw_child.Object.proname[child_row] = s_select.proname[1] dw_child.Object.price[child_row] = s_select.workprice[1] Decimal arg_proqty Long arg_mtrlid arg_mtrlid = dw_child.Object.mtrlid[child_row] arg_proqty = 1 SELECT workqty INTO :arg_proqty FROM u_sc_workprice WHERE mtrlid = :arg_mtrlid And procode = :s_select.procode[1]; // dw_child.Object.qty[child_row] = dw_child.Object.qty[child_row] * arg_proqty //工序计划数带出dw_child.Object.qty[child_row] * dw_child.AcceptText() Long llk_mtrlid,llk_relscid,llk_orderid,llk_relprintid,llk_billid String lsk_procode llk_mtrlid = Long(dw_child.Object.mtrlid[child_row]) lsk_procode = String(dw_child.Object.procode[child_row]) llk_relscid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row]) llk_orderid = Long(dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row]) llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row]) IF dw_pageretr.GetRow() > 0 THEN llk_billid = Long(dw_pageretr.Object.billid[dw_pageretr.GetRow()]) END IF decimal rtn_qty rtn_qty=wf_cmp_auto_proqty(llk_mtrlid,lsk_procode,llk_relscid,llk_orderid,llk_relprintid,llk_billid) if rtn_qty > 0 then dw_child.Object.qty[child_row] =rtn_qty end if dw_child.SetRedraw(True) dw_child.SetColumn('qty') END IF 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+'( billcode like "%'+Trim(sle_usual_query.Text)+'%" )' ELSE obj_expr = obj_expr+'( billcode 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) END IF dw_pageretr.SetRedraw(True) end event event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = '' ls_newselect = Lower(ori_oldselect) IF Trim(sle_usual_query.Text) <> '' THEN IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN ls_querystrpart = "(u_scwg_taskwork_2.billcode like '%"+Trim(sle_usual_query.Text)+"%')" ELSE ls_querystrpart = "(u_scwg_taskwork_2.billcode 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 refresh_interface;call super::refresh_interface;ddlb_scid.Enabled = NOT dw_edit_mode ddlb_status.Enabled = NOT dw_edit_mode wf_flagstatus_rf() end event event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1371) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '',LS_STR Long uc_row s_inputbox S_SREU uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') 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.billid[uc_row],LS_STR,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) END IF end event event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN Long child_row,ls_j,uc_row s_edit_index_tran s_open //传递参数使用 s_saletask_mtrl s_inscust child_row = dw_child.GetRow() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN RETURN s_open.if_select_any = TRUE s_open.b_string = '' IF cur_scid < 0 THEN s_open.d_long = dw_uc.Object.scid[uc_row] ELSE s_open.d_long = cur_scid END IF ////This.Enabled = False ////工业版 或 不限订单 //两个选择窗口基本一样,不明白为什么要分开?? //IF sys_version_type = 0 OR sys_option_taskwork_procode_order = 0 THEN // //选订单,带工价表工序 // IF NOT IsValid(w_order_ml_mx_mtrl_ch2) THEN // OpenWithParm(w_order_ml_mx_mtrl_ch2,s_open) // ELSE // RETURN // END IF // //ELSE // //选订单,带订单工序 IF NOT IsValid(w_order_ml_mx_mtrl_ch) THEN OpenWithParm(w_order_ml_mx_mtrl_ch,s_open) ELSE RETURN END IF //END IF ////This.Enabled = True s_inscust = Message.PowerObjectParm //接受返回结构 dw_child.SetRedraw(FALSE) FOR ls_j = 1 TO UpperBound(s_inscust.taskid) IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.ifrel[child_row] = 1 dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j] // dw_child.Object.mxdscrp[child_row] = s_inscust.mxdscrp[ls_j] dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.status[child_row] = s_inscust.status[ls_j] dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j] dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j] dw_child.Object.u_saletaskmx_orderqty[child_row] = s_inscust.orderqty[ls_j] dw_child.Object.u_saletaskmx_assignqty[child_row] = s_inscust.assignqty[ls_j] dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j] dw_child.Object.u_saletaskmx_mxdscrp2[child_row] = s_inscust.mxdscrp2[ls_j] dw_child.Object.u_saletaskmx_mxdscrp3[child_row] = s_inscust.mxdscrp3[ls_j] dw_child.Object.u_saletaskmx_mxdscrp4[child_row] = s_inscust.mxdscrp4[ls_j] dw_child.Object.u_saletask_relcode[child_row] = s_inscust.relcode[ls_j] dw_child.Object.qty[child_row] = s_inscust.orderqty[ls_j] dw_child.Object.u_saletaskmx_plancode[child_row] = s_inscust.plancode[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j] dw_child.Object.u_saletask_kind[child_row] = s_inscust.kind[ls_j] END IF NEXT dw_child.SetFocus() dw_child.SetColumn('procode') dw_child.SetRedraw(TRUE) /* //详情参考w_sc_taskwork.ue_f7 IF sys_version_type = 0 or sys_option_taskwork_procode_order = 0 THEN IF Not IsValid(w_order_ml_mx_mtrl_ch2) THEN s_open.if_select_any = True s_open.b_string = '' IF cur_scid < 0 THEN s_open.d_long = dw_uc.Object.scid[uc_row] ELSE s_open.d_long = cur_scid END IF This.Enabled = False OpenWithParm(w_order_ml_mx_mtrl_ch2,s_open) This.Enabled = True s_inscust = Message.PowerObjectParm //接受返回结构 dw_child.SetRedraw(False) FOR ls_j = 1 To UpperBound(s_inscust.taskid) IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.ifrel[child_row] = 1 dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j] dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.status[child_row] = s_inscust.status[ls_j] dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j] dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j] dw_child.SetFocus() dw_child.SetColumn('procode') END IF NEXT dw_child.SetRedraw(True) END IF ELSE IF Not IsValid(w_order_ml_mx_mtrl_ch) THEN s_open.if_select_any = True s_open.b_string = '' IF cur_scid < 0 THEN s_open.d_long = dw_uc.Object.scid[uc_row] ELSE s_open.d_long = cur_scid END IF This.Enabled = False OpenWithParm(w_order_ml_mx_mtrl_ch,s_open) This.Enabled = True s_inscust = Message.PowerObjectParm //接受返回结构 dw_child.SetRedraw(False) FOR ls_j = 1 To UpperBound(s_inscust.taskid) IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.ifrel[child_row] = 1 dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j] dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.status[child_row] = s_inscust.status[ls_j] dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j] dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j] dw_child.SetFocus() dw_child.SetColumn('procode') END IF NEXT dw_child.SetRedraw(True) END IF END IF */ end event event ue_f11;call super::ue_f11;Long child_row dw_child.AcceptText() child_row = dw_child.GetRow() IF child_row <= 0 THEN MessageBox('系统提示','当前没有记录!') RETURN END IF IF dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = 0 THEN MessageBox('系统提示','当前没有选择销售订单明细!') RETURN END IF IF Not IsValid(w_order_ml_pro_ch) THEN s_saletaskmx s_select_open s_select_open.scid = cur_scid s_select_open.taskid = dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] s_select_open.printid = dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] OpenWithParm(w_order_ml_pro_ch,s_select_open) s_order_ml_workprice_array s_select s_select = Message.PowerObjectParm IF UpperBound(s_select.procode) <= 0 THEN RETURN IF IsNull(s_select.procode[1]) Or s_select.procode[1] = '' THEN RETURN dw_child.SetRedraw(False) dw_child.Object.procode[child_row] = s_select.procode[1] dw_child.Object.proname[child_row] = s_select.proname[1] dw_child.Object.price[child_row] = s_select.workprice[1] dw_child.Object.proqty[child_row] = s_select.proqty[1] Decimal arg_proqty Long arg_mtrlid arg_mtrlid = dw_child.Object.mtrlid[child_row] arg_proqty = 1 SELECT workqty INTO :arg_proqty FROM u_sc_workprice WHERE mtrlid = :arg_mtrlid And procode = :s_select.procode[1]; // dw_child.Object.qty[child_row] = dw_child.Object.qty[child_row] * arg_proqty //工序计划数带出dw_child.Object.qty[child_row] * dw_child.AcceptText() Long llk_mtrlid,llk_relscid,llk_orderid,llk_relprintid,llk_billid String lsk_procode llk_mtrlid = Long(dw_child.Object.mtrlid[child_row]) lsk_procode = String(dw_child.Object.procode[child_row]) llk_relscid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row]) llk_orderid = Long(dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row]) llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row]) IF dw_pageretr.GetRow() > 0 THEN llk_billid = Long(dw_pageretr.Object.billid[dw_pageretr.GetRow()]) END IF decimal rtn_qty rtn_qty=wf_cmp_auto_proqty(llk_mtrlid,lsk_procode,llk_relscid,llk_orderid,llk_relprintid,llk_billid) if rtn_qty > 0 then dw_child.Object.qty[child_row] =rtn_qty end if dw_child.SetRedraw(True) dw_child.SetColumn('qty') END IF end event event ue_viewprint;call super::ue_viewprint; IF NOT f_power_ind(1372) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未确认,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF Not f_power_ind(1372) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_scwg_taskwork_2_edit_person' END IF if LS_PRMSG.obj_dwNAME = '' then return LS_PRMSG.TAG_TEXT = '个人产品计件单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW] OpenWithParm(w_publ_preview,LS_PRMSG) //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_scwg_taskwork_2',printnum,0,dw_pageretr.object.billid[LS_ROW],'','',arg_msg,true) end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(1372) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未确认,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF NOT f_power_ind(1372) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_scwg_taskwork_2_edit_person' END IF if LS_PRMSG.obj_dwNAME = '' then return LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.TAG_TEXT = '个人产品计件单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW] uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("系统提示",arg_msg) RETURN END IF uo_print.ds_print() //**更新打印次料 //printnum = 1 Long ll_scid String ls_code ll_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()] ls_code = dw_pageretr.Object.billcode[dw_pageretr.GetRow()] f_update_printnum('u_scwg_taskwork_2',1,0,dw_pageretr.object.billid[LS_ROW],'','',arg_msg,true) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint; 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.u_scwg_taskwork_2_affirmflag[row] = 0 THEN MessageBox('NO','目标单据还未确认,不能打印!') 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.scid[row] s_print.retr_pramnmb = dw_pageretr.Object.billid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 String arg_msg printnum = Message.DoubleParm String ls_code ll_scid = dw_pageretr.Object.scid[row] ls_code = dw_pageretr.Object.billcode[row] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_rpt_print;call super::ue_rpt_print;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('系统信息','没有可打印的单据!') RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[row] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF IF MessageBox ("IF","是否确定要打印当前单据吗?",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.scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[row] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("系统提示",arg_msg) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm String ls_code ll_scid = dw_pageretr.Object.scid[row] ls_code = dw_pageretr.Object.billcode[row] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_f6;call super::ue_f6;IF Not dw_edit_mode THEN RETURN Long child_row,ls_j,uc_row s_edit_index_tran s_open //传递参数使用 s_saletask_mtrl_pro s_inscust child_row = dw_child.GetRow() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN RETURN s_open.if_select_any = True s_open.b_string = '' s_open.if_retrieve_all = local_retrieve_all IF cur_scid < 0 THEN s_open.d_long = dw_uc.Object.scid[uc_row] ELSE s_open.d_long = cur_scid END IF //选订单,带订单工序 IF Not IsValid(w_order_ml_mx_mtrl_ch_gz) THEN OpenWithParm(w_order_ml_mx_mtrl_ch_gz,s_open) END IF s_inscust = Message.PowerObjectParm //接受返回结构 dw_child.SetRedraw(False) FOR ls_j = 1 To UpperBound(s_inscust.taskid) IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.ifrel[child_row] = 1 dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j] // dw_child.Object.mxdscrp[child_row] = s_inscust.mxdscrp[ls_j] dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.status[child_row] = s_inscust.status[ls_j] dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j] dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j] dw_child.Object.u_saletaskmx_orderqty[child_row] = s_inscust.orderqty[ls_j] dw_child.Object.u_saletaskmx_assignqty[child_row] = s_inscust.assignqty[ls_j] dw_child.Object.u_saletask_relcode[child_row] = s_inscust.relcode[ls_j] dw_child.Object.procode[child_row] = s_inscust.procode[ls_j] dw_child.Object.proname[child_row] = s_inscust.proname[ls_j] dw_child.Object.price[child_row] = s_inscust.workprice[ls_j] dw_child.Object.proqty[child_row] = s_inscust.proqty[ls_j] dw_child.Object.qty[child_row] = s_inscust.proqty[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j] dw_child.Object.u_saletask_kind[child_row] = s_inscust.kind[ls_j] END IF NEXT dw_child.SetFocus() dw_child.SetColumn('procode') dw_child.SetRedraw(True) end event event ue_f12;call super::ue_f12;//选择生产进仓单明细 IF NOT dw_edit_mode THEN RETURN Long child_row,ls_j,uc_row s_edit_index_tran s_open //传递参数使用 s_saletask_mtrl s_inscust child_row = dw_child.GetRow() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN RETURN s_open.if_select_any = TRUE s_open.b_string = '' s_open.d_long = dw_uc.Object.scid[uc_row] IF NOT IsValid(w_inware_cp_mtrl_ch) THEN OpenWithParm(w_inware_cp_mtrl_ch,s_open) ELSE RETURN END IF s_inscust = Message.PowerObjectParm //接受返回结构 dw_child.SetRedraw(FALSE) FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF // dw_child.Object.ifrel[child_row] = 1 dw_child.Object.u_scwg_taskwork_2_mx_relid2[child_row] = s_inscust.taskid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relprintid2[child_row] = s_inscust.printid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j] dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.status[child_row] = s_inscust.status[ls_j] dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j] dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j] dw_child.Object.qty[child_row] = s_inscust.noassignqty[ls_j] dw_child.Object.u_scwg_taskwork_2_mx_addqty[child_row] = s_inscust.noassignaddqty[ls_j] dw_child.Object.u_inwaremx_qty[child_row] = s_inscust.orderqty[ls_j] dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust.addqty[ls_j] dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j] dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j] dw_child.Object.u_inwaremx_mxdscrp2[child_row] = s_inscust.mxdscrp2[ls_j] dw_child.Object.u_inwaremx_mxdscrp3[child_row] = s_inscust.mxdscrp3[ls_j] dw_child.Object.u_inwaremx_mxdscrp4[child_row] = s_inscust.mxdscrp4[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j] END IF NEXT dw_child.SetFocus() dw_child.SetColumn('procode') dw_child.SetRedraw(TRUE) end event type cb_func from w_publ_1ton_share_detail`cb_func within w_scwg_taskwork_2_person end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_scwg_taskwork_2_person integer x = 2610 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_scwg_taskwork_2_person integer x = 197 integer width = 553 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_scwg_taskwork_2_person integer x = 3063 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_scwg_taskwork_2_person integer x = 2761 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_scwg_taskwork_2_person integer x = 1861 integer width = 1687 integer height = 928 string dataobject = "dw_scwg_taskwork_2_index_person" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_scwg_taskwork_2_person integer x = 14 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_scwg_taskwork_2_person integer x = 3214 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_scwg_taskwork_2_person integer y = 288 integer width = 1861 integer height = 1012 string dataobject = "dw_scwg_taskwork_2_edit_person" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') IF Key = keydownarrow! THEN RETURN 1 dw_uc.AcceptText() dw_child.AcceptText() IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = keyenter! THEN dw_child.SetFocus() dw_child.ScrollToRow(1) dw_child.SetColumn ('u_mtrldef_mtrlcode') RETURN 1 ELSEIF dw_uc.GetColumnName () = 'u_rs_empinfo_empcode' AND Key = keyenter! THEN String ls_empcode ls_empcode = Trim(dw_uc.Object.u_rs_empinfo_empcode[dw_uc.GetRow()]) s_empinfo arg_s_emp IF f_find_emp(ls_empcode,arg_s_emp) = 0 THEN PARENT.TriggerEvent('ue_f9') RETURN 1 ELSE dw_uc.SetRedraw(FALSE) dw_uc.Object.wrkgrpid[dw_uc.GetRow()] = arg_s_emp.empid dw_uc.Object.u_rs_empinfo_empcode[dw_uc.GetRow()] = arg_s_emp.empcode dw_uc.Object.u_rs_empinfo_empname[dw_uc.GetRow()] = arg_s_emp.empname dw_uc.SetRedraw(TRUE) IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF 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::clicked;call super::clicked;IF dw_edit_mode THEN IF dwo.Name = 't_saletaskmx' OR dwo.Name = 'p_b' THEN PARENT.TriggerEvent('ue_f7') ELSEIF dwo.Name = 't_mtrl' OR dwo.Name = 'p_1' THEN PARENT.TriggerEvent('ue_f8') ELSEIF dwo.Name = 't_saletaskmxpro' OR dwo.Name = 'p_2' THEN PARENT.TriggerEvent('ue_f6') ELSEIF dwo.Name = 't_cpmx' OR dwo.Name = 'p_cpmx' THEN PARENT.TriggerEvent('ue_f12') END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_scwg_taskwork_2_person integer x = 1198 integer y = 548 integer width = 750 integer height = 384 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_scwg_taskwork_2_person integer y = 1312 integer width = 3547 integer height = 840 string dataobject = "dw_scwg_taskwork_2_mx_person" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') IF NOT dw_edit_mode THEN RETURN 1 Long child_row Long ls_mtrlid,ll_orderid String ls_procode,ls_proname Decimal ls_workprice,ls_workhour String ls_mtrlcode,ls_mtrlname,ls_mtrlmode,ls_unit String ls_ordercode String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode String ls_billcode,ls_taskrelcode,ls_relcode s_mtrldef_array arg_s_mtrldef s_order_ml_ch arg_s_order dw_child.AcceptText() child_row = dw_child.GetRow() IF dw_edit_mode THEN IF KeyDown(keydownarrow!) THEN IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN IF dw_child.Object.ifrel[child_row] = 1 THEN PARENT.TriggerEvent('ue_f7') RETURN 1 END IF ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,-1,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_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] END IF dw_child.Object.mtrlid[child_row] = ls_mtrlid dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_unit[child_row] = ls_unit dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName( ) = 'u_scwg_taskwork_2_mx_ordercode' THEN ls_ordercode = dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] // IF f_find_order_ml(ls_ordercode,arg_s_order) = 0 THEN // PARENT.TriggerEvent('ue_f7') // RETURN 1 // ELSE // ls_mtrlid = arg_s_order.mtrlid // ls_mtrlcode = arg_s_order.mtrlcode // ls_mtrlname = arg_s_order.mtrlname // ls_unit = arg_s_order.unit // ls_mtrlmode = arg_s_order.mtrlmode // ll_orderid = arg_s_order.orderid // ls_status = arg_s_order.status // ls_pcode = arg_s_order.pcode // ls_woodcode = arg_s_order.woodcode // ls_mtrlsectype = arg_s_order.mtrlsectype // ls_zxmtrlmode = arg_s_order.zxmtrlmode // ls_ordercode = arg_s_order.ordercode // ls_billcode = arg_s_order.billcode // ls_taskrelcode = arg_s_order.taskrelcode // ls_relcode = arg_s_order.relcode // END IF dw_child.Object.mtrlid[child_row] = ls_mtrlid dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_unit[child_row] = ls_unit dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = ll_orderid dw_child.Object.status[child_row] = ls_status dw_child.Object.pcode[child_row] = ls_pcode dw_child.Object.woodcode[child_row] = ls_woodcode dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = ls_ordercode 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( ) = 'procode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() ls_mtrlid = dw_child.Object.mtrlid[child_row] ls_procode = dw_child.Object.procode[child_row] ll_orderid = dw_child.Object.u_scwg_taskwork_2_mx_orderid [child_row] IF ls_mtrlid <= 0 THEN MessageBox('系统提示','请先选择产品!') RETURN END IF IF sys_option_taskwork_procode_order = 0 OR & ( sys_option_taskwork_procode_order = 1 AND ll_orderid = 0 ) THEN SELECT proname,workprice,workhour INTO :ls_proname,:ls_workprice,:ls_workhour FROM u_sc_workprice WHERE mtrlid = :ls_mtrlid AND procode = :ls_procode; IF sqlca.SQLCode <> 0 THEN SELECT name,workprice,workhour INTO :ls_proname,:ls_workprice,:ls_workhour FROM u_sc_workprocedure WHERE ifpubl = 1 AND code = :ls_procode; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f10') RETURN 1 END IF END IF ELSE SELECT U_OrderRqwp.Procode, U_OrderRqwp.workprice INTO :ls_proname,:ls_workprice FROM U_OrderRqwp WHERE ( U_OrderRqwp.scid = :cur_scid ) AND ( U_OrderRqwp.taskid = :ll_orderid ) AND procode = :ls_procode ; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f11') RETURN 1 END IF END IF dw_child.Object.procode[child_row] = ls_procode dw_child.Object.proname[child_row] = ls_proname dw_child.Object.price[child_row] = ls_workprice 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( ) = 'mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event dw_child::doubleclicked;dw_child.AcceptText() IF dw_edit_mode AND row > 0 THEN IF dw_child.GetColumnName( ) = 'procode' THEN IF dw_child.Object.ifrel[row] = 0 & OR sys_option_taskwork_procode_order = 0 & OR sys_version_type = 0 THEN PARENT.TriggerEvent('ue_f10') //选工价表工序 ELSE PARENT.TriggerEvent('ue_f11') //选订单工序 END IF ELSE IF dw_child.Object.ifrel[row] = 1 THEN PARENT.TriggerEvent('ue_f7') ELSE PARENT.TriggerEvent('ue_f8') END IF 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 = 'ifrel' Then If This.Object.ifrel[row] = 1 Then dw_child.Object.u_scwg_taskwork_2_mx_orderid[row] = 0 dw_child.Object.u_scwg_taskwork_2_mx_ordercode[row] = '' End If End If end event event dw_child::clicked;If row > 0 And dw_edit_mode Then This.SetRow(row) If KeyDown(keycontrol!) Then If if_changeselect Then This.SelectRow(row,Not This.IsSelected(row)) Else if_changeselect = True End If ll_lastrow = row ElseIf KeyDown(keyshift!) Then //按下SHIFT键 // IF ll_lastrow = 0 THEN //上次没选中任何行 // THIS.SelectRow(row,TRUE) // ll_lastrow = currentrow //ll_lastrow为实例变量,记录上次单击的行 // ELSE // THIS.SelectRow(0,FALSE) //全都不选中 // IF currentrow > ll_lastrow THEN // FOR ll_i = ll_lastrow TO currentrow // THIS.SelectRow(ll_i,TRUE) // NEXT // ELSE // FOR ll_i = ll_lastrow TO currentrow STEP -1 // THIS.SelectRow(ll_i,TRUE) // NEXT // END IF // END IF Else This.SelectRow(0,False) This.SelectRow(row,True) ll_lastrow = row End If If dwo.Name = 'status' Or dwo.Name = 'woodcode' Or dwo.Name = 'pcode' Then Parent.TriggerEvent('ue_allowedit') End If End If end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_scwg_taskwork_2_person integer x = 2267 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_scwg_taskwork_2_person integer x = 2075 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_scwg_taskwork_2_person end type event cb_add::clicked;IF NOT f_power_ind(1366) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row,i IF dw_edit_mode THEN dw_child.setfilter('') dw_child.filter() dw_uc.AcceptText() dw_child.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('系统提示','不合理计件日期') RETURN END IF IF dw_uc.Object.rep[uc_row] = '' THEN MessageBox('系统提示','请输入经手人') RETURN END IF IF dw_uc.Object.wrkgrpid[uc_row] = 0 THEN MessageBox('系统提示','请输入员工') RETURN END IF uo_ware.billdate = dw_uc.Object.billdate[uc_row] uo_ware.wrkgrpid = dw_uc.Object.wrkgrpid[uc_row] uo_ware.rep = dw_uc.Object.rep[uc_row] uo_ware.relcode = dw_uc.Object.relcode[uc_row] uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] uo_ware.wagemth = dw_uc.Object.wagemth[uc_row] uo_ware.wageid = dw_uc.Object.wageid[uc_row] uo_ware.billtype = 1 FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.mtrlid[i] > 0 THEN IF uo_ware.acceptmx(dw_child.Object.mtrlid[i],& dw_child.Object.procode[i],& dw_child.Object.proname[i],& dw_child.Object.qty[i],& dw_child.Object.price[i],& dw_child.Object.mxdscrp[i],& arg_msg,& i,& dw_child.Object.status[i],& dw_child.Object.woodcode[i],& dw_child.Object.pcode[i],& dw_child.Object.u_scwg_taskwork_2_mx_ycreason[i],& dw_child.Object.u_scwg_taskwork_2_mx_orderid[i],& dw_child.Object.u_scwg_taskwork_2_mx_ordercode[i],'','',& dw_child.Object.u_scwg_taskwork_2_mx_relscid[i],& dw_child.Object.u_scwg_taskwork_2_mx_relprintid[i],& dw_child.Object.u_scwg_taskwork_2_mx_addqty[i],& dw_child.Object.u_scwg_taskwork_2_mx_relid2[i],& dw_child.Object.u_scwg_taskwork_2_mx_relprintid2[i]) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF END IF NEXT IF uo_ware.Save(arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF MessageBox(publ_operator,'保存操作成功!') //write ini SetProfileString (sys_inifilename,dw_uc.DataObject, "ddlb_wageid",String(dw_uc.Object.wageid[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(uo_ware.billid) ELSE IF uo_ware.newbegin(cur_scid,arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF END IF CALL SUPER::Clicked IF dw_edit_mode THEN dw_uc.AcceptText() //read ini String ls_wageid ls_wageid = ProfileString (sys_inifilename,dw_uc.DataObject, "ddlb_wageid",'0') dw_uc.Object.wageid[dw_uc.GetRow()] = Long(ls_wageid) // dw_uc.Object.billdate[dw_uc.GetRow()] = DateTime(Date(em_dftdate.Text),Time(0)) dw_uc.Object.wagemth[dw_uc.GetRow()] = Long(em_mth.Text) dw_uc.SetColumn('wagemth') PARENT.TriggerEvent("insert_childrow") ELSE PARENT.TriggerEvent("retrieve_childdw") PARENT.TriggerEvent("retrieve_mx") END IF THIS.TriggerEvent('refresh_interface') end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_scwg_taskwork_2_person end type event cb_edit::clicked;IF NOT f_power_ind(1366) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_edit_mode THEN IF uo_ware.updatebegin(dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_scwg_taskwork_2_person end type event cb_delet::clicked;IF NOT f_power_ind(1370) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF if dw_edit_mode then return string arg_msg='' long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('系统提示','请选定当前目标单据!') return end if IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN if uo_ware.del(dw_pageretr.object.billid[uc_row],arg_msg)=0 then messagebox('Error!',arg_msg) ELSE //日志 long ls_id string ls_code ls_id=dw_pageretr.object.billid[uc_row] ls_code=dw_pageretr.object.billcode[uc_row] f_setsysoplog('个人产品计件单','个人产品计件单删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true) //-- MESSAGEBOX(publ_operator,'删除单据'+string(dw_pageretr.object.billcode[uc_row])+'成功!') dw_pageretr.deleterow(uc_row) dw_pageretr.Triggerevent(rowfocuschanged!) end if end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_scwg_taskwork_2_person integer x = 1582 integer width = 247 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_bill_copy" menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=批设定工序~tEvent=ue_p_pro" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=批审核~tEvent=ue_audit_all" menustr = menustr + "|" + "Text=批撤审~tEvent=ue_caudit_all" 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_scwg_taskwork_2_person string tag = "按Ctrl键点击按钮可执行批操作" integer x = 1239 end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1368) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid IF NOT KeyDown(KeyControl!) THEN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN ll_billid = dw_pageretr.Object.billid[pagerert_row] IF uo_ware.auditmx_1(ll_billid,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(ll_billid) END IF ELSE PARENT.TriggerEvent('ue_audit_all') END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_scwg_taskwork_2_person integer x = 1829 end type event cb_xm::clicked;// // //is_mx_menustr = '' //is_mx_menustr += "|" + "Text=用户自定义~tEvent=ue_" //call super::clicked //is_mx_menustr += "|" + "Text=明细物料图片查看~tEvent=ue_fj_view" // m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF dw_edit_mode THEN menustr = "Text=增明细~tEvent=ue_addmx" menustr += "|" + "Text=删明细~tEvent=ue_deletemx" menustr += "|" + "Text=辅数计算计件工序数量(单行)~tEvent=ue_addqty_to_qty" ELSE IF if_ChkMtrlInfo THEN menustr = "Text=查看产品相关信息~tEvent=ue_mtrl_info" END IF END IF IF Trim(is_mx_menustr) <> '' THEN IF menustr <> '' THEN menustr += "|" + "Text=-" END IF menustr += is_mx_menustr END IF IF if_MtrlPicView THEN IF Trim(menustr) <> "" THEN menustr += "|" + "Text=-" menustr += "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView" ELSE menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView" END IF END IF 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_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_scwg_taskwork_2_person end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_scwg_taskwork_2_person boolean visible = false integer x = 3118 integer y = 300 boolean enabled = false end type type cb_help from w_publ_1ton_share_detail`cb_help within w_scwg_taskwork_2_person integer x = 2459 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_scwg_taskwork_2_person string tag = "按Ctrl键点击按钮可执行批操作" integer x = 1431 end type event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1369) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid IF NOT KeyDown(KeyControl!) THEN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要撤审当前单据?",question!,yesno! ) = 2 THEN RETURN ll_billid = dw_pageretr.Object.billid[pagerert_row] IF uo_ware.cauditmx_1(ll_billid,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'撤审成功!') wf_refresh_curuc(ll_billid) END IF ELSE PARENT.TriggerEvent('ue_caudit_all') END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_scwg_taskwork_2_person integer x = 3241 end type type p_help from w_publ_1ton_share_detail`p_help within w_scwg_taskwork_2_person integer x = 3433 end type type p_encl from w_publ_1ton_share_detail`p_encl within w_scwg_taskwork_2_person integer x = 3337 end type type p_other from w_publ_1ton_share_detail`p_other within w_scwg_taskwork_2_person integer x = 3529 end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_scwg_taskwork_2_person end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_scwg_taskwork_2_person end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_scwg_taskwork_2_person end type type r_bar from w_publ_1ton_share_detail`r_bar within w_scwg_taskwork_2_person integer x = 3502 integer width = 69 integer height = 156 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_scwg_taskwork_2_person end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_scwg_taskwork_2_person end type type st_4 from statictext within w_scwg_taskwork_2_person integer x = 754 integer y = 204 integer width = 160 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "分部" alignment alignment = center! boolean focusrectangle = false end type type ddlb_scid from uo_ddlb_scid within w_scwg_taskwork_2_person integer x = 914 integer y = 192 integer width = 553 integer height = 604 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid = THIS.uo_scid cur_scid_arr = THIS.uo_scid_arr end event event selectionchanged;call super::selectionchanged;cur_scid = THIS.uo_scid cur_scid_arr = THIS.uo_scid_arr PARENT.TriggerEvent("retrieve_pageretr") end event type ddlb_status from dropdownlistbox within w_scwg_taskwork_2_person integer x = 1618 integer y = 192 integer width = 320 integer height = 300 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_affirmflag = -1 cur_flag = -1 ELSEIF Index = 2 THEN cur_affirmflag = 0 cur_flag = 0 ELSEIF Index = 3 THEN cur_affirmflag = 1 cur_flag = 0 ELSEIF Index = 4 THEN cur_affirmflag = 1 cur_flag = 1 END IF PARENT.TriggerEvent('retrieve_pageretr') end event type st_2 from statictext within w_scwg_taskwork_2_person integer x = 1440 integer y = 204 integer width = 192 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 = "状态" alignment alignment = center! boolean focusrectangle = false end type type st_3 from statictext within w_scwg_taskwork_2_person integer x = 1975 integer y = 204 integer width = 251 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "默认日期" boolean focusrectangle = false end type type em_dftdate from editmask within w_scwg_taskwork_2_person integer x = 2208 integer y = 184 integer width = 430 integer height = 92 integer taborder = 20 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "none" alignment alignment = center! borderstyle borderstyle = stylelowered! maskdatatype maskdatatype = datemask! string mask = "yyyy-mm-dd" boolean spin = true end type event constructor;this.text = string(RelativeDate ( today(), -1 ),'yyyy-mm-dd') end event type st_5 from statictext within w_scwg_taskwork_2_person integer x = 2642 integer y = 204 integer width = 251 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "默认月份" alignment alignment = right! boolean focusrectangle = false end type type em_mth from editmask within w_scwg_taskwork_2_person integer x = 2903 integer y = 184 integer width = 329 integer height = 92 integer taborder = 20 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 alignment alignment = center! borderstyle borderstyle = stylelowered! maskdatatype maskdatatype = datemask! string mask = "yyyymm" boolean spin = true end type event constructor;THIS.Text = String(Today(),'yyyymm') end event type cb_affirm from uo_imflatbutton within w_scwg_taskwork_2_person integer x = 837 integer width = 210 integer height = 164 integer taborder = 290 boolean bringtotop = true string text = "确认&C" string normalpicname = "audit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1367) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg Long pagerert_row IF NOT KeyDown(keycontrol!) THEN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("if","是否确定要确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_ware.affirm(dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) ELSE MessageBox(publ_operator,'确认成功!') wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row]) END IF ELSE IF MessageBox ("if","是否确定要批确认列表中未确认的单据?",question!,yesno! ) = 2 THEN RETURN Long ll_i,ll_billid,ll_scid Int li_flag Long ll_suc,ll_fail String arg_msg_arr String ls_billcode 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.billcode[ll_i] + " 正在确认..." //进度信息 li_flag = dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.billid[ll_i] ll_scid = dw_pageretr.Object.scid[ll_i] ls_billcode = dw_pageretr.Object.billcode[ll_i] IF uo_ware.affirm(ll_billid,arg_msg,TRUE) = 0 THEN ll_fail++ arg_msg_arr = arg_msg_arr +ls_billcode +'失败原因:'+ arg_msg +'~r~n' CONTINUE END IF ll_suc++ w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批确认成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg_arr) END IF PARENT.TriggerEvent('retrieve_pageretr') END IF end event type cb_cancel_affirm from uo_imflatbutton within w_scwg_taskwork_2_person integer x = 1047 integer width = 192 integer height = 164 integer taborder = 300 boolean bringtotop = true string text = "反确认" string normalpicname = "caudit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(1367) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg Long pagerert_row IF NOT KeyDown(keycontrol!) THEN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("if","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_ware.c_affirm(dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) ELSE MessageBox(publ_operator,'反确认成功!') wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row]) END IF ELSE IF MessageBox ("询问","是否确定要批反确认列表中已确认的单据?",question!,yesno! ) = 2 THEN RETURN Long ll_i,ll_billid,ll_scid Int li_flag Long ll_suc,ll_fail String arg_msg_arr String ls_billcode 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.billcode[ll_i] + " 正在反确认..." //进度信息 li_flag = dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[ll_i] IF li_flag = 0 THEN CONTINUE ll_billid = dw_pageretr.Object.billid[ll_i] ll_scid = dw_pageretr.Object.scid[ll_i] ls_billcode = dw_pageretr.Object.billcode[ll_i] IF uo_ware.c_affirm(ll_billid,arg_msg,TRUE) = 0 THEN ll_fail++ arg_msg_arr = arg_msg_arr +ls_billcode +'失败原因:'+ arg_msg +'~r~n' CONTINUE END IF ll_suc++ w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批反确认成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg_arr) END IF PARENT.TriggerEvent('retrieve_pageretr') wf_flagstatus_rf() END IF end event