$PBExportHeader$w_sc_abnormity.srw forward global type w_sc_abnormity from w_publ_1ton_share_detail end type type ddlb_status from dropdownlistbox within w_sc_abnormity end type type st_2 from statictext within w_sc_abnormity end type type em_dftdate from editmask within w_sc_abnormity end type type sle_dftrelcode from singlelineedit within w_sc_abnormity end type type st_3 from statictext within w_sc_abnormity end type type st_4 from statictext within w_sc_abnormity end type type cb_affirm from uo_imflatbutton within w_sc_abnormity end type type cb_cancel_affirm from uo_imflatbutton within w_sc_abnormity end type end forward global type w_sc_abnormity from w_publ_1ton_share_detail integer x = 73 integer y = 4 integer width = 4681 string title = "个人工序计件单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_secaudit ( ) event ue_csecaudit ( ) event ue_fj_edit ( ) event ue_fj_view ( ) ddlb_status ddlb_status st_2 st_2 em_dftdate em_dftdate sle_dftrelcode sle_dftrelcode st_3 st_3 st_4 st_4 cb_affirm cb_affirm cb_cancel_affirm cb_cancel_affirm end type global w_sc_abnormity w_sc_abnormity type variables uo_abnormity uo_abnormity_dq int cur_flag=-1 end variables forward prototypes public function integer wf_refresh_curuc (long arg_billid) public subroutine wf_check_billfj () public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg) end prototypes event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.object.relcode[li_row] = sle_dftrelcode.text dw_uc.accepttext() //dw_child.object.mxdscrp[li_row] =dw_uc.object.u_sc_abnormity_bill_dutyreason[dw_uc.getrow()] dw_child.SetColumn ('empcode') end event event ue_secaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) return END IF IF NOT f_power_ind(213) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF string arg_msg='' if messagebox ("询问","是否确定要确认当前单据?",question!,yesno! ) = 2 then return long pagerert_row pagerert_row=dw_pageretr.getrow() if pagerert_row<=0 then messagebox('提示','请选定当前目标单据!', Information!, OK! ) return end if if uo_abnormity_dq.secauditing(dw_pageretr.object.billid[pagerert_row],arg_msg,true)=0 then messagebox('错误',arg_msg, StopSign!, OK! ) else messagebox('提示','确认成功!', Information!, OK! ) wf_refresh_curuc(dw_pageretr.object.billid[pagerert_row]) end if end event event ue_csecaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) return END IF IF NOT f_power_ind(213) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_abnormity_dq.c_secauditing(dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.billid[pagerert_row] ls_code = dw_pageretr.Object.billcode[pagerert_row] f_setsysoplog('个人工序计件单','返确认,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','反确认成功!', Information!, OK! ) wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row]) END IF end event event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用', Information!, OK! ) RETURN END IF //IF NOT f_power_ind(1446) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! ) RETURN END IF s_pic.f_long = 709 //采购订单的mainID s_pic.f_string = dw_pageretr.Object.billcode[ls_row] s_pic.g_long = dw_pageretr.Object.billid[ls_row] s_pic.e_long = 0 s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) //wf_check_billfj() end event event ue_fj_view();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用', Information!, OK! ) RETURN END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! ) RETURN END IF s_pic.f_long = 709 //采购订单的mainID s_pic.f_string = dw_pageretr.Object.billcode[ls_row] s_pic.g_long = dw_pageretr.Object.billid[ls_row] s_pic.e_long = 0 s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event public function integer wf_refresh_curuc (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 string relcode Long wageid Int auditingflag String auditingrep DateTime auditingdate DateTime opdate String opemp DateTime moddate String modemp Int secauditingflag String secauditingrep DateTime secauditingdate long ll_printnum SELECT u_sc_abnormity.billdate , u_sc_abnormity.dscrp , u_sc_abnormity.wagemth , u_sc_abnormity.billcode , u_sc_abnormity.relcode , u_sc_abnormity.wageid , u_sc_abnormity.auditingflag , u_sc_abnormity.auditingemp , u_sc_abnormity.auditingdate , u_sc_abnormity.opdate , u_sc_abnormity.opemp , u_sc_abnormity.moddate , u_sc_abnormity.modemp , u_sc_abnormity.secauditingflag , u_sc_abnormity.secauditingemp , u_sc_abnormity.secauditingdate , u_sc_abnormity.printnum INTO :billdate , :dscrp , :wagemth , :billcode , :relcode , :wageid , :auditingflag , :auditingrep , :auditingdate , :opdate , :opemp , :moddate , :modemp , :secauditingflag , :secauditingrep , :secauditingdate, :ll_printnum FROM u_sc_abnormity WHERE ( u_sc_abnormity.billid = :arg_billid ); IF sqlca.SQLCode <> 0 THEN MessageBox('提示',"查询计件单操作失败"+sqlca.SQLErrText, Information!, OK! ) 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.wagemth[uc_row]=wagemth dw_pageretr.object.billcode[uc_row]=billcode dw_pageretr.object.relcode[uc_row]=relcode dw_pageretr.object.wageid[uc_row]=wageid dw_pageretr.object.auditingflag[uc_row]=auditingflag dw_pageretr.object.auditingemp[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.moddate[uc_row]=moddate dw_pageretr.object.modemp[uc_row]=modemp dw_pageretr.object.secauditingflag[uc_row]=secauditingflag dw_pageretr.object.secauditingemp[uc_row]=secauditingrep dw_pageretr.object.secauditingdate[uc_row]=secauditingdate dw_pageretr.object.printnum[uc_row]=ll_printnum dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) dw_uc.ResetUpdate() dw_uc.SetRedraw(TRUE) RETURN 1 end function public subroutine wf_check_billfj ();String arg_msg Long ll_ConnectionID Long cur_billtype long ll_relid,ll_relid_mx,ll_scid Long ls_filecount = 0 Int rslt = 1 uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype Long row,uc_relid row = dw_pageretr.GetRow() IF row > 0 THEN ll_relid = dw_pageretr.Object.billid[row] ll_scid = 0 ll_relid_mx = 0 ELSE rslt = 0 GOTO ext END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF cur_billtype = 709 //客户投拆单的 mainiD ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount) IF ls_filecount > 0 THEN rslt = 1 GOTO ext ELSE rslt = 0 GOTO ext END IF ext: wf_encl(rslt) DESTROY ls_uo_fjbt end subroutine public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_uc.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_uc.Object.#1[LS_ROW] ll_scid = 0 //查询所选模版是否含有图片信息 Long ll_ifpic Long ll_classid SELECT ifpic INTO :ll_ifpic FROM U_XLS_Templates Where id = :ll_xls_Templatesid; IF sqlca.SQLCode <> 0 THEN ll_ifpic = 0 END IF Long ll_i,ll_j Long ll_mtrlid Long ll_fileid Blob ls_filedata SetNull(ls_filedata) String Pathname,ls_filename,ls_filetype String errmsg uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype s_xls_pic_list s_pic //结构数组-用于保存图片路径 IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件 SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 709); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_child.RowCount() ll_mtrlid = dw_child.Object.mtrlid[ll_i] //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE s_pic.path[ll_i] = '' END IF ELSE s_pic.path[ll_i] = '' END IF NEXT END IF // END IF ////可选设置/// arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码 if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码 boolean xls_locked xls_locked = not (sys_option_xls_lock = 1) /// Excel 的可选设置 if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then return 0 end if for i = 1 to arg_str_billlist.count ////可选操作/// arg_str_billlist.bill[i].ds_data = create datastore // arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow // arg_str_billlist.bill[i].ds_data.settransobject(sqlca) //修改点:注意retrieve 参数与上文对应 arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id) next return 1 end function on w_sc_abnormity.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.sle_dftrelcode=create sle_dftrelcode this.st_3=create st_3 this.st_4=create st_4 this.cb_affirm=create cb_affirm this.cb_cancel_affirm=create cb_cancel_affirm 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.sle_dftrelcode this.Control[iCurrent+5]=this.st_3 this.Control[iCurrent+6]=this.st_4 this.Control[iCurrent+7]=this.cb_affirm this.Control[iCurrent+8]=this.cb_cancel_affirm end on on w_sc_abnormity.destroy call super::destroy destroy(this.ddlb_status) destroy(this.st_2) destroy(this.em_dftdate) destroy(this.sle_dftrelcode) destroy(this.st_3) destroy(this.st_4) destroy(this.cb_affirm) destroy(this.cb_cancel_affirm) end on event retrieve_childdw;call super::retrieve_childdw;Long row,billid //dw_child.Reset() dw_child.SetFilter('') dw_child.Filter() row = dw_pageretr.GetRow() IF row > 0 THEN billid = dw_pageretr.Object.billid[row] dw_child.SetRedraw (False) dw_child.Retrieve(billid) dw_child.SetRedraw (True) ELSE dw_child.Reset() END IF end event event open;call super::open;uc_column_int=6 //uc dw前6列可以编辑 child_column_int=7 //子dw前7列可以编辑 uo_abnormity_dq =create uo_abnormity 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 //IF sys_option_abnormity_price = 0 THEN // dw_child.Modify('wage.protect=1 ') //ELSE // dw_child.Modify('wage.protect=0 ') //END IF end event event close;call super::close;DESTROY uo_abnormity_dq wf_del_tempfilepathname() 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_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_flag) 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 choose case dw_child.getcolumnname() case 'empcode' 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 dw_child.setcolumn('u_sc_workprocedure_code') end if end if end choose dw_child.setfocus() end event event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) return END IF if not f_power_ind(771) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if string arg_msg='' string ls_str long uc_row s_inputbox s_sreu uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标单据!', Information!, OK! ) return end if s_sreu.title='请输入要补充到备注的内容' s_sreu.old_text='' openwithparm(w_inputbox,s_sreu) ls_str=message.stringparm if trim(ls_str)='' or isnull(ls_str) then return if uo_abnormity_dq.add_dscrp(dw_pageretr.object.billid[uc_row],ls_str,arg_msg)=0 then messagebox('error!',arg_msg) return else messagebox('提示','添加备注操作成功!', Information!, OK! ) wf_refresh_curuc(dw_pageretr.object.billid[uc_row]) end if end event event ue_f9;call super::ue_f9;//用于选择明细内容,被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_workprocedure_code[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_abnormitymx_proid='+String(S_INSCUST.wrkproid[ls_j]),1,dw_child.RowCount()) = 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_sc_abnormitymx_proid[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_abnormitymx_proid[child_row] = S_INSCUST.wrkproid[ls_j] dw_child.Object.u_sc_workprocedure_code[child_row] = S_INSCUST.wrkprocode[ls_j] dw_child.Object.u_sc_workprocedure_name[child_row] = S_INSCUST.wrkproname[ls_j] dw_child.Object.u_sc_abnormitymx_workhour[child_row] = S_INSCUST.workhour[ls_j] dw_child.Object.wage[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_viewprint;call super::ue_viewprint; Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!', Information!, OK! ) RETURN END IF IF NOT f_power_ind(770) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_sc_abnormity_print' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.TAG_TEXT = '计件单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = 0 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_abnormity',printnum,0,dw_pageretr.object.billid[LS_ROW],'','',arg_msg,true) end event event ue_print;call super::ue_print;IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!', Information!, OK! ) RETURN END IF IF NOT f_power_ind(770) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF uo_print_preview uo_print S_print_MSG LS_PRMSG IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_sc_abnormity_print' END IF LS_PRMSG.TAG_TEXT = '计件单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[dw_pageretr.GetRow()] 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, Information!, OK! ) RETURN END IF uo_print.ds_print() //**更新打印次料 f_update_printnum('u_sc_abnormity',1,0,dw_pageretr.object.billid[dw_pageretr.getrow()],'','',arg_msg,true) 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 type cb_func from w_publ_1ton_share_detail`cb_func within w_sc_abnormity end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_sc_abnormity integer x = 2962 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_sc_abnormity integer x = 187 integer y = 188 integer width = 553 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_sc_abnormity integer x = 3529 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_sc_abnormity integer x = 3186 integer y = 40 integer width = 320 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_sc_abnormity integer x = 1746 integer width = 2537 integer height = 760 string dataobject = "dw_sc_abnormity_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_check_billfj() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_sc_abnormity integer x = 0 integer y = 208 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_sc_abnormity integer x = 3680 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_sc_abnormity integer width = 1737 integer height = 760 string dataobject = "dw_sc_abnormity_edit" end type event dw_uc::dwnkey;parent.triggerevent('user_key') if key = KeyDownArrow! then return 1 if dw_edit_mode then if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then dw_child.setfocus() dw_child.scrolltorow(1) dw_child.SetColumn ('empcode') return 1 elseif dw_uc.GetColumnName ( )='u_sc_abnormity_bill_billcode' and key = KeyEnter! then this.SetColumn ('wageid') 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;// end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_sc_abnormity end type type dw_child from w_publ_1ton_share_detail`dw_child within w_sc_abnormity integer y = 1056 integer width = 4288 integer height = 1204 string title = "明细内容" string dataobject = "dw_sc_abnormitymx_edit" 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 long child_row string ls_empcode,ls_empname string ls_procode,ls_proname long ls_empid,ls_proid dec ld_workprice,ld_workhour 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] select empid,empname into :ls_empid,:ls_empname from u_rs_empinfo where empcode = :ls_empcode; if sqlca.sqlcode <> 0 then parent.triggerevent('ue_f8') return 1 end if dw_child.object.empid[child_row] = ls_empid dw_child.object.empname[child_row] = ls_empname 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_sc_workprocedure_code' then dw_child.accepttext() child_row = dw_child.getrow() ls_procode = dw_child.object.u_sc_workprocedure_code[child_row] select proid,name,workprice,workhour into :ls_proid,:ls_proname,:ld_workprice,:ld_workhour from u_sc_workprocedure where code = :ls_procode; if sqlca.sqlcode <> 0 then parent.triggerevent('ue_f9') return 1 end if dw_child.object.u_sc_abnormitymx_proid[child_row] = ls_proid dw_child.object.u_sc_workprocedure_name[child_row] = ls_proname dw_child.object.wage[child_row] = ld_workprice dw_child.object.u_sc_abnormitymx_workhour[child_row] = ld_workhour 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;if dw_edit_mode and row > 0 then if dwo.name = 'empcode' then parent.triggerevent('ue_f8') elseif dwo.name = 'u_sc_workprocedure_code' then parent.triggerevent('ue_f9') end if end if end event event dw_child::constructor;call super::constructor;this.object.wage.protect = string(sys_option_taskwork_mod_price) end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_sc_abnormity integer x = 2318 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_sc_abnormity integer x = 2126 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_sc_abnormity end type event cb_add::clicked;IF Not f_power_ind(199) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) 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('提示','请选定当前目标单据!', Information!, OK! ) RETURN END IF IF Not dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('提示','不合理计件日期', Information!, OK! ) RETURN END IF uo_abnormity_dq.wageid = dw_uc.Object.wageid[uc_row] uo_abnormity_dq.dscrp = dw_uc.Object.dscrp[uc_row] uo_abnormity_dq.relcode = dw_uc.Object.relcode[uc_row] uo_abnormity_dq.billdate = dw_uc.Object.billdate[uc_row] uo_abnormity_dq.relid = dw_uc.Object.u_sc_abnormity_relid[uc_row] FOR i = 1 To dw_child.RowCount() IF dw_child.Object.empid[i] > 0 THEN IF uo_abnormity_dq.acceptmx(dw_child.Object.empid[i],& dw_child.Object.empcode[i],& dw_child.Object.empname[i],& dw_child.Object.amount[i],& dw_child.Object.wage[i],& dw_child.Object.mxdscrp[i],& arg_msg,& dw_child.Object.pid[i],& dw_child.Object.relcode[i],& dw_child.Object.u_sc_abnormitymx_proid[i],& dw_child.Object.u_sc_workprocedure_code[i],& dw_child.Object.u_sc_workprocedure_name[i],& dw_child.Object.u_sc_abnormitymx_workhour[i]) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) RETURN END IF END IF NEXT IF uo_abnormity_dq.Save(arg_msg,True) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) RETURN END IF // messagebox('提示','保存操作成功!') //write ini f_SetProfileString (sys_empid,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_abnormity_dq.billid) ELSE IF uo_abnormity_dq.newbegin(arg_msg) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) RETURN END IF END IF CALL Super::Clicked IF dw_edit_mode THEN //read ini String ls_wageid ls_wageid = f_ProfileString (sys_empid,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.SetColumn('wageid') // Parent.TriggerEvent("insert_childrow") ELSE Parent.TriggerEvent("retrieve_childdw") END IF This.TriggerEvent('refresh_interface') end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_sc_abnormity end type event cb_edit::clicked;if not f_power_ind(199) then messagebox('提示','你没有使用权限!', Information!, OK! ) return end if string arg_msg='' long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标单据!', Information!, OK! ) return end if if not dw_edit_mode then if uo_abnormity_dq.updatebegin(dw_pageretr.object.billid[uc_row],arg_msg)=0 then messagebox('错误',arg_msg, StopSign!, OK! ) return end if end if call super::clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_sc_abnormity end type event cb_delet::clicked;call super::clicked;if not f_power_ind(626) then messagebox('提示','你没有使用权限!', Information!, OK! ) 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('提示','请选定当前目标单据!', Information!, OK! ) return end if IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN if uo_abnormity_dq.del(dw_pageretr.object.billid[uc_row],arg_msg)=0 then messagebox('错误',arg_msg, StopSign!, OK! ) 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('提示','删除单据'+string(dw_pageretr.object.billcode[uc_row])+'成功!') dw_pageretr.deleterow(uc_row) dw_pageretr.postevent(rowfocuschanged!) end if end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_sc_abnormity integer x = 1623 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_fj_view" menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit" if len(trim(menustr))<>0 then dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu end if end event type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_sc_abnormity end type event cb_auditing::clicked;call super::clicked;IF Not f_power_ind(200) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF s_taskwork_abnormity_audit s_audit OpenWithParm(w_sc_abnormity_audit,1) s_audit = Message.PowerObjectParm IF s_audit.audit_month = 0 THEN RETURN String arg_msg IF uo_abnormity_dq.auditing(s_audit.audit_wageid,s_audit.audit_month,s_audit.audit_enddate,arg_msg,True) = 0 THEN MessageBox('提示','个人工序计件单审核失败,原因>>'+arg_msg) RETURN END IF MessageBox('提示','个人工序计件单审核成功', Information!, OK! ) Parent.TriggerEvent('retrieve_pageretr') end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_sc_abnormity integer x = 1874 end type type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_sc_abnormity end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_sc_abnormity integer x = 2510 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_sc_abnormity integer x = 2811 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_sc_abnormity end type event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(903) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF s_taskwork_abnormity_audit s_audit OpenWithParm(w_sc_abnormity_audit,0) s_audit = Message.PowerObjectParm IF s_audit.audit_month = 0 THEN RETURN String arg_msg IF uo_abnormity_dq.c_auditing(s_audit.audit_wageid,s_audit.audit_month,arg_msg,TRUE) = 0 THEN MessageBox('提示','个人工序计件单撤审失败,原因>>'+arg_msg, Information!, OK! ) RETURN END IF //日志 String ls_code ls_code = string(s_audit.audit_month) f_setsysoplog('个人工序计件单','撤审,月份:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','个人工序计件单撤审成功', Information!, OK! ) PARENT.TriggerEvent('retrieve_pageretr') end event type p_msg from w_publ_1ton_share_detail`p_msg within w_sc_abnormity integer x = 3845 end type type p_help from w_publ_1ton_share_detail`p_help within w_sc_abnormity integer x = 4037 end type type p_encl from w_publ_1ton_share_detail`p_encl within w_sc_abnormity integer x = 3941 end type type p_other from w_publ_1ton_share_detail`p_other within w_sc_abnormity integer x = 4133 end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_sc_abnormity end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_sc_abnormity end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_sc_abnormity end type type r_bar from w_publ_1ton_share_detail`r_bar within w_sc_abnormity integer x = 3794 integer y = 8 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_sc_abnormity end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_sc_abnormity end type type ddlb_status from dropdownlistbox within w_sc_abnormity integer x = 2331 integer y = 188 integer width = 553 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_flag=-1 elseif index=2 then cur_flag=0 elseif index=3 then cur_flag=1 end if parent.triggerevent('retrieve_pageretr') end event type st_2 from statictext within w_sc_abnormity integer x = 2144 integer y = 208 integer width = 219 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "状 态" boolean focusrectangle = false end type type em_dftdate from editmask within w_sc_abnormity integer x = 1723 integer y = 184 integer width = 389 integer height = 92 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 = "none" 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 sle_dftrelcode from singlelineedit within w_sc_abnormity integer x = 1088 integer y = 184 integer width = 320 integer height = 92 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 borderstyle borderstyle = stylelowered! end type type st_3 from statictext within w_sc_abnormity integer x = 1440 integer y = 204 integer width = 265 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 st_4 from statictext within w_sc_abnormity integer x = 759 integer y = 204 integer width = 315 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 cb_affirm from uo_imflatbutton within w_sc_abnormity integer x = 1184 integer width = 197 integer height = 164 integer taborder = 30 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(200) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("if","是否确定要确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_abnormity_dq.secauditing (dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('个人工序计件单确认失败,原因>>',arg_msg) RETURN ELSE MessageBox('提示','个人工序计件单确认成功', Information!, OK! ) END IF Parent.TriggerEvent('retrieve_pageretr') end event type cb_cancel_affirm from uo_imflatbutton within w_sc_abnormity integer x = 1381 integer width = 242 integer height = 164 integer taborder = 230 boolean bringtotop = true string text = "反确认" string normalpicname = "caudit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! end type event clicked;call super::clicked; IF Not f_power_ind(903) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("if","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_abnormity_dq.c_secauditing (dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN MessageBox('个人工序计件单反确认失败,原因>>',arg_msg) RETURN ELSE MessageBox('提示','个人工序计件单反确认成功', Information!, OK! ) END IF Parent.TriggerEvent('retrieve_pageretr') end event