$PBExportHeader$w_cust_sample_add.srw forward global type w_cust_sample_add from w_publ_base end type type dw_1 from datawindow within w_cust_sample_add end type type cb_2 from uo_imflatbutton within w_cust_sample_add end type type cb_1 from uo_imflatbutton within w_cust_sample_add end type end forward global type w_cust_sample_add from w_publ_base integer width = 1806 integer height = 1568 string title = "客户样版" boolean minbox = false windowtype windowtype = response! event ue_f8 ( ) dw_1 dw_1 cb_2 cb_2 cb_1 cb_1 end type global w_cust_sample_add w_cust_sample_add type variables s_cust_sample s_sample_open uo_crm uo_cus end variables forward prototypes public function integer wf_save () public function integer wf_insertrow () end prototypes event ue_f8();Long child_row child_row = dw_1.GetRow() IF child_row <= 0 THEN RETURN 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 = FALSE //多选 s_tranf8.b_long = 0 //选采购 s_tranf8.c_long = -1 s_tranf8.f_long = -1 Long chc = 1,ls_j IF dw_1.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_1.Object.u_mtrldef_mtrlcode[dw_1.GetRow()]) OpenWithParm(W_mtrldef_edit,s_tranf8) //调用 s_mtrldef_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 dw_1.Object.u_cust_sample_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_1.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] dw_1.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_1.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_1.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] END IF NEXT dw_1.setcolumn('u_cust_sample_qty') END IF end event public function integer wf_save ();Int rslt = 1 Long li_row dw_1.AcceptText() li_row = dw_1.GetRow() IF li_row <= 0 THEN MessageBox('提示','记录错误',information!,ok!) rslt = 0 GOTO ext END IF s_cust_sample s_sample String arg_msg s_sample.sampleid = dw_1.Object.u_cust_sample_sampleid[li_row] s_sample.cusid = dw_1.Object.u_cust_sample_cusid[li_row] s_sample.saler = Trim(dw_1.Object.u_cust_sample_saler[li_row]) s_sample.sampledate = dw_1.Object.u_cust_sample_sampledate[li_row] s_sample.qty = dw_1.Object.u_cust_sample_qty[li_row] s_sample.samplecontent = Trim(dw_1.Object.u_cust_sample_samplecontent[li_row]) s_sample.mtrlid = dw_1.Object.u_cust_sample_mtrlid[li_row] IF uo_cus.uof_add_sample(s_sample,publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) rslt = 0 GOTO ext END IF ext: RETURN rslt end function public function integer wf_insertrow ();Long ll_row dw_1.Reset() ll_row = dw_1.InsertRow(0) dw_1.Object.u_cust_sample_cusid[ll_row] = s_sample_open.cusid dw_1.SetFocus() dw_1.SetColumn('u_cust_sample_sampledate') RETURN 1 end function on w_cust_sample_add.create int iCurrent call super::create this.dw_1=create dw_1 this.cb_2=create cb_2 this.cb_1=create cb_1 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_1 this.Control[iCurrent+2]=this.cb_2 this.Control[iCurrent+3]=this.cb_1 end on on w_cust_sample_add.destroy call super::destroy destroy(this.dw_1) destroy(this.cb_2) destroy(this.cb_1) end on event open;call super::open;dw_1.SetTransObject(sqlca) s_sample_open = Message.PowerObjectParm uo_cus = CREATE uo_crm IF s_sample_open.sampleid = 0 THEN wf_insertrow() ELSE dw_1.Retrieve(s_sample_open.sampleid) END IF end event event close;call super::close;destroy uo_cus end event type cb_func from w_publ_base`cb_func within w_cust_sample_add boolean visible = false integer x = 1056 integer y = 580 boolean enabled = false end type type cb_exit from w_publ_base`cb_exit within w_cust_sample_add integer x = 1353 integer y = 1344 integer taborder = 30 string text = "取消" end type type dw_1 from datawindow within w_cust_sample_add event key pbm_dwnkey event dwnkey pbm_dwnkey integer x = 59 integer y = 52 integer width = 1669 integer height = 1252 integer taborder = 10 boolean bringtotop = true string dataobject = "dw_cust_crm_sample_add" boolean livescroll = true borderstyle borderstyle = stylelowered! end type event key;s_mtrldef_array arg_s_mtrldef String ls_mtrlcode Long child_row child_row = dw_1.GetRow() IF child_row <= 0 THEN RETURN IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN IF dw_1.GetColumnName() = 'u_mtrldef_mtrlcode' THEN dw_1.AcceptText() ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE dw_1.Object.u_cust_sample_mtrlid[child_row] = arg_s_mtrldef.mtrlid[1] dw_1.Object.u_mtrldef_mtrlcode[child_row] = arg_s_mtrldef.mtrlcode[1] dw_1.Object.u_mtrldef_mtrlname[child_row] = arg_s_mtrldef.mtrlname[1] dw_1.Object.u_mtrldef_unit[child_row] = arg_s_mtrldef.unit[1] dw_1.Object.u_mtrldef_mtrlmode[child_row] = arg_s_mtrldef.mtrlmode[1] END IF IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab 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 IF end event event dwnkey;IF Key = KeyDownArrow! THEN RETURN 1 IF Key = keyenter! OR Key = KeyDownArrow! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 0 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 0 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 = THIS.PointerX() s_calender.PointerY = THIS.PointerY() 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 buttonclicked;PARENT.TriggerEvent('ue_f8') end event type cb_2 from uo_imflatbutton within w_cust_sample_add integer x = 782 integer y = 1344 integer width = 407 integer height = 96 integer taborder = 40 string text = "保存[C^+S]" string normalpicname = "save.bmp" end type event clicked;call super::clicked;if wf_save() = 0 then return close(parent) end event type cb_1 from uo_imflatbutton within w_cust_sample_add integer x = 128 integer y = 1344 integer width = 489 integer height = 96 integer taborder = 40 string text = "保存&新增[&S]" string normalpicname = "save.bmp" end type event clicked;call super::clicked;IF wf_save() = 0 THEN RETURN wf_insertrow() end event