$PBExportHeader$w_cusprice_change.srw forward global type w_cusprice_change from w_publ_1ton_share_detail end type type st_2 from statictext within w_cusprice_change end type type ddlb_status from dropdownlistbox within w_cusprice_change end type end forward global type w_cusprice_change from w_publ_1ton_share_detail integer width = 4521 integer height = 2588 string title = "价格表调价单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_p_lmsaleprice ( ) event ue_p_pcode ( ) event ue_p_price ( ) event ue_p_price_com ( ) event ue_p_status ( ) event ue_p_woodcode ( ) st_2 st_2 ddlb_status ddlb_status end type global w_cusprice_change w_cusprice_change type variables uo_cusprice_change uo_price long cur_flag= -1 int ins_chtype = 0 end variables forward prototypes public function integer wf_refresh_curuc (long arg_billid) public function integer wf_flagstatus_rf () end prototypes event insert_childrow();Long li_row li_row = dw_child.InsertRow(0) dw_child.ScrollToRow(li_row) dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_p_lmsaleprice();IF Not dw_edit_mode THEN MessageBox('系统提示','非编辑状态下不能使用') RETURN END IF IF MessageBox(publ_operator,'是否要确定要按默认售价批设定单价', Exclamation!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i Long ll_mtrlid Decimal lde_lmsaleprice dw_child.AcceptText() dw_child.SetRedraw(False) FOR ll_i = 1 To dw_child.RowCount() ll_mtrlid = dw_child.Object.u_cusprice_changemx_mtrlid[ll_i] SELECT lmsaleprice INTO :lde_lmsaleprice FROM u_mtrldef Where mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN lde_lmsaleprice = 0 END IF dw_child.Object.u_cusprice_changemx_price[ll_i] = lde_lmsaleprice NEXT dw_child.SetRedraw(True) end event event ue_p_pcode();IF NOT dw_edit_mode THEN MessageBox('系统提示','非编辑状态下不能使用') RETURN END IF IF MessageBox(publ_operator,'是否要确定要批设定'+ sys_option_change_pcode+'?', Exclamation!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_cusprice_changemx_pcode[ll_i] = dw_child.Object.u_cusprice_changemx_pcode[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_price();IF NOT dw_edit_mode THEN MessageBox('系统提示','非编辑状态下不能使用') RETURN END IF IF MessageBox(publ_operator,'是否要确定要批设定单价', Exclamation!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_cusprice_changemx_price[ll_i] = dw_child.Object.u_cusprice_changemx_price[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,'是否要确定要批设定'+ sys_option_change_status+'?', Exclamation!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_cusprice_changemx_status[ll_i] = dw_child.Object.u_cusprice_changemx_status[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_woodcode();IF NOT dw_edit_mode THEN MessageBox('系统提示','非编辑状态下不能使用') RETURN END IF IF MessageBox(publ_operator,'是否要确定要批设定'+ sys_option_change_woodcode+'?', Exclamation!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_cusprice_changemx_woodcode[ll_i] = dw_child.Object.u_cusprice_changemx_woodcode[1] NEXT dw_child.SetRedraw(TRUE) end event public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 String billcode DateTime billdate String dscrp Long pricelistid String listname Int flag String relcode String inrep DateTime Auditdate ,Opdate ,moddate String Auditemp ,Opemp ,modemp SELECT u_cusprice_change.relcode, u_cusprice_change.inrep, u_cusprice_change.billcode, u_cusprice_change.billdate, u_cusprice_change.dscrp, u_cusprice_change.flag, u_cusprice_change.Auditingrep, u_cusprice_change.Auditingdate, u_cusprice_change.Opdate, u_cusprice_change.Opemp, u_cusprice_change.moddate, u_cusprice_change.modemp, u_sale_price_list.listname, u_cusprice_change.pricelistid INTO :relcode, :inrep, :billcode, :billdate, :dscrp, :flag, :Auditemp, :Auditdate, :Opdate, :Opemp, :moddate, :modemp, :listname, :pricelistid FROM u_cusprice_change Inner JOIN u_sale_price_list ON u_cusprice_change.pricelistid = u_sale_price_list.pricelistid Where u_cusprice_change.billid = :arg_billid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询操作失败(错误单据唯一码)") RETURN 0 END IF dw_pageretr.SetRedraw(FALSE) dw_pageretr.Object.u_cusprice_change_billid[uc_row] = arg_billid dw_pageretr.Object.u_cusprice_change_Billcode[uc_row] = billcode dw_pageretr.Object.u_cusprice_change_billdate[uc_row] = billdate dw_pageretr.Object.u_cusprice_change_dscrp[uc_row] = dscrp dw_pageretr.Object.u_cusprice_change_flag[uc_row] = flag dw_pageretr.Object.u_cusprice_change_Auditingrep[uc_row] = Auditemp dw_pageretr.Object.u_cusprice_change_Auditingdate[uc_row] = Auditdate dw_pageretr.Object.u_cusprice_change_Opdate[uc_row] = Opdate dw_pageretr.Object.u_cusprice_change_Opemp[uc_row] = Opemp dw_pageretr.Object.u_cusprice_change_moddate[uc_row] = moddate dw_pageretr.Object.u_cusprice_change_modemp[uc_row] = modemp dw_pageretr.Object.u_sale_price_list_listname[uc_row] = listname dw_pageretr.Object.u_cusprice_change_pricelistid[uc_row] = pricelistid dw_pageretr.Object.u_cusprice_change_relcode[uc_row] = relcode dw_pageretr.Object.u_cusprice_change_inrep[uc_row] = inrep 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_flagstatus_rf ();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.u_cusprice_change_flag[pagerert_row] = 0 THEN cb_auditing.Enabled = TRUE ELSEIF dw_pageretr.Object.u_cusprice_change_flag[pagerert_row] = 1 THEN cb_auditing.Enabled = FALSE END IF END IF ext: RETURN 0 end function on w_cusprice_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_cusprice_change.destroy call super::destroy destroy(this.st_2) destroy(this.ddlb_status) end on event open;call super::open;uc_column_int = 6 child_column_int = 7 uo_price = CREATE uo_cusprice_change end event event close;call super::close;DESTROY uo_price end event event refresh_interface;call super::refresh_interface;ddlb_status.enabled = not dw_edit_mode end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid row = dw_pageretr.GetRow() IF row > 0 THEN uc_relid = dw_pageretr.Object.u_cusprice_change_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_addzy;call super::ue_addzy;IF dw_edit_mode THEN MessageBox('系统提示',"编辑状态下不可以使用!") RETURN END IF IF NOT f_power_ind(1925,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) 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('系统提示','请选定当前目标单据!') 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_price.add_dscrp(dw_pageretr.Object.u_cusprice_change_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_cusprice_change_billid[uc_row]) END IF 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 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_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN Long child_row Long uc_row long ll_pricelistid Decimal ld_lastprice String ls_status,ls_woodcode,ls_pcode uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请先选择单据') RETURN END IF ll_pricelistid = dw_uc.object.u_cusprice_change_pricelistid[uc_row] if ll_pricelistid <= 0 then messagebox('系统提示','请先选择价格表') return end if child_row = dw_child.GetRow() dw_child.AcceptText() IF NOT IsValid(w_sale_price_ch) 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.c_long = ll_pricelistid Long ls_j IF child_row > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[child_row]) OpenWithParm(w_sale_price_ch,s_tranf8) //调用 s_sale_price_arr 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_cusprice_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_cusprice_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_unit[child_row]= s_inscust.unit[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[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_cusprice_changemx_status[child_row] = s_inscust.status[ls_j] dw_child.Object.u_cusprice_changemx_woodcode[child_row] = s_inscust.woodcode[ls_j] dw_child.Object.u_cusprice_changemx_pcode[child_row] = s_inscust.pcode[ls_j] dw_child.Object.u_mtrldef_lmsaleprice[child_row] = s_inscust.lmsaleprice[ls_j] dw_child.Object.u_cusprice_changemx_lastprice[child_row]= s_inscust.price[ls_j] dw_child.SetColumn('u_cusprice_changemx_price') END IF NEXT dw_child.SetFocus() END IF end event event ue_f8;call super::ue_f8;IF NOT dw_edit_mode THEN RETURN Long child_row Long uc_row long ll_pricelistid Decimal ld_lastprice String ls_status,ls_woodcode,ls_pcode uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请先选择单据') RETURN END IF ll_pricelistid = dw_uc.object.u_cusprice_change_pricelistid[uc_row] if ll_pricelistid <= 0 then messagebox('系统提示','请先选择价格表') return end if child_row = dw_child.GetRow() dw_child.AcceptText() 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.c_long = -1 s_tranf8.f_long = -1 Long ls_j IF child_row > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[child_row]) 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_cusprice_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_cusprice_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_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_lmsaleprice[child_row] = s_inscust.lmsaleprice[ls_j] dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j] dw_child.Object.u_mtrldef_statustype[child_row] = s_inscust.statustype[ls_j] dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j] dw_child.Object.u_mtrldef_woodcodetype[child_row] = s_inscust.woodcodetype[ls_j] dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j] dw_child.Object.u_mtrldef_pcodetype[child_row] = s_inscust.pcodetype[ls_j] If s_inscust.statusflag[ls_j] = 4 Then dw_child.Object.u_cusprice_changemx_status[child_row] = s_inscust.status_config[ls_j] End If If s_inscust.woodcodeflag[ls_j] = 4 Then dw_child.Object.u_cusprice_changemx_woodcode[child_row] = s_inscust.woodcode_config[ls_j] End If If s_inscust.pcodeflag[ls_j] = 4 Then dw_child.Object.u_cusprice_changemx_pcode[child_row] = s_inscust.pcode_config[ls_j] End If ls_status = dw_child.Object.u_cusprice_changemx_status[child_row] ls_woodcode = dw_child.Object.u_cusprice_changemx_woodcode[child_row] ls_pcode = dw_child.Object.u_cusprice_changemx_pcode[child_row] //取上次价 SELECT u_sale_price_mx.price INTO :ld_lastprice FROM u_sale_price_mx WHERE u_sale_price_mx.pricelistid = :ll_pricelistid AND u_sale_price_mx.mtrlid = :s_inscust.mtrlid[ls_j] AND u_sale_price_mx.status = :ls_status AND u_sale_price_mx.pcode = :ls_pcode AND u_sale_price_mx.woodcode = :ls_woodcode; IF sqlca.SQLCode <> 0 THEN ld_lastprice = 0 END IF dw_child.Object.u_cusprice_changemx_lastprice[child_row] = ld_lastprice dw_child.SetColumn('u_cusprice_changemx_price') END IF NEXT dw_child.SetFocus() END IF end event event ue_f9;call super::ue_f9; IF NOT dw_edit_mode THEN RETURN Long uc_row uc_row = dw_uc.GetRow() IF uc_row = 0 THEN MessageBox('系统提示','请选定单据!') RETURN END IF dw_uc.AcceptText() IF NOT IsValid(w_sale_price_list_ch) THEN Openwithparm(w_sale_price_list_ch,-1) //调用 s_pricelist_ch S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.pricelistid > 0 THEN //正常返回值则可以取以下值 dw_uc.SetRedraw(FALSE) dw_uc.Object.u_cusprice_change_pricelistid[uc_row] = S_INSCUST.pricelistid dw_uc.Object.u_sale_price_list_listname[uc_row] = S_INSCUST.pricelistname dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("u_cusprice_change_inrep") END IF 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+'( u_spt_price_change_billcode like "%'+trim(sle_usual_query.text)+'%" )' else obj_expr=obj_expr+'( u_spt_price_change_billcode like "'+trim(sle_usual_query.text)+'" )' end if end if dw_pageretr.setfilter(obj_expr) dw_pageretr.setredraw(false) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) end if dw_pageretr.setredraw(true) end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart= ls_querystrpart + "(u_spt_price_change.billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart=ls_querystrpart + "(u_spt_price_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_print;call super::ue_print;IF NOT f_power_ind(1926) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF //--直接打印 uo_print_preview uo_print IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG if dw_pageretr.rowcount()=0 then Messagebox('提示','没有可打印的单据!',information!,ok!) return end if LS_PRMSG.retr_pram_falg=2 IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_cusprice_change' END IF LS_PRMSG.TAG_TEXT='调价单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG=0 LS_PRMSG.retr_pramnmb=dw_pageretr.object.u_cusprice_change_billid[dw_pageretr.getrow()] uo_print.FACT_PRINT_MSG=LS_PRMSG string arg_msg if uo_print.uof_print_begin(arg_msg)=0 then messagebox("错误",arg_msg,stopsign!,ok!) return end if uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm String ls_code ls_code = dw_pageretr.Object.u_cusprice_change_billcode[dw_pageretr.getrow()] f_update_printnum2(0,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(1926,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) 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 li_auditprint = 1 THEN IF dw_pageretr.Object.u_cusprice_change_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF IF ls_newname <> '' THEN LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_cusprice_change' 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 = 2 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_cusprice_change_billid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() OpenWithParm(w_publ_preview,LS_PRMSG) //**更新打印次料 String arg_msg printnum = Message.DoubleParm Long ll_scid String ls_code ls_code = dw_pageretr.Object.u_cusprice_change_billcode[dw_pageretr.GetRow()] f_update_printnum2(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event type cb_func from w_publ_1ton_share_detail`cb_func within w_cusprice_change end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_cusprice_change integer x = 2368 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_cusprice_change end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_cusprice_change integer x = 2821 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_cusprice_change integer x = 2519 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_cusprice_change string dataobject = "dw_cusprice_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_cusprice_change end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_cusprice_change integer x = 2971 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_cusprice_change string dataobject = "dw_cusprice_change_edit" end type event dw_uc::buttonclicked;call super::buttonclicked;IF NOT dw_edit_mode THEN RETURN IF row <= 0 THEN RETURN PARENT.TriggerEvent('ue_f9') end event event dw_uc::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 IF dw_edit_mode THEN dw_uc.AcceptText() IF dw_uc.GetColumnName ( ) = 'u_cusprice_change_dscrp' AND Key = keyenter! THEN dw_child.SetFocus() dw_child.ScrollToRow(dw_child.RowCount()) dw_child.SetColumn ('u_mtrldef_mtrlcode') RETURN 1 ELSE IF Key = keyenter! OR Key = KeyDownArrow! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 ELSEIF Key = keyuparrow! THEN keybd_event ( 16, 0, 0 , 0 ) keybd_event ( 9, 0, 0 , 0 ) keybd_event ( 9, 0, 2, 0 ) keybd_event ( 16, 0, 2, 0 ) RETURN 1 END IF END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_cusprice_change end type type dw_child from w_publ_1ton_share_detail`dw_child within w_cusprice_change string dataobject = "dw_cusprice_changemx_edit" end type event dw_child::doubleclicked;IF dw_edit_mode THEN IF ins_chtype = 0 THEN PARENT.TriggerEvent('ue_f8') ELSE PARENT.TriggerEvent('ue_f7') END IF END IF end event event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_mtrlmode String ls_mtrlsectype,ls_zxmtrlmode,ls_unit,ls_mtrltype Long ll_mtrlid,li_row Int li_statusflag,li_woodcodeflag,li_pcodeflag Long ll_statustype,ll_woodcodetype,ll_pcodetype Decimal ld_lastprice String ls_status_config,ls_woodcode_config,ls_pcode_config s_mtrldef_array arg_s_mtrldef IF dw_edit_mode THEN dw_child.AcceptText() li_row = dw_child.GetRow() IF KeyDown(KeyDownArrow!) THEN IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 END IF ELSE IF dw_child.GetColumnName ( ) = 'u_mtrldef_mtrlcode' AND Key = keyenter! THEN IF ins_chtype = 1 THEN PARENT.TriggerEvent('ue_f7') RETURN 1 END IF ls_mtrlcode = Trim(dw_child.Object.u_mtrldef_mtrlcode[li_row]) IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE ll_mtrlid = arg_s_mtrldef.mtrlid[1] ls_mtrlcode = arg_s_mtrldef.mtrlcode[1] ls_mtrlname = arg_s_mtrldef.mtrlname[1] ls_unit = arg_s_mtrldef.unit[1] ls_mtrlmode = arg_s_mtrldef.mtrlmode[1] ls_mtrltype = arg_s_mtrldef.mtrltype[1] ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] li_statusflag = arg_s_mtrldef.statusflag[1] ll_statustype = arg_s_mtrldef.statustype[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] ll_woodcodetype = arg_s_mtrldef.woodcodetype[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] ll_pcodetype = arg_s_mtrldef.pcodetype[1] ls_status_config = arg_s_mtrldef.status_config[1] ls_woodcode_config = arg_s_mtrldef.woodcode_config[1] ls_pcode_config = arg_s_mtrldef.pcode_config[1] END IF dw_child.Object.u_cusprice_changemx_mtrlid[li_row] = ll_mtrlid dw_child.Object.u_mtrldef_mtrlname[li_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode[li_row] = ls_mtrlmode dw_child.Object.u_mtrldef_unit[li_row] = ls_unit dw_child.Object.u_mtrldef_mtrltype[li_row] = ls_mtrltype dw_child.Object.u_mtrldef_mtrlsectype[li_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_zxmtrlmode[li_row] = ls_zxmtrlmode dw_child.Object.u_mtrldef_statusflag[li_row] = li_statusflag dw_child.Object.u_mtrldef_statustype[li_row] = ll_statustype dw_child.Object.u_mtrldef_woodcodeflag[li_row] = li_woodcodeflag dw_child.Object.u_mtrldef_woodcodetype[li_row] = ll_woodcodetype dw_child.Object.u_mtrldef_pcodeflag[li_row] = li_pcodeflag dw_child.Object.u_mtrldef_pcodetype[li_row] =ll_pcodetype If li_statusflag = 4 Then dw_child.Object.u_cusprice_changemx_status[li_row] = ls_status_config End If If li_woodcodeflag = 4 Then dw_child.Object.u_cusprice_changemx_woodcode[li_row] = ls_woodcode_config End If If li_pcodeflag = 4 Then dw_child.Object.u_cusprice_changemx_pcode[li_row] = ls_pcode_config End If // //取上次价 // SELECT u_sale_price_mx.price // INTO :ld_lastprice // FROM u_sale_price_mx // WHERE u_sale_price_mx.pricelistid = :ll_pricelistid // AND u_sale_price_mx.mtrlid = :s_inscust.mtrlid[ls_j] // AND u_sale_price_mx.status = :ls_status // AND u_sale_price_mx.pcode = :ls_pcode // AND u_sale_price_mx.woodcode = :ls_woodcode; // IF sqlca.SQLCode <> 0 THEN // ld_lastprice = 0 // END IF // // dw_child.Object.u_cusprice_changemx_lastprice[child_row] = ld_lastprice // // dw_child.SetRedraw(TRUE) dw_child.SetColumn("u_cusprice_changemx_price") RETURN 1 ELSEIF dw_child.GetColumnName( ) = 'u_cusprice_changemx_dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = keyenter! OR Key = KeyDownArrow! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 ELSEIF Key = keyuparrow! THEN keybd_event ( 16, 0, 0 , 0 ) keybd_event ( 9, 0, 0 , 0 ) keybd_event ( 9, 0, 2, 0 ) keybd_event ( 16, 0, 2, 0 ) RETURN 1 END IF END IF END IF END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_cusprice_change integer x = 1723 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_cusprice_change integer x = 1531 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_cusprice_change end type event cb_add::clicked;IF NOT f_power_ind(1922,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF String arg_msg = '' Long uc_row,i 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.u_cusprice_change_billdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('系统提示','不合理发生时间') dw_uc.SetFocus() dw_uc.SetColumn("u_cusprice_change_billdate") RETURN END IF IF dw_uc.Object.u_cusprice_change_pricelistid[uc_row] = 0 THEN MessageBox('系统提示','请填写价格表名称') RETURN END IF IF Len(Trim(dw_uc.Object.u_cusprice_change_inrep[uc_row])) = 0 THEN MessageBox('系统提示','请填写经手人') dw_uc.SetFocus() dw_uc.SetColumn("u_cusprice_change_inrep") RETURN END IF if isnull(dw_uc.Object.u_cusprice_change_workdate[uc_row]) then MessageBox('系统提示','请设置价格表有效期') dw_uc.SetFocus() dw_uc.SetColumn("u_cusprice_change_workdate") RETURN end if uo_price.billdate = dw_uc.Object.u_cusprice_change_billdate[uc_row] // 发生时间 uo_price.pricelistid = dw_uc.Object.u_cusprice_change_pricelistid[uc_row] // 经手人 uo_price.dscrp = dw_uc.Object.u_cusprice_change_dscrp[uc_row] //备注 uo_price.inrep = dw_uc.Object.u_cusprice_change_inrep[uc_row] //备注 uo_price.relcode = dw_uc.Object.u_cusprice_change_relcode[uc_row] uo_price.billtype = 0 uo_price.workdate = dw_uc.Object.u_cusprice_change_workdate[uc_row] FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.u_cusprice_changemx_mtrlid[i] > 0 THEN IF uo_price.acceptmx(i,& dw_uc.Object.u_cusprice_change_pricelistid[uc_row],& dw_child.Object.u_cusprice_changemx_mtrlid[i],& dw_child.Object.u_mtrldef_mtrlcode[i],& dw_child.Object.u_cusprice_changemx_price[i],& dw_child.Object.u_cusprice_changemx_status[i],& dw_child.Object.u_cusprice_changemx_woodcode[i],& dw_child.Object.u_cusprice_changemx_pcode[i],& dw_child.Object.u_cusprice_changemx_mxdscrp[i],& arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF END IF NEXT IF uo_price.Save(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_price.billid) //刷新uc ELSE IF uo_price.newbegin() = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF END IF CALL SUPER::Clicked //read ini IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") dw_uc.SetRedraw(FALSE) dw_uc.SetColumn("u_cusprice_change_billdate") dw_uc.Object.u_cusprice_change_billdate[dw_uc.GetRow()] = datetime(Today()) dw_uc.SetRedraw(TRUE) ELSE PARENT.TriggerEvent("retrieve_childdw") END IF // end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_cusprice_change end type event cb_edit::clicked;IF NOT f_power_ind(1922,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) 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_price.updatebegin(dw_pageretr.Object.u_cusprice_change_billid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.u_cusprice_change_billid[uc_row]) PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_cusprice_change end type event cb_delet::clicked;IF NOT f_power_ind(1923,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) 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_price.del(dw_pageretr.Object.u_cusprice_change_billid[uc_row],TRUE,arg_msg) = 0 THEN MessageBox('Error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_cusprice_change_billid[uc_row] ls_code = dw_pageretr.Object.u_cusprice_change_billcode[uc_row] f_setsysoplog('价格表调价单','价格表调价单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.u_cusprice_change_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_cusprice_change integer x = 1029 end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF NOT dw_edit_mode THEN menustr = "Text=增加备注~tEvent=ue_addzy" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy" ELSE menustr = "Text=粘贴单据~tEvent=ue_bill_paste" END IF IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_cusprice_change end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1924,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF String err_msg = '' Long l_billid String arg_msg = '' Long pagerert_row IF dw_edit_mode THEN RETURN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_price.getinfo(dw_pageretr.Object.u_cusprice_change_billid[pagerert_row],arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF IF uo_price.auditing(TRUE,arg_msg) = 0 THEN MessageBox('error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(dw_pageretr.Object.u_cusprice_change_billid[pagerert_row]) END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_cusprice_change integer x = 1280 end type event cb_xm::clicked;call super::clicked;// is_mx_menustr = '' IF dw_edit_mode THEN is_mx_menustr = is_mx_menustr + "|" + "Text=按公式批设定单价~tEvent=ue_p_price_com" is_mx_menustr = is_mx_menustr + "|" + "Text=按首行批设定单价~tEvent=ue_p_price" is_mx_menustr = is_mx_menustr + "|" + "Text=按默认售价批设定单价~tEvent=ue_p_lmsaleprice" is_mx_menustr = is_mx_menustr + "|" + "Text=批设定"+sys_option_change_status+"~tEvent=ue_p_status" is_mx_menustr = is_mx_menustr + "|" + "Text=批设定"+sys_option_change_woodcode+"~tEvent=ue_p_woodcode" is_mx_menustr = is_mx_menustr + "|" + "Text=批设定"+sys_option_change_pcode+"~tEvent=ue_p_pcode" END IF CALL SUPER::Clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_cusprice_change end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_cusprice_change integer x = 1915 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_cusprice_change integer x = 2217 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_cusprice_change boolean visible = false integer x = 3863 integer y = 32 boolean enabled = false end type type p_msg from w_publ_1ton_share_detail`p_msg within w_cusprice_change end type type p_help from w_publ_1ton_share_detail`p_help within w_cusprice_change end type type p_encl from w_publ_1ton_share_detail`p_encl within w_cusprice_change end type type p_other from w_publ_1ton_share_detail`p_other within w_cusprice_change end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_cusprice_change end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_cusprice_change end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_cusprice_change end type type r_bar from w_publ_1ton_share_detail`r_bar within w_cusprice_change end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_cusprice_change end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_cusprice_change end type type st_2 from statictext within w_cusprice_change integer x = 782 integer y = 196 integer width = 142 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 = 67108864 string text = "状态" alignment alignment = center! boolean focusrectangle = false end type type ddlb_status from dropdownlistbox within w_cusprice_change integer x = 951 integer y = 188 integer width = 480 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 = "[全部]" 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