$PBExportHeader$w_sc_taskwork.srw forward global type w_sc_taskwork from w_publ_1ton_share_detail end type type ddlb_status from dropdownlistbox within w_sc_taskwork end type type st_2 from statictext within w_sc_taskwork end type type em_dftdate from editmask within w_sc_taskwork end type type st_3 from statictext within w_sc_taskwork end type type cb_affirm from uo_imflatbutton within w_sc_taskwork end type type cb_cancel_affirm from uo_imflatbutton within w_sc_taskwork end type type ddlb_scid from uo_ddlb_scid within w_sc_taskwork end type type st_4 from statictext within w_sc_taskwork end type type cbx_empcode from checkbox within w_sc_taskwork end type type cbx_procode from checkbox within w_sc_taskwork end type type cbx_amount from checkbox within w_sc_taskwork end type type cbx_1 from checkbox within w_sc_taskwork end type type cbx_copy from checkbox within w_sc_taskwork end type end forward global type w_sc_taskwork from w_publ_1ton_share_detail integer x = 73 integer y = 4 string title = "产品个人工序计件单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_p_pro ( ) event ue_audit_all ( ) event ue_caudit_all ( ) event ue_copyrow_pro ( ) event ue_copyrow_emp ( ) event ue_rbbutton ( ) event ue_dwchild_filter ( ) event ue_f18 ( ) event ue_importprice ( ) ddlb_status ddlb_status st_2 st_2 em_dftdate em_dftdate st_3 st_3 cb_affirm cb_affirm cb_cancel_affirm cb_cancel_affirm ddlb_scid ddlb_scid st_4 st_4 cbx_empcode cbx_empcode cbx_procode cbx_procode cbx_amount cbx_amount cbx_1 cbx_1 cbx_copy cbx_copy end type global w_sc_taskwork w_sc_taskwork type variables uo_taskwork uo_taskwork_dq Int cur_flag = -1,cur_affirmflag = -1 Int if_autopro = 0 int if_copyqty = 0 Long cur_scid_arr[],cur_scid int if_empcode = 0 ,if_procode = 0 ,if_amount = 0 decimal lds_orderqty end variables forward prototypes public subroutine wf_enter_process () public function integer wf_lock_uc () public subroutine wf_lock_uc_order_pro () public subroutine wf_clear_protect () public function integer wf_addproid (long arg_mtrlid) public function integer wf_refresh_curuc (long arg_scid, long arg_billid) public function integer wf_flagstatus_rf () public function integer wf_autoadd (long arg_scid, long arg_orderid, integer arg_ifmod, ref string arg_msg) public function integer wf_addproid_order (long arg_scid, long arg_orderid, long arg_printid) end prototypes event insert_childrow();Long li_row li_row = dw_child.InsertRow(0) dw_child.ScrollToRow(li_row) dw_child.SetColumn ('empcode') 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 dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.Object.u_sc_taskworkmx_procode[1] = '' THEN RETURN IF ll_i = 1 THEN CONTINUE dw_child.Object.u_sc_taskworkmx_procode[ll_i] = dw_child.Object.u_sc_taskworkmx_procode[1] dw_child.Object.u_sc_taskworkmx_proname[ll_i] = dw_child.Object.u_sc_taskworkmx_proname[1] dw_child.Object.workprice[ll_i] = dw_child.Object.workprice[1] NEXT end event event ue_audit_all();IF NOT f_power_ind(1327) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF s_taskwork_abnormity_audit s_audit OpenWithParm(w_sc_taskwork_p_audit,1) s_audit = Message.PowerObjectParm IF s_audit.audit_month = 0 THEN RETURN String arg_msg IF uo_taskwork_dq.auditing(s_audit.audit_wageid,s_audit.audit_month,arg_msg,TRUE) = 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(1328) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF s_taskwork_abnormity_audit s_audit OpenWithParm(w_sc_taskwork_p_audit,0) s_audit = Message.PowerObjectParm IF s_audit.audit_month = 0 THEN RETURN String arg_msg IF uo_taskwork_dq.c_auditing(s_audit.audit_wageid,s_audit.audit_month,arg_msg,TRUE) = 0 THEN MessageBox(publ_operator,'计件单撤审失败,原因>>'+arg_msg) RETURN END IF MessageBox(publ_operator,'计件单撤审成功') this.TriggerEvent('retrieve_pageretr') end event event ue_copyrow_pro();IF NOT dw_edit_mode THEN RETURN Long ll_childrow ll_childrow = dw_child.GetRow() IF ll_childrow = 0 THEN MessageBox('NO','请选择复制对象!') RETURN END IF Long ll_i Long ll_j ll_j = 0 FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.IsSelected(ll_i) THEN IF if_copyqty = 1 THEN dw_child.Object.amount[ll_i] = dw_child.Object.amount[ll_i] / 2 dw_child.Object.workhour[ll_i] = dw_child.Object.workhour[ll_i] / 2 END IF ll_j++ dw_child.RowsCopy (ll_i,ll_i,Primary!,ds_copypaste,ll_j,Primary!) END IF NEXT //dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!) FOR ll_i = 1 TO ds_copypaste.RowCount() ds_copypaste.RowsCopy (ll_i,ll_i,Primary!,dw_child,ll_childrow + ll_i,Primary!) dw_child.Object.empid[ll_childrow + ll_i] = 0 dw_child.Object.empcode[ll_childrow + ll_i] = '' dw_child.Object.empname[ll_childrow + ll_i] = '' NEXT //ds_copypaste.RowsCopy (1,1,Primary!,dw_child,ll_childrow + 1,Primary!) ds_copypaste.Reset() dw_child.SelectRow(0,FALSE) dw_child.SetRow(ll_childrow + 1) dw_child.ScrollToRow(ll_childrow + 1) dw_child.SelectRow(ll_childrow + 1,TRUE) end event event ue_copyrow_emp();IF NOT dw_edit_mode THEN RETURN Long ll_childrow ll_childrow = dw_child.GetRow() IF ll_childrow = 0 THEN MessageBox('NO','请选择复制对象!') RETURN END IF Long ll_i Long ll_j ll_j = 0 FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.IsSelected(ll_i) THEN IF if_copyqty = 1 THEN dw_child.Object.amount[ll_i] = dw_child.Object.amount[ll_i] / 2 dw_child.Object.workhour[ll_i] = dw_child.Object.workhour[ll_i] / 2 END IF ll_j++ dw_child.RowsCopy (ll_i,ll_i,Primary!,ds_copypaste,ll_j,Primary!) END IF NEXT //dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!) FOR ll_i = 1 TO ds_copypaste.RowCount() ds_copypaste.RowsCopy (ll_i,ll_i,Primary!,dw_child,ll_childrow + ll_i,Primary!) dw_child.Object.u_sc_taskworkmx_proorder[ll_childrow + ll_i] = 0 dw_child.Object.u_sc_taskworkmx_procode[ll_childrow + ll_i] = '' dw_child.Object.u_sc_taskworkmx_proname[ll_childrow + ll_i] = '' dw_child.Object.u_sc_taskworkmx_status[ll_childrow + ll_i] = '' dw_child.Object.workprice[ll_childrow + ll_i] = 0 NEXT //ds_copypaste.RowsCopy (1,1,Primary!,dw_child,ll_childrow + 1,Primary!) ds_copypaste.Reset() dw_child.SelectRow(0,FALSE) dw_child.SetRow(ll_childrow + 1) dw_child.ScrollToRow(ll_childrow + 1) dw_child.SelectRow(ll_childrow + 1,TRUE) end event event ue_rbbutton();dw_child.RBUTTON_FILTER_USE=true dw_child.event rbbutton( dw_child.arg_ins_dwtype,dw_child.arg_ins_dwname,dw_child.arg_ins_dwdata,dw_child.arg_ins_dwrow ) dw_child.RBUTTON_FILTER_USE=false end event event ue_dwchild_filter();dw_child.setfilter('') dw_child.filter() end event event ue_f18();//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 Long child_row Long ls_null IF NOT dw_edit_mode THEN RETURN child_row = dw_child.GetRow() s_edit_index_tran s_ch_tran Long ls_j IF NOT IsValid(w_empinfo_select) THEN OpenWithParm(w_empinfo_select,s_ch_tran) //调用 s_empinfo_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(S_INSCUST.empid) IF S_INSCUST.empid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.Find('empid='+String(S_INSCUST.empid[ls_j]),1,dw_child.RowCount()) = 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.empid[child_row] <> 0 and UpperBound(S_INSCUST.empid) > 1 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF END IF dw_child.Object.empid[child_row] = S_INSCUST.empid[ls_j] dw_child.Object.empcode[child_row] = S_INSCUST.empcode[ls_j] dw_child.Object.empname[child_row] = S_INSCUST.empname[ls_j] END IF NEXT dw_child.SetRow(child_row) dw_child.ScrollToRow(child_row) dw_child.SetFocus() END IF dw_child.SetRedraw(TRUE) dw_child.SetFocus() end event event ue_importprice();IF Not dw_edit_mode THEN MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!) RETURN END IF // 导入工价表 Long ls_row String ls_mtrlcode,ls_procode,err_str Long uc_row err_str='' uc_row = dw_uc.GetRow() ls_mtrlcode = dw_uc.Object.u_mtrldef_mtrlcode[uc_row] dw_child.accepttext() FOR ls_row = 1 TO dw_child.RowCount() ls_procode = dw_child.Object.u_sc_taskworkmx_procode[ls_row] IF f_getwrkprice(ls_mtrlcode,ls_procode) > 0 THEN dw_child.Object.workprice[ls_row] = f_getwrkprice(ls_mtrlcode,ls_procode) ELSE err_str = err_str + "物料["+ls_mtrlcode+"]查询工序["+ls_procode+"]失败或工价表单价为0,请检查。 ~n " END IF NEXT IF err_str <> '' THEN MessageBox('错误',err_str,stopsign!,OK!) END IF end event public subroutine wf_enter_process ();long li_row //string ls_empcode,ls_empname,ls_procode,ls_proname,workgroupname,groupcode,groupname //long ls_empid,ls_proid,ls_mtrlid,cnt=0 //decimal ls_workprice //long child_row //long ls_null //setnull(ls_null) //s_wrkproselect s_proselect //dw_child.accepttext() //child_row=dw_child.getrow() // //choose case dw_child.GetColumnName( ) // case 'empcode' // ls_empcode=trim(dw_child.object.empcode[child_row]) // if isnull(ls_empcode) then ls_empcode='' // if ls_empcode<>'' then // SELECT top 1 // u_rs_empinfo.empid, // u_rs_empinfo.empname // INTO :ls_empid,:ls_empname // FROM u_rs_empinfo // WHERE (u_rs_empinfo.empcode=:ls_empcode) and u_rs_empinfo.status=1; // if sqlca.sqlcode=-1 then // Messagebox('系统提示','查询员工资料出错,原因:'+sqlca.sqlerrtext) // return // end if // end if // // if sqlca.sqlcode=100 or ls_empcode='' then // s_empselect s_select // s_select.ds_empinfo=ds_empinfo // s_select.empcode=trim(dw_child.object.empcode[dw_child.getrow()]) // openwithparm(w_rs_empselect,s_select) // s_select=message.PowerObjectParm // if s_select.empid>0 then // dw_child.object.empid[child_row]=s_select.empid // dw_child.object.empcode[child_row]=s_select.empcode // dw_child.object.empname[child_row]=s_select.empname // dw_child.SetColumn('procode') // end if // else // dw_child.object.empid[child_row]=ls_empid // dw_child.object.empname[child_row]=ls_empname // dw_child.SetColumn('procode') // end if // // case 'procode' // ls_mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()] // ls_procode=trim(dw_child.object.procode[child_row]) // if isnull(ls_procode) then ls_procode='' // workgroupname=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()]) // select top 1 code into :groupcode from u_sc_workgroup where name=:workgroupname; // if sqlca.sqlcode=-1 then // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext) // return // end if // // if ls_workgroup<>dw_uc.object.wrkgrpname[dw_uc.getrow()] then // ls_workgroup=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()]) // select wrkgrpid into :wrkgrpid from u_sc_workgroup where name=:ls_workgroup; // if sqlca.sqlcode<>0 then // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext) // return // end if // end if // // // if groupcode=ls_procode then // //select proid,name into :ls_proid,:ls_proname from u_sc_workprocedure where code=:ls_procode; // ls_proid=-1 // ls_proname=ls_workgroup+'全套' // else // if ls_procode<>'' then // select top 1 // u_sc_workprice.proid, // u_sc_workprice.proname, // u_sc_workprice.workprice // into :ls_proid, // :ls_proname, // :ls_workprice // from u_sc_workprice // where u_sc_workprice.procode=:ls_procode // and u_sc_workprice.workgroupid=:wrkgrpid // and u_sc_workprice.mtrlid=:ls_mtrlid; // // if sqlca.sqlcode=-1 then // Messagebox('系统提示','查询工序资料出错,原因:'+sqlca.sqlerrtext) // return // end if // end if // end if // // if sqlca.sqlcode=100 or ls_procode='' then // // s_proselect.workgroupid=wrkgrpid // s_proselect.mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()] // s_proselect.procode=trim(dw_child.object.procode[dw_child.getrow()]) // s_proselect.flag=0 // openwithparm(w_sc_workprocedure_select,s_proselect) // s_proselect=message.PowerObjectParm // if trim(s_proselect.procode)<>'' then // dw_child.object.proid[child_row]=s_proselect.proid // dw_child.object.procode[child_row]=s_proselect.procode // dw_child.object.proname[child_row]=s_proselect.proname // dw_child.object.workprice[child_row]=s_proselect.workprice // dw_child.SetColumn('amount') // end if // else // dw_child.object.proid[child_row]=ls_proid // dw_child.object.procode[child_row]=ls_procode // dw_child.object.proname[child_row]=ls_proname // dw_child.object.workprice[child_row]=ls_workprice // dw_child.SetColumn('amount') // end if // // case 'proname' // ls_mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()] // ls_proname=trim(dw_child.object.proname[child_row]) // if isnull(ls_proname) then ls_proname='' // workgroupname=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()]) // select top 1 name into :groupname from u_sc_workgroup where name=:workgroupname; // if sqlca.sqlcode=-1 then // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext) // return // end if // // if ls_workgroup<>dw_uc.object.wrkgrpname[dw_uc.getrow()] then // ls_workgroup=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()]) // select wrkgrpid into :wrkgrpid from u_sc_workgroup where name=:ls_workgroup; // if sqlca.sqlcode<>0 then // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext) // return // end if // end if // // // if groupname+'全套'=ls_proname then //// select proid,name,code into :ls_proid,:ls_proname,:ls_procode from u_sc_workprocedure where name=:ls_proname; // ls_proid=-1 // select code into :ls_procode from u_sc_workgroup where name=:groupname; // if sqlca.sqlcode<>0 then // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext) // return // end if // else // if ls_proname<>'' then // select top 1 // u_sc_workprice.proid, // u_sc_workprice.procode, // u_sc_workprice.workprice // into :ls_proid, // :ls_procode, // :ls_workprice // from u_sc_workprice // where u_sc_workprice.procode=:ls_proname // and u_sc_workprice.workgroupid=:wrkgrpid // and u_sc_workprice.mtrlid=:ls_mtrlid; // // if sqlca.sqlcode=-1 then // Messagebox('系统提示','查询工序资料出错,原因:'+sqlca.sqlerrtext) // return // end if // end if // end if // // if sqlca.sqlcode=100 or ls_proname='' then // // s_proselect.workgroupid=wrkgrpid // s_proselect.mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()] // s_proselect.flag=1 // s_proselect.proname=trim(dw_child.object.proname[dw_child.getrow()]) // openwithparm(w_sc_workprocedure_select,s_proselect) // s_proselect=message.PowerObjectParm // if trim(s_proselect.procode)<>'' then // dw_child.object.proid[child_row]=s_proselect.proid // dw_child.object.procode[child_row]=s_proselect.procode // dw_child.object.proname[child_row]=s_proselect.proname // dw_child.object.workprice[child_row]=s_proselect.workprice // dw_child.SetColumn('amount') // end if // else // dw_child.object.proid[child_row]=ls_proid // dw_child.object.proname[child_row]=ls_proname // dw_child.object.procode[child_row]=ls_procode // dw_child.object.workprice[child_row]=ls_workprice // dw_child.SetColumn('amount') // end if //// dw_child.setredraw(true) // case 'dscrp' // if dw_child.getrow()=dw_child.rowcount() then // li_row=dw_child.insertrow(0) // dw_child.scrolltorow(li_row) // dw_child.SetColumn ('empcode') // else // if dw_child.getrow()0 then dw_uc.setrow(ls_row) RETURN 1 end function public subroutine wf_lock_uc_order_pro ();if sys_option_task_noorder=0 then dw_uc.Modify("u_mtrldef_mtrlcode.Protect=1") dw_uc.Modify("u_order_ml_orderqty.Protect=1") dw_uc.Modify("u_mtrldef_mtrlname.Protect=1") dw_uc.Modify("u_order_ml_ordercode.Protect=0") else dw_uc.Modify("u_mtrldef_mtrlcode.Protect=0") dw_uc.Modify("u_order_ml_orderqty.Protect=0") dw_uc.Modify("u_mtrldef_mtrlname.Protect=0") dw_uc.Modify("u_order_ml_ordercode.Protect=1") end if end subroutine public subroutine wf_clear_protect ();dw_uc.Modify("u_mtrldef_mtrlcode.Protect=0") dw_uc.Modify("u_order_ml_orderqty.Protect=0") dw_uc.Modify("u_mtrldef_mtrlname.Protect=0") dw_uc.Modify("u_order_ml_ordercode.Protect=0") end subroutine public function integer wf_addproid (long arg_mtrlid);String ls_procode,procode[],ls_proname,proname[] Long ls_proid,proid[] Dec ls_workprice,workprice[],ls_workhour,workhour[] long ll_proorder[] Long count,i,ll_childrow count = 1 dw_child.Reset( ) DECLARE pf_cur CURSOR FOR SELECT u_sc_workprice.proid, u_sc_workprice.procode, u_sc_workprice.Proname, u_sc_workprice.workPrice, u_sc_workprice.workHour, u_sc_workprice.proorder FROM u_sc_workprice,u_sc_workgroup WHERE u_sc_workprice.Mtrlid = :arg_mtrlid AND u_sc_workprice.wrkGrpid = u_sc_workgroup.wrkGrpid and u_sc_workprice.lsxtype <> 0 Order By u_sc_workgroup.wrkgrpcode; OPEN pf_cur; FETCH pf_cur INTO :proid[count],:procode[count], :proname[count],:workprice[count], :workhour[count],:ll_proorder[count]; DO WHILE sqlca.SQLCode = 0 count++ FETCH pf_cur INTO :proid[count],:procode[count], :proname[count],:workprice[count], :workhour[count],:ll_proorder[count]; LOOP count = count - 1 CLOSE pf_cur; FOR i = 1 TO count dw_child.AcceptText() ll_childrow = dw_child.InsertRow(0) dw_child.Object.u_sc_taskworkmx_procode[ll_childrow] = procode[i] dw_child.Object.u_sc_taskworkmx_proname[ll_childrow] = proname[i] dw_child.Object.workprice[ll_childrow] = workprice[i] dw_child.Object.workhour[ll_childrow] = workhour[i] dw_child.Object.u_sc_taskworkmx_proorder[ll_childrow] = ll_proorder[i] dw_child.Object.amount[ll_childrow] = lds_orderqty NEXT dw_child.setfocus() dw_child.setcolumn('empcode') RETURN 1 end function public function integer wf_refresh_curuc (long arg_scid, long arg_billid);//wf_refresh_curuc 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 DateTime billdate String dscrp Long wagemth String billcode Long orderid Long mtrlid, relid Long wageid Int auditingflag String auditingrep DateTime auditingdate DateTime opdate String opemp DateTime moddate String modemp String mtrlcode String mtrlname String ordercode Decimal qty Int affirmflag String affirmemp DateTime affirmdate String orderpccode String relcode SELECT u_sc_taskwork.billdate , u_sc_taskwork.dscrp , u_sc_taskwork.wagemth , u_sc_taskwork.billcode , u_sc_taskwork.orderid , u_sc_taskwork.mtrlid , u_sc_taskwork.wageid , u_sc_taskwork.auditingflag , u_sc_taskwork.auditingrep , u_sc_taskwork.auditingdate , u_sc_taskwork.affirmflag , u_sc_taskwork.affirmemp , u_sc_taskwork.affirmdate , u_sc_taskwork.opdate , u_sc_taskwork.opemp , u_sc_taskwork.moddate , u_sc_taskwork.modemp , u_mtrldef.mtrlcode , u_mtrldef.mtrlname , u_saletask.taskcode, u_saletaskmx.orderqty, u_saletask.taskcode, u_sc_taskwork.relcode, u_sc_taskwork.relid INTO :billdate , :dscrp , :wagemth , :billcode , :orderid , :mtrlid , :wageid , :auditingflag , :auditingrep , :auditingdate , :affirmflag, :affirmemp, :affirmdate, :opdate , :opemp , :moddate , :modemp , :mtrlcode , :mtrlname , :ordercode , :qty, :orderpccode, :relcode, :relid FROM u_sc_taskwork left outer join u_saletaskmx on ( u_sc_taskwork.orderid = u_saletaskmx.TaskID ) and ( u_sc_taskwork.relid = u_saletaskmx.printid ) and ( u_sc_taskwork.scid = u_saletaskmx.scid) left outer join u_saletask on u_saletask.TaskID = u_saletaskmx.TaskID and u_saletask.scid = u_saletaskmx.scid, u_Mtrldef WHERE ( u_sc_taskwork.Mtrlid = u_Mtrldef.Mtrlid ) AND ( u_sc_taskwork.billid = :arg_billid ) AND ( u_sc_taskwork.scid = :arg_scid ); 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.dscrp[uc_row] = dscrp dw_pageretr.Object.u_sc_taskwork_wagemth[uc_row] = wagemth dw_pageretr.Object.billcode[uc_row] = billcode dw_pageretr.Object.mtrlid[uc_row] = mtrlid dw_pageretr.Object.wageid[uc_row] = wageid dw_pageretr.Object.auditingflag[uc_row] = auditingflag dw_pageretr.Object.u_sc_taskwork_auditingrep[uc_row] = auditingrep dw_pageretr.Object.auditingdate[uc_row] = auditingdate dw_pageretr.Object.opdate[uc_row] = opdate dw_pageretr.Object.opemp[uc_row] = opemp dw_pageretr.Object.u_sc_taskwork_moddate[uc_row] = moddate dw_pageretr.Object.u_sc_taskwork_modemp[uc_row] = modemp dw_pageretr.Object.u_mtrldef_mtrlcode[uc_row] = mtrlcode dw_pageretr.Object.u_mtrldef_mtrlname[uc_row] = mtrlname dw_pageretr.Object.u_saletask_taskcode[uc_row] = ordercode dw_pageretr.Object.u_saletaskmx_orderqty[uc_row] = qty dw_pageretr.Object.u_sc_taskwork_affirmflag[uc_row] = affirmflag dw_pageretr.Object.u_sc_taskwork_affirmdate[uc_row] = affirmdate dw_pageretr.Object.u_sc_taskwork_affirmemp[uc_row] = affirmemp dw_pageretr.Object.u_sc_taskwork_scid[uc_row] = arg_scid dw_pageretr.Object.u_saletask_taskcode[uc_row] = orderpccode dw_pageretr.Object.u_sc_taskwork_orderid[uc_row] = orderid dw_pageretr.Object.u_sc_taskwork_relid[uc_row] = relid dw_pageretr.Object.u_sc_taskwork_relcode[uc_row] = relcode 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 ();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.auditingflag[pagerert_row] li_affirmflag = dw_pageretr.Object.u_sc_taskwork_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 END IF ext: RETURN 0 end function public function integer wf_autoadd (long arg_scid, long arg_orderid, integer arg_ifmod, ref string arg_msg);Int rslt = 1 String ls_ordercode,ls_billcode,ls_relcode,ls_status,ls_woodcode,ls_pcode Decimal ld_orderqty Long ll_mtrlid String ls_mtrlcode,ls_mtrlname,ls_unit Long ll_row ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN rslt = 0 arg_msg = '请选择单据' GOTO ext END IF SELECT u_Order_ml.OrderCode, u_Order_ml.billcode, u_Order_ml.relcode, u_Order_ml.status_mode, u_Order_ml.woodcode, u_Order_ml.pcode, u_Order_ml.orderqty, u_mtrldef.mtrlid, u_mtrldef.mtrlcode, u_mtrldef.mtrlname, u_mtrldef.unit INTO :ls_ordercode, :ls_billcode, :ls_relcode, :ls_status, :ls_woodcode, :ls_pcode, :ld_orderqty, :ll_mtrlid, :ls_mtrlcode, :ls_mtrlname, :ls_unit FROM u_Order_ml INNER JOIN u_mtrldef ON u_Order_ml.mtrlid = u_mtrldef.mtrlid WHERE u_order_ml.scid = :arg_scid AND u_Order_ml.orderid = :arg_orderid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询生产计划相关信息失败'+sqlca.SQLErrText GOTO ext END IF dw_uc.Object.u_sc_taskwork_orderid[ll_row] = arg_orderid dw_uc.Object.u_order_ml_ordercode[ll_row] = ls_ordercode dw_uc.Object.mtrlid[ll_row] = ll_mtrlid dw_uc.Object.u_mtrldef_mtrlcode[ll_row] = ls_mtrlcode dw_uc.Object.u_mtrldef_mtrlname[ll_row] = ls_mtrlname dw_uc.Object.u_mtrldef_unit[ll_row] = ls_unit dw_uc.Object.u_order_ml_orderqty[ll_row] = ld_orderqty dw_uc.Object.u_order_ml_woodcode[ll_row] = ls_woodcode dw_uc.Object.u_order_ml_pcode[ll_row] = ls_pcode dw_uc.Object.u_order_ml_status_mode[ll_row] = ls_status dw_uc.Object.u_sc_taskwork_relcode[ll_row] = ls_relcode dw_uc.Object.u_order_ml_billcode[ll_row] = ls_billcode //加入明细 String ls_procode,ls_proname,ls_statusmx Decimal ld_proqty,ld_workprice,ld_sumqty long ll_proorder Long ll_mxrow Long ll_i IF arg_ifmod = 0 THEN dw_child.Reset() END IF dw_child.SetRedraw(FALSE) DECLARE cur_wp CURSOR FOR SELECT U_OrderRqwp.Procode, U_OrderRqwp.Proname, U_OrderRqwp.proqty, U_OrderRqwp.workprice, u_orderrqwp.status, u_orderrqwp.proorder FROM U_OrderRqwp WHERE ( U_OrderRqwp.scid = :arg_scid ) AND ( U_OrderRqwp.orderid = :arg_orderid ) order by u_orderrqwp.proorder; OPEN cur_wp; FETCH cur_wp INTO :ls_procode,:ls_proname,:ld_proqty,:ld_workprice,:ls_statusmx,:ll_proorder; DO WHILE sqlca.SQLCode = 0 ld_sumqty = 0 FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.Object.u_sc_taskworkmx_procode[ll_i] = ls_procode AND & dw_child.Object.u_sc_taskworkmx_proname[ll_i] = ls_proname THEN ld_sumqty = ld_sumqty + dw_child.Object.amount[ll_i] END IF NEXT IF ld_sumqty < ld_proqty THEN ll_mxrow = dw_child.InsertRow(0) dw_child.Object.u_sc_taskworkmx_procode[ll_mxrow] = ls_procode dw_child.Object.u_sc_taskworkmx_proname[ll_mxrow] = ls_proname dw_child.Object.u_sc_taskworkmx_status[ll_mxrow] = ls_statusmx dw_child.Object.u_sc_taskworkmx_proorder[ll_mxrow] = ll_proorder dw_child.Object.amount[ll_mxrow] = ld_proqty - ld_sumqty dw_child.Object.workprice[ll_mxrow] = ld_workprice END IF FETCH cur_wp INTO :ls_procode,:ls_proname,:ld_proqty,:ld_workprice,:ls_statusmx,:ll_proorder; LOOP IF dw_child.RowCount() = 0 THEN dw_child.InsertRow(0) END IF dw_child.SetRedraw(TRUE) ext: RETURN rslt end function public function integer wf_addproid_order (long arg_scid, long arg_orderid, long arg_printid);String ls_procode,procode[],ls_proname,proname[] Long ls_proid,proid[] Dec ls_workprice,workprice[],ls_workhour,workhour[] Long ll_proorder[] String ls_status[] Decimal lde_proqty[], lde_finishqty[], lde_notfqty[] Long count,i,ll_childrow count = 1 dw_child.Reset( ) DECLARE pf_cur CURSOR FOR SELECT U_OrderRqwp.Procode, U_OrderRqwp.Proname, U_OrderRqwp.Proorder, U_OrderRqwp.workprice, U_OrderRqwp.proqty, U_OrderRqwp.finishqty , U_OrderRqwp.proqty - U_OrderRqwp.finishqty - isnull(uv_OrderRqwp_noauditingqty.qty, 0) as notfqty FROM U_OrderRqwp left outer join uv_OrderRqwp_noauditingqty on U_OrderRqwp.scid = uv_OrderRqwp_noauditingqty.scid and U_OrderRqwp.taskid = uv_OrderRqwp_noauditingqty.orderid and U_OrderRqwp.printid = uv_OrderRqwp_noauditingqty.printid and U_OrderRqwp.procode = uv_OrderRqwp_noauditingqty.procode WHERE ( U_OrderRqwp.scid = :arg_scid ) AND ( U_OrderRqwp.taskid = :arg_orderid ) AND ( U_OrderRqwp.printid = :arg_printid ) and U_OrderRqwp.proqty - U_OrderRqwp.finishqty - isnull(uv_OrderRqwp_noauditingqty.qty, 0) > 0; OPEN pf_cur; FETCH pf_cur INTO :procode[count], :proname[count],:ll_proorder[count],:workprice[count], :lde_proqty[count], :lde_finishqty[count], :lde_notfqty[count]; DO WHILE sqlca.SQLCode = 0 count++ FETCH pf_cur INTO :procode[count], :proname[count],:ll_proorder[count],:workprice[count], :lde_proqty[count], :lde_finishqty[count], :lde_notfqty[count] ; LOOP count = count - 1 CLOSE pf_cur; FOR i = 1 To count //dw_child.AcceptText() ll_childrow = dw_child.InsertRow(0) // IF lde_notfqty[i] > 0 THEN dw_child.Object.u_sc_taskworkmx_procode[ll_childrow] = procode[i] dw_child.Object.u_sc_taskworkmx_proname[ll_childrow] = proname[i] dw_child.Object.workprice[ll_childrow] = workprice[i] dw_child.Object.u_sc_taskworkmx_proorder[ll_childrow] = ll_proorder[i] dw_child.Object.amount[ll_childrow] = lde_notfqty[i] // END IF NEXT dw_child.SetFocus() dw_child.SetColumn('empcode') RETURN 1 end function on w_sc_taskwork.create int iCurrent call super::create this.ddlb_status=create ddlb_status this.st_2=create st_2 this.em_dftdate=create em_dftdate this.st_3=create st_3 this.cb_affirm=create cb_affirm this.cb_cancel_affirm=create cb_cancel_affirm this.ddlb_scid=create ddlb_scid this.st_4=create st_4 this.cbx_empcode=create cbx_empcode this.cbx_procode=create cbx_procode this.cbx_amount=create cbx_amount this.cbx_1=create cbx_1 this.cbx_copy=create cbx_copy iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_status this.Control[iCurrent+2]=this.st_2 this.Control[iCurrent+3]=this.em_dftdate this.Control[iCurrent+4]=this.st_3 this.Control[iCurrent+5]=this.cb_affirm this.Control[iCurrent+6]=this.cb_cancel_affirm this.Control[iCurrent+7]=this.ddlb_scid this.Control[iCurrent+8]=this.st_4 this.Control[iCurrent+9]=this.cbx_empcode this.Control[iCurrent+10]=this.cbx_procode this.Control[iCurrent+11]=this.cbx_amount this.Control[iCurrent+12]=this.cbx_1 this.Control[iCurrent+13]=this.cbx_copy end on on w_sc_taskwork.destroy call super::destroy destroy(this.ddlb_status) destroy(this.st_2) destroy(this.em_dftdate) destroy(this.st_3) destroy(this.cb_affirm) destroy(this.cb_cancel_affirm) destroy(this.ddlb_scid) destroy(this.st_4) destroy(this.cbx_empcode) destroy(this.cbx_procode) destroy(this.cbx_amount) destroy(this.cbx_1) destroy(this.cbx_copy) end on event retrieve_childdw;call super::retrieve_childdw;Long row,billid //dw_child.Reset() this.triggerevent('ue_dwchild_filter') row = dw_pageretr.GetRow() IF row > 0 THEN billid = dw_pageretr.Object.billid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(billid,sys_option_taskwork_price_limit) dw_child.SetRedraw (TRUE) ELSE dw_child.Reset() END IF end event event open;call super::open;uc_column_int = 8 //uc dw前6列可以编辑 child_column_int = 7 //子dw前7列可以编辑 uo_taskwork_dq = CREATE uo_taskwork IF s_tran.g_long > 0 THEN // 1 - 编辑, 2 - 查询 Long ll_scid,ll_orderid String arg_msg,ls_code IF IsNull(s_tran.d_string) THEN ls_code = '' ls_code = s_tran.d_string ll_scid = s_tran.e_long ll_orderid = s_tran.f_long IF Trim(ls_code) = '' THEN cb_add.TriggerEvent(Clicked!) IF ll_orderid > 0 THEN IF wf_autoadd(ll_scid,ll_orderid,0,arg_msg) = 0 THEN MessageBox('Error',arg_msg) RETURN END IF END IF ELSE ddlb_status.Text = '全部[-1]' cur_flag = -1 cur_affirmflag = -1 sle_usual_query.Text = Trim(ls_code) THIS.TRIGGEREVENT("ue_usual_query_RETR") IF s_tran.d_long = 1 THEN cb_edit.TriggerEvent(Clicked!) IF wf_autoadd(ll_scid,ll_orderid,1,arg_msg) = 0 THEN MessageBox('Error',arg_msg) RETURN END IF END IF END IF END IF 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_sc_taskwork.billcode like '%"+Trim(sle_usual_query.Text)+"%')" ELSE ls_querystrpart = "(u_sc_taskwork.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_status.enabled=not dw_edit_mode cb_auditing_cancel.enabled=not dw_edit_mode ddlb_scid.enabled=not dw_edit_mode end event event close;call super::close;destroy uo_taskwork_dq end event 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 THIS.TriggerEvent('retrieve_childdw') cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event ue_f8;call super::ue_f8;IF NOT dw_edit_mode THEN RETURN Long child_row,ins_mtrlid = 0 s_empselect s_select String tmp_empcode child_row = dw_child.GetRow() IF child_row <= 0 THEN RETURN dw_child.SetRedraw(FALSE) //s_edit_index_tran s_ch_tran //传递参数使用 //openwithparm(w_empinfo_select,s_ch_tran ) //dw_child.SetRedraw(true) //return tmp_empcode = Trim(dw_child.Object.empcode[dw_child.GetRow()]) IF NOT IsValid(w_empinfo_choice) THEN OpenWithParm(w_empinfo_choice,tmp_empcode) s_select = Message.PowerObjectParm //接受返回结构 IF s_select.empid > 0 THEN dw_child.Object.empid[dw_child.GetRow()] = s_select.empid dw_child.Object.empcode[dw_child.GetRow()] = s_select.empcode dw_child.Object.empname[dw_child.GetRow()] = s_select.empname IF if_empcode = 0 THEN dw_child.SetColumn('u_sc_taskworkmx_procode') ELSE IF dw_child.GetRow() = dw_child.RowCount() THEN this.TriggerEvent("insert_childrow") ELSE dw_child.ScrollToRow(dw_child.GetRow() + 1) END IF dw_child.SetColumn('empcode') END IF END IF END IF dw_child.SetRedraw(TRUE) dw_child.SetFocus() end event event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1330) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' String ls_str Long uc_row s_inputbox s_sreu uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') 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_taskwork_dq.add_dscrp(dw_pageretr.Object.billid[uc_row],ls_str,arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.object.u_sc_taskwork_scid[uc_row],dw_pageretr.Object.billid[uc_row]) END IF end event event ue_f11;call super::ue_f11;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 Long child_row Long ls_null IF NOT dw_edit_mode THEN RETURN child_row = dw_child.GetRow() s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = TRUE s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 s_ch_tran.b_long = 0 s_ch_tran.if_select_all = TRUE IF child_row > 0 THEN s_ch_tran.arg_string_code = dw_child.Object.u_sc_taskworkmx_procode[child_row] Long ls_j IF NOT IsValid(w_sc_workprocedure_response) THEN OpenWithParm(w_sc_workprocedure_response,s_ch_tran) //调用 s_workprocedure S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(S_INSCUST.wrkproid) IF S_INSCUST.wrkproid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.Find('u_sc_taskworkmx_proorder='+String(S_INSCUST.wrkproid[ls_j]),1,dw_child.RowCount()) = 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_sc_taskworkmx_proorder[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 END IF dw_child.Object.u_sc_taskworkmx_proorder[child_row] = S_INSCUST.wrkproid[ls_j] dw_child.Object.u_sc_taskworkmx_procode[child_row] = S_INSCUST.wrkprocode[ls_j] dw_child.Object.u_sc_taskworkmx_proname[child_row] = S_INSCUST.wrkproname[ls_j] dw_child.Object.workhour[child_row] = S_INSCUST.workhour[ls_j] dw_child.Object.workprice[child_row] = S_INSCUST.workprice[ls_j] END IF NEXT dw_child.SetRow(child_row) dw_child.ScrollToRow(child_row) dw_child.SetFocus() IF UpperBound(S_INSCUST.wrkproid) > 0 THEN dw_child.SetColumn("amount") END IF END IF dw_child.SetRedraw(TRUE) dw_child.SetFocus() end event event ue_f12;call super::ue_f12;Long child_row,uc_row Long ls_j Long ll_empid String ls_empcode,ls_empname dw_child.AcceptText() dw_uc.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择单据!') RETURN END IF child_row = dw_child.GetRow() IF child_row <= 0 THEN MessageBox('系统提示','当前没有记录!') RETURN END IF ll_empid = dw_child.Object.empid[child_row] ls_empcode = dw_child.Object.empcode[child_row] ls_empname = dw_child.Object.empname[child_row] IF dw_uc.Object.u_sc_taskwork_orderid[uc_row] = 0 THEN MessageBox('系统提示','当前没有选择销售订单!') RETURN END IF IF NOT IsValid(w_order_ml_pro_ch) THEN s_saletaskmx s_select_open s_select_open.if_select_any = 1 //可以多选 IF dw_uc.Object.billid[uc_row] = 0 THEN s_select_open.scid = cur_scid ELSE s_select_open.scid = dw_uc.Object.u_sc_taskwork_scid[uc_row] END IF s_select_open.taskid = dw_uc.Object.u_sc_taskwork_orderid[uc_row] s_select_open.printid = dw_uc.Object.u_sc_taskwork_relid[uc_row] OpenWithParm(w_order_ml_pro_ch,s_select_open) s_order_ml_workprice_array s_inscust s_inscust = Message.PowerObjectParm IF UpperBound(s_inscust.procode) = 1 THEN //单选时,替换原有的工序 IF IsNull(s_inscust.procode[1]) OR s_inscust.procode[1] = '' THEN RETURN dw_child.SetRedraw(FALSE) dw_child.Object.u_sc_taskworkmx_procode[child_row] = s_inscust.procode[1] dw_child.Object.u_sc_taskworkmx_proname[child_row] = s_inscust.proname[1] dw_child.Object.workprice[child_row] = s_inscust.workprice[1] dw_child.Object.u_sc_taskworkmx_proorder[child_row] = s_inscust.proorder[1] dw_child.Object.u_sc_taskworkmx_status[child_row] = s_inscust.status[1] dw_child.SetRedraw(TRUE) ELSE dw_child.SetRedraw(FALSE) FOR ls_j = 1 TO UpperBound(s_inscust.procode) IF IsNull(s_inscust.procode[ls_j]) OR s_inscust.procode[ls_j] = '' THEN CONTINUE IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_sc_taskworkmx_procode[child_row] <> '' THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.u_sc_taskworkmx_procode[child_row] = s_inscust.procode[ls_j] dw_child.Object.u_sc_taskworkmx_proname[child_row] = s_inscust.proname[ls_j] dw_child.Object.workprice[child_row] = s_inscust.workprice[ls_j] dw_child.Object.u_sc_taskworkmx_status[child_row] = s_inscust.status[ls_j] dw_child.Object.u_sc_taskworkmx_proorder[child_row] = s_inscust.proorder[ls_j] dw_child.Object.empid[child_row] = ll_empid dw_child.Object.empcode[child_row] = ls_empcode dw_child.Object.empname[child_row] = ls_empname NEXT dw_child.SetRedraw(TRUE) END IF IF if_procode = 0 THEN dw_child.SetColumn('amount') ELSE IF dw_child.GetRow() = dw_child.RowCount() THEN THIS.TriggerEvent("insert_childrow") ELSE dw_child.ScrollToRow(dw_child.GetRow() + 1) END IF dw_child.SetColumn('u_sc_taskworkmx_procode') END IF END IF end event event ue_viewprint;call super::ue_viewprint; IF NOT f_power_ind(1331) 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_sc_taskwork_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(1331) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_sc_taskwork_print' END IF if LS_PRMSG.obj_dwNAME = '' then return ls_prmsg.printrow = ll_prownum 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.u_sc_taskwork_scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() OpenWithParm(w_publ_preview,LS_PRMSG) //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_sc_taskwork',printnum,dw_pageretr.Object.u_sc_taskwork_scid[LS_ROW],dw_pageretr.Object.billid[LS_ROW],'','',arg_msg,True) end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(1331) 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_sc_taskwork_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(1331) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_sc_taskwork_print' END IF if LS_PRMSG.obj_dwNAME = '' then return LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '产品个人计件单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.u_sc_taskwork_scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_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() //**更新打印次料 f_update_printnum('u_saletask',1,cur_scid,dw_pageretr.Object.billid[dw_pageretr.GetRow()],'','',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_sc_taskwork_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.u_sc_taskwork_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() 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_sc_taskwork_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.u_sc_taskwork_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.billid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) end event event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN Long uc_row,ls_j s_edit_index_tran s_open //传递参数使用 s_saletask_mtrl s_inscust uc_row = dw_uc.GetRow() IF uc_row = 0 THEN MessageBox('系统提示','请选定单据!') RETURN END IF dw_uc.AcceptText() s_open.if_select_any = FALSE s_open.b_string = Trim(dw_uc.Object.u_mtrldef_mtrlcode[uc_row]) IF cur_scid < 0 THEN s_open.d_long = dw_uc.Object.u_sc_taskwork_scid[uc_row] ELSE s_open.d_long = cur_scid END IF ////工业版 或 不限订单 //两个选择窗口基本一样,不明白为什么要分开?? //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 s_inscust = Message.PowerObjectParm //接受返回结构 dw_uc.SetRedraw(FALSE) FOR ls_j = 1 TO UpperBound(s_inscust.taskid) IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值 dw_uc.Object.u_sc_taskwork_orderid[uc_row] = s_inscust.taskid[ls_j] dw_uc.Object.u_saletask_taskcode[uc_row] = s_inscust.taskcode[ls_j] dw_uc.Object.mtrlid[uc_row] = s_inscust.mtrlid[ls_j] dw_uc.Object.u_mtrldef_mtrlcode[uc_row] = s_inscust.mtrlcode[ls_j] dw_uc.Object.u_mtrldef_mtrlname[uc_row] = s_inscust.mtrlname[ls_j] dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[ls_j] dw_uc.Object.u_saletaskmx_orderqty[uc_row] = s_inscust.orderqty[ls_j] dw_uc.Object.u_saletaskmx_woodcode[uc_row] = s_inscust.woodcode[ls_j] dw_uc.Object.u_saletaskmx_pcode[uc_row] = s_inscust.pcode[ls_j] dw_uc.Object.u_saletaskmx_status[uc_row] = s_inscust.status[ls_j] dw_uc.Object.u_sc_taskwork_relid[uc_row] = s_inscust.printid[ls_j] dw_uc.Object.u_saletaskmx_plancode[uc_row] = s_inscust.plancode[ls_j] lds_orderqty = dw_uc.Object.u_saletaskmx_orderqty[uc_row] dw_uc.Object.u_sc_taskwork_relcode[uc_row] = s_inscust.relcode[ls_j] IF if_autopro = 1 THEN//自动列工序 //工业版 或 不限订单 IF sys_version_type = 0 OR sys_option_taskwork_procode_order = 0 THEN wf_addproid(s_inscust.mtrlid[ls_j]) ELSE wf_addproid_order(s_open.d_long,s_inscust.taskid[ls_j],s_inscust.printid[ls_j]) END IF END IF EXIT//只选第一条 END IF NEXT dw_uc.SetRedraw(TRUE) dw_uc.SetFocus() dw_uc.SetColumn('wageid') end event event ue_f9;call super::ue_f9;//用于选择明细内容,被F10[默认]\dw_uc.doubleclicked调用 IF sys_option_task_noorder <> 1 THEN RETURN IF NOT dw_edit_mode THEN RETURN Long child_row child_row = dw_uc.GetRow() IF NOT IsValid(w_mtrldef_edit) THEN s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_tranf8.arg_pkid = 0 //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = false //多选 s_tranf8.b_long = 0 s_tranf8.f_long = 0 s_tranf8.c_long = -1 Long chc = 1,ls_j IF dw_uc.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_uc.Object.u_mtrldef_mtrlcode[dw_uc.GetRow()]) OpenWithParm(w_mtrldef_edit,s_tranf8) //调用 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 //正常返回值则可以取以下值 dw_uc.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_uc.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j] dw_uc.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_uc.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_uc.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_uc.Object.u_saletask_taskcode[child_row] = '' dw_uc.Object.u_sc_taskwork_orderid[child_row] = 0 IF if_autopro = 1 THEN wf_addproid(s_inscust.mtrlid[ls_j]) END IF END IF NEXT dw_uc.SetFocus() dw_uc.SetColumn("billdate") END IF end event event ue_copyrow;IF NOT dw_edit_mode THEN RETURN Long ll_childrow ll_childrow = dw_child.GetRow() IF ll_childrow = 0 THEN MessageBox('NO','请选择复制对象!') RETURN END IF Long ll_i Long ll_j ll_j = 0 FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.IsSelected(ll_i) THEN IF if_copyqty = 1 THEN dw_child.Object.amount[ll_i] = dw_child.Object.amount[ll_i] / 2 dw_child.Object.workhour[ll_i] = dw_child.Object.workhour[ll_i] / 2 END IF ll_j++ dw_child.RowsCopy (ll_i,ll_i,Primary!,ds_copypaste,ll_j,Primary!) END IF NEXT //dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!) FOR ll_i = 1 TO ds_copypaste.RowCount() ds_copypaste.RowsCopy (ll_i,ll_i,Primary!,dw_child,ll_childrow + ll_i,Primary!) NEXT //ds_copypaste.RowsCopy (1,1,Primary!,dw_child,ll_childrow + 1,Primary!) ds_copypaste.Reset() dw_child.SelectRow(0,FALSE) dw_child.SetRow(ll_childrow + 1) dw_child.ScrollToRow(ll_childrow + 1) dw_child.SelectRow(ll_childrow + 1,TRUE) end event event user_key;IF KeyDown(KeyF6!) THEN THIS.TriggerEvent('ue_f6') ELSEIF KeyDown(KeyF1!) THEN THIS.TriggerEvent('ue_help') ELSEIF KeyDown(KeyF2!) THEN IF NOT dw_edit_mode THEN THIS.TriggerEvent('ue_modify') END IF ELSEIF KeyDown(KeyF7!) THEN THIS.TriggerEvent('ue_f7') ELSEIF KeyDown(KeyF9!) THEN THIS.TriggerEvent('ue_f9') ELSEIF KeyDown(KeyF10!) THEN THIS.TriggerEvent('ue_f10') ELSEIF KeyDown(KeyF11!) THEN THIS.TriggerEvent('ue_f11') ELSEIF KeyDown(KeyF12!) THEN THIS.TriggerEvent('ue_f12') //ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyLeftArrow!) THEN // THIS.TriggerEvent('ue_copyrow') ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyUpArrow!) THEN THIS.TriggerEvent('ue_insertmx') ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyDownArrow!) THEN THIS.TriggerEvent('ue_addmx') ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyRightArrow!) THEN THIS.TriggerEvent('ue_deletemx') ELSEIF KeyDown(KeyControl!) AND KeyDown(KeyA!) THEN THIS.TriggerEvent('ue_copyrow_pro') ELSEIF KeyDown(KeyControl!) AND KeyDown(KeyS!) THEN THIS.TriggerEvent('ue_copyrow_emp') ELSEIF KeyDown(KeyControl!) AND KeyDown(KeyD!) THEN THIS.TriggerEvent('ue_copyrow') END IF end event event 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 dw_child.Y = dw_uc.Y + dw_uc.Height + 88 dw_child.Width = THIS.Width - dw_child.X - 40 dw_child.Height = THIS.Height - dw_child.Y - 150 cbx_empcode.y = dw_child.Y - 76 cbx_procode.y = cbx_empcode.y cbx_amount.y = cbx_empcode.y this.triggerevent('resize_p') end event event ue_before_open;call super::ue_before_open;IF sys_option_task_noorder = 0 THEN dw_uc.object.t_mtrl.visible = false dw_uc.object.p_1.visible = false 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_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 = '' IF cur_scid < 0 THEN s_open.d_long = dw_uc.Object.scid[uc_row] ELSE s_open.d_long = cur_scid END IF s_open.c_long = 1 s_open.b_long = 1 //选订单,带订单工序 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 //正常返回值则可以取以下值 dw_uc.Object.u_sc_taskwork_orderid[uc_row] = s_inscust.taskid[ls_j] dw_uc.Object.u_saletask_taskcode[uc_row] = s_inscust.taskcode[ls_j] dw_uc.Object.mtrlid[uc_row] = s_inscust.mtrlid[ls_j] dw_uc.Object.u_mtrldef_mtrlcode[uc_row] = s_inscust.mtrlcode[ls_j] dw_uc.Object.u_mtrldef_mtrlname[uc_row] = s_inscust.mtrlname[ls_j] dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[ls_j] dw_uc.Object.u_saletaskmx_orderqty[uc_row] = s_inscust.orderqty[ls_j] dw_uc.Object.u_saletaskmx_woodcode[uc_row] = s_inscust.woodcode[ls_j] dw_uc.Object.u_saletaskmx_pcode[uc_row] = s_inscust.pcode[ls_j] dw_uc.Object.u_saletaskmx_status[uc_row] = s_inscust.status[ls_j] dw_uc.Object.u_sc_taskwork_relid[uc_row] = s_inscust.printid[ls_j] dw_uc.Object.u_sc_taskwork_relcode[uc_row] = s_inscust.relcode[ls_j] IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_sc_taskworkmx_procode[child_row] <> '' THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.u_sc_taskworkmx_procode[child_row] = s_inscust.procode[ls_j] dw_child.Object.u_sc_taskworkmx_proname[child_row] = s_inscust.proname[ls_j] dw_child.Object.workprice[child_row] = s_inscust.workprice[ls_j] dw_child.Object.u_sc_taskworkmx_proorder[child_row] = s_inscust.proorder[ls_j] dw_child.Object.amount[child_row] = s_inscust.proqty[ls_j] END IF NEXT dw_child.SetFocus() dw_child.SetColumn('amount') dw_child.SetRedraw(True) end event type cb_func from w_publ_1ton_share_detail`cb_func within w_sc_taskwork integer x = 146 end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_sc_taskwork integer x = 2615 integer width = 155 end type event cb_exit::clicked;call super::clicked;//if not dw_edit_mode then return //long arg_mtrlid ////IF MessageBox ("IF","是否确定要自动增加当前工序吗?",Question!,YesNo! ) = 2 THEN RETURN //dw_uc.accepttext() //arg_mtrlid = dw_uc.object.mtrlid[dw_uc.getrow()] //wf_addproid(arg_mtrlid) //dw_child.setfocus() //dw_child.setcolumn('empcode') end event type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_sc_taskwork integer x = 197 integer width = 521 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_sc_taskwork integer x = 3109 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_sc_taskwork integer x = 2807 integer height = 84 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_sc_taskwork integer x = 1614 integer width = 1929 integer height = 1324 string dataobject = "dw_sc_taskwork_index" end type event dw_pageretr::constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关 RBUTTON_FILTER_USE=true //右键查询功能开关 end event 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_sc_taskwork end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_sc_taskwork integer x = 3259 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_sc_taskwork integer width = 1614 integer height = 1324 string dataobject = "dw_sc_taskwork_edit" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 Long uc_row s_mtrldef_array arg_s_mtrldef IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN dw_child.SetFocus() dw_child.ScrollToRow(1) dw_child.SetColumn ('empcode') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_order_ml_ordercode' AND Key = KeyEnter! THEN PARENT.TriggerEvent('ue_f7') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_mtrldef_mtrlcode' AND Key = KeyEnter! THEN String ls_mtrlcode,ls_mtrlname String ls_mtrlmode,ls_unit Long ls_mtrlid dw_uc.AcceptText() ls_mtrlcode = Upper(Trim(dw_uc.Object.u_mtrldef_mtrlcode[dw_uc.GetRow()])) IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f9') 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] END IF dw_uc.SetRedraw(FALSE) dw_uc.Object.mtrlid[dw_uc.GetRow()] = ls_mtrlid dw_uc.Object.u_mtrldef_mtrlcode[dw_uc.GetRow()] = ls_mtrlcode dw_uc.Object.u_mtrldef_mtrlname[dw_uc.GetRow()] = ls_mtrlname dw_uc.Object.u_mtrldef_mtrlmode[dw_uc.GetRow()] = ls_mtrlmode dw_uc.Object.u_mtrldef_unit[dw_uc.GetRow()] = ls_unit dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("billdate") 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 event event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN IF sys_option_task_noorder = 1 AND & dw_uc.GetColumnName ( ) = 'u_mtrldef_mtrlcode' THEN PARENT.TriggerEvent('ue_f9') RETURN 1 ELSE PARENT.TriggerEvent('ue_f7') RETURN 1 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 IF sys_option_task_noorder = 1 THEN PARENT.TriggerEvent('ue_f9') ELSE MessageBox('提示','系统[207]已设置为计件单不能直接选择产品,如需改变请与管理员联系') END IF ELSEIF dwo.Name = 't_saletaskmxpro' OR dwo.Name = 'p_2' THEN PARENT.TriggerEvent('ue_f6') END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_sc_taskwork integer x = 64 integer y = 416 integer width = 343 integer height = 352 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_sc_taskwork integer y = 1700 integer width = 3543 integer height = 524 string title = "明细内容 [F8或双击选择 - 员工 - 产品工序]" string dataobject = "dw_sc_taskwork_mx" boolean controlmenu = true boolean minbox = true boolean maxbox = false boolean border = false boolean titleclick_sort_use = true end type event dw_child::dwnkey;call super::dwnkey; PARENT.TriggerEvent('user_key') IF NOT dw_edit_mode THEN RETURN 1 IF dw_uc.GetRow() <= 0 THEN MessageBox('系统提示','请选择单据') RETURN END IF Long child_row Long ls_mtrlid String ls_procode,ls_proname Decimal ls_workprice,ls_workhour,ls_mtrlqty String ls_empcode Long ll_auditflag Long ll_orderid,ll_scid,ll_relprintid Long ll_proorder String ls_procode_f 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( ) = 'empcode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() ls_empcode = dw_child.Object.empcode[child_row] s_empinfo arg_s_emp IF f_find_emp(ls_empcode,arg_s_emp) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE dw_child.SetRedraw(FALSE) dw_child.Object.empid[child_row] = arg_s_emp.empid dw_child.Object.empcode[child_row] = arg_s_emp.empcode dw_child.Object.empname[child_row] = arg_s_emp.empname dw_child.SetRedraw(TRUE) IF Key = keyenter! THEN // IF if_empcode = 0 THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 ELSE IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") ELSE dw_child.ScrollToRow(dw_child.GetRow()) END IF dw_child.SetColumn ('empcode') END IF END IF END IF ELSEIF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_procode' THEN ls_mtrlid = dw_uc.Object.mtrlid[dw_uc.GetRow()] ll_orderid = dw_uc.Object.u_sc_taskwork_orderid[dw_uc.GetRow()] ll_relprintid = dw_uc.Object.u_sc_taskwork_relid[dw_uc.GetRow()] ll_scid = dw_uc.Object.u_sc_taskwork_scid[dw_uc.GetRow()] IF ls_mtrlid = 0 OR IsNull(ls_mtrlid) THEN MessageBox(publ_operator,'请先选择订单明细产品') RETURN 1 END IF dw_child.AcceptText() child_row = dw_child.GetRow() ls_procode = dw_child.Object.u_sc_taskworkmx_procode[child_row] IF sys_option_task_noorder = 1 THEN SELECT procode,proname,workprice,workhour,auditflag,proorder INTO :ls_procode_f,:ls_proname,:ls_workprice,:ls_workhour,:ll_auditflag,:ll_proorder FROM u_sc_workprice WHERE mtrlid = :ls_mtrlid And (procode = :ls_procode OR proname = :ls_procode); IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(ls_procode),'%') = 0 THEN ls_procode = '%'+ Trim(ls_procode) + '%' ELSE ls_procode = Trim(ls_procode) END IF SELECT procode,proname,workprice,workhour,auditflag,proorder INTO :ls_procode_f,:ls_proname,:ls_workprice,:ls_workhour,:ll_auditflag,:ll_proorder FROM u_sc_workprice WHERE mtrlid = :ls_mtrlid And (procode Like :ls_procode OR proname Like :ls_procode); IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f11') RETURN 1 END IF END IF //***检查工价表工序是否已审核工价 IF ll_auditflag = 0 THEN MessageBox(publ_operator,'该工序工价未审核') RETURN 1 END IF //****************************** ELSE SELECT U_OrderRqwp.Procode, U_OrderRqwp.Proname, U_OrderRqwp.Proorder, U_OrderRqwp.workprice INTO :ls_procode_f, :ls_proname, :ll_proorder, :ls_workprice FROM U_OrderRqwp WHERE ( U_OrderRqwp.scid = :ll_scid ) AND ( U_OrderRqwp.taskid = :ll_orderid ) AND ( U_OrderRqwp.procode = :ls_procode OR U_OrderRqwp.proname = :ls_procode) AND ( U_OrderRqwp.printid = :ll_relprintid); IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(ls_procode),'%') = 0 THEN ls_procode = '%'+ Trim(ls_procode) + '%' ELSE ls_procode = Trim(ls_procode) END IF SELECT U_OrderRqwp.Procode, U_OrderRqwp.Proname, U_OrderRqwp.Proorder, U_OrderRqwp.workprice INTO :ls_procode_f, :ls_proname, :ll_proorder, :ls_workprice FROM U_OrderRqwp WHERE ( U_OrderRqwp.scid = :ll_scid ) AND ( U_OrderRqwp.taskid = :ll_orderid ) AND ( U_OrderRqwp.procode LIKE :ls_procode OR U_OrderRqwp.proname LIKE :ls_procode) AND ( U_OrderRqwp.printid = :ll_relprintid); IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f12') RETURN 1 END IF END IF END IF dw_child.Object.u_sc_taskworkmx_procode[child_row] = ls_procode_f dw_child.Object.u_sc_taskworkmx_proname[child_row] = ls_proname dw_child.Object.workprice[child_row] = ls_workprice dw_child.Object.workhour[child_row] = ls_workhour IF Key = keyenter! THEN // IF if_procode = 0 THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 ELSE IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") ELSE dw_child.ScrollToRow(dw_child.GetRow()) END IF dw_child.SetColumn ('u_sc_taskworkmx_procode') END IF END IF ELSEIF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSEIF dw_child.GetColumnName( ) = 'amount' THEN child_row = dw_child.GetRow() IF Key = keyenter! THEN // IF if_amount = 0 THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 ELSE IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") ELSE dw_child.ScrollToRow(child_row ) END IF dw_child.SetColumn ('amount') 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 IF END IF end event event dw_child::doubleclicked; // //dw_child.AcceptText() //IF dw_edit_mode AND row > 0 THEN // IF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_procode' OR dw_child.GetColumnName( ) = 'u_sc_taskworkmx_proname' THEN // PARENT.TriggerEvent('ue_f11') // ELSEIF dw_child.GetColumnName( ) = 'empcode' OR dw_child.GetColumnName( ) = 'empname' THEN // PARENT.TriggerEvent('ue_f8') // END IF //END IF dw_child.AcceptText() IF dw_edit_mode AND row > 0 THEN IF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_procode' OR dw_child.GetColumnName( ) = 'u_sc_taskworkmx_proname' THEN IF sys_option_task_noorder = 1 THEN PARENT.TriggerEvent('ue_f11') ELSE PARENT.TriggerEvent('ue_f12') END IF ELSEIF dw_child.GetColumnName( ) = 'empcode' OR dw_child.GetColumnName( ) = 'empname' THEN PARENT.TriggerEvent('ue_f18') // PARENT.TriggerEvent('ue_f8') END IF END IF end event event dw_child::rbuttondown;CALL u_dw_rbtnfilter::rbuttondown arg_ins_xpos = xpos arg_ins_ypos = ypos +50 arg_ins_dwname = dwo.Name arg_ins_dwrow = row arg_ins_dwtype = dwo.TYPE String ls_name ls_name = THIS.GetColumnName( ) IF row > 0 AND arg_ins_dwtype <> 'datawindow' THEN arg_ins_dwdata = String(dwo.primary[row]) END IF 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_taskwork m_print m_print = CREATE m_dwchild_rbotton_taskwork m_print.m_0.PopMenu(THIS.X + THIS.PointerX() + 50,THIS.Y + THIS.PointerY() + 50) END IF END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_sc_taskwork integer x = 2272 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_sc_taskwork integer x = 2080 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_sc_taskwork integer x = 297 end type event cb_add::clicked;IF NOT f_power_ind(1325) THEN MessageBox('提示','你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row,i IF dw_edit_mode THEN parent.TriggerEvent('ue_dwchild_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 //检查是否按顺序输入 String ls_procode[] Long ll_proorder[],ll_proorder_k[] Decimal ld_proqty[],ld_proqty_k[] Long ll_mxbt,j,ll_mxbt_k,k ll_mxbt = 0 ll_mxbt_k = 0 IF s_tran.d_long = 1 THEN dw_child.SetSort('u_sc_taskworkmx_proorder A empid D') dw_child.Sort() //取各工序序号,工序编号的数量 FOR i = 1 TO dw_child.RowCount() FOR j = 1 TO ll_mxbt IF dw_child.Object.u_sc_taskworkmx_procode[i] = ls_procode[j] AND & dw_child.Object.u_sc_taskworkmx_proorder[i] = ll_proorder[j] THEN IF dw_child.Object.empid[i] > 0 THEN ld_proqty[j] = ld_proqty[j] + dw_child.Object.amount[i] END IF GOTO _next END IF NEXT ll_mxbt++ ls_procode[ll_mxbt] = dw_child.Object.u_sc_taskworkmx_procode[i] ll_proorder[ll_mxbt] = dw_child.Object.u_sc_taskworkmx_proorder[i] IF dw_child.Object.empid[i] > 0 THEN ld_proqty[ll_mxbt] = dw_child.Object.amount[i] ELSE ld_proqty[ll_mxbt] = 0 END IF _next: NEXT //取各工序序号的最小数量 FOR j = 1 TO ll_mxbt FOR k = 1 TO ll_mxbt_k IF ll_proorder_k[k] = ll_proorder[j] THEN IF ld_proqty_k[k] > ld_proqty[j] THEN ld_proqty_k[k] = ld_proqty[j] GOTO _next_k END IF END IF NEXT ll_mxbt_k++ ll_proorder_k[ll_mxbt_k] = ll_proorder[j] ld_proqty_k[ll_mxbt_k] = ld_proqty[j] _next_k: NEXT FOR k = 2 TO ll_mxbt_k FOR j = 1 TO ll_mxbt IF ll_proorder_k[k] = ll_proorder[j] THEN IF ld_proqty[j] > ld_proqty_k[k - 1] THEN //如果下一序号其中一工序的数量比上一序号最少数量大,则不通过 MessageBox('系统提示','工序序号{'+String(ll_proorder[j])+'}的计件数量{'+String(ld_proqty[j],'#,##0.##########')+'}比工序序号{'+String(ll_proorder_k[k - 1])+'}的最少计件数量{'+String(ld_proqty_k[k - 1],'#,##0.##########')+'}多,不能通过,请检查!') RETURN END IF END IF NEXT NEXT END IF uo_taskwork_dq.billdate = dw_uc.Object.billdate[uc_row] uo_taskwork_dq.wageid = dw_uc.Object.wageid[uc_row] uo_taskwork_dq.mtrlid = dw_uc.Object.mtrlid[uc_row] uo_taskwork_dq.qty = dw_uc.Object.u_saletaskmx_orderqty[uc_row] uo_taskwork_dq.dscrp = dw_uc.Object.dscrp[uc_row] uo_taskwork_dq.wagemth = dw_uc.Object.u_sc_taskwork_wagemth[uc_row] uo_taskwork_dq.orderid = dw_uc.Object.u_sc_taskwork_orderid[uc_row] //订单ID uo_taskwork_dq.relid = dw_uc.Object.u_sc_taskwork_relid[uc_row] //订单printid uo_taskwork_dq.relcode = dw_uc.Object.u_sc_taskwork_relcode[uc_row] FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.empid[i] > 0 THEN IF uo_taskwork_dq.acceptmx(dw_child.Object.empid[i],& dw_child.Object.empcode[i],& dw_child.Object.empname[i],& dw_child.Object.u_sc_taskworkmx_procode[i],& dw_child.Object.u_sc_taskworkmx_proname[i],& dw_child.Object.amount[i],& dw_child.Object.workprice[i],& dw_child.Object.workhour[i],& dw_child.Object.u_sc_taskworkmx_mxdscrp[i],& arg_msg,& dw_child.Object.pid[i],& dw_child.Object.u_sc_taskworkmx_status[i],& dw_child.Object.u_sc_taskworkmx_proorder[i]) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF END IF NEXT IF uo_taskwork_dq.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_taskwork_dq.scid,uo_taskwork_dq.billid) ELSE IF uo_taskwork_dq.newbegin(cur_scid,arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF END IF CALL SUPER::Clicked IF dw_edit_mode THEN IF sys_option_task_noorder = 0 THEN dw_uc.SetTabOrder('u_mtrldef_mtrlcode',0) END IF //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.u_sc_taskwork_wagemth[dw_uc.GetRow()] = Year(Date(em_dftdate.Text)) * 100 + Month(Date(em_dftdate.Text)) dw_uc.SetColumn('u_saletask_taskcode') PARENT.TriggerEvent("insert_childrow") ELSE PARENT.TriggerEvent("retrieve_childdw") END IF wf_flagstatus_rf() end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_sc_taskwork integer x = 489 end type event cb_edit::clicked;IF NOT f_power_ind(1325) THEN MessageBox('提示','你没有使用权限!') 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_taskwork_dq.updatebegin(dw_pageretr.Object.u_sc_taskwork_scid[uc_row],dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.u_sc_taskwork_scid[uc_row],dw_pageretr.Object.billid[uc_row]) PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked IF dw_edit_mode THEN IF sys_option_task_noorder = 0 THEN dw_uc.SetTabOrder('u_mtrldef_mtrlcode',0) END IF END IF wf_flagstatus_rf() end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_sc_taskwork integer x = 681 integer width = 165 end type event cb_delet::clicked;call super::clicked;if not f_power_ind(1329) then messagebox('提示','你没有使用权限!') 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_taskwork_dq.del(dw_pageretr.object.u_sc_taskwork_scid[uc_row],dw_pageretr.object.billid[uc_row],arg_msg,true)=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_sc_taskwork 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" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=导入工价表单价~tEvent=ue_importprice" 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_sc_taskwork string tag = "按Ctrl键点击按钮可执行批操作" integer x = 1239 end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1327) THEN MessageBox('提示','你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid,ll_scid 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_scid = dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row] ll_billid = dw_pageretr.Object.billid[pagerert_row] IF uo_taskwork_dq.auditmx(ll_scid,ll_billid,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox('提示','审核成功!') wf_refresh_curuc(ll_scid,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_sc_taskwork integer x = 1829 end type type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_sc_taskwork integer width = 146 end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_sc_taskwork boolean visible = false integer x = 3282 boolean enabled = false end type type cb_help from w_publ_1ton_share_detail`cb_help within w_sc_taskwork integer x = 2464 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_sc_taskwork string tag = "按Ctrl键点击按钮可执行批操作" integer x = 1431 end type event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1327) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid,ll_scid IF NOT KeyDown(KeyControl!) THEN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要撤审当前单据?",question!,yesno! ) = 2 THEN RETURN ll_scid = dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row] ll_billid = dw_pageretr.Object.billid[pagerert_row] IF uo_taskwork_dq.cauditmx(ll_scid,ll_billid,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) ELSE MessageBox('提示','撤审成功!') wf_refresh_curuc(ll_scid,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_sc_taskwork end type type p_help from w_publ_1ton_share_detail`p_help within w_sc_taskwork end type type p_encl from w_publ_1ton_share_detail`p_encl within w_sc_taskwork end type type p_other from w_publ_1ton_share_detail`p_other within w_sc_taskwork end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_sc_taskwork end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_sc_taskwork end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_sc_taskwork end type type r_bar from w_publ_1ton_share_detail`r_bar within w_sc_taskwork integer x = 3314 integer width = 59 integer height = 152 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_sc_taskwork end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_sc_taskwork end type type ddlb_status from dropdownlistbox within w_sc_taskwork integer x = 1582 integer y = 188 integer width = 325 integer height = 300 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 = "[全部]" 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_sc_taskwork integer x = 1408 integer y = 200 integer width = 169 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 em_dftdate from editmask within w_sc_taskwork integer x = 2281 integer y = 184 integer width = 453 integer height = 92 integer taborder = 50 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(today(),'yyyy-mm-dd') end event type st_3 from statictext within w_sc_taskwork integer x = 1920 integer y = 204 integer width = 343 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 134217739 string text = "默认计件日期" alignment alignment = right! boolean focusrectangle = false end type type cb_affirm from uo_imflatbutton within w_sc_taskwork string tag = "按Ctrl键点击按钮可执行批操作" integer x = 846 integer width = 201 integer height = 164 integer taborder = 50 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(1326) THEN MessageBox('提示','你没有使用权限!') 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_taskwork_dq.affirm(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) ELSE MessageBox('提示','确认成功!') wf_refresh_curuc(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],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] + " 正在确认..." //进度信息 w_sys_wait_jdt.wf_inc(ll_i) //进度 li_flag = dw_pageretr.Object.u_sc_taskwork_affirmflag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.billid[ll_i] ll_scid = dw_pageretr.Object.u_sc_taskwork_scid[ll_i] ls_billcode = dw_pageretr.Object.billcode[ll_i] IF uo_taskwork_dq.affirm(ll_scid,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++ NEXT Close(w_sys_wait_jdt) MessageBox('提示','批确认成功!成功:'+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 type cb_cancel_affirm from uo_imflatbutton within w_sc_taskwork string tag = "按Ctrl键点击按钮可执行批操作" integer x = 1042 integer width = 192 integer height = 164 integer taborder = 60 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(1326) THEN MessageBox('提示','你没有使用权限!') 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 ("询问","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_taskwork_dq.c_affirm(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) ELSE MessageBox('提示','反确认成功!') wf_refresh_curuc(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],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_sc_taskwork_affirmflag[ll_i] IF li_flag = 0 THEN CONTINUE ll_billid = dw_pageretr.Object.billid[ll_i] ll_scid = dw_pageretr.Object.u_sc_taskwork_scid[ll_i] ls_billcode = dw_pageretr.Object.billcode[ll_i] IF uo_taskwork_dq.c_affirm(ll_scid,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('提示','批反确认成功!成功:'+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 type ddlb_scid from uo_ddlb_scid within w_sc_taskwork integer x = 873 integer y = 188 integer width = 553 integer height = 604 integer taborder = 30 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 st_4 from statictext within w_sc_taskwork integer x = 722 integer y = 204 integer width = 146 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 cbx_empcode from checkbox within w_sc_taskwork integer x = 23 integer y = 1624 integer width = 741 integer height = 72 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "[工号]回车后光标纵向移动" end type event clicked;IF THIS.Checked THEN if_empcode = 1 ELSE if_empcode = 0 END IF SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_empcode", String(if_empcode)) end event event constructor;if_empcode = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_empcode", '0')) IF if_empcode = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event type cbx_procode from checkbox within w_sc_taskwork integer x = 832 integer y = 1624 integer width = 850 integer height = 72 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "[工序编号]回车后光标纵向移动" end type event constructor;if_procode = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_procode", '0')) IF if_procode = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event event clicked;IF THIS.Checked THEN if_procode = 1 ELSE if_procode = 0 END IF SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_procode", String(if_procode)) end event type cbx_amount from checkbox within w_sc_taskwork integer x = 1751 integer y = 1624 integer width = 782 integer height = 72 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "[数量]回车后光标纵向移动" end type event constructor;if_amount = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_amount", '0')) IF if_amount = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event event clicked;IF THIS.Checked THEN if_amount = 1 ELSE if_amount = 0 END IF SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_amount", String(if_amount)) end event type cbx_1 from checkbox within w_sc_taskwork integer x = 2761 integer y = 204 integer width = 402 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "自动加工序" end type event clicked;IF THIS.Checked THEN if_autopro = 1 ELSE if_autopro = 0 END IF SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_autopro", String(if_autopro)) end event event constructor;if_autopro=integer(ProfileString (sys_inifilename,parent.classname( ), "if_autopro", '0')) if if_autopro = 0 then this.checked=false else this.checked=true end if end event type cbx_copy from checkbox within w_sc_taskwork integer x = 3150 integer y = 204 integer width = 466 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "复制行平分数量" end type event clicked;if this.checked then if_copyqty = 1 else if_copyqty = 0 end if SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_copyqty", String(if_copyqty)) end event event constructor;if_copyqty = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_copyqty", '0')) IF if_copyqty = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event