w_update_cost.srw 52 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870
  1. $PBExportHeader$w_update_cost.srw
  2. forward
  3. global type w_update_cost from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_update_cost
  6. end type
  7. type ddlb_status from dropdownlistbox within w_update_cost
  8. end type
  9. type st_2 from statictext within w_update_cost
  10. end type
  11. type st_4 from statictext within w_update_cost
  12. end type
  13. end forward
  14. global type w_update_cost from w_publ_1ton_share_detail
  15. integer height = 2300
  16. string title = "成本价调整单"
  17. boolean maxbox = true
  18. windowstate windowstate = maximized!
  19. event insert_childrow ( )
  20. event ue_fj_edit ( )
  21. event ue_fj_view ( )
  22. event ue_import_planprice ( )
  23. event ue_import_saleprice ( )
  24. event ue_import_newprice ( )
  25. event ue_import_lmsaleprice ( )
  26. event ue_import_lmbuyprice ( )
  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_update_cost w_update_cost
  33. type variables
  34. long cur_scid //分店ID
  35. int cur_flag=-1
  36. uo_update_cost uo_ware
  37. string ol_cdw_str = ''
  38. end variables
  39. forward prototypes
  40. public function integer wf_flagstatus_rf ()
  41. public function integer wf_refresh_curuc (long arg_scid, long arg_wareid)
  42. public subroutine wf_check_billfj ()
  43. 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)
  44. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  45. public subroutine wf_auto_addmx (s_mtrlware_noalloc_array s_inscust)
  46. end prototypes
  47. event insert_childrow();long li_row
  48. li_row=dw_child.insertrow(0)
  49. dw_child.scrolltorow(li_row)
  50. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  51. end event
  52. event ue_fj_edit();IF dw_edit_mode THEN
  53. MessageBox('提示','编辑状态下不可用',information!,ok!)
  54. RETURN
  55. END IF
  56. //IF NOT f_power_ind(1098) THEN
  57. // MessageBox(publ_operator,'你没有使用权限!')
  58. // RETURN
  59. //END IF
  60. s_edit_index_tran s_pic
  61. Long ll_ConnectionID
  62. String arg_msg
  63. Long ls_row
  64. ls_row = dw_uc.GetRow()
  65. IF ls_row <= 0 THEN
  66. RETURN
  67. END IF
  68. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  69. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,ok!)
  70. RETURN
  71. END IF
  72. s_pic.f_long = 333 //销售订单的mainID
  73. s_pic.f_string = dw_uc.Object.warecode[ls_row]
  74. s_pic.g_long = dw_uc.Object.u_updatecost_wareid[ls_row]
  75. s_pic.e_long = dw_uc.Object.u_updatecost_scid[ls_row]
  76. s_pic.sqltransaction = sys_filedb_sqlca
  77. OpenWithParm(w_fj_bill_mng,s_pic)
  78. wf_check_billfj()
  79. end event
  80. event ue_fj_view();IF dw_edit_mode THEN
  81. MessageBox('提示','编辑状态下不可用',information!,ok!)
  82. RETURN
  83. END IF
  84. s_edit_index_tran s_pic
  85. Long ll_ConnectionID
  86. String arg_msg
  87. Long ls_row
  88. ls_row = dw_uc.GetRow()
  89. IF ls_row <= 0 THEN
  90. RETURN
  91. END IF
  92. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  93. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,ok!)
  94. RETURN
  95. END IF
  96. s_pic.f_long = 333 //销售订单的mainID
  97. s_pic.f_string = dw_uc.Object.warecode[ls_row]
  98. s_pic.g_long = dw_uc.Object.u_updatecost_wareid[ls_row]
  99. s_pic.e_long = dw_uc.Object.u_updatecost_scid[ls_row]
  100. s_pic.sqltransaction = sys_filedb_sqlca
  101. OpenWithParm(w_fj_bill_view,s_pic)
  102. end event
  103. event ue_import_planprice();IF NOT dw_edit_mode THEN
  104. MessageBox('系统提示',"非编辑状态下不可以使用!")
  105. RETURN
  106. END IF
  107. Long ls_row,ls_mtrlid
  108. String ls_mtrlcode
  109. Decimal ld_planprice
  110. IF MessageBox (publ_operator,"是否直接导入物料计划价?",Question!,YesNo! ) = 2 THEN RETURN
  111. FOR ls_row = 1 TO dw_child.RowCount()
  112. ls_mtrlid = dw_child.Object.u_updatecostmx_mtrlid[ls_row]
  113. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  114. SELECT planprice INTO :ld_planprice
  115. FROM u_mtrldef
  116. Where mtrlid = :ls_mtrlid;
  117. IF sqlca.SQLCode <> 0 THEN
  118. MessageBox('提示','查询物料:'+ls_mtrlcode+'计划价失败')
  119. RETURN
  120. END IF
  121. dw_child.Object.u_updatecostmx_newcost[ls_row] = ld_planprice
  122. NEXT
  123. end event
  124. event ue_import_saleprice();IF NOT dw_edit_mode THEN
  125. MessageBox('系统提示',"非编辑状态下不可以使用!")
  126. return
  127. END IF
  128. Long ls_row,ls_mtrlid
  129. String ls_status,ls_pcode,ls_woodcode,ls_mtrlcode
  130. Decimal obj_price
  131. String err_str = ''
  132. s_pricelist_ch s_pricelist
  133. String arg_msg
  134. IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN
  135. Open(w_sale_price_list_ch)
  136. s_pricelist = Message.PowerObjectParm
  137. IF s_pricelist.pricelistid <= 0 THEN RETURN
  138. FOR ls_row = 1 TO dw_child.RowCount()
  139. ls_mtrlid = dw_child.Object.u_updatecostmx_mtrlid[ls_row]
  140. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  141. ls_status = dw_child.Object.u_updatecostmx_status[ls_row]
  142. ls_pcode = dw_child.Object.u_updatecostmx_woodcode[ls_row]
  143. ls_woodcode = dw_child.Object.u_updatecostmx_pcode[ls_row]
  144. IF sys_option_price_if_status = 0 THEN
  145. ls_status = ''
  146. ls_pcode = ''
  147. ls_woodcode = ''
  148. END IF
  149. SELECT u_sale_price_mx.price
  150. INTO :obj_price
  151. FROM u_sale_price_mx
  152. WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND
  153. ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
  154. ( u_sale_price_mx.status = :ls_status ) AND
  155. ( u_sale_price_mx.pcode = :ls_pcode ) AND
  156. ( u_sale_price_mx.woodcode = :ls_woodcode );
  157. IF sqlca.SQLCode <> 0 THEN
  158. err_str = err_str + "当前价格表的:"+ls_mtrlcode+" 的售价尚未设定! ~n"
  159. ELSE
  160. dw_child.Object.u_updatecostmx_newcost[ls_row] = obj_price
  161. END IF
  162. NEXT
  163. IF err_str <> '' THEN
  164. MessageBox('系统提示',err_str)
  165. END IF
  166. end event
  167. event ue_import_newprice();IF NOT dw_edit_mode THEN
  168. MessageBox('系统提示',"非编辑状态下不可以使用!")
  169. RETURN
  170. END IF
  171. Long ls_row,ls_mtrlid
  172. String ls_mtrlcode
  173. Decimal ld_newprice
  174. IF MessageBox (publ_operator,"是否直接导入物料最新购价?",Question!,YesNo! ) = 2 THEN RETURN
  175. FOR ls_row = 1 TO dw_child.RowCount()
  176. ls_mtrlid = dw_child.Object.u_updatecostmx_mtrlid[ls_row]
  177. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  178. SELECT price INTO :ld_newprice
  179. FROM v_maxprice_sptprice
  180. Where mtrlid = :ls_mtrlid;
  181. IF sqlca.SQLCode <> 0 THEN
  182. MessageBox('提示','查询物料:'+ls_mtrlcode+'最新购价失败')
  183. RETURN
  184. END IF
  185. dw_child.Object.u_updatecostmx_newcost[ls_row] = ld_newprice
  186. NEXT
  187. end event
  188. event ue_import_lmsaleprice();IF NOT dw_edit_mode THEN
  189. MessageBox('系统提示',"非编辑状态下不可以使用!")
  190. RETURN
  191. END IF
  192. Long ls_row,ls_mtrlid
  193. String ls_mtrlcode
  194. Decimal ld_lmsaleprice
  195. IF MessageBox (publ_operator,"是否直接导入物料设定售价?",Question!,YesNo! ) = 2 THEN RETURN
  196. FOR ls_row = 1 TO dw_child.RowCount()
  197. ls_mtrlid = dw_child.Object.u_updatecostmx_mtrlid[ls_row]
  198. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  199. SELECT lmsaleprice INTO :ld_lmsaleprice
  200. FROM u_mtrldef
  201. Where mtrlid = :ls_mtrlid;
  202. IF sqlca.SQLCode <> 0 THEN
  203. MessageBox('提示','查询物料:'+ls_mtrlcode+'设定售价失败')
  204. RETURN
  205. END IF
  206. dw_child.Object.u_updatecostmx_newcost[ls_row] = ld_lmsaleprice
  207. NEXT
  208. end event
  209. event ue_import_lmbuyprice();IF NOT dw_edit_mode THEN
  210. MessageBox('系统提示',"非编辑状态下不可以使用!")
  211. RETURN
  212. END IF
  213. Long ls_row,ls_mtrlid
  214. String ls_mtrlcode
  215. Decimal ld_lmbuyprice
  216. IF MessageBox (publ_operator,"是否直接导入物料设定购价?",Question!,YesNo! ) = 2 THEN RETURN
  217. FOR ls_row = 1 TO dw_child.RowCount()
  218. ls_mtrlid = dw_child.Object.u_updatecostmx_mtrlid[ls_row]
  219. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  220. SELECT lmbuyprice INTO :ld_lmbuyprice
  221. FROM u_mtrldef
  222. Where mtrlid = :ls_mtrlid;
  223. IF sqlca.SQLCode <> 0 THEN
  224. MessageBox('提示','查询物料:'+ls_mtrlcode+'设定购价失败')
  225. RETURN
  226. END IF
  227. dw_child.Object.u_updatecostmx_newcost[ls_row] = ld_lmbuyprice
  228. NEXT
  229. end event
  230. public function integer wf_flagstatus_rf ();//====================================================================
  231. // Function: wf_flagstatus_rf()
  232. //--------------------------------------------------------------------
  233. // Description:
  234. //--------------------------------------------------------------------
  235. // Arguments:(None)
  236. //--------------------------------------------------------------------
  237. // Returns: integer
  238. //--------------------------------------------------------------------
  239. // Author: yyx Date: 2003.12.26
  240. //--------------------------------------------------------------------
  241. // Modify History:
  242. //
  243. //====================================================================
  244. long pagerert_row
  245. pagerert_row=dw_pageretr.getrow()
  246. if pagerert_row<=0 then
  247. cb_auditing.enabled=false
  248. goto ext
  249. end if
  250. if dw_edit_mode then
  251. cb_auditing.enabled=false
  252. cb_auditing_cancel.enabled=false
  253. else
  254. if dw_pageretr.object.flag[pagerert_row]=0 then
  255. cb_auditing.enabled=true
  256. cb_auditing_cancel.enabled=false
  257. elseif dw_pageretr.object.flag[pagerert_row]=1 then
  258. cb_auditing.enabled=false
  259. cb_auditing_cancel.enabled=false
  260. end if
  261. end if
  262. ext:
  263. return 0
  264. end function
  265. public function integer wf_refresh_curuc (long arg_scid, long arg_wareid);//====================================================================
  266. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  267. //--------------------------------------------------------------------
  268. // Description: 刷新dw_pageretr
  269. //--------------------------------------------------------------------
  270. // Arguments:
  271. // value long arg_scid
  272. // value long arg_inwareid
  273. //--------------------------------------------------------------------
  274. // Returns: integer
  275. //--------------------------------------------------------------------
  276. // Author: yyx Date: 2003.11.14
  277. //--------------------------------------------------------------------
  278. // Modify History:
  279. //
  280. //====================================================================
  281. if arg_wareid<=0 or isnull(arg_wareid) then return 0
  282. long uc_row
  283. uc_row=dw_pageretr.getrow()
  284. if uc_row<=0 then return 0
  285. long storageid
  286. datetime moddate
  287. string modrep
  288. string part
  289. string dscrp
  290. int balcflag
  291. string warecode
  292. datetime opdate
  293. string opemp
  294. string modiemp
  295. datetime modidate
  296. int flag
  297. datetime Auditingdate
  298. string Auditingrep
  299. string storagename
  300. SELECT u_updatecost.storageid,
  301. u_updatecost.moddate,
  302. u_updatecost.modrep,
  303. u_updatecost.part,
  304. u_updatecost.dscrp,
  305. u_updatecost.opdate,
  306. u_updatecost.opemp,
  307. u_updatecost.flag,
  308. u_updatecost.auditingdate,
  309. u_updatecost.auditingrep,
  310. u_updatecost.warecode,
  311. u_updatecost.modiemp,
  312. u_updatecost.modidate
  313. into
  314. :storageid,
  315. :moddate,
  316. :modrep,
  317. :part,
  318. :dscrp,
  319. :opdate,
  320. :opemp,
  321. :flag,
  322. :Auditingdate,
  323. :Auditingrep,
  324. :warecode,
  325. :modiemp,
  326. :modidate
  327. FROM u_updatecost
  328. WHERE ( u_updatecost.wareid = :arg_wareid )
  329. and ( u_updatecost.scid=:arg_scid );
  330. if sqlca.sqlcode<>0 then
  331. messagebox('错误',"查询操作失败(错误单据唯一码)",stopsign!,ok!)
  332. return 0
  333. end if
  334. dw_pageretr.object.u_updatecost_scid[uc_row]=arg_scid
  335. dw_pageretr.object.u_updatecost_wareid[uc_row]=arg_wareid
  336. dw_pageretr.object.moddate[uc_row]=moddate
  337. dw_pageretr.object.part[uc_row]= part
  338. dw_pageretr.object.modrep[uc_row]= modrep
  339. dw_pageretr.object.u_updatecost_storageid[uc_row]=storageid
  340. dw_pageretr.object.dscrp[uc_row]= dscrp
  341. dw_pageretr.object.warecode[uc_row]=warecode
  342. dw_pageretr.object.opdate[uc_row]= opdate
  343. dw_pageretr.object.opemp[uc_row]= opemp
  344. dw_pageretr.object.modidate[uc_row]= modidate
  345. dw_pageretr.object.modiemp[uc_row]= modiemp
  346. dw_pageretr.object.flag[uc_row]= flag
  347. dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
  348. dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
  349. dw_uc.Reset()
  350. dw_pageretr.RowsCopy(dw_pageretr.GetRow(),dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  351. dw_uc.ResetUpdate()
  352. dw_uc.SetRedraw(TRUE)
  353. wf_flagstatus_rf()
  354. return 1
  355. end function
  356. public subroutine wf_check_billfj ();String arg_msg
  357. Long ll_ConnectionID
  358. Long cur_billtype
  359. long ll_relid,ll_relid_mx,ll_scid
  360. Long ls_filecount = 0
  361. Int rslt = 1
  362. uo_fj_mng_billtype ls_uo_fjbt
  363. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  364. Long row,uc_relid
  365. row = dw_pageretr.GetRow()
  366. IF row > 0 THEN
  367. ll_relid = dw_pageretr.Object.u_updatecost_wareid[row]
  368. ll_scid = dw_pageretr.Object.u_updatecost_scid[row]
  369. ll_relid_mx = 0
  370. ELSE
  371. rslt = 0
  372. GOTO ext
  373. END IF
  374. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  375. rslt = 0
  376. GOTO ext
  377. END IF
  378. cur_billtype = 333 //客户投拆单的 mainiD
  379. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  380. IF ls_filecount > 0 THEN
  381. rslt = 1
  382. GOTO ext
  383. ELSE
  384. rslt = 0
  385. GOTO ext
  386. END IF
  387. ext:
  388. wf_encl(rslt)
  389. DESTROY ls_uo_fjbt
  390. end subroutine
  391. 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);//==============================================================================
  392. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  393. //------------------------------------------------------------------------------
  394. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  395. //------------------------------------------------------------------------------
  396. Long LS_ROW,ll_id,i,ll_scid
  397. LS_ROW = dw_uc.GetRow()
  398. IF LS_ROW <= 0 THEN
  399. arg_msg = '没有目标单据!'
  400. RETURN 0
  401. END IF
  402. //修改点:获取 指定retriev参数
  403. ll_id = dw_uc.Object.u_updatecost_wareid[LS_ROW]
  404. ll_scid = dw_uc.Object.u_updatecost_scid[LS_ROW]
  405. //查询所选模版是否含有图片信息
  406. Long ll_ifpic
  407. Long ll_classid
  408. SELECT ifpic
  409. INTO :ll_ifpic
  410. FROM U_XLS_Templates
  411. Where id = :ll_xls_Templatesid;
  412. IF sqlca.SQLCode <> 0 THEN
  413. ll_ifpic = 0
  414. END IF
  415. Long ll_i,ll_j
  416. Long ll_mtrlid
  417. Long ll_fileid
  418. Blob ls_filedata
  419. SetNull(ls_filedata)
  420. String Pathname,ls_filename,ls_filetype
  421. String errmsg
  422. uo_fj_mng_billtype ls_uo_fjbt
  423. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  424. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  425. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  426. SELECT classid
  427. INTO :ll_classid
  428. FROM u_billpic_fileclass
  429. Where (billtype = 333);
  430. IF sqlca.SQLCode <> 0 THEN
  431. ll_classid = 0
  432. END IF
  433. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  434. FOR ll_i = 1 TO dw_child.RowCount()
  435. ll_mtrlid = dw_child.Object.u_updatecostmx_mtrlid[ll_i]
  436. //取该附件类型中的第一个附件.
  437. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  438. FROM u_file
  439. WHERE relid = :ll_mtrlid
  440. AND classid = :ll_classid
  441. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  442. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  443. USING sys_fileDB_sqlca;
  444. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  445. ll_fileid = 0
  446. END IF
  447. IF ll_fileid > 0 THEN
  448. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  449. IF Trim(Pathname) <> '' THEN
  450. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  451. RETURN 0
  452. END IF
  453. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  454. RETURN 0
  455. ELSE
  456. s_pic.path[ll_i] = Pathname
  457. //记录临时文件位置,本窗口退出后删除
  458. wf_addlog_tempfilepathname(Pathname)
  459. END IF
  460. ELSE
  461. s_pic.path[ll_i] = ''
  462. END IF
  463. ELSE
  464. s_pic.path[ll_i] = ''
  465. END IF
  466. NEXT
  467. END IF
  468. //
  469. END IF
  470. ////可选设置///
  471. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  472. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  473. boolean xls_locked
  474. xls_locked = not (sys_option_xls_lock = 1)
  475. /// Excel 的可选设置
  476. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  477. return 0
  478. end if
  479. for i = 1 to arg_str_billlist.count
  480. ////可选操作///
  481. arg_str_billlist.bill[i].ds_data = create datastore //
  482. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  483. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  484. //修改点:注意retrieve 参数与上文对应
  485. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  486. next
  487. return 1
  488. end function
  489. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid
  490. LS_ROW = dw_pageretr.GetRow()
  491. IF LS_ROW <= 0 THEN
  492. arg_msg = '没有目标单据!'
  493. RETURN 0
  494. END IF
  495. //修改点:获取 指定retriev参数
  496. ll_id = dw_pageretr.Object.u_updatecost_wareid[LS_ROW]
  497. ll_scid = dw_pageretr.Object.u_updatecost_scid[LS_ROW]
  498. Long ll_i,ll_j
  499. Long ll_mtrlid
  500. Long ll_fileid
  501. Blob ls_filedata
  502. SetNull(ls_filedata)
  503. String Pathname,ls_filename,ls_filetype
  504. String errmsg
  505. uo_fj_mng_billtype ls_uo_fjbt
  506. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  507. Long ll_classid
  508. SELECT classid
  509. INTO :ll_classid
  510. FROM u_billpic_fileclass
  511. Where (billtype = 102);
  512. IF sqlca.SQLCode <> 0 THEN
  513. ll_classid = 0
  514. END IF
  515. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  516. FOR ll_i = 1 TO dw_child.RowCount()
  517. ll_mtrlid = dw_child.Object.u_updatecostmx_mtrlid[ll_i]
  518. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  519. //取该附件类型中的第一个附件.
  520. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  521. FROM u_file
  522. WHERE relid = :ll_mtrlid
  523. AND classid = :ll_classid
  524. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  525. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  526. USING sys_fileDB_sqlca;
  527. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  528. ll_fileid = 0
  529. END IF
  530. IF ll_fileid > 0 THEN
  531. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  532. IF Trim(Pathname) <> '' THEN
  533. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  534. RETURN 0
  535. END IF
  536. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  537. RETURN 0
  538. ELSE
  539. arg_s_pic.path[ll_i] = Pathname
  540. //记录临时文件位置,本窗口退出后删除
  541. wf_addlog_tempfilepathname(Pathname)
  542. END IF
  543. ELSE
  544. arg_s_pic.path[ll_i] = ''
  545. END IF
  546. ELSE
  547. arg_s_pic.path[ll_i] = ''
  548. END IF
  549. NEXT
  550. END IF
  551. RETURN 1
  552. end function
  553. public subroutine wf_auto_addmx (s_mtrlware_noalloc_array s_inscust);Long ls_j,child_row
  554. IF UpperBound(S_INSCUST.mtrlwareid) > 0 THEN
  555. cur_scid = S_INSCUST.scid[1]
  556. String ls_scname,ls_space
  557. Long li_spacenum
  558. SELECT scname
  559. INTO :ls_scname
  560. FROM u_scdef
  561. Where scid = :cur_scid;
  562. IF sqlca.SQLCode <> 0 OR IsNull(ls_scname) THEN ls_scname = ''
  563. li_spacenum = 50 - Len(Trim(ls_scname)) - 2 - Len(String(cur_scid))
  564. ls_space = Fill(' ',li_spacenum)
  565. ddlb_scid.Text = ls_scname+ls_space+'['+String(cur_scid)+']'
  566. w_update_cost.cb_add.TriggerEvent(Clicked!)
  567. dw_uc.Object.storageid[dw_uc.GetRow()] = S_INSCUST.storageid[1]
  568. child_row = dw_child.GetRow()
  569. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlwareid)
  570. IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
  571. IF dw_child.GetRow() > 0 THEN
  572. IF dw_child.Object.u_updatecostmx_mtrlid[child_row] <> 0 THEN
  573. child_row = dw_child.InsertRow (0)
  574. ELSE
  575. child_row = dw_child.GetRow()
  576. END IF
  577. ELSE
  578. child_row = dw_child.InsertRow (0)
  579. END IF
  580. dw_child.Object.u_updatecostmx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
  581. dw_child.Object.u_updatecostmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  582. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
  583. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
  584. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
  585. dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
  586. dw_child.Object.u_updatecostmx_noallocqty[child_row] = S_INSCUST.noallocqty[ls_j]
  587. dw_child.Object.u_updatecostmx_cost[child_row] = S_INSCUST.cost[ls_j]
  588. dw_child.Object.u_updatecostmx_planprice[child_row] = S_INSCUST.planprice[ls_j]
  589. dw_child.Object.u_updatecostmx_plancode[child_row] = S_INSCUST.plancode[ls_j]
  590. dw_child.Object.u_updatecostmx_status[child_row] = S_INSCUST.status[ls_j]
  591. dw_child.Object.u_updatecostmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  592. dw_child.Object.u_updatecostmx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  593. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
  594. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
  595. dw_child.Object.sptname[child_row] = S_INSCUST.sptname[ls_j]
  596. dw_child.Object.sptcode[child_row] = S_INSCUST.sptcode[ls_j]
  597. END IF
  598. NEXT
  599. dw_child.SetFocus()
  600. END IF
  601. end subroutine
  602. on w_update_cost.create
  603. int iCurrent
  604. call super::create
  605. this.ddlb_scid=create ddlb_scid
  606. this.ddlb_status=create ddlb_status
  607. this.st_2=create st_2
  608. this.st_4=create st_4
  609. iCurrent=UpperBound(this.Control)
  610. this.Control[iCurrent+1]=this.ddlb_scid
  611. this.Control[iCurrent+2]=this.ddlb_status
  612. this.Control[iCurrent+3]=this.st_2
  613. this.Control[iCurrent+4]=this.st_4
  614. end on
  615. on w_update_cost.destroy
  616. call super::destroy
  617. destroy(this.ddlb_scid)
  618. destroy(this.ddlb_status)
  619. destroy(this.st_2)
  620. destroy(this.st_4)
  621. end on
  622. event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  623. Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  624. cb_nextpage_enabled = cb_nextpage.Enabled
  625. cb_retrieveall_enabled = cb_retrieveall.Enabled
  626. cb_func_enabled = cb_func.Enabled
  627. cb_nextpage.Enabled = False
  628. cb_retrieveall.Enabled = False
  629. cb_func.Enabled = False
  630. //只显未自已管的仓库
  631. datawindowchild childdw
  632. String new_sqlstr,modify_str
  633. dw_uc.SetTransObject (sqlca)
  634. dw_uc.GetChild("storageid",childdw)
  635. childdw.SetTransObject (sqlca)
  636. new_sqlstr = childdw.Describe("DataWindow.Table.Select")
  637. IF Len(ol_cdw_str) = 0 THEN ol_cdw_str = new_sqlstr
  638. new_sqlstr = f_modify_selectstr(ol_cdw_str)
  639. modify_str = "DataWindow.Table.Select='" + new_sqlstr +"'"
  640. childdw.Modify ( modify_str )
  641. //messagebox("",modify_str)
  642. IF childdw.Retrieve(cur_scid) = 0 THEN
  643. childdw.InsertRow(0)
  644. END IF
  645. //childdw.retrieve()
  646. //
  647. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  648. dw_pageretr.Retrieve(cur_scid,cur_flag)
  649. IF dw_pageretr.RowCount() > 0 THEN
  650. dw_pageretr.SetRow(1)
  651. dw_pageretr.TriggerEvent(RowFocusChanged!)
  652. END IF
  653. This.TriggerEvent('retrieve_childdw')
  654. cb_nextpage.Enabled = cb_nextpage_enabled
  655. cb_retrieveall.Enabled = cb_retrieveall_enabled
  656. cb_func.Enabled = cb_func_enabled
  657. end event
  658. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  659. if trim(sle_usual_query.text)<>'' then
  660. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  661. obj_expr=obj_expr+'( u_updatecost.warecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  662. ELSE
  663. obj_expr=obj_expr+'( u_updatecost.warecode LIKE "'+trim(sle_usual_query.text)+'" )'
  664. END IF
  665. end if
  666. dw_pageretr.setfilter(obj_expr)
  667. dw_pageretr.SetRedraw(False)
  668. dw_pageretr.filter()
  669. if dw_pageretr.rowcount()>=1 then
  670. dw_pageretr.selectrow(0,false)
  671. dw_pageretr.selectrow(1,true)
  672. dw_pageretr.SetRow(1)
  673. dw_pageretr.triggerevent(rowfocuschanged!)
  674. end if
  675. dw_pageretr.SetRedraw(TRUE)
  676. end event
  677. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  678. ls_newselect=lower(ori_oldselect)
  679. if trim(sle_usual_query.text)<>'' then
  680. if pos(trim(sle_usual_query.text),'%')=0 then
  681. ls_querystrpart="(u_updatecost.warecode like '%"+trim(sle_usual_query.text)+"%')"
  682. else
  683. ls_querystrpart="(u_updatecost.warecode like '"+trim(sle_usual_query.text)+"')"
  684. end if
  685. if Pos(ls_newselect," where ") <> 0 then
  686. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  687. else
  688. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  689. end if
  690. end if
  691. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  692. this.triggerevent('retrieve_pageretr')
  693. end event
  694. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  695. ddlb_status.enabled=not dw_edit_mode
  696. if dw_edit_mode then
  697. ddlb_scid.enabled=false
  698. else
  699. if sys_scid > 0 then
  700. ddlb_scid.enabled=false
  701. else
  702. ddlb_scid.enabled=true
  703. end if
  704. end if
  705. end event
  706. event close;call super::close;destroy uo_ware
  707. wf_del_tempfilepathname()
  708. end event
  709. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  710. IF NOT dw_edit_mode THEN RETURN
  711. Long child_row
  712. long ins_storageid = 0
  713. child_row = dw_child.GetRow()
  714. ins_storageid = dw_uc.object.storageid[dw_uc.getrow()]
  715. if ins_storageid = 0 or isnull(ins_storageid) then
  716. messagebox('提示','请先选择仓库',information!,ok!)
  717. return
  718. end if
  719. IF NOT IsValid(w_mtrlware_storageid_ch) THEN
  720. s_edit_index_tran s_tranf8 //传递参数使用
  721. s_tranf8.if_retrieve_all=false //是否一次RETRIEVE所有行
  722. s_tranf8.arg_pkid=0 //目标定位PKID (备用)
  723. s_tranf8.arg_string_code='' //查询列(物料编码)部分内容,用于初步筛选
  724. s_tranf8.b_long= - 1 //选择原料或产品
  725. s_tranf8.d_long=ins_storageid
  726. s_tranf8.c_long = -1
  727. long chc=1,ls_j
  728. dw_child.accepttext()
  729. if dw_child.getrow()>0 then s_tranf8.arg_string_code=trim(dw_child.object.u_mtrldef_mtrlcode[dw_child.getrow()])
  730. OPENwithparm(w_mtrlware_storageid_ch,s_tranf8) //调用
  731. s_mtrlware_noalloc_array S_INSCUST
  732. S_INSCUST=Message.PowerObjectParm //接受返回结构
  733. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlwareid)
  734. if S_INSCUST.mtrlwareid[ls_j]>0 then
  735. if dw_child.getrow()>0 then
  736. if dw_child.object.u_updatecostmx_mtrlid[child_row]<>0 then
  737. child_row = dw_child.InsertRow (0)
  738. else
  739. child_row=dw_child.getrow()
  740. end if
  741. else
  742. child_row = dw_child.InsertRow (0)
  743. end if
  744. dw_child.object.u_updatecostmx_mtrlwareid[child_row]=S_INSCUST.mtrlwareid[ls_j]
  745. dw_child.object.u_updatecostmx_mtrlid[child_row]=S_INSCUST.mtrlid[ls_j]
  746. dw_child.object.u_mtrldef_mtrlcode[child_row] =S_INSCUST.u_mtrldef_mtrlcode[ls_j]
  747. dw_child.object.u_mtrldef_mtrlname[child_row] =S_INSCUST.u_mtrldef_mtrlname[ls_j]
  748. dw_child.object.u_mtrldef_mtrlmode[child_row] =S_INSCUST.u_mtrldef_mtrlmode[ls_j]
  749. dw_child.object.u_mtrldef_unit[child_row] =S_INSCUST.u_mtrldef_unit[ls_j]
  750. dw_child.object.u_updatecostmx_noallocqty[child_row] = S_INSCUST.noallocqty[ls_j]
  751. dw_child.object.u_updatecostmx_cost[child_row] =S_INSCUST.cost[ls_j]
  752. dw_child.object.u_updatecostmx_planprice[child_row] =S_INSCUST.planprice[ls_j]
  753. dw_child.object.u_updatecostmx_plancode[child_row] =S_INSCUST.plancode[ls_j]
  754. dw_child.object.u_updatecostmx_status[child_row] =S_INSCUST.status[ls_j]
  755. dw_child.object.u_updatecostmx_woodcode[child_row] =S_INSCUST.woodcode[ls_j]
  756. dw_child.object.u_updatecostmx_pcode[child_row] =S_INSCUST.pcode[ls_j]
  757. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
  758. dw_child.Object.u_mtrldef_mtrlsectype[child_row] =S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
  759. dw_child.Object.sptname[child_row] =S_INSCUST.sptname[ls_j]
  760. dw_child.Object.sptcode[child_row] =S_INSCUST.sptcode[ls_j]
  761. dw_child.Object.u_updatecostmx_cost_notax[child_row] =S_INSCUST.cost_notax[ls_j]
  762. END IF
  763. NEXT
  764. dw_child.SetFocus()
  765. END IF
  766. end event
  767. event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid,ll_scid
  768. row=dw_pageretr.getrow()
  769. if row>0 then
  770. ll_scid=dw_pageretr.object.u_updatecost_scid[row]
  771. uc_relid=dw_pageretr.object.u_updatecost_wareid[row]
  772. dw_child.SetRedraw (false)
  773. dw_child.retrieve(ll_scid,uc_relid)
  774. dw_child.SetRedraw (true)
  775. else
  776. dw_child.reset()
  777. end if
  778. end event
  779. event open;THIS.TriggerEvent('ue_before_open')
  780. wf_movetocenter()
  781. ds_copy_bill = CREATE datastore
  782. ds_copy_bill.DataObject = dw_child.dataobject
  783. ds_copy_bill.SetTransObject(sqlca)
  784. OLD_TITLE = THIS.Title
  785. s_tran = Message.PowerObjectParm
  786. IF NOT IsNull(s_tran) THEN
  787. retrieve_all = s_tran.if_retrieve_all
  788. mode = s_tran.work_mode
  789. arg_pkid = s_tran.arg_pkid
  790. arg_string_code = s_tran.arg_string_code
  791. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  792. ds_share = s_tran.ds_share
  793. END IF
  794. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  795. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  796. dw_pageretr.SetTransObject (sqlca)
  797. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  798. ori_oldselect = dw_pageretr.DESCRIBE("DataWindow.Table.Select")
  799. //====================================================================
  800. // Script - w_inware_other inherited from w_publ_1ton_share_detail for open
  801. // Reason:
  802. //--------------------------------------------------------------------
  803. // Modified By: yyx Date: 2003.12.01
  804. //--------------------------------------------------------------------
  805. ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  806. //====================================================================
  807. ls_newselect = ori_oldselect
  808. ds_curquery = CREATE DATASTORE
  809. ds_curquery.DataObject = 'd_extr_find'
  810. ds_curquery.SetTransObject (sqlca)
  811. wf_editindex_lockf()
  812. sle_usual_query.Text = Trim(arg_string_code)
  813. IF NOT retrieve_all THEN
  814. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  815. ELSE
  816. IF if_sharedata THEN
  817. ds_share.ShareData(dw_pageretr)
  818. ELSE
  819. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  820. THIS.TriggerEvent('RETRIEVE_pageretr')
  821. END IF
  822. END IF
  823. IF retrieve_all THEN
  824. THIS.TriggerEvent("ue_usual_query_filt")
  825. END IF
  826. uc_column_int = 6 //uc dw前6列可以编辑
  827. child_column_int = 4 //子dw前8列可以编辑
  828. uo_ware = CREATE uo_update_cost
  829. uo_ware.commit_transaction = sqlca
  830. s_hide_col s_col_mtrlsectype
  831. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  832. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  833. s_hide_col s_col_zxmtrlmode
  834. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  835. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  836. end event
  837. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  838. MessageBox('提示',"编辑状态下不可以使用!",information!,ok!)
  839. return
  840. END IF
  841. IF NOT f_power_ind(793) THEN
  842. MessageBox('提示','你没有使用权限!',information!,ok!)
  843. RETURN
  844. END IF
  845. string arg_msg=''
  846. string ls_str
  847. long uc_row
  848. s_inputbox s_sreu
  849. uc_row=dw_pageretr.getrow()
  850. if uc_row<=0 then
  851. messagebox('提示','请选定当前目标单据!',information!,ok!)
  852. return
  853. end if
  854. s_sreu.title='请输入要补充到备注的内容'
  855. s_sreu.old_text=''
  856. openwithparm(w_inputbox,s_sreu)
  857. ls_str=message.stringparm
  858. if trim(ls_str)='' or isnull(ls_str) then return
  859. if uo_ware.add_dscrp(dw_pageretr.object.u_updatecost_scid[uc_row],dw_pageretr.object.u_updatecost_wareid[uc_row],ls_str,arg_msg)=0 then
  860. messagebox('错误',arg_msg,stopsign!,ok!)
  861. return
  862. else
  863. messagebox('提示','添加备注操作成功!',information!,ok!)
  864. wf_refresh_curuc(dw_pageretr.object.u_updatecost_scid[uc_row],dw_pageretr.object.u_updatecost_wareid[uc_row])
  865. end if
  866. end event
  867. event ue_print;call super::ue_print;//--直接打印
  868. IF NOT f_power_ind(1042) THEN
  869. MessageBox('提示','你没有使用权限!',information!,OK!)
  870. RETURN
  871. END IF
  872. uo_print_preview uo_print
  873. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  874. S_print_MSG LS_PRMSG
  875. Long LS_ROW
  876. LS_ROW = dw_pageretr.GetRow()
  877. IF LS_ROW <= 0 THEN
  878. MessageBox('提示','没有打印目标单据!',information!,OK!)
  879. RETURN
  880. END IF
  881. IF ls_newname <> '' THEN
  882. IF li_auditprint = 1 THEN
  883. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  884. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  885. RETURN
  886. END IF
  887. END IF
  888. LS_PRMSG.obj_dwNAME = ls_newname
  889. ELSE
  890. LS_PRMSG.obj_dwNAME = 'dw_rp_update_cost_print'
  891. END IF
  892. if LS_PRMSG.obj_dwNAME = '' then return
  893. LS_PRMSG.retr_pram_falg = 15
  894. LS_PRMSG.printrow = ll_prownum
  895. LS_PRMSG.TAG_TEXT = '成本价调整单'
  896. LS_PRMSG.FILTER_STRING = ''
  897. LS_PRMSG.PAGECH_FLAG = 0
  898. LS_PRMSG.retr_scid = dw_pageretr.Object.u_updatecost_scid[LS_ROW]
  899. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_updatecost_wareid[LS_ROW]
  900. LS_PRMSG.rowcnt = dw_child.RowCount()
  901. IF ifpic = 1 THEN
  902. String ls_msg
  903. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  904. MessageBox('提示','下载图片失败!',information!,OK!)
  905. RETURN
  906. END IF
  907. END IF
  908. uo_print.FACT_PRINT_MSG = LS_PRMSG
  909. String arg_msg
  910. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  911. MessageBox("错误",arg_msg,stopsign!,OK!)
  912. RETURN
  913. END IF
  914. uo_print.ds_print()
  915. IF ifpic = 1 THEN
  916. Long li
  917. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  918. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  919. FileDelete(LS_PRMSG.s_pic.path[li])
  920. END IF
  921. NEXT
  922. END IF
  923. //更新打印次数
  924. printnum = 1
  925. Long ll_scid
  926. String ls_code
  927. ll_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()]
  928. ls_code = dw_pageretr.Object.reissuecode[dw_pageretr.GetRow()]
  929. //**更新打印次料
  930. printnum = Message.DoubleParm
  931. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  932. end event
  933. event ue_viewprint;call super::ue_viewprint;
  934. IF NOT f_power_ind(1042) THEN
  935. MessageBox('提示','你没有使用权限!',information!,OK!)
  936. RETURN
  937. END IF
  938. Long LS_ROW
  939. LS_ROW = dw_pageretr.GetRow()
  940. IF LS_ROW <= 0 THEN
  941. MessageBox('提示','没有打印目标单据!',information!,OK!)
  942. RETURN
  943. END IF
  944. S_print_MSG LS_PRMSG
  945. IF ls_newname <> '' THEN
  946. IF li_auditprint = 1 THEN
  947. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  948. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  949. RETURN
  950. END IF
  951. END IF
  952. LS_PRMSG.obj_dwNAME = ls_newname
  953. ELSE
  954. LS_PRMSG.obj_dwNAME = 'dw_rp_update_cost_print'
  955. END IF
  956. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  957. LS_PRMSG.printrow = ll_prownum
  958. LS_PRMSG.TAG_TEXT = '成本价调整单'
  959. LS_PRMSG.FILTER_STRING = ''
  960. LS_PRMSG.retr_pram_falg = 15
  961. LS_PRMSG.PAGECH_FLAG = 0
  962. LS_PRMSG.retr_scid = dw_pageretr.Object.u_updatecost_scid[LS_ROW]
  963. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_updatecost_wareid[LS_ROW]
  964. LS_PRMSG.rowcnt = dw_child.RowCount()
  965. IF ifpic = 1 THEN
  966. String ls_msg
  967. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  968. MessageBox('提示','下载图片失败!',information!,OK!)
  969. RETURN
  970. END IF
  971. END IF
  972. OpenWithParm(w_publ_preview,LS_PRMSG)
  973. IF ifpic = 1 THEN
  974. Long li
  975. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  976. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  977. FileDelete(LS_PRMSG.s_pic.path[li])
  978. END IF
  979. NEXT
  980. END IF
  981. //更新打印次数
  982. String arg_msg
  983. printnum = Message.DoubleParm
  984. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  985. end event
  986. type cb_func from w_publ_1ton_share_detail`cb_func within w_update_cost
  987. end type
  988. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_update_cost
  989. end type
  990. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_update_cost
  991. integer x = 174
  992. integer width = 549
  993. end type
  994. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_update_cost
  995. integer x = 3035
  996. end type
  997. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_update_cost
  998. integer x = 2702
  999. integer y = 64
  1000. integer width = 320
  1001. end type
  1002. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_update_cost
  1003. integer x = 1737
  1004. integer width = 1801
  1005. integer height = 820
  1006. string dataobject = "dw_update_cost_index"
  1007. end type
  1008. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1009. wf_check_billfj()
  1010. end event
  1011. type st_1 from w_publ_1ton_share_detail`st_1 within w_update_cost
  1012. integer x = 0
  1013. integer y = 212
  1014. end type
  1015. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_update_cost
  1016. integer x = 3186
  1017. end type
  1018. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_update_cost
  1019. integer width = 1723
  1020. integer height = 820
  1021. string dataobject = "dw_update_cost_edit"
  1022. end type
  1023. event dw_uc::dwnkey;parent.triggerevent('user_key')
  1024. if key = KeyDownArrow! then return 1
  1025. if dw_edit_mode then
  1026. if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
  1027. dw_child.setfocus()
  1028. dw_child.scrolltorow(1)
  1029. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  1030. return 1
  1031. else
  1032. if key = KeyEnter! Then //
  1033. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1034. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1035. Return 1
  1036. end If
  1037. end if
  1038. end if
  1039. end event
  1040. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1041. IF dwo.Name = 'storageid' THEN
  1042. dw_child.Reset()
  1043. PARENT.TriggerEvent("insert_childrow")
  1044. END IF
  1045. end event
  1046. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_update_cost
  1047. end type
  1048. type dw_child from w_publ_1ton_share_detail`dw_child within w_update_cost
  1049. integer y = 1116
  1050. integer width = 3543
  1051. integer height = 1024
  1052. string dataobject = "dw_update_costmx_edit"
  1053. end type
  1054. event dw_child::dwnkey;call super::dwnkey;parent.triggerevent('user_key')
  1055. string ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_woodcode,ls_pcode,ls_plancode,ls_mtrlsectype,ls_zxmtrlmode
  1056. long ls_mtrlid,li_storageid,li_mtrlwareid
  1057. decimal ls_cost,ls_noallocqty
  1058. long child_row
  1059. long ls_null
  1060. setnull(ls_null)
  1061. if dw_edit_mode then
  1062. If keydown(Keydownarrow!) Then
  1063. long li_row
  1064. if dw_child.getrow()=dw_child.rowcount() then
  1065. parent.triggerevent("insert_childrow")
  1066. end if
  1067. else
  1068. if (keydown(KeyEnter!) or keydown(KeyTab!)) and not keydown(KeyControl!) and not keydown(KeyShift!) then
  1069. if dw_child.getcolumnname()='u_mtrldef_mtrlcode' then
  1070. dw_child.accepttext()
  1071. child_row=dw_child.getrow()
  1072. ls_mtrlcode=dw_child.object.u_mtrldef_mtrlcode[child_row]
  1073. li_storageid = dw_uc.object.storageid[dw_uc.getrow()]
  1074. SELECT u_mtrldef.mtrlid,
  1075. u_mtrldef.mtrlname,
  1076. u_mtrldef.unit,
  1077. u_mtrldef.mtrlmode,
  1078. u_mtrldef.mtrlsectype,
  1079. u_mtrldef.zxmtrlmode,
  1080. u_mtrlware.cost,
  1081. u_mtrlware.noallocqty,
  1082. u_mtrlware.woodcode,
  1083. u_mtrlware.pcode,
  1084. u_mtrlware.plancode,
  1085. u_mtrlware.mtrlwareid
  1086. INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_mtrlmode,:ls_mtrlsectype,:ls_zxmtrlmode,
  1087. :ls_cost,:ls_noallocqty,:ls_woodcode,:ls_pcode,:ls_plancode,:li_mtrlwareid
  1088. FROM u_mtrldef , u_mtrlware
  1089. WHERE ( u_mtrldef.mtrlcode = :ls_mtrlcode) and
  1090. ( u_mtrldef.mtrlid = u_mtrlware.mtrlid) and
  1091. ( u_mtrlware.storageid = :li_storageid) ;
  1092. if sqlca.sqlcode=100 then
  1093. parent.triggerevent('ue_f8')
  1094. return
  1095. end if
  1096. dw_child.object.u_updatecostmx_mtrlwareid[child_row] =li_mtrlwareid
  1097. dw_child.object.u_updatecostmx_mtrlid[child_row] =ls_mtrlid
  1098. dw_child.object.u_mtrldef_mtrlname[child_row] =ls_mtrlname
  1099. dw_child.object.u_mtrldef_mtrlmode[child_row] =ls_mtrlmode
  1100. dw_child.object.u_mtrldef_unit[child_row] =ls_unit
  1101. dw_child.object.u_updatecostmx_cost[child_row] =ls_cost
  1102. dw_child.object.u_updatecostmx_noallocqty[child_row] = ls_noallocqty
  1103. dw_child.object.u_updatecostmx_woodcode[child_row] =ls_woodcode
  1104. dw_child.object.u_updatecostmx_pcode[child_row] =ls_pcode
  1105. dw_child.object.u_updatecostmx_plancode[child_row] =ls_plancode
  1106. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1107. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1108. If key = KeyEnter! Then
  1109. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1110. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1111. return 1
  1112. end if
  1113. elseif dw_child.GetColumnName( )='u_inwaremx_plancode' and dw_child.getrow()=dw_child.rowcount() then
  1114. parent.triggerevent("insert_childrow")
  1115. return 1
  1116. else
  1117. If key = KeyEnter! Then
  1118. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1119. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1120. return 1
  1121. end if
  1122. end if
  1123. end if
  1124. end if
  1125. end if
  1126. //u_mtrldef_mtrlcode
  1127. //u_mtrldef_unit
  1128. //u_inwaremx_mtrlid
  1129. //u_inwaremx_planprice
  1130. //u_inwaremx_price
  1131. //u_mtrldef_mtrlname
  1132. end event
  1133. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_update_cost
  1134. end type
  1135. type cb_print from w_publ_1ton_share_detail`cb_print within w_update_cost
  1136. end type
  1137. type cb_add from w_publ_1ton_share_detail`cb_add within w_update_cost
  1138. end type
  1139. event cb_add::clicked;IF NOT f_power_ind(709) THEN
  1140. MessageBox('提示','你没有使用权限!',information!,ok!)
  1141. RETURN
  1142. END IF
  1143. String arg_msg = ''
  1144. Long uc_row,i
  1145. IF dw_edit_mode THEN
  1146. dw_uc.AcceptText()
  1147. dw_child.AcceptText()
  1148. uc_row = dw_uc.GetRow()
  1149. IF uc_row <= 0 THEN
  1150. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1151. RETURN
  1152. END IF
  1153. IF NOT dw_uc.Object.moddate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1154. MessageBox('提示','不合理发生时间!',information!,ok!)
  1155. dw_uc.SetFocus()
  1156. dw_uc.SetColumn("moddate")
  1157. RETURN
  1158. END IF
  1159. IF NOT Len(String(dw_uc.Object.modrep[uc_row])) > 0 THEN
  1160. MessageBox('提示','请填写经手人!',information!,ok!)
  1161. dw_uc.SetFocus()
  1162. dw_uc.SetColumn("modrep")
  1163. RETURN
  1164. END IF
  1165. uo_ware.moddate = dw_uc.Object.moddate[uc_row] // 发生时间
  1166. uo_ware.modrep = dw_uc.Object.modrep[uc_row] // 经手人
  1167. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  1168. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  1169. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  1170. FOR i = 1 TO dw_child.RowCount()
  1171. IF dw_child.Object.u_updatecostmx_newcost[i] < 0 then
  1172. Messagebox("提示","成本价不能为负数!",information!,ok!)
  1173. return
  1174. END IF
  1175. IF dw_child.Object.u_updatecostmx_mtrlid[i] > 0 THEN
  1176. IF uo_ware.acceptmx(dw_child.Object.printid[i],&
  1177. dw_child.object.u_updatecostmx_mtrlwareid[i],&
  1178. dw_child.Object.u_updatecostmx_mtrlid[i],&
  1179. dw_child.Object.u_mtrldef_mtrlcode[i],&
  1180. dw_child.Object.u_updatecostmx_plancode[i],&
  1181. dw_child.Object.u_updatecostmx_status[i],&
  1182. dw_child.Object.u_updatecostmx_noallocqty[i],&
  1183. dw_child.Object.u_updatecostmx_newprice[i],&
  1184. dw_child.Object.u_updatecostmx_mxdscrp[i],&
  1185. arg_msg,&
  1186. dw_child.Object.u_updatecostmx_woodcode[i],&
  1187. dw_child.Object.u_updatecostmx_pcode[i],&
  1188. dw_child.Object.u_updatecostmx_cost[i],&
  1189. dw_child.Object.u_updatecostmx_newcost[i],&
  1190. dw_child.Object.u_updatecostmx_wareamt[i],&
  1191. dw_child.Object.u_updatecostmx_planprice[i],&
  1192. dw_child.Object.u_mtrldef_unit[i],&
  1193. dw_child.Object.u_updatecostmx_cost_notax[i],&
  1194. dw_child.Object.u_updatecostmx_newcost_notax[i]) = 0 THEN
  1195. MessageBox('错误',arg_msg,stopsign!,ok!)
  1196. RETURN
  1197. END IF
  1198. END IF
  1199. NEXT
  1200. IF uo_ware.save(true,arg_msg) = 0 THEN
  1201. MessageBox('错误',arg_msg,stopsign!,ok!)
  1202. RETURN
  1203. END IF
  1204. MessageBox('提示','保存操作成功!',information!,ok!)
  1205. //write ini
  1206. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  1207. long ll_row
  1208. ll_row = dw_pageretr.getrow()
  1209. dw_pageretr.SelectRow(0,FALSE)
  1210. dw_pageretr.SelectRow(ll_row,TRUE)
  1211. wf_refresh_curuc(cur_scid,uo_ware.wareid) //刷新uc
  1212. ELSE
  1213. IF uo_ware.newbegin(cur_scid,0,arg_msg) = 0 THEN //生产令领料
  1214. MessageBox('错误',arg_msg,stopsign!,ok!)
  1215. RETURN
  1216. END IF
  1217. END IF
  1218. CALL SUPER::Clicked
  1219. //read ini
  1220. IF dw_edit_mode THEN
  1221. PARENT.TriggerEvent("insert_childrow")
  1222. dw_uc.SetRedraw(FALSE)
  1223. String ls_storageid
  1224. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  1225. IF f_find_storageid(ls_storageid) = '' THEN
  1226. ls_storageid = '0'
  1227. END IF
  1228. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  1229. dw_uc.SetColumn("storageid")
  1230. dw_uc.SetRedraw(TRUE)
  1231. ELSE
  1232. PARENT.TriggerEvent("retrieve_childdw")
  1233. END IF
  1234. //
  1235. THIS.TriggerEvent('refresh_interface')
  1236. end event
  1237. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_update_cost
  1238. end type
  1239. event cb_edit::clicked;IF NOT f_power_ind(709) THEN
  1240. MessageBox('提示','你没有使用权限!',information!,ok!)
  1241. RETURN
  1242. END IF
  1243. string arg_msg=''
  1244. long uc_row
  1245. uc_row=dw_pageretr.getrow()
  1246. if uc_row<=0 then
  1247. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1248. return
  1249. end if
  1250. if not dw_edit_mode then
  1251. if uo_ware.updatebegin(dw_pageretr.object.u_updatecost_scid[uc_row],dw_pageretr.object.u_updatecost_wareid[uc_row],0,arg_msg)=0 then
  1252. messagebox('错误',arg_msg,stopsign!,ok!)
  1253. return
  1254. end if
  1255. end if
  1256. call super::clicked
  1257. end event
  1258. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_update_cost
  1259. end type
  1260. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(710) THEN
  1261. MessageBox('提示','你没有使用权限!',information!,ok!)
  1262. RETURN
  1263. END IF
  1264. String arg_msg = ''
  1265. IF dw_edit_mode THEN RETURN
  1266. Long uc_row
  1267. uc_row = dw_pageretr.GetRow()
  1268. IF uc_row <= 0 THEN
  1269. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1270. RETURN
  1271. END IF
  1272. IF MessageBox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN
  1273. IF uo_ware.del(dw_pageretr.Object.u_updatecost_scid[uc_row],dw_pageretr.Object.u_updatecost_wareid[uc_row],arg_msg,TRUE) = 0 THEN
  1274. MessageBox('错误',arg_msg,stopsign!,ok!)
  1275. ELSE
  1276. //日志
  1277. Long ls_id
  1278. String ls_code
  1279. ls_id = dw_pageretr.Object.u_updatecost_wareid[uc_row]
  1280. ls_code = dw_pageretr.Object.warecode[uc_row]
  1281. f_setsysoplog('成本价调整单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  1282. //--
  1283. MessageBox('提示','删除单据'+String(dw_pageretr.Object.warecode[uc_row])+'成功!',information!,ok!)
  1284. dw_pageretr.DeleteRow(uc_row)
  1285. dw_pageretr.PostEvent(RowFocusChanged!)
  1286. END IF
  1287. end event
  1288. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_update_cost
  1289. end type
  1290. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1291. String menustr
  1292. IF NOT dw_edit_mode THEN
  1293. menustr = "Text=增加备注~tEvent=ue_addzy"
  1294. menustr = menustr + "|" + "Text=-"
  1295. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1296. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1297. ELSE
  1298. menustr = "Text=导入计划价~tEvent=ue_import_planprice"
  1299. menustr = menustr + "|" + "Text=导入最新购价~tEvent=ue_import_newprice"
  1300. menustr = menustr + "|" + "Text=导入价格表~tEvent=ue_import_saleprice"
  1301. menustr = menustr + "|" + "Text=导入设定售价~tEvent=ue_import_lmsaleprice"
  1302. menustr = menustr + "|" + "Text=导入设定购价~tEvent=ue_import_lmbuyprice"
  1303. END IF
  1304. IF Len(Trim(menustr)) <> 0 THEN
  1305. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1306. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1307. dmPopupMenu.mf_PopMenu()
  1308. DESTROY dmPopupMenu
  1309. END IF
  1310. end event
  1311. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_update_cost
  1312. end type
  1313. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(711) THEN
  1314. MessageBox('提示','你没有使用权限!',information!,ok!)
  1315. RETURN
  1316. END IF
  1317. IF dw_edit_mode THEN RETURN
  1318. String arg_msg = ''
  1319. IF NOT KeyDown(KeyControl!) THEN
  1320. Long pagerert_row
  1321. datetime ldt_billdate
  1322. pagerert_row = dw_pageretr.GetRow()
  1323. IF pagerert_row <= 0 THEN
  1324. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1325. RETURN
  1326. END IF
  1327. ldt_billdate = dw_pageretr.Object.moddate[pagerert_row]
  1328. IF MessageBox ("询问","是否确定要审核当前单据?~r~n审核后,单据日期["+string(ldt_billdate, 'yyyy-mm-dd')+"]前的相关物料进出仓单将不能再撤审!",question!,yesno! ) = 2 THEN RETURN
  1329. IF uo_ware.getinfo(dw_pageretr.Object.u_updatecost_scid[pagerert_row],dw_pageretr.Object.u_updatecost_wareid[pagerert_row],arg_msg) = 0 THEN
  1330. MessageBox('错误',arg_msg,stopsign!,ok!)
  1331. RETURN
  1332. END IF
  1333. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1334. MessageBox('错误',arg_msg,stopsign!,ok!)
  1335. ELSE
  1336. MessageBox('提示','审核成功!',information!,ok!)
  1337. wf_refresh_curuc(dw_pageretr.Object.u_updatecost_scid[pagerert_row],dw_pageretr.Object.u_updatecost_wareid[pagerert_row])
  1338. PARENT.TriggerEvent("retrieve_childdw")
  1339. END IF
  1340. ELSE
  1341. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?~r~n审核后,单据日期前的相关物料进出仓单将不能再撤审!",question!,yesno! ) = 2 THEN RETURN
  1342. Long ll_i,ll_billid
  1343. Int li_flag
  1344. Long ll_suc,ll_fail
  1345. dw_pageretr.AcceptText()
  1346. Open(w_sys_wait_jdt) //初始化进度条
  1347. w_sys_wait_jdt.Show()
  1348. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1349. FOR ll_i = 1 TO dw_pageretr.RowCount()
  1350. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.warecode[ll_i] + " 正在审核..." //进度信息
  1351. li_flag = dw_pageretr.Object.flag[ll_i]
  1352. IF li_flag = 1 THEN CONTINUE
  1353. ll_billid = dw_pageretr.Object.u_updatecost_wareid[ll_i]
  1354. IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN
  1355. MessageBox("错误",arg_msg,stopsign!,ok!)
  1356. ll_fail++
  1357. CONTINUE
  1358. END IF
  1359. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1360. ll_fail++
  1361. CONTINUE
  1362. END IF
  1363. ll_suc++
  1364. w_sys_wait_jdt.wf_inc(ll_i) //进度
  1365. NEXT
  1366. Close(w_sys_wait_jdt)
  1367. MessageBox('提示','批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,ok!)
  1368. PARENT.TriggerEvent('retrieve_pageretr')
  1369. END IF
  1370. end event
  1371. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_update_cost
  1372. end type
  1373. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_update_cost
  1374. end type
  1375. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_update_cost
  1376. end type
  1377. type cb_help from w_publ_1ton_share_detail`cb_help within w_update_cost
  1378. end type
  1379. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_update_cost
  1380. end type
  1381. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(918) THEN
  1382. MessageBox('提示','你没有使用权限!',information!,ok!)
  1383. RETURN
  1384. END IF
  1385. IF dw_edit_mode THEN RETURN
  1386. String arg_msg = ''
  1387. Long pagerert_row
  1388. pagerert_row = dw_pageretr.GetRow()
  1389. IF pagerert_row <= 0 THEN
  1390. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1391. RETURN
  1392. END IF
  1393. IF MessageBox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1394. IF uo_ware.getinfo(dw_pageretr.Object.u_updatecost_scid[pagerert_row],dw_pageretr.Object.u_updatecost_wareid[pagerert_row],arg_msg) = 0 THEN
  1395. MessageBox('错误',arg_msg,stopsign!,ok!)
  1396. RETURN
  1397. END IF
  1398. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  1399. MessageBox('错误',arg_msg,stopsign!,ok!)
  1400. ELSE
  1401. //日志
  1402. Long ls_id
  1403. String ls_code
  1404. ls_id = dw_pageretr.Object.u_updatecost_wareid[pagerert_row]
  1405. ls_code = dw_pageretr.Object.warecode[pagerert_row]
  1406. f_setsysoplog('成本价调整单','撤审,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  1407. //--
  1408. MessageBox('提示','撤消审核成功!',information!,ok!)
  1409. wf_refresh_curuc(dw_pageretr.Object.u_updatecost_scid[pagerert_row],dw_pageretr.Object.u_updatecost_wareid[pagerert_row])
  1410. END IF
  1411. end event
  1412. type p_msg from w_publ_1ton_share_detail`p_msg within w_update_cost
  1413. end type
  1414. type p_help from w_publ_1ton_share_detail`p_help within w_update_cost
  1415. end type
  1416. type p_encl from w_publ_1ton_share_detail`p_encl within w_update_cost
  1417. end type
  1418. type p_other from w_publ_1ton_share_detail`p_other within w_update_cost
  1419. end type
  1420. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_update_cost
  1421. end type
  1422. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_update_cost
  1423. integer beginx = 14
  1424. integer endx = 3616
  1425. end type
  1426. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_update_cost
  1427. integer beginx = 14
  1428. integer endx = 3616
  1429. end type
  1430. type r_bar from w_publ_1ton_share_detail`r_bar within w_update_cost
  1431. end type
  1432. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_update_cost
  1433. end type
  1434. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_update_cost
  1435. end type
  1436. type ddlb_scid from uo_ddlb_scid within w_update_cost
  1437. integer x = 937
  1438. integer y = 188
  1439. integer width = 549
  1440. integer height = 604
  1441. integer taborder = 20
  1442. boolean bringtotop = true
  1443. end type
  1444. event constructor;call super::constructor;cur_scid=this.uo_scid
  1445. end event
  1446. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1447. parent.triggerevent("retrieve_pageretr")
  1448. end event
  1449. type ddlb_status from dropdownlistbox within w_update_cost
  1450. integer x = 1673
  1451. integer y = 188
  1452. integer width = 311
  1453. integer height = 300
  1454. integer taborder = 30
  1455. boolean bringtotop = true
  1456. integer textsize = -9
  1457. integer weight = 400
  1458. fontcharset fontcharset = gb2312charset!
  1459. fontpitch fontpitch = variable!
  1460. string facename = "宋体"
  1461. long textcolor = 33554432
  1462. string text = "[全部]"
  1463. boolean sorted = false
  1464. string item[] = {"[全部]","待审核","已审核"}
  1465. borderstyle borderstyle = stylelowered!
  1466. end type
  1467. event selectionchanged;if index=1 then
  1468. cur_flag=-1
  1469. elseif index=2 then
  1470. cur_flag=0
  1471. elseif index=3 then
  1472. cur_flag=1
  1473. end if
  1474. parent.triggerevent('retrieve_pageretr')
  1475. end event
  1476. type st_2 from statictext within w_update_cost
  1477. integer x = 1499
  1478. integer y = 208
  1479. integer width = 219
  1480. integer height = 48
  1481. integer textsize = -9
  1482. integer weight = 400
  1483. fontcharset fontcharset = gb2312charset!
  1484. fontpitch fontpitch = variable!
  1485. string facename = "宋体"
  1486. long textcolor = 33554432
  1487. long backcolor = 134217739
  1488. string text = "状 态"
  1489. boolean focusrectangle = false
  1490. end type
  1491. type st_4 from statictext within w_update_cost
  1492. integer x = 763
  1493. integer y = 208
  1494. integer width = 219
  1495. integer height = 48
  1496. integer textsize = -9
  1497. integer weight = 400
  1498. fontcharset fontcharset = gb2312charset!
  1499. fontpitch fontpitch = variable!
  1500. string facename = "宋体"
  1501. long textcolor = 33554432
  1502. long backcolor = 134217739
  1503. string text = "分 部"
  1504. boolean focusrectangle = false
  1505. end type