w_cust_sample_add.srw 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. $PBExportHeader$w_cust_sample_add.srw
  2. forward
  3. global type w_cust_sample_add from w_publ_base
  4. end type
  5. type dw_1 from datawindow within w_cust_sample_add
  6. end type
  7. type cb_2 from uo_imflatbutton within w_cust_sample_add
  8. end type
  9. type cb_1 from uo_imflatbutton within w_cust_sample_add
  10. end type
  11. end forward
  12. global type w_cust_sample_add from w_publ_base
  13. integer width = 1806
  14. integer height = 1568
  15. string title = "客户样版"
  16. boolean minbox = false
  17. windowtype windowtype = response!
  18. event ue_f8 ( )
  19. dw_1 dw_1
  20. cb_2 cb_2
  21. cb_1 cb_1
  22. end type
  23. global w_cust_sample_add w_cust_sample_add
  24. type variables
  25. s_cust_sample s_sample_open
  26. uo_crm uo_cus
  27. end variables
  28. forward prototypes
  29. public function integer wf_save ()
  30. public function integer wf_insertrow ()
  31. end prototypes
  32. event ue_f8();Long child_row
  33. child_row = dw_1.GetRow()
  34. IF child_row <= 0 THEN RETURN
  35. IF NOT IsValid(W_mtrldef_edit) THEN
  36. s_edit_index_tran s_tranf8 //传递参数使用
  37. s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  38. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  39. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  40. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  41. s_tranf8.if_select_all = FALSE //多选
  42. s_tranf8.b_long = 0 //选采购
  43. s_tranf8.c_long = -1
  44. s_tranf8.f_long = -1
  45. Long chc = 1,ls_j
  46. IF dw_1.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_1.Object.u_mtrldef_mtrlcode[dw_1.GetRow()])
  47. OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
  48. s_mtrldef_array S_INSCUST
  49. S_INSCUST = Message.PowerObjectParm //接受返回结构
  50. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  51. IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  52. dw_1.Object.u_cust_sample_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  53. dw_1.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j]
  54. dw_1.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  55. dw_1.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  56. dw_1.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  57. END IF
  58. NEXT
  59. dw_1.setcolumn('u_cust_sample_qty')
  60. END IF
  61. end event
  62. public function integer wf_save ();Int rslt = 1
  63. Long li_row
  64. dw_1.AcceptText()
  65. li_row = dw_1.GetRow()
  66. IF li_row <= 0 THEN
  67. MessageBox('提示','记录错误',information!,ok!)
  68. rslt = 0
  69. GOTO ext
  70. END IF
  71. s_cust_sample s_sample
  72. String arg_msg
  73. s_sample.sampleid = dw_1.Object.u_cust_sample_sampleid[li_row]
  74. s_sample.cusid = dw_1.Object.u_cust_sample_cusid[li_row]
  75. s_sample.saler = Trim(dw_1.Object.u_cust_sample_saler[li_row])
  76. s_sample.sampledate = dw_1.Object.u_cust_sample_sampledate[li_row]
  77. s_sample.qty = dw_1.Object.u_cust_sample_qty[li_row]
  78. s_sample.samplecontent = Trim(dw_1.Object.u_cust_sample_samplecontent[li_row])
  79. s_sample.mtrlid = dw_1.Object.u_cust_sample_mtrlid[li_row]
  80. IF uo_cus.uof_add_sample(s_sample,publ_operator,arg_msg,TRUE) = 0 THEN
  81. MessageBox('错误',arg_msg,stopsign!,ok!)
  82. rslt = 0
  83. GOTO ext
  84. END IF
  85. ext:
  86. RETURN rslt
  87. end function
  88. public function integer wf_insertrow ();Long ll_row
  89. dw_1.Reset()
  90. ll_row = dw_1.InsertRow(0)
  91. dw_1.Object.u_cust_sample_cusid[ll_row] = s_sample_open.cusid
  92. dw_1.SetFocus()
  93. dw_1.SetColumn('u_cust_sample_sampledate')
  94. RETURN 1
  95. end function
  96. on w_cust_sample_add.create
  97. int iCurrent
  98. call super::create
  99. this.dw_1=create dw_1
  100. this.cb_2=create cb_2
  101. this.cb_1=create cb_1
  102. iCurrent=UpperBound(this.Control)
  103. this.Control[iCurrent+1]=this.dw_1
  104. this.Control[iCurrent+2]=this.cb_2
  105. this.Control[iCurrent+3]=this.cb_1
  106. end on
  107. on w_cust_sample_add.destroy
  108. call super::destroy
  109. destroy(this.dw_1)
  110. destroy(this.cb_2)
  111. destroy(this.cb_1)
  112. end on
  113. event open;call super::open;dw_1.SetTransObject(sqlca)
  114. s_sample_open = Message.PowerObjectParm
  115. uo_cus = CREATE uo_crm
  116. IF s_sample_open.sampleid = 0 THEN
  117. wf_insertrow()
  118. ELSE
  119. dw_1.Retrieve(s_sample_open.sampleid)
  120. END IF
  121. end event
  122. event close;call super::close;destroy uo_cus
  123. end event
  124. type cb_func from w_publ_base`cb_func within w_cust_sample_add
  125. boolean visible = false
  126. integer x = 1056
  127. integer y = 580
  128. boolean enabled = false
  129. end type
  130. type cb_exit from w_publ_base`cb_exit within w_cust_sample_add
  131. integer x = 1353
  132. integer y = 1344
  133. integer taborder = 30
  134. string text = "取消"
  135. end type
  136. type dw_1 from datawindow within w_cust_sample_add
  137. event key pbm_dwnkey
  138. event dwnkey pbm_dwnkey
  139. integer x = 59
  140. integer y = 52
  141. integer width = 1669
  142. integer height = 1252
  143. integer taborder = 10
  144. boolean bringtotop = true
  145. string dataobject = "dw_cust_crm_sample_add"
  146. boolean livescroll = true
  147. borderstyle borderstyle = stylelowered!
  148. end type
  149. event key;s_mtrldef_array arg_s_mtrldef
  150. String ls_mtrlcode
  151. Long child_row
  152. child_row = dw_1.GetRow()
  153. IF child_row <= 0 THEN RETURN
  154. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  155. IF dw_1.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  156. dw_1.AcceptText()
  157. ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[child_row]
  158. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  159. PARENT.TriggerEvent('ue_f8')
  160. RETURN 1
  161. ELSE
  162. dw_1.Object.u_cust_sample_mtrlid[child_row] = arg_s_mtrldef.mtrlid[1]
  163. dw_1.Object.u_mtrldef_mtrlcode[child_row] = arg_s_mtrldef.mtrlcode[1]
  164. dw_1.Object.u_mtrldef_mtrlname[child_row] = arg_s_mtrldef.mtrlname[1]
  165. dw_1.Object.u_mtrldef_unit[child_row] = arg_s_mtrldef.unit[1]
  166. dw_1.Object.u_mtrldef_mtrlmode[child_row] = arg_s_mtrldef.mtrlmode[1]
  167. END IF
  168. IF Key = keyenter! THEN
  169. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  170. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  171. RETURN 1
  172. END IF
  173. ELSE
  174. IF Key = keyenter! THEN
  175. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  176. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  177. RETURN 1
  178. END IF
  179. END IF
  180. END IF
  181. end event
  182. event dwnkey;IF Key = KeyDownArrow! THEN RETURN 1
  183. IF Key = keyenter! OR Key = KeyDownArrow! THEN //
  184. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  185. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  186. RETURN 0
  187. ELSEIF Key = keyuparrow! THEN
  188. keybd_event ( 16, 0, 0 , 0 )
  189. keybd_event ( 9, 0, 0 , 0 )
  190. keybd_event ( 9, 0, 2, 0 )
  191. keybd_event ( 16, 0, 2, 0 )
  192. RETURN 0
  193. END IF
  194. end event
  195. event rbuttondown;Long ll_row,ll_column
  196. ll_row = THIS.GetRow()
  197. ll_column = THIS.GetColumn()
  198. IF ll_row <= 0 THEN RETURN
  199. IF ll_column <= 0 THEN RETURN
  200. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  201. s_calender_arg s_calender
  202. s_calender.PointerX = THIS.PointerX()
  203. s_calender.PointerY = THIS.PointerY()
  204. s_calender.X = THIS.X + PARENT.X
  205. s_calender.Y = THIS.Y + PARENT.Y
  206. OpenWithParm(w_calendar,s_calender)
  207. THIS.SetItem(ll_row,ll_column,id_date_selected)
  208. end if
  209. end event
  210. event buttonclicked;PARENT.TriggerEvent('ue_f8')
  211. end event
  212. type cb_2 from uo_imflatbutton within w_cust_sample_add
  213. integer x = 782
  214. integer y = 1344
  215. integer width = 407
  216. integer height = 96
  217. integer taborder = 40
  218. string text = "保存[C^+S]"
  219. string normalpicname = "save.bmp"
  220. end type
  221. event clicked;call super::clicked;if wf_save() = 0 then return
  222. close(parent)
  223. end event
  224. type cb_1 from uo_imflatbutton within w_cust_sample_add
  225. integer x = 128
  226. integer y = 1344
  227. integer width = 489
  228. integer height = 96
  229. integer taborder = 40
  230. string text = "保存&新增[&S]"
  231. string normalpicname = "save.bmp"
  232. end type
  233. event clicked;call super::clicked;IF wf_save() = 0 THEN RETURN
  234. wf_insertrow()
  235. end event