w_wfjg_out.srw 64 KB

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