$PBExportHeader$w_workprice_change.srw forward global type w_workprice_change from w_publ_1ton_share_detail end type type st_2 from statictext within w_workprice_change end type type ddlb_status from dropdownlistbox within w_workprice_change end type end forward global type w_workprice_change from w_publ_1ton_share_detail string title = "工价表变更单 " boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_mtrlarea_rate ( ) event ue_p_wrkgrpid ( ) event ue_p_editflag ( ) event ue_p_workqty ( ) event ue_p_workprice ( ) event ue_p_status ( ) event ue_p_pro ( ) event ue_p_lsxtype ( ) event ue_p_workhour ( ) event ue_p_rate_price ( ) st_2 st_2 ddlb_status ddlb_status end type global w_workprice_change w_workprice_change type variables long cur_flag= -1 //-1:全部,0未审 Long cur_scid Long cur_scid_arr[] uo_workprice_change uo_workprice end variables forward prototypes public function integer wf_flagstatus_rf () public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg) public function integer wf_refresh_curuc (long arg_billid) public function integer wf_check (long arg_wagemth, long arg_wageid, 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.SetColumn ('u_workprice_changemx_editflag') end event event ue_mtrlarea_rate();IF NOT dw_edit_mode THEN MessageBox('系统提示',"非编辑状态下不可以使用!") RETURN END IF IF MessageBox ("询问","本功能将根据油漆面积及相关比例计算出新用料量,是否继续?",question!,yesno! ) = 2 THEN RETURN Decimal ld_rebate Long ll_areatype Long ll_i Open(w_mtrlarea_rate) s_edit_index_tran s_tranbate s_tranbate = Message.PowerObjectParm ld_rebate = s_tranbate.b_decimal ll_areatype = s_tranbate.b_long IF ld_rebate = 0 THEN RETURN dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount( ) IF ll_areatype = 0 THEN dw_child.Object.u_prdpf_changemx_sonscale[ll_i] = ld_rebate * dw_child.Object.u_mtrldef_mtrlarea[ll_i] ELSEIF ll_areatype = 1 THEN dw_child.Object.u_prdpf_changemx_sonscale[ll_i] = ld_rebate * dw_child.Object.u_mtrldef_mtrlarea1[ll_i] ELSEIF ll_areatype = 2 THEN dw_child.Object.u_prdpf_changemx_sonscale[ll_i] = ld_rebate * dw_child.Object.u_mtrldef_mtrlarea2[ll_i] END IF NEXT dw_child.SetRedraw(TRUE) end event event ue_p_wrkgrpid();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() < 1 THEN RETURN Long ll_wrkgrpid ll_wrkgrpid = dw_child.Object.u_workprice_changemx_wrkgrpid[1] //工组 IF ll_wrkgrpid = 0 THEN RETURN //相同工组才设定 dw_child.SetRedraw(False) FOR ll_i = 2 To dw_child.RowCount() dw_child.Object.u_workprice_changemx_wrkgrpid[ll_i] = ll_wrkgrpid NEXT dw_child.SetRedraw(True) end event event ue_p_editflag();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 dw_child.SetRedraw(False) FOR ll_i = 1 To dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_workprice_changemx_editflag[ll_i] = dw_child.Object.u_workprice_changemx_editflag[1] NEXT dw_child.SetRedraw(True) end event event ue_p_workqty();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 dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_workprice_changemx_workqty[ll_i] = dw_child.Object.u_workprice_changemx_workqty[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_workprice();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 dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_workprice_changemx_workprice[ll_i] = dw_child.Object.u_workprice_changemx_workprice[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_status();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 IF dw_child.Object.u_workprice_changemx_status [1] = '' THEN RETURN dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.Object.u_mtrldef_statusflag [ll_i] <> 2 THEN CONTINUE IF ll_i = 1 THEN CONTINUE dw_child.Object.u_workprice_changemx_status[ll_i] = dw_child.Object.u_workprice_changemx_status[1] NEXT dw_child.SetRedraw(TRUE) 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 dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE IF dw_child.Object.u_workprice_changemx_editflag[ll_i] = 0 THEN CONTINUE dw_child.Object.u_workprice_changemx_procode[ll_i] = dw_child.Object.u_workprice_changemx_procode[1] dw_child.Object.u_workprice_changemx_proname[ll_i] = dw_child.Object.u_workprice_changemx_proname[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_lsxtype();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 dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_workprice_changemx_lsxtype[ll_i] = dw_child.Object.u_workprice_changemx_lsxtype[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_workhour();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 dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_workprice_changemx_workhour[ll_i] = dw_child.Object.u_workprice_changemx_workhour[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_rate_price();IF NOT dw_edit_mode THEN MessageBox('系统提示','非编辑状态下不能使用') RETURN END IF Long ll_i Decimal ld_rate Long ll_if_all Long ll_row Long ll_dec Long ll_way ll_row = dw_child.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择明细内容') RETURN END IF s_edit_index_tran s_ins_rate Open(w_workprice_change_rate_edit) s_ins_rate = Message.PowerObjectParm ld_rate = s_ins_rate.b_decimal ll_if_all = s_ins_rate.b_long ll_dec = s_ins_rate.c_long ll_way = s_ins_rate.d_long IF ll_if_all = -1 THEN RETURN dw_child.AcceptText() IF ll_if_all = 0 THEN IF ll_way = 0 THEN dw_child.Object.u_workprice_changemx_workprice[ll_row] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_row] + ld_rate,ll_dec) ELSEIF ll_way = 1 THEN dw_child.Object.u_workprice_changemx_workprice[ll_row] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_row] - ld_rate,ll_dec) ELSEIF ll_way = 2 THEN dw_child.Object.u_workprice_changemx_workprice[ll_row] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_row] * ld_rate,ll_dec) ELSEIF ll_way = 3 THEN dw_child.Object.u_workprice_changemx_workprice[ll_row] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_row] / ld_rate,ll_dec) END IF ELSEIF ll_if_all = 1 THEN dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_way = 0 THEN dw_child.Object.u_workprice_changemx_workprice[ll_i] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_i] + ld_rate,ll_dec) ELSEIF ll_way = 1 THEN dw_child.Object.u_workprice_changemx_workprice[ll_i] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_i] - ld_rate,ll_dec) ELSEIF ll_way = 2 THEN dw_child.Object.u_workprice_changemx_workprice[ll_i] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_i] * ld_rate,ll_dec) ELSEIF ll_way = 3 THEN dw_child.Object.u_workprice_changemx_workprice[ll_i] = Round(dw_child.Object.u_workprice_changemx_workprice_ori[ll_i] / ld_rate,ll_dec) END IF NEXT dw_child.SetRedraw(TRUE) END IF end event public function integer wf_flagstatus_rf ();//==================================================================== // Function: wf_flagstatus_rf() //-------------------------------------------------------------------- // Description: //-------------------------------------------------------------------- // Arguments:(None) //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.12.26 //-------------------------------------------------------------------- // Modify History: // //==================================================================== Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = FALSE GOTO ext END IF IF dw_edit_mode THEN cb_auditing.Enabled = FALSE ELSE IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN cb_auditing.Enabled = TRUE ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 THEN cb_auditing.Enabled = FALSE END IF END IF ext: RETURN 0 end function public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_pageretr.Object.#1[LS_ROW] ////可选设置/// 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_id) next return 1 end function public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 DateTime billdate String rep String relcode String dscrp Long flag String procode String proname DateTime opdate String opemp DateTime moddate String modemp DateTime auditingdate String auditingrep String billcode SELECT billdate, rep, relcode, dscrp, flag, procode, proname, opdate, opemp, moddate, modemp, auditingdate, auditingrep, billcode INTO :billdate, :rep, :relcode, :dscrp, :flag, :procode, :proname, :opdate, :opemp, :moddate, :modemp, :auditingdate, :auditingrep, :billcode FROM u_workprice_change Where billid = :arg_billid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询操作失败(错误单据唯一码)") RETURN 0 END IF dw_pageretr.SetRedraw(FALSE) dw_pageretr.Object.billid[uc_row] = arg_billid dw_pageretr.Object.billcode[uc_row] = billcode dw_pageretr.Object.procode[uc_row] = procode dw_pageretr.Object.proname[uc_row] = proname dw_pageretr.Object.rep[uc_row] = rep dw_pageretr.Object.relcode[uc_row] = relcode dw_pageretr.Object.dscrp[uc_row] = dscrp dw_pageretr.Object.flag[uc_row] = flag dw_pageretr.Object.billdate[uc_row] = billdate 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.auditingdate[uc_row] = auditingdate dw_pageretr.Object.auditingrep[uc_row] = auditingrep dw_pageretr.SetRedraw(TRUE) dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) wf_flagstatus_rf() RETURN 1 end function public function integer wf_check (long arg_wagemth, long arg_wageid, ref string arg_msg);//检查该月该项目所属的单据是否已审 Int rslt = 1 Long ll_wagemode Long cnt Long li_year,li_month li_year = Long(Left(String(arg_wagemth),4)) li_month = Long(Right(String(arg_wagemth),2)) SELECT wagemode INTO :ll_wagemode FROM u_gz_wageitem Where wageid = :arg_wageid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询工资项目计算方法失败'+sqlca.SQLErrText GOTO ext END IF CHOOSE CASE ll_wagemode CASE 12 cnt = 0 SELECT count(*) INTO :cnt FROM u_scwg_taskwork_2 WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND flag = 0 AND billtype = 1; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询个人产品计件单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的个人产品计件单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 13 cnt = 0 SELECT count(*) INTO :cnt FROM u_sc_taskwork WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND Auditingflag = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询产品个人计件单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的产品个人计件单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 14 cnt = 0 SELECT count(*) INTO :cnt FROM u_sc_abnormity WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND secAuditingflag = 0; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询是否有异常计件单未审核失败,原因>>'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF cnt > 0 THEN arg_msg = '该月的异常计件单没有审核,不能更改该项目工资金额!' rslt = 0 GOTO ext END IF CASE 15 cnt = 0 SELECT count(*) INTO :cnt FROM u_scwg_taskwork WHERE u_scwg_taskwork.wageid = :arg_wageid AND u_scwg_taskwork.wagemth = :arg_wagemth AND u_scwg_taskwork.Auditingflag = 0 ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,已经审核数量' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '还有工作中心工序单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 16 cnt = 0 SELECT count(*) INTO :cnt FROM u_scwg_taskwork_2 WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND flag = 0 AND billtype = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询工作中心产品月分配计件单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的工作中心产品月分配计件单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 17 cnt = 0 SELECT count(*) INTO :cnt FROM u_scwg_taskwork_day WHERE u_scwg_taskwork_day.wageid = :arg_wageid AND u_scwg_taskwork_day.wagemth = :arg_wagemth AND u_scwg_taskwork_day.flag = 0 AND u_scwg_taskwork_day.billtype = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询工作中心产品日分配计件单操作失败,'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的工作中心产品日分配计件单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 18 cnt = 0 SELECT count(*) INTO :cnt FROM u_scwg_taskwork_2 WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND flag = 0 AND billtype = 2; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询工作中心月分配异常计件单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的工作中心月分配异常计件单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 19 cnt = 0 SELECT count(*) INTO :cnt FROM u_scwg_taskwork_day WHERE u_scwg_taskwork_day.wageid = :arg_wageid AND u_scwg_taskwork_day.wagemth = :arg_wagemth AND u_scwg_taskwork_day.flag = 0 AND u_scwg_taskwork_day.billtype = 1; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询工作中心日分配异常计件单操作失败,'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的工作中心日分配异常计件单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 21 cnt = 0 SELECT count(*) INTO :cnt FROM u_gz_loanwage WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND flag = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询借支单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的借支单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 22 cnt = 0 SELECT count(*) INTO :cnt FROM u_outware WHERE billtype = 10 AND relid = :arg_wageid AND secflag = 0 AND year(outdate) = :li_year AND Month(outdate) = :li_month; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询扣费单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的扣费单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 23 cnt = 0 SELECT count(*) INTO :cnt FROM u_gz_award_punish WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND flag = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询奖罚单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的奖罚单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 24 cnt = 0 SELECT count(*) INTO :cnt FROM u_kq_cwork WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND flag = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询考勤单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的考勤单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 25 cnt = 0 SELECT count(*) INTO :cnt FROM u_test WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND secAuditingflag = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询绩效考核单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的绩效考核单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE 26 cnt = 0 SELECT count(*) INTO :cnt FROM u_consume_list WHERE wagemth = :arg_wagemth AND wageid = :arg_wageid AND wageflag = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询消费单明细失败!原因:'+sqlca.SQLErrText GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '该月的消费单没有审核,不能更改该项目工资金额!' GOTO ext END IF CASE ELSE END CHOOSE ext: RETURN rslt end function on w_workprice_change.create int iCurrent call super::create this.st_2=create st_2 this.ddlb_status=create ddlb_status iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.st_2 this.Control[iCurrent+2]=this.ddlb_status end on on w_workprice_change.destroy call super::destroy destroy(this.st_2) destroy(this.ddlb_status) end on event open;call super::open;uc_column_int = 5 child_column_int = 15 uo_workprice = create uo_workprice_change end event event close;call super::close;destroy uo_workprice end event event refresh_interface;call super::refresh_interface;wf_flagstatus_rf() ddlb_status.enabled=not dw_edit_mode 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_flag) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) end if f_title_change(dw_uc) wf_flagstatus_rf() this.triggerevent('retrieve_childdw') cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled cb_func.enabled=cb_func_enabled end event event ue_usual_query_filt;call super::ue_usual_query_filt;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="(billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(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 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_workprice_change.billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_workprice_change.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 ue_viewprint;call super::ue_viewprint; IF NOT f_power_ind(1346) 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_prdpf_change_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE // IF NOT f_power_ind(1346) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN // END IF LS_PRMSG.obj_dwNAME = 'dw_rp_workprice_change_print' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = this.title 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) end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid row = dw_pageretr.GetRow() dw_child.setsort('u_workprice_changemx_printid A') dw_child.sort() IF row > 0 THEN uc_relid = dw_pageretr.Object.billid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(uc_relid) dw_child.SetRedraw (TRUE) ELSE dw_child.Reset() END IF end event event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row String ls_sonmtrlname child_row = dw_child.GetRow() Decimal i_newprice long uc_row uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择单据') RETURN END IF 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 = TRUE //多选 s_tranf8.b_long = 0 //选产品 s_tranf8.f_long = -1 Long ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.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 //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_workprice_changemx_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.u_workprice_changemx_editflag[child_row] = 1 dw_child.Object.u_workprice_changemx_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname [child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode [child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype [child_row] = s_inscust.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode [child_row] = s_inscust.zxmtrlmode[ls_j] END IF NEXT dw_child.SetFocus() dw_child.SetColumn ('u_mtrldef_mtrlcode') END IF end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(1346) 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_prdpf_change_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE // IF NOT f_power_ind(1346) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN // END IF LS_PRMSG.obj_dwNAME = 'dw_rp_workprice_change_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 = 0 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() end event event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1345) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '',LS_STR Long uc_row s_inputbox S_SREU uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF S_SREU.Title = '请输入要补充到备注的内容' S_SREU.OLD_TEXT = '' OpenWithParm(w_inputbox,S_SREU) LS_STR = Message.StringParm IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN IF uo_workprice.add_dscrp(dw_pageretr.Object.billid[uc_row],LS_STR,arg_msg,true) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) END IF end event event ue_f9;call super::ue_f9;//用于选择明细内容,被F10[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row child_row = dw_child.GetRow() IF NOT IsValid(w_sc_workprocedure_response) THEN 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 = FALSE Long chc = 1,ls_j IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_workprice_changemx_procode[dw_child.GetRow()]) 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 //正常返回值则可以取以下值 dw_child.Object.u_workprice_changemx_procode[child_row] = S_INSCUST.wrkprocode[ls_j] dw_child.Object.u_workprice_changemx_proname[child_row] = S_INSCUST.wrkproname[ls_j] END IF NEXT dw_child.SetColumn("u_workprice_changemx_workqty") dw_child.SetFocus() END IF end event event ue_f7;call super::ue_f7;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row,uc_row child_row = dw_child.GetRow() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择单据') RETURN END IF IF NOT IsValid(w_workprice_pro_page_ch) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 Long chc = 1,ls_j dw_child.AcceptText() OpenWithParm(w_workprice_pro_page_ch,s_ch_tran) s_workpricetable_array S_INSCUST S_INSCUST = Message.PowerObjectParm FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_workprice_changemx_mtrlid[child_row] > 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow(0) END IF dw_child.Object.u_workprice_changemx_editflag[child_row] = 0 dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.u_workprice_changemx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.object.u_workprice_changemx_workqty_ori[child_row] = s_inscust.workqty[ls_j] dw_child.object.u_workprice_changemx_workqty[child_row] = s_inscust.workqty[ls_j] dw_child.object.u_workprice_changemx_workprice_ori[child_row] = s_inscust.workprice[ls_j] dw_child.object.u_workprice_changemx_workprice[child_row] = s_inscust.workprice[ls_j] dw_child.object.u_workprice_changemx_wrkgrpid[child_row] = s_inscust.wrkgrpid[ls_j] dw_child.object.u_workprice_changemx_ifstandard[child_row] = s_inscust.ifstandard[ls_j] dw_child.object.u_workprice_changemx_lsxtype[child_row] = s_inscust.lsxtype[ls_j] dw_child.object.u_workprice_changemx_lastflag[child_row] = s_inscust.lastflag[ls_j] dw_child.object.u_workprice_changemx_workhour[child_row] = s_inscust.workhour[ls_j] dw_child.object.u_workprice_changemx_worklevel[child_row] = s_inscust.worklevel[ls_j] dw_child.object.u_workprice_changemx_techlevel[child_row] = s_inscust.techlevel[ls_j] dw_child.object.u_workprice_changemx_dscrp[child_row] = s_inscust.dscrp[ls_j] dw_child.object.u_workprice_changemx_procode[child_row] = s_inscust.procode[ls_j] dw_child.object.u_workprice_changemx_proname[child_row] = s_inscust.proname[ls_j] dw_child.object.u_workprice_changemx_status[child_row] = s_inscust.status[ls_j] END IF NEXT dw_child.SetFocus() END IF end event event ue_f10;call super::ue_f10; //long ll_row,ll_mtrlid //string ls_pfcode // //dw_child.accepttext() // //ll_row = dw_child.getrow() // //if ll_row <= 0 then return // //ll_mtrlid = dw_child.object.u_prdpf_changemx_mtrlid[ll_row] // //if ll_mtrlid <= 0 then // messagebox('提示','请先选择上级物料') // return //end if // //openwithparm(w_mtrl_pf_ch,ll_mtrlid) //ls_pfcode = message.stringparm // //if ls_pfcode <> '' then dw_child.object.u_prdpf_changemx_pfcode[ll_row] = ls_pfcode // end event event ue_f11;call super::ue_f11; //Long ll_row,ll_mtrlid //String ls_pfcode //Long uc_row // //dw_uc.AcceptText() //dw_child.AcceptText() // //uc_row = dw_uc.GetRow() //IF uc_row <= 0 THEN RETURN // //ll_row = dw_child.GetRow() //IF ll_row <= 0 THEN RETURN // //ll_mtrlid = dw_uc.Object.u_prdpf_change_sonmtrlid[ll_row] // //IF ll_mtrlid <= 0 THEN // MessageBox('提示','请先选择物料') // dw_uc.SetFocus() // dw_uc.SetColumn("u_mtrldef_mtrlcode") // RETURN //END IF // //OpenWithParm(w_mtrl_pf_ch,ll_mtrlid) //ls_pfcode = Message.StringParm // //IF ls_pfcode <> '' THEN dw_child.Object.u_prdpf_changemx_sonpfcode[ll_row] = ls_pfcode // // end event event ue_f12;call super::ue_f12; //IF NOT dw_edit_mode THEN RETURN //Long uc_row,ll_mtrlid,child_row //string ls_status // //child_row = dw_child.getrow() //if child_row <= 0 then // MessageBox('系统提示','请选择明细') // RETURN //END IF // //dw_child.AcceptText() //ll_mtrlid = dw_child.Object.u_workprice_changemx_mtrlid[child_row] // //if ll_mtrlid <= 0 then // messagebox('系统提示','请选择物料') // return //end if // //IF NOT IsValid(w_configure_ch_zj) THEN // s_edit_index_tran s_ch_tran // s_ch_tran.c_long = ll_mtrlid // // OpenWithParm(w_configure_ch_zj,s_ch_tran) //调用 // // ls_status = Message.StringParm //接受返回结构 // dw_child.SetRedraw(FALSE) // IF len(trim(ls_status)) > 0 THEN // if ls_status = '[清空配置]' then ls_status = '' // dw_child.Object.u_workprice_changemx_status[child_row] = ls_status // dw_child.SetFocus() // dw_child.SetColumn('u_workprice_changemx_workqty') // END IF // dw_child.SetRedraw(TRUE) //END IF // end event event ue_f6;call super::ue_f6;IF dw_edit_mode THEN RETURN Long ll_row ll_row = dw_child.GetRow() IF ll_row <= 0 THEN RETURN Long ll_mtrlid String ls_procode ll_mtrlid = dw_child.Object.u_workprice_changemx_mtrlid[ll_row] ls_procode = dw_child.Object.u_workprice_changemx_procode[ll_row] IF ll_mtrlid = 0 OR ls_procode = '' THEN RETURN s_edit_index_tran s_tran_his //传递参数使用 s_tran_his.b_long = ll_mtrlid s_tran_his.b_string = ls_procode OpenWithParm(w_workprice_change_his,s_tran_his) end event type cb_func from w_publ_1ton_share_detail`cb_func within w_workprice_change end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_workprice_change integer x = 2368 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_workprice_change integer x = 229 integer width = 553 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_workprice_change integer x = 2821 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_workprice_change integer x = 2519 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_workprice_change integer x = 1984 integer width = 1609 integer height = 924 string dataobject = "dw_workprice_change_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged; wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_workprice_change integer x = 0 alignment alignment = right! end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_workprice_change integer x = 2971 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_workprice_change integer width = 1979 integer height = 920 string dataobject = "dw_workprice_change_edit" end type event dw_uc::buttonclicked;call super::buttonclicked;if row > 0 and dw_edit_mode then if dwo.name = 'b_pro' then parent.triggerevent('ue_f9') end if end if end event event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode String ls_mtrlsectype,ls_zxmtrlmode Long ll_mtrlid,ll_ori_mtrlid String ls_procode,ls_procode_f,ls_proname_f string ls_procode_ori IF Key = KeyDownArrow! THEN RETURN 1 dw_uc.AcceptText() IF dw_uc.GetRow() <= 0 THEN RETURN IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN dw_child.ScrollToRow(1) dw_child.SetFocus() dw_child.SetColumn ('u_workprice_changemx_editflag') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'procode' AND Key = KeyEnter! THEN // ls_procode = dw_uc.Object.procode[dw_uc.GetRow()] // SELECT code,name // INTO :ls_procode_f,:ls_proname_f // FROM u_sc_workprocedure // Where code Like :ls_procode; // IF sqlca.SQLCode <> 0 THEN // // ELSE // // IF ll_ori_mtrlid <> ll_mtrlid AND ll_ori_mtrlid <> 0 THEN // IF MessageBox('询问','物料发生改变,明细列表将被清空,是否继续?',Question!,YesNo! ) = 2 THEN RETURN // dw_child.Reset() // dw_child.InsertRow(0) // END IF // dw_uc.Object.procode[dw_uc.GetRow()] = ll_mtrlid // dw_uc.Object.proname[dw_uc.GetRow()] = ls_mtrlcode // // END IF ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF end event event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN IF dwo.Name = 'procode' or & dwo.name = 'proname' THEN PARENT.TriggerEvent('ue_f9') END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_workprice_change integer x = 352 integer y = 396 integer width = 704 integer height = 400 long backcolor = 134217739 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_workprice_change integer y = 1220 integer width = 3589 integer height = 952 string dataobject = "dw_workprice_changemx_edit" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') Long child_row String ls_procode,ls_proname String ls_mtrlcode,ls_mtrlname,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode Long ll_mtrlid IF dw_edit_mode THEN IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() IF child_row > 0 THEN IF dw_child.Object.u_workprice_changemx_editflag[child_row] = 1 THEN ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] SELECT mtrlid, mtrlname, mtrlmode, mtrlsectype, zxmtrlmode INTO :ll_mtrlid, :ls_mtrlname, :ls_mtrlmode, :ls_mtrlsectype, :ls_zxmtrlmode FROM u_mtrldef Where mtrlcode = :ls_mtrlcode; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f8') ELSE dw_child.Object.u_workprice_changemx_mtrlid[child_row] = ll_mtrlid dw_child.Object.u_mtrldef_mtrlname [child_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode [child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_mtrlsectype [child_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_zxmtrlmode [child_row] = ls_zxmtrlmode END IF END IF END IF ELSEIF THIS.GetColumnName() = 'u_workprice_changemx_procode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() IF child_row > 0 THEN IF dw_child.Object.u_workprice_changemx_editflag[child_row] = 1 THEN ls_procode = dw_child.Object.u_workprice_changemx_procode[child_row] SELECT u_sc_workprocedure.name INTO :ls_proname FROM u_sc_workprocedure Where ( u_sc_workprocedure.code = :ls_procode); IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f9') ELSE dw_child.Object.u_workprice_changemx_proname[child_row] = ls_proname END IF END IF END IF ELSEIF THIS.GetColumnName() = 'u_workprice_changemx_dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event dw_child::doubleclicked;dw_child.AcceptText() IF dw_edit_mode AND row > 0 THEN IF dw_child.Object.u_workprice_changemx_editflag[row] = 0 THEN PARENT.TriggerEvent('ue_f7') ELSE IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN PARENT.TriggerEvent('ue_f8') ELSEIF dw_child.GetColumnName( ) = 'u_workprice_changemx_procode' OR dw_child.GetColumnName( ) = 'u_workprice_changemx_proname' THEN PARENT.TriggerEvent('ue_f9') ELSEIF dw_child.GetColumnName( ) = 'u_workprice_changemx_status' THEN PARENT.TriggerEvent('ue_f12') END IF END IF ELSE PARENT.TriggerEvent('ue_f6') END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_workprice_change integer x = 1723 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_workprice_change integer x = 1531 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_workprice_change end type event cb_add::clicked;IF NOT f_power_ind(1342) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row,i,count = 0 s_workprice_change arg_s_work IF dw_edit_mode THEN 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('系统提示','不合理发生时间!') dw_uc.SetFocus() dw_uc.SetColumn("billdate") RETURN END IF IF dw_uc.Object.rep[uc_row] = '' THEN MessageBox('系统提示','请填写经手人!') dw_uc.SetFocus() dw_uc.SetColumn("rep") RETURN END IF arg_s_work.billid = dw_uc.Object.billid[uc_row] arg_s_work.billdate = dw_uc.Object.billdate[uc_row] arg_s_work.rep = dw_uc.Object.rep[uc_row] arg_s_work.dscrp = dw_uc.Object.dscrp[uc_row] arg_s_work.relcode = dw_uc.Object.relcode[uc_row] FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.u_workprice_changemx_mtrlid[i] > 0 AND & dw_child.Object.u_workprice_changemx_workqty[i] >= 0 THEN IF dw_child.Object.u_workprice_changemx_procode[i] = '' OR & dw_child.Object.u_workprice_changemx_proname[i] = '' THEN MessageBox('系统提示','工序号或工序名称不能为空,第'+String(i)+'行') RETURN END IF count++ arg_s_work.arg_s_mx[count].printid = count arg_s_work.arg_s_mx[count].mtrlid = dw_child.Object.u_workprice_changemx_mtrlid[i] arg_s_work.arg_s_mx[count].editflag = dw_child.Object.u_workprice_changemx_editflag[i] arg_s_work.arg_s_mx[count].workqty_ori = dw_child.Object.u_workprice_changemx_workqty_ori[i] arg_s_work.arg_s_mx[count].workqty = dw_child.Object.u_workprice_changemx_workqty[i] arg_s_work.arg_s_mx[count].workprice_ori = dw_child.Object.u_workprice_changemx_workprice_ori[i] arg_s_work.arg_s_mx[count].workprice = dw_child.Object.u_workprice_changemx_workprice[i] arg_s_work.arg_s_mx[count].wrkgrpid = dw_child.Object.u_workprice_changemx_wrkgrpid[i] arg_s_work.arg_s_mx[count].ifstandard = dw_child.Object.u_workprice_changemx_ifstandard[i] arg_s_work.arg_s_mx[count].lsxtype = dw_child.Object.u_workprice_changemx_lsxtype[i] arg_s_work.arg_s_mx[count].lastflag = dw_child.Object.u_workprice_changemx_lastflag[i] arg_s_work.arg_s_mx[count].workhour = dw_child.Object.u_workprice_changemx_workhour[i] arg_s_work.arg_s_mx[count].dscrp = dw_child.Object.u_workprice_changemx_dscrp[i] arg_s_work.arg_s_mx[count].worklevel = dw_child.Object.u_workprice_changemx_worklevel[i] arg_s_work.arg_s_mx[count].techlevel = dw_child.Object.u_workprice_changemx_techlevel[i] arg_s_work.arg_s_mx[count].procode = dw_child.Object.u_workprice_changemx_procode[i] arg_s_work.arg_s_mx[count].proname = dw_child.Object.u_workprice_changemx_proname[i] arg_s_work.arg_s_mx[count].status = dw_child.Object.u_workprice_changemx_status[i] END IF NEXT IF uo_workprice.Save(arg_s_work,publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF MessageBox(publ_operator,'保存操作成功!') long ll_row ll_row = dw_pageretr.getrow() dw_pageretr.SelectRow(0,FALSE) dw_pageretr.SelectRow(ll_row,TRUE) wf_refresh_curuc(uo_workprice.uo_billid) //刷新uc END IF CALL SUPER::Clicked IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") dw_uc.SetRedraw(FALSE) dw_uc.SetRedraw(TRUE) 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_workprice_change end type event cb_edit::clicked;IF NOT f_power_ind(1342) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_edit_mode THEN IF uo_workprice.updatebegin(dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) //刷新uc PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_workprice_change end type event cb_delet::clicked;IF NOT f_power_ind(1343) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_workprice.del(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_workprice_change integer x = 1029 end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=增加备注~tEvent=ue_addzy" 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_workprice_change end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1344) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据吗(审核后单据将归档只读)?",Question!,YesNo! ) = 2 THEN RETURN ll_billid = dw_pageretr.Object.billid[pagerert_row] IF uo_workprice.audit(ll_billid,publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row]) END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_workprice_change integer x = 1280 end type event cb_xm::clicked;is_mx_menustr = '' IF dw_edit_mode THEN is_mx_menustr = is_mx_menustr + "|" + "Text=批设置类型~tEvent=ue_p_editflag" is_mx_menustr = is_mx_menustr + "|" + "Text=-" is_mx_menustr = is_mx_menustr + "|" + "Text=批设置数量~tEvent=ue_p_workqty" is_mx_menustr = is_mx_menustr + "|" + "Text=批设置新单件工价~tEvent=ue_p_workprice" is_mx_menustr = is_mx_menustr + "|" + "Text=-" is_mx_menustr = is_mx_menustr + "|" + "Text=批设置工组~tEvent=ue_p_wrkgrpid" is_mx_menustr = is_mx_menustr + "|" + "Text=批设置工序~tEvent=ue_p_pro" // is_mx_menustr = is_mx_menustr + "|" + "Text=-" // is_mx_menustr = is_mx_menustr + "|" + "Text=批设置打印流水表类型~tEvent=ue_p_lsxtype" // is_mx_menustr = is_mx_menustr + "|" + "Text=批设置工时~tEvent=ue_p_workhour" is_mx_menustr = is_mx_menustr + "|" + "Text=-" is_mx_menustr = is_mx_menustr + "|" + "Text=按比例设置新单件工价~tEvent=ue_p_rate_price" END IF CALL Super::Clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_workprice_change end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_workprice_change integer x = 1915 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_workprice_change integer x = 2217 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_workprice_change boolean visible = false integer x = 3209 boolean enabled = false end type type p_msg from w_publ_1ton_share_detail`p_msg within w_workprice_change end type type p_help from w_publ_1ton_share_detail`p_help within w_workprice_change end type type p_encl from w_publ_1ton_share_detail`p_encl within w_workprice_change end type type p_other from w_publ_1ton_share_detail`p_other within w_workprice_change end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_workprice_change end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_workprice_change end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_workprice_change end type type r_bar from w_publ_1ton_share_detail`r_bar within w_workprice_change integer x = 3310 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_workprice_change end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_workprice_change end type type st_2 from statictext within w_workprice_change integer x = 805 integer y = 204 integer width = 178 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 = right! boolean focusrectangle = false end type type ddlb_status from dropdownlistbox within w_workprice_change integer x = 1019 integer y = 188 integer width = 480 integer height = 300 integer taborder = 30 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