$PBExportHeader$w_order_ml_spt_change.srw forward global type w_order_ml_spt_change from w_publ_base end type type dw_1 from u_dw_rbtnfilter within w_order_ml_spt_change end type type cb_save from uo_imflatbutton within w_order_ml_spt_change end type type ln_bar from line within w_order_ml_spt_change end type type ln_bar2 from line within w_order_ml_spt_change end type type r_bar from rectangle within w_order_ml_spt_change end type type cb_help from uo_imflatbutton within w_order_ml_spt_change end type type ln_3 from line within w_order_ml_spt_change end type type ln_4 from line within w_order_ml_spt_change end type end forward global type w_order_ml_spt_change from w_publ_base integer width = 3621 integer height = 2460 string title = "修改供应商" boolean minbox = false windowtype windowtype = response! windowstate windowstate = maximized! event ue_sort_1 ( ) event ue_sort_2 ( ) event ue_help ( ) event ue_f9 ( ) dw_1 dw_1 cb_save cb_save ln_bar ln_bar ln_bar2 ln_bar2 r_bar r_bar cb_help cb_help ln_3 ln_3 ln_4 ln_4 end type global w_order_ml_spt_change w_order_ml_spt_change type variables Long i_taskid,i_scid Long i_printid long i_mtrlid Long ll_unlock_row Boolean if_cmpl = TRUE Decimal i_d_cmplqty_old Int i_i_plantype_old Long i_l_scid_old end variables event ue_sort_1();IF MessageBox ("IF","是否确定要重新排序已运算的数据,重新排序后可能会影响下级换料,是否继续?",Question!,YesNo! ) = 2 THEN RETURN dw_1.SetSort('u_orderrqmtrl_tree_ifmainmtrlid ds,u_orderrqmtrl_tree_wrkgrpid as') dw_1.Sort( ) end event event ue_sort_2();IF MessageBox ("IF","是否确定要重新排序已运算的数据,重新排序后可能会影响下级换料,是否继续?",Question!,YesNo! ) = 2 THEN RETURN dw_1.SetSort(' ,u_mtrldef_mtrltype as') dw_1.Sort( ) end event event ue_help();Int i i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".htm") end event event ue_f9();Long uc_row uc_row = dw_1.GetRow() IF uc_row = 0 THEN MessageBox('系统提示','请选定目标行!') RETURN END IF dw_1.AcceptText() IF Not IsValid(W_spt_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.arg_string_code = '' OpenWithParm(W_spt_edit,s_ch_tran) //调用 S_spt S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 dw_1.SetRedraw(False) dw_1.Object.u_OrderRqMtrl_sptid[uc_row] = S_INSCUST.sptid dw_1.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode dw_1.Object.u_spt_name[uc_row] = S_INSCUST.Name dw_1.SetColumn("u_spt_sptcode") dw_1.SetRedraw(True) END IF END IF end event on w_order_ml_spt_change.create int iCurrent call super::create this.dw_1=create dw_1 this.cb_save=create cb_save this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.r_bar=create r_bar this.cb_help=create cb_help this.ln_3=create ln_3 this.ln_4=create ln_4 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_1 this.Control[iCurrent+2]=this.cb_save this.Control[iCurrent+3]=this.ln_bar this.Control[iCurrent+4]=this.ln_bar2 this.Control[iCurrent+5]=this.r_bar this.Control[iCurrent+6]=this.cb_help this.Control[iCurrent+7]=this.ln_3 this.Control[iCurrent+8]=this.ln_4 end on on w_order_ml_spt_change.destroy call super::destroy destroy(this.dw_1) destroy(this.cb_save) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.r_bar) destroy(this.cb_help) destroy(this.ln_3) destroy(this.ln_4) end on event resize;call super::resize;ln_bar.EndX = THIS.Width ln_bar2.EndX = THIS.Width r_bar.Width = THIS.Width ln_3.EndX = THIS.Width ln_4.EndX = THIS.Width dw_1.Width = THIS.Width - dw_1.X - 40 dw_1.Height = THIS.Height - dw_1.Y - 150 end event event open;call super::open; s_order_ml_mrp s_mrp s_mrp = Message.PowerObjectParm i_taskid = s_mrp.taskid i_scid = s_mrp.scid i_printid = s_mrp.printid i_mtrlid = s_mrp.mtrlid dw_1.SetTransObject(sqlca) dw_1.Retrieve(i_scid,i_taskid,i_printid) end event event ue_before_open;call super::ue_before_open;if_ue_sort = TRUE end event event key;call super::key;IF KeyDown(KeyF1!) THEN THIS.TriggerEvent('ue_help') end if end event type cb_func from w_publ_base`cb_func within w_order_ml_spt_change boolean visible = false integer x = 2738 integer width = 165 integer height = 164 boolean enabled = false end type type cb_exit from w_publ_base`cb_exit within w_order_ml_spt_change integer width = 165 integer height = 164 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type dw_1 from u_dw_rbtnfilter within w_order_ml_spt_change integer y = 192 integer width = 3543 integer height = 1872 integer taborder = 20 boolean bringtotop = true string dataobject = "dw_order_ml_spt_change_index" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true end type event rowfocuschanged;call super::rowfocuschanged; IF currentrow > 0 THEN THIS.SelectRow(0,FALSE) THIS.SetRow(currentrow) THIS.SelectRow(currentrow,TRUE) END IF end event event clicked;call super::clicked; IF row > 0 THEN THIS.SelectRow(0,FALSE) THIS.SetRow(row) THIS.SelectRow(row,TRUE) END IF end event event doubleclicked;call super::doubleclicked;IF row > 0 THEN IF dwo.Name = 'u_spt_sptcode' THEN Parent.TriggerEvent('ue_f9') END IF END IF end event event rbuttondown;Long ll_row,ll_column ll_row = THIS.GetRow() ll_column = THIS.GetColumn() IF ll_row <= 0 THEN RETURN IF ll_column <= 0 THEN RETURN IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN s_calender_arg s_calender s_calender.PointerX = xpos s_calender.PointerY = ypos s_calender.X = THIS.X + PARENT.X s_calender.Y = THIS.Y + PARENT.Y OpenWithParm(w_calendar,s_calender) THIS.SetItem(ll_row,ll_column,id_date_selected) END IF end event event dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key') //IF Key = KeyDownArrow! THEN RETURN 1 IF dw_1.GetColumnName ( ) = 'u_spt_sptcode' And (Key = KeyEnter! OR Key = KeyDownArrow! OR Key = KeyUpArrow!) THEN String ls_code,ls_name,ls_find_code Long ls_sptid Long cnt = 0 Boolean if_find = False Long dftbanktypeid Long dftmoneyid dw_1.AcceptText() ls_code = Upper(Trim(dw_1.Object.u_spt_sptcode[dw_1.GetRow()])) SELECT u_spt.sptid, u_spt.name, u_spt.sptcode, dftbanktypeid, dftmoneyid INTO :ls_sptid,:ls_name,:ls_code,:dftbanktypeid,:dftmoneyid FROM u_spt Where ( sptcode = :ls_code Or Name = :ls_code ); IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(ls_code),'%') = 0 THEN ls_find_code = '%'+ Trim(ls_code) + '%' ELSE ls_find_code = Trim(ls_code) END IF SELECT count(*) INTO :cnt FROM u_spt Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f9') RETURN 1 END IF IF cnt <> 1 THEN Parent.TriggerEvent('ue_f9') RETURN 1 ELSE SELECT u_spt.sptid, u_spt.sptcode, u_spt.name INTO :ls_sptid,:ls_code,:ls_name FROM u_spt Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN Parent.TriggerEvent('ue_f9') RETURN 1 ELSE if_find = True END IF END IF ELSE if_find = True END IF IF if_find THEN dw_1.SetRedraw(False) dw_1.Object.u_OrderRqMtrl_sptid[dw_1.GetRow()] = ls_sptid dw_1.Object.u_spt_sptcode[dw_1.GetRow()] = ls_code dw_1.Object.u_spt_name[dw_1.GetRow()] = ls_name dw_1.SetRedraw(True) dw_1.SetColumn("u_spt_sptcode") RETURN 1 END IF ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF end event type cb_save from uo_imflatbutton within w_order_ml_spt_change integer width = 165 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "保存" string normalpicname = "save.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;Long ll_i,ch,ch_tree String arg_msg s_order_ml_rqmtrl s_mtrl dw_1.AcceptText() IF dw_1.RowCount() <= 0 THEN MessageBox('提示','没有可保存的数据') RETURN END IF FOR ll_i = 1 To dw_1.RowCount() ch++ s_mtrl.sptid[ch] = dw_1.Object.u_orderrqmtrl_sptid[ll_i] s_mtrl.scid[ch] = dw_1.Object.u_orderrqmtrl_scid[ll_i] s_mtrl.taskID[ch] = dw_1.Object.u_orderrqmtrl_taskid[ll_i] s_mtrl.MtrlID[ch] = dw_1.Object.u_orderrqmtrl_mtrlid[ll_i] s_mtrl.status[ch] = dw_1.Object.u_orderrqmtrl_status[ll_i] s_mtrl.woodcode[ch] = dw_1.Object.u_orderrqmtrl_woodcode[ll_i] s_mtrl.pcode[ch] = dw_1.Object.u_orderrqmtrl_pcode[ll_i] s_mtrl.plantype[ch] = dw_1.Object.u_orderrqmtrl_plantype[ll_i] s_mtrl.printid[ch] = dw_1.Object.u_orderrqmtrl_printid[ll_i] NEXT uo_order_ml uo_ml_mrp uo_ml_mrp = Create uo_order_ml uo_ml_mrp.commit_transaction = sqlca IF uo_ml_mrp.uof_mod_rqmtrl(s_mtrl,True,arg_msg) = 0 THEN MessageBox('提示',arg_msg) RETURN END IF Destroy uo_ml_mrp MessageBox('提示','保存成功') Close(Parent) end event type ln_bar from line within w_order_ml_spt_change long linecolor = 268435456 integer linethickness = 4 integer beginy = 176 integer endx = 3323 integer endy = 176 end type type ln_bar2 from line within w_order_ml_spt_change long linecolor = 16777215 integer linethickness = 4 integer beginy = 180 integer endx = 3323 integer endy = 180 end type type r_bar from rectangle within w_order_ml_spt_change long linecolor = 16777215 long fillcolor = 1073741824 integer x = 2473 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 cb_help from uo_imflatbutton within w_order_ml_spt_change integer x = 165 integer width = 151 integer height = 164 integer taborder = 20 boolean bringtotop = true string text = "帮助" string normalpicname = "help.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;PARENT.TriggerEvent('ue_help') end event type ln_3 from line within w_order_ml_spt_change boolean visible = false long linecolor = 268435456 integer linethickness = 4 integer beginy = 272 integer endx = 3323 integer endy = 272 end type type ln_4 from line within w_order_ml_spt_change boolean visible = false long linecolor = 16777215 integer linethickness = 4 integer beginy = 276 integer endx = 3323 integer endy = 276 end type