w_inware_other.srw 78 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837
  1. $PBExportHeader$w_inware_other.srw
  2. forward
  3. global type w_inware_other from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_inware_other
  6. end type
  7. type ddlb_status from dropdownlistbox within w_inware_other
  8. end type
  9. type cb_select from commandbutton within w_inware_other
  10. end type
  11. type sle_sptcode from singlelineedit within w_inware_other
  12. end type
  13. type cbx_sptcode from checkbox within w_inware_other
  14. end type
  15. type st_3 from statictext within w_inware_other
  16. end type
  17. type st_2 from statictext within w_inware_other
  18. end type
  19. type st_4 from statictext within w_inware_other
  20. end type
  21. type cbx_packqty_cmpl from checkbox within w_inware_other
  22. end type
  23. end forward
  24. global type w_inware_other from w_publ_1ton_share_detail
  25. string title = "其他进仓单"
  26. boolean maxbox = true
  27. windowstate windowstate = maximized!
  28. long dw_pageretr_w = 38085696
  29. long dw_child_h = 43774568
  30. long dw_child_w = 12011776
  31. event insert_childrow ( )
  32. event ue_fj_edit ( )
  33. event ue_fj_view ( )
  34. event ue_cmpl_status_qty ( )
  35. event ue_cmpl_qty ( )
  36. event ue_p_cmpl_qty ( )
  37. event ue_p_formula_set ( )
  38. event ue_ch_reason ( )
  39. event ue_p_cus_set ( )
  40. event ue_view_status ( long arg_row, string arg_status )
  41. event ue_cmpl_set0 ( )
  42. event ue_insert_execltodw ( )
  43. event ue_set_dytitle ( )
  44. ddlb_scid ddlb_scid
  45. ddlb_status ddlb_status
  46. cb_select cb_select
  47. sle_sptcode sle_sptcode
  48. cbx_sptcode cbx_sptcode
  49. st_3 st_3
  50. st_2 st_2
  51. st_4 st_4
  52. cbx_packqty_cmpl cbx_packqty_cmpl
  53. end type
  54. global w_inware_other w_inware_other
  55. type variables
  56. long cur_scid //分店ID
  57. long cur_scid_arr[]
  58. int cur_flag=-1
  59. uo_inware_other uo_ware
  60. string ol_cdw_str = ''
  61. int ii_packqty_cmpl
  62. end variables
  63. forward prototypes
  64. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
  65. public function integer wf_flagstatus_rf ()
  66. public subroutine wf_check_billfj ()
  67. 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)
  68. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  69. public function integer wf_check_qtyandaddqty (ref string arg_msg)
  70. public function integer wf_openfile (datawindow arg_dw)
  71. end prototypes
  72. event insert_childrow();long li_row
  73. li_row=dw_child.insertrow(0)
  74. dw_child.scrolltorow(li_row)
  75. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  76. end event
  77. event ue_fj_edit();IF dw_edit_mode THEN
  78. MessageBox('提示','编辑状态下不可用',information!,ok!)
  79. RETURN
  80. END IF
  81. //IF NOT f_power_ind(1098) THEN
  82. // MessageBox(publ_operator,'你没有使用权限!')
  83. // RETURN
  84. //END IF
  85. s_edit_index_tran s_pic
  86. Long ll_ConnectionID
  87. String arg_msg
  88. Long ls_row
  89. ls_row = dw_uc.GetRow()
  90. IF ls_row <= 0 THEN
  91. RETURN
  92. END IF
  93. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  94. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,ok!)
  95. RETURN
  96. END IF
  97. s_pic.f_long = 304 //销售订单的mainID
  98. s_pic.f_string = dw_uc.Object.inwarecode[ls_row]
  99. s_pic.g_long = dw_uc.Object.inwareid[ls_row]
  100. s_pic.e_long = dw_uc.Object.u_inware_scid[ls_row]
  101. s_pic.sqltransaction = sys_filedb_sqlca
  102. OpenWithParm(w_fj_bill_mng,s_pic)
  103. wf_check_billfj()
  104. end event
  105. event ue_fj_view();IF dw_edit_mode THEN
  106. MessageBox('提示','编辑状态下不可用',information!,ok!)
  107. RETURN
  108. END IF
  109. s_edit_index_tran s_pic
  110. Long ll_ConnectionID
  111. String arg_msg
  112. Long ls_row
  113. ls_row = dw_uc.GetRow()
  114. IF ls_row <= 0 THEN
  115. RETURN
  116. END IF
  117. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  118. MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,ok!)
  119. RETURN
  120. END IF
  121. s_pic.f_long = 304 //销售订单的mainID
  122. s_pic.f_string = dw_uc.Object.inwarecode[ls_row]
  123. s_pic.g_long = dw_uc.Object.inwareid[ls_row]
  124. s_pic.e_long = dw_uc.Object.u_inware_scid[ls_row]
  125. s_pic.sqltransaction = sys_filedb_sqlca
  126. OpenWithParm(w_fj_bill_view,s_pic)
  127. end event
  128. event ue_cmpl_status_qty();Int ll_flag
  129. Decimal ll_value
  130. Long ll_num
  131. Long i,j,k
  132. String ls_mtrlmode
  133. String ls_status
  134. Decimal ld_qty
  135. Decimal ld_addqty
  136. String ls_msg
  137. Long ll_type
  138. s_cmpl_addqty s_cmpl
  139. dw_child.AcceptText()
  140. dw_uc.SetRedraw(FALSE)
  141. IF dw_edit_mode THEN
  142. Open(w_cmpl_status_qty_ch)
  143. s_cmpl = Message.PowerObjectParm
  144. ll_flag = s_cmpl.flag
  145. ll_value = s_cmpl.addvalue
  146. ll_num = s_cmpl.num
  147. ll_type = s_cmpl.cmptype
  148. IF ll_value <= 0 THEN RETURN
  149. IF dw_child.RowCount() <= 0 THEN RETURN
  150. FOR i = 1 TO dw_child.RowCount()
  151. ld_addqty = dw_child.Object.u_inwaremx_addqty[i]
  152. CHOOSE CASE ll_type
  153. CASE 0
  154. ls_status = dw_child.Object.u_inwaremx_status[i]
  155. CASE 1
  156. ls_status = dw_child.Object.u_inwaremx_woodcode[i]
  157. CASE 2
  158. ls_status = dw_child.Object.u_inwaremx_pcode[i]
  159. CASE 3
  160. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  161. CASE 4
  162. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  163. END CHOOSE
  164. IF ld_addqty = 0 OR ls_status = '' THEN
  165. ELSE
  166. ld_qty = 0
  167. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  168. MessageBox('错误',ls_msg,stopsign!,ok!)
  169. GOTO ext
  170. END IF
  171. IF ll_flag = 0 THEN
  172. dw_child.Object.u_inwaremx_qty[i] = Round(ld_qty * ll_value,ll_num)
  173. ELSE
  174. dw_child.Object.u_inwaremx_qty[i] = Round(ld_qty / ll_value,ll_num)
  175. END IF
  176. END IF
  177. NEXT
  178. END IF
  179. ext:
  180. dw_uc.SetRedraw(TRUE)
  181. end event
  182. event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
  183. Long child_row
  184. dw_child.AcceptText()
  185. child_row = dw_child.GetRow()
  186. s_cmpl_qty s_cmpl,s_return
  187. s_cmpl.qty = dw_child.Object.u_inwaremx_qty[child_row]
  188. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[child_row]
  189. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[child_row]
  190. s_cmpl.price = dw_child.Object.u_inwaremx_fprice[child_row]
  191. s_cmpl.ifnorebate = 1
  192. s_cmpl.status = dw_child.Object.u_inwaremx_status[child_row]
  193. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  194. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  195. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  196. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  197. IF NOT IsValid(w_cmpl_qty_ch) THEN
  198. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  199. s_return = Message.PowerObjectParm
  200. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  201. dw_child.Object.u_inwaremx_qty[child_row] = s_return.qty
  202. dw_child.Object.u_inwaremx_formula[child_row] = s_return.formula
  203. END IF
  204. END IF
  205. end event
  206. event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
  207. Long i
  208. String ls_formula
  209. String ls_msg
  210. String ls_rs
  211. String ls_num
  212. Decimal ld_addqty
  213. Decimal ld_price
  214. Decimal ld_rebate
  215. Decimal ld_qty
  216. dw_child.AcceptText()
  217. s_cmpl_qty s_cmpl
  218. Open(w_cmpl_qty_ch_son)
  219. s_cmpl = Message.PowerObjectParm
  220. dw_uc.SetRedraw(FALSE)
  221. FOR i = 1 TO dw_child.RowCount()
  222. ld_qty = 0
  223. IF dw_child.Object.u_inwaremx_formula[i] <> '' THEN
  224. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[i]
  225. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[i]
  226. s_cmpl.price = dw_child.Object.u_inwaremx_fprice[i]
  227. s_cmpl.ifnorebate = 1
  228. s_cmpl.status = dw_child.Object.u_inwaremx_status[i]
  229. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  230. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[i]
  231. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  232. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  233. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  234. MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! )
  235. GOTO ext
  236. END IF
  237. dw_child.Object.u_inwaremx_qty[i] = ld_qty
  238. END IF
  239. NEXT
  240. ext:
  241. dw_child.SetColumn('u_inwaremx_qty')
  242. dw_uc.SetRedraw(TRUE)
  243. end event
  244. event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
  245. IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN
  246. RETURN
  247. END IF
  248. Long ll_i
  249. dw_child.AcceptText()
  250. dw_child.SetRedraw(FALSE)
  251. FOR ll_i = 1 TO dw_child.RowCount()
  252. IF ll_i = 1 THEN CONTINUE
  253. dw_child.Object.u_inwaremx_formula[ll_i] = dw_child.Object.u_inwaremx_formula[1]
  254. NEXT
  255. dw_child.SetRedraw(TRUE)
  256. end event
  257. event ue_ch_reason();IF NOT IsValid(w_inout_reason_ch) THEN
  258. s_edit_index_tran s_open //传递参数使用
  259. s_open.work_mode = 1
  260. s_open.c_long = 1
  261. Openwithparm(w_inout_reason_ch, s_open)
  262. s_inout_reason s_ch
  263. s_ch = Message.PowerObjectParm
  264. IF s_ch.reason <> '' THEN
  265. dw_uc.Object.sptname[dw_uc.GetRow()] = s_ch.reason
  266. END IF
  267. datawindowchild childdw
  268. dw_uc.GetChild("sptname",childdw)
  269. childdw.SetTransObject (sqlca)
  270. childdw.Retrieve()
  271. END IF
  272. end event
  273. event ue_p_cus_set();IF NOT dw_edit_mode THEN RETURN
  274. IF MessageBox('提示','是否要确定要批设定客户', question!, YesNo!, 2) = 2 THEN
  275. RETURN
  276. END IF
  277. IF dw_child.RowCount() < 2 THEN RETURN
  278. Long i
  279. dw_child.SetRedraw (FALSE)
  280. FOR i = 2 TO dw_child.RowCount()
  281. dw_child.Object.u_cust_cuscode[i] = dw_child.Object.u_cust_cuscode[1]
  282. dw_child.Object.u_cust_name[i] = dw_child.Object.u_cust_name[1]
  283. dw_child.Object.u_inwaremx_if_mtrlware[i] = dw_child.Object.u_inwaremx_if_mtrlware[1]
  284. dw_child.Object.u_inwaremx_sptid_cusid[i] = dw_child.Object.u_inwaremx_sptid_cusid[1]
  285. NEXT
  286. dw_child.SetRedraw (TRUE)
  287. end event
  288. event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return
  289. String ls_dscrp
  290. long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  291. dw_child.AcceptText()
  292. ll_mtrlid = dw_child.object.u_inwaremx_mtrlid[arg_row]
  293. SELECT
  294. statusflag,
  295. woodcodeflag,
  296. pcodeflag
  297. into
  298. :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag
  299. FROM U_MTRLDEF
  300. where mtrlid = :ll_mtrlid;
  301. IF arg_status = 'u_inwaremx_status' THEN
  302. IF ll_statusflag<>5 THEN RETURN
  303. ELSEIF arg_status = 'u_inwaremx_woodcode' THEN
  304. IF ll_woodcodeflag<>5 THEN RETURN
  305. ELSEIF arg_status = 'u_inwaremx_pcode' then
  306. IF ll_pcodeflag<>5 THEN RETURN
  307. ELSE
  308. RETURN
  309. END IF
  310. ls_dscrp = dw_child.GetItemString(arg_row, arg_status)
  311. s_view.Title = '配置内容'
  312. s_view.dscrp = ls_dscrp
  313. s_view.editmode = dw_edit_mode
  314. OpenWithParm(w_view_status,s_view)
  315. IF dw_edit_mode THEN
  316. s_return = Message.PowerObjectParm
  317. dw_child.setitem(arg_row,arg_status,s_return.dscrp)
  318. END IF
  319. end event
  320. event ue_cmpl_set0();long i
  321. s_dsr_finish_procode_qty ss_inware,ss_rtn
  322. OpenWithParm(w_dsr_p_inwarecp_qty,ss_inware )
  323. ss_rtn = Message.PowerObjectParm
  324. if ss_rtn.if_ok=0 then return
  325. //messagebox('',string(ss_rtn.rtn_qty))
  326. for i=1 to dw_child.rowcount()
  327. dw_child.object.u_inwaremx_qty[i]=dec(ss_rtn.rtn_qty)
  328. next
  329. end event
  330. event ue_insert_execltodw();Long i,ll_cnt,j
  331. SELECT count(*) Into :ll_cnt From u_dytitle_inwarebuy;
  332. IF ll_cnt = 0 THEN
  333. MessageBox('Error','明细标题与execl标题对应关系没有设置,请先执行设置')
  334. This.TriggerEvent('ue_set_dytitle')
  335. RETURN
  336. END IF
  337. dw_child.setredraw(false)
  338. wf_openfile(dw_child)
  339. dw_child.AcceptText()
  340. String ls_mtrlcode,ls_unit
  341. Long ll_mtrlid
  342. String arg_msg
  343. For j = dw_child.RowCount() to 1 step -1
  344. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[j]
  345. IF ls_mtrlcode = '' THEN
  346. dw_child.deleterow(j)
  347. end if
  348. Next
  349. FOR i = 1 To dw_child.RowCount()
  350. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
  351. IF ls_mtrlcode <> '' THEN
  352. ll_mtrlid = 0
  353. SELECT mtrlid,unit Into :ll_mtrlid,:ls_unit From u_mtrldef Where mtrlcode = :ls_mtrlcode;
  354. IF ll_mtrlid <> 0 THEN
  355. dw_child.Object.u_inwaremx_printid[i] = i
  356. dw_child.Object.u_inwaremx_mtrlid[i] = ll_mtrlid
  357. IF dw_child.Object.u_mtrldef_unit[i] = '' Or IsNull(dw_child.Object.u_mtrldef_unit[i]) THEN
  358. dw_child.Object.u_mtrldef_unit[i] = ls_unit
  359. END IF
  360. ELSE
  361. arg_msg = arg_msg + ',' +ls_mtrlcode
  362. END IF
  363. END IF
  364. NEXT
  365. dw_child.setredraw(true)
  366. IF arg_msg <> '' THEN
  367. MessageBox('Error',arg_msg + ' 没有定义,请先定义物料')
  368. END IF
  369. end event
  370. event ue_set_dytitle();Long ll_d_col_count,i,j = 1
  371. String ls_col_name
  372. s_dytitle_inwarebuy ss_dytitle_inwarebuy //col_name
  373. ll_d_col_count = Long(dw_child.Object.datawindow.Column.Count)
  374. FOR i = 1 To ll_d_col_count
  375. ls_col_name = dw_child.Describe('#' + String(i) + '.Name')
  376. IF Long(dw_child.Describe(ls_col_name + '.TabSequence ')) > 0 THEN
  377. ss_dytitle_inwarebuy.col_name[j] = ls_col_name
  378. ss_dytitle_inwarebuy.title_name[j] = dw_child.describe(ls_col_name + '_t.Text')
  379. j++
  380. END IF
  381. NEXT
  382. openwithparm(w_dytitle_inwarebuy,ss_dytitle_inwarebuy)
  383. end event
  384. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//====================================================================
  385. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  386. //--------------------------------------------------------------------
  387. // Description: 刷新dw_pageretr
  388. //--------------------------------------------------------------------
  389. // Arguments:
  390. // value long arg_scid
  391. // value long arg_inwareid
  392. //--------------------------------------------------------------------
  393. // Returns: integer
  394. //--------------------------------------------------------------------
  395. // Author: yyx Date: 2003.11.14
  396. //--------------------------------------------------------------------
  397. // Modify History:
  398. //
  399. //====================================================================
  400. IF arg_inwareid <= 0 Or IsNull(arg_inwareid) THEN RETURN 0
  401. Long uc_row
  402. uc_row = dw_pageretr.GetRow()
  403. IF uc_row <= 0 THEN RETURN 0
  404. Long storageid
  405. DateTime indate
  406. String inrep
  407. String part
  408. String dscrp
  409. Int balcflag
  410. String inwarecode
  411. String sptname
  412. DateTime opdate
  413. String opemp
  414. String modemp
  415. DateTime moddate
  416. Int flag
  417. DateTime Auditingdate
  418. String Auditingrep
  419. String storagename
  420. SELECT u_inware.storageid,
  421. u_inware.indate,
  422. u_inware.inrep,
  423. u_inware.part,
  424. u_inware.dscrp,
  425. u_inware.opdate,
  426. u_inware.opemp,
  427. u_inware.flag,
  428. u_inware.auditingdate,
  429. u_inware.auditingrep,
  430. u_inware.inwarecode,
  431. u_inware.balcflag,
  432. u_inware.sptname,
  433. u_storage.storagename,
  434. u_inware.modemp,
  435. u_inware.moddate
  436. INTO
  437. :storageid,
  438. :indate,
  439. :inrep,
  440. :part,
  441. :dscrp,
  442. :opdate,
  443. :opemp,
  444. :flag,
  445. :Auditingdate,
  446. :Auditingrep,
  447. :inwarecode,
  448. :balcflag,
  449. :sptname,
  450. :storagename,
  451. :modemp,
  452. :moddate
  453. FROM u_inware ,u_storage
  454. WHERE ( u_inware.inwareid = :arg_inwareid )
  455. AND ( u_inware.storageid = u_storage.storageid )
  456. And ( u_inware.scid = :arg_scid );
  457. IF sqlca.SQLCode <> 0 THEN
  458. MessageBox('错误',"查询操作失败(错误单据唯一码)",stopsign!,ok!)
  459. RETURN 0
  460. END IF
  461. dw_pageretr.Object.u_inware_scid[uc_row] = arg_scid
  462. dw_pageretr.Object.inwareid[uc_row] = arg_inwareid
  463. dw_pageretr.Object.indate[uc_row] = indate
  464. dw_pageretr.Object.part[uc_row] = part
  465. dw_pageretr.Object.inrep[uc_row] = inrep
  466. dw_pageretr.Object.storageid[uc_row] = storageid
  467. dw_pageretr.Object.sptname[uc_row] = sptname
  468. dw_pageretr.Object.dscrp[uc_row] = dscrp
  469. dw_pageretr.Object.balcflag[uc_row] = balcflag
  470. dw_pageretr.Object.inwarecode[uc_row] = inwarecode
  471. dw_pageretr.Object.opdate[uc_row] = opdate
  472. dw_pageretr.Object.u_inware_opemp[uc_row] = opemp
  473. dw_pageretr.Object.u_inware_moddate[uc_row] = moddate
  474. dw_pageretr.Object.u_inware_modemp[uc_row] = modemp
  475. dw_pageretr.Object.flag[uc_row] = flag
  476. dw_pageretr.Object.Auditingdate[uc_row] = Auditingdate
  477. dw_pageretr.Object.Auditingrep[uc_row] = Auditingrep
  478. dw_pageretr.Object.u_storage_storagename[uc_row] = storagename
  479. dw_uc.Reset()
  480. dw_pageretr.RowsCopy(dw_pageretr.GetRow(),dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  481. dw_uc.ResetUpdate()
  482. dw_uc.SetRedraw(True)
  483. wf_flagstatus_rf()
  484. RETURN 1
  485. end function
  486. public function integer wf_flagstatus_rf ();//====================================================================
  487. // Function: wf_flagstatus_rf()
  488. //--------------------------------------------------------------------
  489. // Description:
  490. //--------------------------------------------------------------------
  491. // Arguments:(None)
  492. //--------------------------------------------------------------------
  493. // Returns: integer
  494. //--------------------------------------------------------------------
  495. // Author: yyx Date: 2003.12.26
  496. //--------------------------------------------------------------------
  497. // Modify History:
  498. //
  499. //====================================================================
  500. long pagerert_row
  501. pagerert_row=dw_pageretr.getrow()
  502. if pagerert_row<=0 then
  503. cb_auditing.enabled=false
  504. goto ext
  505. end if
  506. if dw_edit_mode then
  507. cb_auditing.enabled=false
  508. cb_auditing_cancel.enabled=false
  509. else
  510. if dw_pageretr.object.flag[pagerert_row]=0 then
  511. cb_auditing.enabled=true
  512. cb_auditing_cancel.enabled=false
  513. elseif dw_pageretr.object.flag[pagerert_row]=1 then
  514. cb_auditing.enabled=false
  515. cb_auditing_cancel.enabled=true
  516. end if
  517. end if
  518. ext:
  519. return 0
  520. end function
  521. public subroutine wf_check_billfj ();String arg_msg
  522. Long ll_ConnectionID
  523. Long cur_billtype
  524. long ll_relid,ll_relid_mx,ll_scid
  525. Long ls_filecount = 0
  526. Int rslt = 1
  527. uo_fj_mng_billtype ls_uo_fjbt
  528. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  529. Long row,uc_relid
  530. row = dw_pageretr.GetRow()
  531. IF row > 0 THEN
  532. ll_relid = dw_pageretr.Object.inwareid[row]
  533. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  534. ll_relid_mx = 0
  535. ELSE
  536. rslt = 0
  537. GOTO ext
  538. END IF
  539. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  540. rslt = 0
  541. GOTO ext
  542. END IF
  543. cur_billtype = 304 //客户投拆单的 mainiD
  544. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  545. IF ls_filecount > 0 THEN
  546. rslt = 1
  547. GOTO ext
  548. ELSE
  549. rslt = 0
  550. GOTO ext
  551. END IF
  552. ext:
  553. wf_encl(rslt)
  554. DESTROY ls_uo_fjbt
  555. end subroutine
  556. 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);//==============================================================================
  557. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  558. //------------------------------------------------------------------------------
  559. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  560. //------------------------------------------------------------------------------
  561. Long LS_ROW,ll_id,i,ll_scid
  562. LS_ROW = dw_uc.GetRow()
  563. IF LS_ROW <= 0 THEN
  564. arg_msg = '没有目标单据!'
  565. RETURN 0
  566. END IF
  567. //修改点:获取 指定retriev参数
  568. ll_id = dw_uc.Object.#1[LS_ROW]
  569. ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
  570. //查询所选模版是否含有图片信息
  571. Long ll_ifpic
  572. Long ll_classid
  573. SELECT ifpic
  574. INTO :ll_ifpic
  575. FROM U_XLS_Templates
  576. Where id = :ll_xls_Templatesid;
  577. IF sqlca.SQLCode <> 0 THEN
  578. ll_ifpic = 0
  579. END IF
  580. Long ll_i,ll_j
  581. Long ll_mtrlid
  582. Long ll_fileid
  583. Blob ls_filedata
  584. SetNull(ls_filedata)
  585. String Pathname,ls_filename,ls_filetype
  586. String errmsg
  587. uo_fj_mng_billtype ls_uo_fjbt
  588. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  589. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  590. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  591. SELECT classid
  592. INTO :ll_classid
  593. FROM u_billpic_fileclass
  594. Where (billtype = 304);
  595. IF sqlca.SQLCode <> 0 THEN
  596. ll_classid = 0
  597. END IF
  598. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  599. FOR ll_i = 1 TO dw_child.RowCount()
  600. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  601. //取该附件类型中的第一个附件.
  602. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  603. FROM u_file
  604. WHERE relid = :ll_mtrlid
  605. AND classid = :ll_classid
  606. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  607. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  608. USING sys_fileDB_sqlca;
  609. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  610. ll_fileid = 0
  611. END IF
  612. IF ll_fileid > 0 THEN
  613. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  614. IF Trim(Pathname) <> '' THEN
  615. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  616. RETURN 0
  617. END IF
  618. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  619. RETURN 0
  620. ELSE
  621. s_pic.path[ll_i] = Pathname
  622. //记录临时文件位置,本窗口退出后删除
  623. wf_addlog_tempfilepathname(Pathname)
  624. END IF
  625. ELSE
  626. s_pic.path[ll_i] = ''
  627. END IF
  628. ELSE
  629. s_pic.path[ll_i] = ''
  630. END IF
  631. NEXT
  632. END IF
  633. //
  634. END IF
  635. ////可选设置///
  636. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  637. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  638. boolean xls_locked
  639. xls_locked = not (sys_option_xls_lock = 1)
  640. /// Excel 的可选设置
  641. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  642. return 0
  643. end if
  644. for i = 1 to arg_str_billlist.count
  645. ////可选操作///
  646. arg_str_billlist.bill[i].ds_data = create datastore //
  647. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  648. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  649. //修改点:注意retrieve 参数与上文对应
  650. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  651. next
  652. return 1
  653. end function
  654. 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
  655. LS_ROW = dw_pageretr.GetRow()
  656. IF LS_ROW <= 0 THEN
  657. arg_msg = '没有目标单据!'
  658. RETURN 0
  659. END IF
  660. //修改点:获取 指定retriev参数
  661. ll_id = dw_pageretr.Object.#1[LS_ROW]
  662. ll_scid = dw_pageretr.Object.u_inware_scid[LS_ROW]
  663. Long ll_i,ll_j
  664. Long ll_mtrlid
  665. Long ll_fileid
  666. Blob ls_filedata
  667. SetNull(ls_filedata)
  668. String Pathname,ls_filename,ls_filetype
  669. String errmsg
  670. uo_fj_mng_billtype ls_uo_fjbt
  671. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  672. Long ll_classid
  673. SELECT classid
  674. INTO :ll_classid
  675. FROM u_billpic_fileclass
  676. Where (billtype = 102);
  677. IF sqlca.SQLCode <> 0 THEN
  678. ll_classid = 0
  679. END IF
  680. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  681. FOR ll_i = 1 TO dw_child.RowCount()
  682. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  683. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  684. //取该附件类型中的第一个附件.
  685. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  686. FROM u_file
  687. WHERE relid = :ll_mtrlid
  688. AND classid = :ll_classid
  689. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  690. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  691. USING sys_fileDB_sqlca;
  692. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  693. ll_fileid = 0
  694. END IF
  695. IF ll_fileid > 0 THEN
  696. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  697. IF Trim(Pathname) <> '' THEN
  698. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  699. RETURN 0
  700. END IF
  701. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  702. RETURN 0
  703. ELSE
  704. arg_s_pic.path[ll_i] = Pathname
  705. //记录临时文件位置,本窗口退出后删除
  706. wf_addlog_tempfilepathname(Pathname)
  707. END IF
  708. ELSE
  709. arg_s_pic.path[ll_i] = ''
  710. END IF
  711. ELSE
  712. arg_s_pic.path[ll_i] = ''
  713. END IF
  714. NEXT
  715. END IF
  716. RETURN 1
  717. end function
  718. public function integer wf_check_qtyandaddqty (ref string arg_msg);Long i
  719. Int rslt = 1
  720. Long lk_mtrlid,lk_ifcheckaddqty
  721. String ls_strcheckaddqty,ls_mtrlmode
  722. Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty,dec_rebate
  723. String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
  724. Long num
  725. s_cmpl_qty s_cmpl
  726. s_cmpl.addvalue = 1
  727. String ls_msg
  728. dw_child.AcceptText()
  729. FOR i = 1 To dw_child.RowCount()
  730. lk_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  731. dec_qty = dw_child.Object.u_inwaremx_qty[i]
  732. dec_addqty = dw_child.Object.u_inwaremx_addqty[i]
  733. ls_status = dw_child.Object.u_inwaremx_status[i]
  734. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  735. ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
  736. ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  737. ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  738. dec_danpackqty=0
  739. dec_packqty= dw_child.Object.u_inwaremx_packqty[i]
  740. dec_rebate = 1
  741. ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
  742. SELECT ifcheckaddqty,strcheckaddqty,strcheck_digit Into :lk_ifcheckaddqty,:ls_strcheckaddqty,:num From u_mtrldef Where mtrlid = :lk_mtrlid;
  743. s_cmpl.formula = ls_strcheckaddqty
  744. s_cmpl.status = ls_status
  745. s_cmpl.woodcode = ls_woodcode
  746. s_cmpl.pcode = ls_pcode
  747. s_cmpl.mtrlsectype = ls_mtrlsectype
  748. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  749. s_cmpl.addqty = dec_addqty
  750. s_cmpl.num = num
  751. s_cmpl.oldqty = dec_qty
  752. s_cmpl.mtrlsectype = ls_mtrlsectype
  753. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  754. s_cmpl.packqty = dec_packqty
  755. s_cmpl.rebate = dec_rebate
  756. //如果有填写数量 则 只检查数量和辅数的关系
  757. Decimal dec_tmp
  758. IF lk_mtrlid > 0 And dec_qty <> 0 THEN
  759. IF f_cmpl_qty_check(s_cmpl,dec_tmp,ls_msg) <> TRUE THEN
  760. rslt = 0
  761. arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty
  762. GOTO ext
  763. END IF
  764. END IF
  765. //如果没有填写数量 则 由辅数计算出数量
  766. IF lk_mtrlid > 0 And dec_qty = 0 THEN
  767. IF f_cmpl_qty(s_cmpl,dec_tmp,ls_msg) = 0 THEN
  768. rslt = 0
  769. arg_msg += '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty
  770. goto ext
  771. END IF
  772. dw_child.Object.u_inwaremx_qty[i] = dec_tmp
  773. END IF
  774. NEXT
  775. dw_child.AcceptText()
  776. ext:
  777. RETURN rslt
  778. end function
  779. public function integer wf_openfile (datawindow arg_dw);
  780. String str_savename,named,s_grxh
  781. Int excelok,li_net
  782. Long li_count,i,ll_hang
  783. oleobject excelserver
  784. excelserver = Create oleobject
  785. excelok = excelserver.ConnectToNewObject("excel.application")
  786. //检查返回值,以确保已成功地连接到了Excel
  787. IF excelok <> 0 THEN
  788. MessageBox("提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!", Information!, OK! )
  789. RETURN -1
  790. END IF
  791. li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
  792. IF li_net > 0 THEN
  793. IF str_savename = "" THEN RETURN -1
  794. arg_dw.SetTransObject(sqlca)
  795. arg_dw.InsertRow(0)
  796. arg_dw.Reset()
  797. excelserver.workbooks.Open(str_savename)
  798. excelserver.activesheet.cells.Copy
  799. datastore ds_col30
  800. /////////////建立映射//////////////////// //
  801. ds_col30 = Create datastore
  802. ds_col30.DataObject = 'dw_col30'
  803. ds_col30.ImportClipboard(1)
  804. Long ll_s_col_count = 30
  805. Long ll_d_col_count
  806. String ls_execltitlename,ls_filtername
  807. s_dytitle_filter ss_dytitle_filter[]
  808. Long k = 1,m
  809. Long li_argcnt = 1
  810. String ls_cmd,ls_arg[]
  811. ll_d_col_count = Long(arg_dw.Object.datawindow.Column.Count)
  812. Long ll_map[] // 目标表与原表的映射,0为没有映射
  813. String ls_colType[] // 目标表列类型
  814. Long col_d, col_s
  815. SELECT Top 1 hang Into :ll_hang From u_dytitle_inwarebuy;
  816. FOR col_d = 1 To ll_d_col_count
  817. String ls_col_title, ls_col_name
  818. ls_col_name = arg_dw.Describe('#' + String(col_d) + '.Name')
  819. ls_colType[col_d] = arg_dw.Describe('#' + String(col_d) + '.ColType')
  820. ls_col_title = arg_dw.Describe(ls_col_name + '_t.Text') //数据窗口的标题名称
  821. ll_map[col_d] = 0
  822. FOR col_s = 1 To ll_s_col_count
  823. String ls_s_title
  824. ls_s_title = ds_col30.GetItemString(ll_hang , col_s) //execl表的标题名称
  825. //
  826. SELECT execltitlename,filtername Into :ls_execltitlename,:ls_filtername From u_dytitle_inwarebuy Where Name = :ls_col_name;
  827. //
  828. // if lower(trim(ls_col_title)) = lower(trim(ls_s_title)) then
  829. IF Lower(Trim(ls_execltitlename)) = Lower(Trim(ls_s_title)) THEN
  830. ll_map[col_d] = col_s
  831. IF ls_filtername <> '' THEN //记录过滤
  832. ss_dytitle_filter[k].num = col_s
  833. ss_dytitle_filter[k].filtername = ls_filtername
  834. k++
  835. END IF
  836. EXIT
  837. END IF
  838. NEXT
  839. NEXT
  840. // TODO: 人工干预,设置映射
  841. Long row_s, row_d
  842. String lk_temp
  843. FOR row_s = ll_hang + 1 To ds_col30.RowCount( ) //ll_hang + 1
  844. //过滤
  845. FOR k = 1 To UpperBound(ss_dytitle_filter)
  846. lk_temp = String( Trim(ds_col30.GetItemString(row_s, ss_dytitle_filter[k].num)))
  847. //
  848. ls_cmd = ss_dytitle_filter[k].filtername
  849. IF Pos(ls_cmd,',') > 0 THEN //如果是多少个过滤字眼
  850. DO WHILE Len(ls_cmd) > 0
  851. i = Pos( ls_cmd, ",")
  852. IF i = 0 THEN i = Len(ls_cmd) + 1
  853. ls_arg[li_argcnt] = Left(ls_cmd, i - 1)
  854. li_argcnt = li_argcnt + 1
  855. ls_cmd = Replace(ls_cmd, 1, i, "")
  856. LOOP
  857. FOR m = 1 To UpperBound(ls_arg)
  858. IF Pos(lk_temp,ls_arg[m]) > 0 THEN
  859. GOTO ext
  860. END IF
  861. NEXT
  862. ELSE //一个过滤字眼
  863. IF Pos(lk_temp,ss_dytitle_filter[k].filtername) > 0 THEN
  864. GOTO ext
  865. END IF
  866. END IF
  867. //
  868. NEXT
  869. //过滤
  870. row_d = arg_dw.InsertRow(0)
  871. FOR col_d = 1 To ll_d_col_count
  872. IF ll_map[col_d] = 0 THEN CONTINUE
  873. Any Value
  874. String ls_value
  875. ls_value = Trim(ds_col30.GetItemString(row_s, ll_map[col_d]))
  876. IF Lower(Left(ls_colType[col_d], 4)) = 'char' THEN
  877. Value = ls_value
  878. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'long' &
  879. Or Lower(Left(ls_colType[col_d], 3)) = 'int' &
  880. Or Lower(Left(ls_colType[col_d], 3)) = 'num' &
  881. Or Lower(Left(ls_colType[col_d], 5)) = 'ulong' THEN
  882. Value = Long(ls_value)
  883. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'deci' &
  884. Or Lower(Left(ls_colType[col_d], 4)) = 'real' THEN
  885. Value = Dec(ls_value)
  886. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'date' THEN
  887. Value = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 12)))
  888. END IF
  889. arg_dw.SetItem(row_d, col_d, Value)
  890. NEXT
  891. ext:
  892. NEXT
  893. Destroy ds_col30
  894. ///////////////////////////////////// //
  895. // li_count = arg_dw.ImportClipboard(2) //导入数据 (从第几行开始导入)
  896. Clipboard("")
  897. excelserver.quit()
  898. excelserver.DisconnectObject()
  899. Destroy excelserver
  900. FOR i = 1 To arg_dw.RowCount( )
  901. // arg_dw.Object.repeat[i] = 0
  902. NEXT
  903. arg_dw.AcceptText( )
  904. RETURN 1
  905. ELSE
  906. MessageBox('提示','没有指定导入文件!', Information!, OK! )
  907. RETURN -1
  908. END IF
  909. end function
  910. on w_inware_other.create
  911. int iCurrent
  912. call super::create
  913. this.ddlb_scid=create ddlb_scid
  914. this.ddlb_status=create ddlb_status
  915. this.cb_select=create cb_select
  916. this.sle_sptcode=create sle_sptcode
  917. this.cbx_sptcode=create cbx_sptcode
  918. this.st_3=create st_3
  919. this.st_2=create st_2
  920. this.st_4=create st_4
  921. this.cbx_packqty_cmpl=create cbx_packqty_cmpl
  922. iCurrent=UpperBound(this.Control)
  923. this.Control[iCurrent+1]=this.ddlb_scid
  924. this.Control[iCurrent+2]=this.ddlb_status
  925. this.Control[iCurrent+3]=this.cb_select
  926. this.Control[iCurrent+4]=this.sle_sptcode
  927. this.Control[iCurrent+5]=this.cbx_sptcode
  928. this.Control[iCurrent+6]=this.st_3
  929. this.Control[iCurrent+7]=this.st_2
  930. this.Control[iCurrent+8]=this.st_4
  931. this.Control[iCurrent+9]=this.cbx_packqty_cmpl
  932. end on
  933. on w_inware_other.destroy
  934. call super::destroy
  935. destroy(this.ddlb_scid)
  936. destroy(this.ddlb_status)
  937. destroy(this.cb_select)
  938. destroy(this.sle_sptcode)
  939. destroy(this.cbx_sptcode)
  940. destroy(this.st_3)
  941. destroy(this.st_2)
  942. destroy(this.st_4)
  943. destroy(this.cbx_packqty_cmpl)
  944. end on
  945. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  946. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  947. cb_nextpage_enabled=cb_nextpage.enabled
  948. cb_retrieveall_enabled=cb_retrieveall.enabled
  949. cb_func_enabled=cb_func.enabled
  950. cb_nextpage.enabled=false
  951. cb_retrieveall.enabled=false
  952. cb_func.enabled=false
  953. //只显未自已管的仓库
  954. datawindowchild childdw
  955. string new_sqlstr,modify_str
  956. dw_uc.SetTransObject (sqlca)
  957. dw_uc.getchild("storageid",childdw)
  958. childdw.SetTransObject (sqlca)
  959. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  960. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  961. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  962. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  963. childdw.modify ( modify_str )
  964. //messagebox("",modify_str)
  965. if childdw.retrieve(cur_scid) = 0 then
  966. childdw.InsertRow(0)
  967. END IF
  968. //childdw.retrieve()
  969. //
  970. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  971. dw_pageretr.Retrieve(cur_scid_arr,sys_user_storageid,cur_flag)
  972. IF dw_pageretr.RowCount() > 0 THEN
  973. dw_pageretr.SetRow(1)
  974. dw_pageretr.triggerevent(rowfocuschanged!)
  975. end if
  976. this.triggerevent('retrieve_childdw')
  977. cb_nextpage.enabled=cb_nextpage_enabled
  978. cb_retrieveall.enabled=cb_retrieveall_enabled
  979. cb_func.enabled=cb_func_enabled
  980. end event
  981. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  982. if trim(sle_usual_query.text)<>'' then
  983. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  984. obj_expr=obj_expr+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  985. ELSE
  986. obj_expr=obj_expr+'( inwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
  987. END IF
  988. end if
  989. dw_pageretr.setfilter(obj_expr)
  990. dw_pageretr.SetRedraw(False)
  991. dw_pageretr.filter()
  992. if dw_pageretr.rowcount()>=1 then
  993. dw_pageretr.selectrow(0,false)
  994. dw_pageretr.selectrow(1,true)
  995. dw_pageretr.SetRow(1)
  996. dw_pageretr.triggerevent(rowfocuschanged!)
  997. end if
  998. dw_pageretr.SetRedraw(TRUE)
  999. end event
  1000. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  1001. ls_newselect=lower(ori_oldselect)
  1002. if trim(sle_usual_query.text)<>'' then
  1003. if pos(trim(sle_usual_query.text),'%')=0 then
  1004. ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  1005. else
  1006. ls_querystrpart="(u_inware.inwarecode like '"+trim(sle_usual_query.text)+"')"
  1007. end if
  1008. if Pos(ls_newselect," where ") <> 0 then
  1009. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  1010. else
  1011. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  1012. end if
  1013. end if
  1014. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1015. this.triggerevent('retrieve_pageretr')
  1016. end event
  1017. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  1018. ddlb_status.enabled=not dw_edit_mode
  1019. if dw_edit_mode then
  1020. ddlb_scid.enabled=false
  1021. else
  1022. if sys_scid > 0 then
  1023. ddlb_scid.enabled=false
  1024. else
  1025. ddlb_scid.enabled=true
  1026. end if
  1027. end if
  1028. cbx_sptcode.enabled=not dw_edit_mode
  1029. sle_sptcode.enabled=not dw_edit_mode
  1030. cb_select.enabled=not dw_edit_mode
  1031. end event
  1032. event close;call super::close;destroy uo_ware
  1033. wf_del_tempfilepathname()
  1034. end event
  1035. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  1036. IF Not dw_edit_mode THEN RETURN
  1037. Long child_row
  1038. Long ll_storageid = 0
  1039. String ls_plancode
  1040. String ls_con_name
  1041. child_row = dw_child.GetRow()
  1042. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1043. IF ll_storageid = 0 Or IsNull(ll_storageid) THEN
  1044. MessageBox('提示','请先选择仓库',information!,ok!)
  1045. RETURN
  1046. END IF
  1047. IF Not IsValid(W_mtrldef_edit) THEN
  1048. s_edit_index_tran s_ch_tran //传递参数使用
  1049. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  1050. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1051. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1052. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1053. s_ch_tran.if_select_all = True
  1054. s_ch_tran.b_long = -1
  1055. s_ch_tran.c_long = ll_storageid
  1056. Long chc = 1,ls_j
  1057. dw_child.AcceptText()
  1058. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  1059. OpenWithParm(W_mtrldef_edit,s_ch_tran)
  1060. s_mtrldef_array S_INSCUST
  1061. S_INSCUST = Message.PowerObjectParm
  1062. FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlid)
  1063. IF S_INSCUST.mtrlid[ls_j] > 0 THEN
  1064. IF dw_child.GetRow() > 0 THEN
  1065. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  1066. child_row = dw_child.InsertRow (0)
  1067. ELSE
  1068. child_row = dw_child.GetRow()
  1069. END IF
  1070. ELSE
  1071. child_row = dw_child.InsertRow (0)
  1072. END IF
  1073. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j]
  1074. dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  1075. dw_child.Object.u_inwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  1076. dw_child.Object.u_inwaremx_fprice[child_row] = S_INSCUST.planprice[ls_j]
  1077. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  1078. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  1079. dw_child.Object.u_mtrldef_prdpackcode[child_row] = S_INSCUST.prdpackcode[ls_j]
  1080. dw_child.Object.u_mtrldef_packqty[child_row] = S_INSCUST.packqty[ls_j]
  1081. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  1082. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
  1083. dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j]
  1084. dw_child.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  1085. // dw_child.Object.u_mtrldef_statustype[child_row] = S_INSCUST.statustype[ls_j]
  1086. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  1087. // dw_child.Object.u_mtrldef_woodcodetype[child_row] = S_INSCUST.woodcodetype[ls_j]
  1088. dw_child.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  1089. // dw_child.Object.u_mtrldef_pcodetype[child_row] = S_INSCUST.pcodetype[ls_j]
  1090. dw_child.Object.u_inwaremx_status[child_row] = S_INSCUST.status[ls_j]
  1091. dw_child.Object.u_inwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  1092. dw_child.Object.u_inwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  1093. dw_child.Object.u_mtrldef_handtype[child_row] = S_INSCUST.handtype[ls_j]
  1094. dw_child.Object.u_mtrldef_mtrlengname[child_row] = S_INSCUST.mtrlengname[ls_j]
  1095. //3个属性默认值
  1096. String ls_status_default,ls_woodcode_default,ls_pcode_default
  1097. ls_status_default = ''
  1098. ls_woodcode_default = ''
  1099. ls_pcode_default = ''
  1100. SELECT status_default,woodcode_default,pcode_default Into :ls_status_default,:ls_woodcode_default,:ls_pcode_default From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j];
  1101. IF Len(ls_status_default) > 0 THEN
  1102. dw_child.Object.u_inwaremx_status[child_row] = Trim(ls_status_default)
  1103. END IF
  1104. IF Len(ls_woodcode_default) > 0 THEN
  1105. dw_child.Object.u_inwaremx_woodcode[child_row] = Trim(ls_woodcode_default)
  1106. END IF
  1107. IF Len(ls_pcode_default) > 0 THEN
  1108. dw_child.Object.u_inwaremx_pcode[child_row] = Trim(ls_pcode_default)
  1109. END IF
  1110. IF s_inscust.statusflag[ls_j] = 2 THEN
  1111. SELECT name
  1112. into :ls_con_name
  1113. from u_mtrl_configure
  1114. where u_mtrl_configure.mtrlid = :s_inscust.mtrlid[ls_j] and u_mtrl_configure.DefaultPZ = 1;
  1115. dw_child.Object.u_inwaremx_status[child_row] = ls_con_name
  1116. END IF
  1117. ls_plancode = f_get_newplancode(ll_storageid)
  1118. dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
  1119. dw_child.SetColumn('u_inwaremx_qty')
  1120. END IF
  1121. NEXT
  1122. dw_child.SetFocus()
  1123. END IF
  1124. This.TriggerEvent('ue_allowedit')
  1125. end event
  1126. event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid,ll_scid
  1127. row=dw_pageretr.getrow()
  1128. if row>0 then
  1129. ll_scid=dw_pageretr.object.u_inware_scid[row]
  1130. uc_relid=dw_pageretr.object.inwareid[row]
  1131. dw_child.SetRedraw (false)
  1132. dw_child.retrieve(ll_scid,uc_relid)
  1133. dw_child.SetRedraw (true)
  1134. else
  1135. dw_child.reset()
  1136. end if
  1137. end event
  1138. event open;This.TriggerEvent('ue_before_open')
  1139. wf_movetocenter()
  1140. ds_copy_bill = Create datastore
  1141. ds_copy_bill.DataObject = dw_child.DataObject
  1142. ds_copy_bill.SetTransObject(sqlca)
  1143. OLD_TITLE = This.Title
  1144. s_tran = Message.PowerObjectParm
  1145. IF Not IsNull(s_tran) THEN
  1146. retrieve_all = s_tran.if_retrieve_all
  1147. mode = s_tran.work_mode
  1148. arg_pkid = s_tran.arg_pkid
  1149. arg_string_code = s_tran.arg_string_code
  1150. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  1151. ds_share = s_tran.ds_share
  1152. END IF
  1153. dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关
  1154. dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关
  1155. dw_pageretr.SetTransObject (sqlca)
  1156. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  1157. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  1158. //====================================================================
  1159. // Script - w_inware_other inherited from w_publ_1ton_share_detail for open
  1160. // Reason:
  1161. //--------------------------------------------------------------------
  1162. // Modified By: yyx Date: 2003.12.01
  1163. //--------------------------------------------------------------------
  1164. ori_oldselect = f_modify_selectstr(ori_oldselect) //只显示所管的仓库单据
  1165. //====================================================================
  1166. ls_newselect = ori_oldselect
  1167. ds_curquery = Create datastore
  1168. ds_curquery.DataObject = 'd_extr_find'
  1169. ds_curquery.SetTransObject (sqlca)
  1170. wf_editindex_lockf()
  1171. IF s_tran.d_long = 2 THEN
  1172. cur_scid = s_tran.c_long
  1173. ddlb_scid.uf_selectsc(cur_scid)
  1174. // Int li_item
  1175. // li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  1176. // IF li_item > 0 THEN
  1177. // ddlb_scid.SelectItem(li_item)
  1178. // END IF
  1179. END IF
  1180. sle_usual_query.Text = Trim(arg_string_code)
  1181. IF Not retrieve_all THEN
  1182. This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  1183. ELSE
  1184. IF if_sharedata THEN
  1185. ds_share.ShareData(dw_pageretr)
  1186. ELSE
  1187. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1188. This.TriggerEvent('RETRIEVE_pageretr')
  1189. END IF
  1190. END IF
  1191. IF retrieve_all THEN
  1192. This.TriggerEvent("ue_usual_query_filt")
  1193. END IF
  1194. uc_column_int = 7 //uc dw前7列可以编辑
  1195. child_column_int = 18 //子dw前8列可以编辑
  1196. uo_ware = Create uo_inware_other
  1197. uo_ware.commit_transaction = sqlca
  1198. s_hide_col s_col
  1199. s_col.col_1 = 'u_inwaremx_fprice'
  1200. s_col.col_2 = 'amt'
  1201. s_col.col_3 = 'u_inwaremx_cost'
  1202. s_col.col_4 = 'u_inwaremx_costamt'
  1203. //f_hide_col(121,dw_child,s_col)
  1204. f_hide_col(1449,dw_child,s_col)
  1205. s_hide_col s_col_mtrlsectype
  1206. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  1207. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  1208. s_hide_col s_col_zxmtrlmode
  1209. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  1210. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  1211. end event
  1212. event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(470) THEN
  1213. MessageBox('提示','你没有使用权限!',information!,ok!)
  1214. RETURN
  1215. END IF
  1216. Long LS_ROW
  1217. LS_ROW = dw_pageretr.GetRow()
  1218. IF LS_ROW <= 0 THEN
  1219. MessageBox('提示','没有打印目标单据!',information!,ok!)
  1220. RETURN
  1221. END IF
  1222. S_print_MSG LS_PRMSG
  1223. IF ls_newname <> '' THEN
  1224. IF li_auditprint = 1 THEN
  1225. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1226. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1227. RETURN
  1228. END IF
  1229. END IF
  1230. LS_PRMSG.obj_dwNAME = ls_newname
  1231. ELSE
  1232. LS_PRMSG.obj_dwNAME = 'dw_rp_inware_other_edit'
  1233. END IF
  1234. LS_PRMSG.TAG_TEXT = '其它进仓单'
  1235. LS_PRMSG.FILTER_STRING = ''
  1236. LS_PRMSG.retr_pram_falg = 15
  1237. LS_PRMSG.PAGECH_FLAG = 0
  1238. LS_PRMSG.retr_scid = cur_scid
  1239. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[LS_ROW]
  1240. LS_PRMSG.rowcnt = dw_child.RowCount()
  1241. IF ifpic = 1 THEN
  1242. String ls_msg
  1243. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1244. MessageBox('提示','下载图片失败!',information!,OK!)
  1245. RETURN
  1246. END IF
  1247. END IF
  1248. OpenWithParm(w_publ_preview,LS_PRMSG)
  1249. IF ifpic = 1 THEN
  1250. Long li
  1251. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1252. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1253. FileDelete(LS_PRMSG.s_pic.path[li])
  1254. END IF
  1255. NEXT
  1256. END IF
  1257. end event
  1258. event ue_print;call super::ue_print;//--直接打印
  1259. IF NOT f_power_ind(470) THEN
  1260. MessageBox('提示','你没有使用权限!',information!,ok!)
  1261. RETURN
  1262. END IF
  1263. uo_print_preview uo_print
  1264. S_print_MSG LS_PRMSG
  1265. if dw_pageretr.rowcount()=0 then
  1266. Messagebox('提示','没有可打印的单据!',information!,ok!)
  1267. return
  1268. end if
  1269. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1270. IF ls_newname <> '' THEN
  1271. IF li_auditprint = 1 THEN
  1272. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1273. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1274. RETURN
  1275. END IF
  1276. END IF
  1277. ls_prmsg.obj_dwNAME = ls_newname
  1278. ELSE
  1279. ls_prmsg.obj_dwNAME = 'dw_rp_inware_other_edit'
  1280. END IF
  1281. LS_PRMSG.retr_pram_falg=15
  1282. LS_PRMSG.TAG_TEXT='其它进仓单'
  1283. LS_PRMSG.FILTER_STRING = ''
  1284. LS_PRMSG.PAGECH_FLAG=0
  1285. LS_PRMSG.retr_scid=cur_scid
  1286. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[dw_pageretr.getrow()]
  1287. ls_prmsg.rowcnt=dw_child.rowcount()
  1288. IF ifpic = 1 THEN
  1289. String ls_msg
  1290. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1291. MessageBox('提示','下载图片失败!',information!,OK!)
  1292. RETURN
  1293. END IF
  1294. END IF
  1295. uo_print.FACT_PRINT_MSG=LS_PRMSG
  1296. string arg_msg
  1297. if uo_print.uof_print_begin(arg_msg)=0 then
  1298. messagebox("错误",arg_msg,stopsign!,ok!)
  1299. return
  1300. end if
  1301. uo_print.ds_print()
  1302. IF ifpic = 1 THEN
  1303. Long li
  1304. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1305. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1306. FileDelete(LS_PRMSG.s_pic.path[li])
  1307. END IF
  1308. NEXT
  1309. END IF
  1310. end event
  1311. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  1312. MessageBox('提示',"编辑状态下不可以使用!",information!,ok!)
  1313. return
  1314. END IF
  1315. IF NOT f_power_ind(798) THEN
  1316. MessageBox('提示','你没有使用权限!',information!,ok!)
  1317. RETURN
  1318. END IF
  1319. string arg_msg=''
  1320. string ls_str
  1321. long uc_row
  1322. s_inputbox s_sreu
  1323. uc_row=dw_pageretr.getrow()
  1324. if uc_row<=0 then
  1325. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1326. return
  1327. end if
  1328. s_sreu.title='请输入要补充到备注的内容'
  1329. s_sreu.old_text=''
  1330. openwithparm(w_inputbox,s_sreu)
  1331. ls_str=message.stringparm
  1332. if trim(ls_str)='' or isnull(ls_str) then return
  1333. 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
  1334. messagebox('错误',arg_msg,stopsign!,ok!)
  1335. return
  1336. else
  1337. messagebox('提示','添加备注操作成功!',information!,ok!)
  1338. wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
  1339. end if
  1340. end event
  1341. event ue_f10;call super::ue_f10;IF NOT dw_edit_mode THEN RETURN
  1342. Long child_row
  1343. Int if_addmxdscrp
  1344. String ls_mxdscrp
  1345. s_addqty_input s_input
  1346. dw_child.AcceptText( )
  1347. child_row = dw_child.GetRow()
  1348. IF child_row <= 0 THEN RETURN
  1349. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
  1350. ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row]
  1351. IF NOT IsValid(w_addqty_input) THEN
  1352. OpenWithParm(w_addqty_input,ls_mxdscrp)
  1353. s_input = Message.PowerObjectParm
  1354. IF s_input.addqty = -1 THEN RETURN
  1355. dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty
  1356. IF s_input.addqtystr <> '' THEN
  1357. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
  1358. END IF
  1359. IF s_input.formula <> '' THEN
  1360. dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
  1361. END IF
  1362. IF s_input.flag = 1 THEN
  1363. dw_child.Object.u_inwaremx_qty[child_row] = s_input.qty
  1364. END IF
  1365. END IF
  1366. end event
  1367. event ue_f9;call super::ue_f9;if not dw_edit_mode then return
  1368. long child_row
  1369. dw_child.accepttext()
  1370. child_row=dw_child.getrow()
  1371. if child_row <= 0 then return
  1372. if not isvalid(w_cust_ch) then
  1373. s_edit_index_tran s_ch_tran //传递参数使用
  1374. s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  1375. s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  1376. s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  1377. //查询列(物料编码)部分内容,用于初步筛选
  1378. s_ch_tran.arg_string_code=upper(trim(dw_child.object.u_cust_cuscode[dw_child.getrow()]))
  1379. OPENwithparm(w_cust_ch,s_ch_tran) //调用
  1380. s_custom S_INSCUST
  1381. S_INSCUST=Message.PowerObjectParm //接受返回结构
  1382. IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值
  1383. dw_child.setredraw(false)
  1384. dw_child.object.u_inwaremx_sptid_cusid[child_row]=S_INSCUST.cusid
  1385. dw_child.object.u_cust_name[child_row]=S_INSCUST.name
  1386. dw_child.object.u_cust_cuscode[child_row]=S_INSCUST.cuscode
  1387. dw_child.setredraw(true)
  1388. dw_child.setcolumn('u_inwaremx_qty')
  1389. END IF
  1390. end if
  1391. end event
  1392. event resize;call super::resize;ln_bar.EndX = THIS.Width
  1393. ln_bar2.EndX = THIS.Width
  1394. ln_1.EndX = THIS.Width
  1395. ln_2.EndX = THIS.Width
  1396. r_bar.Width = THIS.Width
  1397. Long w_width,w_height
  1398. w_width = 3602
  1399. w_height = 2300
  1400. IF newwidth < w_width THEN THIS.Width = w_width
  1401. IF newheight < w_height THEN THIS.Height = w_height
  1402. //dw_child.Width = THIS.Width - (w_width - dw_child_w)
  1403. //dw_child.Height = THIS.Height - (w_height - dw_child_h)
  1404. //dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w)
  1405. //==============================================================================
  1406. //YYX081007
  1407. //==============================================================================
  1408. IF uc_width > 0 THEN
  1409. dw_uc.Width = uc_width
  1410. END IF
  1411. IF uc_height > 0 THEN
  1412. dw_uc.Height = uc_height
  1413. END IF
  1414. dw_pageretr.X = dw_uc.X + dw_uc.Width
  1415. dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40
  1416. dw_pageretr.Height = dw_uc.Height
  1417. st_3.Y = dw_uc.Y + dw_uc.Height + 20
  1418. cbx_sptcode.Y = dw_uc.Y + dw_uc.Height + 20
  1419. sle_sptcode.Y = dw_uc.Y + dw_uc.Height + 4
  1420. cb_select.Y = dw_uc.Y + dw_uc.Height + 4
  1421. dw_child.Y = dw_uc.Y + dw_uc.Height + 90
  1422. dw_child.Width = THIS.Width - dw_child.X - 40
  1423. dw_child.Height = THIS.Height - dw_child.Y - 150
  1424. end event
  1425. event ue_rpt_print;call super::ue_rpt_print;IF NOT f_power_ind(470) THEN
  1426. MessageBox('提示','你没有使用权限!',information!,ok!)
  1427. RETURN
  1428. END IF
  1429. Long row,uc_relid,ll_scid
  1430. row = dw_pageretr.GetRow()
  1431. IF row = 0 THEN RETURN
  1432. uo_rpt_print_preview uo_print
  1433. S_rpt_print_MSG LS_PRMSG
  1434. IF dw_pageretr.RowCount() = 0 THEN
  1435. MessageBox('提示','没有可打印的单据!',information!,ok!)
  1436. RETURN
  1437. END IF
  1438. IF ls_rpname = '' THEN RETURN
  1439. IF li_auditprint = 1 THEN
  1440. IF dw_pageretr.Object.flag[row] = 0 THEN
  1441. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1442. RETURN
  1443. END IF
  1444. END IF
  1445. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1446. LS_PRMSG.retr_pram_falg = 15
  1447. LS_PRMSG.TAG_TEXT = THIS.Title
  1448. LS_PRMSG.rpname = ls_rpname
  1449. LS_PRMSG.FILTER_STRING = ''
  1450. LS_PRMSG.PAGECH_FLAG = 0
  1451. LS_PRMSG.rpid = ls_msgprintid_rpt
  1452. LS_PRMSG.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1453. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1454. LS_PRMSG.rowcnt = dw_child.RowCount()
  1455. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1456. String arg_msg
  1457. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1458. MessageBox("错误",arg_msg,stopsign!,ok!)
  1459. RETURN
  1460. END IF
  1461. uo_print.ds_print()
  1462. end event
  1463. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT f_power_ind(470) THEN
  1464. MessageBox('提示','你没有使用权限!',information!,ok!)
  1465. RETURN
  1466. END IF
  1467. Long row,uc_relid,ll_scid
  1468. row = dw_pageretr.GetRow()
  1469. IF row = 0 THEN RETURN
  1470. IF ls_rpname = '' THEN RETURN
  1471. IF li_auditprint = 1 THEN
  1472. IF dw_pageretr.Object.flag[row] = 0 THEN
  1473. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1474. RETURN
  1475. END IF
  1476. END IF
  1477. s_rpt_print_msg s_print
  1478. s_print.retr_pram_falg = 15
  1479. s_print.rpid = ls_msgprintid_rpt
  1480. s_print.retr_flag = TRUE
  1481. s_print.tag_text = THIS.Title
  1482. s_print.rpname = ls_rpname
  1483. s_print.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1484. s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1485. s_print.rowcnt = dw_child.RowCount()
  1486. OpenWithParm(w_rpt_preview,s_print)
  1487. end event
  1488. type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_other
  1489. end type
  1490. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_other
  1491. end type
  1492. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_other
  1493. integer x = 178
  1494. integer width = 549
  1495. end type
  1496. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_other
  1497. integer x = 3008
  1498. end type
  1499. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_other
  1500. integer x = 2683
  1501. integer y = 52
  1502. integer width = 320
  1503. end type
  1504. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_other
  1505. integer x = 2062
  1506. integer width = 1490
  1507. integer height = 932
  1508. string dataobject = "dw_inware_other_index"
  1509. end type
  1510. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1511. wf_check_billfj()
  1512. end event
  1513. type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_other
  1514. integer x = 0
  1515. string text = "编码含"
  1516. end type
  1517. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_other
  1518. integer x = 3159
  1519. end type
  1520. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_other
  1521. integer width = 2057
  1522. integer height = 844
  1523. string dataobject = "dw_inware_other_edit"
  1524. end type
  1525. event dw_uc::dwnkey;parent.triggerevent('user_key')
  1526. if key = KeyDownArrow! then return 1
  1527. if dw_edit_mode then
  1528. if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
  1529. dw_child.setfocus()
  1530. dw_child.scrolltorow(1)
  1531. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  1532. return 1
  1533. else
  1534. if key = KeyEnter! Then //
  1535. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1536. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1537. Return 1
  1538. end If
  1539. end if
  1540. end if
  1541. end event
  1542. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1543. IF dwo.Name = 'storageid' THEN
  1544. //wf_lock_plancode(long(data))
  1545. dw_child.Reset()
  1546. PARENT.TriggerEvent("insert_childrow")
  1547. END IF
  1548. end event
  1549. event dw_uc::doubleclicked;///////////
  1550. end event
  1551. event dw_uc::clicked;call super::clicked;IF dw_edit_mode THEN
  1552. IF dwo.Name = 'p_reason' THEN
  1553. Parent.TriggerEvent('ue_ch_reason')
  1554. END IF
  1555. END IF
  1556. end event
  1557. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_other
  1558. end type
  1559. type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_other
  1560. integer y = 1244
  1561. integer width = 3552
  1562. integer height = 772
  1563. string dataobject = "dw_inwaremx_other_edit"
  1564. end type
  1565. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1566. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
  1567. string ls_prdpackcode,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrltype
  1568. Long ls_mtrlid,ll_storageid
  1569. Decimal ls_planprice,ls_packqty
  1570. Long li_statusflag
  1571. Long li_woodcodeflag
  1572. Long li_pcodeflag
  1573. s_mtrldef_array arg_s_mtrldef
  1574. Long child_row
  1575. Long ls_null
  1576. SetNull(ls_null)
  1577. IF dw_edit_mode THEN
  1578. dw_uc.AcceptText()
  1579. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1580. IF ll_storageid = 0 OR IsNull(ll_storageid) THEN
  1581. MessageBox('提示','请先选择仓库',information!,ok!)
  1582. RETURN
  1583. END IF
  1584. IF KeyDown(Keydownarrow!) THEN
  1585. Long li_row
  1586. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1587. PARENT.TriggerEvent("insert_childrow")
  1588. END IF
  1589. ELSE
  1590. IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  1591. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  1592. dw_child.AcceptText()
  1593. child_row = dw_child.GetRow()
  1594. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  1595. IF f_find_mtrl(ls_mtrlcode,ll_storageid,arg_s_mtrldef) = 0 THEN
  1596. PARENT.TriggerEvent('ue_f8')
  1597. RETURN 1
  1598. ELSE
  1599. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1600. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1601. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1602. ls_unit = arg_s_mtrldef.unit[1]
  1603. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1604. ls_planprice = arg_s_mtrldef.planprice[1]
  1605. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  1606. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  1607. li_statusflag = arg_s_mtrldef.statusflag[1]
  1608. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1609. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1610. ls_mtrltype = arg_s_mtrldef.mtrltype[1]
  1611. END IF
  1612. dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
  1613. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1614. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1615. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1616. dw_child.Object.u_inwaremx_fprice[child_row] = ls_planprice
  1617. dw_child.Object.u_mtrldef_prdpackcode[child_row] = ls_prdpackcode
  1618. dw_child.Object.u_mtrldef_packqty[child_row] = ls_packqty
  1619. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1620. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1621. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1622. dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype
  1623. dw_child.Object.u_mtrldef_statusflag[child_row] = arg_s_mtrldef.statusflag[1]
  1624. // dw_child.Object.u_mtrldef_statustype[child_row] = arg_s_mtrldef.statustype[1]
  1625. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = arg_s_mtrldef.woodcodeflag[1]
  1626. // dw_child.Object.u_mtrldef_woodcodetype[child_row] = arg_s_mtrldef.woodcodetype[1]
  1627. dw_child.Object.u_mtrldef_pcodeflag[child_row] = arg_s_mtrldef.pcodeflag[1]
  1628. // dw_child.Object.u_mtrldef_pcodetype[child_row] = arg_s_mtrldef.pcodetype[1]
  1629. dw_child.Object.u_inwaremx_status[child_row] = arg_s_mtrldef.status[1]
  1630. dw_child.Object.u_inwaremx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  1631. dw_child.Object.u_inwaremx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  1632. string ls_plancode
  1633. ls_plancode = f_get_newplancode(ll_storageid)
  1634. dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
  1635. parent.triggerevent('ue_allowedit')
  1636. IF Key = KeyEnter! THEN
  1637. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1638. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1639. RETURN 1
  1640. END IF
  1641. ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1642. PARENT.TriggerEvent("insert_childrow")
  1643. RETURN 1
  1644. ELSEIF dw_child.GetColumnName() = 'u_cust_cuscode' THEN
  1645. dw_child.AcceptText()
  1646. child_row = dw_child.GetRow()
  1647. IF child_row <= 0 THEN RETURN 1
  1648. String ls_cuscode,ls_cusname
  1649. Long li_cusid
  1650. ls_cuscode = dw_child.Object.u_cust_cuscode[child_row]
  1651. SELECT cusid,name INTO :li_cusid,:ls_cusname
  1652. FROM u_cust
  1653. Where cuscode = :ls_cuscode;
  1654. IF sqlca.SQLCode <> 0 THEN
  1655. PARENT.TriggerEvent('ue_f9')
  1656. RETURN 1
  1657. END IF
  1658. dw_child.Object.u_cust_name[child_row] = ls_cusname
  1659. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = li_cusid
  1660. IF Key = keyenter! THEN
  1661. PARENT.TriggerEvent("insert_childrow")
  1662. RETURN 1
  1663. END IF
  1664. ELSE
  1665. IF Key = KeyEnter! THEN
  1666. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1667. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1668. RETURN 1
  1669. END IF
  1670. END IF
  1671. END IF
  1672. END IF
  1673. END IF
  1674. //u_mtrldef_mtrlcode
  1675. //u_mtrldef_unit
  1676. //u_inwaremx_mtrlid
  1677. //u_inwaremx_planprice
  1678. //u_inwaremx_price
  1679. //u_mtrldef_mtrlname
  1680. end event
  1681. event dw_child::doubleclicked;dw_child.AcceptText()
  1682. IF dw_edit_mode AND row > 0 THEN
  1683. If (dwo.Name = 'u_cust_cuscode' OR dwo.Name = 'u_cust_name') AND THIS.Object.u_inwaremx_if_mtrlware[row] = 1 THEN
  1684. PARENT.TriggerEvent('ue_f9')
  1685. ELSEIF dwo.Name = 'u_inwaremx_addqty' THEN
  1686. PARENT.TriggerEvent('ue_f10')
  1687. ELSEIF dwo.Name = 'u_inwaremx_qty' OR dwo.Name = 'u_inwaremx_formula' THEN
  1688. PARENT.TriggerEvent('ue_cmpl_qty')
  1689. ELSEIF dwo.name = 'u_inwaremx_status' or dwo.name = 'u_inwaremx_woodcode' or dwo.name = 'u_inwaremx_pcode' then
  1690. string name
  1691. name =dwo.name
  1692. PARENT.trigger event ue_view_status(row,name)
  1693. ELSE
  1694. PARENT.TriggerEvent('ue_f8')
  1695. END IF
  1696. END IF
  1697. end event
  1698. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  1699. this.accepttext()
  1700. if dwo.name = 'u_inwaremx_if_mtrlware' then
  1701. if this.object.u_inwaremx_if_mtrlware[row] = 0 then
  1702. dw_child.object.u_inwaremx_sptid_cusid[row] = 0
  1703. dw_child.object.u_cust_cuscode[row] = ''
  1704. dw_child.object.u_cust_name[row] = ''
  1705. end if
  1706. ELSEIF dwo.Name = 'u_inwaremx_packqty' THEN
  1707. Long ll_mtrlid
  1708. Decimal lde_packqty_single, lde_packqty, lde_rate
  1709. IF ii_packqty_cmpl = 1 THEN
  1710. ll_mtrlid = This.Object.u_inwaremx_mtrlid[row]
  1711. lde_packqty_single = f_get_packqty(ll_mtrlid)
  1712. lde_packqty = This.Object.u_inwaremx_packqty[row]
  1713. //lde_rate = This.Object.u_inwaremx_rate[row]
  1714. //if lde_rate = 0 then lde_rate = 1
  1715. This.Object.u_inwaremx_qty[row] = lde_packqty * lde_packqty_single
  1716. //This.Object.u_inwaremx_buyqty[row] = lde_packqty * lde_packqty_single / lde_rate
  1717. //This.Object.u_inwaremx_saleqty[row] = lde_packqty * lde_packqty_single / lde_rate
  1718. END IF
  1719. end if
  1720. end event
  1721. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_other
  1722. end type
  1723. type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_other
  1724. end type
  1725. type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_other
  1726. end type
  1727. event cb_add::clicked;IF NOT f_power_ind(67) THEN
  1728. MessageBox('提示','你没有使用权限!',information!,ok!)
  1729. RETURN
  1730. END IF
  1731. String arg_msg = ''
  1732. Long uc_row,i,j
  1733. s_inwaremx s_mx
  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 NOT Len(String(dw_uc.Object.sptname[uc_row])) > 0 THEN
  1755. MessageBox('提示','请选择原因!',information!,ok!)
  1756. dw_uc.SetFocus()
  1757. dw_uc.SetColumn("sptname")
  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_if_mtrlware[j] = 1 AND dw_child.Object.u_inwaremx_sptid_cusid[j] = 0 THEN
  1763. MessageBox('提示','请先选择客户,第'+string(j)+'行',information!,ok!)
  1764. RETURN
  1765. END IF
  1766. NEXT
  1767. ////yyx0830
  1768. String ls_sptcode
  1769. IF cbx_sptcode.Checked THEN
  1770. IF Trim(sle_sptcode.Text) = '' THEN
  1771. MessageBox('提示','请填写供应商编号!',information!,ok!)
  1772. RETURN
  1773. END IF
  1774. END IF
  1775. ls_sptcode = Trim(sle_sptcode.Text)
  1776. //保存前根据物料资料定义,检查数量和辅数的关系是否正确,如果辅数有填写 ,数量没有填写 ,会根据物料资料里的定义自动计算出数量
  1777. IF wf_check_qtyandaddqty(arg_msg) = 0 THEN
  1778. MessageBox('提示',arg_msg + ',不能保存!',information!,OK!)
  1779. RETURN
  1780. END IF
  1781. ////
  1782. uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
  1783. uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
  1784. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  1785. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  1786. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  1787. uo_ware.sptname = dw_uc.Object.sptname[uc_row]
  1788. FOR i = 1 TO dw_child.RowCount()
  1789. IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  1790. String ls_plancode = ''
  1791. IF cbx_sptcode.Checked THEN
  1792. ls_plancode = Upper(ls_sptcode)+"_"+String(dw_child.Object.u_inwaremx_fprice[i],'#0.####')
  1793. IF Right(ls_plancode,1) = '.' THEN
  1794. ls_plancode = Left(ls_plancode,Len(ls_plancode) - 1)
  1795. END IF
  1796. dw_child.Object.u_inwaremx_plancode[i] = ls_plancode
  1797. END IF
  1798. s_mx.printid = dw_child.Object.printid[i]
  1799. s_mx.mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  1800. s_mx.mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
  1801. s_mx.plancode = dw_child.Object.u_inwaremx_plancode[i]
  1802. s_mx.status = dw_child.Object.u_inwaremx_status[i]
  1803. s_mx.uqty = dw_child.Object.u_inwaremx_qty[i]
  1804. s_mx.addqty = dw_child.Object.u_inwaremx_addqty[i]
  1805. s_mx.uprice = dw_child.Object.u_inwaremx_fprice[i]
  1806. s_mx.rebate = 1
  1807. s_mx.mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[i]
  1808. s_mx.mxdscrp2 = dw_child.Object.u_inwaremx_mxdscrp2[i]
  1809. s_mx.mxdscrp3 = dw_child.Object.u_inwaremx_mxdscrp3[i]
  1810. s_mx.mxdscrp4 = dw_child.Object.u_inwaremx_mxdscrp4[i]
  1811. s_mx.jgprice = 0
  1812. s_mx.relid = 0
  1813. s_mx.relprintid = 0
  1814. s_mx.ifrel = 0
  1815. s_mx.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  1816. s_mx.pcode = dw_child.Object.u_inwaremx_pcode[i]
  1817. s_mx.mtrlcuscode = ''
  1818. s_mx.sptid = dw_child.Object.u_inwaremx_sptid_cusid[i]
  1819. s_mx.unit = dw_child.Object.u_mtrldef_unit[i]
  1820. s_mx.rate = 1
  1821. s_mx.formula = dw_child.Object.u_inwaremx_formula[i]
  1822. s_mx.waredscrp = dw_child.Object.u_inwaremx_waredscrp[i]
  1823. s_mx.inworkdate = dw_child.Object.u_inwaremx_inworkdate[i]
  1824. s_mx.packqty = dw_child.Object.u_inwaremx_packqty[i]
  1825. IF uo_ware.acceptmx(s_mx,arg_msg) = 0 THEN
  1826. MessageBox('错误',arg_msg,stopsign!,ok!)
  1827. RETURN
  1828. END IF
  1829. END IF
  1830. NEXT
  1831. // FOR i = 1 TO dw_child.RowCount()
  1832. // IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  1833. // String ls_plancode = ''
  1834. // IF cbx_sptcode.Checked THEN
  1835. // ls_plancode = Upper(ls_sptcode)+"_"+String(dw_child.Object.u_inwaremx_fprice[i],'#0.####')
  1836. // IF Right(ls_plancode,1) = '.' THEN
  1837. // ls_plancode = Left(ls_plancode,Len(ls_plancode) - 1)
  1838. // END IF
  1839. // dw_child.Object.u_inwaremx_plancode[i] = ls_plancode
  1840. // END IF
  1841. // IF uo_ware.acceptmx(dw_child.Object.printid[i],&
  1842. // dw_child.Object.u_inwaremx_mtrlid[i],&
  1843. // dw_child.Object.u_mtrldef_mtrlcode[i],&
  1844. // dw_child.Object.u_inwaremx_plancode[i],&
  1845. // dw_child.Object.u_inwaremx_status[i],&
  1846. // dw_child.Object.u_inwaremx_qty[i],&
  1847. // dw_child.Object.u_inwaremx_addqty[i],&
  1848. // dw_child.Object.u_inwaremx_fprice[i],&
  1849. // 1,&
  1850. // dw_child.Object.u_inwaremx_mxdscrp[i],&
  1851. // arg_msg,0,0,0,0,&
  1852. // dw_child.Object.u_inwaremx_woodcode[i],&
  1853. // dw_child.Object.u_inwaremx_pcode[i],&
  1854. // '',&
  1855. // dw_child.Object.u_inwaremx_sptid_cusid[i],&
  1856. // dw_child.Object.u_mtrldef_unit[i],&
  1857. // 1,&
  1858. // dw_child.Object.u_inwaremx_formula[i],&
  1859. // dw_child.Object.u_inwaremx_waredscrp[i],&
  1860. // dw_child.Object.u_inwaremx_inworkdate[i]) = 0 THEN
  1861. // MessageBox('错误',arg_msg,stopsign!,ok!)
  1862. // RETURN
  1863. // END IF
  1864. // END IF
  1865. // NEXT
  1866. IF uo_ware.save(true,arg_msg) = 0 THEN
  1867. MessageBox('错误',arg_msg,stopsign!,ok!)
  1868. RETURN
  1869. END IF
  1870. // MessageBox(publ_operator,'保存操作成功!')
  1871. //write ini
  1872. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  1873. //
  1874. long ll_row
  1875. ll_row = dw_uc.getrow()
  1876. dw_uc.SelectRow(0,FALSE)
  1877. dw_uc.SelectRow(ll_row,TRUE)
  1878. wf_refresh_curuc(cur_scid,uo_ware.inwareid) //刷新uc
  1879. ELSE
  1880. IF uo_ware.newbegin(cur_scid,8,arg_msg) = 0 THEN //生产令领料
  1881. MessageBox('错误',arg_msg,stopsign!,ok!)
  1882. RETURN
  1883. END IF
  1884. END IF
  1885. CALL SUPER::Clicked
  1886. //read ini
  1887. IF dw_edit_mode THEN
  1888. PARENT.TriggerEvent("insert_childrow")
  1889. dw_uc.SetRedraw(FALSE)
  1890. String ls_storageid
  1891. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  1892. IF f_find_storageid(ls_storageid) = '' THEN
  1893. ls_storageid = '0'
  1894. END IF
  1895. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  1896. dw_uc.Object.inrep[dw_uc.GetRow()] = publ_operator
  1897. dw_uc.SetColumn("storageid")
  1898. dw_uc.SetRedraw(TRUE)
  1899. //wf_lock_plancode(long(ls_storageid))
  1900. ELSE
  1901. PARENT.TriggerEvent("retrieve_childdw")
  1902. END IF
  1903. //
  1904. THIS.TriggerEvent('refresh_interface')
  1905. end event
  1906. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_other
  1907. end type
  1908. event cb_edit::clicked;IF NOT f_power_ind(67) THEN
  1909. MessageBox('提示','你没有使用权限!',information!,ok!)
  1910. RETURN
  1911. END IF
  1912. string arg_msg=''
  1913. long uc_row,ll_storageid
  1914. uc_row=dw_pageretr.getrow()
  1915. if uc_row<=0 then
  1916. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1917. return
  1918. end if
  1919. ll_storageid = dw_pageretr.object.storageid[uc_row]
  1920. if not dw_edit_mode then
  1921. if uo_ware.updatebegin(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],8,arg_msg)=0 then
  1922. messagebox('错误',arg_msg,stopsign!,ok!)
  1923. return
  1924. end if
  1925. parent.triggerevent('ue_allowedit')
  1926. //wf_lock_plancode(ll_storageid)
  1927. end if
  1928. call super::clicked
  1929. end event
  1930. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_other
  1931. end type
  1932. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(601) THEN
  1933. MessageBox('提示','你没有使用权限!',stopsign!,ok!)
  1934. RETURN
  1935. END IF
  1936. string arg_msg=''
  1937. if dw_edit_mode then return
  1938. long uc_row
  1939. uc_row=dw_pageretr.getrow()
  1940. if uc_row<=0 then
  1941. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1942. return
  1943. end if
  1944. if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return
  1945. if uo_ware.del(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],arg_msg,true)=0 then
  1946. messagebox('错误',arg_msg,stopsign!,ok!)
  1947. else
  1948. //日志
  1949. long ls_id
  1950. string ls_code
  1951. ls_id=dw_pageretr.object.inwareid[uc_row]
  1952. ls_code=dw_pageretr.object.inwarecode[uc_row]
  1953. f_setsysoplog('其它进仓单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  1954. //--
  1955. messagebox('提示','删除单据'+string(dw_pageretr.object.inwarecode[uc_row])+'成功!',information!,ok!)
  1956. dw_pageretr.deleterow(uc_row)
  1957. dw_pageretr.postevent(rowfocuschanged!)
  1958. end if
  1959. end event
  1960. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_other
  1961. end type
  1962. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1963. string menustr
  1964. menustr="Text=增加备注~tEvent=ue_addzy"
  1965. menustr=menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  1966. menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  1967. menustr = menustr + "|" + "Text=-"
  1968. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1969. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1970. if len(trim(menustr))<>0 then
  1971. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1972. dmPopupMenu.mf_BuildMenu(This, menustr)
  1973. dmPopupMenu.mf_PopMenu()
  1974. Destroy dmPopupMenu
  1975. end if
  1976. end event
  1977. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_inware_other
  1978. end type
  1979. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(68) THEN
  1980. MessageBox('提示','你没有使用权限!',information!,ok!)
  1981. RETURN
  1982. END IF
  1983. IF dw_edit_mode THEN RETURN
  1984. String arg_msg = ''
  1985. IF NOT KeyDown(KeyControl!) THEN
  1986. Long pagerert_row
  1987. pagerert_row = dw_pageretr.GetRow()
  1988. IF pagerert_row <= 0 THEN
  1989. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1990. RETURN
  1991. END IF
  1992. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1993. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  1994. MessageBox('错误',arg_msg,stopsign!,ok!)
  1995. RETURN
  1996. END IF
  1997. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1998. MessageBox('错误',arg_msg,stopsign!,ok!)
  1999. ELSE
  2000. MessageBox('提示','审核成功!',information!,ok!)
  2001. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  2002. END IF
  2003. ELSE
  2004. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  2005. Long ll_i,ll_billid
  2006. Int li_flag
  2007. Long ll_suc,ll_fail
  2008. dw_pageretr.AcceptText()
  2009. OPEN(w_sys_wait_jdt) //初始化进度条
  2010. w_sys_wait_jdt.Show()
  2011. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  2012. FOR ll_i = 1 TO dw_pageretr.RowCount()
  2013. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  2014. li_flag = dw_pageretr.Object.flag[ll_i]
  2015. IF li_flag = 1 THEN CONTINUE
  2016. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  2017. IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN
  2018. ll_fail++
  2019. CONTINUE
  2020. END IF
  2021. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  2022. ll_fail++
  2023. CONTINUE
  2024. END IF
  2025. ll_suc++
  2026. w_sys_wait_jdt.wf_inc(ll_i) //进度
  2027. NEXT
  2028. CLOSE(w_sys_wait_jdt)
  2029. MessageBox('提示','批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,ok!)
  2030. PARENT.TriggerEvent('retrieve_pageretr')
  2031. END IF
  2032. end event
  2033. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_other
  2034. end type
  2035. event cb_xm::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2036. String menustr
  2037. menustr = "Text=增明细~tEvent=ue_addmx"
  2038. menustr = menustr + "|" + "Text=删明细~tEvent=ue_deletemx"
  2039. menustr = menustr + "|" + "Text=-"
  2040. menustr = menustr + "|" + "Text=批设定公式~tEvent=ue_p_formula_set"
  2041. menustr = menustr + "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty"
  2042. menustr = menustr + "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  2043. menustr = menustr + "|" + "Text=批设数量~tEvent=ue_cmpl_set0"
  2044. menustr = menustr + "|" + "Text=-"
  2045. menustr = menustr + "|" + "Text=批设定客户~tEvent=ue_p_cus_set"
  2046. if dw_edit_mode then
  2047. menustr += "|" + "Text=明细标题与execl标题对应关系设置~tEvent=ue_set_dytitle"
  2048. menustr += "|" + "Text=从execl导入到订单明细~tEvent=ue_insert_execltodw"
  2049. end if
  2050. IF Trim(is_mx_menustr) <> '' THEN
  2051. menustr = menustr + "|" + "Text=-"
  2052. menustr = menustr + is_mx_menustr
  2053. END IF
  2054. if if_MtrlPicView then
  2055. if Trim(menustr) <> "" then
  2056. menustr = menustr + "|" + "Text=-"
  2057. menustr = menustr + "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  2058. else
  2059. menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  2060. end if
  2061. end if
  2062. IF Len(Trim(menustr)) <> 0 THEN
  2063. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  2064. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  2065. dmPopupMenu.mf_PopMenu()
  2066. DESTROY dmPopupMenu
  2067. END IF
  2068. end event
  2069. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_other
  2070. end type
  2071. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_other
  2072. end type
  2073. type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_other
  2074. end type
  2075. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_other
  2076. end type
  2077. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(910) THEN
  2078. MessageBox('提示','你没有使用权限!',information!,ok!)
  2079. RETURN
  2080. END IF
  2081. if dw_edit_mode then return
  2082. string arg_msg=''
  2083. long pagerert_row
  2084. pagerert_row=dw_pageretr.getrow()
  2085. if pagerert_row<=0 then
  2086. messagebox('提示','请选定当前目标单据!',information!,ok!)
  2087. return
  2088. end if
  2089. if messagebox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 then return
  2090. if uo_ware.getinfo(dw_pageretr.object.u_inware_scid[pagerert_row],dw_pageretr.object.inwareid[pagerert_row],arg_msg)=0 then
  2091. messagebox('错误',arg_msg,stopsign!,ok!)
  2092. return
  2093. end if
  2094. if uo_ware.c_auditing(true,arg_msg)=0 then
  2095. messagebox('错误',arg_msg,stopsign!,ok!)
  2096. else
  2097. //日志
  2098. long ls_id
  2099. string ls_code
  2100. ls_id=dw_pageretr.object.inwareid[pagerert_row]
  2101. ls_code=dw_pageretr.object.inwarecode[pagerert_row]
  2102. f_setsysoplog('其它进仓单','撤审,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  2103. //--
  2104. messagebox('提示','撤消审核成功!',information!,ok!)
  2105. wf_refresh_curuc(dw_pageretr.object.u_inware_scid[pagerert_row],dw_pageretr.object.inwareid[pagerert_row])
  2106. end if
  2107. end event
  2108. type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_other
  2109. end type
  2110. type p_help from w_publ_1ton_share_detail`p_help within w_inware_other
  2111. end type
  2112. type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_other
  2113. end type
  2114. type p_other from w_publ_1ton_share_detail`p_other within w_inware_other
  2115. end type
  2116. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_other
  2117. end type
  2118. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_other
  2119. end type
  2120. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_other
  2121. end type
  2122. type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_other
  2123. end type
  2124. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_other
  2125. end type
  2126. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_other
  2127. end type
  2128. type ddlb_scid from uo_ddlb_scid within w_inware_other
  2129. integer x = 928
  2130. integer y = 188
  2131. integer width = 549
  2132. integer height = 604
  2133. integer taborder = 20
  2134. boolean bringtotop = true
  2135. end type
  2136. event constructor;call super::constructor;cur_scid=this.uo_scid
  2137. cur_scid_arr = THIS.uo_scid_arr
  2138. end event
  2139. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  2140. cur_scid_arr = THIS.uo_scid_arr
  2141. parent.triggerevent("retrieve_pageretr")
  2142. end event
  2143. type ddlb_status from dropdownlistbox within w_inware_other
  2144. integer x = 1669
  2145. integer y = 188
  2146. integer width = 549
  2147. integer height = 300
  2148. integer taborder = 30
  2149. boolean bringtotop = true
  2150. integer textsize = -9
  2151. integer weight = 400
  2152. fontcharset fontcharset = gb2312charset!
  2153. fontpitch fontpitch = variable!
  2154. string facename = "宋体"
  2155. long textcolor = 33554432
  2156. string text = "[全部]"
  2157. boolean sorted = false
  2158. string item[] = {"[全部]","待审核","已审核"}
  2159. borderstyle borderstyle = stylelowered!
  2160. end type
  2161. event selectionchanged;if index=1 then
  2162. cur_flag=-1
  2163. elseif index=2 then
  2164. cur_flag=0
  2165. elseif index=3 then
  2166. cur_flag=1
  2167. end if
  2168. parent.triggerevent('retrieve_pageretr')
  2169. end event
  2170. type cb_select from commandbutton within w_inware_other
  2171. integer x = 1472
  2172. integer y = 1148
  2173. integer width = 347
  2174. integer height = 84
  2175. integer taborder = 60
  2176. boolean bringtotop = true
  2177. integer textsize = -9
  2178. integer weight = 400
  2179. fontcharset fontcharset = gb2312charset!
  2180. fontpitch fontpitch = variable!
  2181. string facename = "宋体"
  2182. string text = "选择供应商"
  2183. end type
  2184. event clicked;if not isvalid(W_spt_edit) then
  2185. s_edit_index_tran s_ch_tran //传递参数使用
  2186. s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  2187. s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  2188. s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  2189. s_ch_tran.arg_string_code=''//查询列(物料编码)部分内容,用于初步筛选
  2190. OPENwithparm(W_spt_edit,s_ch_tran) //调用
  2191. S_spt S_INSCUST
  2192. S_INSCUST=Message.PowerObjectParm //接受返回结构
  2193. IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值
  2194. dw_uc.setredraw(false)
  2195. sle_sptcode.text=S_INSCUST.sptcode
  2196. dw_uc.setredraw(true)
  2197. END IF
  2198. end if
  2199. end event
  2200. type sle_sptcode from singlelineedit within w_inware_other
  2201. integer x = 1001
  2202. integer y = 1148
  2203. integer width = 457
  2204. integer height = 92
  2205. integer taborder = 70
  2206. boolean bringtotop = true
  2207. integer textsize = -9
  2208. integer weight = 400
  2209. fontcharset fontcharset = gb2312charset!
  2210. fontpitch fontpitch = variable!
  2211. string facename = "宋体"
  2212. long textcolor = 33554432
  2213. borderstyle borderstyle = stylelowered!
  2214. end type
  2215. type cbx_sptcode from checkbox within w_inware_other
  2216. integer x = 635
  2217. integer y = 1164
  2218. integer width = 357
  2219. integer height = 60
  2220. boolean bringtotop = true
  2221. integer textsize = -9
  2222. integer weight = 400
  2223. fontcharset fontcharset = gb2312charset!
  2224. fontpitch fontpitch = variable!
  2225. string facename = "宋体"
  2226. long textcolor = 8388608
  2227. long backcolor = 134217739
  2228. string text = "供应商编号"
  2229. end type
  2230. type st_3 from statictext within w_inware_other
  2231. integer x = 9
  2232. integer y = 1164
  2233. integer width = 617
  2234. integer height = 48
  2235. boolean bringtotop = true
  2236. integer textsize = -9
  2237. integer weight = 400
  2238. fontcharset fontcharset = gb2312charset!
  2239. fontpitch fontpitch = variable!
  2240. string facename = "宋体"
  2241. long textcolor = 8388608
  2242. long backcolor = 134217739
  2243. string text = "使用供应商编号生生批号"
  2244. boolean focusrectangle = false
  2245. end type
  2246. type st_2 from statictext within w_inware_other
  2247. integer x = 1495
  2248. integer y = 204
  2249. integer width = 219
  2250. integer height = 48
  2251. integer textsize = -9
  2252. integer weight = 400
  2253. fontcharset fontcharset = gb2312charset!
  2254. fontpitch fontpitch = variable!
  2255. string facename = "宋体"
  2256. long textcolor = 33554432
  2257. long backcolor = 134217739
  2258. string text = "状 态"
  2259. boolean focusrectangle = false
  2260. end type
  2261. type st_4 from statictext within w_inware_other
  2262. integer x = 754
  2263. integer y = 204
  2264. integer width = 219
  2265. integer height = 48
  2266. integer textsize = -9
  2267. integer weight = 400
  2268. fontcharset fontcharset = gb2312charset!
  2269. fontpitch fontpitch = variable!
  2270. string facename = "宋体"
  2271. long textcolor = 33554432
  2272. long backcolor = 134217739
  2273. string text = "分 部"
  2274. boolean focusrectangle = false
  2275. end type
  2276. type cbx_packqty_cmpl from checkbox within w_inware_other
  2277. integer x = 3250
  2278. integer y = 56
  2279. integer width = 576
  2280. integer height = 60
  2281. boolean bringtotop = true
  2282. integer textsize = -9
  2283. integer weight = 400
  2284. fontcharset fontcharset = gb2312charset!
  2285. fontpitch fontpitch = variable!
  2286. string facename = "宋体"
  2287. long textcolor = 33554432
  2288. long backcolor = 134217739
  2289. string text = "录入包装数计算数量"
  2290. end type
  2291. event clicked;IF THIS.Checked THEN
  2292. ii_packqty_cmpl = 1
  2293. ELSE
  2294. ii_packqty_cmpl = 0
  2295. END IF
  2296. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",String(ii_packqty_cmpl))
  2297. end event
  2298. event constructor;this.backcolor = 14215660
  2299. ii_packqty_cmpl = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",'0'))
  2300. IF ii_packqty_cmpl = 1 THEN
  2301. THIS.Checked = TRUE
  2302. ELSE
  2303. THIS.Checked = FALSE
  2304. END IF
  2305. //this.y = cbx_enamt_edit.y
  2306. //this.x = cbx_enamt_edit.x + cbx_enamt_edit.width + 10
  2307. end event