w_planprice_changed.srw 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930
  1. $PBExportHeader$w_planprice_changed.srw
  2. forward
  3. global type w_planprice_changed from w_publ_1ton_share_detail
  4. end type
  5. end forward
  6. global type w_planprice_changed from w_publ_1ton_share_detail
  7. integer height = 2520
  8. string title = "产品计划价调整单"
  9. boolean maxbox = true
  10. windowstate windowstate = maximized!
  11. event insert_childrow ( )
  12. end type
  13. global w_planprice_changed w_planprice_changed
  14. type variables
  15. long cur_flag = -1,flag
  16. uo_changed_planprice uo_changed
  17. int cur_editfocus=0 //1:新建2:修改
  18. end variables
  19. forward prototypes
  20. public function integer wf_refresh_curuc (long arg_billid)
  21. public function integer wf_flagstatus_rf ()
  22. end prototypes
  23. event insert_childrow();long li_row
  24. li_row=dw_child.insertrow(0)
  25. dw_child.scrolltorow(li_row)
  26. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  27. end event
  28. public function integer wf_refresh_curuc (long arg_billid);//====================================================================
  29. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  30. //--------------------------------------------------------------------
  31. // Description: 刷新dw_uc
  32. //--------------------------------------------------------------------
  33. // Arguments:
  34. // value long arg_scid
  35. // value long arg_inwareid
  36. //--------------------------------------------------------------------
  37. // Returns: integer
  38. //--------------------------------------------------------------------
  39. // Author: yyx Date: 2003.11.14
  40. //--------------------------------------------------------------------
  41. // Modify History:
  42. //
  43. //====================================================================
  44. if arg_billid<=0 or isnull(arg_billid) then return 0
  45. long uc_row
  46. uc_row=dw_pageretr.getrow()
  47. if uc_row<=0 then return 0
  48. datetime billdate
  49. string billrep
  50. string dscrp
  51. int ll_flag
  52. string billcode
  53. datetime opdate
  54. string opemp
  55. string modemp
  56. datetime moddate
  57. datetime Auditdate
  58. string Auditemp
  59. select u_planprice_changed.billcode,
  60. u_planprice_changed.billdate,
  61. u_planprice_changed.billrep,
  62. u_planprice_changed.dscrp,
  63. u_planprice_changed.opdate,
  64. u_planprice_changed.opemp,
  65. u_planprice_changed.modemp,
  66. u_planprice_changed.moddate,
  67. u_planprice_changed.flag,
  68. u_planprice_changed.auditemp,
  69. u_planprice_changed.auditdate
  70. into :billcode,
  71. :billdate,
  72. :billrep,
  73. :dscrp,
  74. :opdate,
  75. :opemp,
  76. :modemp,
  77. :moddate,
  78. :ll_flag,
  79. :auditemp,
  80. :auditdate
  81. from u_planprice_changed
  82. where ( u_planprice_changed.billid = :arg_billid );
  83. if sqlca.sqlcode<>0 then
  84. messagebox('错误',"查询操作失败(错误单据唯一码)",stopsign!,ok!)
  85. return 0
  86. end if
  87. dw_pageretr.object.billcode[uc_row] = billcode
  88. dw_pageretr.object.billdate[uc_row] = billdate
  89. dw_pageretr.object.billrep[uc_row] = billrep
  90. dw_pageretr.object.dscrp[uc_row] = dscrp
  91. dw_pageretr.object.opdate[uc_row] = opdate
  92. dw_pageretr.object.opemp[uc_row] = opemp
  93. dw_pageretr.object.modemp[uc_row] = modemp
  94. dw_pageretr.object.moddate[uc_row] = moddate
  95. dw_pageretr.object.flag[uc_row] = ll_flag
  96. dw_pageretr.object.auditemp[uc_row] = auditemp
  97. dw_pageretr.object.auditdate[uc_row]= auditdate
  98. dw_pageretr.object.billid[uc_row] = arg_billid
  99. dw_pageretr.resetupdate()
  100. dw_pageretr.setredraw(true)
  101. dw_uc.Reset()
  102. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  103. dw_uc.ResetUpdate()
  104. dw_uc.SetRedraw(TRUE)
  105. wf_flagstatus_rf()
  106. return 1
  107. end function
  108. public function integer wf_flagstatus_rf ();//====================================================================
  109. // Function: wf_flagstatus_rf()
  110. //--------------------------------------------------------------------
  111. // Description:
  112. //--------------------------------------------------------------------
  113. // Arguments:(None)
  114. //--------------------------------------------------------------------
  115. // Returns: integer
  116. //--------------------------------------------------------------------
  117. // Author: yyx Date: 2003.12.26
  118. //--------------------------------------------------------------------
  119. // Modify History:
  120. //
  121. //====================================================================
  122. long pagerert_row
  123. pagerert_row=dw_pageretr.getrow()
  124. if pagerert_row<=0 then
  125. cb_auditing.enabled=false
  126. goto ext
  127. end if
  128. if dw_edit_mode then
  129. cb_auditing.enabled=false
  130. cb_auditing_cancel.enabled=false
  131. else
  132. if dw_pageretr.object.flag[pagerert_row]=0 then
  133. cb_auditing.enabled=true
  134. cb_auditing_cancel.enabled=false
  135. elseif dw_pageretr.object.flag[pagerert_row]=1 then
  136. cb_auditing.enabled=false
  137. cb_auditing_cancel.enabled=true
  138. end if
  139. end if
  140. ext:
  141. return 0
  142. end function
  143. on w_planprice_changed.create
  144. call super::create
  145. end on
  146. on w_planprice_changed.destroy
  147. call super::destroy
  148. end on
  149. event open;THIS.TriggerEvent('ue_before_open')
  150. wf_movetocenter()
  151. OLD_TITLE = THIS.Title
  152. s_tran = Message.PowerObjectParm
  153. IF NOT IsNull(s_tran) THEN
  154. retrieve_all = s_tran.if_retrieve_all
  155. mode = s_tran.work_mode
  156. arg_pkid = s_tran.arg_pkid
  157. arg_string_code = s_tran.arg_string_code
  158. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  159. ds_share = s_tran.ds_share
  160. END IF
  161. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  162. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  163. dw_pageretr.SetTransObject (sqlca)
  164. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  165. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  166. //====================================================================
  167. // Script - w_outware_sale inherited from w_publ_1ton_share_detail for open
  168. // Reason:
  169. //--------------------------------------------------------------------
  170. // Modified By: yyx Date: 2003.12.01
  171. //--------------------------------------------------------------------
  172. //ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  173. //====================================================================
  174. ls_newselect = ori_oldselect
  175. ds_curquery = CREATE DATASTORE
  176. ds_curquery.DataObject = 'd_extr_find'
  177. ds_curquery.SetTransObject (sqlca)
  178. wf_editindex_lockf()
  179. sle_usual_query.Text = Trim(arg_string_code)
  180. IF NOT retrieve_all THEN
  181. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  182. ELSE
  183. IF if_sharedata THEN
  184. ds_share.ShareData(dw_pageretr)
  185. ELSE
  186. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  187. THIS.TriggerEvent('RETRIEVE_pageretr')
  188. END IF
  189. END IF
  190. IF retrieve_all THEN
  191. THIS.TriggerEvent("ue_usual_query_filt")
  192. END IF
  193. uc_column_int = 4 //uc dw前7列可以编辑
  194. child_column_int = 9 //子dw前8列可以编辑
  195. uo_changed = CREATE uo_changed_planprice
  196. uo_changed.commit_transaction = sqlca
  197. end event
  198. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  199. if trim(sle_usual_query.text)<>'' then
  200. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  201. obj_expr=obj_expr+'( billcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  202. ELSE
  203. obj_expr=obj_expr+'( billcode LIKE "'+trim(sle_usual_query.text)+'" )'
  204. END IF
  205. end if
  206. dw_pageretr.setfilter(obj_expr)
  207. dw_pageretr.SetRedraw(False)
  208. dw_pageretr.filter()
  209. if dw_pageretr.rowcount()>=1 then
  210. dw_pageretr.selectrow(0,false)
  211. dw_pageretr.selectrow(1,true)
  212. end if
  213. dw_pageretr.SetRedraw(TRUE)
  214. end event
  215. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  216. ls_newselect=lower(ori_oldselect)
  217. if trim(sle_usual_query.text)<>'' then
  218. if pos(trim(sle_usual_query.text),'%')=0 then
  219. ls_querystrpart="(billcode like '%"+trim(sle_usual_query.text)+"%')"
  220. else
  221. ls_querystrpart="(billcode like '"+trim(sle_usual_query.text)+"')"
  222. end if
  223. if Pos(ls_newselect," where ") <> 0 then
  224. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  225. else
  226. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  227. end if
  228. end if
  229. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  230. this.triggerevent('retrieve_pageretr')
  231. end event
  232. event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  233. Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  234. cb_nextpage_enabled = cb_nextpage.Enabled
  235. cb_retrieveall_enabled = cb_retrieveall.Enabled
  236. cb_func_enabled = cb_func.Enabled
  237. cb_nextpage.Enabled = FALSE
  238. cb_retrieveall.Enabled = FALSE
  239. cb_func.Enabled = FALSE
  240. dw_pageretr.ShareDataOff()
  241. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  242. dw_pageretr.Retrieve(cur_flag)
  243. IF dw_pageretr.RowCount() > 0 THEN
  244. dw_pageretr.SetRow(1)
  245. dw_pageretr.triggerevent(rowfocuschanged!)
  246. end if
  247. THIS.TriggerEvent('retrieve_childdw')
  248. cb_nextpage.Enabled = cb_nextpage_enabled
  249. cb_retrieveall.Enabled = cb_retrieveall_enabled
  250. cb_func.Enabled = cb_func_enabled
  251. end event
  252. event retrieve_childdw;call super::retrieve_childdw;long row,ll_billid
  253. row=dw_pageretr.getrow()
  254. if row>0 then
  255. ll_billid=dw_pageretr.object.billid[row]
  256. dw_child.SetRedraw (false)
  257. dw_child.retrieve(ll_billid)
  258. dw_child.SetRedraw (true)
  259. else
  260. dw_child.reset()
  261. end if
  262. end event
  263. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  264. IF NOT dw_edit_mode THEN RETURN
  265. Long child_row,ls_null
  266. Long ins_storageid = 0
  267. Long ls_sptid
  268. Dec ls_lastprice,ls_rebate
  269. Long chc = 1,ls_j
  270. SetNull(ls_null)
  271. s_edit_index_tran s_tranf8
  272. s_tranf8.if_retrieve_all = FALSE
  273. s_tranf8.arg_pkid = 0
  274. s_tranf8.arg_string_code = ''
  275. s_tranf8.b_long = -1
  276. child_row = dw_child.GetRow()
  277. IF NOT IsValid(w_mtrldef_edit) THEN
  278. s_edit_index_tran s_ch_tran
  279. s_ch_tran.if_retrieve_all = FALSE
  280. s_ch_tran.work_mode = 1
  281. s_ch_tran.arg_pkid = 0
  282. s_ch_tran.arg_string_code = ''
  283. s_ch_tran.b_long = -1
  284. s_ch_tran.c_long = ins_storageid
  285. s_ch_tran.if_select_all = TRUE
  286. dw_child.AcceptText()
  287. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  288. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  289. s_mtrldef_array s_inscust
  290. s_inscust = Message.PowerObjectParm //接受返回结构
  291. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  292. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  293. IF dw_child.GetRow() > 0 THEN
  294. IF dw_child.Object.u_planprice_changedmx_mtrlid[child_row] <> 0 THEN
  295. child_row = dw_child.InsertRow (0)
  296. ELSE
  297. child_row = dw_child.GetRow()
  298. END IF
  299. ELSE
  300. child_row = dw_child.InsertRow (0)
  301. END IF
  302. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  303. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  304. dw_child.Object.u_planprice_changedmx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  305. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  306. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  307. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  308. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  309. dw_child.Object.u_planprice_changedmx_lastprice[child_row] = s_inscust.planprice[ls_j]
  310. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  311. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  312. END IF
  313. NEXT
  314. END IF
  315. dw_child.SetRedraw(TRUE)
  316. dw_child.SetFocus()
  317. end event
  318. event ue_addzy;call super::ue_addzy;IF Not f_power_ind(855) THEN
  319. MessageBox('提示','你没有使用权限!',information!,ok!)
  320. RETURN
  321. END IF
  322. IF dw_edit_mode THEN RETURN
  323. String arg_msg = ''
  324. String ls_str
  325. Long uc_row
  326. s_inputbox s_sreu
  327. uc_row = dw_pageretr.GetRow()
  328. IF uc_row <= 0 THEN
  329. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  330. RETURN
  331. END IF
  332. s_sreu.Title = '请输入要补充到备注的内容'
  333. s_sreu.old_text = ''
  334. OpenWithParm(w_inputbox,s_sreu)
  335. ls_str = Message.StringParm
  336. IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
  337. IF uo_changed.add_dscrp(dw_pageretr.Object.billid[uc_row],ls_str,arg_msg) = 0 THEN
  338. MessageBox('错误',arg_msg,stopsign!,ok!)
  339. RETURN
  340. ELSE
  341. MessageBox('提示','添加备注操作成功!',information!,ok!)
  342. wf_refresh_curuc(dw_pageretr.Object.billid[uc_row])
  343. END IF
  344. end event
  345. event ue_viewprint;call super::ue_viewprint;IF Not f_power_ind(856) THEN
  346. MessageBox('提示','你没有使用权限!',information!,ok!)
  347. RETURN
  348. END IF
  349. s_print_msg ls_prmsg
  350. ls_prmsg.retr_pram_falg = 16
  351. IF dw_uc.RowCount() = 0 THEN
  352. MessageBox('提示','没有可打印的单据!',information!,ok!)
  353. RETURN
  354. END IF
  355. IF ls_newname <> '' THEN
  356. ls_prmsg.obj_dwNAME = ls_newname
  357. ELSE
  358. ls_prmsg.obj_dwNAME = 'dw_rp_planprice_changed'
  359. END IF
  360. ls_prmsg.tag_text = '产品计划价调整单'
  361. ls_prmsg.filter_string = ''
  362. ls_prmsg.pagech_flag = 0
  363. //ls_prmsg.retr_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()]
  364. ls_prmsg.retr_pramnmb = dw_pageretr.Object.billid[dw_pageretr.GetRow()]
  365. ls_prmsg.rowcnt = dw_child.RowCount()
  366. OpenWithParm(w_publ_preview,ls_prmsg)
  367. //**更新打印次料
  368. //String arg_msg
  369. //printnum = Message.DoubleParm
  370. //f_update_printnum('u_outware',printnum,dw_uc.Object.u_outware_scid[dw_uc.GetRow()],dw_uc.Object.u_outware_outwareid[dw_uc.GetRow()],'','',arg_msg,TRUE)
  371. end event
  372. event refresh_interface;call super::refresh_interface;IF sys_option_planprice_configure = 0 THEN
  373. dw_child.Modify('u_planprice_changedmx_status.Protect = 1')
  374. dw_child.Modify('u_planprice_changedmx_woodcode.Protect = 1')
  375. dw_child.Modify('u_planprice_changedmx_pcode.Protect = 1')
  376. ELSE
  377. dw_child.Modify('u_planprice_changedmx_status.Protect = 0')
  378. dw_child.Modify('u_planprice_changedmx_woodcode.Protect = 0')
  379. dw_child.Modify('u_planprice_changedmx_pcode.Protect = 0')
  380. END IF
  381. end event
  382. type cb_func from w_publ_1ton_share_detail`cb_func within w_planprice_changed
  383. end type
  384. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_planprice_changed
  385. integer x = 2368
  386. end type
  387. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_planprice_changed
  388. integer x = 197
  389. integer y = 188
  390. end type
  391. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_planprice_changed
  392. integer x = 2816
  393. end type
  394. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_planprice_changed
  395. integer x = 2519
  396. end type
  397. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_planprice_changed
  398. integer x = 1751
  399. integer y = 300
  400. integer width = 1783
  401. integer height = 856
  402. string dataobject = "dw_planprice_changed_index"
  403. end type
  404. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;if currentrow <= 0 then return
  405. wf_flagstatus_rf()
  406. end event
  407. type st_1 from w_publ_1ton_share_detail`st_1 within w_planprice_changed
  408. integer x = 5
  409. integer y = 208
  410. end type
  411. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_planprice_changed
  412. integer x = 2967
  413. end type
  414. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_planprice_changed
  415. integer y = 300
  416. integer width = 1746
  417. integer height = 856
  418. string dataobject = "dw_planprice_changed_edit"
  419. end type
  420. event dw_uc::dwnkey;
  421. parent.triggerevent('user_key')
  422. if key = KeyDownArrow! then return 1
  423. if dw_edit_mode then
  424. if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
  425. dw_child.setfocus()
  426. dw_child.scrolltorow(1)
  427. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  428. return 1
  429. else
  430. if key = KeyEnter! Then //
  431. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  432. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  433. Return 1
  434. end If
  435. end if
  436. end if
  437. if keydown(KeyF4!) then //read layout
  438. // uf_read_profile_filter()
  439. // uf_read_profile_sort()
  440. //uf_read_profile_layout()
  441. elseif keydown(KeyF5!) then //save layout 不含列显示
  442. // uf_save_profile_filter()
  443. // uf_save_profile_sort()
  444. //uf_save_profile_layout()
  445. elseif keydown(KeyF9!) then //reset layout 不含列显示
  446. // uf_reset_layout()
  447. end if
  448. end event
  449. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_planprice_changed
  450. end type
  451. type dw_child from w_publ_1ton_share_detail`dw_child within w_planprice_changed
  452. integer y = 1160
  453. integer height = 1264
  454. string dataobject = "dw_planprice_changedmx_edit"
  455. end type
  456. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  457. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_prdpackcode,ls_mtrlsectype,ls_zxmtrlmode
  458. Long ls_mtrlid,ls_orderid,ls_storageid
  459. String ls_order_relcode
  460. Decimal ls_planprice,ls_packqty,ls_nofinishqty
  461. s_mtrldef_array arg_s_mtrldef
  462. Long child_row
  463. Long ls_null
  464. SetNull(ls_null)
  465. IF dw_edit_mode THEN
  466. dw_uc.AcceptText()
  467. IF KeyDown(keydownarrow!) THEN
  468. Long li_row
  469. IF dw_child.GetRow() = dw_child.RowCount() THEN
  470. PARENT.TriggerEvent("insert_childrow")
  471. END IF
  472. ELSE
  473. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  474. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  475. dw_child.AcceptText()
  476. child_row = dw_child.GetRow()
  477. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  478. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  479. PARENT.TriggerEvent('ue_f8')
  480. RETURN 1
  481. ELSE
  482. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  483. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  484. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  485. ls_unit = arg_s_mtrldef.unit[1]
  486. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  487. ls_planprice = arg_s_mtrldef.planprice[1]
  488. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  489. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  490. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  491. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  492. END IF
  493. dw_child.Object.u_planprice_changedmx_mtrlid[child_row] = ls_mtrlid
  494. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  495. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  496. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  497. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  498. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  499. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  500. dw_child.Object.u_planprice_changedmx_lastprice[child_row] = ls_planprice
  501. IF Key = keyenter! THEN
  502. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  503. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  504. RETURN 1
  505. END IF
  506. ELSEIF dw_child.GetColumnName( ) = 'u_planprice_changedmx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  507. PARENT.TriggerEvent("insert_childrow")
  508. RETURN 1
  509. ELSE
  510. IF Key = keyenter! THEN
  511. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  512. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  513. RETURN 1
  514. END IF
  515. END IF
  516. END IF
  517. END IF
  518. END IF
  519. end event
  520. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_planprice_changed
  521. end type
  522. type cb_print from w_publ_1ton_share_detail`cb_print within w_planprice_changed
  523. end type
  524. type cb_add from w_publ_1ton_share_detail`cb_add within w_planprice_changed
  525. end type
  526. event cb_add::clicked;IF Not f_power_ind(852) THEN
  527. MessageBox('提示','你没有使用权限!',information!,ok!)
  528. RETURN
  529. END IF
  530. String arg_msg = ''
  531. Long uc_row,pagerert_row
  532. Long relid_pageretr,reld_uc,j,i
  533. Long ll_printid,ll_scid
  534. Int li_flag,li_secflag,li_priceflag
  535. long ll_billid
  536. IF dw_edit_mode THEN
  537. dw_uc.AcceptText()
  538. dw_child.AcceptText()
  539. uc_row = dw_uc.GetRow()
  540. IF uc_row <= 0 THEN
  541. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  542. RETURN
  543. END IF
  544. IF NOT dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  545. MessageBox('提示','不合理发生时间',information!,ok!)
  546. dw_uc.SetFocus()
  547. dw_uc.SetColumn("billdate")
  548. RETURN
  549. END IF
  550. IF trim(dw_uc.Object.billrep[uc_row]) = '' THEN
  551. MessageBox('提示','请填写经手人',information!,ok!)
  552. dw_uc.SetFocus()
  553. dw_uc.SetColumn("billrep")
  554. RETURN
  555. END IF
  556. uo_changed.billdate = dw_uc.Object.billdate[uc_row]
  557. uo_changed.billrep = dw_uc.Object.billrep[uc_row]
  558. uo_changed.dscrp = dw_uc.Object.dscrp[uc_row]
  559. FOR i = 1 TO dw_child.RowCount()
  560. IF dw_child.Object.u_planprice_changedmx_mtrlid[i] > 0 THEN
  561. IF uo_changed.acceptmx(dw_child.Object.u_planprice_changedmx_mtrlid[i],&
  562. dw_child.Object.u_planprice_changedmx_lastprice[i],&
  563. dw_child.Object.u_planprice_changedmx_planprice[i],&
  564. dw_child.Object.u_planprice_changedmx_reason[i],&
  565. dw_child.Object.u_planprice_changedmx_mxdscrp[i],&
  566. arg_msg,&
  567. dw_child.Object.u_planprice_changedmx_status[i],&
  568. dw_child.Object.u_planprice_changedmx_woodcode[i],&
  569. dw_child.Object.u_planprice_changedmx_pcode[i],&
  570. dw_child.Object.row[i]) = 0 THEN
  571. MessageBox('错误',arg_msg,stopsign!,ok!)
  572. RETURN
  573. END IF
  574. END IF
  575. NEXT
  576. IF uo_changed.Save(TRUE,arg_msg) = 0 THEN
  577. MessageBox('错误',arg_msg,stopsign!,ok!)
  578. RETURN
  579. END IF
  580. MessageBox('提示','保存操作成功!',information!,ok!)
  581. long ll_row
  582. ll_row = dw_pageretr.getrow()
  583. dw_pageretr.SelectRow(0,FALSE)
  584. dw_pageretr.SelectRow(ll_row,TRUE)
  585. wf_refresh_curuc(uo_changed.billid) //刷新uc
  586. ELSE
  587. IF uo_changed.newbegin(arg_msg) = 0 THEN
  588. MessageBox('错误',arg_msg,stopsign!,ok!)
  589. RETURN
  590. END IF
  591. cur_editfocus = 1
  592. flag = -1
  593. END IF
  594. CALL SUPER::Clicked
  595. IF dw_edit_mode THEN
  596. PARENT.TriggerEvent("insert_childrow")
  597. dw_uc.SetRedraw(FALSE)
  598. dw_uc.SetColumn("billdate")
  599. dw_uc.SetRedraw(TRUE)
  600. ELSE
  601. PARENT.TriggerEvent("retrieve_childdw")
  602. END IF
  603. end event
  604. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_planprice_changed
  605. end type
  606. event cb_edit::clicked;IF Not f_power_ind(852) THEN
  607. messagebox('提示','你没有使用权限!',information!,ok!)
  608. return
  609. end if
  610. string arg_msg=''
  611. long uc_row
  612. uc_row=dw_pageretr.getrow()
  613. if uc_row<=0 then
  614. messagebox('提示','请选定当前目标单据!',information!,ok!)
  615. return
  616. end if
  617. if not dw_edit_mode then
  618. if uo_changed.updatebegin(dw_pageretr.object.billid[uc_row],arg_msg)=0 then
  619. messagebox('错误',arg_msg,information!,ok!)
  620. return
  621. end if
  622. cur_editfocus=2
  623. else
  624. cur_editfocus=0
  625. end if
  626. call super::clicked
  627. this.triggerevent('refresh_interface')
  628. end event
  629. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_planprice_changed
  630. end type
  631. event cb_delet::clicked;call super::clicked;IF Not f_power_ind(853) THEN
  632. messagebox('提示','你没有使用权限!',information!,ok!)
  633. return
  634. end if
  635. string arg_msg=''
  636. if dw_edit_mode then return
  637. long uc_row
  638. uc_row=dw_pageretr.getrow()
  639. if uc_row<=0 then
  640. messagebox('提示','请选定当前目标单据!',information!,ok!)
  641. return
  642. end if
  643. if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return
  644. if uo_changed.del(dw_pageretr.object.billid[uc_row],true,arg_msg)=0 then
  645. messagebox('错误',arg_msg,stopsign!,ok!)
  646. else
  647. //日志
  648. long ls_id
  649. string ls_code
  650. ls_id=dw_pageretr.object.billid[uc_row]
  651. ls_code=dw_pageretr.object.billcode[uc_row]
  652. f_setsysoplog('计划价调整单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  653. //--
  654. messagebox('提示','删除单据'+ls_code+'成功!',information!,ok!)
  655. dw_pageretr.deleterow(uc_row)
  656. dw_pageretr.postevent(rowfocuschanged!)
  657. end if
  658. end event
  659. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_planprice_changed
  660. integer x = 1029
  661. end type
  662. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  663. string menustr
  664. menustr="Text=增加备注~tEvent=ue_addzy"
  665. if len(trim(menustr))<>0 then
  666. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  667. dmPopupMenu.mf_BuildMenu(This, menustr)
  668. dmPopupMenu.mf_PopMenu()
  669. Destroy dmPopupMenu
  670. end if
  671. end event
  672. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_planprice_changed
  673. end type
  674. event cb_auditing::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  675. String arg_msg = '',ls_code
  676. Long pagerert_row,ls_id
  677. pagerert_row = dw_pageretr.GetRow()
  678. IF pagerert_row <= 0 THEN
  679. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  680. RETURN
  681. END IF
  682. IF Not f_power_ind(854) THEN
  683. MessageBox('提示','你没有使用权限!',information!,ok!)
  684. RETURN
  685. END IF
  686. IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  687. IF uo_changed.getinfo(dw_pageretr.Object.billid[pagerert_row],arg_msg) = 0 THEN
  688. MessageBox('错误',arg_msg,stopsign!,ok!)
  689. RETURN
  690. END IF
  691. IF uo_changed.auditing(TRUE,arg_msg) = 0 THEN
  692. MessageBox('错误',arg_msg,stopsign!,ok!)
  693. ELSE
  694. MessageBox('提示','单据审核成功!',information!,ok!)
  695. wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row])
  696. cb_auditing.enabled = false
  697. END IF
  698. end event
  699. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_planprice_changed
  700. integer x = 1280
  701. end type
  702. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_planprice_changed
  703. end type
  704. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_planprice_changed
  705. end type
  706. type cb_help from w_publ_1ton_share_detail`cb_help within w_planprice_changed
  707. integer x = 1531
  708. end type
  709. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_planprice_changed
  710. boolean visible = false
  711. end type
  712. type p_msg from w_publ_1ton_share_detail`p_msg within w_planprice_changed
  713. end type
  714. type p_help from w_publ_1ton_share_detail`p_help within w_planprice_changed
  715. end type
  716. type p_encl from w_publ_1ton_share_detail`p_encl within w_planprice_changed
  717. end type
  718. type p_other from w_publ_1ton_share_detail`p_other within w_planprice_changed
  719. end type
  720. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_planprice_changed
  721. end type
  722. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_planprice_changed
  723. end type
  724. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_planprice_changed
  725. end type
  726. type r_bar from w_publ_1ton_share_detail`r_bar within w_planprice_changed
  727. end type
  728. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_planprice_changed
  729. integer endx = 3296
  730. end type
  731. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_planprice_changed
  732. integer endx = 3232
  733. end type