w_outware_wfjg.srw 67 KB

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