w_mtrlware_pzcode_trans.srw 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837
  1. $PBExportHeader$w_mtrlware_pzcode_trans.srw
  2. forward
  3. global type w_mtrlware_pzcode_trans from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_mtrlware_pzcode_trans
  6. end type
  7. type ddlb_status from dropdownlistbox within w_mtrlware_pzcode_trans
  8. end type
  9. type st_2 from statictext within w_mtrlware_pzcode_trans
  10. end type
  11. type st_4 from statictext within w_mtrlware_pzcode_trans
  12. end type
  13. end forward
  14. global type w_mtrlware_pzcode_trans from w_publ_1ton_share_detail
  15. string title = "库存配置调整单"
  16. boolean maxbox = true
  17. windowstate windowstate = maximized!
  18. event insert_childrow ( )
  19. event ue_p_print ( )
  20. event ue_p_location ( )
  21. event ue_cmpl_status_qty ( )
  22. event ue_p_status ( )
  23. event ue_p_woodcode ( )
  24. event ue_p_pcode ( )
  25. event ue_p_plancode ( )
  26. event ue_p_sptid ( )
  27. ddlb_scid ddlb_scid
  28. ddlb_status ddlb_status
  29. st_2 st_2
  30. st_4 st_4
  31. end type
  32. global w_mtrlware_pzcode_trans w_mtrlware_pzcode_trans
  33. type variables
  34. Long cur_scid //分店ID
  35. Int cur_flag = -1
  36. Long cur_scid_arr[]
  37. //uo_checkback uo_check
  38. String ol_cdw_str = ''
  39. Int li_ifdd
  40. uo_mtrlware_pzcode_trans uo_trans
  41. end variables
  42. forward prototypes
  43. public function integer wf_flagstatus_rf ()
  44. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
  45. public function integer wf_refresh_curuc (long arg_billid)
  46. public function integer wf_title_change (datawindow arg_dw)
  47. public subroutine wf_face_child (long arg_storageid)
  48. end prototypes
  49. event insert_childrow();Long li_row
  50. li_row = dw_child.InsertRow(0)
  51. dw_child.ScrollToRow(li_row)
  52. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  53. end event
  54. event ue_p_location();IF Not dw_edit_mode THEN
  55. MessageBox('提示','非编辑状态下不可用')
  56. RETURN
  57. END IF
  58. IF MessageBox('询问','确认要按首行新仓位进行批设置吗?',question!,yesno!) = 2 THEN RETURN
  59. Long ll_i
  60. dw_child.AcceptText()
  61. IF dw_child.RowCount() = 0 THEN RETURN
  62. FOR ll_i = 1 To dw_child.RowCount()
  63. IF ll_i = 1 THEN CONTINUE
  64. dw_child.Object.u_mtrlware_pzcode_transmx_location_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_location_new[1]
  65. NEXT
  66. end event
  67. event ue_cmpl_status_qty();Int ll_flag
  68. Decimal ll_value
  69. Long ll_num
  70. Long i,j,k
  71. String ls_mtrlmode
  72. String ls_status
  73. Decimal ld_qty
  74. Decimal ld_addqty
  75. String ls_msg
  76. Long ll_type
  77. s_cmpl_addqty s_cmpl
  78. dw_child.AcceptText()
  79. IF dw_edit_mode THEN
  80. Open(w_cmpl_status_qty_ch)
  81. s_cmpl = Message.PowerObjectParm
  82. ll_flag = s_cmpl.flag
  83. ll_value = s_cmpl.addvalue
  84. ll_num = s_cmpl.num
  85. ll_type = s_cmpl.cmptype
  86. IF ll_value <= 0 THEN RETURN
  87. IF dw_child.RowCount() <= 0 THEN RETURN
  88. FOR i = 1 TO dw_child.RowCount()
  89. ld_addqty = dw_child.Object.u_mtrlware_pzcode_transmx_addqty[i]
  90. CHOOSE CASE ll_type
  91. CASE 0
  92. ls_status = dw_child.Object.u_mtrlware_pzcode_transmx_status_new[i]
  93. CASE 1
  94. ls_status = dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[i]
  95. CASE 2
  96. ls_status = dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[i]
  97. CASE 3
  98. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  99. CASE 4
  100. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  101. END CHOOSE
  102. IF ld_addqty = 0 OR ls_status = '' THEN
  103. ELSE
  104. ld_qty = 0
  105. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  106. MessageBox('错误',ls_msg,stopsign!,OK!)
  107. GOTO ext
  108. END IF
  109. IF ll_flag = 0 THEN
  110. dw_child.Object.u_mtrlware_pzcode_transmx_qty[i] = Round(ld_qty * ll_value,ll_num)
  111. ELSE
  112. dw_child.Object.u_mtrlware_pzcode_transmx_qty[i] = Round(ld_qty / ll_value,ll_num)
  113. END IF
  114. END IF
  115. NEXT
  116. END IF
  117. ext:
  118. end event
  119. event ue_p_status();IF Not dw_edit_mode THEN
  120. MessageBox('提示','非编辑状态下不可用')
  121. RETURN
  122. END IF
  123. IF MessageBox('询问','确认要按首行新'+sys_option_change_status+'进行批设置吗?',question!,yesno!) = 2 THEN RETURN
  124. Long ll_i
  125. dw_child.AcceptText()
  126. IF dw_child.RowCount() = 0 THEN RETURN
  127. FOR ll_i = 1 To dw_child.RowCount()
  128. IF ll_i = 1 THEN CONTINUE
  129. dw_child.Object.u_mtrlware_pzcode_transmx_status_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_status_new[1]
  130. NEXT
  131. end event
  132. event ue_p_woodcode();IF Not dw_edit_mode THEN
  133. MessageBox('提示','非编辑状态下不可用')
  134. RETURN
  135. END IF
  136. IF MessageBox('询问','确认要按首行新'+sys_option_change_woodcode+'进行批设置吗?',question!,yesno!) = 2 THEN RETURN
  137. Long ll_i
  138. dw_child.AcceptText()
  139. IF dw_child.RowCount() = 0 THEN RETURN
  140. FOR ll_i = 1 To dw_child.RowCount()
  141. IF ll_i = 1 THEN CONTINUE
  142. dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[1]
  143. NEXT
  144. end event
  145. event ue_p_pcode();IF Not dw_edit_mode THEN
  146. MessageBox('提示','非编辑状态下不可用')
  147. RETURN
  148. END IF
  149. IF MessageBox('询问','确认要按首行新'+sys_option_change_pcode+'进行批设置吗?',question!,yesno!) = 2 THEN RETURN
  150. Long ll_i
  151. dw_child.AcceptText()
  152. IF dw_child.RowCount() = 0 THEN RETURN
  153. FOR ll_i = 1 To dw_child.RowCount()
  154. IF ll_i = 1 THEN CONTINUE
  155. dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[1]
  156. NEXT
  157. end event
  158. event ue_p_plancode();IF Not dw_edit_mode THEN
  159. MessageBox('提示','非编辑状态下不可用')
  160. RETURN
  161. END IF
  162. IF MessageBox('询问','确认要按首行新批号进行批设置吗?',question!,yesno!) = 2 THEN RETURN
  163. Long ll_i
  164. dw_child.AcceptText()
  165. IF dw_child.RowCount() = 0 THEN RETURN
  166. FOR ll_i = 1 To dw_child.RowCount()
  167. IF ll_i = 1 THEN CONTINUE
  168. dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[1]
  169. NEXT
  170. end event
  171. event ue_p_sptid();IF Not dw_edit_mode THEN
  172. MessageBox('提示','非编辑状态下不可用')
  173. RETURN
  174. END IF
  175. IF MessageBox('询问','确认要按首行新客户进行批设置吗?',question!,yesno!) = 2 THEN RETURN
  176. Long ll_i
  177. dw_child.AcceptText()
  178. IF dw_child.RowCount() = 0 THEN RETURN
  179. FOR ll_i = 1 To dw_child.RowCount()
  180. IF ll_i = 1 THEN CONTINUE
  181. dw_child.Object.ifcust[ll_i] = dw_child.Object.ifcust[1]
  182. dw_child.Object.u_cust_name_new[ll_i] = dw_child.Object.u_cust_name_new[1]
  183. dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[1]
  184. NEXT
  185. end event
  186. public function integer wf_flagstatus_rf ();//wf_flagstatus_rf
  187. Long pagerert_row
  188. pagerert_row = dw_pageretr.GetRow()
  189. IF pagerert_row <= 0 THEN
  190. cb_auditing.Enabled = FALSE
  191. cb_auditing_cancel.Enabled = FALSE
  192. GOTO ext
  193. END IF
  194. IF dw_edit_mode THEN
  195. cb_auditing.Enabled = FALSE
  196. cb_auditing_cancel.Enabled = FALSE
  197. ELSE
  198. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  199. cb_auditing.Enabled = TRUE
  200. cb_auditing_cancel.Enabled = FALSE
  201. ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 THEN
  202. cb_auditing.Enabled = FALSE
  203. cb_auditing_cancel.Enabled = TRUE
  204. END IF
  205. END IF
  206. ext:
  207. RETURN 0
  208. end function
  209. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//==============================================================================
  210. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  211. //------------------------------------------------------------------------------
  212. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  213. //------------------------------------------------------------------------------
  214. Long LS_ROW,ll_id,i,ll_scid
  215. LS_ROW = dw_pageretr.GetRow()
  216. IF LS_ROW <= 0 THEN
  217. arg_msg = '没有目标单据!'
  218. RETURN 0
  219. END IF
  220. //修改点:获取 指定retriev参数
  221. ll_id = dw_pageretr.Object.#1[LS_ROW]
  222. ll_scid = dw_pageretr.Object.scid[LS_ROW]
  223. ////可选设置///
  224. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  225. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  226. boolean xls_locked
  227. xls_locked = not (sys_option_xls_lock = 1)
  228. /// Excel 的可选设置
  229. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  230. return 0
  231. end if
  232. for i = 1 to arg_str_billlist.count
  233. ////可选操作///
  234. arg_str_billlist.bill[i].ds_data = create datastore //
  235. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  236. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  237. //修改点:注意retrieve 参数与上文对应
  238. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  239. next
  240. return 1
  241. end function
  242. public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0
  243. Long uc_row
  244. uc_row = dw_pageretr.GetRow()
  245. IF uc_row <= 0 THEN RETURN 0
  246. Long billid
  247. DateTime billdate
  248. Long storageid
  249. String rep
  250. String relcode
  251. String dscrp
  252. String billcode
  253. Long scid
  254. Int flag
  255. String opemp
  256. DateTime opdate
  257. String modemp
  258. DateTime moddate
  259. String auditemp
  260. DateTime auditdate
  261. SELECT u_mtrlware_pzcode_trans.billid,
  262. u_mtrlware_pzcode_trans.billdate,
  263. u_mtrlware_pzcode_trans.storageid,
  264. u_mtrlware_pzcode_trans.rep,
  265. u_mtrlware_pzcode_trans.relcode,
  266. u_mtrlware_pzcode_trans.dscrp,
  267. u_mtrlware_pzcode_trans.billcode,
  268. u_mtrlware_pzcode_trans.scid,
  269. u_mtrlware_pzcode_trans.flag,
  270. u_mtrlware_pzcode_trans.opemp,
  271. u_mtrlware_pzcode_trans.opdate,
  272. u_mtrlware_pzcode_trans.modemp,
  273. u_mtrlware_pzcode_trans.moddate,
  274. u_mtrlware_pzcode_trans.auditemp,
  275. u_mtrlware_pzcode_trans.auditdate
  276. INTO
  277. :billid,
  278. :billdate,
  279. :storageid,
  280. :rep,
  281. :relcode,
  282. :dscrp,
  283. :billcode,
  284. :scid,
  285. :flag,
  286. :opemp,
  287. :opdate,
  288. :modemp,
  289. :moddate,
  290. :auditemp,
  291. :auditdate
  292. FROM u_mtrlware_pzcode_trans
  293. Where ( u_mtrlware_pzcode_trans .billid = :arg_billid );
  294. IF sqlca.SQLCode <> 0 THEN
  295. MessageBox('系统提示',"查询操作失败(错误单据唯一码)")
  296. RETURN 0
  297. END IF
  298. dw_pageretr.Object.billid[uc_row] = billid
  299. dw_pageretr.Object.billdate[uc_row] = billdate
  300. dw_pageretr.Object.storageid[uc_row] = storageid
  301. dw_pageretr.Object.rep[uc_row] = rep
  302. dw_pageretr.Object.relcode[uc_row] = relcode
  303. dw_pageretr.Object.dscrp[uc_row] = dscrp
  304. dw_pageretr.Object.billcode[uc_row] = billcode
  305. dw_pageretr.Object.scid[uc_row] = scid
  306. dw_pageretr.Object.flag[uc_row] = flag
  307. dw_pageretr.Object.opemp[uc_row] = opemp
  308. dw_pageretr.Object.opdate[uc_row] = opdate
  309. dw_pageretr.Object.modemp[uc_row] = modemp
  310. dw_pageretr.Object.moddate[uc_row] = moddate
  311. dw_pageretr.Object.auditemp[uc_row] = auditemp
  312. dw_pageretr.Object.auditdate[uc_row] = auditdate
  313. dw_uc.Reset()
  314. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  315. dw_uc.ResetUpdate()
  316. dw_uc.SetRedraw(TRUE)
  317. wf_flagstatus_rf()
  318. RETURN 1
  319. end function
  320. public function integer wf_title_change (datawindow arg_dw);String ls_modify_str
  321. Int i
  322. Long Columns
  323. Columns = Long(arg_dw.Describe("DataWindow.Column.Count"))
  324. FOR i = 1 TO Columns
  325. ls_modify_str = arg_dw.Describe("#" + String(i) + ".name")
  326. ls_modify_str = Lower(ls_modify_str)
  327. IF Pos(ls_modify_str,'old_s') > 0 AND sys_option_change_status <> '' THEN
  328. IF Len(ls_modify_str) = Len('old_s') OR Pos(ls_modify_str,'_old_s') > 0 THEN
  329. arg_dw.Modify(ls_modify_str+'_t'+ ".text='原"+sys_option_change_status+"'")
  330. END IF
  331. END IF
  332. IF Pos(ls_modify_str,'old_w') > 0 AND sys_option_change_woodcode <> '' THEN
  333. IF Len(ls_modify_str) = Len('old_w') OR Pos(ls_modify_str,'_old_w') > 0 THEN
  334. arg_dw.Modify(ls_modify_str+'_t'+ ".text='原"+sys_option_change_woodcode+"'")
  335. END IF
  336. END IF
  337. IF Pos(ls_modify_str,'old_p') > 0 AND sys_option_change_pcode <> '' THEN
  338. IF Len(ls_modify_str) = Len('old_p') OR Pos(ls_modify_str,'_old_p') > 0 THEN
  339. arg_dw.Modify(ls_modify_str+'_t'+ ".text='原"+sys_option_change_pcode+"'")
  340. END IF
  341. END IF
  342. IF Pos(ls_modify_str,'_status_new') > 0 AND sys_option_change_status <> '' THEN
  343. IF Len(ls_modify_str) = Len('_status_new') OR Pos(ls_modify_str,'_status_new') > 0 THEN
  344. arg_dw.Modify(ls_modify_str+'_t'+ ".text='新"+sys_option_change_status+"'")
  345. END IF
  346. END IF
  347. IF Pos(ls_modify_str,'_woodcode_new') > 0 AND sys_option_change_woodcode <> '' THEN
  348. IF Len(ls_modify_str) = Len('_woodcode_new') OR Pos(ls_modify_str,'_woodcode_new') > 0 THEN
  349. arg_dw.Modify(ls_modify_str+'_t'+ ".text='新"+sys_option_change_woodcode+"'")
  350. END IF
  351. END IF
  352. IF Pos(ls_modify_str,'_pcode_new') > 0 AND sys_option_change_pcode <> '' THEN
  353. IF Len(ls_modify_str) = Len('_pcode_new') OR Pos(ls_modify_str,'_pcode_new') > 0 THEN
  354. arg_dw.Modify(ls_modify_str+'_t'+ ".text='新"+sys_option_change_pcode+"'")
  355. END IF
  356. END IF
  357. NEXT
  358. RETURN 1
  359. end function
  360. public subroutine wf_face_child (long arg_storageid);Int iflocation
  361. //iflocation = f_find_iflocation(arg_storageid)
  362. //
  363. //IF iflocation = 0 THEN
  364. // dw_child.SetTabOrder('u_mtrlware_pzcode_transmx_location_new',0)
  365. //ELSE
  366. // dw_child.SetTabOrder('u_mtrlware_pzcode_transmx_location_new',80)
  367. //
  368. // IF iflocation = 1 THEN
  369. // dw_child.Modify("u_mtrlware_pzcode_transmx_location_new.dddw.allowedit = yes")
  370. // ELSE
  371. // dw_child.Modify("u_mtrlware_pzcode_transmx_location_new.dddw.allowedit = no")
  372. // END IF
  373. //END IF
  374. //ins_storageid = arg_storageid
  375. end subroutine
  376. on w_mtrlware_pzcode_trans.create
  377. int iCurrent
  378. call super::create
  379. this.ddlb_scid=create ddlb_scid
  380. this.ddlb_status=create ddlb_status
  381. this.st_2=create st_2
  382. this.st_4=create st_4
  383. iCurrent=UpperBound(this.Control)
  384. this.Control[iCurrent+1]=this.ddlb_scid
  385. this.Control[iCurrent+2]=this.ddlb_status
  386. this.Control[iCurrent+3]=this.st_2
  387. this.Control[iCurrent+4]=this.st_4
  388. end on
  389. on w_mtrlware_pzcode_trans.destroy
  390. call super::destroy
  391. destroy(this.ddlb_scid)
  392. destroy(this.ddlb_status)
  393. destroy(this.st_2)
  394. destroy(this.st_4)
  395. end on
  396. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  397. Boolean cb_func_enabled,cb_retrieve_enabled
  398. cb_nextpage_enabled = cb_nextpage.Enabled
  399. cb_retrieveall_enabled = cb_retrieveall.Enabled
  400. cb_func_enabled = cb_func.Enabled
  401. cb_nextpage.Enabled = FALSE
  402. cb_retrieveall.Enabled = FALSE
  403. cb_func.Enabled = FALSE
  404. //只显示自已管的仓库
  405. datawindowchild childdw
  406. dw_uc.SetTransObject (sqlca)
  407. dw_uc.GetChild("storageid",childdw)
  408. childdw.SetTransObject (sqlca)
  409. IF childdw.Retrieve(cur_scid,sys_user_storageid) = 0 THEN
  410. childdw.InsertRow(0)
  411. END IF
  412. dw_uc.Retrieve()
  413. dw_pageretr.Retrieve(cur_scid_arr,cur_flag)
  414. IF dw_pageretr.RowCount() > 0 THEN
  415. dw_pageretr.SetRow(1)
  416. dw_pageretr.TriggerEvent(RowFocusChanged!)
  417. END IF
  418. wf_flagstatus_rf()
  419. THIS.TriggerEvent('retrieve_childdw')
  420. cb_nextpage.Enabled = cb_nextpage_enabled
  421. cb_retrieveall.Enabled = cb_retrieveall_enabled
  422. cb_func.Enabled = cb_func_enabled
  423. end event
  424. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  425. if trim(sle_usual_query.text)<>'' then
  426. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  427. obj_expr=obj_expr+'( billcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  428. ELSE
  429. obj_expr=obj_expr+'( billcode LIKE "'+trim(sle_usual_query.text)+'" )'
  430. END IF
  431. end if
  432. dw_pageretr.setfilter(obj_expr)
  433. dw_pageretr.SetRedraw(False)
  434. dw_pageretr.filter()
  435. if dw_pageretr.rowcount()>=1 then
  436. dw_pageretr.selectrow(0,false)
  437. dw_pageretr.selectrow(1,true)
  438. end if
  439. dw_pageretr.SetRedraw(TRUE)
  440. end event
  441. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  442. ls_newselect=lower(ori_oldselect)
  443. if trim(sle_usual_query.text)<>'' then
  444. if pos(trim(sle_usual_query.text),'%')=0 then
  445. ls_querystrpart="(u_mtrlware_pzcode_trans.billcode like '%"+trim(sle_usual_query.text)+"%')"
  446. else
  447. ls_querystrpart="(u_mtrlware_pzcode_trans.billcode like '"+trim(sle_usual_query.text)+"')"
  448. end if
  449. if Pos(ls_newselect," where ") <> 0 then
  450. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  451. else
  452. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  453. end if
  454. end if
  455. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  456. this.triggerevent('retrieve_pageretr')
  457. end event
  458. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  459. ddlb_status.enabled=not dw_edit_mode
  460. ddlb_scid.enabled=not dw_edit_mode
  461. end event
  462. event close;call super::close;DESTROY uo_trans
  463. end event
  464. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  465. IF Not dw_edit_mode THEN RETURN
  466. Long child_row,ll_storageid = 0
  467. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  468. Long ll_statustype,ll_woodcodetype,ll_pcodetype
  469. Int li_ifmtrlcuscode
  470. Int li_ifcust
  471. s_mtrldef_array arg_s_mtrldef
  472. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  473. IF ll_storageid = 0 Or IsNull(ll_storageid) THEN
  474. MessageBox(publ_operator,'请先选择仓库')
  475. RETURN
  476. END IF
  477. child_row = dw_child.GetRow()
  478. IF Not IsValid(w_mtrlware_storageid_ch) THEN
  479. s_edit_index_tran s_tranf8 //传递参数使用
  480. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  481. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  482. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  483. s_tranf8.b_long = - 1 //选择原料或产品
  484. s_tranf8.d_long = ll_storageid
  485. s_tranf8.c_long = -1
  486. Long chc = 1,ls_j
  487. dw_child.AcceptText()
  488. IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  489. This.Enabled = False
  490. OpenWithParm(w_mtrlware_storageid_ch,s_tranf8) //调用
  491. This.Enabled = True
  492. s_mtrlware_noalloc_array S_INSCUST
  493. S_INSCUST = Message.PowerObjectParm //接受返回结构
  494. FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
  495. IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
  496. IF dw_child.GetRow() > 0 THEN
  497. IF dw_child.Object.u_mtrlware_pzcode_transmx_mtrlid[child_row] <> 0 THEN
  498. child_row = dw_child.InsertRow (0)
  499. ELSE
  500. child_row = dw_child.GetRow()
  501. END IF
  502. ELSE
  503. child_row = dw_child.InsertRow (0)
  504. END IF
  505. IF S_INSCUST.sptid[ls_j] > 0 THEN
  506. li_ifcust = 1
  507. ELSE
  508. li_ifcust = 0
  509. END IF
  510. dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
  511. dw_child.Object.u_mtrlware_pzcode_transmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  512. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
  513. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
  514. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
  515. dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
  516. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
  517. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
  518. dw_child.Object.u_mtrlware_pzcode_transmx_qty[child_row] = S_INSCUST.noallocqty[ls_j] - S_INSCUST.noauditingqty[ls_j]
  519. dw_child.Object.u_mtrlware_pzcode_transmx_cost[child_row] = S_INSCUST.cost[ls_j]
  520. dw_child.Object.u_mtrlware_pzcode_transmx_cost_hide[child_row] = S_INSCUST.cost[ls_j]
  521. dw_child.Object.u_mtrlware_pzcode_transmx_plancode[child_row] = S_INSCUST.plancode[ls_j]
  522. dw_child.Object.u_mtrlware_pzcode_transmx_old_s[child_row] = S_INSCUST.status[ls_j]
  523. dw_child.Object.u_mtrlware_pzcode_transmx_old_w[child_row] = S_INSCUST.woodcode[ls_j]
  524. dw_child.Object.u_mtrlware_pzcode_transmx_old_p[child_row] = S_INSCUST.pcode[ls_j]
  525. dw_child.Object.u_mtrlware_pzcode_transmx_sptid[child_row] = S_INSCUST.sptid[ls_j]
  526. // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode[child_row] = S_INSCUST.mtrlcuscode[ls_j]
  527. // dw_child.Object.u_mtrlware_pzcode_transmx_location[child_row] = S_INSCUST.Location[ls_j]
  528. dw_child.Object.u_mtrlware_pzcode_transmx_sptid[child_row] = S_INSCUST.sptid[ls_j]
  529. dw_child.Object.u_mtrlware_pzcode_transmx_status_new[child_row] = S_INSCUST.status[ls_j]
  530. dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[child_row] = S_INSCUST.woodcode[ls_j]
  531. dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[child_row] = S_INSCUST.pcode[ls_j]
  532. // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode_new[child_row] = S_INSCUST.mtrlcuscode[ls_j]
  533. // dw_child.Object.u_mtrlware_pzcode_transmx_location_new[child_row] = S_INSCUST.Location[ls_j]
  534. dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[child_row] = S_INSCUST.plancode[ls_j]
  535. dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[child_row] = S_INSCUST.sptid[ls_j]
  536. dw_child.Object.ifcust[child_row] = li_ifcust
  537. dw_child.Object.u_cust_name[child_row] = S_INSCUST.sptname[ls_j]
  538. dw_child.Object.u_cust_name_new[child_row] = S_INSCUST.sptname[ls_j]
  539. IF f_find_mtrl(S_INSCUST.u_mtrldef_mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  540. li_statusflag = 0
  541. li_woodcodeflag = 0
  542. li_pcodeflag = 0
  543. ll_statustype = 0
  544. ll_woodcodetype = 0
  545. ll_pcodetype = 0
  546. // li_ifmtrlcuscode = 0
  547. ELSE
  548. li_statusflag = arg_s_mtrldef.statusflag[1]
  549. ll_statustype = arg_s_mtrldef.statustype[1]
  550. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  551. ll_woodcodetype = arg_s_mtrldef.woodcodetype[1]
  552. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  553. ll_pcodetype = arg_s_mtrldef.pcodetype[1]
  554. // li_ifmtrlcuscode = arg_s_mtrldef.ifmtrlcuscode[1]
  555. END IF
  556. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  557. dw_child.Object.u_mtrldef_statustype[child_row] = ll_statustype
  558. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  559. dw_child.Object.u_mtrldef_woodcodetype[child_row] = ll_woodcodetype
  560. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  561. dw_child.Object.u_mtrldef_pcodetype[child_row] = ll_pcodetype
  562. // dw_child.Object.u_mtrldef_ifmtrlcuscode[child_row] = li_ifmtrlcuscode
  563. dw_child.SetColumn('u_mtrlware_pzcode_transmx_qty')
  564. END IF
  565. NEXT
  566. This.TriggerEvent('ue_allowedit')
  567. dw_child.SetFocus()
  568. END IF
  569. end event
  570. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid
  571. row = dw_pageretr.GetRow()
  572. IF row > 0 THEN
  573. uc_relid = dw_pageretr.Object.billid[row]
  574. dw_child.SetRedraw (FALSE)
  575. dw_child.Retrieve(uc_relid)
  576. dw_child.SetRedraw (TRUE)
  577. ELSE
  578. dw_child.Reset()
  579. END IF
  580. end event
  581. event open;THIS.TriggerEvent('ue_before_open')
  582. wf_movetocenter()
  583. OLD_TITLE = THIS.Title
  584. s_tran = Message.PowerObjectParm
  585. IF NOT IsNull(s_tran) THEN
  586. retrieve_all = s_tran.if_retrieve_all
  587. mode = s_tran.work_mode
  588. arg_pkid = s_tran.arg_pkid
  589. arg_string_code = s_tran.arg_string_code
  590. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  591. ds_share = s_tran.ds_share
  592. END IF
  593. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  594. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  595. dw_pageretr.SetTransObject (sqlca)
  596. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  597. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  598. ls_newselect = ori_oldselect
  599. ds_curquery = CREATE DATASTORE
  600. ds_curquery.DataObject = 'd_extr_find'
  601. ds_curquery.SetTransObject (sqlca)
  602. wf_editindex_lockf()
  603. IF s_tran.d_long = 2 THEN
  604. cur_scid = s_tran.c_long
  605. Int li_item
  606. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  607. IF li_item > 0 THEN
  608. ddlb_scid.SelectItem(li_item)
  609. END IF
  610. END IF
  611. sle_usual_query.Text = Trim(arg_string_code)
  612. IF NOT retrieve_all THEN
  613. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  614. ELSE
  615. IF if_sharedata THEN
  616. ds_share.ShareData(dw_pageretr)
  617. ELSE
  618. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  619. THIS.TriggerEvent('RETRIEVE_pageretr')
  620. END IF
  621. END IF
  622. IF retrieve_all THEN
  623. THIS.TriggerEvent("ue_usual_query_filt")
  624. END IF
  625. uc_column_int = 6 //uc dw前7列可以编辑
  626. child_column_int = 13 //子dw前8列可以编辑
  627. uo_trans = CREATE uo_mtrlware_pzcode_trans
  628. s_hide_col s_col
  629. s_col.col_1 = 'u_mtrlware_pzcode_transmx_cost'
  630. s_col.col_2 = 'amt'
  631. f_hide_col(123,dw_child,s_col)
  632. end event
  633. event ue_viewprint;call super::ue_viewprint;Long LS_ROW
  634. LS_ROW = dw_pageretr.GetRow()
  635. IF LS_ROW <= 0 THEN
  636. MessageBox('NO','没有打印目标单据!')
  637. RETURN
  638. END IF
  639. S_print_MSG LS_PRMSG
  640. if ls_powerid = 0 then ls_powerid = 1645
  641. IF ls_newname <> '' THEN
  642. IF Not f_power_ind(ls_powerid,sys_msg_pow) THEN
  643. MessageBox(publ_operator,sys_msg_pow)
  644. RETURN
  645. END IF
  646. IF li_auditprint = 1 THEN
  647. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  648. MessageBox('NO','目标单据还未审核,不能打印!')
  649. RETURN
  650. END IF
  651. END IF
  652. LS_PRMSG.obj_dwNAME = ls_newname
  653. ELSE
  654. IF NOT f_power_ind(1645,sys_msg_pow) THEN
  655. MessageBox(publ_operator,sys_msg_pow)
  656. RETURN
  657. END IF
  658. LS_PRMSG.obj_dwNAME = 'dw_rp_mtrlware_pzcode_trans_edit'
  659. END IF
  660. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  661. LS_PRMSG.printrow = ll_prownum
  662. LS_PRMSG.TAG_TEXT = '库存配置调整单'
  663. LS_PRMSG.FILTER_STRING = ''
  664. LS_PRMSG.retr_pram_falg = 15
  665. LS_PRMSG.PAGECH_FLAG = 0
  666. LS_PRMSG.retr_scid = 0
  667. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW]
  668. LS_PRMSG.rowcnt = dw_child.RowCount()
  669. OpenWithParm(w_publ_preview,LS_PRMSG)
  670. end event
  671. event ue_print;call super::ue_print;//--直接打印
  672. uo_print_preview uo_print
  673. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  674. S_print_MSG LS_PRMSG
  675. IF dw_pageretr.GetRow() = 0 THEN
  676. MessageBox('系统信息','没有可打印的单据!')
  677. RETURN
  678. END IF
  679. if ls_powerid = 0 then ls_powerid = 1645
  680. IF ls_newname <> '' THEN
  681. IF NOT f_power_ind(ls_powerid,sys_msg_pow) THEN
  682. MessageBox(publ_operator,sys_msg_pow)
  683. RETURN
  684. END IF
  685. IF li_auditprint = 1 THEN
  686. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  687. MessageBox('NO','目标单据还未审核,不能打印!')
  688. RETURN
  689. END IF
  690. END IF
  691. LS_PRMSG.obj_dwNAME = ls_newname
  692. ELSE
  693. IF NOT f_power_ind(1645,sys_msg_pow) THEN
  694. MessageBox(publ_operator,sys_msg_pow)
  695. RETURN
  696. END IF
  697. LS_PRMSG.obj_dwNAME = 'dw_rp_mtrlware_pzcode_trans_edit'
  698. END IF
  699. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  700. LS_PRMSG.printrow = ll_prownum
  701. LS_PRMSG.retr_pram_falg = 15
  702. LS_PRMSG.TAG_TEXT = '库存配置调整单'
  703. LS_PRMSG.FILTER_STRING = ''
  704. LS_PRMSG.PAGECH_FLAG = 0
  705. LS_PRMSG.retr_scid = 0
  706. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[dw_pageretr.GetRow()]
  707. LS_PRMSG.rowcnt = dw_child.RowCount()
  708. uo_print.FACT_PRINT_MSG = LS_PRMSG
  709. end event
  710. event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1644,sys_msg_pow) THEN
  711. MessageBox(publ_operator,sys_msg_pow)
  712. RETURN
  713. END IF
  714. IF dw_edit_mode THEN RETURN
  715. String arg_msg = ''
  716. String ls_str
  717. Long uc_row
  718. s_inputbox s_sreu
  719. uc_row = dw_pageretr.GetRow()
  720. IF uc_row <= 0 THEN
  721. MessageBox('系统提示','请选定当前目标单据!')
  722. RETURN
  723. END IF
  724. s_sreu.Title = '请输入要补充到备注的内容'
  725. s_sreu.old_text = ''
  726. OpenWithParm(w_inputbox,s_sreu)
  727. ls_str = Message.StringParm
  728. IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
  729. IF uo_trans.add_dscrp(dw_pageretr.Object.billid[uc_row],ls_str,arg_msg) = 0 THEN
  730. MessageBox('error!',arg_msg)
  731. RETURN
  732. ELSE
  733. MessageBox(publ_operator,'添加备注操作成功!')
  734. wf_refresh_curuc(dw_pageretr.Object.billid[uc_row])
  735. END IF
  736. end event
  737. event ue_rpt_viewprint;call super::ue_rpt_viewprint;
  738. Long row,uc_relid,ll_scid
  739. row = dw_pageretr.GetRow()
  740. IF row = 0 THEN RETURN
  741. IF ls_rpname = '' THEN RETURN
  742. IF li_auditprint = 1 THEN
  743. IF dw_pageretr.Object.flag[row] = 0 THEN
  744. MessageBox('NO','目标单据还未审核,不能打印!')
  745. RETURN
  746. END IF
  747. END IF
  748. s_rpt_print_msg s_print
  749. s_print.retr_pram_falg = 15
  750. s_print.rpid = ls_msgprintid_rpt
  751. s_print.retr_flag = TRUE
  752. s_print.tag_text = THIS.Title
  753. s_print.rpname = ls_rpname
  754. s_print.retr_scid = dw_pageretr.Object.scid[row]
  755. s_print.retr_pramnmb = dw_pageretr.Object.billid[row]
  756. s_print.rowcnt = dw_child.RowCount()
  757. OpenWithParm(w_rpt_preview,s_print)
  758. end event
  759. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  760. row = dw_pageretr.GetRow()
  761. IF row = 0 THEN RETURN
  762. uo_rpt_print_preview uo_print
  763. S_rpt_print_MSG LS_PRMSG
  764. IF dw_pageretr.RowCount() = 0 THEN
  765. MessageBox('系统信息','没有可打印的单据!')
  766. RETURN
  767. END IF
  768. IF ls_rpname = '' THEN RETURN
  769. IF li_auditprint = 1 THEN
  770. IF dw_pageretr.Object.flag[row] = 0 THEN
  771. MessageBox('NO','目标单据还未审核,不能打印!')
  772. RETURN
  773. END IF
  774. END IF
  775. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  776. LS_PRMSG.retr_pram_falg = 15
  777. LS_PRMSG.TAG_TEXT = THIS.Title
  778. LS_PRMSG.rpname = ls_rpname
  779. LS_PRMSG.FILTER_STRING = ''
  780. LS_PRMSG.PAGECH_FLAG = 0
  781. LS_PRMSG.rpid = ls_msgprintid_rpt
  782. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[row]
  783. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[row]
  784. LS_PRMSG.rowcnt = dw_child.RowCount()
  785. uo_print.FACT_PRINT_MSG = LS_PRMSG
  786. String arg_msg
  787. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  788. MessageBox("系统提示",arg_msg)
  789. RETURN
  790. END IF
  791. uo_print.ds_print()
  792. end event
  793. event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN
  794. Long child_row
  795. dw_child.AcceptText()
  796. child_row = dw_child.GetRow()
  797. IF child_row <= 0 THEN RETURN
  798. IF NOT IsValid(W_cust_ch) THEN
  799. THIS.Enabled = FALSE
  800. OpenWithParm(W_cust_ch,'') //调用
  801. THIS.Enabled = TRUE
  802. s_custom S_INSCUST
  803. S_INSCUST = Message.PowerObjectParm //接受返回结构
  804. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  805. dw_child.SetRedraw(FALSE)
  806. dw_child.Object.ifcust[child_row] = 1
  807. dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[child_row] = S_INSCUST.cusid
  808. dw_child.Object.u_cust_name_new[child_row] = S_INSCUST.Name
  809. dw_child.SetRedraw(TRUE)
  810. END IF
  811. END IF
  812. end event
  813. type cb_func from w_publ_1ton_share_detail`cb_func within w_mtrlware_pzcode_trans
  814. end type
  815. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_mtrlware_pzcode_trans
  816. end type
  817. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_mtrlware_pzcode_trans
  818. integer x = 197
  819. integer width = 549
  820. end type
  821. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_mtrlware_pzcode_trans
  822. end type
  823. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_mtrlware_pzcode_trans
  824. end type
  825. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_mtrlware_pzcode_trans
  826. integer x = 1806
  827. integer width = 1733
  828. integer height = 712
  829. string dataobject = "dw_mtrlware_pzcode_trans_index"
  830. end type
  831. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  832. end event
  833. type st_1 from w_publ_1ton_share_detail`st_1 within w_mtrlware_pzcode_trans
  834. integer x = 27
  835. end type
  836. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_mtrlware_pzcode_trans
  837. end type
  838. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_mtrlware_pzcode_trans
  839. integer width = 1801
  840. integer height = 712
  841. string dataobject = "dw_mtrlware_pzcode_trans_edit"
  842. end type
  843. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  844. IF Key = KeyDownArrow! THEN RETURN 1
  845. IF dw_edit_mode THEN
  846. IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN
  847. dw_child.SetFocus()
  848. dw_child.ScrollToRow(1)
  849. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  850. RETURN 1
  851. ELSE
  852. IF Key = KeyEnter! THEN //
  853. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  854. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  855. RETURN 1
  856. END IF
  857. END IF
  858. END IF
  859. end event
  860. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  861. Long ll_storageid
  862. IF dwo.Name = 'storageid' THEN
  863. dw_uc.AcceptText()
  864. dw_child.Reset()
  865. PARENT.TriggerEvent("insert_childrow")
  866. ll_storageid = dw_uc.Object.storageid[row]
  867. wf_face_child(ll_storageid)
  868. END IF
  869. end event
  870. event dw_uc::doubleclicked;//
  871. end event
  872. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_mtrlware_pzcode_trans
  873. integer x = 914
  874. integer y = 712
  875. integer width = 855
  876. integer height = 132
  877. end type
  878. type dw_child from w_publ_1ton_share_detail`dw_child within w_mtrlware_pzcode_trans
  879. integer y = 1012
  880. integer width = 3543
  881. integer height = 1156
  882. string dataobject = "dw_mtrlware_pzcode_trans_mx_edit"
  883. end type
  884. event dw_child::dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key')
  885. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
  886. String ls_mtrlsectype,ls_zxmtrlmode,ls_usermtrlmode
  887. Long ls_mtrlid,ls_mtrlwareid
  888. String ls_plancode,ls_status,ls_woodcode,ls_pcode
  889. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  890. Long ll_statustype,ll_woodcodetype,ll_pcodetype
  891. Decimal ls_cost,ls_noallocqty
  892. String ls_mtrlcuscode,ls_location
  893. Long ls_storageid,ll_sptid
  894. String ls_cusname
  895. Int li_ifcust
  896. Int li_ifmtrlcuscode
  897. Long child_row
  898. s_mtrldef_array arg_s_mtrldef
  899. s_mtrlware_noalloc_array arg_s_mtrlware
  900. IF dw_edit_mode THEN
  901. dw_uc.AcceptText()
  902. dw_uc.AcceptText()
  903. ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  904. IF ls_storageid = 0 Or IsNull(ls_storageid) THEN
  905. MessageBox(publ_operator,'请先选择仓库')
  906. RETURN
  907. END IF
  908. IF KeyDown(Keydownarrow!) THEN
  909. Long li_row
  910. IF dw_child.GetRow() = dw_child.RowCount() THEN
  911. Parent.TriggerEvent("insert_childrow")
  912. END IF
  913. ELSE
  914. IF KeyDown(KeyEnter!) And Not KeyDown(KeyControl!) And Not KeyDown(KeyShift!) THEN
  915. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  916. dw_child.AcceptText()
  917. child_row = dw_child.GetRow()
  918. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  919. IF f_find_mtrlware(ls_mtrlcode,ls_storageid,-1,arg_s_mtrlware) = 0 THEN
  920. Parent.TriggerEvent('ue_f8')
  921. RETURN 1
  922. ELSE
  923. ls_mtrlwareid = arg_s_mtrlware.mtrlwareid[1]
  924. ls_mtrlid = arg_s_mtrlware.mtrlid[1]
  925. ls_mtrlcode = arg_s_mtrlware.u_mtrldef_mtrlcode[1]
  926. ls_mtrlname = arg_s_mtrlware.u_mtrldef_mtrlname[1]
  927. ls_unit = arg_s_mtrlware.u_mtrldef_unit[1]
  928. ls_mtrlmode = arg_s_mtrlware.u_mtrldef_mtrlmode[1]
  929. ls_plancode = arg_s_mtrlware.plancode[1]
  930. ls_cost = arg_s_mtrlware.cost[1]
  931. ls_noallocqty = arg_s_mtrlware.noallocqty[1]
  932. ls_status = arg_s_mtrlware.status[1]
  933. ls_woodcode = arg_s_mtrlware.woodcode[1]
  934. ls_pcode = arg_s_mtrlware.pcode[1]
  935. ls_mtrlsectype = arg_s_mtrlware.u_mtrldef_mtrlsectype[1]
  936. ls_zxmtrlmode = arg_s_mtrlware.u_mtrldef_zxmtrlmode[1]
  937. // ls_usermtrlmode = arg_s_mtrlware.usermtrlmode[1]
  938. // ls_mtrlcuscode = arg_s_mtrlware.mtrlcuscode[1]
  939. // ls_location = arg_s_mtrlware.Location[1]
  940. ll_sptid = arg_s_mtrlware.sptid[1]
  941. END IF
  942. IF ll_sptid > 0 THEN
  943. li_ifcust = 1
  944. SELECT Name Into :ls_cusname From u_cust Where cusid = :ll_sptid;
  945. IF sqlca.SQLCode <> 0 THEN ls_cusname = ''
  946. ELSE
  947. li_ifcust = 0
  948. ls_cusname = ''
  949. END IF
  950. dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[child_row] = ls_mtrlwareid
  951. dw_child.Object.u_mtrlware_pzcode_transmx_mtrlid[child_row] = ls_mtrlid
  952. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  953. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  954. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  955. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  956. dw_child.Object.u_mtrlware_pzcode_transmx_qty[child_row] = ls_noallocqty
  957. dw_child.Object.u_mtrlware_pzcode_transmx_cost[child_row] = ls_cost
  958. dw_child.Object.u_mtrlware_pzcode_transmx_cost_hide[child_row] = ls_cost
  959. dw_child.Object.u_mtrlware_pzcode_transmx_status_new[child_row] = ls_status
  960. dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[child_row] = ls_woodcode
  961. dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[child_row] = ls_pcode
  962. // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode_new[child_row] = ls_mtrlcuscode
  963. // dw_child.Object.u_mtrlware_pzcode_transmx_location_new[child_row] = ls_location
  964. dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[child_row] = ll_sptid
  965. dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[child_row] = ls_plancode
  966. dw_child.Object.ifcust[child_row] = 1
  967. dw_child.Object.u_cust_name_new[child_row] = ls_cusname
  968. dw_child.Object.u_cust_name[child_row] = ls_cusname
  969. dw_child.Object.u_mtrlware_pzcode_transmx_old_s[child_row] = ls_status
  970. dw_child.Object.u_mtrlware_pzcode_transmx_old_w[child_row] = ls_woodcode
  971. dw_child.Object.u_mtrlware_pzcode_transmx_old_p[child_row] = ls_pcode
  972. // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode[child_row] = ls_mtrlcuscode
  973. // dw_child.Object.u_mtrlware_pzcode_transmx_location[child_row] = ls_location
  974. dw_child.Object.u_mtrlware_pzcode_transmx_sptid[child_row] = ll_sptid
  975. dw_child.Object.u_mtrlware_pzcode_transmx_plancode[child_row] = ls_plancode
  976. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  977. li_statusflag = 0
  978. li_woodcodeflag = 0
  979. li_pcodeflag = 0
  980. ll_statustype = 0
  981. ll_woodcodetype = 0
  982. ll_pcodetype = 0
  983. // li_ifmtrlcuscode = 0
  984. ELSE
  985. li_statusflag = arg_s_mtrldef.statusflag[1]
  986. ll_statustype = arg_s_mtrldef.statustype[1]
  987. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  988. ll_woodcodetype = arg_s_mtrldef.woodcodetype[1]
  989. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  990. ll_pcodetype = arg_s_mtrldef.pcodetype[1]
  991. // li_ifmtrlcuscode = arg_s_mtrldef.ifmtrlcuscode[1]
  992. END IF
  993. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  994. dw_child.Object.u_mtrldef_statustype[child_row] = ll_statustype
  995. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  996. dw_child.Object.u_mtrldef_woodcodetype[child_row] = ll_woodcodetype
  997. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  998. dw_child.Object.u_mtrldef_pcodetype[child_row] = ll_pcodetype
  999. // dw_child.Object.u_mtrldef_ifmtrlcuscode[child_row] = li_ifmtrlcuscode
  1000. Parent.TriggerEvent('ue_allowedit')
  1001. IF Key = KeyEnter! THEN
  1002. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1003. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1004. RETURN 1
  1005. END IF
  1006. ELSEIF dw_child.GetColumnName( ) = 'u_mtrlware_pzcode_transmx_mxdscrp' And dw_child.GetRow() = dw_child.RowCount() THEN
  1007. Parent.TriggerEvent("insert_childrow")
  1008. RETURN 1
  1009. ELSE
  1010. IF Key = KeyEnter! THEN
  1011. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1012. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1013. RETURN 1
  1014. END IF
  1015. END IF
  1016. END IF
  1017. END IF
  1018. END IF
  1019. end event
  1020. event dw_child::doubleclicked;dw_child.AcceptText()
  1021. IF dw_edit_mode THEN
  1022. IF row > 0 THEN
  1023. IF dwo.Name = 'u_cust_name_new' THEN
  1024. Parent.TriggerEvent('ue_f9')
  1025. ELSE
  1026. Parent.TriggerEvent('ue_f8')
  1027. END IF
  1028. END IF
  1029. END IF
  1030. end event
  1031. event dw_child::constructor;call super::constructor;wf_title_change(this)
  1032. end event
  1033. event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
  1034. This.AcceptText()
  1035. IF dwo.Name = 'ifcust' THEN
  1036. IF This.Object.ifcust[row] = 1 THEN
  1037. dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[row] = 0
  1038. dw_child.Object.u_cust_name_new[row] = ''
  1039. END IF
  1040. END IF
  1041. end event
  1042. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_mtrlware_pzcode_trans
  1043. end type
  1044. type cb_print from w_publ_1ton_share_detail`cb_print within w_mtrlware_pzcode_trans
  1045. end type
  1046. type cb_add from w_publ_1ton_share_detail`cb_add within w_mtrlware_pzcode_trans
  1047. end type
  1048. event cb_add::clicked;IF NOT f_power_ind(1640,sys_msg_pow) THEN
  1049. MessageBox(publ_operator,sys_msg_pow)
  1050. RETURN
  1051. END IF
  1052. String arg_msg = ''
  1053. Long uc_row,i,j,count
  1054. s_mtrlware_pzcode_trans arg_s_trans
  1055. IF dw_edit_mode THEN
  1056. dw_uc.AcceptText()
  1057. dw_child.AcceptText()
  1058. uc_row = dw_uc.GetRow()
  1059. IF uc_row <= 0 THEN
  1060. MessageBox('系统提示','请选定当前目标单据!')
  1061. RETURN
  1062. END IF
  1063. IF NOT dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1064. MessageBox('系统提示','不合理的单据日期!')
  1065. dw_uc.SetFocus()
  1066. dw_uc.SetColumn("billdate")
  1067. RETURN
  1068. END IF
  1069. IF dw_uc.object.storageid[uc_row] = 0 THEN
  1070. MessageBox('系统提示','请选择仓库!')
  1071. dw_uc.SetFocus()
  1072. dw_uc.SetColumn("storageid")
  1073. RETURN
  1074. END IF
  1075. IF NOT Len(String(dw_uc.Object.rep[uc_row])) > 0 THEN
  1076. MessageBox('系统提示','请填写经手人!')
  1077. dw_uc.SetFocus()
  1078. dw_uc.SetColumn("rep")
  1079. RETURN
  1080. END IF
  1081. FOR j = 1 TO dw_child.RowCount()
  1082. IF dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[j] = 0 THEN CONTINUE
  1083. IF dw_child.Object.u_mtrlware_pzcode_transmx_qty[j] <= 0 THEN
  1084. MessageBox('系统提示','第'+String(j)+'行,不合理的转换数')
  1085. RETURN
  1086. END IF
  1087. NEXT
  1088. IF dw_uc.Object.billid[uc_row] = 0 THEN
  1089. arg_s_trans.scid = cur_scid
  1090. ELSE
  1091. arg_s_trans.scid = dw_uc.Object.scid[uc_row]
  1092. END IF
  1093. arg_s_trans.billid = dw_uc.Object.billid[uc_row]
  1094. arg_s_trans.rep = dw_uc.Object.rep[uc_row]
  1095. arg_s_trans.relcode = dw_uc.Object.relcode[uc_row]
  1096. arg_s_trans.dscrp = dw_uc.Object.dscrp[uc_row]
  1097. arg_s_trans.storageid = dw_uc.Object.storageid[uc_row]
  1098. arg_s_trans.billdate = dw_uc.Object.billdate[uc_row]
  1099. FOR i = 1 TO dw_child.RowCount()
  1100. IF dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[i] > 0 THEN
  1101. count++
  1102. arg_s_trans.arg_s_mx[count].printid = count
  1103. arg_s_trans.arg_s_mx[count].mtrlid = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlid[i]
  1104. arg_s_trans.arg_s_mx[count].mtrlwareid = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[i]
  1105. arg_s_trans.arg_s_mx[count].status = dw_child.Object.u_mtrlware_pzcode_transmx_old_s[i]
  1106. arg_s_trans.arg_s_mx[count].woodcode = dw_child.Object.u_mtrlware_pzcode_transmx_old_w[i]
  1107. arg_s_trans.arg_s_mx[count].pcode = dw_child.Object.u_mtrlware_pzcode_transmx_old_p[i]
  1108. arg_s_trans.arg_s_mx[count].plancode = dw_child.Object.u_mtrlware_pzcode_transmx_plancode[i]
  1109. // arg_s_trans.arg_s_mx[count].mtrlcuscode = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode[i]
  1110. // arg_s_trans.arg_s_mx[count].location = dw_child.Object.u_mtrlware_pzcode_transmx_location[i]
  1111. arg_s_trans.arg_s_mx[count].sptid = dw_child.Object.u_mtrlware_pzcode_transmx_sptid[i]
  1112. arg_s_trans.arg_s_mx[count].qty = dw_child.Object.u_mtrlware_pzcode_transmx_qty[i]
  1113. arg_s_trans.arg_s_mx[count].cost = dw_child.Object.u_mtrlware_pzcode_transmx_cost_hide[i]
  1114. arg_s_trans.arg_s_mx[count].status_new = dw_child.Object.u_mtrlware_pzcode_transmx_status_new[i]
  1115. arg_s_trans.arg_s_mx[count].woodcode_new = dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[i]
  1116. arg_s_trans.arg_s_mx[count].pcode_new = dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[i]
  1117. arg_s_trans.arg_s_mx[count].plancode_new = dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[i]
  1118. // arg_s_trans.arg_s_mx[count].mtrlcuscode_new = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode_new[i]
  1119. // arg_s_trans.arg_s_mx[count].location_new = dw_child.Object.u_mtrlware_pzcode_transmx_location_new[i]
  1120. arg_s_trans.arg_s_mx[count].sptid_new = dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[i]
  1121. arg_s_trans.arg_s_mx[count].mxdscrp = dw_child.Object.u_mtrlware_pzcode_transmx_mxdscrp[i]
  1122. arg_s_trans.arg_s_mx[count].addqty = dw_child.Object.u_mtrlware_pzcode_transmx_addqty[i]
  1123. END IF
  1124. NEXT
  1125. IF uo_trans.Save(arg_s_trans,publ_operator,arg_msg,TRUE) = 0 THEN
  1126. MessageBox('Error!',arg_msg)
  1127. RETURN
  1128. END IF
  1129. MessageBox('提示','保存操作成功!')
  1130. Long ll_row
  1131. ll_row = dw_pageretr.GetRow()
  1132. dw_pageretr.SelectRow(0,FALSE)
  1133. dw_pageretr.SelectRow(ll_row,TRUE)
  1134. wf_refresh_curuc(uo_trans.uo_billid) //刷新uc
  1135. ELSE
  1136. IF cur_scid < 0 THEN
  1137. MessageBox('提示','请选择分部!')
  1138. RETURN
  1139. END IF
  1140. END IF
  1141. CALL SUPER::Clicked
  1142. IF dw_edit_mode THEN
  1143. PARENT.TriggerEvent("insert_childrow")
  1144. dw_uc.SetRedraw(FALSE)
  1145. dw_uc.Object.rep[1] =publ_operator
  1146. dw_uc.SetColumn("billdate")
  1147. dw_uc.SetRedraw(TRUE)
  1148. ELSE
  1149. PARENT.TriggerEvent("retrieve_childdw")
  1150. END IF
  1151. end event
  1152. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_mtrlware_pzcode_trans
  1153. end type
  1154. event cb_edit::clicked;IF NOT f_power_ind(1640,sys_msg_pow) THEN
  1155. MessageBox(publ_operator,sys_msg_pow)
  1156. RETURN
  1157. END IF
  1158. String arg_msg = ''
  1159. Long uc_row
  1160. uc_row = dw_pageretr.GetRow()
  1161. IF uc_row <= 0 THEN
  1162. MessageBox('系统提示','请选定当前目标单据!')
  1163. RETURN
  1164. END IF
  1165. IF NOT dw_edit_mode THEN
  1166. IF uo_trans.updatebegin(dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN
  1167. MessageBox('Error!',arg_msg)
  1168. RETURN
  1169. END IF
  1170. wf_refresh_curuc(dw_pageretr.Object.billid[uc_row])
  1171. PARENT.TriggerEvent("retrieve_childdw")
  1172. PARENT.TriggerEvent('ue_allowedit')
  1173. END IF
  1174. CALL SUPER::Clicked
  1175. end event
  1176. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_mtrlware_pzcode_trans
  1177. end type
  1178. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1641,sys_msg_pow) THEN
  1179. MessageBox(publ_operator,sys_msg_pow)
  1180. RETURN
  1181. END IF
  1182. String arg_msg = ''
  1183. IF dw_edit_mode THEN RETURN
  1184. Long uc_row
  1185. uc_row = dw_pageretr.GetRow()
  1186. IF uc_row <= 0 THEN
  1187. MessageBox('系统提示','请选定当前目标单据!')
  1188. RETURN
  1189. END IF
  1190. IF MessageBox ("if","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN
  1191. IF uo_trans.del(dw_pageretr.Object.billid[uc_row],1,arg_msg,TRUE) = 0 THEN
  1192. MessageBox('error!',arg_msg)
  1193. ELSE
  1194. //日志
  1195. Long ls_id
  1196. String ls_code
  1197. ls_id = dw_pageretr.Object.billid[uc_row]
  1198. ls_code = dw_pageretr.Object.billcode[uc_row]
  1199. f_setsysoplog('库存配置调整单','库存配置调整单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  1200. //--
  1201. MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.billcode[uc_row])+'成功!')
  1202. dw_pageretr.DeleteRow(uc_row)
  1203. dw_pageretr.TriggerEvent(RowFocusChanged!)
  1204. END IF
  1205. end event
  1206. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_mtrlware_pzcode_trans
  1207. end type
  1208. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1209. String menustr
  1210. IF NOT dw_edit_mode THEN
  1211. menustr = "Text=增加备注~tEvent=ue_addzy"
  1212. END IF
  1213. IF Len(Trim(menustr)) <> 0 THEN
  1214. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1215. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1216. dmPopupMenu.mf_PopMenu()
  1217. DESTROY dmPopupMenu
  1218. END IF
  1219. end event
  1220. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_mtrlware_pzcode_trans
  1221. string tag = "按Ctrl再点击可实现批审核"
  1222. end type
  1223. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1642,sys_msg_pow) THEN
  1224. MessageBox(publ_operator,sys_msg_pow)
  1225. RETURN
  1226. END IF
  1227. IF dw_edit_mode THEN RETURN
  1228. String arg_msg = ''
  1229. IF NOT KeyDown(KeyControl!) THEN
  1230. Long pagerert_row
  1231. pagerert_row = dw_pageretr.GetRow()
  1232. IF pagerert_row <= 0 THEN
  1233. MessageBox('系统提示','请选定当前目标单据!')
  1234. RETURN
  1235. END IF
  1236. IF MessageBox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1237. IF uo_trans.audit(dw_pageretr.Object.billid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN
  1238. MessageBox('error!',arg_msg)
  1239. ELSE
  1240. MessageBox(publ_operator,'审核成功!')
  1241. wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row])
  1242. END IF
  1243. ELSE
  1244. IF MessageBox ("if","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  1245. Long ll_i,ll_billid
  1246. Int li_flag
  1247. Long ll_suc,ll_fail
  1248. dw_pageretr.AcceptText()
  1249. Open(w_sys_wait_jdt) //初始化进度条
  1250. w_sys_wait_jdt.Show()
  1251. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1252. FOR ll_i = 1 TO dw_pageretr.RowCount()
  1253. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.billid[ll_i] + " 正在审核..." //进度信息
  1254. li_flag = dw_pageretr.Object.flag[ll_i]
  1255. IF li_flag = 1 THEN CONTINUE
  1256. ll_billid = dw_pageretr.Object.billid[ll_i]
  1257. IF uo_trans.audit(ll_billid,publ_operator,arg_msg,TRUE) = 0 THEN
  1258. ll_fail++
  1259. CONTINUE
  1260. END IF
  1261. ll_suc++
  1262. w_sys_wait_jdt.wf_inc(ll_i) //进度
  1263. NEXT
  1264. Close(w_sys_wait_jdt)
  1265. MessageBox(publ_operator,'批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  1266. PARENT.TriggerEvent('retrieve_pageretr')
  1267. END IF
  1268. end event
  1269. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_mtrlware_pzcode_trans
  1270. end type
  1271. event cb_xm::clicked;
  1272. is_mx_menustr = ''
  1273. IF dw_edit_mode THEN
  1274. // is_mx_menustr += "|" + "Text=批设置新仓库~tEvent=ue_p_location"
  1275. is_mx_menustr += "|" + "Text=批设置"+sys_option_change_status+"~tEvent=ue_p_status"
  1276. is_mx_menustr += "|" + "Text=批设置"+sys_option_change_woodcode+"~tEvent=ue_p_woodcode"
  1277. is_mx_menustr += "|" + "Text=批设置"+sys_option_change_pcode+"~tEvent=ue_p_pcode"
  1278. is_mx_menustr += "|" + "Text=批设置批号~tEvent=ue_p_plancode"
  1279. is_mx_menustr += "|" + "Text=批设置客户~tEvent=ue_p_sptid"
  1280. is_mx_menustr += "|" + "Text=批按辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  1281. END IF
  1282. CALL SUPER::Clicked
  1283. end event
  1284. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_mtrlware_pzcode_trans
  1285. end type
  1286. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_mtrlware_pzcode_trans
  1287. end type
  1288. type cb_help from w_publ_1ton_share_detail`cb_help within w_mtrlware_pzcode_trans
  1289. end type
  1290. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_mtrlware_pzcode_trans
  1291. end type
  1292. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1643,sys_msg_pow) THEN
  1293. MessageBox(publ_operator,sys_msg_pow)
  1294. RETURN
  1295. END IF
  1296. IF dw_edit_mode THEN RETURN
  1297. String arg_msg = ''
  1298. Long pagerert_row
  1299. pagerert_row = dw_pageretr.GetRow()
  1300. IF pagerert_row <= 0 THEN
  1301. MessageBox('系统提示','请选定当前目标单据!')
  1302. RETURN
  1303. END IF
  1304. IF MessageBox ("if","是否确定要撤销审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1305. IF uo_trans.caudit(dw_pageretr.object.billid[pagerert_row],arg_msg,true) = 0 THEN
  1306. MessageBox('error!',arg_msg)
  1307. ELSE
  1308. MessageBox(publ_operator,'撤销审核成功!')
  1309. wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row])
  1310. //日志
  1311. String ls_code
  1312. ls_code = dw_pageretr.Object.billcode[pagerert_row]
  1313. f_setsysoplog('库存配置调整单','库存配置调整单撤审'+',code:'+ls_code,arg_msg,TRUE)
  1314. //--
  1315. END IF
  1316. end event
  1317. type p_msg from w_publ_1ton_share_detail`p_msg within w_mtrlware_pzcode_trans
  1318. end type
  1319. type p_help from w_publ_1ton_share_detail`p_help within w_mtrlware_pzcode_trans
  1320. end type
  1321. type p_encl from w_publ_1ton_share_detail`p_encl within w_mtrlware_pzcode_trans
  1322. end type
  1323. type p_other from w_publ_1ton_share_detail`p_other within w_mtrlware_pzcode_trans
  1324. end type
  1325. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_mtrlware_pzcode_trans
  1326. end type
  1327. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_mtrlware_pzcode_trans
  1328. end type
  1329. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_mtrlware_pzcode_trans
  1330. end type
  1331. type r_bar from w_publ_1ton_share_detail`r_bar within w_mtrlware_pzcode_trans
  1332. end type
  1333. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_mtrlware_pzcode_trans
  1334. end type
  1335. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_mtrlware_pzcode_trans
  1336. end type
  1337. type ddlb_scid from uo_ddlb_scid within w_mtrlware_pzcode_trans
  1338. integer x = 891
  1339. integer y = 192
  1340. integer width = 549
  1341. integer height = 604
  1342. integer taborder = 20
  1343. boolean bringtotop = true
  1344. end type
  1345. event constructor;call super::constructor;cur_scid=this.uo_scid
  1346. cur_scid_arr = THIS.uo_scid_arr
  1347. end event
  1348. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1349. cur_scid_arr = THIS.uo_scid_arr
  1350. parent.triggerevent("retrieve_pageretr")
  1351. end event
  1352. type ddlb_status from dropdownlistbox within w_mtrlware_pzcode_trans
  1353. integer x = 1582
  1354. integer y = 192
  1355. integer width = 297
  1356. integer height = 300
  1357. integer taborder = 30
  1358. boolean bringtotop = true
  1359. integer textsize = -9
  1360. integer weight = 400
  1361. fontcharset fontcharset = gb2312charset!
  1362. fontpitch fontpitch = variable!
  1363. string facename = "宋体"
  1364. long textcolor = 33554432
  1365. string text = "[全部]"
  1366. boolean sorted = false
  1367. string item[] = {"[全部]","待审核","已审核"}
  1368. borderstyle borderstyle = stylelowered!
  1369. end type
  1370. event selectionchanged;IF Index = 1 THEN
  1371. cur_flag = -1
  1372. ELSEIF Index = 2 THEN
  1373. cur_flag = 0
  1374. ELSEIF Index = 3 THEN
  1375. cur_flag = 1
  1376. END IF
  1377. PARENT.TriggerEvent('retrieve_pageretr')
  1378. end event
  1379. type st_2 from statictext within w_mtrlware_pzcode_trans
  1380. integer x = 1408
  1381. integer y = 204
  1382. integer width = 155
  1383. integer height = 48
  1384. integer textsize = -9
  1385. integer weight = 400
  1386. fontcharset fontcharset = gb2312charset!
  1387. fontpitch fontpitch = variable!
  1388. string facename = "宋体"
  1389. long textcolor = 33554432
  1390. long backcolor = 134217739
  1391. string text = "状态"
  1392. alignment alignment = right!
  1393. boolean focusrectangle = false
  1394. end type
  1395. type st_4 from statictext within w_mtrlware_pzcode_trans
  1396. integer x = 718
  1397. integer y = 204
  1398. integer width = 155
  1399. integer height = 48
  1400. integer textsize = -9
  1401. integer weight = 400
  1402. fontcharset fontcharset = gb2312charset!
  1403. fontpitch fontpitch = variable!
  1404. string facename = "宋体"
  1405. long textcolor = 33554432
  1406. long backcolor = 134217739
  1407. string text = "分部"
  1408. alignment alignment = right!
  1409. boolean focusrectangle = false
  1410. end type