w_inware_rec.srw 69 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531
  1. $PBExportHeader$w_inware_rec.srw
  2. forward
  3. global type w_inware_rec from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_status from dropdownlistbox within w_inware_rec
  6. end type
  7. type st_2 from statictext within w_inware_rec
  8. end type
  9. type st_3 from statictext within w_inware_rec
  10. end type
  11. type ddlb_scid from uo_ddlb_scid within w_inware_rec
  12. end type
  13. end forward
  14. global type w_inware_rec from w_publ_1ton_share_detail
  15. integer width = 3621
  16. string title = "来料加工收料单"
  17. boolean maxbox = true
  18. windowstate windowstate = maximized!
  19. long dw_pageretr_w = 33835544
  20. long dw_child_h = 33938164
  21. long dw_child_w = 33939932
  22. event insert_childrow ( )
  23. event ue_fj_edit ( )
  24. event ue_fj_view ( )
  25. event ue_cmpl_status_qty ( )
  26. event ue_salerqmtrl ( )
  27. ddlb_status ddlb_status
  28. st_2 st_2
  29. st_3 st_3
  30. ddlb_scid ddlb_scid
  31. end type
  32. global w_inware_rec w_inware_rec
  33. type variables
  34. uo_inware_cp uo_ware
  35. uo_custdef uo_cust
  36. long cur_flag= -1 //-1:全部,0未审
  37. long cur_scid //分店ID
  38. long cur_scid_arr[]
  39. string ol_cdw_str = ''
  40. end variables
  41. forward prototypes
  42. public function integer wf_flagstatus_rf ()
  43. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
  44. public subroutine wf_find_cust (long arg_childrow, long arg_scid, long arg_orderid)
  45. public function integer wf_autoaddmx (long arg_scid, long arg_saletaskid, string arg_taskcode, long arg_storageid, long arg_cusid, ref string arg_msg)
  46. public function integer wf_saletaskmtrltoarr (long arg_scid, long arg_taskid, ref s_saletask_mtrl arg_s_rqmtrl, ref long arg_p_rqmtrl, ref string arg_msg)
  47. public subroutine wf_check_billfj ()
  48. 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)
  49. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  50. end prototypes
  51. event insert_childrow();long li_row
  52. li_row=dw_child.insertrow(0)
  53. dw_child.scrolltorow(li_row)
  54. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  55. end event
  56. event ue_fj_edit();IF dw_edit_mode THEN
  57. MessageBox('提示','编辑状态下不可用',information!,ok!)
  58. RETURN
  59. END IF
  60. //IF NOT f_power_ind(1098) THEN
  61. // MessageBox(publ_operator,'你没有使用权限!')
  62. // RETURN
  63. //END IF
  64. s_edit_index_tran s_pic
  65. Long ll_ConnectionID
  66. String arg_msg
  67. Long ls_row
  68. ls_row = dw_uc.GetRow()
  69. IF ls_row <= 0 THEN
  70. RETURN
  71. END IF
  72. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  73. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,ok!)
  74. RETURN
  75. END IF
  76. s_pic.f_long = 342 //销售订单的mainID
  77. s_pic.f_string = dw_uc.Object.inwarecode[ls_row]
  78. s_pic.g_long = dw_uc.Object.inwareid[ls_row]
  79. s_pic.e_long = dw_uc.Object.u_inware_scid[ls_row]
  80. s_pic.sqltransaction = sys_filedb_sqlca
  81. OpenWithParm(w_fj_bill_mng,s_pic)
  82. wf_check_billfj()
  83. end event
  84. event ue_fj_view();IF dw_edit_mode THEN
  85. MessageBox('提示','编辑状态下不可用',information!,ok!)
  86. RETURN
  87. END IF
  88. s_edit_index_tran s_pic
  89. Long ll_ConnectionID
  90. String arg_msg
  91. Long ls_row
  92. ls_row = dw_uc.GetRow()
  93. IF ls_row <= 0 THEN
  94. RETURN
  95. END IF
  96. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  97. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,ok!)
  98. RETURN
  99. END IF
  100. s_pic.f_long = 342 //销售订单的mainID
  101. s_pic.f_string = dw_uc.Object.inwarecode[ls_row]
  102. s_pic.g_long = dw_uc.Object.inwareid[ls_row]
  103. s_pic.e_long = dw_uc.Object.u_inware_scid[ls_row]
  104. s_pic.sqltransaction = sys_filedb_sqlca
  105. OpenWithParm(w_fj_bill_view,s_pic)
  106. end event
  107. event ue_cmpl_status_qty();Int ll_flag
  108. Decimal ll_value
  109. Long ll_num
  110. Long i,j,k
  111. String ls_mtrlmode
  112. String ls_status
  113. Decimal ld_qty
  114. Decimal ld_addqty
  115. String ls_msg
  116. Long ll_type
  117. s_cmpl_addqty s_cmpl
  118. dw_child.AcceptText()
  119. dw_uc.SetRedraw(FALSE)
  120. IF dw_edit_mode THEN
  121. Open(w_cmpl_status_qty_ch)
  122. s_cmpl = Message.PowerObjectParm
  123. ll_flag = s_cmpl.flag
  124. ll_value = s_cmpl.addvalue
  125. ll_num = s_cmpl.num
  126. ll_type = s_cmpl.cmptype
  127. IF ll_value <= 0 THEN RETURN
  128. IF dw_child.RowCount() <= 0 THEN RETURN
  129. FOR i = 1 TO dw_child.RowCount()
  130. ld_addqty = dw_child.Object.u_inwaremx_addqty[i]
  131. CHOOSE CASE ll_type
  132. CASE 0
  133. ls_status = dw_child.Object.u_inwaremx_status[i]
  134. CASE 1
  135. ls_status = dw_child.Object.u_inwaremx_woodcode[i]
  136. CASE 2
  137. ls_status = dw_child.Object.u_inwaremx_pcode[i]
  138. CASE 3
  139. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  140. CASE 4
  141. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  142. END CHOOSE
  143. IF ld_addqty = 0 OR ls_status = '' THEN
  144. ELSE
  145. ld_qty = 0
  146. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  147. MessageBox('错误',ls_msg,stopsign!,ok!)
  148. GOTO ext
  149. END IF
  150. IF ll_flag = 0 THEN
  151. dw_child.Object.u_inwaremx_qty[i] = Round(ld_qty * ll_value,ll_num)
  152. ELSE
  153. dw_child.Object.u_inwaremx_qty[i] = Round(ld_qty / ll_value,ll_num)
  154. END IF
  155. END IF
  156. NEXT
  157. END IF
  158. ext:
  159. dw_uc.SetRedraw(TRUE)
  160. end event
  161. event ue_salerqmtrl();//选择订单-运算物料需求,被f9[默认]\dw_child.doubleclicked调用
  162. IF Not dw_edit_mode THEN RETURN
  163. Long child_row,ins_storageid = 0
  164. Long ll_relid
  165. String arg_msg
  166. ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  167. IF ins_storageid = 0 Or IsNull(ins_storageid) THEN
  168. MessageBox('提示','请先选择仓库',information!,ok!)
  169. RETURN
  170. END IF
  171. Int li_if_cus_mtrlware
  172. Long ls_sptid
  173. SELECT balctype INTO :li_if_cus_mtrlware
  174. FROM u_storage
  175. Where storageid = :ins_storageid;
  176. IF sqlca.SQLCode <> 0 THEN
  177. li_if_cus_mtrlware = 0
  178. END IF
  179. child_row = dw_child.GetRow()
  180. IF Not IsValid(w_outware_scll_salerqmtrl_ch) THEN
  181. Long chc = 1,ls_j
  182. s_edit_index_tran s_tranf8 //传递参数使用
  183. s_tranf8.b_long = ins_storageid
  184. s_tranf8.c_long = -1 //领料组
  185. s_tranf8.d_long = 1 //来料加工
  186. OpenWithParm(w_outware_scll_salerqmtrl_ch,s_tranf8) //调用
  187. s_outware_scll_salerqmtrl_ch s_inscust
  188. s_inscust = Message.PowerObjectParm //接受返回结构
  189. FOR ls_j = 1 To UpperBound(s_inscust.mtrlwareid)
  190. IF s_inscust.mtrlwareid[ls_j] > 0 THEN
  191. IF dw_child.GetRow() > 0 THEN
  192. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  193. child_row = dw_child.InsertRow (0)
  194. ELSE
  195. child_row = dw_child.GetRow()
  196. END IF
  197. ELSE
  198. child_row = dw_child.InsertRow (0)
  199. END IF
  200. dw_child.Object.u_inwaremx_ifrel[child_row] = 1
  201. dw_child.Object.u_inwaremx_relid[child_row] = s_inscust.taskid[ls_j]
  202. dw_child.Object.u_inwaremx_relprintid[child_row] = s_inscust.printid[ls_j]
  203. dw_child.Object.u_inwaremx_relcode[child_row] = s_inscust.taskcode[ls_j]
  204. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  205. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  206. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  207. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  208. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  209. dw_child.Object.u_inwaremx_qty[child_row] = s_inscust.qty[ls_j]
  210. dw_child.Object.u_inwaremx_fprice[child_row] = s_inscust.cost[ls_j]
  211. dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j]
  212. dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
  213. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  214. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
  215. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  216. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  217. IF li_if_cus_mtrlware = 1 THEN
  218. ls_sptid = s_inscust.sptid[ls_j]
  219. IF uo_cust.getinfo(s_inscust.sptid[ls_j],arg_msg) = 1 THEN
  220. dw_child.Object.u_cust_cuscode[child_row] = uo_cust.s_cust.cuscode
  221. dw_child.Object.u_cust_name[child_row] = uo_cust.s_cust.Name
  222. dw_child.Object.if_mtrlware[child_row] = 1
  223. dw_child.Object.u_inwaremx_sptid_cusid [child_row] = ls_sptid
  224. END IF
  225. ELSE
  226. ls_sptid = 0
  227. END IF
  228. Long li_statusflag
  229. Long li_woodcodeflag
  230. Long li_pcodeflag
  231. s_mtrldef_array arg_s_mtrldef
  232. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  233. li_statusflag = 0
  234. li_woodcodeflag = 0
  235. li_pcodeflag = 0
  236. ELSE
  237. li_statusflag = arg_s_mtrldef.statusflag[1]
  238. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  239. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  240. END IF
  241. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  242. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  243. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  244. dw_child.SetColumn('u_inwaremx_qty')
  245. END IF
  246. NEXT
  247. END IF
  248. end event
  249. public function integer wf_flagstatus_rf ();//====================================================================
  250. // Function: wf_flagstatus_rf()
  251. //--------------------------------------------------------------------
  252. // Description:
  253. //--------------------------------------------------------------------
  254. // Arguments:(None)
  255. //--------------------------------------------------------------------
  256. // Returns: integer
  257. //--------------------------------------------------------------------
  258. // Author: yyx Date: 2003.12.26
  259. //--------------------------------------------------------------------
  260. // Modify History:
  261. //
  262. //====================================================================
  263. long pagerert_row
  264. pagerert_row=dw_pageretr.getrow()
  265. if pagerert_row<=0 then
  266. cb_auditing.enabled=false
  267. goto ext
  268. end if
  269. if dw_edit_mode then
  270. cb_auditing.enabled=false
  271. cb_auditing_cancel.enabled=false
  272. else
  273. if dw_pageretr.object.flag[pagerert_row]=0 then
  274. cb_auditing.enabled=true
  275. cb_auditing_cancel.enabled=false
  276. elseif dw_pageretr.object.flag[pagerert_row]=1 then
  277. cb_auditing.enabled=false
  278. cb_auditing_cancel.enabled=true
  279. end if
  280. end if
  281. ext:
  282. return 0
  283. end function
  284. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);wf_flagstatus_rf()//wf_refresh_curuc
  285. if arg_inwareid<=0 or isnull(arg_inwareid) then return 0
  286. long uc_row
  287. uc_row=dw_pageretr.getrow()
  288. if uc_row<=0 then return 0
  289. long storageid
  290. datetime indate
  291. string inrep
  292. string part
  293. string dscrp
  294. int balcflag
  295. string inwarecode
  296. string sptname
  297. datetime opdate
  298. string opemp
  299. string modemp
  300. datetime moddate
  301. int flag
  302. datetime Auditingdate
  303. string Auditingrep
  304. string storagename
  305. string cuscode
  306. string cusname
  307. long sptid
  308. SELECT u_inware.storageid,
  309. u_inware.indate,
  310. u_inware.inrep,
  311. u_inware.part,
  312. u_inware.dscrp,
  313. u_inware.opdate,
  314. u_inware.opemp,
  315. u_inware.flag,
  316. u_inware.auditingdate,
  317. u_inware.auditingrep,
  318. u_inware.inwarecode,
  319. u_inware.balcflag,
  320. u_inware.sptname,
  321. u_storage.storagename,
  322. u_inware.modemp,
  323. u_inware.moddate,
  324. u_cust.cuscode,
  325. u_cust.name,
  326. u_inware.sptid
  327. into
  328. :storageid,
  329. :indate,
  330. :inrep,
  331. :part,
  332. :dscrp,
  333. :opdate,
  334. :opemp,
  335. :flag,
  336. :Auditingdate,
  337. :Auditingrep,
  338. :inwarecode,
  339. :balcflag,
  340. :sptname,
  341. :storagename,
  342. :modemp,
  343. :moddate,
  344. :cuscode,
  345. :cusname ,
  346. :sptid
  347. FROM u_inware INNER JOIN
  348. u_storage ON u_inware.storageid = u_storage.storageid INNER JOIN
  349. u_cust ON u_inware.sptid = u_cust.cusid
  350. WHERE ( u_inware.inwareid = :arg_inwareid )
  351. and ( u_inware.storageid = u_storage.storageid )
  352. and ( u_inware.scid=:arg_scid );
  353. if sqlca.sqlcode<>0 then
  354. messagebox('错误',"查询操作失败(错误单据唯一码)",stopsign!,ok!)
  355. return 0
  356. end if
  357. dw_pageretr.object.u_inware_scid[uc_row]=arg_scid
  358. dw_pageretr.object.inwareid[uc_row]=arg_inwareid
  359. dw_pageretr.object.indate[uc_row]=indate
  360. dw_pageretr.object.part[uc_row]= part
  361. dw_pageretr.object.inrep[uc_row]= inrep
  362. dw_pageretr.object.storageid[uc_row]=storageid
  363. dw_pageretr.object.sptname[uc_row]=sptname
  364. dw_pageretr.object.dscrp[uc_row]= dscrp
  365. dw_pageretr.object.balcflag[uc_row]= balcflag
  366. dw_pageretr.object.inwarecode[uc_row]=inwarecode
  367. dw_pageretr.object.opdate[uc_row]= opdate
  368. dw_pageretr.object.u_inware_opemp[uc_row]= opemp
  369. dw_pageretr.object.u_inware_moddate[uc_row]= moddate
  370. dw_pageretr.object.u_inware_modemp[uc_row]= modemp
  371. dw_pageretr.object.flag[uc_row]= flag
  372. dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
  373. dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
  374. dw_pageretr.object.u_storage_storagename[uc_row]=storagename
  375. dw_pageretr.object.u_inware_sptid[uc_row]= sptid
  376. dw_pageretr.object.u_cust_cuscode[uc_row]= cuscode
  377. dw_pageretr.object.u_cust_name[uc_row]= cusname
  378. dw_uc.Reset()
  379. dw_pageretr.RowsCopy(dw_pageretr.GetRow(),dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  380. dw_uc.ResetUpdate()
  381. dw_uc.SetRedraw(TRUE)
  382. wf_flagstatus_rf()
  383. return 1
  384. end function
  385. public subroutine wf_find_cust (long arg_childrow, long arg_scid, long arg_orderid);IF arg_childrow <= 0 THEN RETURN
  386. Long cnt = 0
  387. Long li_ordertype
  388. SELECT ordertype INTO :li_ordertype
  389. FROM u_order_ml
  390. WHERE scid = :arg_scid
  391. AND orderid = :arg_orderid;
  392. IF sqlca.SQLCode <> 0 THEN RETURN
  393. IF li_ordertype = 0 THEN RETURN
  394. SELECT count(*) INTO :cnt
  395. FROM u_order_ml_mx
  396. WHERE scid = :arg_scid
  397. AND orderid = :arg_orderid;
  398. IF sqlca.SQLCode <> 0 THEN RETURN
  399. IF cnt <> 1 THEN RETURN
  400. Long ll_cusid
  401. String ls_cuscode,ls_cusname
  402. SELECT u_cust.cusid,
  403. u_cust.cuscode,u_cust.name
  404. INTO :ll_cusid,:ls_cuscode,:ls_cusname
  405. FROM u_cust,u_order_ml_mx
  406. WHERE u_cust.cusid = u_order_ml_mx.cusid
  407. AND u_order_ml_mx.scid = :arg_scid
  408. AND u_order_ml_mx.orderid = :arg_orderid;
  409. IF sqlca.SQLCode <> 0 THEN RETURN
  410. dw_child.SetRedraw(FALSE)
  411. dw_child.object.u_inwaremx_ifrel[arg_childrow] = 1
  412. dw_child.Object.u_inwaremx_sptid_cusid[arg_childrow] = ll_cusid
  413. dw_child.Object.u_cust_name[arg_childrow] = ls_cusname
  414. dw_child.Object.u_cust_cuscode[arg_childrow] = ls_cuscode
  415. dw_child.SetRedraw(TRUE)
  416. end subroutine
  417. public function integer wf_autoaddmx (long arg_scid, long arg_saletaskid, string arg_taskcode, long arg_storageid, long arg_cusid, ref string arg_msg);//wf_autoaddmx(arg_saletaskid,arg_storageid,arg_msg)
  418. //查询合同物料于数组中
  419. //循环数组
  420. //查询物料库存总额
  421. //查询库存批/插入明细记录
  422. IF NOT dw_edit_mode THEN RETURN 0
  423. s_saletask_mtrl s_rqmtrlI
  424. Long P_rqmtrl,lrow,li,rslt = 1
  425. Decimal mtrlwaresum_qty,sumqty,i_qty,ins_qty,ins_planprice,ins_price,noallocqty,allocqty
  426. Long ins_storageid,count = 0,ins_mtrlwareid = 0,child_llrow
  427. String ins_prdpackcode,ins_mtrlcode,ins_mtrlname,ins_plancode,ins_unit,ins_mtrlsectype,ins_zxmtrlmode,ins_mtrlmode
  428. String ls_cuscode,ls_cusname
  429. Boolean lb_find = TRUE
  430. Date l_rqdate
  431. l_rqdate = Today()
  432. uo_custdef uo_cust
  433. uo_cust = CREATE uo_custdef
  434. uo_cust.commit_transaction = sqlca
  435. Int li_if_cus_mtrlware
  436. Long ls_sptid
  437. SELECT balctype INTO :li_if_cus_mtrlware
  438. FROM u_storage
  439. Where storageid = :arg_storageid;
  440. IF sqlca.SQLCode <> 0 THEN
  441. arg_msg = '查询仓库是否使用客户库存失败'
  442. rslt = 0
  443. GOTO ext
  444. END IF
  445. IF li_if_cus_mtrlware = 1 THEN
  446. ls_sptid = arg_cusid
  447. IF uo_cust.getinfo(arg_cusid,arg_msg) = 1 THEN
  448. ls_cuscode = uo_cust.s_cust.cuscode
  449. ls_cusname = uo_cust.s_cust.Name
  450. END IF
  451. ELSE
  452. ls_sptid = 0
  453. END IF
  454. rslt = wf_saletaskmtrltoarr(arg_scid,arg_saletaskid,s_rqmtrlI,P_rqmtrl,arg_msg)
  455. FOR li = 1 TO P_rqmtrl
  456. sumqty = 0
  457. ins_mtrlcode = ''
  458. ins_mtrlname = ''
  459. lb_find = TRUE
  460. allocqty = 0
  461. noallocqty = 0
  462. i_qty = 0
  463. ins_planprice = 0
  464. SELECT u_mtrldef.mtrlcode,
  465. u_mtrldef.mtrlname,
  466. u_mtrldef.unit,
  467. u_mtrldef.mtrlmode,
  468. u_mtrldef.mtrlsectype,
  469. u_mtrldef.zxmtrlmode,
  470. u_mtrldef.planprice
  471. INTO :ins_mtrlcode,
  472. :ins_mtrlname,
  473. :ins_unit,
  474. :ins_mtrlmode,
  475. :ins_mtrlsectype,
  476. :ins_zxmtrlmode,
  477. :ins_planprice
  478. FROM u_mtrldef
  479. Where u_mtrldef.mtrlid = :s_rqmtrlI.mtrlid[li];
  480. IF sqlca.SQLCode <> 0 THEN
  481. arg_msg = '查询物料资料失败[错误物料唯一码]>'+sqlca.SQLErrText
  482. rslt = 0
  483. GOTO ext
  484. END IF
  485. child_llrow = dw_child.GetRow()
  486. IF child_llrow > 0 THEN
  487. IF dw_child.Object.u_inwaremx_mtrlid[child_llrow] <> 0 THEN
  488. child_llrow = dw_child.InsertRow (0)
  489. ELSE
  490. child_llrow = dw_child.GetRow()
  491. END IF
  492. ELSE
  493. child_llrow = dw_child.InsertRow (0)
  494. END IF
  495. IF li_if_cus_mtrlware = 1 THEN
  496. dw_child.Object.if_mtrlware[child_llrow] = 1
  497. dw_child.Object.u_cust_cuscode[child_llrow] = ls_cuscode
  498. dw_child.Object.u_cust_name[child_llrow] = ls_cusname
  499. dw_child.Object.u_inwaremx_sptid_cusid [child_llrow] = ls_sptid
  500. END IF
  501. dw_child.Object.u_inwaremx_ifrel[child_llrow] = 1
  502. dw_child.Object.u_inwaremx_relid [child_llrow] = arg_saletaskid
  503. dw_child.Object.u_inwaremx_mtrlid[child_llrow] = s_rqmtrlI.mtrlid[li]
  504. dw_child.Object.u_inwaremx_relprintid[child_llrow] = s_rqmtrlI.printid[li]
  505. dw_child.Object.u_inwaremx_fprice[child_llrow] = s_rqmtrlI.fprice[li]
  506. dw_child.Object.u_inwaremx_qty[child_llrow] = s_rqmtrlI.usaleqty[li]
  507. dw_child.Object.u_inwaremx_addqty[child_llrow] = s_rqmtrlI.addqty[li]
  508. dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
  509. dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
  510. dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
  511. dw_child.Object.u_inwaremx_relcode[child_llrow] = arg_taskcode
  512. dw_child.Object.u_inwaremx_plancode[child_llrow] = s_rqmtrlI.plancode[li]
  513. dw_child.Object.u_inwaremx_status[child_llrow] = s_rqmtrlI.status[li]
  514. dw_child.Object.u_inwaremx_woodcode[child_llrow] = s_rqmtrlI.woodcode[li]
  515. dw_child.Object.u_inwaremx_pcode[child_llrow] = s_rqmtrlI.pcode[li]
  516. dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
  517. dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
  518. dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
  519. dw_child.Object.u_inwaremx_mxdscrp[child_llrow] = s_rqmtrlI.mxdscrp[li]
  520. Long li_statusflag
  521. Long li_woodcodeflag
  522. Long li_pcodeflag
  523. s_mtrldef_array arg_s_mtrldef
  524. IF f_find_mtrl(ins_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  525. li_statusflag = 0
  526. li_woodcodeflag = 0
  527. li_pcodeflag = 0
  528. ELSE
  529. li_statusflag = arg_s_mtrldef.statusflag[1]
  530. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  531. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  532. END IF
  533. dw_child.Object.u_mtrldef_statusflag[child_llrow] = li_statusflag
  534. dw_child.Object.u_mtrldef_woodcodeflag[child_llrow] = li_woodcodeflag
  535. dw_child.Object.u_mtrldef_pcodeflag[child_llrow] = li_pcodeflag
  536. NEXT
  537. ext:
  538. RETURN rslt
  539. end function
  540. public function integer wf_saletaskmtrltoarr (long arg_scid, long arg_taskid, ref s_saletask_mtrl arg_s_rqmtrl, ref long arg_p_rqmtrl, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long arg_p_rqmtrl,ref string arg_msg)
  541. //查询合同物料资料
  542. //把物料资料写入数组
  543. long rslt=1
  544. //查询合同物料
  545. DECLARE pf_cur CURSOR FOR
  546. SELECT u_saletaskmx.mtrlid,
  547. u_saletaskmx.SaleQty - u_saletaskmx.consignedqty,
  548. u_saletaskmx.enprice,
  549. u_saletaskmx.fprice,
  550. u_saletaskmx.rebate,
  551. u_saletaskmx.mxdscrp,
  552. u_saletaskmx.status,
  553. u_saletaskmx.woodcode,
  554. u_saletaskmx.pcode,
  555. u_saletaskmx.mxdscrp,
  556. u_saletaskmx.printid,
  557. u_saletaskmx.usaleqty,
  558. u_saletaskmx.addqty,
  559. u_saletaskmx.plancode
  560. FROM u_saletaskmx ,u_mtrldef
  561. WHERE u_saletaskmx.mtrlid= u_mtrldef.mtrlid and
  562. ( u_saletaskmx.taskid = :arg_taskid )
  563. and ( u_saletaskmx.SaleQty - u_saletaskmx.consignedqty <> 0 )
  564. and ( u_saletaskmx.scid = :arg_scid );
  565. open pf_cur;
  566. arg_p_rqmtrl=1
  567. fetch pf_cur into :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl],
  568. :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],:arg_s_rqmtrl.rebate[arg_p_rqmtrl],
  569. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.status[arg_p_rqmtrl],
  570. :arg_s_rqmtrl.woodcode[arg_p_rqmtrl],:arg_s_rqmtrl.pcode[arg_p_rqmtrl],
  571. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.printid[arg_p_rqmtrl],:arg_s_rqmtrl.usaleqty[arg_p_rqmtrl],:arg_s_rqmtrl.addqty[arg_p_rqmtrl],:arg_s_rqmtrl.plancode[arg_p_rqmtrl];
  572. do while sqlca.sqlcode=0
  573. arg_p_rqmtrl++
  574. fetch pf_cur into :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl],
  575. :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],:arg_s_rqmtrl.rebate[arg_p_rqmtrl],
  576. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.status[arg_p_rqmtrl],
  577. :arg_s_rqmtrl.woodcode[arg_p_rqmtrl],:arg_s_rqmtrl.pcode[arg_p_rqmtrl],
  578. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.printid[arg_p_rqmtrl],:arg_s_rqmtrl.usaleqty[arg_p_rqmtrl],:arg_s_rqmtrl.addqty[arg_p_rqmtrl],:arg_s_rqmtrl.plancode[arg_p_rqmtrl];
  579. loop
  580. arg_p_rqmtrl=arg_p_rqmtrl - 1
  581. close pf_cur;
  582. return rslt
  583. end function
  584. public subroutine wf_check_billfj ();String arg_msg
  585. Long ll_ConnectionID
  586. Long cur_billtype
  587. long ll_relid,ll_relid_mx,ll_scid
  588. Long ls_filecount = 0
  589. Int rslt = 1
  590. uo_fj_mng_billtype ls_uo_fjbt
  591. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  592. Long row,uc_relid
  593. row = dw_pageretr.GetRow()
  594. IF row > 0 THEN
  595. ll_relid = dw_pageretr.Object.inwareid[row]
  596. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  597. ll_relid_mx = 0
  598. ELSE
  599. rslt = 0
  600. GOTO ext
  601. END IF
  602. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  603. rslt = 0
  604. GOTO ext
  605. END IF
  606. cur_billtype = 342 //客户投拆单的 mainiD
  607. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  608. IF ls_filecount > 0 THEN
  609. rslt = 1
  610. GOTO ext
  611. ELSE
  612. rslt = 0
  613. GOTO ext
  614. END IF
  615. ext:
  616. wf_encl(rslt)
  617. DESTROY ls_uo_fjbt
  618. end subroutine
  619. 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);//==============================================================================
  620. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  621. //------------------------------------------------------------------------------
  622. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  623. //------------------------------------------------------------------------------
  624. Long LS_ROW,ll_id,i,ll_scid
  625. LS_ROW = dw_uc.GetRow()
  626. IF LS_ROW <= 0 THEN
  627. arg_msg = '没有目标单据!'
  628. RETURN 0
  629. END IF
  630. //修改点:获取 指定retriev参数
  631. ll_id = dw_uc.Object.#1[LS_ROW]
  632. ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
  633. //查询所选模版是否含有图片信息
  634. Long ll_ifpic
  635. Long ll_classid
  636. SELECT ifpic
  637. INTO :ll_ifpic
  638. FROM U_XLS_Templates
  639. Where id = :ll_xls_Templatesid;
  640. IF sqlca.SQLCode <> 0 THEN
  641. ll_ifpic = 0
  642. END IF
  643. Long ll_i,ll_j
  644. Long ll_mtrlid
  645. Long ll_fileid
  646. Blob ls_filedata
  647. SetNull(ls_filedata)
  648. String Pathname,ls_filename,ls_filetype
  649. String errmsg
  650. uo_fj_mng_billtype ls_uo_fjbt
  651. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  652. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  653. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  654. SELECT classid
  655. INTO :ll_classid
  656. FROM u_billpic_fileclass
  657. Where (billtype = 342);
  658. IF sqlca.SQLCode <> 0 THEN
  659. ll_classid = 0
  660. END IF
  661. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  662. FOR ll_i = 1 TO dw_child.RowCount()
  663. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  664. //取该附件类型中的第一个附件.
  665. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  666. FROM u_file
  667. WHERE relid = :ll_mtrlid
  668. AND classid = :ll_classid
  669. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  670. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  671. USING sys_fileDB_sqlca;
  672. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  673. ll_fileid = 0
  674. END IF
  675. IF ll_fileid > 0 THEN
  676. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  677. IF Trim(Pathname) <> '' THEN
  678. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  679. RETURN 0
  680. END IF
  681. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  682. RETURN 0
  683. ELSE
  684. s_pic.path[ll_i] = Pathname
  685. //记录临时文件位置,本窗口退出后删除
  686. wf_addlog_tempfilepathname(Pathname)
  687. END IF
  688. ELSE
  689. s_pic.path[ll_i] = ''
  690. END IF
  691. ELSE
  692. s_pic.path[ll_i] = ''
  693. END IF
  694. NEXT
  695. END IF
  696. //
  697. END IF
  698. ////可选设置///
  699. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  700. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  701. boolean xls_locked
  702. xls_locked = not (sys_option_xls_lock = 1)
  703. /// Excel 的可选设置
  704. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  705. return 0
  706. end if
  707. for i = 1 to arg_str_billlist.count
  708. ////可选操作///
  709. arg_str_billlist.bill[i].ds_data = create datastore //
  710. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  711. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  712. //修改点:注意retrieve 参数与上文对应
  713. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  714. next
  715. return 1
  716. end function
  717. 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
  718. LS_ROW = dw_pageretr.GetRow()
  719. IF LS_ROW <= 0 THEN
  720. arg_msg = '没有目标单据!'
  721. RETURN 0
  722. END IF
  723. //修改点:获取 指定retriev参数
  724. ll_id = dw_pageretr.Object.#1[LS_ROW]
  725. ll_scid = dw_pageretr.Object.u_inware_scid[LS_ROW]
  726. Long ll_i,ll_j
  727. Long ll_mtrlid
  728. Long ll_fileid
  729. Blob ls_filedata
  730. SetNull(ls_filedata)
  731. String Pathname,ls_filename,ls_filetype
  732. String errmsg
  733. uo_fj_mng_billtype ls_uo_fjbt
  734. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  735. Long ll_classid
  736. SELECT classid
  737. INTO :ll_classid
  738. FROM u_billpic_fileclass
  739. Where (billtype = 102);
  740. IF sqlca.SQLCode <> 0 THEN
  741. ll_classid = 0
  742. END IF
  743. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  744. FOR ll_i = 1 TO dw_child.RowCount()
  745. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  746. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  747. //取该附件类型中的第一个附件.
  748. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  749. FROM u_file
  750. WHERE relid = :ll_mtrlid
  751. AND classid = :ll_classid
  752. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  753. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  754. USING sys_fileDB_sqlca;
  755. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  756. ll_fileid = 0
  757. END IF
  758. IF ll_fileid > 0 THEN
  759. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  760. IF Trim(Pathname) <> '' THEN
  761. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  762. RETURN 0
  763. END IF
  764. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  765. RETURN 0
  766. ELSE
  767. arg_s_pic.path[ll_i] = Pathname
  768. //记录临时文件位置,本窗口退出后删除
  769. wf_addlog_tempfilepathname(Pathname)
  770. END IF
  771. ELSE
  772. arg_s_pic.path[ll_i] = ''
  773. END IF
  774. ELSE
  775. arg_s_pic.path[ll_i] = ''
  776. END IF
  777. NEXT
  778. END IF
  779. RETURN 1
  780. end function
  781. on w_inware_rec.create
  782. int iCurrent
  783. call super::create
  784. this.ddlb_status=create ddlb_status
  785. this.st_2=create st_2
  786. this.st_3=create st_3
  787. this.ddlb_scid=create ddlb_scid
  788. iCurrent=UpperBound(this.Control)
  789. this.Control[iCurrent+1]=this.ddlb_status
  790. this.Control[iCurrent+2]=this.st_2
  791. this.Control[iCurrent+3]=this.st_3
  792. this.Control[iCurrent+4]=this.ddlb_scid
  793. end on
  794. on w_inware_rec.destroy
  795. call super::destroy
  796. destroy(this.ddlb_status)
  797. destroy(this.st_2)
  798. destroy(this.st_3)
  799. destroy(this.ddlb_scid)
  800. end on
  801. event open;THIS.TriggerEvent('ue_before_open')
  802. wf_movetocenter()
  803. ds_copy_bill = CREATE datastore
  804. ds_copy_bill.DataObject = dw_child.dataobject
  805. ds_copy_bill.SetTransObject(sqlca)
  806. OLD_TITLE = THIS.Title
  807. s_tran = Message.PowerObjectParm
  808. IF NOT IsNull(s_tran) THEN
  809. retrieve_all = s_tran.if_retrieve_all
  810. mode = s_tran.work_mode
  811. arg_pkid = s_tran.arg_pkid
  812. arg_string_code = s_tran.arg_string_code
  813. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  814. ds_share = s_tran.ds_share
  815. END IF
  816. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  817. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  818. dw_pageretr.SetTransObject (sqlca)
  819. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  820. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  821. //====================================================================
  822. // Script - w_inware_cp inherited from w_publ_1ton_share_detail for open
  823. // Reason:
  824. //--------------------------------------------------------------------
  825. // Modified By: yyx Date: 2003.12.01
  826. //--------------------------------------------------------------------
  827. ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  828. //====================================================================
  829. ls_newselect = ori_oldselect
  830. ds_curquery = CREATE DATASTORE
  831. ds_curquery.DataObject = 'd_extr_find'
  832. ds_curquery.SetTransObject (sqlca)
  833. wf_editindex_lockf()
  834. IF s_tran.d_long = 2 THEN
  835. cur_scid = s_tran.c_long
  836. Int li_item
  837. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  838. IF li_item > 0 THEN
  839. ddlb_scid.SelectItem(li_item)
  840. END IF
  841. END IF
  842. sle_usual_query.Text = Trim(arg_string_code)
  843. IF NOT retrieve_all THEN
  844. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  845. ELSE
  846. IF if_sharedata THEN
  847. ds_share.ShareData(dw_pageretr)
  848. ELSE
  849. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  850. THIS.TriggerEvent('RETRIEVE_pageretr')
  851. END IF
  852. END IF
  853. IF retrieve_all THEN
  854. THIS.TriggerEvent("ue_usual_query_filt")
  855. END IF
  856. uc_column_int = 8 //uc dw前5列可以编辑
  857. child_column_int = 14//子dw前5列可以编辑
  858. uo_ware = CREATE uo_inware_cp
  859. uo_ware.commit_transaction = sqlca
  860. uo_cust=create uo_custdef
  861. uo_cust.commit_transaction=sqlca
  862. s_hide_col s_col
  863. s_col.col_1 = 'u_inwaremx_fprice'
  864. s_col.col_2 = 'amt'
  865. //f_hide_col(121,dw_child,s_col)
  866. f_hide_col(1449,dw_child,s_col)
  867. s_hide_col s_col_mtrlsectype
  868. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  869. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  870. s_hide_col s_col_zxmtrlmode
  871. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  872. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  873. end event
  874. event close;call super::close;destroy uo_ware
  875. wf_del_tempfilepathname()
  876. end event
  877. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  878. ddlb_status.Enabled = NOT dw_edit_mode
  879. IF dw_edit_mode THEN
  880. ddlb_scid.Enabled = FALSE
  881. ELSE
  882. IF sys_scid > 0 THEN
  883. ddlb_scid.Enabled = FALSE
  884. ELSE
  885. ddlb_scid.Enabled = TRUE
  886. END IF
  887. END IF
  888. end event
  889. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  890. row = dw_pageretr.GetRow()
  891. IF row > 0 THEN
  892. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  893. uc_relid = dw_pageretr.Object.inwareid[row]
  894. dw_child.SetRedraw (FALSE)
  895. dw_child.Retrieve(uc_relid,ll_scid)
  896. dw_child.SetRedraw (TRUE)
  897. ELSE
  898. dw_child.Reset()
  899. END IF
  900. end event
  901. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  902. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  903. cb_nextpage_enabled=cb_nextpage.enabled
  904. cb_retrieveall_enabled=cb_retrieveall.enabled
  905. cb_func_enabled=cb_func.enabled
  906. cb_nextpage.enabled=false
  907. cb_retrieveall.enabled=false
  908. cb_func.enabled=false
  909. //只显未自已管的仓库
  910. datawindowchild childdw
  911. string new_sqlstr,modify_str
  912. dw_uc.SetTransObject (sqlca)
  913. dw_uc.getchild("storageid",childdw)
  914. childdw.SetTransObject (sqlca)
  915. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  916. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  917. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  918. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  919. childdw.modify ( modify_str )
  920. if childdw.retrieve(cur_scid) = 0 then
  921. childdw.InsertRow(0)
  922. END IF
  923. //childdw.retrieve()
  924. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  925. dw_pageretr.Retrieve(cur_scid_arr,sys_user_storageid,cur_flag)
  926. IF dw_pageretr.RowCount() > 0 THEN
  927. dw_pageretr.SetRow(1)
  928. dw_pageretr.triggerevent(rowfocuschanged!)
  929. end if
  930. this.triggerevent('retrieve_childdw')
  931. cb_nextpage.enabled=cb_nextpage_enabled
  932. cb_retrieveall.enabled=cb_retrieveall_enabled
  933. cb_func.enabled=cb_func_enabled
  934. end event
  935. event ue_usual_query_filt;call super::ue_usual_query_filt;string ls_querystrpart=''
  936. ls_newselect=lower(ori_oldselect)
  937. if trim(sle_usual_query.text)<>'' then
  938. if pos(trim(sle_usual_query.text),'%')=0 then
  939. ls_querystrpart="(u_inware_inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  940. else
  941. ls_querystrpart="(u_inware_inwarecode like '"+trim(sle_usual_query.text)+"')"
  942. end if
  943. if Pos(ls_newselect," where ") <> 0 then
  944. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  945. else
  946. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  947. end if
  948. end if
  949. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  950. this.triggerevent('retrieve_pageretr')
  951. end event
  952. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  953. ls_newselect=lower(ori_oldselect)
  954. if trim(sle_usual_query.text)<>'' then
  955. if pos(trim(sle_usual_query.text),'%')=0 then
  956. ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  957. else
  958. ls_querystrpart="(u_inware.inwarecode like '"+trim(sle_usual_query.text)+"')"
  959. end if
  960. if Pos(ls_newselect," where ") <> 0 then
  961. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  962. else
  963. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  964. end if
  965. end if
  966. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  967. this.triggerevent('retrieve_pageretr')
  968. end event
  969. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  970. if not dw_edit_mode then return
  971. long child_row
  972. long ins_storageid = 0
  973. child_row = dw_child.getrow()
  974. ins_storageid = dw_uc.object.storageid[dw_uc.getrow()]
  975. if ins_storageid = 0 or isnull(ins_storageid) then
  976. messagebox('提示','请先选择仓库',information!,ok!)
  977. return
  978. end if
  979. if not isvalid(w_mtrldef_edit) then
  980. s_edit_index_tran s_ch_tran //传递参数使用
  981. s_ch_tran.if_retrieve_all = false //是否一次retrieve所有行
  982. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  983. s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
  984. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  985. s_ch_tran.if_select_all = true
  986. s_ch_tran.b_long = 0
  987. s_ch_tran.c_long = ins_storageid
  988. long chc = 1,ls_j
  989. dw_child.accepttext()
  990. if dw_child.getrow() > 0 then s_ch_tran.arg_string_code = trim(dw_child.object.u_mtrldef_mtrlcode[dw_child.getrow()])
  991. openwithparm(w_mtrldef_edit,s_ch_tran)
  992. s_mtrldef_array s_inscust
  993. s_inscust = message.powerobjectparm
  994. for ls_j = 1 to upperbound(s_inscust.mtrlid)
  995. if s_inscust.mtrlid[ls_j] > 0 then
  996. if dw_child.getrow() > 0 then
  997. if dw_child.object.u_inwaremx_mtrlid[child_row] <> 0 then
  998. child_row = dw_child.insertrow (0)
  999. //dw_child.object.u_inwaremx_ifrel[child_row] = sys_option_autoyes
  1000. else
  1001. child_row = dw_child.getrow()
  1002. end if
  1003. else
  1004. child_row = dw_child.insertrow (0)
  1005. //dw_child.object.u_inwaremx_ifrel[child_row] = sys_option_autoyes
  1006. end if
  1007. dw_child.object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  1008. dw_child.object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  1009. dw_child.object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1010. dw_child.object.u_inwaremx_fprice[child_row] = s_inscust.planprice[ls_j]
  1011. dw_child.object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  1012. dw_child.object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  1013. dw_child.object.u_mtrldef_prdpackcode[child_row] = s_inscust.prdpackcode[ls_j]
  1014. dw_child.object.u_mtrldef_packqty[child_row] = s_inscust.packqty[ls_j]
  1015. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  1016. dw_child.Object.u_mtrldef_mtrlsectype[child_row] =S_INSCUST.mtrlsectype[ls_j]
  1017. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  1018. dw_child.Object.u_mtrldef_mtrlsectype[child_row] =S_INSCUST.mtrlsectype[ls_j]
  1019. dw_child.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  1020. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  1021. dw_child.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  1022. dw_child.Object.u_inwaremx_status[child_row] = S_INSCUST.status[ls_j]
  1023. dw_child.Object.u_inwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  1024. dw_child.Object.u_inwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  1025. dw_child.setcolumn('u_inwaremx_qty')
  1026. end if
  1027. next
  1028. dw_child.setfocus()
  1029. end if
  1030. this.triggerevent('ue_allowedit')
  1031. end event
  1032. event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(469) THEN
  1033. MessageBox('提示','你没有使用权限!',information!,ok!)
  1034. RETURN
  1035. END IF
  1036. Long LS_ROW
  1037. LS_ROW = dw_pageretr.GetRow()
  1038. IF LS_ROW <= 0 THEN
  1039. MessageBox('提示','没有打印目标单据!',information!,ok!)
  1040. RETURN
  1041. END IF
  1042. S_print_MSG LS_PRMSG
  1043. IF ls_newname <> '' THEN
  1044. IF li_auditprint = 1 THEN
  1045. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1046. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1047. RETURN
  1048. END IF
  1049. END IF
  1050. LS_PRMSG.obj_dwNAME = ls_newname
  1051. ELSE
  1052. LS_PRMSG.obj_dwNAME = 'dw_rp_inware_rec_edit'
  1053. END IF
  1054. LS_PRMSG.TAG_TEXT = '生产进仓单'
  1055. LS_PRMSG.FILTER_STRING = ''
  1056. LS_PRMSG.retr_pram_falg = 15
  1057. LS_PRMSG.PAGECH_FLAG = 0
  1058. LS_PRMSG.retr_scid = cur_scid
  1059. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[LS_ROW]
  1060. LS_PRMSG.rowcnt = dw_child.RowCount()
  1061. IF ifpic = 1 THEN
  1062. String ls_msg
  1063. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1064. MessageBox('提示','下载图片失败!',information!,OK!)
  1065. RETURN
  1066. END IF
  1067. END IF
  1068. OpenWithParm(w_publ_preview,LS_PRMSG)
  1069. IF ifpic = 1 THEN
  1070. Long li
  1071. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1072. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1073. FileDelete(LS_PRMSG.s_pic.path[li])
  1074. END IF
  1075. NEXT
  1076. END IF
  1077. end event
  1078. event ue_print;call super::ue_print;IF NOT f_power_ind(469) THEN
  1079. MessageBox('提示','你没有使用权限!',information!,ok!)
  1080. RETURN
  1081. END IF
  1082. //--直接打印
  1083. uo_print_preview uo_print
  1084. S_print_MSG LS_PRMSG
  1085. IF dw_pageretr.RowCount() = 0 THEN
  1086. MessageBox('提示','没有可打印的单据!',information!,ok!)
  1087. RETURN
  1088. END IF
  1089. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1090. IF ls_newname <> '' THEN
  1091. IF li_auditprint = 1 THEN
  1092. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1093. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1094. RETURN
  1095. END IF
  1096. END IF
  1097. LS_PRMSG.obj_dwNAME = ls_newname
  1098. ELSE
  1099. LS_PRMSG.obj_dwNAME = 'dw_rp_inware_rec_edit'
  1100. END IF
  1101. LS_PRMSG.retr_pram_falg = 15
  1102. LS_PRMSG.TAG_TEXT = '成品进仓单'
  1103. LS_PRMSG.FILTER_STRING = ''
  1104. LS_PRMSG.PAGECH_FLAG = 0
  1105. LS_PRMSG.retr_scid = cur_scid
  1106. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[dw_pageretr.GetRow()]
  1107. LS_PRMSG.rowcnt = dw_child.RowCount()
  1108. IF ifpic = 1 THEN
  1109. String ls_msg
  1110. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1111. MessageBox('提示','下载图片失败!',information!,OK!)
  1112. RETURN
  1113. END IF
  1114. END IF
  1115. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1116. String arg_msg
  1117. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1118. MessageBox("错误",arg_msg,stopsign!,ok!)
  1119. RETURN
  1120. END IF
  1121. uo_print.ds_print()
  1122. IF ifpic = 1 THEN
  1123. Long li
  1124. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1125. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1126. FileDelete(LS_PRMSG.s_pic.path[li])
  1127. END IF
  1128. NEXT
  1129. END IF
  1130. end event
  1131. event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN
  1132. Long child_row
  1133. child_row = dw_uc.GetRow()
  1134. IF child_row = 0 THEN
  1135. MessageBox('提示','请选定出仓单!',information!,ok!)
  1136. RETURN
  1137. END IF
  1138. IF NOT IsValid(W_cust_edit) THEN
  1139. s_edit_index_tran s_ch_tran //传递参数使用
  1140. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  1141. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1142. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1143. //查询列(物料编码)部分内容,用于初步筛选
  1144. dw_uc.AcceptText()
  1145. s_ch_tran.arg_string_code = Trim(dw_uc.Object.u_cust_cuscode[child_row])
  1146. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  1147. s_custom S_INSCUST
  1148. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1149. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  1150. dw_uc.SetRedraw(FALSE)
  1151. dw_uc.Object.u_inware_sptid[child_row] = S_INSCUST.cusid
  1152. dw_uc.Object.u_cust_name[child_row] = S_INSCUST.Name
  1153. dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  1154. dw_uc.SetRedraw(TRUE)
  1155. dw_uc.SetColumn("inrep")
  1156. END IF
  1157. END IF
  1158. end event
  1159. event ue_f10;call super::ue_f10;IF NOT dw_edit_mode THEN RETURN
  1160. Long child_row
  1161. String ls_colorname
  1162. child_row = dw_child.GetRow()
  1163. IF child_row <= 0 THEN RETURN
  1164. IF NOT IsValid(w_color_edit) THEN
  1165. Open(w_color_edit)
  1166. ls_colorname = Message.StringParm
  1167. IF ls_colorname = '' THEN RETURN
  1168. dw_child.Object.u_inwaremx_status[child_row] = ls_colorname
  1169. dw_child.SetFocus()
  1170. END IF
  1171. end event
  1172. event ue_addzy;call super::ue_addzy;
  1173. IF dw_edit_mode THEN
  1174. MessageBox('提示',"编辑状态下不可以使用!",information!,ok!)
  1175. return
  1176. END IF
  1177. IF NOT f_power_ind(799) THEN
  1178. MessageBox('提示','你没有使用权限!',information!,ok!)
  1179. RETURN
  1180. END IF
  1181. string arg_msg='',LS_STR
  1182. long uc_row
  1183. s_inputbox S_SREU
  1184. uc_row=dw_pageretr.getrow()
  1185. if uc_row<=0 then
  1186. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1187. return
  1188. end if
  1189. S_SREU.TITLE='请输入要补充到备注的内容'
  1190. S_SREU.OLD_TEXT=''
  1191. openwithparm(w_inputbox,S_SREU)
  1192. LS_STR=Message.StringParm
  1193. if trim(LS_STR)='' or isnull(LS_STR) then return
  1194. if uo_ware.add_dscrp(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],LS_STR,arg_msg)=0 then
  1195. messagebox('错误',arg_msg,stopsign!,ok!)
  1196. return
  1197. else
  1198. messagebox('提示','添加备注操作成功!',information!,ok!)
  1199. wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[uc_row])
  1200. end if
  1201. end event
  1202. event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN
  1203. Long ls_storageid
  1204. Long ls_taskid
  1205. String ls_taskcode
  1206. ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1207. IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  1208. MessageBox('提示','请先选择仓库',information!,ok!)
  1209. RETURN
  1210. END IF
  1211. //THIS.Enabled = FALSE
  1212. s_saletask_find s_find
  1213. s_find.scid = cur_scid
  1214. s_find.areaid = sys_areaid
  1215. IF NOT IsValid(w_saletask_ch) THEN
  1216. s_saletask_ch s_saletask
  1217. OpenWithParm(w_saletask_ch,s_find)
  1218. s_saletask = Message.PowerObjectParm
  1219. IF s_saletask.taskid > 0 THEN
  1220. ls_taskid = s_saletask.taskid
  1221. ls_taskcode = s_saletask.taskcode
  1222. String errmsg = ''
  1223. dw_uc.object.u_inware_sptid[dw_uc.getrow()]=s_saletask.cusid
  1224. dw_uc.object.u_cust_cuscode[dw_uc.getrow()]=s_saletask.cuscode
  1225. dw_uc.object.u_cust_name[dw_uc.getrow()]=s_saletask.cusname
  1226. wf_autoaddmx(cur_scid,ls_taskid,ls_taskcode,ls_storageid,s_saletask.cusid,errmsg)
  1227. // dw_uc.SetColumn("sptname")
  1228. dw_uc.SetRedraw(TRUE)
  1229. END IF
  1230. END IF
  1231. //THIS.Enabled = TRUE
  1232. this.triggerevent('ue_allowedit')
  1233. end event
  1234. event ue_f11;call super::ue_f11;IF NOT dw_edit_mode THEN RETURN
  1235. Long child_row
  1236. child_row = dw_child.GetRow()
  1237. IF child_row = 0 THEN
  1238. MessageBox('提示','请选定出仓单明细!',information!,ok!)
  1239. RETURN
  1240. END IF
  1241. IF NOT IsValid(W_cust_edit) THEN
  1242. s_edit_index_tran s_ch_tran //传递参数使用
  1243. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  1244. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1245. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1246. //查询列(物料编码)部分内容,用于初步筛选
  1247. dw_uc.AcceptText()
  1248. s_ch_tran.arg_string_code = Trim(dw_child.Object.u_cust_cuscode[child_row])
  1249. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  1250. s_custom S_INSCUST
  1251. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1252. // u_cust_cuscode
  1253. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  1254. dw_child.SetRedraw(FALSE)
  1255. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = S_INSCUST.cusid
  1256. dw_child.Object.u_cust_name[child_row] = S_INSCUST.Name
  1257. dw_child.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  1258. dw_child.object.if_mtrlware[child_row]=1
  1259. dw_child.SetRedraw(TRUE)
  1260. // dw_uc.SetColumn("inrep")
  1261. END IF
  1262. END IF
  1263. end event
  1264. event ue_f12;call super::ue_f12;IF NOT dw_edit_mode THEN RETURN
  1265. Long child_row
  1266. Int if_addmxdscrp
  1267. String ls_mxdscrp
  1268. s_addqty_input s_input
  1269. dw_child.AcceptText( )
  1270. child_row = dw_child.GetRow()
  1271. IF child_row <= 0 THEN RETURN
  1272. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
  1273. ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row]
  1274. IF NOT IsValid(w_addqty_input) THEN
  1275. OpenWithParm(w_addqty_input,ls_mxdscrp)
  1276. s_input = Message.PowerObjectParm
  1277. IF s_input.addqty = -1 THEN RETURN
  1278. dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty
  1279. IF s_input.addqtystr <> '' THEN
  1280. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
  1281. END IF
  1282. // IF s_input.formula <> '' THEN
  1283. // dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
  1284. // END IF
  1285. IF s_input.flag = 1 THEN
  1286. dw_child.Object.u_inwaremx_qty[child_row] = s_input.qty
  1287. END IF
  1288. END IF
  1289. end event
  1290. event ue_rpt_print;call super::ue_rpt_print;IF NOT f_power_ind(469) THEN
  1291. MessageBox('提示','你没有使用权限!',information!,ok!)
  1292. RETURN
  1293. END IF
  1294. Long row,uc_relid,ll_scid
  1295. row = dw_pageretr.GetRow()
  1296. IF row = 0 THEN RETURN
  1297. uo_rpt_print_preview uo_print
  1298. S_rpt_print_MSG LS_PRMSG
  1299. IF dw_pageretr.RowCount() = 0 THEN
  1300. MessageBox('提示','没有可打印的单据!',information!,ok!)
  1301. RETURN
  1302. END IF
  1303. IF ls_rpname = '' THEN RETURN
  1304. IF li_auditprint = 1 THEN
  1305. IF dw_pageretr.Object.flag[row] = 0 THEN
  1306. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1307. RETURN
  1308. END IF
  1309. END IF
  1310. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1311. LS_PRMSG.retr_pram_falg = 15
  1312. LS_PRMSG.TAG_TEXT = THIS.Title
  1313. LS_PRMSG.rpname = ls_rpname
  1314. LS_PRMSG.FILTER_STRING = ''
  1315. LS_PRMSG.PAGECH_FLAG = 0
  1316. LS_PRMSG.rpid = ls_msgprintid_rpt
  1317. LS_PRMSG.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1318. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1319. LS_PRMSG.rowcnt = dw_child.RowCount()
  1320. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1321. String arg_msg
  1322. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1323. MessageBox("错误",arg_msg,stopsign!,ok!)
  1324. RETURN
  1325. END IF
  1326. uo_print.ds_print()
  1327. end event
  1328. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT f_power_ind(469) THEN
  1329. MessageBox('提示','你没有使用权限!',information!,ok!)
  1330. RETURN
  1331. END IF
  1332. Long row,uc_relid,ll_scid
  1333. row = dw_pageretr.GetRow()
  1334. IF row = 0 THEN RETURN
  1335. IF ls_rpname = '' THEN RETURN
  1336. IF li_auditprint = 1 THEN
  1337. IF dw_pageretr.Object.flag[row] = 0 THEN
  1338. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1339. RETURN
  1340. END IF
  1341. END IF
  1342. s_rpt_print_msg s_print
  1343. s_print.retr_pram_falg = 15
  1344. s_print.rpid = ls_msgprintid_rpt
  1345. s_print.retr_flag = TRUE
  1346. s_print.tag_text = THIS.Title
  1347. s_print.rpname = ls_rpname
  1348. s_print.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1349. s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1350. s_print.rowcnt = dw_child.RowCount()
  1351. OpenWithParm(w_rpt_preview,s_print)
  1352. end event
  1353. type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_rec
  1354. end type
  1355. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_rec
  1356. end type
  1357. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_rec
  1358. integer x = 178
  1359. integer width = 549
  1360. end type
  1361. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_rec
  1362. integer x = 3017
  1363. end type
  1364. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_rec
  1365. integer x = 2693
  1366. integer y = 52
  1367. integer width = 320
  1368. end type
  1369. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_rec
  1370. integer x = 2025
  1371. integer y = 296
  1372. integer width = 1527
  1373. integer height = 904
  1374. string dataobject = "dw_inware_rec_index"
  1375. end type
  1376. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_check_billfj()
  1377. wf_flagstatus_rf()
  1378. end event
  1379. type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_rec
  1380. integer x = 5
  1381. end type
  1382. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_rec
  1383. integer x = 3168
  1384. end type
  1385. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_rec
  1386. integer y = 296
  1387. integer width = 2021
  1388. integer height = 988
  1389. string dataobject = "dw_inware_rec_edit"
  1390. end type
  1391. event dw_uc::dwnkey;parent.triggerevent('user_key')
  1392. if key = KeyDownArrow! then return 1
  1393. if dw_edit_mode then
  1394. if dw_uc.GetColumnName ( )='u_cust_cuscode' and key = KeyEnter! then
  1395. String ls_code,ls_name,ls_find_code
  1396. Long ls_cusid
  1397. Long cnt = 0
  1398. Boolean if_find = FALSE
  1399. dw_uc.AcceptText()
  1400. ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
  1401. SELECT u_cust.cusid,
  1402. u_cust.name,
  1403. u_cust.cuscode
  1404. INTO :ls_cusid,:ls_name
  1405. FROM u_cust
  1406. Where ( cuscode = :ls_code OR Name = :ls_code );
  1407. IF sqlca.SQLCode <> 0 THEN
  1408. IF Pos(Trim(ls_code),'%') = 0 THEN
  1409. ls_find_code = '%'+ Trim(ls_code) + '%'
  1410. ELSE
  1411. ls_find_code = Trim(ls_code)
  1412. END IF
  1413. SELECT count(*) INTO :cnt
  1414. FROM u_cust
  1415. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  1416. IF sqlca.SQLCode <> 0 THEN
  1417. PARENT.TriggerEvent('ue_f9')
  1418. RETURN 1
  1419. END IF
  1420. IF cnt <> 1 THEN
  1421. PARENT.TriggerEvent('ue_f9')
  1422. RETURN 1
  1423. ELSE
  1424. SELECT u_cust.cusid,
  1425. u_cust.cuscode,
  1426. u_cust.name
  1427. INTO :ls_cusid,:ls_code,:ls_name
  1428. FROM u_cust
  1429. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  1430. IF sqlca.SQLCode <> 0 THEN
  1431. PARENT.TriggerEvent('ue_f9')
  1432. RETURN 1
  1433. ELSE
  1434. if_find = TRUE
  1435. END IF
  1436. END IF
  1437. ELSE
  1438. if_find = TRUE
  1439. END IF
  1440. IF if_find THEN
  1441. dw_uc.SetRedraw(FALSE)
  1442. dw_uc.Object.u_inware_sptid[dw_uc.GetRow()] = ls_cusid
  1443. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code
  1444. dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_name
  1445. dw_uc.SetRedraw(TRUE)
  1446. // wf_getcusrepamt_info(ls_cusid)
  1447. dw_uc.SetColumn("inrep")
  1448. RETURN 1
  1449. END IF
  1450. elseif dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
  1451. dw_child.setfocus()
  1452. dw_child.scrolltorow(1)
  1453. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  1454. return 1
  1455. else
  1456. if key = KeyEnter! Then //
  1457. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1458. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1459. Return 1
  1460. end If
  1461. end if
  1462. end if
  1463. if keydown(KeyF4!) then //read layout
  1464. //uf_read_profile_filter()
  1465. //uf_read_profile_sort()
  1466. ////uf_read_profile_layout()
  1467. elseif keydown(KeyF5!) then //save layout 不含列显示
  1468. //uf_save_profile_filter()
  1469. //uf_save_profile_sort()
  1470. ////uf_save_profile_layout()
  1471. elseif keydown(KeyF9!) then //reset layout 不含列显示
  1472. //uf_reset_layout()
  1473. elseif keydown(KeyF2!) then //save layout 不含列显示
  1474. this.triggerevent('ue_setlayout')
  1475. end if
  1476. end event
  1477. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1478. IF dwo.Name = 'storageid' THEN
  1479. //wf_lock_plancode(long(data))
  1480. dw_child.Reset()
  1481. PARENT.TriggerEvent("insert_childrow")
  1482. END IF
  1483. end event
  1484. event dw_uc::buttonclicked;call super::buttonclicked;if dw_edit_mode then
  1485. if dwo.name='p_b' or dwo.name='t_choicesaletask_t' then
  1486. parent.triggerevent('ue_f7')
  1487. ELSEIF dwo.Name = 'p_1' OR dwo.Name = 't_2' THEN
  1488. PARENT.TriggerEvent('ue_salerqmtrl')
  1489. END IF
  1490. end if
  1491. end event
  1492. event dw_uc::clicked;call super::clicked;if dwo.name='p_b' or dwo.name='t_choicesaletask_t' then
  1493. parent.TRIGGEREVENT('ue_f7')
  1494. ELSEIF dwo.Name = 'p_1' OR dwo.Name = 't_2' THEN
  1495. PARENT.TriggerEvent('ue_salerqmtrl')
  1496. END IF
  1497. end event
  1498. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_rec
  1499. end type
  1500. type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_rec
  1501. integer x = 9
  1502. integer y = 1316
  1503. integer width = 3552
  1504. integer height = 964
  1505. string dataobject = "dw_inwaremx_rec_edit"
  1506. end type
  1507. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1508. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_prdpackcode,ls_mtrlsectype,ls_zxmtrlmode
  1509. Long ls_mtrlid,ls_orderid,ls_storageid
  1510. String ls_order_relcode
  1511. Decimal ls_planprice,ls_packqty,ls_nofinishqty
  1512. Long li_statusflag
  1513. Long li_woodcodeflag
  1514. Long li_pcodeflag
  1515. s_mtrldef_array arg_s_mtrldef
  1516. Long child_row
  1517. Long ls_null
  1518. SetNull(ls_null)
  1519. IF dw_edit_mode THEN
  1520. dw_uc.AcceptText()
  1521. ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1522. IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  1523. MessageBox('提示','请先选择仓库',information!,ok!)
  1524. RETURN
  1525. END IF
  1526. ls_orderid = dw_uc.Object.u_inware_relid[dw_uc.GetRow()]
  1527. IF KeyDown(keydownarrow!) THEN
  1528. Long li_row
  1529. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1530. PARENT.TriggerEvent("insert_childrow")
  1531. END IF
  1532. ELSE
  1533. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  1534. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  1535. dw_child.AcceptText()
  1536. child_row = dw_child.GetRow()
  1537. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  1538. IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN
  1539. PARENT.TriggerEvent('ue_f8')
  1540. RETURN 1
  1541. ELSE
  1542. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1543. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1544. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1545. ls_unit = arg_s_mtrldef.unit[1]
  1546. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1547. ls_planprice = arg_s_mtrldef.planprice[1]
  1548. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  1549. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  1550. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  1551. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  1552. li_statusflag = arg_s_mtrldef.statusflag[1]
  1553. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1554. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1555. END IF
  1556. dw_child.Object.u_inwaremx_relid[child_row] = ls_orderid
  1557. dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
  1558. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1559. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1560. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1561. dw_child.Object.u_inwaremx_fprice[child_row] = ls_planprice
  1562. dw_child.Object.u_mtrldef_prdpackcode[child_row] = ls_prdpackcode
  1563. dw_child.Object.u_mtrldef_packqty[child_row] = ls_packqty
  1564. dw_child.Object.u_inwaremx_qty[child_row] = ls_nofinishqty
  1565. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1566. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1567. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1568. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1569. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1570. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  1571. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  1572. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  1573. dw_child.Object.u_inwaremx_status[child_row] = arg_s_mtrldef.status[1]
  1574. dw_child.Object.u_inwaremx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  1575. dw_child.Object.u_inwaremx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  1576. parent.triggerevent('ue_allowedit')
  1577. wf_find_cust(child_row,cur_scid,ls_orderid)
  1578. IF Key = keyenter! THEN
  1579. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1580. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1581. RETURN 1
  1582. END IF
  1583. ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1584. IF Key = keyenter! THEN
  1585. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1586. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1587. RETURN 1
  1588. END IF
  1589. ELSEIF dw_child.GetColumnName() = 'u_cust_cuscode' THEN
  1590. dw_child.AcceptText()
  1591. child_row = dw_child.GetRow()
  1592. IF child_row <= 0 THEN RETURN 1
  1593. String ls_cuscode,ls_cusname
  1594. Long li_cusid
  1595. ls_cuscode = dw_child.Object.u_cust_cuscode[child_row]
  1596. SELECT cusid,name INTO :li_cusid,:ls_cusname
  1597. FROM u_cust
  1598. Where cuscode = :ls_cuscode;
  1599. IF sqlca.SQLCode <> 0 THEN
  1600. PARENT.TriggerEvent('ue_f9')
  1601. RETURN 1
  1602. END IF
  1603. dw_child.Object.u_cust_name[child_row] = ls_cusname
  1604. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = li_cusid
  1605. IF Key = keyenter! THEN
  1606. PARENT.TriggerEvent("insert_childrow")
  1607. RETURN 1
  1608. END IF
  1609. ELSE
  1610. IF Key = keyenter! THEN
  1611. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1612. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1613. RETURN 1
  1614. END IF
  1615. END IF
  1616. END IF
  1617. END IF
  1618. END IF
  1619. end event
  1620. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  1621. if dwo.name = 'if_mtrlware' then
  1622. this.accepttext()
  1623. if this.object.if_mtrlware[row] = 1 then
  1624. dw_child.object.u_inwaremx_sptid_cusid[row] = 0
  1625. dw_child.object.u_cust_cuscode[row] = ''
  1626. dw_child.object.u_cust_name[row] = ''
  1627. end if
  1628. end if
  1629. end event
  1630. event dw_child::doubleclicked;dw_child.accepttext()
  1631. if dw_edit_mode and row > 0 then
  1632. if (dwo.name = 'u_cust_cuscode' or dwo.name = 'u_cust_name') and this.object.if_mtrlware[row] = 1 then
  1633. parent.triggerevent('ue_f11')
  1634. elseif dwo.Name = 'u_inwaremx_status' THEN
  1635. PARENT.TriggerEvent('ue_f10')
  1636. elseif dwo.name = 'u_inwaremx_addqty' then
  1637. PARENT.TriggerEvent('ue_f12')
  1638. else
  1639. if dw_child.object.u_inwaremx_ifrel[row] = 1 then
  1640. parent.triggerevent('ue_f7')
  1641. else
  1642. parent.triggerevent('ue_f8')
  1643. end if
  1644. end if
  1645. end if
  1646. end event
  1647. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_rec
  1648. end type
  1649. type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_rec
  1650. end type
  1651. type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_rec
  1652. end type
  1653. event cb_add::clicked;IF NOT f_power_ind(376) THEN
  1654. MessageBox('提示','你没有使用权限!',information!,ok!)
  1655. RETURN
  1656. END IF
  1657. String arg_msg = ''
  1658. Long uc_row,i,j
  1659. IF dw_edit_mode THEN
  1660. dw_uc.AcceptText()
  1661. dw_child.AcceptText()
  1662. uc_row = dw_uc.GetRow()
  1663. IF uc_row <= 0 THEN
  1664. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1665. RETURN
  1666. END IF
  1667. IF NOT dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1668. MessageBox('提示','不合理发生时间!',information!,ok!)
  1669. dw_uc.SetFocus()
  1670. dw_uc.SetColumn("indate")
  1671. RETURN
  1672. END IF
  1673. IF NOT Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN
  1674. MessageBox('提示','请填写经手人!',information!,ok!)
  1675. dw_uc.SetFocus()
  1676. dw_uc.SetColumn("inrep")
  1677. RETURN
  1678. END IF
  1679. IF dw_uc.Object.u_inware_sptid[uc_row] = 0 then
  1680. MessageBox('提示','请选择客户!',information!,ok!)
  1681. dw_uc.SetFocus()
  1682. dw_uc.SetColumn("u_cust_cuscode")
  1683. RETURN
  1684. END IF
  1685. FOR j = 1 TO dw_child.RowCount()
  1686. IF dw_child.Object.u_inwaremx_qty[j] = 0 THEN CONTINUE
  1687. IF dw_child.Object.if_mtrlware[j] = 1 AND dw_child.Object.u_inwaremx_sptid_cusid[j] = 0 THEN
  1688. MessageBox('提示','请先选择客户,第'+string(j)+'行',information!,ok!)
  1689. RETURN
  1690. END IF
  1691. NEXT
  1692. uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
  1693. uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
  1694. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  1695. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  1696. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  1697. uo_ware.sptname = dw_uc.Object.sptname[uc_row]
  1698. uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row]
  1699. uo_ware.sptid = dw_uc.Object.u_inware_sptid[uc_row]
  1700. FOR i = 1 TO dw_child.RowCount()
  1701. IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  1702. IF uo_ware.acceptmx(dw_child.Object.printid[i],&
  1703. dw_child.Object.u_inwaremx_mtrlid[i],&
  1704. dw_child.Object.u_mtrldef_mtrlcode[i],&
  1705. dw_child.Object.u_inwaremx_plancode[i],&
  1706. dw_child.Object.u_inwaremx_status[i],&
  1707. dw_child.Object.u_inwaremx_qty[i],&
  1708. dw_child.Object.u_inwaremx_addqty[i],&
  1709. dw_child.Object.u_inwaremx_fprice[i],&
  1710. 1,&
  1711. dw_child.Object.u_inwaremx_mxdscrp[i],&
  1712. arg_msg,&
  1713. 0,&
  1714. dw_child.Object.u_inwaremx_relid[i],&
  1715. dw_child.Object.u_inwaremx_relprintid[i],&
  1716. dw_child.Object.u_inwaremx_ifrel[i],&
  1717. dw_child.Object.u_inwaremx_woodcode[i],&
  1718. dw_child.Object.u_inwaremx_pcode[i],&
  1719. '',&
  1720. dw_child.Object.u_inwaremx_sptid_cusid[i],&
  1721. dw_child.Object.u_mtrldef_unit[i],&
  1722. 1,'',&
  1723. dw_child.Object.u_inwaremx_waredscrp[i],&
  1724. dw_child.Object.u_inwaremx_inworkdate[i],0) = 0 THEN
  1725. MessageBox('错误',arg_msg,stopsign!,ok!)
  1726. RETURN
  1727. END IF
  1728. END IF
  1729. NEXT
  1730. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  1731. MessageBox('错误',arg_msg,stopsign!,ok!)
  1732. RETURN
  1733. END IF
  1734. MessageBox('提示','保存操作成功!',information!,ok!)
  1735. //write ini
  1736. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  1737. //
  1738. long ll_row
  1739. ll_row = dw_uc.getrow()
  1740. dw_uc.SelectRow(0,FALSE)
  1741. dw_uc.SelectRow(ll_row,TRUE)
  1742. wf_refresh_curuc(cur_scid,uo_ware.inwareid) //刷新uc
  1743. ELSE
  1744. IF uo_ware.newbegin(cur_scid,20,arg_msg) = 0 THEN
  1745. MessageBox('错误',arg_msg,stopsign!,ok!)
  1746. RETURN
  1747. END IF
  1748. END IF
  1749. CALL SUPER::Clicked
  1750. //read ini
  1751. IF dw_edit_mode THEN
  1752. PARENT.TriggerEvent("insert_childrow")
  1753. dw_uc.SetRedraw(FALSE)
  1754. String ls_storageid
  1755. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  1756. IF f_find_storageid(ls_storageid) = '' THEN
  1757. ls_storageid = '0'
  1758. END IF
  1759. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  1760. dw_uc.SetColumn("storageid")
  1761. dw_uc.SetRedraw(TRUE)
  1762. //wf_lock_plancode(long(ls_storageid))
  1763. ELSE
  1764. PARENT.TriggerEvent("retrieve_childdw")
  1765. END IF
  1766. //
  1767. end event
  1768. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_rec
  1769. end type
  1770. event cb_edit::clicked;IF NOT f_power_ind(376) THEN
  1771. MessageBox('提示','你没有使用权限!',information!,ok!)
  1772. RETURN
  1773. END IF
  1774. string arg_msg=''
  1775. long uc_row,ll_storageid
  1776. uc_row=dw_pageretr.getrow()
  1777. if uc_row<=0 then
  1778. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1779. return
  1780. end if
  1781. ll_storageid = dw_pageretr.object.storageid[uc_row]
  1782. if not dw_edit_mode then
  1783. if uo_ware.updatebegin(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],20,arg_msg)=0 then
  1784. messagebox('错误',arg_msg,stopsign!,ok!)
  1785. return
  1786. end if
  1787. parent.triggerevent('ue_allowedit')
  1788. //wf_lock_plancode(ll_storageid)
  1789. end if
  1790. call super::clicked
  1791. end event
  1792. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_rec
  1793. end type
  1794. event cb_delet::clicked;IF NOT f_power_ind(597) THEN
  1795. MessageBox('提示','你没有使用权限!',information!,ok!)
  1796. RETURN
  1797. END IF
  1798. if dw_edit_mode then return
  1799. string arg_msg=''
  1800. long uc_row
  1801. uc_row=dw_pageretr.getrow()
  1802. if uc_row<=0 then
  1803. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1804. return
  1805. end if
  1806. IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1807. if uo_ware.del(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid [uc_row],arg_msg,true)=0 then
  1808. messagebox('错误',arg_msg,stopsign!,ok!)
  1809. ELSE
  1810. //日志
  1811. long ls_id
  1812. string ls_code
  1813. ls_id=dw_pageretr.object.inwareid [uc_row]
  1814. ls_code=dw_pageretr.object.inwarecode[uc_row]
  1815. f_setsysoplog('生产进仓单','删除,ID:'+string(LS_id)+',code:'+ls_code,arg_msg,true)
  1816. //--
  1817. MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.inwarecode[uc_row])+'成功!',information!,ok!)
  1818. dw_pageretr.deleterow(uc_row)
  1819. dw_pageretr.postevent(rowfocuschanged!)
  1820. end if
  1821. end event
  1822. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_rec
  1823. end type
  1824. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1825. string menustr
  1826. menustr="Text=增加备注~tEvent=ue_addzy"
  1827. menustr=menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  1828. menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  1829. menustr = menustr + "|" + "Text=-"
  1830. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1831. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1832. if len(trim(menustr))<>0 then
  1833. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1834. dmPopupMenu.mf_BuildMenu(This, menustr)
  1835. dmPopupMenu.mf_PopMenu()
  1836. Destroy dmPopupMenu
  1837. end if
  1838. end event
  1839. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_inware_rec
  1840. end type
  1841. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(63) THEN
  1842. MessageBox('提示','你没有使用权限!',information!,ok!)
  1843. RETURN
  1844. END IF
  1845. IF dw_edit_mode THEN RETURN
  1846. IF NOT KeyDown(KeyControl!) THEN
  1847. String arg_msg = ''
  1848. Long pagerert_row
  1849. pagerert_row = dw_pageretr.GetRow()
  1850. IF pagerert_row <= 0 THEN
  1851. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1852. RETURN
  1853. END IF
  1854. IF MessageBox ("询问","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1855. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  1856. MessageBox('错误',arg_msg,stopsign!,ok!)
  1857. RETURN
  1858. END IF
  1859. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1860. MessageBox('错误',arg_msg,stopsign!,ok!)
  1861. ELSE
  1862. MessageBox('提示','审核成功!',information!,ok!)
  1863. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  1864. END IF
  1865. ELSE
  1866. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",Question!,YesNo! ) = 2 THEN RETURN
  1867. Long ll_i,ll_billid
  1868. Int li_flag
  1869. Long ll_suc,ll_fail
  1870. dw_pageretr.AcceptText()
  1871. OPEN(w_sys_wait_jdt) //初始化进度条
  1872. w_sys_wait_jdt.Show()
  1873. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1874. FOR ll_i = 1 TO dw_pageretr.RowCount()
  1875. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  1876. li_flag = dw_pageretr.Object.flag[ll_i]
  1877. IF li_flag = 1 THEN CONTINUE
  1878. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  1879. IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN
  1880. ll_fail++
  1881. CONTINUE
  1882. END IF
  1883. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1884. ll_fail++
  1885. CONTINUE
  1886. END IF
  1887. ll_suc++
  1888. w_sys_wait_jdt.wf_inc(ll_i) //进度
  1889. NEXT
  1890. CLOSE(w_sys_wait_jdt)
  1891. MessageBox('提示','批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,ok!)
  1892. PARENT.TriggerEvent('retrieve_pageretr')
  1893. END IF
  1894. end event
  1895. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_rec
  1896. end type
  1897. event cb_xm::clicked;is_mx_menustr = ''
  1898. is_mx_menustr = is_mx_menustr + "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  1899. call super::clicked
  1900. end event
  1901. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_rec
  1902. end type
  1903. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_rec
  1904. end type
  1905. type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_rec
  1906. end type
  1907. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_rec
  1908. end type
  1909. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(63) THEN
  1910. MessageBox('提示','你没有使用权限!',information!,ok!)
  1911. RETURN
  1912. END IF
  1913. IF dw_edit_mode THEN RETURN
  1914. String arg_msg = ''
  1915. Long pagerert_row
  1916. pagerert_row = dw_pageretr.GetRow()
  1917. IF pagerert_row <= 0 THEN
  1918. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1919. RETURN
  1920. END IF
  1921. IF MessageBox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1922. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  1923. MessageBox('错误',arg_msg,stopsign!,ok!)
  1924. RETURN
  1925. END IF
  1926. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  1927. MessageBox('错误',arg_msg,stopsign!,ok!)
  1928. ELSE
  1929. //日志
  1930. Long ls_id
  1931. String ls_code
  1932. ls_id = dw_pageretr.Object.inwareid [pagerert_row]
  1933. ls_code = dw_pageretr.Object.inwarecode[pagerert_row]
  1934. f_setsysoplog('生产进仓单','撤审,ID:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  1935. //--
  1936. MessageBox('提示','撤消审核成功!',information!,ok!)
  1937. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  1938. END IF
  1939. end event
  1940. type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_rec
  1941. end type
  1942. type p_help from w_publ_1ton_share_detail`p_help within w_inware_rec
  1943. end type
  1944. type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_rec
  1945. end type
  1946. type p_other from w_publ_1ton_share_detail`p_other within w_inware_rec
  1947. end type
  1948. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_rec
  1949. end type
  1950. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_rec
  1951. end type
  1952. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_rec
  1953. end type
  1954. type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_rec
  1955. end type
  1956. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_rec
  1957. end type
  1958. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_rec
  1959. end type
  1960. type ddlb_status from dropdownlistbox within w_inware_rec
  1961. integer x = 1696
  1962. integer y = 188
  1963. integer width = 549
  1964. integer height = 300
  1965. integer taborder = 30
  1966. boolean bringtotop = true
  1967. integer textsize = -9
  1968. integer weight = 400
  1969. fontcharset fontcharset = gb2312charset!
  1970. fontpitch fontpitch = variable!
  1971. string facename = "宋体"
  1972. long textcolor = 33554432
  1973. string text = "[全部]"
  1974. boolean sorted = false
  1975. string item[] = {"[全部]","待审核","已审核"}
  1976. borderstyle borderstyle = stylelowered!
  1977. end type
  1978. event selectionchanged;if index=1 then
  1979. cur_flag=-1
  1980. elseif index=2 then
  1981. cur_flag= 0
  1982. elseif index=3 then
  1983. cur_flag= 1
  1984. end if
  1985. parent.triggerevent("retrieve_pageretr")
  1986. end event
  1987. type st_2 from statictext within w_inware_rec
  1988. integer x = 1522
  1989. integer y = 200
  1990. integer width = 219
  1991. integer height = 48
  1992. integer textsize = -9
  1993. integer weight = 400
  1994. fontcharset fontcharset = gb2312charset!
  1995. fontpitch fontpitch = variable!
  1996. string facename = "宋体"
  1997. long textcolor = 33554432
  1998. long backcolor = 134217739
  1999. string text = "状 态"
  2000. boolean focusrectangle = false
  2001. end type
  2002. type st_3 from statictext within w_inware_rec
  2003. integer x = 773
  2004. integer y = 200
  2005. integer width = 219
  2006. integer height = 48
  2007. boolean bringtotop = true
  2008. integer textsize = -9
  2009. integer weight = 400
  2010. fontcharset fontcharset = gb2312charset!
  2011. fontpitch fontpitch = variable!
  2012. string facename = "宋体"
  2013. long textcolor = 33554432
  2014. long backcolor = 134217739
  2015. string text = "分 部"
  2016. boolean focusrectangle = false
  2017. end type
  2018. type ddlb_scid from uo_ddlb_scid within w_inware_rec
  2019. integer x = 946
  2020. integer y = 188
  2021. integer width = 549
  2022. integer height = 648
  2023. boolean bringtotop = true
  2024. end type
  2025. event constructor;call super::constructor;cur_scid=this.uo_scid
  2026. cur_scid_arr = THIS.uo_scid_arr
  2027. end event
  2028. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  2029. cur_scid_arr = THIS.uo_scid_arr
  2030. parent.triggerevent("retrieve_pageretr")
  2031. end event