$PBExportHeader$w_sale_price_list.srw forward global type w_sale_price_list from w_publ_base end type type dw_pageretr from u_dw_rbtnfilter within w_sale_price_list end type type st_5 from statictext within w_sale_price_list end type type em_ptoplp from editmask within w_sale_price_list end type type st_2d from statictext within w_sale_price_list end type type cb_ptoplp from commandbutton within w_sale_price_list end type type cb_add_pricelist from uo_imflatbutton within w_sale_price_list end type type cb_rename_pricelist from uo_imflatbutton within w_sale_price_list end type type cb_retrievemx from uo_imflatbutton within w_sale_price_list end type type cb_addmx from uo_imflatbutton within w_sale_price_list end type type cb_delmx from uo_imflatbutton within w_sale_price_list end type type cb_edit from uo_imflatbutton within w_sale_price_list end type type cb_cancel from uo_imflatbutton within w_sale_price_list end type type cb_del_pricelist from uo_imflatbutton within w_sale_price_list end type type cb_viewprint from uo_imflatbutton within w_sale_price_list end type type dw_1 from u_dw_rbtnfilter within w_sale_price_list end type type cb_setdft from uo_imflatbutton within w_sale_price_list end type type cb_audit from uo_imflatbutton within w_sale_price_list end type type cb_c_audit from uo_imflatbutton within w_sale_price_list end type type cb_help from uo_imflatbutton within w_sale_price_list end type type st_1 from statictext within w_sale_price_list end type type ddlb_dec from dropdownlistbox within w_sale_price_list end type type sle_1 from singlelineedit within w_sale_price_list end type type st_3 from statictext within w_sale_price_list end type type ddlb_ptoplp from dropdownlistbox within w_sale_price_list end type type em_rebate from editmask within w_sale_price_list end type type cb_rebate from commandbutton within w_sale_price_list end type type st_2 from statictext within w_sale_price_list end type type cb_other from uo_imflatbutton within w_sale_price_list end type type cb_copyrow from uo_imflatbutton within w_sale_price_list end type type cb_1 from uo_imflatbutton within w_sale_price_list end type type cb_2 from uo_imflatbutton within w_sale_price_list end type type ln_bar from line within w_sale_price_list end type type ln_bar2 from line within w_sale_price_list end type type r_bar from rectangle within w_sale_price_list end type type ln_1 from line within w_sale_price_list end type type ln_2 from line within w_sale_price_list end type end forward global type w_sale_price_list from w_publ_base integer x = 50 integer y = 36 integer width = 3602 integer height = 2300 string title = "销售价格表" boolean maxbox = true windowstate windowstate = maximized! event ue_f8 ( ) event ue_add_mtrl_win ( ) event ue_add_mtrl ( ) event ue_bill_copy ( ) event ue_bill_paste ( ) event ue_update_dftprice ( ) event ue_set_dft ( ) event ue_retrieve_mx ( ) event ue_viewprint ( ) event ue_allowedit ( ) event ue_mtrl_info ( ) event ue_mtrl_info_retr ( ) event ue_insertmx ( ) event ue_copyrow ( ) event ue_ch_mtrl ( ) event ue_date_addmtrl_inwarecp ( ) event ue_date_addmtrl_saletask ( ) dw_pageretr dw_pageretr st_5 st_5 em_ptoplp em_ptoplp st_2d st_2d cb_ptoplp cb_ptoplp cb_add_pricelist cb_add_pricelist cb_rename_pricelist cb_rename_pricelist cb_retrievemx cb_retrievemx cb_addmx cb_addmx cb_delmx cb_delmx cb_edit cb_edit cb_cancel cb_cancel cb_del_pricelist cb_del_pricelist cb_viewprint cb_viewprint dw_1 dw_1 cb_setdft cb_setdft cb_audit cb_audit cb_c_audit cb_c_audit cb_help cb_help st_1 st_1 ddlb_dec ddlb_dec sle_1 sle_1 st_3 st_3 ddlb_ptoplp ddlb_ptoplp em_rebate em_rebate cb_rebate cb_rebate st_2 st_2 cb_other cb_other cb_copyrow cb_copyrow cb_1 cb_1 cb_2 cb_2 ln_bar ln_bar ln_bar2 ln_bar2 r_bar r_bar ln_1 ln_1 ln_2 ln_2 end type global w_sale_price_list w_sale_price_list type variables boolean lb_flag = false datastore ds_copy_bill String ls_old_dwname,ls_new_dwname = '' Long ll_prownum Long ls_powerid Int li_auditprint String ls_rpname = '' String ls_newname = '' int ifpic = 0 end variables forward prototypes public function integer wf_facechange () public function integer wf_bill_copy (ref string arg_msg) public function integer wf_bill_paste (ref string arg_msg) public function integer wf_dw () public function integer wf_refresh_interface () public function integer wf_update_flag (long arg_pricelistid, boolean arg_ifcommit, ref string arg_msg) end prototypes event ue_f8();IF NOT IsValid(w_unit_ch) THEN IF dw_1.GetRow() < 1 THEN RETURN Long ls_mtrlid ls_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[dw_1.GetRow()] OpenWithParm(w_unit_ch,ls_mtrlid) s_unit s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_1.Object.u_sale_price_mx_unit[dw_1.GetRow()] = s_inscust.unit END IF END IF end event event ue_add_mtrl_win();String Check Long al_mtrlid,i = 0,ls_pricelistid,row,currentrow,ls_try = 0 row = dw_pageretr.GetRow() IF Not row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF ls_pricelistid = dw_pageretr.Object.pricelistid[row] Int li_flag SELECT flag INTO :li_flag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_flag = 1 THEN MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!) RETURN END IF //*************** s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = False s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 s_ch_tran.arg_string_code = '' s_ch_tran.b_long = 0 s_ch_tran.c_long = 0 s_ch_tran.if_select_all = True IF Not IsValid(w_mtrldef_edit) THEN OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR i = 1 To UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[i] > 0 THEN //正常返回值则可以取以下值 IF s_inscust.statusflag[i] = 2 THEN INSERT INTO u_sale_price_mx ( pricelistid, mtrlid, price, unit, status) SELECT :ls_pricelistid, u_mtrldef.mtrlid, :s_inscust.price[i],:s_inscust.unit[i],u_mtrl_configure.name FROM u_mtrldef INNER JOIN u_mtrl_configure ON u_mtrldef.mtrlid = u_mtrl_configure.Mtrlid WHERE u_mtrldef.mtrlid = :s_inscust.mtrlid[i] AND u_mtrl_configure.ifzj = 1 AND NOT EXISTS (SELECT 1 FROM u_sale_price_mx WHERE u_sale_price_mx.mtrlid = :s_inscust.mtrlid[i] AND u_sale_price_mx.pricelistid = :ls_pricelistid AND u_sale_price_mx.unit = :s_inscust.unit[i] And u_sale_price_mx.status = u_mtrl_configure.Name and u_sale_price_mx.saleqty = 0 and u_sale_price_mx.saleqty1 = 999999); ELSE INSERT INTO u_sale_price_mx ( pricelistid, mtrlid, price, unit, saleqty, saleqty1) VALUES ( :ls_pricelistid, :s_inscust.mtrlid[i], :s_inscust.price[i], :s_inscust.unit[i], 0, 999999) ; END IF END IF NEXT //*************** st_1.Text = '' IF i > 0 THEN COMMIT; MessageBox('提示','成功添加产品到价格表!共:'+String(UpperBound(s_inscust.mtrlid))+'个',information!,ok!) dw_1.Retrieve(ls_pricelistid) //日志 String arg_msg f_setsysoplog('价格表','价格表增加产品,价格表ID:'+String(ls_pricelistid),arg_msg,True) //-- END IF END IF end event event ue_add_mtrl();lb_flag = NOT lb_flag IF lb_flag THEN sle_1.Visible = TRUE st_3.Visible = TRUE ELSE sle_1.Visible = FALSE st_3.Visible = FALSE END IF end event event ue_bill_copy();String arg_msg = '' IF wf_bill_copy(arg_msg) = 1 THEN MessageBox('系统提示','复制成功') ELSE MessageBox('系统提示',arg_msg) END IF end event event ue_bill_paste();String arg_msg = '' IF wf_bill_paste(arg_msg) = 1 THEN ELSE MessageBox('系统提示',arg_msg) END IF end event event ue_update_dftprice;IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN IF MessageBox ("询问","是否确定要按客户定价更新销售单的销售定价[原销售定价为0的数据]?",Question!,YesNo! ) = 2 THEN RETURN Long al_mtrlid,ls_pricelistid,row,ll_moneyid String al_name,new_pricelist_name s_pricelist_ch s_price row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF al_name = dw_pageretr.Object.listname[row] ls_pricelistid = dw_pageretr.Object.pricelistid[row] ll_moneyid = dw_pageretr.Object.u_sale_price_list_moneyid[row] Int li_flag,li_dftflag SELECT flag,dftflag INTO :li_flag,:li_dftflag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_dftflag = 0 THEN MessageBox('提示','当前价格表不是标准价格表,不能更新!',information!,ok!) RETURN END IF IF li_flag = 0 THEN MessageBox('提示','当前价格表未审核,不能更新!',information!,ok!) RETURN END IF Long ll_i,ll_rowcnt Int rslt = 1 String arg_msg Long ll_mtrlid String ls_mtrlcode,ls_status,ls_pcode,ls_woodcode Decimal ld_price ll_rowcnt = dw_1.RowCount() OPEN(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(ll_rowcnt) FOR ll_i = 1 TO ll_rowcnt ll_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[ll_i] ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i] ls_status = dw_1.Object.u_sale_price_mx_status[ll_i] ls_pcode = dw_1.Object.u_sale_price_mx_pcode[ll_i] ls_woodcode = dw_1.Object.u_sale_price_mx_woodcode[ll_i] ld_price = dw_1.Object.price[ll_i] w_sys_wait_jdt.st_msg.Text = ls_mtrlcode+" 正在处理..." //进度信息 IF sys_option_price_if_status = 1 THEN UPDATE u_outwaremx SET u_outwaremx.dftsaleprice = :ld_price FROM u_outwaremx,u_outware WHERE u_outwaremx.scid = u_outware.scid and u_outwaremx.outwareid = u_outware.outwareid and u_outware.relint_2 = :ll_moneyid and u_outware.billtype = 1 and u_outwaremx.mtrlid = :ll_mtrlid AND u_outwaremx.status = :ls_status AND u_outwaremx.pcode = :ls_pcode AND u_outwaremx.woodcode = :ls_woodcode AND u_outwaremx.dftsaleprice = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '更新'+ls_mtrlcode+'销售单定价失败! ~n' + sqlca.SQLErrText GOTO ext END IF UPDATE u_saletaskmx SET u_saletaskmx.dftsaleprice = :ld_price FROM u_saletaskmx,u_saletask WHERE u_saletaskmx.scid = u_saletask.scid and u_saletaskmx.taskid = u_saletask.taskid and u_saletask.moneyid = :ll_moneyid and u_saletaskmx.mtrlid = :ll_mtrlid AND u_saletaskmx.status = :ls_status AND u_saletaskmx.pcode = :ls_pcode AND u_saletaskmx.woodcode = :ls_woodcode AND u_saletaskmx.dftsaleprice = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '更新'+ls_mtrlcode+'订单定价失败! ~n' + sqlca.SQLErrText GOTO ext END IF ELSE UPDATE u_outwaremx SET u_outwaremx.dftsaleprice = :ld_price FROM u_outwaremx,u_outware WHERE u_outwaremx.scid = u_outware.scid AND u_outwaremx.outwareid = u_outware.outwareid and u_outware.relint_2 = :ll_moneyid and u_outware.billtype = 1 AND u_outwaremx.mtrlid = :ll_mtrlid AND u_outwaremx.dftsaleprice = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '更新'+ls_mtrlcode+'销售单定价失败! ~n' + sqlca.SQLErrText GOTO ext END IF UPDATE u_saletaskmx SET u_saletaskmx.dftsaleprice = :ld_price FROM u_saletaskmx,u_saletask WHERE u_saletaskmx.scid = u_saletask.scid and u_saletaskmx.taskid = u_saletask.taskid and u_saletask.moneyid = :ll_moneyid and u_saletaskmx.mtrlid = :ll_mtrlid AND u_saletaskmx.dftsaleprice = 0; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '更新'+ls_mtrlcode+'订单定价失败! ~n' + sqlca.SQLErrText GOTO ext END IF END IF w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT ext : CLOSE(w_sys_wait_jdt) IF rslt = 0 THEN ROLLBACK; MessageBox('错误',arg_msg,stopsign!,ok!) ELSE COMMIT; MessageBox('提示','更新销售单定价成功!',information!,ok!) END IF return end event event ue_set_dft();IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long ls_pricelistid,row,ls_moneyid Decimal ls_saleprice String ls_listname Int li_dft String ls_operatestr row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF ls_listname = dw_pageretr.Object.listname[row] li_dft = dw_pageretr.Object.dftflag[row] IF li_dft = 0 THEN ls_operatestr = "设定" ELSE ls_operatestr = "取消" END IF IF MessageBox ("询问","是否确定要"+ls_operatestr+"价格表["+ls_listname+"]为标准价格表?",Question!,YesNo! ) = 2 THEN RETURN ls_pricelistid = dw_pageretr.Object.pricelistid[row] ls_moneyid = dw_pageretr.Object.u_sale_price_list_moneyid[row] Long ll_count IF li_dft = 0 THEN SELECT count(*) INTO :ll_count FROM u_sale_price_list Where dftflag = 1 AND moneyid = :ls_moneyid; IF sqlca.SQLCode <> 0 THEN // ROLLBACK; MessageBox('错误','查询价格表内容操作失败!',stopsign!,ok!) RETURN END IF IF ll_count > 0 THEN IF ll_count = 1 THEN SELECT listname INTO :ls_listname FROM u_sale_price_list Where dftflag = 1 AND moneyid = :ls_moneyid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询标准价格表信息错误!',stopsign!,ok!) RETURN END IF IF MessageBox('错误','同一币种只能设定一个标准价格表!~r~n是否要取消标准价格表['+ls_listname+']?',Exclamation!,YesNo!) = 2 THEN RETURN ELSE IF MessageBox('错误','同一币种只能设定一个标准价格表!~r~n是否要取消同币种的其他标准价格表?',Exclamation!,YesNo!) = 2 THEN RETURN END IF UPDATE u_sale_price_list SET dftflag = 0 Where dftflag = 1 AND moneyid = :ls_moneyid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误',ls_operatestr+'价格表为标准价格表操作失败!',stopsign!,ok!) RETURN END IF END IF ELSE END IF UPDATE u_sale_price_list SET dftflag = 1 - :li_dft Where u_sale_price_list.pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误',ls_operatestr+'价格表为标准价格表操作失败!',stopsign!,ok!) RETURN END IF COMMIT; MessageBox('提示',ls_operatestr+'标准价格表操作成功!',information!,ok!) dw_pageretr.Retrieve() dw_pageretr.setrow(row) dw_pageretr.selectrow(0, false) dw_pageretr.selectrow(row, true) end event event ue_retrieve_mx();Long ll_pricelistid IF NOT dw_edit_mode THEN IF dw_pageretr.GetRow() <= 0 THEN dw_1.Reset() ELSE ll_pricelistid = dw_pageretr.Object.pricelistid[dw_pageretr.GetRow()] dw_1.Retrieve(ll_pricelistid) END IF END IF end event event ue_viewprint();Long ls_msgprintid ls_msgprintid = Message.LongParm SELECT dft_new_dwname,powerid,auditprint,prownum,ifpic INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum,:ifpic FROM sys_dft_dwprint_dynamic Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca; IF sqlca.SQLCode <> 0 THEN ls_newname = '' ls_powerid = 0 END IF IF NOT f_power_ind(635) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,ok!) RETURN END IF IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','当前价格表未审核,不能打印!',information!,ok!) RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN // IF li_auditprint = 1 THEN // IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN // MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!) // RETURN // END IF // END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_pricelist' END IF LS_PRMSG.TAG_TEXT = this.title LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 2 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.pricelistid[LS_ROW] //OpenWithParm(w_publ_preview,LS_PRMSG) //IF ifpic = 1 THEN // String ls_msg // IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN // MessageBox('提示','下载图片失败!',information!,OK!) // RETURN // END IF //END IF OpenWithParm(w_publ_preview,LS_PRMSG) //IF ifpic = 1 THEN // Long li // FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) // IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN // FileDelete(LS_PRMSG.s_pic.path[li]) // END IF // NEXT //END IF end event event ue_allowedit();Long Columns Int i String ls_modify_str Long ll_row Long ll_value Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag String ls_status,ls_woodcode,ls_pcode String ls_data_type ll_row = dw_1.GetRow() IF ll_row <= 0 THEN RETURN Columns = Long(dw_1.Describe("DataWindow.Column.Count")) FOR i = 1 TO Columns ls_modify_str = dw_1.Describe("#" + String(i) + ".name") ls_modify_str = Lower(ls_modify_str) IF i = 1 THEN //第1个字段,约定物料ID ls_data_type = dw_1.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_value = dw_1.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'statusflag') > 0 THEN ls_data_type = dw_1.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_statusflag = dw_1.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN ls_data_type = dw_1.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_woodcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'pcodeflag') > 0 THEN ls_data_type = dw_1.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_pcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR & Pos(ls_modify_str,'u_buytask_status') > 0 OR & Pos(ls_modify_str,'u_order_ml_status') > 0 OR & Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR & Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN ls_status = ls_modify_str END IF END IF END IF IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN ls_woodcode = ls_modify_str END IF END IF IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN ls_pcode = ls_modify_str END IF END IF NEXT IF ls_status <> '' THEN IF ll_statusflag <> 0 OR ll_value = 0 THEN dw_1.Modify(ls_status+".dddw.allowedit = no") ELSE dw_1.Modify(ls_status+".dddw.allowedit = yes") END IF END IF IF ls_woodcode <> '' THEN IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN dw_1.Modify(ls_woodcode+".dddw.allowedit = no") ELSE dw_1.Modify(ls_woodcode+".dddw.allowedit = yes") END IF END IF IF ls_pcode <> '' THEN IF ll_pcodeflag <> 0 OR ll_value = 0 THEN dw_1.Modify(ls_pcode+".dddw.allowedit = no") ELSE dw_1.Modify(ls_pcode+".dddw.allowedit = yes") END IF END IF end event event ue_mtrl_info();Long ll_row ll_row = dw_1.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择物料') RETURN END IF Long ll_mtrlid ll_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[ll_row] IF IsValid(w_mtrl_info) THEN w_mtrl_info.WindowState = Normal! w_mtrl_info.ins_mtrlid = ll_mtrlid w_mtrl_info.wf_retrieve(ll_mtrlid) ELSE OpenWithParm(w_mtrl_info,ll_mtrlid) END IF end event event ue_mtrl_info_retr();IF IsValid(w_mtrl_info) THEN Long ll_row ll_row = dw_1.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择物料') RETURN END IF Long ll_mtrlid ll_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[ll_row] w_mtrl_info.WindowState = Normal! w_mtrl_info.ins_mtrlid = ll_mtrlid w_mtrl_info.wf_retrieve(ll_mtrlid) END IF end event event ue_insertmx();long ll_childrow,li_row ll_childrow = dw_1.getrow() li_row = dw_1.insertrow(ll_childrow) dw_1.setrow(li_row) dw_1.scrolltorow(li_row) dw_1.selectrow(0,false) dw_1.selectrow(li_row,true) end event event ue_copyrow();IF Not dw_edit_mode THEN RETURN Long ll_row ll_row = dw_1.GetRow() IF ll_row = 0 THEN MessageBox('NO','请选择复制对象!') RETURN END IF dw_1.RowsCopy (ll_row,ll_row,Primary!,dw_1,ll_row + 1,Primary!) dw_1.SelectRow(0,False) dw_1.SetRow(ll_row + 1) dw_1.ScrollToRow(ll_row + 1) dw_1.SelectRow(ll_row + 1,True) end event event ue_ch_mtrl(); Long i = 0,ll_pricelistid,ll_row String ls_status ll_row = dw_pageretr.GetRow() IF Not ll_row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF ll_pricelistid = dw_pageretr.Object.pricelistid[ll_row] //*************** s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = False s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 s_ch_tran.arg_string_code = '' s_ch_tran.b_long = 0 s_ch_tran.c_long = 0 s_ch_tran.if_select_all = True ll_row = dw_1.GetRow() IF Not IsValid(w_mtrldef_edit) THEN OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR i = 1 To UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[i] > 0 THEN //正常返回值则可以取以下值 IF ll_row > 0 THEN IF dw_1.Object.u_sale_price_mx_mtrlid[ll_row] > 0 THEN ll_row = dw_1.InsertRow(0) ELSE ll_row = dw_1.GetRow() END IF ELSE ll_row = dw_1.InsertRow(0) END IF IF s_inscust.statusflag[i] = 2 THEN SELECT u_mtrl_configure.name INTO :ls_status FROM u_mtrl_configure WHERE u_mtrl_configure.mtrlid = :s_inscust.mtrlid[i] And u_mtrl_configure.ifzj = 1; IF sqlca.SQLCode <> 0 THEN ls_status = "" END IF ELSE ls_status = "" END IF dw_1.Object.u_sale_price_mx_pricelistid[ll_row] = ll_pricelistid dw_1.Object.u_sale_price_mx_mtrlid[ll_row] = s_inscust.mtrlid[i] dw_1.Object.u_sale_price_mx_unit[ll_row] = s_inscust.unit[i] dw_1.Object.u_sale_price_mx_status[ll_row] = ls_status dw_1.Object.price[ll_row] = s_inscust.price[i] END IF NEXT END IF end event event ue_date_addmtrl_inwarecp();If dw_edit_mode Then Return Long ll_row,ls_pricelistid String arg_msg ll_row = dw_pageretr.GetRow() If Not ll_row > 0 Then MessageBox('错误','请选择当前价格表!') Return End If ls_pricelistid = dw_pageretr.Object.pricelistid[ll_row] s_edit_index_tran s_ch_tran , ins_s_return DateTime ldt_sdate,ldt_edate s_ch_tran.b_long=2 openwithparm(w_planprice_saletask_add,s_ch_tran ) ins_s_return = Message.PowerObjectParm If ins_s_return.b_long = 0 Then Return ldt_sdate = ins_s_return.first_date ldt_edate = ins_s_return.end_date If MessageBox('询问','确定要把日期范围内生产进仓单的产品增加到价格表吗?',question!,yesno!) = 2 Then Return Insert Into u_sale_price_mx ( pricelistid, mtrlid, status, woodcode, pcode) Select DISTINCT :ls_pricelistid,u_inwaremx.MtrlID, u_inwaremx.status, u_inwaremx.woodcode, u_inwaremx.pcode From u_inwaremx Inner JOIN u_inware ON u_inwaremx.scid = u_inware.scid And u_inwaremx.inwareid = u_inware.inwareid Where (u_inware.indate >= :ldt_sdate) And (u_inware.indate <= :ldt_edate) and ( u_inware.billtype = 3) And Not Exists (Select * From u_sale_price_mx Where mtrlid = u_inwaremx.MtrlID And status = u_inwaremx.status And woodcode = u_inwaremx.woodcode And pcode = u_inwaremx.pcode And pricelistid = :ls_pricelistid); If sqlca.SQLCode <> 0 Then arg_msg = sqlca.SQLErrText Rollback; MessageBox('Error','增加产品到价格表失败,'+arg_msg) Return End If If wf_update_flag(ls_pricelistid, False, arg_msg) = 0 Then MessageBox('Error','添加产品到价格表失败!'+arg_msg) Return End If Commit; MessageBox('系统提示','成功添加产品到价格表!') This.TriggerEvent('ue_retrieve_mx') //日志 f_setsysoplog('价格表','价格表增加产品,价格表ID:'+String(ls_pricelistid),arg_msg,True) //-- end event event ue_date_addmtrl_saletask();If dw_edit_mode Then Return Long ll_row,ls_pricelistid String arg_msg ll_row = dw_pageretr.GetRow() If Not ll_row > 0 Then MessageBox('错误','请选择当前价格表!') Return End If ls_pricelistid = dw_pageretr.Object.pricelistid[ll_row] s_edit_index_tran s_ch_tran , ins_s_return DateTime ldt_sdate,ldt_edate s_ch_tran.b_long=1 openwithparm(w_planprice_saletask_add,s_ch_tran ) ins_s_return = Message.PowerObjectParm If ins_s_return.b_long = 0 Then Return ldt_sdate = ins_s_return.first_date ldt_edate = ins_s_return.end_date If MessageBox('询问','确定要把日期范围内销售订单的产品增加到价格表吗?',question!,yesno!) = 2 Then Return Insert Into u_sale_price_mx ( pricelistid, mtrlid, status, woodcode, pcode) Select DISTINCT :ls_pricelistid,u_SaleTaskMx.MtrlID, u_SaleTaskMx.status, u_SaleTaskMx.woodcode, u_SaleTaskMx.pcode From u_SaleTaskMx Inner JOIN u_SaleTask ON u_SaleTaskMx.scid = u_SaleTask.scid And u_SaleTaskMx.TaskID = u_SaleTask.TaskID Where (u_SaleTask.taskdate >= :ldt_sdate) And (u_SaleTask.taskdate <= :ldt_edate) And Not Exists (Select * From u_sale_price_mx Where mtrlid = u_saletaskmx.MtrlID And status = u_saletaskmx.status And woodcode = u_saletaskmx.woodcode And pcode = u_saletaskmx.pcode And pricelistid = :ls_pricelistid); If sqlca.SQLCode <> 0 Then arg_msg = sqlca.SQLErrText Rollback; MessageBox('Error','增加产品到价格表失败,'+arg_msg) Return End If If wf_update_flag(ls_pricelistid, False, arg_msg) = 0 Then MessageBox('Error','添加产品到价格表失败!'+arg_msg) Return End If Commit; MessageBox('系统提示','成功添加产品到价格表!') This.TriggerEvent('ue_retrieve_mx') //日志 f_setsysoplog('价格表','价格表增加产品,价格表ID:'+String(ls_pricelistid),arg_msg,True) //-- end event public function integer wf_facechange ();//wf_facechange IF dw_edit_mode THEN cb_cancel.Enabled = TRUE // cb_save.Enabled = TRUE cb_addmx.Enabled = FALSE cb_delmx.Enabled = FALSE // cb_edi.Enabled = FALSE cb_copyrow.Enabled = TRUE cb_rename_pricelist.Enabled = FALSE cb_add_pricelist.Enabled = FALSE cb_del_pricelist.Enabled = FALSE cb_ptoplp.Enabled = TRUE em_ptoplp.Enabled = TRUE cb_rebate.Enabled = TRUE em_rebate.Enabled = TRUE ddlb_dec.Enabled = TRUE ddlb_ptoplp.Enabled = TRUE // cb_audit.Enabled = FALSE // cb_c_audit.Enabled = FALSE cb_viewprint.Enabled = FALSE // cb_set_dft.Enabled = FALSE // cb_setdft.Enabled = FALSE cb_func.Enabled = FALSE cb_retrievemx.Enabled = FALSE dw_1.SetTabOrder('price',10) dw_1.SetTabOrder('u_sale_price_mx_rebate',20) dw_1.SetTabOrder('u_sale_price_mx_status',30) dw_1.SetTabOrder('u_sale_price_mx_pcode',40) dw_1.SetTabOrder('u_sale_price_mx_woodcode',50) dw_1.SetTabOrder('u_sale_price_mx_dscrp',60) dw_1.SetTabOrder('u_sale_price_mx_unit',70) dw_1.SetTabOrder('u_sale_price_mx_saleqty',80) dw_1.SetTabOrder('u_sale_price_mx_saleqty1',90) cb_edit.Text = '保存' cb_edit.normalpicname = 'Save.bmp' ELSE cb_cancel.Enabled = FALSE // cb_save.Enabled = FALSE cb_addmx.Enabled = TRUE cb_delmx.Enabled = TRUE // cb_edi.Enabled = TRUE cb_copyrow.Enabled = FALSE cb_rename_pricelist.Enabled = TRUE cb_add_pricelist.Enabled = TRUE cb_del_pricelist.Enabled = TRUE cb_ptoplp.Enabled = FALSE em_ptoplp.Enabled = FALSE cb_rebate.Enabled = FALSE em_rebate.Enabled = FALSE ddlb_dec.Enabled = FALSE ddlb_ptoplp.Enabled = FALSE // cb_audit.Enabled = TRUE // cb_c_audit.Enabled = TRUE cb_viewprint.Enabled = TRUE // cb_set_dft.Enabled = TRUE // cb_setdft.Enabled = TRUE cb_func.Enabled = TRUE cb_retrievemx.Enabled = TRUE dw_1.SetTabOrder('price',0) dw_1.SetTabOrder('u_sale_price_mx_rebate',0) dw_1.SetTabOrder('u_sale_price_mx_status',0) dw_1.SetTabOrder('u_sale_price_mx_pcode',0) dw_1.SetTabOrder('u_sale_price_mx_woodcode',0) dw_1.SetTabOrder('u_sale_price_mx_dscrp',0) dw_1.SetTabOrder('u_sale_price_mx_unit',0) dw_1.SetTabOrder('u_sale_price_mx_saleqty',0) dw_1.SetTabOrder('u_sale_price_mx_saleqty1',0) cb_edit.Text = '修改' cb_edit.normalpicname = 'open.bmp' END IF wf_refresh_interface() cb_edit.of_init_draw() cb_edit.of_paint() cb_edit.TriggerEvent('ue_textchange') RETURN 1 end function public function integer wf_bill_copy (ref string arg_msg);Long rslt = 1 Long ll_rowcount dw_1.AcceptText( ) ll_rowcount = dw_1.RowCount() IF ll_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可复制的明细内容' GOTO ext END IF ds_copy_bill.Reset() IF dw_1.RowsCopy(1, ll_rowcount, Primary!, ds_copy_bill, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '复制明细内容失败' GOTO ext END IF ds_copy_bill.AcceptText() ext: RETURN rslt end function public function integer wf_bill_paste (ref string arg_msg);Long rslt = 1 IF NOT dw_edit_mode THEN rslt = 0 arg_msg = '非编辑状态下不可粘贴' GOTO ext END IF IF dw_pageretr.GetRow() = 0 THEN rslt = 1 GOTO ext END IF Long ll_rowcount dw_1.AcceptText( ) ll_rowcount = ds_copy_bill.RowCount() IF ll_rowcount <= 0 THEN rslt = 0 arg_msg = '没有可粘贴的明细内容' GOTO ext END IF dw_1.Reset() Long ll_child_rowcount ll_child_rowcount = dw_1.RowCount() IF ds_copy_bill.RowsCopy(1, ll_rowcount, Primary!, dw_1, 1, Primary!) = - 1 THEN rslt = 0 arg_msg = '粘贴明细内容失败' GOTO ext END IF dw_1.AcceptText() Long pricelistid,i pricelistid = dw_pageretr.Object.pricelistid[dw_pageretr.GetRow()] FOR i = 1 TO dw_1.RowCount() dw_1.Object.u_sale_price_mx_pricelistid[i] = pricelistid NEXT ext: RETURN rslt end function public function integer wf_dw ();String ls_windowname ls_windowname = THIS.ClassName ( ) ls_old_dwname = 'dw_rp_pricelist' ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname) IF ls_new_dwname = '' THEN ls_new_dwname = ls_old_dwname END IF RETURN 1 end function public function integer wf_refresh_interface ();//wf_statusbtn_fc Long ls_row ls_row = dw_pageretr.GetRow() IF dw_edit_mode OR ls_row <= 0 THEN cb_setdft.Enabled = FALSE cb_audit.Enabled = FALSE cb_c_audit.Enabled = FALSE RETURN 0 ELSE cb_setdft.Enabled = TRUE // cb_audit.Enabled = TRUE // cb_c_audit.Enabled = TRUE END IF Int li_dftflag, li_flag li_dftflag = dw_pageretr.Object.dftflag[ls_row] li_flag = dw_pageretr.Object.flag[ls_row] CHOOSE CASE li_dftflag CASE 0 cb_setdft.Text = "设定标准" CASE 1 cb_setdft.Text = "取消标准" END CHOOSE cb_setdft.of_init_draw() cb_setdft.of_paint() cb_setdft.TriggerEvent('ue_textchange') CHOOSE CASE li_flag CASE 0 cb_audit.Enabled = TRUE cb_c_audit.Enabled = FALSE CASE 1 cb_audit.Enabled = FALSE cb_c_audit.Enabled = TRUE END CHOOSE RETURN 0 end function public function integer wf_update_flag (long arg_pricelistid, boolean arg_ifcommit, ref string arg_msg);Int rslt = 1 Long ll_cnt Int li_flag SELECT count(*) INTO :ll_cnt FROM u_sale_price_mx WHERE pricelistid = :arg_pricelistid And flag = 0; IF sqlca.SQLCode <> 0 THEN ll_cnt = 1 END IF IF ll_cnt > 0 THEN li_flag = 0 UPDATE u_sale_price_list SET flag = 0, auditingrep = '', auditingdate = NULL Where pricelistid = :arg_pricelistid; ELSE li_flag = 1 UPDATE u_sale_price_list SET flag = 1, auditingrep = :publ_operator, auditingdate = getdate() Where pricelistid = :arg_pricelistid; END IF IF sqlca.SQLCode <> 0 THEN arg_msg = "更新价格表审核标记失败,"+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF dw_pageretr.GetRow() > 0 THEN dw_pageretr.Object.flag[dw_pageretr.GetRow() ] = li_flag END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF arg_ifcommit THEN COMMIT; END IF RETURN rslt end function on w_sale_price_list.create int iCurrent call super::create this.dw_pageretr=create dw_pageretr this.st_5=create st_5 this.em_ptoplp=create em_ptoplp this.st_2d=create st_2d this.cb_ptoplp=create cb_ptoplp this.cb_add_pricelist=create cb_add_pricelist this.cb_rename_pricelist=create cb_rename_pricelist this.cb_retrievemx=create cb_retrievemx this.cb_addmx=create cb_addmx this.cb_delmx=create cb_delmx this.cb_edit=create cb_edit this.cb_cancel=create cb_cancel this.cb_del_pricelist=create cb_del_pricelist this.cb_viewprint=create cb_viewprint this.dw_1=create dw_1 this.cb_setdft=create cb_setdft this.cb_audit=create cb_audit this.cb_c_audit=create cb_c_audit this.cb_help=create cb_help this.st_1=create st_1 this.ddlb_dec=create ddlb_dec this.sle_1=create sle_1 this.st_3=create st_3 this.ddlb_ptoplp=create ddlb_ptoplp this.em_rebate=create em_rebate this.cb_rebate=create cb_rebate this.st_2=create st_2 this.cb_other=create cb_other this.cb_copyrow=create cb_copyrow this.cb_1=create cb_1 this.cb_2=create cb_2 this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.r_bar=create r_bar this.ln_1=create ln_1 this.ln_2=create ln_2 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_pageretr this.Control[iCurrent+2]=this.st_5 this.Control[iCurrent+3]=this.em_ptoplp this.Control[iCurrent+4]=this.st_2d this.Control[iCurrent+5]=this.cb_ptoplp this.Control[iCurrent+6]=this.cb_add_pricelist this.Control[iCurrent+7]=this.cb_rename_pricelist this.Control[iCurrent+8]=this.cb_retrievemx this.Control[iCurrent+9]=this.cb_addmx this.Control[iCurrent+10]=this.cb_delmx this.Control[iCurrent+11]=this.cb_edit this.Control[iCurrent+12]=this.cb_cancel this.Control[iCurrent+13]=this.cb_del_pricelist this.Control[iCurrent+14]=this.cb_viewprint this.Control[iCurrent+15]=this.dw_1 this.Control[iCurrent+16]=this.cb_setdft this.Control[iCurrent+17]=this.cb_audit this.Control[iCurrent+18]=this.cb_c_audit this.Control[iCurrent+19]=this.cb_help this.Control[iCurrent+20]=this.st_1 this.Control[iCurrent+21]=this.ddlb_dec this.Control[iCurrent+22]=this.sle_1 this.Control[iCurrent+23]=this.st_3 this.Control[iCurrent+24]=this.ddlb_ptoplp this.Control[iCurrent+25]=this.em_rebate this.Control[iCurrent+26]=this.cb_rebate this.Control[iCurrent+27]=this.st_2 this.Control[iCurrent+28]=this.cb_other this.Control[iCurrent+29]=this.cb_copyrow this.Control[iCurrent+30]=this.cb_1 this.Control[iCurrent+31]=this.cb_2 this.Control[iCurrent+32]=this.ln_bar this.Control[iCurrent+33]=this.ln_bar2 this.Control[iCurrent+34]=this.r_bar this.Control[iCurrent+35]=this.ln_1 this.Control[iCurrent+36]=this.ln_2 end on on w_sale_price_list.destroy call super::destroy destroy(this.dw_pageretr) destroy(this.st_5) destroy(this.em_ptoplp) destroy(this.st_2d) destroy(this.cb_ptoplp) destroy(this.cb_add_pricelist) destroy(this.cb_rename_pricelist) destroy(this.cb_retrievemx) destroy(this.cb_addmx) destroy(this.cb_delmx) destroy(this.cb_edit) destroy(this.cb_cancel) destroy(this.cb_del_pricelist) destroy(this.cb_viewprint) destroy(this.dw_1) destroy(this.cb_setdft) destroy(this.cb_audit) destroy(this.cb_c_audit) destroy(this.cb_help) destroy(this.st_1) destroy(this.ddlb_dec) destroy(this.sle_1) destroy(this.st_3) destroy(this.ddlb_ptoplp) destroy(this.em_rebate) destroy(this.cb_rebate) destroy(this.st_2) destroy(this.cb_other) destroy(this.cb_copyrow) destroy(this.cb_1) destroy(this.cb_2) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.r_bar) destroy(this.ln_1) destroy(this.ln_2) end on event open;call super::open;ds_copy_bill = CREATE datastore ds_copy_bill.DataObject = dw_1.dataobject ds_copy_bill.SetTransObject(sqlca) IF sys_version_type = 0 THEN sle_1.Visible = FALSE st_3.Visible = FALSE END IF dw_pageretr.SetTransObject(sqlca) dw_1.SetTransObject(sqlca) dw_pageretr.Retrieve() end event event ue_filter;call super::ue_filter;OPENWITHPARM(w_filter_query,dw_1) STRING LS_EXPR LS_EXPR=Message.StringParm if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return dw_1.setfilter(LS_EXPR) dw_1.SetRedraw (false) dw_1.filter() dw_1.SetRedraw (TRUE) end event event ue_sort;call super::ue_sort;OPENwithparm(w_sortrow,DW_1) STRING LS_EXPR LS_EXPR=Message.StringParm IF ISNULL(LS_EXPR) THEN LS_EXPR=' ' if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return dw_1.setsort(LS_EXPR) dw_1.SetRedraw (false) dw_1.sort() dw_1.SetRedraw (true) end event event ue_sentdataout;call super::ue_sentdataout;IF NOT f_power_ind(1513) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF OpenWithParm(w_sentdataout,DW_1) end event event ue_before_open;call super::ue_before_open;if_ue_filter=true if_ue_sort=true if_ue_sentdataout=true end event event resize;call super::resize;ln_bar.endx = this.width ln_bar2.endx = this.width ln_1.endx = this.width ln_2.endx = this.width r_bar.width = this.width long w_width,w_height w_width = 3602 w_height = 2300 if newwidth < w_width then this.width = w_width if newheight < w_height then this.height = w_height dw_pageretr.height=this.height - (w_height - 1804) dw_1.height=this.height - (w_height - 1804) dw_1.width=this.width - (w_width - 2245) end event type cb_func from w_publ_base`cb_func within w_sale_price_list integer x = 1472 integer width = 151 integer height = 172 integer taborder = 230 string text = "功能" end type type cb_exit from w_publ_base`cb_exit within w_sale_price_list integer x = 3113 integer width = 165 integer height = 172 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type dw_pageretr from u_dw_rbtnfilter within w_sale_price_list integer y = 340 integer width = 1317 integer height = 1804 integer taborder = 20 boolean bringtotop = true boolean titlebar = true string title = "价格表列表" string dataobject = "dw_pricelist_index" boolean maxbox = true boolean hscrollbar = true boolean vscrollbar = true boolean resizable = true borderstyle borderstyle = stylebox! boolean rbutton_filter_use = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event rowfocuschanged;IF currentrow <=0 THEN RETURN this.selectrow(0,false) this.selectrow(currentrow,true) wf_refresh_interface() parent.triggerevent("ue_retrieve_mx") end event event clicked;//IF NOT dw_edit_mode AND row > 0 THEN // IF dw_1.RowCount() = 0 THEN // dw_1.Retrieve(THIS.Object.pricelistid[row]) // END IF //END IF // end event event rowfocuschanging;call super::rowfocuschanging;if dw_edit_mode then return 1 end event type st_5 from statictext within w_sale_price_list integer y = 188 integer width = 800 integer height = 148 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 134217739 boolean enabled = false string text = "[按住Ctrl键再按删产品则删除当前显示全部内容,请注意结合筛选功能使用]" boolean focusrectangle = false end type type em_ptoplp from editmask within w_sale_price_list integer x = 1321 integer y = 220 integer width = 251 integer height = 80 integer taborder = 170 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 16776960 boolean enabled = false string text = "1.0000" alignment alignment = right! borderstyle borderstyle = stylelowered! string mask = "##0.0000" end type event modified;this.text=string(dec(this.text),'#0.0000') end event type st_2d from statictext within w_sale_price_list integer x = 1952 integer y = 236 integer width = 238 integer height = 68 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false string text = "客户定价" boolean focusrectangle = false end type type cb_ptoplp from commandbutton within w_sale_price_list integer x = 1774 integer y = 220 integer width = 165 integer height = 84 integer taborder = 150 integer textsize = -9 integer weight = 700 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" boolean enabled = false string text = "->" end type event clicked;IF NOT dw_edit_mode THEN RETURN IF MessageBox ("询问","是否确定要批量修改客户价格?(选择确定后窗口中所有产品的价格将会重置!)",Question!,YesNo! ) = 2 THEN RETURN END IF Long ls_i,ls_count,ll_dec ls_count = dw_1.RowCount() IF ddlb_ptoplp.Text = '设定销价÷' OR ddlb_ptoplp.Text = '客户定价÷' THEN IF Dec(em_ptoplp.Text) <= 0 THEN MessageBox('提示','调整比例不能为0!',information!,ok!) em_ptoplp.SetFocus() RETURN END IF END IF if ddlb_dec.text = '0' then ll_dec = 0 elseif ddlb_dec.text = '1' then ll_dec = 1 elseif ddlb_dec.text = '2' then ll_dec = 2 elseif ddlb_dec.text = '3' then ll_dec = 3 elseif ddlb_dec.text = '4' then ll_dec = 4 end if FOR ls_i = 1 TO ls_count IF ddlb_ptoplp.Text = '设定销价×' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i]*Dec(em_ptoplp.Text),ll_dec) ELSEIF ddlb_ptoplp.Text = '客户定价×' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i]*Dec(em_ptoplp.Text),ll_dec) ELSEIF ddlb_ptoplp.Text = '设定销价÷' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i]/Dec(em_ptoplp.Text),ll_dec) ELSEIF ddlb_ptoplp.Text = '客户定价÷' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i]/Dec(em_ptoplp.Text),ll_dec) ELSEIF ddlb_ptoplp.Text = '设定销价+' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i] + Dec(em_ptoplp.Text),ll_dec) ELSEIF ddlb_ptoplp.Text = '客户定价+' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i] + Dec(em_ptoplp.Text),ll_dec) ELSEIF ddlb_ptoplp.Text = '设定销价-' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i] - Dec(em_ptoplp.Text),ll_dec) ELSEIF ddlb_ptoplp.Text = '客户定价-' THEN dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i] - Dec(em_ptoplp.Text),ll_dec) END IF st_1.Text = '计算:'+String(ls_i)+'/'+String(ls_count) NEXT st_1.Text = '' end event type cb_add_pricelist from uo_imflatbutton within w_sale_price_list integer width = 151 integer height = 172 integer taborder = 30 boolean bringtotop = true string text = "增加" string normalpicname = "new.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN String new_pricelist_name = '' Long ls_newid,ll_moneyid String errmsg = '' s_pricelist_ch s_price OpenWithParm(w_sale_price_list_add,0) s_price = Message.powerobjectparm if s_price.pricelistid = -1 then return ll_moneyid = s_price.moneyid new_pricelist_name = s_price.pricelistname IF Trim(new_pricelist_name) = '' OR IsNull(new_pricelist_name) THEN RETURN ls_newid = f_sys_scidentity(0,"u_sale_price_list","pricelistid",errmsg,FALSE,sqlca) IF ls_newid <= 0 THEN MessageBox('错误',errmsg,stopsign!,ok!) ROLLBACK; END IF INSERT INTO u_sale_price_list (pricelistid,listname,moneyid,code ) Values (:ls_newid, :new_pricelist_name,:ll_moneyid,:s_price.code ) ; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','新建价格表"'+new_pricelist_name+'"失败,可能是名称已经存在或网络故障!',stopsign!,ok!) RETURN END IF COMMIT; MessageBox('提示','新建价格表操作成功,请对其进行初始化!',information!,ok!) //日志 String arg_msg f_setsysoplog('价格表','新建价格表:'+new_pricelist_name,arg_msg,TRUE) //-- dw_pageretr.Retrieve() end event type cb_rename_pricelist from uo_imflatbutton within w_sale_price_list integer x = 151 integer width = 151 integer height = 172 integer taborder = 40 boolean bringtotop = true string text = "修改" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN Long al_mtrlid,ls_pricelistid,row,ll_moneyid String al_name,new_pricelist_name s_pricelist_ch s_price row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF al_name = dw_pageretr.Object.listname[row] ls_pricelistid = dw_pageretr.Object.pricelistid[row] Int li_flag SELECT flag INTO :li_flag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_flag = 1 THEN MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!) RETURN END IF OpenWithParm(w_sale_price_list_add,ls_pricelistid) s_price = Message.PowerObjectParm IF s_price.pricelistid = -1 THEN RETURN ll_moneyid = s_price.moneyid new_pricelist_name = s_price.pricelistname IF Trim(new_pricelist_name) = '' OR IsNull(new_pricelist_name) THEN RETURN UPDATE u_sale_price_list SET listname = :new_pricelist_name, moneyid = :ll_moneyid, code = :s_price.code Where ( pricelistid = :ls_pricelistid ) ; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','修改名称操作失败,可能是新名称已经存在或网络故障!',stopsign!,ok!) RETURN END IF COMMIT; MessageBox('提示','价格表名称修改成功!',information!,ok!) dw_pageretr.Object.listname[row] = new_pricelist_name dw_pageretr.Object.u_sale_price_list_code[row] = s_price.code //日志 String arg_msg f_setsysoplog('价格表','修改价格表:'+new_pricelist_name,arg_msg,TRUE) //-- //dw_pageretr.retrieve() end event type cb_retrievemx from uo_imflatbutton within w_sale_price_list integer x = 1321 integer width = 151 integer height = 172 integer taborder = 110 boolean bringtotop = true string text = "刷新" string normalpicname = "refresh.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked; long row=0,pricelistid row=dw_pageretr.getrow() if not row>0 then messagebox('提示','请选择当前价格表!',information!,ok!) return end if dw_pageretr.accepttext() pricelistid=dw_pageretr.object.pricelistid[row] dw_1.retrieve(pricelistid) end event type cb_addmx from uo_imflatbutton within w_sale_price_list integer x = 2121 integer width = 197 integer height = 172 integer taborder = 160 boolean bringtotop = true string text = "增产品" string normalpicname = "mx1.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN IF sys_version_type = 1 THEN m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=窗口选择~tEvent=ue_add_mtrl_win" menustr = menustr + "|" + "Text=开/关直接选择~tEvent=ue_add_mtrl" IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF ELSE parent.TriggerEvent('ue_add_mtrl_win') END IF end event type cb_delmx from uo_imflatbutton within w_sale_price_list integer x = 2318 integer width = 197 integer height = 172 integer taborder = 180 boolean bringtotop = true string text = "删产品" string normalpicname = "delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long ls_pricelistid,row row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF ls_pricelistid = dw_pageretr.Object.pricelistid[row] Int li_flag SELECT flag INTO :li_flag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_flag = 1 THEN MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!) RETURN END IF IF dw_edit_mode THEN MessageBox('提示','非编辑状态下不可删除!',information!,ok!) RETURN END IF Long i IF KeyDown(KeyControl!) THEN IF MessageBox ("询问","是否确定要删除当前显示的全部产品吗?",Question!,YesNo! ) = 2 THEN RETURN DO WHILE dw_1.GetRow() > 0 dw_1.DeleteRow(dw_1.GetRow()) LOOP ELSE IF MessageBox ("询问","是否确定要删除当前一个产品吗?",Question!,YesNo! ) = 2 THEN RETURN Long uc_row uc_row = dw_1.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标产品!',information!,ok!) RETURN END IF dw_1.DeleteRow(uc_row) END IF dw_1.PostEvent(RowFocusChanged!) IF dw_1.Update() = 1 THEN COMMIT; //日志 String arg_msg f_setsysoplog('价格表','删除价格表产品',arg_msg,TRUE) //-- ELSE ROLLBACK; MessageBox('错误','删除操作失败"!',stopsign!,ok!) END IF //end if end event type cb_edit from uo_imflatbutton within w_sale_price_list integer x = 1623 integer width = 151 integer height = 172 integer taborder = 120 boolean bringtotop = true string text = "修改" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long ls_pricelistid,row IF dw_edit_mode THEN //保存 dw_1.AcceptText() IF dw_1.GetNextModified(0, Primary!) = 0 THEN MessageBox('提示','没有任何修改,不可以保存!',information!,ok!) RETURN END IF //检查是否有重复 IF dw_1.Update() = 1 THEN COMMIT; //日志 String arg_msg f_setsysoplog('价格表','修改价格表产品',arg_msg,TRUE) //-- ELSE ROLLBACK; MessageBox('错误','保存操作失败"!',stopsign!,ok!) RETURN END IF ELSE //修改 row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择价格表!',information!,ok!) RETURN END IF ls_pricelistid = dw_pageretr.Object.pricelistid[row] Int li_flag SELECT flag INTO :li_flag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_flag = 1 THEN MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!) RETURN END IF END IF dw_edit_mode = NOT dw_edit_mode wf_facechange() dw_1.SetFocus() end event type cb_cancel from uo_imflatbutton within w_sale_price_list integer x = 1774 integer width = 151 integer height = 172 integer taborder = 130 boolean bringtotop = true boolean enabled = false string text = "放弃" string normalpicname = "undo.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;dw_edit_mode=false wf_facechange() cb_retrievemx.triggerevent(clicked!) end event type cb_del_pricelist from uo_imflatbutton within w_sale_price_list integer x = 306 integer width = 151 integer height = 172 integer taborder = 60 boolean bringtotop = true string text = "删除" string normalpicname = "delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(2065) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long al_mtrlid,ls_pricelistid,row Decimal ls_saleprice String al_name row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF al_name = dw_pageretr.Object.listname[row] IF MessageBox ("询问","是否确定要删除价格表'"+al_name+"'吗?",Question!,YesNo! ) = 2 THEN RETURN ls_pricelistid = dw_pageretr.Object.pricelistid[row] int li_flag select flag into :li_flag from u_sale_price_list where pricelistid = :ls_pricelistid; if sqlca.sqlcode <> 0 then MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF if li_flag = 1 then MessageBox('提示','当前价格表已审核,不能删除!',information!,ok!) RETURN END IF DELETE u_sale_price_MX Where u_sale_price_MX.pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','删除价格表明细操作失败!',stopsign!,ok!) RETURN END IF DELETE u_sale_price_list Where u_sale_price_list.pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','删除价格表操作失败!',stopsign!,ok!) RETURN END IF COMMIT; //日志 String arg_msg f_setsysoplog('价格表','删除价格表:'+al_name,arg_msg,TRUE) //-- MessageBox('提示','价格表删除操作成功!',information!,ok!) dw_1.Reset() dw_pageretr.Retrieve() end event type cb_viewprint from uo_imflatbutton within w_sale_price_list integer x = 2770 integer width = 192 integer height = 172 integer taborder = 240 boolean bringtotop = true string text = "预览&P" string normalpicname = "preview.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;String ls_dft_old_dwname, ls_dft_new_dwname,ls_chnname,ls_dwtype Long ls_dwprintid String ls_windowname Int ls_i Long ll_billid Int li_ifuse Long ll_row String Name,ll_rpname Long ll_RpID,ll_flag,ll_ifuse w_curwin = PARENT ls_windowname = PARENT.ClassName ( ) SELECT billid,ifuse INTO :ll_billid, :li_ifuse FROM u_report_bill Where winName = :ls_windowname; IF sqlca.SQLCode <> 0 THEN li_ifuse = 0 END IF li_ifuse = 0 IF li_ifuse = 0 THEN DECLARE dft_dwprint CURSOR FOR SELECT dwprintid,dft_old_dwname, dft_new_dwname, chnname, dwtype FROM sys_dft_dwprint_dynamic WHERE dwtype = :ls_windowname AND ptype = 0 and ifuse = 1; OPEN dft_dwprint; FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_viewprint',0,0) ELSE m_dft_dwprint_item m_1 m_1 = CREATE m_dft_dwprint_item ls_i = 1 DO WHILE sqlca.SQLCode = 0 f_add_menuItem_dft(m_1,ls_i,ls_chnname,String(ls_dwprintid)) FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype; ls_i++ LOOP CLOSE dft_dwprint; m_1.PopMenu(THIS.X+50,THIS.Y+50) END IF ELSE DECLARE rpt_dwprint CURSOR FOR SELECT RpID,RpName,Flag,Ifuse FROM U_report_list WHERE billid = :ll_billid Order By RpName; OPEN rpt_dwprint; FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_rpt_viewprint',0,0) ELSE m_rpt_dwprint_item m_2 m_2 = CREATE m_rpt_dwprint_item ls_i = 1 DO WHILE sqlca.SQLCode = 0 IF f_pow_rpt(ll_RpID) AND ll_ifuse = 1 AND ll_flag = 1 THEN //权限检查f_pow_rpt( ) f_add_menuItem_rpt(m_2,ls_i,ll_rpname,String(ll_RpID)) END IF FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse; ls_i++ LOOP CLOSE rpt_dwprint; m_2.Item[1].Visible = FALSE m_2.PopMenu(THIS.X+50,THIS.Y+50) END IF END IF //IF NOT f_power_ind(635) THEN // MessageBox('提示','你没有使用权限!',information!,ok!) // RETURN //END IF // // //Long LS_ROW,ls_pricelistid //LS_ROW = dw_pageretr.GetRow() //IF LS_ROW <= 0 THEN // MessageBox('提示','没有打印目标单据!',information!,ok!) // RETURN //END IF // //ls_pricelistid = dw_pageretr.Object.pricelistid[LS_ROW] // //Int li_flag //SELECT flag INTO :li_flag // FROM u_sale_price_list // Where pricelistid = :ls_pricelistid; //IF sqlca.SQLCode <> 0 THEN // MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) // RETURN //END IF // //IF li_flag = 0 THEN // MessageBox('提示','当前价格表未审核,不能打印!',information!,ok!) // RETURN //END IF // //wf_dw() //S_print_MSG LS_PRMSG //LS_PRMSG.obj_dwNAME = ls_new_dwname //LS_PRMSG.TAG_TEXT = parent.title //LS_PRMSG.FILTER_STRING = '' //LS_PRMSG.retr_pram_falg = 2 //LS_PRMSG.PAGECH_FLAG = 0 //LS_PRMSG.retr_pramnmb = dw_pageretr.Object.pricelistid[LS_ROW] //OpenWithParm(w_publ_preview,LS_PRMSG) end event type dw_1 from u_dw_rbtnfilter within w_sale_price_list event ue_dwndropdown pbm_dwndropdown integer x = 1312 integer y = 340 integer width = 2245 integer height = 1804 integer taborder = 50 boolean titlebar = true string title = "对应价格表明细内容" string dataobject = "dw_sale_price_edit" boolean maxbox = true boolean hscrollbar = true boolean vscrollbar = true boolean resizable = true boolean hsplitscroll = true borderstyle borderstyle = stylebox! end type event ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch String ls_col_value String ls_data_type Long ll_row,ll_mtrlid s_pzwin_open arg_s_win ll_row = THIS.GetRow() IF ll_row > 0 THEN ls_col_mtrlid = THIS.Describe("#1.Name") IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid) ls_col_pz = THIS.GetColumnName( ) ls_data_type = dw_1.Describe(ls_col_pz+".ColType") IF Pos(Lower(ls_data_type),"char") > 0 THEN ls_col_value = THIS.GetItemString(ll_row,ls_col_pz) END IF arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y - 200 arg_s_win.arg_col = ls_col_pz arg_s_win.arg_mtrlid = ll_mtrlid arg_s_win.arg_col_value = ls_col_value ls_pz_ch = f_mtrl_pz(arg_s_win) IF ls_pz_ch = '' THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) return 1 END IF end event event clicked;IF row > 0 THEN THIS.SetRow(row) THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关 RBUTTON_FILTER_USE=true //右键查询功能开关 end event event rowfocuschanged;IF currentrow <= 0 THEN RETURN This.SelectRow(0,False) This.SelectRow(currentrow,True) IF dw_edit_mode THEN Parent.TriggerEvent('ue_allowedit') END IF Parent.TriggerEvent('ue_mtrl_info_retr') end event event doubleclicked;call super::doubleclicked;IF NOT dw_edit_mode OR row <= 0 THEN RETURN IF dwo.Name = 'u_sale_price_mx_unit' THEN PARENT.TriggerEvent('ue_f8') END IF end event type cb_setdft from uo_imflatbutton within w_sale_price_list integer x = 453 integer width = 256 integer height = 172 integer taborder = 80 boolean bringtotop = true string text = "取消标准" string normalpicname = "update.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.triggerevent("ue_set_dft") /*IF NOT f_power_ind(3) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long ls_pricelistid,row Decimal ls_saleprice String al_name row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF al_name = dw_pageretr.Object.listname[row] IF MessageBox ("询问","是否确定要取消设定价格表'"+al_name+"'为标准价格表?",Question!,YesNo! ) = 2 THEN RETURN ls_pricelistid = dw_pageretr.Object.pricelistid[row] UPDATE u_sale_price_list SET dftflag = 0 Where u_sale_price_list.pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','取消设定价格表为标准价格表操作失败!',stopsign!,ok!) RETURN END IF COMMIT; MessageBox('提示','标准价格表取消设定操作成功!',information!,ok!) dw_pageretr.Retrieve() */ end event type cb_audit from uo_imflatbutton within w_sale_price_list integer x = 709 integer width = 151 integer height = 172 integer taborder = 90 boolean bringtotop = true string text = "审核" 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(634) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long ls_pricelistid,row Decimal ls_saleprice String al_name row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF al_name = dw_pageretr.Object.listname[row] IF MessageBox ("询问","是否确定要审核价格表'"+al_name+"'?",Question!,YesNo! ) = 2 THEN RETURN ls_pricelistid = dw_pageretr.Object.pricelistid[row] Int li_flag SELECT flag INTO :li_flag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_flag = 1 THEN MessageBox('提示','当前价格表已审核,不能再审核!',information!,ok!) RETURN END IF UPDATE u_sale_price_list SET flag = 1 , auditingrep = :publ_operator, auditingdate = getdate() Where u_sale_price_list.pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','审核价格表操作失败!',stopsign!,ok!) RETURN END IF COMMIT; MessageBox('提示','审核价格表操作成功!',information!,ok!) //dw_pageretr.Retrieve() dw_pageretr.Object.flag[row] = 1 dw_pageretr.Object.auditingrep[row] = publ_operator dw_pageretr.Object.auditingdate[row] = today() wf_refresh_interface() end event type cb_c_audit from uo_imflatbutton within w_sale_price_list integer x = 859 integer width = 151 integer height = 172 integer taborder = 100 boolean bringtotop = true string text = "撤审" string normalpicname = "caudit.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF NOT f_power_ind(634) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long ls_pricelistid,row Decimal ls_saleprice String al_name DateTime null_dt SetNull(null_dt) row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF al_name = dw_pageretr.Object.listname[row] IF MessageBox ("询问","是否确定要撤审价格表'"+al_name+"'?",Question!,YesNo! ) = 2 THEN RETURN ls_pricelistid = dw_pageretr.Object.pricelistid[row] Int li_flag SELECT flag INTO :li_flag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_flag = 0 THEN MessageBox('提示','当前价格表未审核,不能撤审!',information!,ok!) RETURN END IF UPDATE u_sale_price_list SET flag = 0 , auditingrep = '', auditingdate = :null_dt WHERE u_sale_price_list.pricelistid = :ls_pricelistid AND flag = 1; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','撤审价格表操作失败!',stopsign!,ok!) RETURN END IF COMMIT; MessageBox('提示','撤审价格表操作成功!',information!,ok!) //dw_pageretr.Retrieve() datetime ldt_date setnull(ldt_date) dw_pageretr.Object.flag[row] = 0 dw_pageretr.Object.auditingrep[row] = '' dw_pageretr.Object.auditingdate[row] = ldt_date wf_refresh_interface() end event type cb_help from uo_imflatbutton within w_sale_price_list string tag = "帮助[F1]" integer x = 2962 integer width = 151 integer height = 172 integer taborder = 220 boolean bringtotop = true string text = "帮助" string normalpicname = "help.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type st_1 from statictext within w_sale_price_list integer x = 2871 integer y = 236 integer width = 498 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 134217739 boolean focusrectangle = false end type type ddlb_dec from dropdownlistbox within w_sale_price_list integer x = 1591 integer y = 220 integer width = 178 integer height = 380 integer taborder = 250 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 16776960 boolean enabled = false string text = "2" string item[] = {"0","1","2","3","4"} borderstyle borderstyle = stylelowered! end type type sle_1 from singlelineedit within w_sale_price_list boolean visible = false integer x = 3008 integer y = 220 integer width = 581 integer height = 84 integer taborder = 280 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 event modified;String ls_barcode Long ll_mtrlid String ls_unit s_mtrldef_array arg_s_mtrldef ls_barcode = THIS.Text IF f_find_mtrl(ls_barcode,-1,arg_s_mtrldef) = 0 THEN THIS.Text = '' MessageBox('错误','查无此产品记录!',stopsign!,ok!) THIS.SetFocus() RETURN ELSE ls_barcode = arg_s_mtrldef.mtrlcode[1] END IF String Check Long al_mtrlid,i = 0,ls_pricelistid,row,ls_try = 0 row = dw_pageretr.GetRow() IF NOT row > 0 THEN MessageBox('提示','请选择当前价格表!',information!,ok!) RETURN END IF ls_pricelistid = dw_pageretr.Object.pricelistid[row] Int li_flag SELECT flag INTO :li_flag FROM u_sale_price_list Where pricelistid = :ls_pricelistid; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!) RETURN END IF IF li_flag = 1 THEN MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!) RETURN END IF INSERT INTO u_sale_price_mx ( pricelistid, mtrlid, price, unit) VALUES ( :ls_pricelistid, :arg_s_mtrldef.mtrlid[1], :arg_s_mtrldef.price[1], :arg_s_mtrldef.unit[1]) ; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('错误','在当前价格表增加产品失败!',stopsign!,ok!) ELSE COMMIT; dw_1.Retrieve(ls_pricelistid) END IF end event type st_3 from statictext within w_sale_price_list boolean visible = false integer x = 2766 integer y = 236 integer width = 233 integer height = 68 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false string text = "输入编码" boolean focusrectangle = false end type type ddlb_ptoplp from dropdownlistbox within w_sale_price_list integer x = 923 integer y = 220 integer width = 389 integer height = 512 integer taborder = 260 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean enabled = false string text = "设定销价×" string item[] = {"设定销价×","设定销价÷","客户定价×","客户定价÷","设定销价+","设定销价-","客户定价+","客户定价-"} borderstyle borderstyle = stylelowered! end type type em_rebate from editmask within w_sale_price_list integer x = 2249 integer y = 220 integer width = 197 integer height = 80 integer taborder = 270 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 16776960 boolean enabled = false string text = "1.00" alignment alignment = right! borderstyle borderstyle = stylelowered! string mask = "#0.0000" end type event modified;this.text=string(dec(this.text),'#0.0000') end event type cb_rebate from commandbutton within w_sale_price_list integer x = 2455 integer y = 220 integer width = 165 integer height = 84 integer taborder = 190 boolean bringtotop = true integer textsize = -9 integer weight = 700 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" boolean enabled = false string text = "->" end type event clicked;IF NOT dw_edit_mode THEN RETURN IF MessageBox ("询问","是否确定要批量修改折扣?",Question!,YesNo! ) = 2 THEN RETURN END IF Long ls_i,ls_count,ll_dec ls_count = dw_1.RowCount() FOR ls_i = 1 TO ls_count dw_1.Object.u_sale_price_mx_rebate[ls_i] = round(Dec(em_rebate.Text),2) st_1.Text = '更新:'+String(ls_i)+'/'+String(ls_count) NEXT st_1.Text = '' end event type st_2 from statictext within w_sale_price_list integer x = 2629 integer y = 236 integer width = 238 integer height = 68 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false string text = "折扣" boolean focusrectangle = false end type type cb_other from uo_imflatbutton within w_sale_price_list integer x = 2514 integer width = 256 integer height = 172 integer taborder = 200 boolean bringtotop = true string text = "辅助功能" string normalpicname = "update.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF dw_edit_mode THEN menustr = menustr + "|" + "Text=粘贴明细~tEvent=ue_bill_paste" ELSE menustr = "Text=复制明细~tEvent=ue_bill_copy" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查看产品相关信息~tEvent=ue_mtrl_info" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=更新单据定价~tEvent=ue_update_dftprice" menustr = menustr + "|" + "Text=日期范围内销售订单产品增加到价格表~tEvent=ue_date_addmtrl_saletask" menustr = menustr + "|" + "Text=日期范围内生产进仓单产品增加到价格表~tEvent=ue_date_addmtrl_inwarecp" 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_copyrow from uo_imflatbutton within w_sale_price_list integer x = 1925 integer width = 197 integer height = 172 integer taborder = 140 boolean bringtotop = true boolean enabled = false string text = "复制行" string normalpicname = "mx1.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF Not dw_edit_mode THEN RETURN Parent.TriggerEvent('ue_copyrow') end event type cb_1 from uo_imflatbutton within w_sale_price_list boolean visible = false integer x = 2075 integer width = 151 integer height = 172 integer taborder = 130 boolean bringtotop = true string text = "删行" string normalpicname = "undo.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF Not dw_edit_mode THEN MessageBox('系统提示','非编辑状态下不可用') RETURN END IF IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN IF dw_1.GetRow() = 0 THEN MessageBox('提示','请选择删除的行对象!') RETURN END IF boolean if_del = True Long ll_i dw_1.SetRedraw(False) FOR ll_i = dw_1.RowCount() To 1 Step -1 IF dw_1.IsSelected(ll_i) THEN dw_1.DeleteRow (ll_i) END IF NEXT dw_1.SetRedraw(True) if_del = False IF dw_1.RowCount() = 0 THEN dw_1.InsertRow(0) dw_1.TriggerEvent (RowFocusChanged!) end event type cb_2 from uo_imflatbutton within w_sale_price_list boolean visible = false integer x = 1925 integer width = 151 integer height = 172 integer taborder = 240 boolean bringtotop = true string text = "增行" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF Not dw_edit_mode THEN RETURN Parent.TriggerEvent('ue_ch_mtrl') end event type ln_bar from line within w_sale_price_list long linecolor = 268435456 integer linethickness = 4 integer beginy = 176 integer endx = 3323 integer endy = 176 end type type ln_bar2 from line within w_sale_price_list long linecolor = 16777215 integer linethickness = 4 integer beginy = 180 integer endx = 3323 integer endy = 180 end type type r_bar from rectangle within w_sale_price_list long linecolor = 16777215 long fillcolor = 1073741824 integer x = 3479 integer width = 73 integer height = 172 end type event constructor;this.fillcolor = 14215660 this.linecolor = 14215660 this.x = -1 this.y = -1 this.height = ln_bar2.beginy - 5 end event type ln_1 from line within w_sale_price_list long linecolor = 268435456 integer linethickness = 4 integer beginy = 336 integer endx = 3323 integer endy = 336 end type type ln_2 from line within w_sale_price_list long linecolor = 16777215 integer linethickness = 4 integer beginy = 340 integer endx = 3323 integer endy = 340 end type