w_inware_rec_th.srw 72 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651
  1. $PBExportHeader$w_inware_rec_th.srw
  2. forward
  3. global type w_inware_rec_th from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_status from dropdownlistbox within w_inware_rec_th
  6. end type
  7. type st_2 from statictext within w_inware_rec_th
  8. end type
  9. type st_3 from statictext within w_inware_rec_th
  10. end type
  11. type ddlb_scid from uo_ddlb_scid within w_inware_rec_th
  12. end type
  13. end forward
  14. global type w_inware_rec_th from w_publ_1ton_share_detail
  15. string title = "来料加工退料单"
  16. boolean maxbox = true
  17. windowstate windowstate = maximized!
  18. long dw_pageretr_w = 33835544
  19. long dw_child_h = 33938164
  20. long dw_child_w = 33939932
  21. event insert_childrow ( )
  22. event ue_fj_edit ( )
  23. event ue_fj_view ( )
  24. event ue_cmpl_status_qty ( )
  25. event ue_salerqmtrl ( )
  26. ddlb_status ddlb_status
  27. st_2 st_2
  28. st_3 st_3
  29. ddlb_scid ddlb_scid
  30. end type
  31. global w_inware_rec_th w_inware_rec_th
  32. type variables
  33. uo_inware_cp uo_ware
  34. uo_custdef uo_cust
  35. long cur_flag= -1 //-1:全部,0未审
  36. long cur_scid //分店ID
  37. long cur_scid_arr[]
  38. string ol_cdw_str = ''
  39. end variables
  40. forward prototypes
  41. public function integer wf_flagstatus_rf ()
  42. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
  43. public subroutine wf_find_cust (long arg_childrow, long arg_scid, long arg_orderid)
  44. public function integer wf_autoaddmx (long arg_scid, long arg_saletaskid, string arg_taskcode, long arg_storageid, long arg_cusid, ref string arg_msg)
  45. 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)
  46. public subroutine wf_check_billfj ()
  47. 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)
  48. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  49. public function integer wf_get_cusid (long arg_cusid)
  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 = 343 //销售订单的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 = 343 //销售订单的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 Left outer 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_cus
  433. uo_cus = CREATE uo_custdef
  434. uo_cus.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_cus.getinfo(arg_cusid,arg_msg) = 1 THEN
  448. ls_cuscode = uo_cus.s_cust.cuscode
  449. ls_cusname = uo_cus.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_fprice[child_llrow] = s_rqmtrlI.fprice[li]
  505. dw_child.Object.u_inwaremx_qty[child_llrow] = 0
  506. dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
  507. dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
  508. dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
  509. dw_child.Object.u_inwaremx_relcode[child_llrow] = arg_taskcode
  510. dw_child.Object.u_inwaremx_plancode[child_llrow] = arg_taskcode
  511. // dw_child.Object.u_inwaremx_status[child_llrow] = s_rqmtrlI.status[li]
  512. // dw_child.Object.u_inwaremx_woodcode[child_llrow] = s_rqmtrlI.woodcode[li]
  513. // dw_child.Object.u_inwaremx_pcode[child_llrow] = s_rqmtrlI.pcode[li]
  514. dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
  515. dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
  516. dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
  517. dw_child.Object.u_inwaremx_mxdscrp[child_llrow] = s_rqmtrlI.mxdscrp[li]
  518. Long li_statusflag
  519. Long li_woodcodeflag
  520. Long li_pcodeflag
  521. s_mtrldef_array arg_s_mtrldef
  522. IF f_find_mtrl(ins_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  523. li_statusflag = 0
  524. li_woodcodeflag = 0
  525. li_pcodeflag = 0
  526. ELSE
  527. li_statusflag = arg_s_mtrldef.statusflag[1]
  528. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  529. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  530. END IF
  531. dw_child.Object.u_mtrldef_statusflag[child_llrow] = li_statusflag
  532. dw_child.Object.u_mtrldef_woodcodeflag[child_llrow] = li_woodcodeflag
  533. dw_child.Object.u_mtrldef_pcodeflag[child_llrow] = li_pcodeflag
  534. NEXT
  535. ext:
  536. RETURN rslt
  537. end function
  538. 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)
  539. //查询合同物料资料
  540. //把物料资料写入数组
  541. long rslt=1
  542. //查询合同物料
  543. DECLARE pf_cur CURSOR FOR
  544. SELECT u_saletaskmx.mtrlid,
  545. u_saletaskmx.SaleQty - u_saletaskmx.consignedqty,
  546. u_saletaskmx.enprice,
  547. u_saletaskmx.fprice,
  548. u_saletaskmx.rebate,
  549. u_saletaskmx.mxdscrp,
  550. u_saletaskmx.status,
  551. u_saletaskmx.woodcode,
  552. u_saletaskmx.pcode,
  553. u_saletaskmx.mxdscrp
  554. FROM u_saletaskmx ,u_mtrldef
  555. WHERE u_saletaskmx.mtrlid= u_mtrldef.mtrlid and
  556. ( u_saletaskmx.taskid = :arg_taskid )
  557. and ( u_saletaskmx.SaleQty - u_saletaskmx.consignedqty <> 0 )
  558. and ( u_saletaskmx.scid = :arg_scid );
  559. open pf_cur;
  560. arg_p_rqmtrl=1
  561. fetch pf_cur into :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl],
  562. :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],:arg_s_rqmtrl.rebate[arg_p_rqmtrl],
  563. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.status[arg_p_rqmtrl],
  564. :arg_s_rqmtrl.woodcode[arg_p_rqmtrl],:arg_s_rqmtrl.pcode[arg_p_rqmtrl],
  565. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl];
  566. do while sqlca.sqlcode=0
  567. arg_p_rqmtrl++
  568. fetch pf_cur into :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl],
  569. :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],:arg_s_rqmtrl.rebate[arg_p_rqmtrl],
  570. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.status[arg_p_rqmtrl],
  571. :arg_s_rqmtrl.woodcode[arg_p_rqmtrl],:arg_s_rqmtrl.pcode[arg_p_rqmtrl],
  572. :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl];
  573. loop
  574. arg_p_rqmtrl=arg_p_rqmtrl - 1
  575. close pf_cur;
  576. return rslt
  577. end function
  578. public subroutine wf_check_billfj ();String arg_msg
  579. Long ll_ConnectionID
  580. Long cur_billtype
  581. long ll_relid,ll_relid_mx,ll_scid
  582. Long ls_filecount = 0
  583. Int rslt = 1
  584. uo_fj_mng_billtype ls_uo_fjbt
  585. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  586. Long row,uc_relid
  587. row = dw_pageretr.GetRow()
  588. IF row > 0 THEN
  589. ll_relid = dw_pageretr.Object.inwareid[row]
  590. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  591. ll_relid_mx = 0
  592. ELSE
  593. rslt = 0
  594. GOTO ext
  595. END IF
  596. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  597. rslt = 0
  598. GOTO ext
  599. END IF
  600. cur_billtype = 343 //客户投拆单的 mainiD
  601. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  602. IF ls_filecount > 0 THEN
  603. rslt = 1
  604. GOTO ext
  605. ELSE
  606. rslt = 0
  607. GOTO ext
  608. END IF
  609. ext:
  610. wf_encl(rslt)
  611. DESTROY ls_uo_fjbt
  612. end subroutine
  613. 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);//==============================================================================
  614. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  615. //------------------------------------------------------------------------------
  616. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  617. //------------------------------------------------------------------------------
  618. Long LS_ROW,ll_id,i,ll_scid
  619. LS_ROW = dw_uc.GetRow()
  620. IF LS_ROW <= 0 THEN
  621. arg_msg = '没有目标单据!'
  622. RETURN 0
  623. END IF
  624. //修改点:获取 指定retriev参数
  625. ll_id = dw_uc.Object.#1[LS_ROW]
  626. ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
  627. //查询所选模版是否含有图片信息
  628. Long ll_ifpic
  629. Long ll_classid
  630. SELECT ifpic
  631. INTO :ll_ifpic
  632. FROM U_XLS_Templates
  633. Where id = :ll_xls_Templatesid;
  634. IF sqlca.SQLCode <> 0 THEN
  635. ll_ifpic = 0
  636. END IF
  637. Long ll_i,ll_j
  638. Long ll_mtrlid
  639. Long ll_fileid
  640. Blob ls_filedata
  641. SetNull(ls_filedata)
  642. String Pathname,ls_filename,ls_filetype
  643. String errmsg
  644. uo_fj_mng_billtype ls_uo_fjbt
  645. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  646. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  647. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  648. SELECT classid
  649. INTO :ll_classid
  650. FROM u_billpic_fileclass
  651. Where (billtype = 343);
  652. IF sqlca.SQLCode <> 0 THEN
  653. ll_classid = 0
  654. END IF
  655. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  656. FOR ll_i = 1 TO dw_child.RowCount()
  657. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  658. //取该附件类型中的第一个附件.
  659. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  660. FROM u_file
  661. WHERE relid = :ll_mtrlid
  662. AND classid = :ll_classid
  663. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  664. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  665. USING sys_fileDB_sqlca;
  666. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  667. ll_fileid = 0
  668. END IF
  669. IF ll_fileid > 0 THEN
  670. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  671. IF Trim(Pathname) <> '' THEN
  672. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  673. RETURN 0
  674. END IF
  675. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  676. RETURN 0
  677. ELSE
  678. s_pic.path[ll_i] = Pathname
  679. //记录临时文件位置,本窗口退出后删除
  680. wf_addlog_tempfilepathname(Pathname)
  681. END IF
  682. ELSE
  683. s_pic.path[ll_i] = ''
  684. END IF
  685. ELSE
  686. s_pic.path[ll_i] = ''
  687. END IF
  688. NEXT
  689. END IF
  690. //
  691. END IF
  692. ////可选设置///
  693. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  694. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  695. boolean xls_locked
  696. xls_locked = not (sys_option_xls_lock = 1)
  697. /// Excel 的可选设置
  698. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  699. return 0
  700. end if
  701. for i = 1 to arg_str_billlist.count
  702. ////可选操作///
  703. arg_str_billlist.bill[i].ds_data = create datastore //
  704. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  705. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  706. //修改点:注意retrieve 参数与上文对应
  707. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  708. next
  709. return 1
  710. end function
  711. 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
  712. LS_ROW = dw_pageretr.GetRow()
  713. IF LS_ROW <= 0 THEN
  714. arg_msg = '没有目标单据!'
  715. RETURN 0
  716. END IF
  717. //修改点:获取 指定retriev参数
  718. ll_id = dw_pageretr.Object.#1[LS_ROW]
  719. ll_scid = dw_pageretr.Object.u_inware_scid[LS_ROW]
  720. Long ll_i,ll_j
  721. Long ll_mtrlid
  722. Long ll_fileid
  723. Blob ls_filedata
  724. SetNull(ls_filedata)
  725. String Pathname,ls_filename,ls_filetype
  726. String errmsg
  727. uo_fj_mng_billtype ls_uo_fjbt
  728. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  729. Long ll_classid
  730. SELECT classid
  731. INTO :ll_classid
  732. FROM u_billpic_fileclass
  733. Where (billtype = 102);
  734. IF sqlca.SQLCode <> 0 THEN
  735. ll_classid = 0
  736. END IF
  737. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  738. FOR ll_i = 1 TO dw_child.RowCount()
  739. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  740. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  741. //取该附件类型中的第一个附件.
  742. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  743. FROM u_file
  744. WHERE relid = :ll_mtrlid
  745. AND classid = :ll_classid
  746. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  747. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  748. USING sys_fileDB_sqlca;
  749. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  750. ll_fileid = 0
  751. END IF
  752. IF ll_fileid > 0 THEN
  753. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  754. IF Trim(Pathname) <> '' THEN
  755. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  756. RETURN 0
  757. END IF
  758. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  759. RETURN 0
  760. ELSE
  761. arg_s_pic.path[ll_i] = Pathname
  762. //记录临时文件位置,本窗口退出后删除
  763. wf_addlog_tempfilepathname(Pathname)
  764. END IF
  765. ELSE
  766. arg_s_pic.path[ll_i] = ''
  767. END IF
  768. ELSE
  769. arg_s_pic.path[ll_i] = ''
  770. END IF
  771. NEXT
  772. END IF
  773. RETURN 1
  774. end function
  775. public function integer wf_get_cusid (long arg_cusid);Long ll_cusid
  776. ll_cusid = dw_uc.Object.u_inware_sptid[dw_uc.GetRow()]
  777. IF IsNull(ll_cusid) Or ll_cusid = 0 THEN
  778. This.TriggerEvent("ue_f9")
  779. ll_cusid = dw_uc.Object.u_inware_sptid[dw_uc.GetRow()]
  780. IF IsNull(ll_cusid) Or ll_cusid = 0 THEN
  781. MessageBox('提示','请先选择客户',information!,OK!)
  782. RETURN 0
  783. END IF
  784. END IF
  785. arg_cusid = ll_cusid
  786. RETURN 1
  787. end function
  788. on w_inware_rec_th.create
  789. int iCurrent
  790. call super::create
  791. this.ddlb_status=create ddlb_status
  792. this.st_2=create st_2
  793. this.st_3=create st_3
  794. this.ddlb_scid=create ddlb_scid
  795. iCurrent=UpperBound(this.Control)
  796. this.Control[iCurrent+1]=this.ddlb_status
  797. this.Control[iCurrent+2]=this.st_2
  798. this.Control[iCurrent+3]=this.st_3
  799. this.Control[iCurrent+4]=this.ddlb_scid
  800. end on
  801. on w_inware_rec_th.destroy
  802. call super::destroy
  803. destroy(this.ddlb_status)
  804. destroy(this.st_2)
  805. destroy(this.st_3)
  806. destroy(this.ddlb_scid)
  807. end on
  808. event open;THIS.TriggerEvent('ue_before_open')
  809. wf_movetocenter()
  810. ds_copy_bill = CREATE datastore
  811. ds_copy_bill.DataObject = dw_child.dataobject
  812. ds_copy_bill.SetTransObject(sqlca)
  813. OLD_TITLE = THIS.Title
  814. s_tran = Message.PowerObjectParm
  815. IF NOT IsNull(s_tran) THEN
  816. retrieve_all = s_tran.if_retrieve_all
  817. mode = s_tran.work_mode
  818. arg_pkid = s_tran.arg_pkid
  819. arg_string_code = s_tran.arg_string_code
  820. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  821. ds_share = s_tran.ds_share
  822. END IF
  823. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  824. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  825. dw_pageretr.SetTransObject (sqlca)
  826. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  827. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  828. //====================================================================
  829. // Script - w_inware_cp inherited from w_publ_1ton_share_detail for open
  830. // Reason:
  831. //--------------------------------------------------------------------
  832. // Modified By: yyx Date: 2003.12.01
  833. //--------------------------------------------------------------------
  834. ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  835. //====================================================================
  836. ls_newselect = ori_oldselect
  837. ds_curquery = CREATE DATASTORE
  838. ds_curquery.DataObject = 'd_extr_find'
  839. ds_curquery.SetTransObject (sqlca)
  840. wf_editindex_lockf()
  841. IF s_tran.d_long = 2 THEN
  842. cur_scid = s_tran.c_long
  843. Int li_item
  844. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  845. IF li_item > 0 THEN
  846. ddlb_scid.SelectItem(li_item)
  847. END IF
  848. END IF
  849. sle_usual_query.Text = Trim(arg_string_code)
  850. IF NOT retrieve_all THEN
  851. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  852. ELSE
  853. IF if_sharedata THEN
  854. ds_share.ShareData(dw_pageretr)
  855. ELSE
  856. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  857. THIS.TriggerEvent('RETRIEVE_pageretr')
  858. END IF
  859. END IF
  860. IF retrieve_all THEN
  861. THIS.TriggerEvent("ue_usual_query_filt")
  862. END IF
  863. uc_column_int = 8 //uc dw前5列可以编辑
  864. child_column_int = 14//子dw前5列可以编辑
  865. uo_ware = CREATE uo_inware_cp
  866. uo_ware.commit_transaction = sqlca
  867. uo_cust=create uo_custdef
  868. uo_cust.commit_transaction=sqlca
  869. s_hide_col s_col
  870. s_col.col_1 = 'u_inwaremx_fprice'
  871. s_col.col_2 = 'amt'
  872. //f_hide_col(121,dw_child,s_col)
  873. f_hide_col(1449,dw_child,s_col)
  874. s_hide_col s_col_mtrlsectype
  875. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  876. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  877. s_hide_col s_col_zxmtrlmode
  878. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  879. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  880. end event
  881. event close;call super::close;destroy uo_ware
  882. wf_del_tempfilepathname()
  883. end event
  884. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  885. ddlb_status.Enabled = NOT dw_edit_mode
  886. IF dw_edit_mode THEN
  887. ddlb_scid.Enabled = FALSE
  888. ELSE
  889. IF sys_scid > 0 THEN
  890. ddlb_scid.Enabled = FALSE
  891. ELSE
  892. ddlb_scid.Enabled = TRUE
  893. END IF
  894. END IF
  895. end event
  896. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  897. row = dw_pageretr.GetRow()
  898. IF row > 0 THEN
  899. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  900. uc_relid = dw_pageretr.Object.inwareid[row]
  901. dw_child.SetRedraw (FALSE)
  902. dw_child.Retrieve(uc_relid,ll_scid)
  903. dw_child.SetRedraw (TRUE)
  904. ELSE
  905. dw_child.Reset()
  906. END IF
  907. end event
  908. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  909. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  910. cb_nextpage_enabled=cb_nextpage.enabled
  911. cb_retrieveall_enabled=cb_retrieveall.enabled
  912. cb_func_enabled=cb_func.enabled
  913. cb_nextpage.enabled=false
  914. cb_retrieveall.enabled=false
  915. cb_func.enabled=false
  916. //只显未自已管的仓库
  917. datawindowchild childdw
  918. string new_sqlstr,modify_str
  919. dw_uc.SetTransObject (sqlca)
  920. dw_uc.getchild("storageid",childdw)
  921. childdw.SetTransObject (sqlca)
  922. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  923. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  924. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  925. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  926. childdw.modify ( modify_str )
  927. if childdw.retrieve(cur_scid) = 0 then
  928. childdw.InsertRow(0)
  929. END IF
  930. //childdw.retrieve()
  931. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  932. dw_pageretr.Retrieve(cur_scid_arr,sys_user_storageid,cur_flag)
  933. IF dw_pageretr.RowCount() > 0 THEN
  934. dw_pageretr.SetRow(1)
  935. dw_pageretr.triggerevent(rowfocuschanged!)
  936. end if
  937. this.triggerevent('retrieve_childdw')
  938. cb_nextpage.enabled=cb_nextpage_enabled
  939. cb_retrieveall.enabled=cb_retrieveall_enabled
  940. cb_func.enabled=cb_func_enabled
  941. end event
  942. event ue_usual_query_filt;call super::ue_usual_query_filt;string ls_querystrpart=''
  943. ls_newselect=lower(ori_oldselect)
  944. if trim(sle_usual_query.text)<>'' then
  945. if pos(trim(sle_usual_query.text),'%')=0 then
  946. ls_querystrpart="(u_inware_inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  947. else
  948. ls_querystrpart="(u_inware_inwarecode like '"+trim(sle_usual_query.text)+"')"
  949. end if
  950. if Pos(ls_newselect," where ") <> 0 then
  951. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  952. else
  953. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  954. end if
  955. end if
  956. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  957. this.triggerevent('retrieve_pageretr')
  958. end event
  959. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  960. ls_newselect=lower(ori_oldselect)
  961. if trim(sle_usual_query.text)<>'' then
  962. if pos(trim(sle_usual_query.text),'%')=0 then
  963. ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  964. else
  965. ls_querystrpart="(u_inware.inwarecode like '"+trim(sle_usual_query.text)+"')"
  966. end if
  967. if Pos(ls_newselect," where ") <> 0 then
  968. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  969. else
  970. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  971. end if
  972. end if
  973. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  974. this.triggerevent('retrieve_pageretr')
  975. end event
  976. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  977. If Not dw_edit_mode Then Return
  978. //IF flag = 1 THEN RETURN
  979. Long child_row,ll_storageid = 0,cnt_childdw
  980. Long ll_moneyid
  981. Long ls_null
  982. Long chc = 1,ls_j,ll_custid
  983. Decimal lde_rate,ld_tax
  984. String ls_msg
  985. s_cmpl_qty arg_cmpl,null_cmpl
  986. Decimal ld_qty
  987. Int li_mtrlid,li_cusid
  988. Dec ld_cusprice
  989. s_edit_index_tran s_tranf8 //传递参数使用
  990. SetNull(ls_null)
  991. If wf_get_cusid(ll_custid) = 0 Then
  992. Return
  993. End If
  994. dw_uc.AcceptText()
  995. dw_child.AcceptText()
  996. child_row = dw_child.GetRow()
  997. If sys_option_hide_ware = 0 Then //如果隐藏仓库的,直接选物料
  998. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  999. If ll_storageid = 0 Or IsNull(ll_storageid) Then
  1000. MessageBox('提示','请先选择仓库',information!,OK!)
  1001. Return
  1002. End If
  1003. Int li_if_cus_mtrlware
  1004. Select balctype Into :li_if_cus_mtrlware
  1005. From u_storage
  1006. Where storageid = :ll_storageid;
  1007. If sqlca.SQLCode <> 0 Then
  1008. MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!)
  1009. Return
  1010. End If
  1011. //初始化参数
  1012. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  1013. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  1014. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1015. s_tranf8.b_long = 0
  1016. If li_if_cus_mtrlware = 1 Then ///////////// //
  1017. s_tranf8.c_long = ll_custid
  1018. Else
  1019. s_tranf8.c_long = -1
  1020. End If
  1021. If Not IsValid(w_mtrlware_storageid_ch) Then
  1022. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  1023. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  1024. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1025. s_tranf8.d_long = ll_storageid
  1026. If dw_child.GetRow() > 0 Then s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  1027. OpenWithParm(w_mtrlware_storageid_ch,s_tranf8)
  1028. s_mtrlware_noalloc_array S_INSCUST
  1029. S_INSCUST = Message.PowerObjectParm
  1030. For ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
  1031. If S_INSCUST.mtrlwareid[ls_j] > 0 Then
  1032. If dw_child.GetRow() > 0 Then
  1033. If dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()] <> 0 Then
  1034. child_row = dw_child.InsertRow (0)
  1035. Else
  1036. child_row = dw_child.GetRow()
  1037. End If
  1038. Else
  1039. child_row = dw_child.InsertRow (0)
  1040. End If
  1041. dw_child.Object.u_inwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  1042. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
  1043. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
  1044. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
  1045. dw_child.Object.u_inwaremx_qty[child_row] = S_INSCUST.noallocqty[ls_j]
  1046. dw_child.Object.u_inwaremx_status[child_row] = S_INSCUST.status[ls_j]
  1047. dw_child.Object.u_inwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  1048. dw_child.Object.u_inwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  1049. dw_child.Object.u_inwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j]
  1050. dw_child.Object.u_inwaremx_waredscrp[child_row] = S_INSCUST.waredscrp[ls_j]
  1051. dw_child.Object.u_cust_cuscode[child_row] = S_INSCUST.sptcode[ls_j]
  1052. dw_child.Object.u_cust_name[child_row] = S_INSCUST.sptname[ls_j]
  1053. dw_child.Object.u_inwaremx_sptid_cusid [child_row] = S_INSCUST.sptid[ls_j]
  1054. dw_child.Object.u_inwaremx_fprice[child_row] = s_inscust.cost[ls_j]
  1055. End If
  1056. Next
  1057. End If
  1058. Else
  1059. If Not IsValid(W_mtrldef_edit) Then
  1060. //传递参数使用
  1061. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  1062. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1063. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  1064. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1065. s_tranf8.if_select_all = True //多选
  1066. s_tranf8.b_long = -1 //选采购
  1067. s_tranf8.c_long = -1
  1068. If dw_child.GetRow() > 0 Then s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  1069. OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
  1070. s_mtrldef_array S_INSCUST2
  1071. S_INSCUST2 = Message.PowerObjectParm //接受返回结构
  1072. For ls_j = 1 To UpperBound(S_INSCUST2.mtrlid)
  1073. If S_INSCUST2.mtrlid[ls_j] > 0 Then //正常返回值则可以取以下值
  1074. If dw_child.GetRow() > 0 Then
  1075. If dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()] <> 0 Then
  1076. child_row = dw_child.InsertRow (0)
  1077. Else
  1078. child_row = dw_child.GetRow()
  1079. End If
  1080. Else
  1081. child_row = dw_child.InsertRow (0)
  1082. End If
  1083. dw_child.Object.u_inwaremx_mtrlid[child_row] = S_INSCUST2.mtrlid[ls_j]
  1084. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST2.mtrlcode[ls_j]
  1085. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST2.mtrlname[ls_j]
  1086. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST2.mtrlmode[ls_j]
  1087. dw_child.Object.u_inwaremx_qty[child_row] = 0
  1088. dw_child.Object.u_inwaremx_status[child_row] = S_INSCUST2.status[ls_j]
  1089. dw_child.Object.u_inwaremx_woodcode[child_row] = S_INSCUST2.woodcode[ls_j]
  1090. dw_child.Object.u_inwaremx_pcode[child_row] = S_INSCUST2.pcode[ls_j]
  1091. dw_child.Object.u_inwaremx_plancode[child_row] = ''
  1092. dw_child.Object.u_inwaremx_waredscrp[child_row] = ''
  1093. dw_child.Object.u_cust_cuscode[child_row] = ''
  1094. dw_child.Object.u_cust_name[child_row] = ''
  1095. dw_child.Object.u_inwaremx_sptid_cusid [child_row] = 0
  1096. dw_child.Object.u_inwaremx_fprice[child_row] = s_inscust.cost[ls_j]
  1097. End If
  1098. Next
  1099. End If
  1100. End If
  1101. dw_child.SetRedraw(True)
  1102. dw_child.SetFocus()
  1103. ////////////////////////////////// //
  1104. end event
  1105. event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(469) THEN
  1106. MessageBox('提示','你没有使用权限!',information!,ok!)
  1107. RETURN
  1108. END IF
  1109. Long LS_ROW
  1110. LS_ROW = dw_pageretr.GetRow()
  1111. IF LS_ROW <= 0 THEN
  1112. MessageBox('提示','没有打印目标单据!',information!,ok!)
  1113. RETURN
  1114. END IF
  1115. S_print_MSG LS_PRMSG
  1116. IF ls_newname <> '' THEN
  1117. IF li_auditprint = 1 THEN
  1118. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1119. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1120. RETURN
  1121. END IF
  1122. END IF
  1123. LS_PRMSG.obj_dwNAME = ls_newname
  1124. ELSE
  1125. LS_PRMSG.obj_dwNAME = 'dw_rp_inware_rec_edit_th'
  1126. END IF
  1127. LS_PRMSG.TAG_TEXT = '生产进仓单'
  1128. LS_PRMSG.FILTER_STRING = ''
  1129. LS_PRMSG.retr_pram_falg = 15
  1130. LS_PRMSG.PAGECH_FLAG = 0
  1131. LS_PRMSG.retr_scid = cur_scid
  1132. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[LS_ROW]
  1133. LS_PRMSG.rowcnt = dw_child.RowCount()
  1134. IF ifpic = 1 THEN
  1135. String ls_msg
  1136. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1137. MessageBox('提示','下载图片失败!',information!,OK!)
  1138. RETURN
  1139. END IF
  1140. END IF
  1141. OpenWithParm(w_publ_preview,LS_PRMSG)
  1142. IF ifpic = 1 THEN
  1143. Long li
  1144. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1145. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1146. FileDelete(LS_PRMSG.s_pic.path[li])
  1147. END IF
  1148. NEXT
  1149. END IF
  1150. end event
  1151. event ue_print;call super::ue_print;IF NOT f_power_ind(469) THEN
  1152. MessageBox('提示','你没有使用权限!',information!,ok!)
  1153. RETURN
  1154. END IF
  1155. //--直接打印
  1156. uo_print_preview uo_print
  1157. S_print_MSG LS_PRMSG
  1158. IF dw_pageretr.RowCount() = 0 THEN
  1159. MessageBox('提示','没有可打印的单据!',information!,ok!)
  1160. RETURN
  1161. END IF
  1162. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1163. IF ls_newname <> '' THEN
  1164. IF li_auditprint = 1 THEN
  1165. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1166. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1167. RETURN
  1168. END IF
  1169. END IF
  1170. LS_PRMSG.obj_dwNAME = ls_newname
  1171. ELSE
  1172. LS_PRMSG.obj_dwNAME = 'dw_rp_inware_rec_edit_th'
  1173. END IF
  1174. LS_PRMSG.retr_pram_falg = 15
  1175. LS_PRMSG.TAG_TEXT = '成品进仓单'
  1176. LS_PRMSG.FILTER_STRING = ''
  1177. LS_PRMSG.PAGECH_FLAG = 0
  1178. LS_PRMSG.retr_scid = cur_scid
  1179. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[dw_pageretr.GetRow()]
  1180. LS_PRMSG.rowcnt = dw_child.RowCount()
  1181. IF ifpic = 1 THEN
  1182. String ls_msg
  1183. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1184. MessageBox('提示','下载图片失败!',information!,OK!)
  1185. RETURN
  1186. END IF
  1187. END IF
  1188. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1189. String arg_msg
  1190. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1191. MessageBox("错误",arg_msg,stopsign!,ok!)
  1192. RETURN
  1193. END IF
  1194. uo_print.ds_print()
  1195. IF ifpic = 1 THEN
  1196. Long li
  1197. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1198. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1199. FileDelete(LS_PRMSG.s_pic.path[li])
  1200. END IF
  1201. NEXT
  1202. END IF
  1203. end event
  1204. event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN
  1205. Long child_row
  1206. child_row = dw_uc.GetRow()
  1207. IF child_row = 0 THEN
  1208. MessageBox('提示','请选定出仓单!',information!,ok!)
  1209. RETURN
  1210. END IF
  1211. IF NOT IsValid(W_cust_edit) THEN
  1212. s_edit_index_tran s_ch_tran //传递参数使用
  1213. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  1214. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1215. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1216. //查询列(物料编码)部分内容,用于初步筛选
  1217. dw_uc.AcceptText()
  1218. s_ch_tran.arg_string_code = Trim(dw_uc.Object.u_cust_cuscode[child_row])
  1219. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  1220. s_custom S_INSCUST
  1221. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1222. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  1223. dw_uc.SetRedraw(FALSE)
  1224. dw_uc.Object.u_inware_sptid[child_row] = S_INSCUST.cusid
  1225. dw_uc.Object.u_cust_name[child_row] = S_INSCUST.Name
  1226. dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  1227. dw_uc.SetRedraw(TRUE)
  1228. dw_uc.SetColumn("inrep")
  1229. END IF
  1230. END IF
  1231. end event
  1232. event ue_f10;call super::ue_f10;IF NOT dw_edit_mode THEN RETURN
  1233. Long child_row
  1234. String ls_colorname
  1235. child_row = dw_child.GetRow()
  1236. IF child_row <= 0 THEN RETURN
  1237. IF NOT IsValid(w_color_edit) THEN
  1238. Open(w_color_edit)
  1239. ls_colorname = Message.StringParm
  1240. IF ls_colorname = '' THEN RETURN
  1241. dw_child.Object.u_inwaremx_status[child_row] = ls_colorname
  1242. dw_child.SetFocus()
  1243. END IF
  1244. end event
  1245. event ue_addzy;call super::ue_addzy;
  1246. IF dw_edit_mode THEN
  1247. MessageBox('提示',"编辑状态下不可以使用!",information!,ok!)
  1248. return
  1249. END IF
  1250. IF NOT f_power_ind(799) THEN
  1251. MessageBox('提示','你没有使用权限!',information!,ok!)
  1252. RETURN
  1253. END IF
  1254. string arg_msg='',LS_STR
  1255. long uc_row
  1256. s_inputbox S_SREU
  1257. uc_row=dw_pageretr.getrow()
  1258. if uc_row<=0 then
  1259. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1260. return
  1261. end if
  1262. S_SREU.TITLE='请输入要补充到备注的内容'
  1263. S_SREU.OLD_TEXT=''
  1264. openwithparm(w_inputbox,S_SREU)
  1265. LS_STR=Message.StringParm
  1266. if trim(LS_STR)='' or isnull(LS_STR) then return
  1267. 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
  1268. messagebox('错误',arg_msg,stopsign!,ok!)
  1269. return
  1270. else
  1271. messagebox('提示','添加备注操作成功!',information!,ok!)
  1272. wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[uc_row])
  1273. end if
  1274. end event
  1275. event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN
  1276. Long ls_storageid
  1277. Long ls_taskid
  1278. String ls_taskcode
  1279. ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1280. IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  1281. MessageBox('提示','请先选择仓库',information!,ok!)
  1282. RETURN
  1283. END IF
  1284. //THIS.Enabled = FALSE
  1285. IF NOT IsValid(w_saletask_ch) THEN
  1286. s_saletask_ch s_saletask
  1287. s_saletask_find s_find
  1288. s_find.scid = cur_scid
  1289. s_find.areaid = sys_areaid
  1290. OpenWithParm(w_saletask_ch,s_find)
  1291. s_saletask = Message.PowerObjectParm
  1292. IF s_saletask.taskid > 0 THEN
  1293. ls_taskid = s_saletask.taskid
  1294. ls_taskcode = s_saletask.taskcode
  1295. String errmsg = ''
  1296. dw_uc.object.u_inware_sptid[dw_uc.getrow()]=s_saletask.cusid
  1297. dw_uc.object.u_cust_cuscode[dw_uc.getrow()]=s_saletask.cuscode
  1298. dw_uc.object.u_cust_name[dw_uc.getrow()]=s_saletask.cusname
  1299. wf_autoaddmx(cur_scid,ls_taskid,ls_taskcode,ls_storageid,s_saletask.cusid,errmsg)
  1300. // dw_uc.SetColumn("sptname")
  1301. dw_uc.SetRedraw(TRUE)
  1302. END IF
  1303. END IF
  1304. //THIS.Enabled = TRUE
  1305. this.triggerevent('ue_allowedit')
  1306. end event
  1307. event ue_f11;call super::ue_f11;IF NOT dw_edit_mode THEN RETURN
  1308. Long child_row
  1309. child_row = dw_child.GetRow()
  1310. IF child_row = 0 THEN
  1311. MessageBox('提示','请选定出仓单明细!',information!,ok!)
  1312. RETURN
  1313. END IF
  1314. IF NOT IsValid(W_cust_edit) THEN
  1315. s_edit_index_tran s_ch_tran //传递参数使用
  1316. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  1317. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1318. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1319. //查询列(物料编码)部分内容,用于初步筛选
  1320. dw_uc.AcceptText()
  1321. s_ch_tran.arg_string_code = Trim(dw_child.Object.u_cust_cuscode[child_row])
  1322. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  1323. s_custom S_INSCUST
  1324. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1325. // u_cust_cuscode
  1326. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  1327. dw_child.SetRedraw(FALSE)
  1328. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = S_INSCUST.cusid
  1329. dw_child.Object.u_cust_name[child_row] = S_INSCUST.Name
  1330. dw_child.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  1331. dw_child.object.if_mtrlware[child_row]=1
  1332. dw_child.SetRedraw(TRUE)
  1333. // dw_uc.SetColumn("inrep")
  1334. END IF
  1335. END IF
  1336. end event
  1337. event ue_f12;call super::ue_f12;IF NOT dw_edit_mode THEN RETURN
  1338. Long child_row
  1339. Int if_addmxdscrp
  1340. String ls_mxdscrp
  1341. s_addqty_input s_input
  1342. dw_child.AcceptText( )
  1343. child_row = dw_child.GetRow()
  1344. IF child_row <= 0 THEN RETURN
  1345. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
  1346. ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row]
  1347. IF NOT IsValid(w_addqty_input) THEN
  1348. OpenWithParm(w_addqty_input,ls_mxdscrp)
  1349. s_input = Message.PowerObjectParm
  1350. IF s_input.addqty = -1 THEN RETURN
  1351. dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty
  1352. IF s_input.addqtystr <> '' THEN
  1353. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
  1354. END IF
  1355. // IF s_input.formula <> '' THEN
  1356. // dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
  1357. // END IF
  1358. IF s_input.flag = 1 THEN
  1359. dw_child.Object.u_inwaremx_qty[child_row] = s_input.qty
  1360. END IF
  1361. END IF
  1362. end event
  1363. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT f_power_ind(469) THEN
  1364. MessageBox('提示','你没有使用权限!',information!,ok!)
  1365. RETURN
  1366. END IF
  1367. Long row,uc_relid,ll_scid
  1368. row = dw_pageretr.GetRow()
  1369. IF row = 0 THEN RETURN
  1370. IF ls_rpname = '' THEN RETURN
  1371. IF li_auditprint = 1 THEN
  1372. IF dw_pageretr.Object.flag[row] = 0 THEN
  1373. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1374. RETURN
  1375. END IF
  1376. END IF
  1377. s_rpt_print_msg s_print
  1378. s_print.retr_pram_falg = 15
  1379. s_print.rpid = ls_msgprintid_rpt
  1380. s_print.retr_flag = TRUE
  1381. s_print.tag_text = THIS.Title
  1382. s_print.rpname = ls_rpname
  1383. s_print.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1384. s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1385. s_print.rowcnt = dw_child.RowCount()
  1386. OpenWithParm(w_rpt_preview,s_print)
  1387. end event
  1388. event ue_rpt_print;call super::ue_rpt_print;IF NOT f_power_ind(469) THEN
  1389. MessageBox('提示','你没有使用权限!',information!,ok!)
  1390. RETURN
  1391. END IF
  1392. Long row,uc_relid,ll_scid
  1393. row = dw_pageretr.GetRow()
  1394. IF row = 0 THEN RETURN
  1395. uo_rpt_print_preview uo_print
  1396. S_rpt_print_MSG LS_PRMSG
  1397. IF dw_pageretr.RowCount() = 0 THEN
  1398. MessageBox('提示','没有可打印的单据!',information!,ok!)
  1399. RETURN
  1400. END IF
  1401. IF ls_rpname = '' THEN RETURN
  1402. IF li_auditprint = 1 THEN
  1403. IF dw_pageretr.Object.flag[row] = 0 THEN
  1404. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1405. RETURN
  1406. END IF
  1407. END IF
  1408. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1409. LS_PRMSG.retr_pram_falg = 15
  1410. LS_PRMSG.TAG_TEXT = THIS.Title
  1411. LS_PRMSG.rpname = ls_rpname
  1412. LS_PRMSG.FILTER_STRING = ''
  1413. LS_PRMSG.PAGECH_FLAG = 0
  1414. LS_PRMSG.rpid = ls_msgprintid_rpt
  1415. LS_PRMSG.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1416. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1417. LS_PRMSG.rowcnt = dw_child.RowCount()
  1418. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1419. String arg_msg
  1420. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1421. MessageBox("错误",arg_msg,stopsign!,ok!)
  1422. RETURN
  1423. END IF
  1424. uo_print.ds_print()
  1425. end event
  1426. type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_rec_th
  1427. end type
  1428. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_rec_th
  1429. end type
  1430. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_rec_th
  1431. integer x = 174
  1432. integer width = 549
  1433. end type
  1434. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_rec_th
  1435. integer x = 3040
  1436. end type
  1437. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_rec_th
  1438. integer x = 2711
  1439. integer y = 60
  1440. integer width = 320
  1441. end type
  1442. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_rec_th
  1443. integer x = 2025
  1444. integer width = 1527
  1445. integer height = 896
  1446. string dataobject = "dw_inware_rec_index_th"
  1447. end type
  1448. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;
  1449. wf_check_billfj()
  1450. wf_flagstatus_rf()
  1451. end event
  1452. type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_rec_th
  1453. integer x = 0
  1454. end type
  1455. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_rec_th
  1456. integer x = 3191
  1457. end type
  1458. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_rec_th
  1459. integer width = 2021
  1460. integer height = 1008
  1461. string dataobject = "dw_inware_rec_edit_th"
  1462. end type
  1463. event dw_uc::dwnkey;parent.triggerevent('user_key')
  1464. if key = KeyDownArrow! then return 1
  1465. if dw_edit_mode then
  1466. if dw_uc.GetColumnName ( )='u_cust_cuscode' and key = KeyEnter! then
  1467. String ls_code,ls_name,ls_find_code
  1468. Long ls_cusid
  1469. Long cnt = 0
  1470. Boolean if_find = FALSE
  1471. dw_uc.AcceptText()
  1472. ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
  1473. SELECT u_cust.cusid,
  1474. u_cust.name,
  1475. u_cust.cuscode
  1476. INTO :ls_cusid,:ls_name
  1477. FROM u_cust
  1478. Where ( cuscode = :ls_code OR Name = :ls_code );
  1479. IF sqlca.SQLCode <> 0 THEN
  1480. IF Pos(Trim(ls_code),'%') = 0 THEN
  1481. ls_find_code = '%'+ Trim(ls_code) + '%'
  1482. ELSE
  1483. ls_find_code = Trim(ls_code)
  1484. END IF
  1485. SELECT count(*) INTO :cnt
  1486. FROM u_cust
  1487. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  1488. IF sqlca.SQLCode <> 0 THEN
  1489. PARENT.TriggerEvent('ue_f9')
  1490. RETURN 1
  1491. END IF
  1492. IF cnt <> 1 THEN
  1493. PARENT.TriggerEvent('ue_f9')
  1494. RETURN 1
  1495. ELSE
  1496. SELECT u_cust.cusid,
  1497. u_cust.cuscode,
  1498. u_cust.name
  1499. INTO :ls_cusid,:ls_code,:ls_name
  1500. FROM u_cust
  1501. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  1502. IF sqlca.SQLCode <> 0 THEN
  1503. PARENT.TriggerEvent('ue_f9')
  1504. RETURN 1
  1505. ELSE
  1506. if_find = TRUE
  1507. END IF
  1508. END IF
  1509. ELSE
  1510. if_find = TRUE
  1511. END IF
  1512. IF if_find THEN
  1513. dw_uc.SetRedraw(FALSE)
  1514. dw_uc.Object.u_inware_sptid[dw_uc.GetRow()] = ls_cusid
  1515. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code
  1516. dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_name
  1517. dw_uc.SetRedraw(TRUE)
  1518. // wf_getcusrepamt_info(ls_cusid)
  1519. dw_uc.SetColumn("inrep")
  1520. RETURN 1
  1521. END IF
  1522. elseif dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
  1523. dw_child.setfocus()
  1524. dw_child.scrolltorow(1)
  1525. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  1526. return 1
  1527. else
  1528. if key = KeyEnter! Then //
  1529. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1530. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1531. Return 1
  1532. end If
  1533. end if
  1534. end if
  1535. if keydown(KeyF4!) then //read layout
  1536. //uf_read_profile_filter()
  1537. //uf_read_profile_sort()
  1538. ////uf_read_profile_layout()
  1539. elseif keydown(KeyF5!) then //save layout 不含列显示
  1540. //uf_save_profile_filter()
  1541. //uf_save_profile_sort()
  1542. ////uf_save_profile_layout()
  1543. elseif keydown(KeyF9!) then //reset layout 不含列显示
  1544. //uf_reset_layout()
  1545. elseif keydown(KeyF2!) then //save layout 不含列显示
  1546. this.triggerevent('ue_setlayout')
  1547. end if
  1548. end event
  1549. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1550. IF dwo.Name = 'storageid' THEN
  1551. //wf_lock_plancode(long(data))
  1552. dw_child.Reset()
  1553. PARENT.TriggerEvent("insert_childrow")
  1554. END IF
  1555. end event
  1556. event dw_uc::buttonclicked;call super::buttonclicked;if dw_edit_mode then
  1557. if dwo.name='p_b' or dwo.name='t_choicesaletask_t' then
  1558. parent.triggerevent('ue_f7')
  1559. ELSEIF dwo.Name = 'p_1' OR dwo.Name = 't_2' THEN
  1560. PARENT.TriggerEvent('ue_salerqmtrl')
  1561. ELSEIF dwo.Name = 'p_ware' Or dwo.Name = 'choiceware_t' THEN
  1562. Parent.TriggerEvent('ue_f8')
  1563. end if
  1564. end if
  1565. end event
  1566. event dw_uc::clicked;call super::clicked;if dwo.name='p_b' or dwo.name='t_choicesaletask_t' then
  1567. parent.TRIGGEREVENT('ue_f7')
  1568. ELSEIF dwo.Name = 'p_1' OR dwo.Name = 't_2' THEN
  1569. PARENT.TriggerEvent('ue_salerqmtrl')
  1570. ELSEIF dwo.Name = 'p_ware' Or dwo.Name = 'choiceware_t' THEN
  1571. Parent.TriggerEvent('ue_f8')
  1572. end if
  1573. end event
  1574. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_rec_th
  1575. end type
  1576. type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_rec_th
  1577. integer y = 1316
  1578. integer width = 3552
  1579. integer height = 972
  1580. string dataobject = "dw_inwaremx_rec_edit_th"
  1581. end type
  1582. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1583. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_prdpackcode,ls_mtrlsectype,ls_zxmtrlmode
  1584. Long ls_mtrlid,ls_orderid,ls_storageid
  1585. String ls_order_relcode
  1586. Decimal ls_planprice,ls_packqty,ls_nofinishqty
  1587. Long li_statusflag
  1588. Long li_woodcodeflag
  1589. Long li_pcodeflag
  1590. s_mtrldef_array arg_s_mtrldef
  1591. Long child_row
  1592. Long ls_null
  1593. SetNull(ls_null)
  1594. IF dw_edit_mode THEN
  1595. dw_uc.AcceptText()
  1596. ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1597. IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  1598. MessageBox('提示','请先选择仓库',information!,ok!)
  1599. RETURN
  1600. END IF
  1601. ls_orderid = dw_uc.Object.u_inware_relid[dw_uc.GetRow()]
  1602. IF KeyDown(keydownarrow!) THEN
  1603. Long li_row
  1604. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1605. PARENT.TriggerEvent("insert_childrow")
  1606. END IF
  1607. ELSE
  1608. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  1609. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  1610. dw_child.AcceptText()
  1611. child_row = dw_child.GetRow()
  1612. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  1613. IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN
  1614. PARENT.TriggerEvent('ue_f8')
  1615. RETURN 1
  1616. ELSE
  1617. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1618. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1619. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1620. ls_unit = arg_s_mtrldef.unit[1]
  1621. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1622. ls_planprice = arg_s_mtrldef.planprice[1]
  1623. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  1624. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  1625. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  1626. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  1627. li_statusflag = arg_s_mtrldef.statusflag[1]
  1628. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1629. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1630. END IF
  1631. dw_child.Object.u_inwaremx_relid[child_row] = ls_orderid
  1632. dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
  1633. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1634. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1635. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1636. dw_child.Object.u_inwaremx_fprice[child_row] = ls_planprice
  1637. dw_child.Object.u_mtrldef_prdpackcode[child_row] = ls_prdpackcode
  1638. dw_child.Object.u_mtrldef_packqty[child_row] = ls_packqty
  1639. dw_child.Object.u_inwaremx_qty[child_row] = ls_nofinishqty
  1640. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1641. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1642. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1643. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1644. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1645. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  1646. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  1647. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  1648. dw_child.Object.u_inwaremx_status[child_row] = arg_s_mtrldef.status[1]
  1649. dw_child.Object.u_inwaremx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  1650. dw_child.Object.u_inwaremx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  1651. parent.triggerevent('ue_allowedit')
  1652. wf_find_cust(child_row,cur_scid,ls_orderid)
  1653. IF Key = keyenter! THEN
  1654. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1655. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1656. RETURN 1
  1657. END IF
  1658. ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1659. IF Key = keyenter! THEN
  1660. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1661. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1662. RETURN 1
  1663. END IF
  1664. ELSEIF dw_child.GetColumnName() = 'u_cust_cuscode' THEN
  1665. dw_child.AcceptText()
  1666. child_row = dw_child.GetRow()
  1667. IF child_row <= 0 THEN RETURN 1
  1668. String ls_cuscode,ls_cusname
  1669. Long li_cusid
  1670. ls_cuscode = dw_child.Object.u_cust_cuscode[child_row]
  1671. SELECT cusid,name INTO :li_cusid,:ls_cusname
  1672. FROM u_cust
  1673. Where cuscode = :ls_cuscode;
  1674. IF sqlca.SQLCode <> 0 THEN
  1675. PARENT.TriggerEvent('ue_f9')
  1676. RETURN 1
  1677. END IF
  1678. dw_child.Object.u_cust_name[child_row] = ls_cusname
  1679. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = li_cusid
  1680. IF Key = keyenter! THEN
  1681. PARENT.TriggerEvent("insert_childrow")
  1682. RETURN 1
  1683. END IF
  1684. ELSE
  1685. IF Key = keyenter! THEN
  1686. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1687. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1688. RETURN 1
  1689. END IF
  1690. END IF
  1691. END IF
  1692. END IF
  1693. END IF
  1694. end event
  1695. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  1696. if dwo.name = 'if_mtrlware' then
  1697. this.accepttext()
  1698. if this.object.if_mtrlware[row] = 1 then
  1699. dw_child.object.u_inwaremx_sptid_cusid[row] = 0
  1700. dw_child.object.u_cust_cuscode[row] = ''
  1701. dw_child.object.u_cust_name[row] = ''
  1702. end if
  1703. end if
  1704. end event
  1705. event dw_child::doubleclicked;dw_child.accepttext()
  1706. if dw_edit_mode and row > 0 then
  1707. if (dwo.name = 'u_cust_cuscode' or dwo.name = 'u_cust_name') and this.object.if_mtrlware[row] = 1 then
  1708. parent.triggerevent('ue_f11')
  1709. elseif dwo.Name = 'u_inwaremx_status' THEN
  1710. PARENT.TriggerEvent('ue_f10')
  1711. elseif dwo.name = 'u_inwaremx_addqty' then
  1712. PARENT.TriggerEvent('ue_f12')
  1713. else
  1714. if dw_child.object.u_inwaremx_ifrel[row] = 1 then
  1715. parent.triggerevent('ue_f7')
  1716. else
  1717. parent.triggerevent('ue_f8')
  1718. end if
  1719. end if
  1720. end if
  1721. end event
  1722. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_rec_th
  1723. end type
  1724. type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_rec_th
  1725. end type
  1726. type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_rec_th
  1727. end type
  1728. event cb_add::clicked;IF NOT f_power_ind(376) THEN
  1729. MessageBox('提示','你没有使用权限!',information!,ok!)
  1730. RETURN
  1731. END IF
  1732. String arg_msg = ''
  1733. Long uc_row,i,j
  1734. IF dw_edit_mode THEN
  1735. dw_uc.AcceptText()
  1736. dw_child.AcceptText()
  1737. uc_row = dw_uc.GetRow()
  1738. IF uc_row <= 0 THEN
  1739. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1740. RETURN
  1741. END IF
  1742. IF NOT dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1743. MessageBox('提示','不合理发生时间!',information!,ok!)
  1744. dw_uc.SetFocus()
  1745. dw_uc.SetColumn("indate")
  1746. RETURN
  1747. END IF
  1748. IF NOT Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN
  1749. MessageBox('提示','请填写经手人!',information!,ok!)
  1750. dw_uc.SetFocus()
  1751. dw_uc.SetColumn("inrep")
  1752. RETURN
  1753. END IF
  1754. IF dw_uc.Object.u_inware_sptid[uc_row] = 0 then
  1755. MessageBox('提示','请选择客户!',information!,ok!)
  1756. dw_uc.SetFocus()
  1757. dw_uc.SetColumn("u_cust_cuscode")
  1758. RETURN
  1759. END IF
  1760. FOR j = 1 TO dw_child.RowCount()
  1761. IF dw_child.Object.u_inwaremx_qty[j] = 0 THEN CONTINUE
  1762. IF dw_child.Object.u_inwaremx_qty[j] > 0 AND dw_child.Object.u_inwaremx_mtrlid[j] > 0 THEN
  1763. dw_child.Object.u_inwaremx_qty[j] = 0 - dw_child.Object.u_inwaremx_qty[j]
  1764. END IF
  1765. IF dw_child.Object.u_inwaremx_addqty[j] > 0 AND dw_child.Object.u_inwaremx_mtrlid[j] > 0 THEN
  1766. dw_child.Object.u_inwaremx_addqty[j] = 0 - dw_child.Object.u_inwaremx_addqty[j]
  1767. END IF
  1768. IF dw_child.Object.if_mtrlware[j] = 1 AND dw_child.Object.u_inwaremx_sptid_cusid[j] = 0 THEN
  1769. MessageBox('提示','请先选择客户,第'+string(j)+'行',information!,ok!)
  1770. RETURN
  1771. END IF
  1772. NEXT
  1773. uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
  1774. uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
  1775. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  1776. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  1777. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  1778. uo_ware.sptname = dw_uc.Object.sptname[uc_row]
  1779. uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row]
  1780. uo_ware.sptid = dw_uc.Object.u_inware_sptid[uc_row]
  1781. uo_ware.thflag=1
  1782. FOR i = 1 TO dw_child.RowCount()
  1783. IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  1784. IF uo_ware.acceptmx(dw_child.Object.printid[i],&
  1785. dw_child.Object.u_inwaremx_mtrlid[i],&
  1786. dw_child.Object.u_mtrldef_mtrlcode[i],&
  1787. dw_child.Object.u_inwaremx_plancode[i],&
  1788. dw_child.Object.u_inwaremx_status[i],&
  1789. dw_child.Object.u_inwaremx_qty[i],&
  1790. dw_child.Object.u_inwaremx_addqty[i],&
  1791. dw_child.Object.u_inwaremx_fprice[i],&
  1792. 1,&
  1793. dw_child.Object.u_inwaremx_mxdscrp[i],&
  1794. arg_msg,&
  1795. 0,&
  1796. dw_child.Object.u_inwaremx_relid[i],&
  1797. dw_child.Object.u_inwaremx_relprintid[i],&
  1798. dw_child.Object.u_inwaremx_ifrel[i],&
  1799. dw_child.Object.u_inwaremx_woodcode[i],&
  1800. dw_child.Object.u_inwaremx_pcode[i],&
  1801. '',&
  1802. dw_child.Object.u_inwaremx_sptid_cusid[i],&
  1803. dw_child.Object.u_mtrldef_unit[i],&
  1804. 1,'',&
  1805. dw_child.Object.u_inwaremx_waredscrp[i],&
  1806. dw_child.Object.u_inwaremx_inworkdate[i],0) = 0 THEN
  1807. MessageBox('错误',arg_msg,stopsign!,ok!)
  1808. RETURN
  1809. END IF
  1810. END IF
  1811. NEXT
  1812. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  1813. MessageBox('错误',arg_msg,stopsign!,ok!)
  1814. RETURN
  1815. END IF
  1816. MessageBox('提示','保存操作成功!',information!,ok!)
  1817. //write ini
  1818. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  1819. //
  1820. long ll_row
  1821. ll_row = dw_uc.getrow()
  1822. dw_uc.SelectRow(0,FALSE)
  1823. dw_uc.SelectRow(ll_row,TRUE)
  1824. wf_refresh_curuc(cur_scid,uo_ware.inwareid) //刷新uc
  1825. ELSE
  1826. IF uo_ware.newbegin(cur_scid,20,arg_msg) = 0 THEN
  1827. MessageBox('错误',arg_msg,stopsign!,ok!)
  1828. RETURN
  1829. END IF
  1830. END IF
  1831. CALL SUPER::Clicked
  1832. //read ini
  1833. IF dw_edit_mode THEN
  1834. PARENT.TriggerEvent("insert_childrow")
  1835. dw_uc.SetRedraw(FALSE)
  1836. String ls_storageid
  1837. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  1838. IF f_find_storageid(ls_storageid) = '' THEN
  1839. ls_storageid = '0'
  1840. END IF
  1841. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  1842. dw_uc.SetColumn("storageid")
  1843. dw_uc.SetRedraw(TRUE)
  1844. //wf_lock_plancode(long(ls_storageid))
  1845. ELSE
  1846. PARENT.TriggerEvent("retrieve_childdw")
  1847. END IF
  1848. //
  1849. end event
  1850. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_rec_th
  1851. end type
  1852. event cb_edit::clicked;IF NOT f_power_ind(376) THEN
  1853. MessageBox('提示','你没有使用权限!',information!,ok!)
  1854. RETURN
  1855. END IF
  1856. string arg_msg=''
  1857. long uc_row,ll_storageid
  1858. uc_row=dw_pageretr.getrow()
  1859. if uc_row<=0 then
  1860. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1861. return
  1862. end if
  1863. ll_storageid = dw_pageretr.object.storageid[uc_row]
  1864. if not dw_edit_mode then
  1865. if uo_ware.updatebegin(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],20,arg_msg)=0 then
  1866. messagebox('错误',arg_msg,stopsign!,ok!)
  1867. return
  1868. end if
  1869. parent.triggerevent('ue_allowedit')
  1870. //wf_lock_plancode(ll_storageid)
  1871. end if
  1872. call super::clicked
  1873. end event
  1874. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_rec_th
  1875. end type
  1876. event cb_delet::clicked;IF NOT f_power_ind(597) THEN
  1877. MessageBox('提示','你没有使用权限!',information!,ok!)
  1878. RETURN
  1879. END IF
  1880. if dw_edit_mode then return
  1881. string arg_msg=''
  1882. long uc_row
  1883. uc_row=dw_pageretr.getrow()
  1884. if uc_row<=0 then
  1885. messagebox('提示','请选定当前目标单据!')
  1886. return
  1887. end if
  1888. IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1889. if uo_ware.del(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid [uc_row],arg_msg,true)=0 then
  1890. messagebox('错误',arg_msg,stopsign!,ok!)
  1891. ELSE
  1892. //日志
  1893. long ls_id
  1894. string ls_code
  1895. ls_id=dw_pageretr.object.inwareid [uc_row]
  1896. ls_code=dw_pageretr.object.inwarecode[uc_row]
  1897. f_setsysoplog('生产进仓单','删除,ID:'+string(LS_id)+',code:'+ls_code,arg_msg,true)
  1898. //--
  1899. MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.inwarecode[uc_row])+'成功!',information!,ok!)
  1900. dw_pageretr.deleterow(uc_row)
  1901. dw_pageretr.postevent(rowfocuschanged!)
  1902. end if
  1903. end event
  1904. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_rec_th
  1905. end type
  1906. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1907. string menustr
  1908. menustr="Text=增加备注~tEvent=ue_addzy"
  1909. menustr=menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  1910. menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  1911. menustr = menustr + "|" + "Text=-"
  1912. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1913. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1914. if len(trim(menustr))<>0 then
  1915. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1916. dmPopupMenu.mf_BuildMenu(This, menustr)
  1917. dmPopupMenu.mf_PopMenu()
  1918. Destroy dmPopupMenu
  1919. end if
  1920. end event
  1921. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_inware_rec_th
  1922. end type
  1923. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(63) THEN
  1924. MessageBox('提示','你没有使用权限!',information!,ok!)
  1925. RETURN
  1926. END IF
  1927. IF dw_edit_mode THEN RETURN
  1928. IF NOT KeyDown(KeyControl!) THEN
  1929. String arg_msg = ''
  1930. Long pagerert_row
  1931. pagerert_row = dw_pageretr.GetRow()
  1932. IF pagerert_row <= 0 THEN
  1933. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1934. RETURN
  1935. END IF
  1936. IF MessageBox ("询问","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1937. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  1938. MessageBox('错误',arg_msg,stopsign!,ok!)
  1939. RETURN
  1940. END IF
  1941. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1942. MessageBox('错误',arg_msg,stopsign!,ok!)
  1943. ELSE
  1944. MessageBox('提示','审核成功!',information!,ok!)
  1945. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  1946. END IF
  1947. ELSE
  1948. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",Question!,YesNo! ) = 2 THEN RETURN
  1949. Long ll_i,ll_billid
  1950. Int li_flag
  1951. Long ll_suc,ll_fail
  1952. dw_pageretr.AcceptText()
  1953. OPEN(w_sys_wait_jdt) //初始化进度条
  1954. w_sys_wait_jdt.Show()
  1955. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1956. FOR ll_i = 1 TO dw_pageretr.RowCount()
  1957. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  1958. li_flag = dw_pageretr.Object.flag[ll_i]
  1959. IF li_flag = 1 THEN CONTINUE
  1960. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  1961. IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN
  1962. ll_fail++
  1963. CONTINUE
  1964. END IF
  1965. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1966. ll_fail++
  1967. CONTINUE
  1968. END IF
  1969. ll_suc++
  1970. w_sys_wait_jdt.wf_inc(ll_i) //进度
  1971. NEXT
  1972. CLOSE(w_sys_wait_jdt)
  1973. MessageBox('提示','批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,ok!)
  1974. PARENT.TriggerEvent('retrieve_pageretr')
  1975. END IF
  1976. end event
  1977. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_rec_th
  1978. end type
  1979. event cb_xm::clicked;
  1980. is_mx_menustr ="Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  1981. call super::clicked
  1982. end event
  1983. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_rec_th
  1984. end type
  1985. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_rec_th
  1986. end type
  1987. type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_rec_th
  1988. end type
  1989. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_rec_th
  1990. end type
  1991. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(63) THEN
  1992. MessageBox('提示','你没有使用权限!',information!,ok!)
  1993. RETURN
  1994. END IF
  1995. IF dw_edit_mode THEN RETURN
  1996. String arg_msg = ''
  1997. Long pagerert_row
  1998. pagerert_row = dw_pageretr.GetRow()
  1999. IF pagerert_row <= 0 THEN
  2000. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  2001. RETURN
  2002. END IF
  2003. IF MessageBox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  2004. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  2005. MessageBox('错误',arg_msg,stopsign!,ok!)
  2006. RETURN
  2007. END IF
  2008. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  2009. MessageBox('错误',arg_msg,stopsign!,ok!)
  2010. ELSE
  2011. //日志
  2012. Long ls_id
  2013. String ls_code
  2014. ls_id = dw_pageretr.Object.inwareid [pagerert_row]
  2015. ls_code = dw_pageretr.Object.inwarecode[pagerert_row]
  2016. f_setsysoplog('生产进仓单','撤审,ID:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  2017. //--
  2018. MessageBox('提示','撤消审核成功!',information!,ok!)
  2019. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  2020. END IF
  2021. end event
  2022. type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_rec_th
  2023. end type
  2024. type p_help from w_publ_1ton_share_detail`p_help within w_inware_rec_th
  2025. end type
  2026. type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_rec_th
  2027. end type
  2028. type p_other from w_publ_1ton_share_detail`p_other within w_inware_rec_th
  2029. end type
  2030. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_rec_th
  2031. end type
  2032. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_rec_th
  2033. end type
  2034. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_rec_th
  2035. end type
  2036. type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_rec_th
  2037. end type
  2038. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_rec_th
  2039. end type
  2040. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_rec_th
  2041. end type
  2042. type ddlb_status from dropdownlistbox within w_inware_rec_th
  2043. integer x = 1714
  2044. integer y = 188
  2045. integer width = 549
  2046. integer height = 300
  2047. integer taborder = 30
  2048. boolean bringtotop = true
  2049. integer textsize = -9
  2050. integer weight = 400
  2051. fontcharset fontcharset = gb2312charset!
  2052. fontpitch fontpitch = variable!
  2053. string facename = "宋体"
  2054. long textcolor = 33554432
  2055. string text = "[全部]"
  2056. boolean sorted = false
  2057. string item[] = {"[全部]","待审核","已审核"}
  2058. borderstyle borderstyle = stylelowered!
  2059. end type
  2060. event selectionchanged;if index=1 then
  2061. cur_flag=-1
  2062. elseif index=2 then
  2063. cur_flag= 0
  2064. elseif index=3 then
  2065. cur_flag= 1
  2066. end if
  2067. parent.triggerevent("retrieve_pageretr")
  2068. end event
  2069. type st_2 from statictext within w_inware_rec_th
  2070. integer x = 1541
  2071. integer y = 200
  2072. integer width = 219
  2073. integer height = 48
  2074. integer textsize = -9
  2075. integer weight = 400
  2076. fontcharset fontcharset = gb2312charset!
  2077. fontpitch fontpitch = variable!
  2078. string facename = "宋体"
  2079. long textcolor = 33554432
  2080. long backcolor = 134217739
  2081. string text = "状 态"
  2082. boolean focusrectangle = false
  2083. end type
  2084. type st_3 from statictext within w_inware_rec_th
  2085. integer x = 791
  2086. integer y = 200
  2087. integer width = 219
  2088. integer height = 48
  2089. boolean bringtotop = true
  2090. integer textsize = -9
  2091. integer weight = 400
  2092. fontcharset fontcharset = gb2312charset!
  2093. fontpitch fontpitch = variable!
  2094. string facename = "宋体"
  2095. long textcolor = 33554432
  2096. long backcolor = 134217739
  2097. string text = "分 部"
  2098. boolean focusrectangle = false
  2099. end type
  2100. type ddlb_scid from uo_ddlb_scid within w_inware_rec_th
  2101. integer x = 965
  2102. integer y = 188
  2103. integer width = 549
  2104. integer height = 648
  2105. boolean bringtotop = true
  2106. end type
  2107. event constructor;call super::constructor;cur_scid=this.uo_scid
  2108. cur_scid_arr = THIS.uo_scid_arr
  2109. end event
  2110. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  2111. cur_scid_arr = THIS.uo_scid_arr
  2112. parent.triggerevent("retrieve_pageretr")
  2113. end event