w_wfjg_out_th.srw 64 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227
  1. $PBExportHeader$w_wfjg_out_th.srw
  2. forward
  3. global type w_wfjg_out_th from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_status from dropdownlistbox within w_wfjg_out_th
  6. end type
  7. type st_2 from statictext within w_wfjg_out_th
  8. end type
  9. type st_3 from statictext within w_wfjg_out_th
  10. end type
  11. type ddlb_scid from uo_ddlb_scid within w_wfjg_out_th
  12. end type
  13. end forward
  14. global type w_wfjg_out_th 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_cmp_qty ( )
  23. event ue_cmp_uqty ( )
  24. ddlb_status ddlb_status
  25. st_2 st_2
  26. st_3 st_3
  27. ddlb_scid ddlb_scid
  28. end type
  29. global w_wfjg_out_th w_wfjg_out_th
  30. type variables
  31. uo_outware_wfjg uo_ware
  32. long cur_flag= -1 //-1:全部,0未审
  33. long cur_scid //分店ID
  34. string ol_cdw_str=''
  35. Int cur_editfocus = 0 //1:新建2:修改
  36. uo_spt_price uo_sptprice
  37. end variables
  38. forward prototypes
  39. public function integer wf_flagstatus_rf ()
  40. public function integer wf_refresh_curuc (long arg_scid, long arg_outwareid)
  41. public function integer wf_autoaddmx (long arg_scid, long arg_storageid, long arg_wrkgrpid, long arg_orderid, long arg_mtrlid, string arg_mtrlname, string arg_relcode, string arg_ordercode, string arg_msg)
  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_change_sptid (long arg_sptid)
  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.object.ow_wfjgmx_out_ifrel[li_row] = sys_option_autoyes
  51. if li_row > 1 then
  52. dw_child.accepttext()
  53. dw_child.object.ow_wfjgmx_out_storageid[li_row] = dw_child.object.ow_wfjgmx_out_storageid[li_row - 1]
  54. end if
  55. dw_child.SetColumn ('ow_wfjgmx_out_ifrel')
  56. end event
  57. event ue_fj_edit();IF dw_edit_mode THEN
  58. MessageBox('提示','编辑状态下不可用',information!,OK!)
  59. RETURN
  60. END IF
  61. //IF NOT f_power_ind(1446) THEN
  62. // MessageBox(publ_operator,'你没有使用权限!')
  63. // RETURN
  64. //END IF
  65. s_edit_index_tran s_pic
  66. Long ll_ConnectionID
  67. String arg_msg
  68. Long ls_row
  69. ls_row = dw_uc.GetRow()
  70. IF ls_row <= 0 THEN
  71. RETURN
  72. END IF
  73. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  74. MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!)
  75. RETURN
  76. END IF
  77. s_pic.f_long = 909 //采购订单的mainID
  78. s_pic.f_string = dw_uc.Object.ow_wfjg_out_outwarecode[ls_row]
  79. s_pic.g_long = dw_uc.Object.ow_wfjg_out_outwareid[ls_row]
  80. s_pic.e_long = dw_uc.Object.ow_wfjg_out_scid[ls_row]
  81. s_pic.sqltransaction = sys_filedb_sqlca
  82. OpenWithParm(w_fj_bill_mng,s_pic)
  83. //wf_check_billfj()
  84. end event
  85. event ue_fj_view();IF dw_edit_mode THEN
  86. MessageBox('提示','编辑状态下不可用',information!,OK!)
  87. RETURN
  88. END IF
  89. s_edit_index_tran s_pic
  90. Long ll_ConnectionID
  91. String arg_msg
  92. Long ls_row
  93. ls_row = dw_uc.GetRow()
  94. IF ls_row <= 0 THEN
  95. RETURN
  96. END IF
  97. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  98. MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!)
  99. RETURN
  100. END IF
  101. s_pic.f_long = 909 //采购订单的mainID
  102. s_pic.f_string = dw_uc.Object.ow_wfjg_out_outwarecode[ls_row]
  103. s_pic.g_long = dw_uc.Object.ow_wfjg_out_outwareid[ls_row]
  104. s_pic.e_long = dw_uc.Object.ow_wfjg_out_scid[ls_row]
  105. s_pic.sqltransaction = sys_filedb_sqlca
  106. OpenWithParm(w_fj_bill_view,s_pic)
  107. end event
  108. event ue_cmp_qty();IF NOT dw_edit_mode THEN RETURN
  109. Long ll_i
  110. dw_child.accepttext()
  111. dw_child.SetRedraw(FALSE)
  112. FOR ll_i = 1 TO dw_child.RowCount()
  113. IF dw_child.Object.ow_wfjgmx_out_uqty[ll_i] > 0 AND dw_child.Object.ow_wfjgmx_out_rate[ll_i] > 0 THEN
  114. dw_child.Object.ow_wfjgmx_out_qty[ll_i] = round(dw_child.Object.ow_wfjgmx_out_uqty[ll_i] * dw_child.Object.ow_wfjgmx_out_rate[ll_i],sys_option_unit_dec)
  115. END IF
  116. NEXT
  117. dw_child.SetRedraw(TRUE)
  118. end event
  119. event ue_cmp_uqty();IF NOT dw_edit_mode THEN RETURN
  120. Long ll_i
  121. dw_child.AcceptText()
  122. dw_child.SetRedraw(FALSE)
  123. FOR ll_i = 1 TO dw_child.RowCount()
  124. IF dw_child.Object.ow_wfjgmx_out_qty[ll_i] > 0 AND dw_child.Object.ow_wfjgmx_out_rate[ll_i] > 0 THEN
  125. dw_child.Object.ow_wfjgmx_out_uqty[ll_i] = Round(dw_child.Object.ow_wfjgmx_out_qty[ll_i] / dw_child.Object.ow_wfjgmx_out_rate[ll_i],sys_option_unit_dec)
  126. END IF
  127. NEXT
  128. dw_child.SetRedraw(TRUE)
  129. end event
  130. public function integer wf_flagstatus_rf ();//====================================================================
  131. // Function: wf_flagstatus_rf()
  132. //--------------------------------------------------------------------
  133. // Description:
  134. //--------------------------------------------------------------------
  135. // Arguments:(None)
  136. //--------------------------------------------------------------------
  137. // Returns: integer
  138. //--------------------------------------------------------------------
  139. // Author: yyx Date: 2003.12.26
  140. //--------------------------------------------------------------------
  141. // Modify History:
  142. //
  143. //====================================================================
  144. long pagerert_row
  145. pagerert_row=dw_pageretr.getrow()
  146. if pagerert_row<=0 then
  147. cb_auditing.enabled=false
  148. goto ext
  149. end if
  150. if dw_edit_mode then
  151. cb_auditing.enabled=false
  152. cb_auditing_cancel.enabled=false
  153. else
  154. if dw_pageretr.object.ow_wfjg_out_flag[pagerert_row]=0 then
  155. cb_auditing.enabled=true
  156. cb_auditing_cancel.enabled=false
  157. elseif dw_pageretr.object.ow_wfjg_out_flag[pagerert_row]=1 then
  158. cb_auditing.enabled=false
  159. cb_auditing_cancel.enabled=true
  160. end if
  161. end if
  162. ext:
  163. return 0
  164. end function
  165. public function integer wf_refresh_curuc (long arg_scid, long arg_outwareid);//wf_refresh_curuc
  166. IF arg_outwareid <= 0 OR IsNull(arg_outwareid) THEN RETURN 0
  167. Long uc_row
  168. uc_row = dw_pageretr.GetRow()
  169. IF uc_row <= 0 THEN RETURN 0
  170. datetime outdate
  171. string outrep
  172. string cusname
  173. string part
  174. string dscrp
  175. string outwarecode
  176. datetime opdate
  177. string opemp
  178. datetime auditingdate
  179. int flag
  180. string auditingrep
  181. int balcflag,thflag
  182. string storagename
  183. string Modemp
  184. datetime moddate
  185. string sptname
  186. string sptcode
  187. long sptid
  188. SELECT ow_wfjg_out.outdate,
  189. ow_wfjg_out.outrep,
  190. ow_wfjg_out.part,
  191. ow_wfjg_out.dscrp,
  192. ow_wfjg_out.outwarecode,
  193. ow_wfjg_out.opdate,
  194. ow_wfjg_out.opemp,
  195. ow_wfjg_out.auditingdate,
  196. ow_wfjg_out.flag,
  197. ow_wfjg_out.auditingemp,
  198. ow_wfjg_out.balcflag,
  199. ow_wfjg_out.Modemp,
  200. ow_wfjg_out.moddate,
  201. ow_wfjg_out.thflag,
  202. u_spt.name,
  203. u_spt.sptcode,
  204. ow_wfjg_out.sptid
  205. INTO :outdate,
  206. :outrep,
  207. :part,
  208. :dscrp,
  209. :outwarecode,
  210. :opdate,
  211. :opemp,
  212. :auditingdate,
  213. :flag,
  214. :auditingrep,
  215. :balcflag,
  216. :Modemp,
  217. :moddate,
  218. :thflag,
  219. :sptname,
  220. :sptcode,
  221. :sptid
  222. FROM ow_wfjg_out INNER JOIN
  223. u_spt ON ow_wfjg_out.sptid = u_spt.sptid
  224. Where ( ow_wfjg_out.outwareid = :arg_outwareid )
  225. and ( ow_wfjg_out.scid = :arg_scid );
  226. IF sqlca.SQLCode <> 0 THEN
  227. MessageBox('错误',"查询操作失败(错误单据唯一码)",stopsign!,OK!)
  228. RETURN 0
  229. END IF
  230. dw_pageretr.Object.ow_wfjg_out_scid[uc_row] = arg_scid
  231. dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row] = arg_outwareid
  232. dw_pageretr.Object.ow_wfjg_out_outdate[uc_row] = outdate
  233. dw_pageretr.Object.ow_wfjg_out_outrep[uc_row] = outrep
  234. dw_pageretr.Object.ow_wfjg_out_part[uc_row] = part
  235. dw_pageretr.Object.ow_wfjg_out_dscrp[uc_row] = dscrp
  236. dw_pageretr.Object.ow_wfjg_out_outwarecode[uc_row] = outwarecode
  237. dw_pageretr.Object.ow_wfjg_out_opdate[uc_row] = opdate
  238. dw_pageretr.Object.ow_wfjg_out_opemp[uc_row] = opemp
  239. dw_pageretr.Object.ow_wfjg_out_Auditingdate[uc_row] = auditingdate
  240. dw_pageretr.Object.ow_wfjg_out_flag[uc_row] = flag
  241. dw_pageretr.Object.ow_wfjg_out_Auditingemp[uc_row] = auditingrep
  242. dw_pageretr.Object.ow_wfjg_out_balcflag[uc_row] = balcflag
  243. dw_pageretr.Object.ow_wfjg_out_moddate[uc_row] = moddate
  244. dw_pageretr.Object.ow_wfjg_out_modemp[uc_row] = modemp
  245. dw_pageretr.Object.ow_wfjg_out_thflag[uc_row] =thflag
  246. dw_pageretr.Object.u_spt_name[uc_row] =sptname
  247. dw_pageretr.Object.u_spt_code[uc_row] =sptcode
  248. dw_pageretr.Object.ow_wfjg_out_sptid[uc_row] =sptid
  249. dw_uc.Reset()
  250. dw_pageretr.RowsCopy(dw_pageretr.GetRow(),&
  251. dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  252. dw_uc.ResetUpdate()
  253. dw_uc.SetRedraw(TRUE)
  254. wf_flagstatus_rf()
  255. RETURN 1
  256. end function
  257. public function integer wf_autoaddmx (long arg_scid, long arg_storageid, long arg_wrkgrpid, long arg_orderid, long arg_mtrlid, string arg_mtrlname, string arg_relcode, string arg_ordercode, string arg_msg);Int rslt = 1
  258. long childrow
  259. //
  260. //
  261. //
  262. //
  263. //
  264. //childrow = dw_child.GetRow()
  265. //
  266. //IF childrow > 0 THEN
  267. // DECLARE qq CURSOR FOR
  268. // SELECT cw_banktype.accsetid
  269. // FROM cw_banktype ;
  270. // IF dw_child.Object.u_outwaremx_mtrlid[child_row] <> 0 THEN
  271. // child_row = dw_child.InsertRow (0)
  272. // ELSE
  273. // child_row = dw_child.GetRow()
  274. // END IF
  275. //ELSE
  276. // child_row = dw_child.InsertRow (0)
  277. //END IF
  278. //
  279. //dw_child.Object.u_outwaremx_relid[childrow] = arg_orderid
  280. //dw_child.Object.u_outwaremx_olmtrlid[childrow] = arg_mtrlid
  281. //dw_child.Object.u_mtrldef_mtrlname_1[childrow] = arg_mtrlname
  282. //dw_child.Object.u_order_ml_relcode[childrow] = arg_relcode
  283. //dw_child.Object.u_order_ml_ordercode[childrow] = arg_ordercode
  284. RETURN rslt
  285. end function
  286. public subroutine wf_check_billfj ();String arg_msg
  287. Long ll_ConnectionID
  288. Long cur_billtype
  289. long ll_relid,ll_relid_mx,ll_scid
  290. Long ls_filecount = 0
  291. Int rslt = 1
  292. uo_fj_mng_billtype ls_uo_fjbt
  293. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  294. Long row,uc_relid
  295. row = dw_pageretr.GetRow()
  296. IF row > 0 THEN
  297. ll_relid = dw_pageretr.Object.ow_wfjg_out_outwareid[row]
  298. ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[row]
  299. ll_relid_mx = 0
  300. ELSE
  301. rslt = 0
  302. GOTO ext
  303. END IF
  304. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  305. rslt = 0
  306. GOTO ext
  307. END IF
  308. cur_billtype = 909 //客户投拆单的 mainiD
  309. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  310. IF ls_filecount > 0 THEN
  311. rslt = 1
  312. GOTO ext
  313. ELSE
  314. rslt = 0
  315. GOTO ext
  316. END IF
  317. ext:
  318. wf_encl(rslt)
  319. DESTROY ls_uo_fjbt
  320. end subroutine
  321. 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);//==============================================================================
  322. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  323. //------------------------------------------------------------------------------
  324. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  325. //------------------------------------------------------------------------------
  326. Long LS_ROW,ll_id,i,ll_scid
  327. LS_ROW = dw_uc.GetRow()
  328. IF LS_ROW <= 0 THEN
  329. arg_msg = '没有目标单据!'
  330. RETURN 0
  331. END IF
  332. //修改点:获取 指定retriev参数
  333. ll_id = dw_uc.Object.ow_wfjg_out_outwareid[LS_ROW]
  334. ll_scid = dw_uc.Object.ow_wfjg_out_scid[LS_ROW]
  335. //查询所选模版是否含有图片信息
  336. Long ll_ifpic
  337. Long ll_classid
  338. SELECT ifpic
  339. INTO :ll_ifpic
  340. FROM U_XLS_Templates
  341. Where id = :ll_xls_Templatesid;
  342. IF sqlca.SQLCode <> 0 THEN
  343. ll_ifpic = 0
  344. END IF
  345. Long ll_i,ll_j
  346. Long ll_mtrlid
  347. Long ll_fileid
  348. Blob ls_filedata
  349. SetNull(ls_filedata)
  350. String Pathname,ls_filename,ls_filetype
  351. String errmsg
  352. uo_fj_mng_billtype ls_uo_fjbt
  353. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  354. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  355. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  356. SELECT classid
  357. INTO :ll_classid
  358. FROM u_billpic_fileclass
  359. Where (billtype = 909);
  360. IF sqlca.SQLCode <> 0 THEN
  361. ll_classid = 0
  362. END IF
  363. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  364. FOR ll_i = 1 TO dw_child.RowCount()
  365. ll_mtrlid = dw_child.Object.ow_wfjg_out_scid[ll_i]
  366. //取该附件类型中的第一个附件.
  367. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  368. FROM u_file
  369. WHERE relid = :ll_mtrlid
  370. AND classid = :ll_classid
  371. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  372. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  373. USING sys_fileDB_sqlca;
  374. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  375. ll_fileid = 0
  376. END IF
  377. IF ll_fileid > 0 THEN
  378. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  379. IF Trim(Pathname) <> '' THEN
  380. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  381. RETURN 0
  382. END IF
  383. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  384. RETURN 0
  385. ELSE
  386. s_pic.path[ll_i] = Pathname
  387. //记录临时文件位置,本窗口退出后删除
  388. wf_addlog_tempfilepathname(Pathname)
  389. END IF
  390. ELSE
  391. s_pic.path[ll_i] = ''
  392. END IF
  393. ELSE
  394. s_pic.path[ll_i] = ''
  395. END IF
  396. NEXT
  397. END IF
  398. //
  399. END IF
  400. ////可选设置///
  401. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  402. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  403. boolean xls_locked
  404. xls_locked = not (sys_option_xls_lock = 1)
  405. /// Excel 的可选设置
  406. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  407. return 0
  408. end if
  409. for i = 1 to arg_str_billlist.count
  410. ////可选操作///
  411. arg_str_billlist.bill[i].ds_data = create datastore //
  412. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  413. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  414. //修改点:注意retrieve 参数与上文对应
  415. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  416. next
  417. return 1
  418. end function
  419. 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
  420. LS_ROW = dw_pageretr.GetRow()
  421. IF LS_ROW <= 0 THEN
  422. arg_msg = '没有目标单据!'
  423. RETURN 0
  424. END IF
  425. //修改点:获取 指定retriev参数
  426. ll_id = dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW]
  427. ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW]
  428. Long ll_i,ll_j
  429. Long ll_mtrlid
  430. Long ll_fileid
  431. Blob ls_filedata
  432. SetNull(ls_filedata)
  433. String Pathname,ls_filename,ls_filetype
  434. String errmsg
  435. uo_fj_mng_billtype ls_uo_fjbt
  436. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  437. Long ll_classid
  438. SELECT classid
  439. INTO :ll_classid
  440. FROM u_billpic_fileclass
  441. Where (billtype = 102);
  442. IF sqlca.SQLCode <> 0 THEN
  443. ll_classid = 0
  444. END IF
  445. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  446. FOR ll_i = 1 TO dw_child.RowCount()
  447. ll_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[ll_i]
  448. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  449. //取该附件类型中的第一个附件.
  450. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  451. FROM u_file
  452. WHERE relid = :ll_mtrlid
  453. AND classid = :ll_classid
  454. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  455. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  456. USING sys_fileDB_sqlca;
  457. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  458. ll_fileid = 0
  459. END IF
  460. IF ll_fileid > 0 THEN
  461. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  462. IF Trim(Pathname) <> '' THEN
  463. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  464. RETURN 0
  465. END IF
  466. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  467. RETURN 0
  468. ELSE
  469. arg_s_pic.path[ll_i] = Pathname
  470. //记录临时文件位置,本窗口退出后删除
  471. wf_addlog_tempfilepathname(Pathname)
  472. END IF
  473. ELSE
  474. arg_s_pic.path[ll_i] = ''
  475. END IF
  476. ELSE
  477. arg_s_pic.path[ll_i] = ''
  478. END IF
  479. NEXT
  480. END IF
  481. RETURN 1
  482. end function
  483. public subroutine wf_change_sptid (long arg_sptid);Long ll_row
  484. ll_row = dw_uc.GetRow()
  485. IF ll_row <= 0 THEN RETURN
  486. IF dw_uc.Object.ow_wfjg_out_sptid[ll_row] > 0 And dw_uc.Object.ow_wfjg_out_sptid[ll_row] <> arg_sptid THEN
  487. dw_child.Reset()
  488. This.TriggerEvent("insert_childrow")
  489. END IF
  490. RETURN
  491. end subroutine
  492. on w_wfjg_out_th.create
  493. int iCurrent
  494. call super::create
  495. this.ddlb_status=create ddlb_status
  496. this.st_2=create st_2
  497. this.st_3=create st_3
  498. this.ddlb_scid=create ddlb_scid
  499. iCurrent=UpperBound(this.Control)
  500. this.Control[iCurrent+1]=this.ddlb_status
  501. this.Control[iCurrent+2]=this.st_2
  502. this.Control[iCurrent+3]=this.st_3
  503. this.Control[iCurrent+4]=this.ddlb_scid
  504. end on
  505. on w_wfjg_out_th.destroy
  506. call super::destroy
  507. destroy(this.ddlb_status)
  508. destroy(this.st_2)
  509. destroy(this.st_3)
  510. destroy(this.ddlb_scid)
  511. end on
  512. event open;THIS.TriggerEvent('ue_before_open')
  513. wf_movetocenter()
  514. OLD_TITLE = THIS.Title
  515. s_tran = Message.PowerObjectParm
  516. IF NOT IsNull(s_tran) THEN
  517. retrieve_all = s_tran.if_retrieve_all
  518. mode = s_tran.work_mode
  519. arg_pkid = s_tran.arg_pkid
  520. arg_string_code = s_tran.arg_string_code
  521. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  522. ds_share = s_tran.ds_share
  523. END IF
  524. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  525. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  526. dw_pageretr.SetTransObject (sqlca)
  527. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  528. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  529. ls_newselect = ori_oldselect
  530. ds_curquery = CREATE DATASTORE
  531. ds_curquery.DataObject = 'd_extr_find'
  532. ds_curquery.SetTransObject (sqlca)
  533. wf_editindex_lockf()
  534. IF s_tran.d_long = 2 THEN
  535. cur_scid = s_tran.c_long
  536. Int li_item
  537. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  538. IF li_item > 0 THEN
  539. ddlb_scid.SelectItem(li_item)
  540. END IF
  541. END IF
  542. sle_usual_query.Text = Trim(arg_string_code)
  543. IF NOT retrieve_all THEN
  544. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  545. ELSE
  546. IF if_sharedata THEN
  547. ds_share.ShareData(dw_pageretr)
  548. ELSE
  549. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  550. THIS.TriggerEvent('RETRIEVE_pageretr')
  551. END IF
  552. END IF
  553. IF retrieve_all THEN
  554. THIS.TriggerEvent("ue_usual_query_filt")
  555. END IF
  556. uc_column_int = 7 //uc dw前5列可以编辑
  557. child_column_int =17 //子dw前5列可以编辑
  558. uo_ware = CREATE uo_outware_wfjg
  559. uo_ware.commit_transaction = sqlca
  560. uo_sptprice = CREATE uo_spt_price
  561. s_hide_col s_col
  562. s_col.col_1 = 'ow_wfjgmx_out_fprice'
  563. s_col.col_2 = 'enamt'
  564. s_col.col_3 = 'ow_wfjgmx_out_uprice'
  565. f_hide_col(1473,dw_child,s_col)
  566. end event
  567. event close;call super::close;destroy uo_ware
  568. destroy uo_sptprice
  569. wf_del_tempfilepathname()
  570. end event
  571. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  572. ddlb_status.enabled=not dw_edit_mode
  573. if dw_edit_mode then
  574. ddlb_scid.enabled=false
  575. else
  576. if sys_scid > 0 then
  577. ddlb_scid.enabled=false
  578. else
  579. ddlb_scid.enabled=true
  580. end if
  581. end if
  582. end event
  583. event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid
  584. row=dw_pageretr.getrow()
  585. if row>0 then
  586. uc_relid=dw_pageretr.object.ow_wfjg_out_outwareid[row]
  587. dw_child.SetRedraw (false)
  588. dw_child.retrieve(cur_scid,uc_relid,sys_option_2unit)
  589. dw_child.SetRedraw (true)
  590. else
  591. dw_child.reset()
  592. end if
  593. end event
  594. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  595. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  596. cb_nextpage_enabled=cb_nextpage.enabled
  597. cb_retrieveall_enabled=cb_retrieveall.enabled
  598. cb_func_enabled=cb_func.enabled
  599. cb_nextpage.enabled=false
  600. cb_retrieveall.enabled=false
  601. cb_func.enabled=false
  602. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  603. dw_pageretr.Retrieve(cur_scid,cur_flag,sys_user_spttype)
  604. IF dw_pageretr.RowCount() > 0 THEN
  605. dw_pageretr.SetRow(1)
  606. dw_pageretr.triggerevent(rowfocuschanged!)
  607. end if
  608. this.triggerevent('retrieve_childdw')
  609. cb_nextpage.enabled=cb_nextpage_enabled
  610. cb_retrieveall.enabled=cb_retrieveall_enabled
  611. cb_func.enabled=cb_func_enabled
  612. //只显未自已管的仓库
  613. datawindowchild childdw
  614. string new_sqlstr,modify_str
  615. dw_uc.SetTransObject (sqlca)
  616. dw_uc.getchild("u_outware_storageid",childdw)
  617. childdw.SetTransObject (sqlca)
  618. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  619. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  620. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  621. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  622. childdw.modify ( modify_str )
  623. childdw.retrieve(cur_scid)
  624. //childdw.retrieve()
  625. end event
  626. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  627. if trim(sle_usual_query.text)<>'' then
  628. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  629. obj_expr=obj_expr+'( ow_wfjg_out_outwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  630. ELSE
  631. obj_expr=obj_expr+'( ow_wfjg_out_outwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
  632. END IF
  633. end if
  634. dw_pageretr.setfilter(obj_expr)
  635. dw_pageretr.SetRedraw(False)
  636. dw_pageretr.filter()
  637. if dw_pageretr.rowcount()>=1 then
  638. dw_pageretr.selectrow(0,false)
  639. dw_pageretr.selectrow(1,true)
  640. dw_pageretr.SetRow(1)
  641. dw_pageretr.triggerevent(rowfocuschanged!)
  642. end if
  643. dw_pageretr.SetRedraw(TRUE)
  644. end event
  645. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  646. ls_newselect=lower(ori_oldselect)
  647. if trim(sle_usual_query.text)<>'' then
  648. if pos(trim(sle_usual_query.text),'%')=0 then
  649. ls_querystrpart="(ow_wfjg_out.outwarecode like '%"+trim(sle_usual_query.text)+"%')"
  650. else
  651. ls_querystrpart="(ow_wfjg_out.outwarecode like '"+trim(sle_usual_query.text)+"')"
  652. end if
  653. if Pos(ls_newselect," where ") <> 0 then
  654. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  655. else
  656. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  657. end if
  658. end if
  659. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  660. this.triggerevent('retrieve_pageretr')
  661. end event
  662. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  663. IF NOT dw_edit_mode THEN RETURN
  664. Long child_row,ls_sptid
  665. dw_child.AcceptText()
  666. dw_uc.accepttext()
  667. String ls_unit_buy,ls_unit_scll,ls_unit_sale
  668. Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale
  669. Int li_wfjgunit,li_wfjgdec
  670. string ls_unit
  671. long li_dec
  672. decimal ld_rate
  673. s_mtrldef_array arg_s_mtrldef
  674. ls_sptid = dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()]
  675. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  676. THIS.TriggerEvent("ue_f9")
  677. END IF
  678. child_row = dw_child.GetRow()
  679. Long ls_j
  680. IF dw_child.Object.ow_wfjgmx_out_ifrel[child_row] = 0 THEN
  681. THIS.Enabled = FALSE
  682. IF NOT IsValid(w_mtrldef_edit) THEN
  683. s_edit_index_tran s_ch_tran
  684. s_ch_tran.if_retrieve_all = FALSE
  685. s_ch_tran.work_mode = 1
  686. s_ch_tran.arg_pkid = 0
  687. s_ch_tran.arg_string_code = ''
  688. s_ch_tran.b_long = 3
  689. s_ch_tran.c_long = -1
  690. s_ch_tran.if_select_all = TRUE
  691. dw_child.AcceptText()
  692. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  693. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  694. s_mtrldef_array s_inscust
  695. s_inscust = Message.PowerObjectParm //接受返回结构
  696. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  697. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  698. IF dw_child.GetRow() > 0 THEN
  699. IF dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] <> 0 THEN
  700. child_row = dw_child.InsertRow (0)
  701. ELSE
  702. child_row = dw_child.GetRow()
  703. END IF
  704. ELSE
  705. child_row = dw_child.InsertRow (0)
  706. END IF
  707. IF f_find_mtrl_by_id(s_inscust.mtrlid[ls_j],arg_s_mtrldef) = 0 THEN
  708. li_wfjgunit = 0
  709. ls_unit_buy = ''
  710. ls_unit_scll = ''
  711. ls_unit_sale = ''
  712. ld_rate_buy = 0
  713. ld_rate_scll = 0
  714. ld_rate_sale = 0
  715. li_wfjgdec = 0
  716. ELSE
  717. li_wfjgunit = arg_s_mtrldef.wfjgunit[1]
  718. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  719. ls_unit_scll = arg_s_mtrldef.unit_scll[1]
  720. ls_unit_sale = arg_s_mtrldef.unit_sale[1]
  721. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  722. ld_rate_scll = arg_s_mtrldef.rate_scll[1]
  723. ld_rate_sale = arg_s_mtrldef.rate_sale[1]
  724. li_wfjgdec = arg_s_mtrldef.wfjgdec[1]
  725. END IF
  726. IF li_wfjgunit = 0 THEN
  727. ls_unit = s_inscust.unit[ls_j]
  728. ld_rate = 1
  729. li_dec = sys_option_unit_dec
  730. ELSEIF li_wfjgunit = 1 THEN
  731. ls_unit = ls_unit_buy
  732. ld_rate = ld_rate_buy
  733. li_dec = li_wfjgdec
  734. ELSEIF li_wfjgunit = 2 THEN
  735. ls_unit = ls_unit_scll
  736. ld_rate = ld_rate_scll
  737. li_dec = li_wfjgdec
  738. ELSEIF li_wfjgunit = 3 THEN
  739. ls_unit = ls_unit_sale
  740. ld_rate = ld_rate_sale
  741. li_dec = li_wfjgdec
  742. END IF
  743. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  744. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  745. dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  746. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  747. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  748. dw_child.Object.ow_wfjgmx_out_uunit[child_row] = ls_unit
  749. dw_child.Object.ow_wfjgmx_out_rate[child_row] = ld_rate
  750. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  751. String arg_msg
  752. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],s_inscust.unit[ls_j],'','','',0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  753. IF s_inscust.planprice[ls_j] = 0 THEN
  754. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = s_inscust.lmbuyprice[ls_j]
  755. ELSE
  756. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = s_inscust.planprice[ls_j]
  757. END IF
  758. ELSE
  759. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = ls_1stnewcost
  760. dw_child.Object.ow_wfjgmx_out_rebate[child_row] = ls_1stzqrate
  761. END IF
  762. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  763. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  764. dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
  765. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
  766. dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
  767. END IF
  768. NEXT
  769. this.triggerevent('ue_allowedit')
  770. END IF
  771. THIS.Enabled = TRUE
  772. dw_child.SetRedraw(TRUE)
  773. dw_child.SetFocus()
  774. ELSE
  775. dw_child.AcceptText()
  776. dw_uc.AcceptText()
  777. Long childrow
  778. ls_sptid = dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()]
  779. IF ls_sptid <= 0 THEN
  780. MessageBox("提示","请先选择供应商",information!,OK!)
  781. RETURN
  782. END IF
  783. s_mtrldef_wfjg_array s_inscust8
  784. s_edit_index_tran s_tranf88
  785. s_tranf88.if_retrieve_all = FALSE
  786. s_tranf88.arg_pkid = 0
  787. s_tranf88.arg_string_code = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  788. s_tranf88.b_long = 2
  789. s_tranf88.d_long = ls_sptid
  790. s_tranf88.e_long = 0
  791. s_tranf88.f_long = 1
  792. THIS.Enabled = FALSE
  793. IF NOT IsValid(w_wfjg_out_ch) THEN
  794. OpenWithParm(w_wfjg_out_ch,s_tranf88)
  795. s_inscust8 = Message.PowerObjectParm //接受返回结构
  796. dw_child.SetRedraw(FALSE)
  797. childrow = dw_child.GetRow()
  798. FOR ls_j = 1 TO UpperBound(s_inscust8.wfjgid)
  799. IF s_inscust8.wfjgid[ls_j] > 0 THEN //正常返回值则可以取以下值
  800. IF dw_child.GetRow() > 0 THEN
  801. IF dw_child.Object.ow_wfjgmx_out_relid[childrow] <> 0 THEN
  802. childrow = dw_child.InsertRow (0)
  803. ELSE
  804. childrow = dw_child.GetRow()
  805. END IF
  806. ELSE
  807. childrow = dw_child.InsertRow (0)
  808. END IF
  809. IF f_find_mtrl_by_id(s_inscust8.mtrlid[ls_j],arg_s_mtrldef) = 0 THEN
  810. li_wfjgunit = 0
  811. ls_unit_buy = ''
  812. ls_unit_scll = ''
  813. ls_unit_sale = ''
  814. ld_rate_buy = 0
  815. ld_rate_scll = 0
  816. ld_rate_sale = 0
  817. li_wfjgdec = 0
  818. ELSE
  819. li_wfjgunit = arg_s_mtrldef.wfjgunit[1]
  820. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  821. ls_unit_scll = arg_s_mtrldef.unit_scll[1]
  822. ls_unit_sale = arg_s_mtrldef.unit_sale[1]
  823. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  824. ld_rate_scll = arg_s_mtrldef.rate_scll[1]
  825. ld_rate_sale = arg_s_mtrldef.rate_sale[1]
  826. li_wfjgdec = arg_s_mtrldef.wfjgdec[1]
  827. END IF
  828. IF li_wfjgunit = 0 THEN
  829. ls_unit = s_inscust8.unit[ls_j]
  830. ld_rate = 1
  831. li_dec = sys_option_unit_dec
  832. ELSEIF li_wfjgunit = 1 THEN
  833. ls_unit = ls_unit_buy
  834. ld_rate = ld_rate_buy
  835. li_dec = li_wfjgdec
  836. ELSEIF li_wfjgunit = 2 THEN
  837. ls_unit = ls_unit_scll
  838. ld_rate = ld_rate_scll
  839. li_dec = li_wfjgdec
  840. ELSEIF li_wfjgunit = 3 THEN
  841. ls_unit = ls_unit_sale
  842. ld_rate = ld_rate_sale
  843. li_dec = li_wfjgdec
  844. END IF
  845. dw_child.Object.ow_wfjgmx_out_ifrel[childrow] = 1
  846. dw_child.Object.ow_wfjgmx_out_relid[childrow] = s_inscust8.wfjgid[ls_j]
  847. dw_child.Object.ow_wfjgmx_out_mtrlid[childrow] = s_inscust8.mtrlid[ls_j]
  848. dw_child.Object.u_mtrldef_mtrlcode[childrow] = s_inscust8.mtrlcode[ls_j]
  849. dw_child.Object.ow_wfjgmx_out_relcode[childrow] = s_inscust8.taskcode[ls_j]
  850. dw_child.Object.ow_wfjgmx_out_price[childrow] = s_inscust8.price[ls_j]
  851. dw_child.Object.u_mtrldef_mtrlname[childrow] = s_inscust8.mtrlname[ls_j]
  852. dw_child.Object.u_mtrldef_mtrlmode[childrow] = s_inscust8.mtrlmode[ls_j]
  853. dw_child.Object.u_mtrldef_unit[childrow] = s_inscust8.unit[ls_j]
  854. dw_child.Object.ow_wfjgmx_out_qty[childrow] = s_inscust8.qty[ls_j]
  855. dw_child.Object.ow_wfjgmx_out_uunit[childrow] = ls_unit
  856. dw_child.Object.ow_wfjgmx_out_uqty[childrow] = s_inscust8.qty[ls_j]/ld_rate
  857. dw_child.Object.ow_wfjgmx_out_rate[childrow] = ld_rate
  858. dw_child.Object.ow_wfjgmx_out_status[childrow] = s_inscust8.status[ls_j]
  859. dw_child.Object.ow_wfjgmx_out_fprice[childrow] = s_inscust8.price[ls_j]
  860. dw_child.Object.ow_wfjgmx_out_woodcode[childrow] = s_inscust8.woodcode[ls_j]
  861. dw_child.Object.ow_wfjgmx_out_printid[childrow] = s_inscust8.printid[ls_j]
  862. dw_child.Object.ow_wfjgmx_out_storageid[childrow] = s_inscust8.storageid[ls_j]
  863. dw_child.Object.u_mtrldef_mtrlsectype[childrow] = s_inscust8.mtrlsectype[ls_j]
  864. dw_child.Object.u_mtrldef_zxmtrlmode[childrow] = s_inscust8.zxmtrlmode[ls_j]
  865. dw_child.Object.ow_wfjgmx_out_mxdscrp[childrow] = s_inscust8.dscrp[ls_j]
  866. dw_child.Object.ow_wfjgmx_out_mxdscrp2[childrow] = s_inscust8.dscrp2[ls_j]
  867. END IF
  868. NEXT
  869. this.triggerevent('ue_allowedit')
  870. dw_child.SetColumn('ow_wfjgmx_out_qty')
  871. dw_child.SetRedraw(TRUE)
  872. END IF
  873. THIS.Enabled = TRUE
  874. END IF
  875. end event
  876. event ue_f10;call super::ue_f10;//用于选择明细内容,被F10[默认]
  877. if not dw_edit_mode then return
  878. long uc_row
  879. uc_row=dw_pageretr.getrow()
  880. if uc_row=0 then
  881. messagebox('提示','请选定出仓单!',information!,OK!)
  882. return
  883. end if
  884. dw_pageretr.accepttext()
  885. this.enabled = false
  886. if not isvalid(W_spt_edit) then
  887. s_edit_index_tran s_ch_tran //传递参数使用
  888. s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  889. s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  890. s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  891. //查询列(物料编码)部分内容,用于初步筛选
  892. s_ch_tran.arg_string_code=upper(trim(dw_pageretr.object.u_spt_code[dw_pageretr.getrow()]))
  893. OPENwithparm(W_spt_edit,s_ch_tran) //调用
  894. S_spt S_INSCUST
  895. S_INSCUST=Message.PowerObjectParm //接受返回结构
  896. IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值
  897. dw_pageretr.setredraw(false)
  898. dw_pageretr.object.ow_wfjg_out_sptid[uc_row]=S_INSCUST.sptid
  899. dw_pageretr.object.u_spt_name[uc_row]=S_INSCUST.name
  900. dw_pageretr.object.u_spt_code[uc_row]=S_INSCUST.sptcode
  901. dw_pageretr.setredraw(true)
  902. dw_pageretr.setcolumn("ow_wfjg_out_outdate")
  903. END IF
  904. end if
  905. this.enabled = true
  906. end event
  907. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  908. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  909. return
  910. END IF
  911. IF NOT f_power_ind(803) THEN
  912. MessageBox('提示','你没有使用权限!',information!,OK!)
  913. RETURN
  914. END IF
  915. string arg_msg='',LS_STR
  916. long uc_row
  917. s_inputbox S_SREU
  918. uc_row=dw_pageretr.getrow()
  919. if uc_row<=0 then
  920. messagebox('提示','请选定当前目标单据!',information!,OK!)
  921. return
  922. end if
  923. S_SREU.TITLE='请输入要补充到备注的内容'
  924. S_SREU.OLD_TEXT=''
  925. openwithparm(w_inputbox,S_SREU)
  926. LS_STR=Message.StringParm
  927. if trim(LS_STR)='' or isnull(LS_STR) then return
  928. if uo_ware.add_dscrp(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row],LS_STR,arg_msg)=0 then
  929. messagebox('错误',arg_msg,stopsign!,OK!)
  930. return
  931. else
  932. messagebox('提示','添加备注操作成功!',information!,OK!)
  933. wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row])
  934. end if
  935. end event
  936. event ue_f9;call super::ue_f9;//用于选择明细内容,被F10[默认]
  937. IF Not dw_edit_mode THEN RETURN
  938. Long uc_row
  939. uc_row = dw_pageretr.GetRow()
  940. IF uc_row = 0 THEN
  941. MessageBox('提示','请选定出仓单!',information!,OK!)
  942. RETURN
  943. END IF
  944. dw_uc.AcceptText()
  945. This.Enabled = False
  946. IF Not IsValid(W_spt_edit) THEN
  947. s_edit_index_tran s_ch_tran //传递参数使用
  948. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  949. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  950. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  951. //查询列(物料编码)部分内容,用于初步筛选
  952. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_code[dw_uc.GetRow()]))
  953. OpenWithParm(W_spt_edit,s_ch_tran) //调用
  954. S_spt S_INSCUST
  955. S_INSCUST = Message.PowerObjectParm //接受返回结构
  956. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  957. //重置dw_child
  958. wf_change_sptid(S_INSCUST.sptid)
  959. dw_uc.SetRedraw(False)
  960. dw_uc.Object.ow_wfjg_out_sptid[uc_row] = S_INSCUST.sptid
  961. dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name
  962. dw_uc.Object.u_spt_code[uc_row] = S_INSCUST.sptcode
  963. dw_uc.SetRedraw(True)
  964. dw_uc.SetColumn("ow_wfjg_out_outdate")
  965. END IF
  966. END IF
  967. This.Enabled = True
  968. end event
  969. event ue_f6;call super::ue_f6;IF NOT dw_edit_mode THEN RETURN
  970. Long ls_mtrlid
  971. s_unit s_inscust
  972. IF sys_option_2unit <> 0 THEN
  973. s_edit_index_tran s_tran_unit
  974. IF sys_option_2unit_ch = 1 THEN
  975. IF NOT IsValid(w_unit_ch) THEN
  976. IF dw_child.GetRow() < 1 THEN RETURN
  977. ls_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[dw_child.GetRow()]
  978. OpenWithParm(w_unit_ch,ls_mtrlid)
  979. s_inscust = Message.PowerObjectParm //接受返回结构
  980. IF s_inscust.unit <> '' THEN
  981. dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit
  982. dw_child.Object.ow_wfjgmx_out_rate[dw_child.GetRow()] = s_inscust.rate
  983. IF s_inscust.ReturnType = 0 THEN
  984. IF dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] > 0 THEN
  985. dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] = Round(s_inscust.rate * dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()],sys_option_unit_dec)
  986. END IF
  987. ELSE
  988. IF s_inscust.rate > 0 THEN
  989. dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] = Round(dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] / s_inscust.rate , sys_option_unit_dec )
  990. END IF
  991. END IF
  992. dw_child.SetColumn( 'ow_wfjgmx_out_qty')
  993. END IF
  994. END IF
  995. ELSE
  996. IF NOT IsValid(w_unit_def_ch) THEN
  997. IF dw_child.GetRow() < 1 THEN RETURN
  998. Open(w_unit_def_ch)
  999. s_inscust = Message.PowerObjectParm //接受返回结构
  1000. IF s_inscust.unit <> '' THEN
  1001. dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit
  1002. dw_child.SetColumn( 'ow_wfjgmx_out_qty')
  1003. END IF
  1004. END IF
  1005. END IF
  1006. ELSE
  1007. IF NOT IsValid(w_unit_ch) THEN
  1008. IF dw_child.GetRow() < 1 THEN RETURN
  1009. dw_child.AcceptText()
  1010. ls_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[dw_child.GetRow()]
  1011. OpenWithParm(w_unit_ch,ls_mtrlid)
  1012. s_inscust = Message.PowerObjectParm //接受返回结构
  1013. IF s_inscust.unit <> '' THEN
  1014. dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit
  1015. dw_child.Object.ow_wfjgmx_out_rate[dw_child.GetRow()] = s_inscust.rate
  1016. IF s_inscust.ReturnType = 0 THEN
  1017. IF dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] <> 0 THEN
  1018. dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] = Round(s_inscust.rate * dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()],sys_option_unit_dec)
  1019. END IF
  1020. ELSE
  1021. IF s_inscust.rate > 0 THEN
  1022. dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] = Round(dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] / s_inscust.rate , sys_option_unit_dec )
  1023. END IF
  1024. END IF
  1025. dw_child.SetColumn( 'ow_wfjgmx_out_qty')
  1026. END IF
  1027. END IF
  1028. END IF
  1029. end event
  1030. event ue_print;call super::ue_print;if not f_power_ind(738) then
  1031. messagebox('提示','你没有使用权限!',information!,OK!)
  1032. return
  1033. end if
  1034. uo_print_preview uo_print
  1035. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1036. lONG LS_ROW
  1037. LS_ROW=dw_pageretr.getrow()
  1038. IF LS_ROW<=0 THEN
  1039. MESSAGEBOX('提示','没有打印目标单据!',information!,OK!)
  1040. RETURN
  1041. END IF
  1042. S_print_MSG LS_PRMSG
  1043. IF ls_newname <> '' THEN
  1044. IF li_auditprint = 1 THEN
  1045. IF dw_pageretr.Object.ow_wfjg_out_flag[dw_pageretr.GetRow()] = 0 THEN
  1046. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1047. RETURN
  1048. END IF
  1049. END IF
  1050. ls_prmsg.obj_dwNAME = ls_newname
  1051. ELSE
  1052. ls_prmsg.obj_dwNAME = 'dw_rp_wfjg_out_th_edit'
  1053. END IF
  1054. LS_PRMSG.TAG_TEXT='外协退回单'
  1055. LS_PRMSG.FILTER_STRING = ''
  1056. LS_PRMSG.retr_pram_falg=15
  1057. LS_PRMSG.PAGECH_FLAG=0
  1058. LS_PRMSG.retr_scid=dw_pageretr.object.ow_wfjg_out_scid[LS_ROW]
  1059. LS_PRMSG.retr_pramnmb=dw_pageretr.object.ow_wfjg_out_outwareid[LS_ROW]
  1060. LS_PRMSG.rowcnt = dw_child.RowCount()
  1061. IF ifpic = 1 THEN
  1062. String ls_msg
  1063. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1064. MessageBox('提示','下载图片失败!',information!,OK!)
  1065. RETURN
  1066. END IF
  1067. END IF
  1068. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1069. string arg_msg
  1070. if uo_print.uof_print_begin(arg_msg)=0 then
  1071. messagebox("错误",arg_msg,stopsign!,OK!)
  1072. return
  1073. end if
  1074. uo_print.ds_print()
  1075. IF ifpic = 1 THEN
  1076. Long li
  1077. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1078. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1079. FileDelete(LS_PRMSG.s_pic.path[li])
  1080. END IF
  1081. NEXT
  1082. END IF
  1083. //**更新打印次料
  1084. printnum = message.doubleparm
  1085. f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.object.ow_wfjg_out_scid[LS_ROW],dw_pageretr.object.ow_wfjg_out_outwareid[LS_ROW],'','',arg_msg,true)
  1086. end event
  1087. event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(738) THEN
  1088. MessageBox('提示','你没有使用权限!',information!,OK!)
  1089. RETURN
  1090. END IF
  1091. Long LS_ROW
  1092. LS_ROW = dw_pageretr.GetRow()
  1093. IF LS_ROW <= 0 THEN
  1094. MessageBox('提示','没有打印目标单据!',information!,OK!)
  1095. RETURN
  1096. END IF
  1097. S_print_MSG LS_PRMSG
  1098. IF ls_newname <> '' THEN
  1099. IF li_auditprint = 1 THEN
  1100. IF dw_pageretr.Object.ow_wfjg_out_flag[dw_pageretr.GetRow()] = 0 THEN
  1101. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1102. RETURN
  1103. END IF
  1104. END IF
  1105. LS_PRMSG.obj_dwNAME = ls_newname
  1106. ELSE
  1107. LS_PRMSG.obj_dwNAME = 'dw_rp_wfjg_out_th_edit'
  1108. END IF
  1109. LS_PRMSG.TAG_TEXT = '外协退回单'
  1110. LS_PRMSG.FILTER_STRING = ''
  1111. LS_PRMSG.retr_pram_falg = 15
  1112. LS_PRMSG.PAGECH_FLAG = 0
  1113. LS_PRMSG.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW]
  1114. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW]
  1115. LS_PRMSG.rowcnt = dw_child.rowcount()
  1116. IF ifpic = 1 THEN
  1117. String ls_msg
  1118. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1119. MessageBox('提示','下载图片失败!',information!,OK!)
  1120. RETURN
  1121. END IF
  1122. END IF
  1123. OpenWithParm(w_publ_preview,LS_PRMSG)
  1124. IF ifpic = 1 THEN
  1125. Long li
  1126. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1127. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1128. FileDelete(LS_PRMSG.s_pic.path[li])
  1129. END IF
  1130. NEXT
  1131. END IF
  1132. //**更新打印次料
  1133. String arg_msg
  1134. printnum = Message.DoubleParm
  1135. f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW],dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW],'','',arg_msg,TRUE)
  1136. end event
  1137. type cb_func from w_publ_1ton_share_detail`cb_func within w_wfjg_out_th
  1138. end type
  1139. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_wfjg_out_th
  1140. end type
  1141. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_wfjg_out_th
  1142. integer x = 187
  1143. integer y = 188
  1144. integer width = 549
  1145. end type
  1146. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_wfjg_out_th
  1147. integer x = 3054
  1148. end type
  1149. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_wfjg_out_th
  1150. integer x = 2725
  1151. integer y = 56
  1152. integer width = 320
  1153. end type
  1154. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_wfjg_out_th
  1155. integer x = 1993
  1156. integer y = 296
  1157. integer width = 1531
  1158. integer height = 844
  1159. string dataobject = "dw_wfjg_py_th_index"
  1160. end type
  1161. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1162. wf_check_billfj()
  1163. end event
  1164. type st_1 from w_publ_1ton_share_detail`st_1 within w_wfjg_out_th
  1165. integer x = 5
  1166. integer y = 208
  1167. end type
  1168. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_wfjg_out_th
  1169. integer x = 3205
  1170. end type
  1171. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_wfjg_out_th
  1172. integer x = 5
  1173. integer y = 296
  1174. integer width = 1989
  1175. integer height = 844
  1176. string dataobject = "dw_wfjg_py_th_edit"
  1177. end type
  1178. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  1179. IF Key = KeyDownArrow! THEN RETURN 1
  1180. IF dw_edit_mode THEN
  1181. IF dw_uc.GetColumnName ( ) = 'ow_wfjg_out_dscrp' AND Key = KeyEnter! THEN
  1182. dw_child.SetFocus()
  1183. dw_child.ScrollToRow(1)
  1184. dw_child.SetColumn ('ow_wfjgmx_out_ifrel')
  1185. RETURN 1
  1186. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_code' AND Key = KeyEnter! THEN
  1187. String ls_code,ls_name,ls_find_code
  1188. Long ls_sptid
  1189. Long cnt = 0
  1190. Boolean if_find = FALSE
  1191. dw_uc.AcceptText()
  1192. ls_code = Upper(Trim(dw_uc.Object.u_spt_code[dw_uc.GetRow()]))
  1193. SELECT u_spt.sptid,
  1194. u_spt.name,
  1195. u_spt.sptcode
  1196. INTO :ls_sptid,:ls_name,:ls_code
  1197. FROM u_spt
  1198. Where ( sptcode = :ls_code OR Name = :ls_code );
  1199. IF sqlca.SQLCode <> 0 THEN
  1200. IF Pos(Trim(ls_code),'%') = 0 THEN
  1201. ls_find_code = '%'+ Trim(ls_code) + '%'
  1202. ELSE
  1203. ls_find_code = Trim(ls_code)
  1204. END IF
  1205. SELECT count(*) INTO :cnt
  1206. FROM u_spt
  1207. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  1208. IF sqlca.SQLCode <> 0 THEN
  1209. PARENT.TriggerEvent('ue_f9')
  1210. RETURN 1
  1211. END IF
  1212. IF cnt <> 1 THEN
  1213. PARENT.TriggerEvent('ue_f9')
  1214. RETURN 1
  1215. ELSE
  1216. SELECT u_spt.sptid,
  1217. u_spt.sptcode,
  1218. u_spt.name
  1219. INTO :ls_sptid,:ls_code,:ls_name
  1220. FROM u_spt
  1221. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  1222. IF sqlca.SQLCode <> 0 THEN
  1223. PARENT.TriggerEvent('ue_f9')
  1224. RETURN 1
  1225. ELSE
  1226. if_find = TRUE
  1227. END IF
  1228. END IF
  1229. ELSE
  1230. if_find = TRUE
  1231. END IF
  1232. IF if_find THEN
  1233. //重置dw_child
  1234. wf_change_sptid(ls_sptid)
  1235. dw_uc.SetRedraw(FALSE)
  1236. dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()] = ls_sptid
  1237. dw_uc.Object.u_spt_code[dw_uc.GetRow()] = ls_code
  1238. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  1239. dw_uc.SetRedraw(TRUE)
  1240. dw_uc.SetColumn("ow_wfjg_out_outdate")
  1241. RETURN 1
  1242. END IF
  1243. ELSE
  1244. IF Key = KeyEnter! THEN //
  1245. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1246. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1247. RETURN 1
  1248. END IF
  1249. END IF
  1250. END IF
  1251. end event
  1252. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1253. IF dwo.Name = 'u_outware_storageid' THEN
  1254. dw_child.Reset()
  1255. PARENT.TriggerEvent("insert_childrow")
  1256. END IF
  1257. end event
  1258. event dw_uc::clicked;call super::clicked;if not dw_edit_mode then return
  1259. if row <= 0 then return
  1260. if dwo.name='p_p' then
  1261. parent.TRIGGEREVENT('ue_f9')
  1262. end if
  1263. end event
  1264. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_wfjg_out_th
  1265. end type
  1266. type dw_child from w_publ_1ton_share_detail`dw_child within w_wfjg_out_th
  1267. integer y = 1148
  1268. integer width = 3525
  1269. integer height = 1000
  1270. string dataobject = "dw_wfjgmx_py_th_edit"
  1271. end type
  1272. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1273. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
  1274. String ls_plancode,ls_status,ls_woodcode,ls_pcode
  1275. Long ls_mtrlid,ls_orderid
  1276. Dec ls_cost,ls_planprice,ls_lmbuyprice
  1277. string ls_mtrlsectype
  1278. string ls_zxmtrlmode
  1279. String ls_unit_buy,ls_unit_scll,ls_unit_sale
  1280. Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale
  1281. Int li_wfjgunit,li_wfjgdec
  1282. long ld_rate,li_dec
  1283. s_mtrldef_array arg_s_mtrldef
  1284. Long child_row
  1285. Long ls_null
  1286. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  1287. SetNull(ls_null)
  1288. Long ls_sptid
  1289. IF dw_edit_mode THEN
  1290. dw_uc.AcceptText()
  1291. dw_child.AcceptText()
  1292. child_row = dw_child.GetRow()
  1293. ls_orderid = dw_child.Object.ow_wfjgmx_out_relid[child_row]
  1294. ls_sptid = dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()]
  1295. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1296. THIS.TriggerEvent("ue_f10")
  1297. END IF
  1298. IF KeyDown(Keydownarrow!) THEN
  1299. Long li_row
  1300. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1301. PARENT.TriggerEvent("insert_childrow")
  1302. END IF
  1303. ELSE
  1304. IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  1305. IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN
  1306. dw_child.AcceptText()
  1307. child_row = dw_child.GetRow()
  1308. IF dw_child.Object.ow_wfjgmx_out_ifrel[child_row] = 1 THEN
  1309. PARENT.TriggerEvent('ue_f8')
  1310. RETURN 1
  1311. END IF
  1312. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  1313. IF f_find_mtrl(ls_mtrlcode, -1,arg_s_mtrldef) = 0 THEN
  1314. PARENT.TriggerEvent('ue_f8')
  1315. RETURN 1
  1316. ELSE
  1317. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1318. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1319. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1320. ls_unit = arg_s_mtrldef.unit[1]
  1321. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1322. ls_planprice = arg_s_mtrldef.planprice[1]
  1323. ls_lmbuyprice = arg_s_mtrldef.lmbuyprice[1]
  1324. ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1]
  1325. ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1]
  1326. li_statusflag = arg_s_mtrldef.statusflag[1]
  1327. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1328. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1329. li_wfjgunit = arg_s_mtrldef.wfjgunit[1]
  1330. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  1331. ls_unit_scll = arg_s_mtrldef.unit_scll[1]
  1332. ls_unit_sale = arg_s_mtrldef.unit_sale[1]
  1333. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  1334. ld_rate_scll = arg_s_mtrldef.rate_scll[1]
  1335. ld_rate_sale = arg_s_mtrldef.rate_sale[1]
  1336. li_wfjgdec = arg_s_mtrldef.wfjgdec[1]
  1337. END IF
  1338. IF li_wfjgunit = 0 THEN
  1339. ls_unit = ls_unit
  1340. ld_rate = 1
  1341. li_dec = sys_option_unit_dec
  1342. ELSEIF li_wfjgunit = 1 THEN
  1343. ls_unit = ls_unit_buy
  1344. ld_rate = ld_rate_buy
  1345. li_dec = li_wfjgdec
  1346. ELSEIF li_wfjgunit = 2 THEN
  1347. ls_unit = ls_unit_scll
  1348. ld_rate = ld_rate_scll
  1349. li_dec = li_wfjgdec
  1350. ELSEIF li_wfjgunit = 3 THEN
  1351. ls_unit = ls_unit_sale
  1352. ld_rate = ld_rate_sale
  1353. li_dec = li_wfjgdec
  1354. END IF
  1355. //dw_child.Object.ow_wfjgmx_out_mtrlwareid[child_row] = ls_mtrlwareid
  1356. dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] = ls_mtrlid
  1357. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1358. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1359. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1360. dw_child.Object.ow_wfjgmx_out_qty[child_row] = 0
  1361. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1362. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1363. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1364. dw_child.Object.ow_wfjgmx_out_uunit[child_row] = ls_unit
  1365. dw_child.Object.ow_wfjgmx_out_rate[child_row] = ld_rate
  1366. IF dw_child.Object.ow_wfjgmx_out_uunit[child_row] = '' OR sys_option_2unit = 0 THEN
  1367. dw_child.Object.ow_wfjgmx_out_uunit[child_row] = ls_unit
  1368. dw_child.Object.ow_wfjgmx_out_rate[child_row] = 1
  1369. END IF
  1370. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  1371. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  1372. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  1373. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  1374. String arg_msg
  1375. IF cur_editfocus = 1 THEN
  1376. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_unit,'','','',0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  1377. IF ls_planprice = 0 THEN
  1378. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = ls_lmbuyprice
  1379. ELSE
  1380. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = ls_planprice
  1381. END IF
  1382. ELSE
  1383. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = ls_1stnewcost
  1384. dw_child.object.ow_wfjgmx_out_rebate[child_row] = ls_1stzqrate
  1385. END IF
  1386. END IF
  1387. parent.triggerevent('ue_allowedit')
  1388. IF Key = KeyEnter! THEN //
  1389. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1390. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1391. RETURN 1
  1392. END IF
  1393. ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_rate' THEN
  1394. dw_child.AcceptText()
  1395. child_row = dw_child.GetRow()
  1396. dw_child.Object.ow_wfjgmx_out_qty[child_row] = dw_child.Object.ow_wfjgmx_out_uqty[child_row] * dw_child.Object.ow_wfjgmx_out_rate[child_row]
  1397. IF Key = KeyEnter! THEN //
  1398. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1399. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1400. RETURN 1
  1401. END IF
  1402. ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_uqty' THEN
  1403. dw_child.AcceptText()
  1404. child_row = dw_child.GetRow()
  1405. dw_child.Object.ow_wfjgmx_out_qty[child_row] = dw_child.Object.ow_wfjgmx_out_uqty[child_row] * dw_child.Object.ow_wfjgmx_out_rate[child_row]
  1406. IF Key = KeyEnter! THEN //
  1407. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1408. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1409. RETURN 1
  1410. END IF
  1411. ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1412. PARENT.TriggerEvent("insert_childrow")
  1413. RETURN 1
  1414. ELSE
  1415. IF Key = KeyEnter! THEN //
  1416. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1417. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1418. RETURN 1
  1419. END IF
  1420. END IF
  1421. END IF
  1422. END IF
  1423. END IF
  1424. end event
  1425. event dw_child::doubleclicked;dw_child.AcceptText()
  1426. IF dw_edit_mode AND row > 0 THEN
  1427. IF dwo.Name = 'ow_wfjgmx_out_uunit' THEN
  1428. PARENT.TriggerEvent('ue_f6')
  1429. ELSE
  1430. PARENT.TriggerEvent('ue_f8')
  1431. END IF
  1432. END IF
  1433. end event
  1434. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  1435. this.accepttext()
  1436. if dwo.name = 'ow_wfjgmx_out_uqty' and sys_option_2unit = 0 then
  1437. this.Object.ow_wfjgmx_out_qty[this.GetRow()] = Round(this.Object.ow_wfjgmx_out_rate[this.GetRow()] * this.Object.ow_wfjgmx_out_uqty[this.GetRow()],sys_option_unit_dec)
  1438. elseif dwo.name = 'ow_wfjgmx_out_qty' and sys_option_2unit = 0 and this.Object.ow_wfjgmx_out_rate[this.GetRow()]<>0 then
  1439. this.Object.ow_wfjgmx_out_uqty[this.GetRow()] = Round(this.Object.ow_wfjgmx_out_qty[this.GetRow()]/this.Object.ow_wfjgmx_out_rate[this.GetRow()] ,sys_option_unit_dec)
  1440. end if
  1441. end event
  1442. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_wfjg_out_th
  1443. end type
  1444. type cb_print from w_publ_1ton_share_detail`cb_print within w_wfjg_out_th
  1445. end type
  1446. type cb_add from w_publ_1ton_share_detail`cb_add within w_wfjg_out_th
  1447. end type
  1448. event cb_add::clicked;IF NOT f_power_ind(735) THEN
  1449. MessageBox('提示','你没有使用权限!',information!,OK!)
  1450. RETURN
  1451. END IF
  1452. String arg_msg = ''
  1453. Long uc_row,i,j
  1454. Long relid_pageretr,reld_uc
  1455. IF dw_edit_mode THEN
  1456. dw_uc.AcceptText()
  1457. dw_child.AcceptText()
  1458. uc_row = dw_uc.GetRow()
  1459. IF uc_row <= 0 THEN
  1460. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  1461. RETURN
  1462. END IF
  1463. IF NOT dw_uc.Object.ow_wfjg_out_outdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1464. MessageBox('提示','不合理发生时间',information!,OK!)
  1465. dw_uc.SetFocus()
  1466. dw_uc.SetColumn('u_outware_outdate')
  1467. RETURN
  1468. END IF
  1469. IF NOT Len(String(dw_uc.Object.ow_wfjg_out_outrep[uc_row])) > 0 THEN
  1470. MessageBox('提示','请填写经手人',information!,OK!)
  1471. dw_uc.SetFocus()
  1472. dw_uc.SetColumn('ow_wfjg_out_outrep')
  1473. RETURN
  1474. END IF
  1475. FOR j = 1 TO dw_child.RowCount()
  1476. IF dw_child.Object.ow_wfjgmx_out_qty[j] = 0 THEN CONTINUE
  1477. IF NOT f_power_ind(125) AND dw_child.Object.ow_wfjgmx_out_ifrel[j] = 1 AND dw_child.Object.ow_wfjgmx_out_relid[j] = 0 THEN
  1478. MessageBox('提示','用户权限限制,请选择外协订单,第'+string(j)+'行',information!,OK!)
  1479. RETURN
  1480. END IF
  1481. IF NOT f_power_ind(125) AND dw_child.Object.ow_wfjgmx_out_ifrel[j] = 0 AND dw_child.Object.ow_wfjgmx_out_qty[j] > 0 THEN
  1482. MessageBox('提示','用户权限限制,请选择外协订单,第'+string(j)+'行',information!,OK!)
  1483. RETURN
  1484. END IF
  1485. IF dw_child.Object.ow_wfjgmx_out_mtrlid[j] > 0 AND dw_child.Object.ow_wfjgmx_out_qty[j] > 0 THEN
  1486. dw_child.Object.ow_wfjgmx_out_qty[j] = 0 - dw_child.Object.ow_wfjgmx_out_qty[j]
  1487. END IF
  1488. IF dw_child.Object.ow_wfjgmx_out_mtrlid[j] > 0 AND dw_child.Object.ow_wfjgmx_out_uqty[j] > 0 THEN
  1489. dw_child.Object.ow_wfjgmx_out_uqty[j] = 0 - dw_child.Object.ow_wfjgmx_out_uqty[j]
  1490. END IF
  1491. NEXT
  1492. long cnt
  1493. IF sys_option_2unit_ch = 1 THEN
  1494. cnt = 0
  1495. FOR i = 1 TO dw_child.RowCount()
  1496. IF dw_child.Object.ow_wfjgmx_out_rate[i] > 0 THEN
  1497. IF dw_child.Object.ow_wfjgmx_out_qty[i] <> dw_child.Object.ow_wfjgmx_out_rate[i] * dw_child.Object.ow_wfjgmx_out_uqty[i] THEN
  1498. cnt++
  1499. arg_msg = arg_msg + '第'+String(i)+'行,库存单位数量:'+String(dw_child.Object.ow_wfjgmx_out_qty[i],'#,##0.##########')+'计价单位数量:'+String(dw_child.Object.ow_wfjgmx_out_uqty[i],'#,##0.##########')+',转换率:'+String(dw_child.Object.ow_wfjgmx_out_rate[i],'#,##0.00##')+'~r~n'
  1500. END IF
  1501. END IF
  1502. NEXT
  1503. IF cnt > 0 THEN
  1504. IF MessageBox('询问',arg_msg + '以上内容计价单位数量与库存单位数量不符合转换率,是否继续保存?',question!,yesno! ) = 2 THEN RETURN
  1505. END IF
  1506. END IF
  1507. uo_ware.outdate = dw_uc.Object.ow_wfjg_out_outdate[uc_row]
  1508. uo_ware.outrep = dw_uc.Object.ow_wfjg_out_outrep[uc_row]
  1509. uo_ware.dscrp = dw_uc.Object.ow_wfjg_out_dscrp[uc_row]
  1510. uo_ware.sptid = dw_uc.Object.ow_wfjg_out_sptid[uc_row]
  1511. uo_ware.part = dw_uc.Object.ow_wfjg_out_part[uc_row]
  1512. uo_ware.thflag = 1
  1513. FOR i = 1 TO dw_child.RowCount()
  1514. IF dw_child.Object.ow_wfjgmx_out_mtrlid[i] > 0 THEN
  1515. IF uo_ware.acceptmx(dw_child.Object.ow_wfjgmx_out_mtrlwareid[i],&
  1516. dw_child.Object.ow_wfjgmx_out_uqty[i],&
  1517. dw_child.Object.ow_wfjgmx_out_uunit[i],&
  1518. dw_child.Object.ow_wfjgmx_out_qty[i],&
  1519. dw_child.Object.ow_wfjgmx_out_mxdscrp[i],&
  1520. dw_child.Object.printid[i],&
  1521. arg_msg,&
  1522. dw_child.Object.ow_wfjgmx_out_ifrel[i],&
  1523. dw_child.Object.ow_wfjgmx_out_relid[i],&
  1524. 0,&
  1525. dw_child.Object.ow_wfjgmx_out_mtrlid[i],&
  1526. dw_child.Object.ow_wfjgmx_out_storageid[i],&
  1527. 0,&
  1528. dw_child.Object.ow_wfjgmx_out_plancode[i],&
  1529. dw_child.Object.u_mtrldef_mtrlcode[i],&
  1530. dw_child.Object.ow_wfjgmx_out_status[i],&
  1531. dw_child.Object.ow_wfjgmx_out_woodcode[i],&
  1532. dw_child.Object.ow_wfjgmx_out_pcode[i],&
  1533. dw_child.Object.ow_wfjgmx_out_fprice[i],&
  1534. dw_child.Object.ow_wfjgmx_out_rebate[i],&
  1535. 0,&
  1536. dw_child.Object.ow_wfjgmx_out_rate[i],&
  1537. dw_child.Object.ow_wfjgmx_out_jgdscrp[i],&
  1538. dw_child.Object.ow_wfjgmx_out_mxdscrp2[i]) = 0 THEN
  1539. MessageBox('错误',arg_msg,stopsign!,OK!)
  1540. RETURN
  1541. END IF
  1542. END IF
  1543. NEXT
  1544. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  1545. MessageBox('错误',arg_msg,stopsign!,OK!)
  1546. RETURN
  1547. END IF
  1548. // MessageBox(publ_operator,'保存操作成功!')
  1549. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_outrep", String(dw_uc.Object.ow_wfjg_out_outrep[dw_uc.GetRow()]))
  1550. Long ll_row
  1551. ll_row = dw_pageretr.GetRow()
  1552. dw_pageretr.SelectRow(0,FALSE)
  1553. dw_pageretr.SelectRow(ll_row,TRUE)
  1554. wf_refresh_curuc(cur_scid,uo_ware.outwareid)
  1555. ELSE
  1556. IF uo_ware.newbegin(cur_scid,5,arg_msg) = 0 THEN
  1557. MessageBox('错误',arg_msg,stopsign!,OK!)
  1558. RETURN
  1559. END IF
  1560. END IF
  1561. CALL SUPER::Clicked
  1562. //read ini
  1563. IF dw_edit_mode THEN
  1564. PARENT.TriggerEvent("insert_childrow")
  1565. dw_uc.SetRedraw(FALSE)
  1566. String ls_outrep
  1567. ls_outrep = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_outrep",'')
  1568. dw_uc.Object.ow_wfjg_out_outrep[dw_uc.GetRow()] = ls_outrep
  1569. dw_uc.SetColumn("u_spt_code")
  1570. dw_uc.SetRedraw(TRUE)
  1571. cur_editfocus = 1
  1572. ELSE
  1573. PARENT.TriggerEvent("retrieve_childdw")
  1574. END IF
  1575. //
  1576. end event
  1577. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_wfjg_out_th
  1578. end type
  1579. event cb_edit::clicked;IF NOT f_power_ind(735) THEN
  1580. MessageBox('提示','你没有使用权限!',information!,OK!)
  1581. RETURN
  1582. END IF
  1583. string arg_msg=''
  1584. long uc_row
  1585. uc_row=dw_pageretr.getrow()
  1586. if uc_row<=0 then
  1587. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1588. return
  1589. end if
  1590. if not dw_edit_mode then
  1591. if uo_ware.updatebegin(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row],5,arg_msg)=0 then
  1592. messagebox('错误',arg_msg,information!,OK!)
  1593. return
  1594. end if
  1595. end if
  1596. call super::clicked
  1597. parent.triggerevent('ue_allowedit')
  1598. if dw_edit_mode then
  1599. cur_editfocus = 2
  1600. else
  1601. cur_editfocus = 0
  1602. end if
  1603. end event
  1604. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_wfjg_out_th
  1605. end type
  1606. event cb_delet::clicked;IF NOT f_power_ind(737) THEN
  1607. MessageBox('提示','你没有使用权限!',information!,OK!)
  1608. RETURN
  1609. END IF
  1610. if dw_edit_mode then return
  1611. string arg_msg=''
  1612. long uc_row
  1613. uc_row=dw_pageretr.getrow()
  1614. if uc_row<=0 then
  1615. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1616. return
  1617. end if
  1618. IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1619. if uo_ware.del(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row],arg_msg,true)=0 then
  1620. messagebox('错误',arg_msg,stopsign!,OK!)
  1621. ELSE
  1622. //日志
  1623. long ls_id
  1624. string ls_code
  1625. ls_id=dw_pageretr.object.ow_wfjg_out_outwareid[uc_row]
  1626. ls_code=dw_pageretr.object.ow_wfjg_out_outwarecode[uc_row]
  1627. f_setsysoplog('车间外协退回单','删除,ID:'+string(LS_id)+',code:'+ls_code,arg_msg,true)
  1628. //--
  1629. MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.ow_wfjg_out_outwarecode[uc_row])+'成功!',information!,OK!)
  1630. dw_pageretr.deleterow(uc_row)
  1631. dw_pageretr.postevent(rowfocuschanged!)
  1632. end if
  1633. end event
  1634. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_wfjg_out_th
  1635. end type
  1636. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1637. string menustr
  1638. menustr="Text=增加备注~tEvent=ue_addzy"
  1639. menustr=menustr + "|" + "Text=-"
  1640. menustr=menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  1641. menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  1642. menustr = menustr + "|" + "Text=-"
  1643. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1644. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1645. if len(trim(menustr))<>0 then
  1646. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1647. dmPopupMenu.mf_BuildMenu(This, menustr)
  1648. dmPopupMenu.mf_PopMenu()
  1649. Destroy dmPopupMenu
  1650. end if
  1651. end event
  1652. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_wfjg_out_th
  1653. end type
  1654. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(736) THEN
  1655. MessageBox('提示','你没有使用权限!',information!,OK!)
  1656. RETURN
  1657. END IF
  1658. if dw_edit_mode then return
  1659. string arg_msg=''
  1660. long pagerert_row
  1661. pagerert_row=dw_pageretr.getrow()
  1662. if pagerert_row<=0 then
  1663. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1664. return
  1665. end if
  1666. IF MessageBox ("询问","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1667. if uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row],arg_msg)=0 then
  1668. messagebox('错误',arg_msg,stopsign!,OK!)
  1669. return
  1670. end if
  1671. if uo_ware.auditing(true,arg_msg)=0 then
  1672. messagebox('错误',arg_msg,stopsign!,OK!)
  1673. ELSE
  1674. messagebox('提示','审核成功!',information!,OK!)
  1675. wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row])
  1676. end if
  1677. end event
  1678. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_wfjg_out_th
  1679. end type
  1680. event cb_xm::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1681. String menustr
  1682. menustr = "Text=增明细~tEvent=ue_addmx"
  1683. menustr = menustr + "|" + "Text=删明细~tEvent=ue_deletemx"
  1684. menustr = menustr + "|" + "Text=-"
  1685. menustr = menustr + "|" + "Text=按转换率计算库存数量~tEvent=ue_cmp_qty"
  1686. menustr = menustr + "|" + "Text=按转换率计算计价数量~tEvent=ue_cmp_uqty"
  1687. IF Trim(is_mx_menustr) <> '' THEN
  1688. menustr = menustr + "|" + "Text=-"
  1689. menustr = menustr + is_mx_menustr
  1690. END IF
  1691. if if_MtrlPicView then
  1692. if Trim(menustr) <> "" then
  1693. menustr = menustr + "|" + "Text=-"
  1694. menustr = menustr + "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  1695. else
  1696. menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  1697. end if
  1698. end if
  1699. IF Len(Trim(menustr)) <> 0 THEN
  1700. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1701. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1702. dmPopupMenu.mf_PopMenu()
  1703. DESTROY dmPopupMenu
  1704. END IF
  1705. end event
  1706. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_wfjg_out_th
  1707. end type
  1708. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_wfjg_out_th
  1709. end type
  1710. type cb_help from w_publ_1ton_share_detail`cb_help within w_wfjg_out_th
  1711. end type
  1712. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_wfjg_out_th
  1713. end type
  1714. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(898) THEN
  1715. MessageBox('提示','你没有使用权限!',information!,OK!)
  1716. RETURN
  1717. END IF
  1718. if dw_edit_mode then return
  1719. string arg_msg=''
  1720. long pagerert_row
  1721. pagerert_row=dw_pageretr.getrow()
  1722. if pagerert_row<=0 then
  1723. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1724. return
  1725. end if
  1726. IF MessageBox ("询问","是否确定要撤消审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1727. if uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row],arg_msg)=0 then
  1728. messagebox('错误',arg_msg,stopsign!,OK!)
  1729. return
  1730. end if
  1731. if uo_ware.c_auditing(true,arg_msg)=0 then
  1732. messagebox('错误',arg_msg,stopsign!,OK!)
  1733. ELSE
  1734. messagebox('提示','撤消审核成功!',information!,OK!)
  1735. //日志
  1736. String ls_code,ls_opemp,ls_outpart
  1737. ls_code = dw_pageretr.Object.ow_wfjg_out_outwarecode[pagerert_row]
  1738. ls_opemp = dw_pageretr.Object.ow_wfjg_out_opemp[pagerert_row]
  1739. ls_outpart = dw_pageretr.Object.ow_wfjg_out_part[pagerert_row]
  1740. f_setsysoplog('车间外协退回单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  1741. //--
  1742. wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row])
  1743. end if
  1744. end event
  1745. type p_msg from w_publ_1ton_share_detail`p_msg within w_wfjg_out_th
  1746. end type
  1747. type p_help from w_publ_1ton_share_detail`p_help within w_wfjg_out_th
  1748. end type
  1749. type p_encl from w_publ_1ton_share_detail`p_encl within w_wfjg_out_th
  1750. end type
  1751. type p_other from w_publ_1ton_share_detail`p_other within w_wfjg_out_th
  1752. end type
  1753. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_wfjg_out_th
  1754. end type
  1755. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_wfjg_out_th
  1756. end type
  1757. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_wfjg_out_th
  1758. end type
  1759. type r_bar from w_publ_1ton_share_detail`r_bar within w_wfjg_out_th
  1760. end type
  1761. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_wfjg_out_th
  1762. end type
  1763. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_wfjg_out_th
  1764. end type
  1765. type ddlb_status from dropdownlistbox within w_wfjg_out_th
  1766. integer x = 1765
  1767. integer y = 192
  1768. integer width = 549
  1769. integer height = 300
  1770. integer taborder = 30
  1771. boolean bringtotop = true
  1772. integer textsize = -9
  1773. integer weight = 400
  1774. fontcharset fontcharset = gb2312charset!
  1775. fontpitch fontpitch = variable!
  1776. string facename = "宋体"
  1777. long textcolor = 33554432
  1778. string text = "[全部]"
  1779. boolean sorted = false
  1780. string item[] = {"[全部]","待审核","已审核"}
  1781. borderstyle borderstyle = stylelowered!
  1782. end type
  1783. event selectionchanged;if index=1 then
  1784. cur_flag=-1
  1785. elseif index=2 then
  1786. cur_flag= 0
  1787. elseif index=3 then
  1788. cur_flag= 1
  1789. end if
  1790. parent.triggerevent("retrieve_pageretr")
  1791. end event
  1792. type st_2 from statictext within w_wfjg_out_th
  1793. integer x = 1582
  1794. integer y = 208
  1795. integer width = 219
  1796. integer height = 48
  1797. integer textsize = -9
  1798. integer weight = 400
  1799. fontcharset fontcharset = gb2312charset!
  1800. fontpitch fontpitch = variable!
  1801. string facename = "宋体"
  1802. long textcolor = 33554432
  1803. long backcolor = 134217739
  1804. string text = "状 态"
  1805. boolean focusrectangle = false
  1806. end type
  1807. type st_3 from statictext within w_wfjg_out_th
  1808. integer x = 800
  1809. integer y = 208
  1810. integer width = 219
  1811. integer height = 48
  1812. boolean bringtotop = true
  1813. integer textsize = -9
  1814. integer weight = 400
  1815. fontcharset fontcharset = gb2312charset!
  1816. fontpitch fontpitch = variable!
  1817. string facename = "宋体"
  1818. long textcolor = 33554432
  1819. long backcolor = 134217739
  1820. string text = "分 部"
  1821. boolean focusrectangle = false
  1822. end type
  1823. type ddlb_scid from uo_ddlb_scid within w_wfjg_out_th
  1824. integer x = 983
  1825. integer y = 192
  1826. integer width = 549
  1827. integer height = 1120
  1828. boolean bringtotop = true
  1829. end type
  1830. event constructor;call super::constructor;cur_scid=this.uo_scid
  1831. end event
  1832. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1833. parent.triggerevent("retrieve_pageretr")
  1834. end event