w_inware_buy_wareaudit.srw 96 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389
  1. $PBExportHeader$w_inware_buy_wareaudit.srw
  2. forward
  3. global type w_inware_buy_wareaudit from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_inware_buy_wareaudit
  6. end type
  7. type ddlb_status from dropdownlistbox within w_inware_buy_wareaudit
  8. end type
  9. type st_3 from statictext within w_inware_buy_wareaudit
  10. end type
  11. type st_2 from statictext within w_inware_buy_wareaudit
  12. end type
  13. end forward
  14. global type w_inware_buy_wareaudit from w_publ_1ton_share_detail
  15. string title = "采购收货单仓审/仓撤"
  16. boolean maxbox = true
  17. windowstate windowstate = maximized!
  18. event insert_childrow ( )
  19. event ue_secauditing ( )
  20. event ue_csecauditing ( )
  21. event ue_fj_edit ( )
  22. event ue_fj_view ( )
  23. event ue_cpml_qty ( )
  24. event ue_cmpl_addqty ( )
  25. event ue_mod_banktype ( )
  26. event ue_mod_price ( )
  27. event ue_cmpl_status_qty ( )
  28. event ue_cmpl_qty ( )
  29. event ue_p_cmpl_qty ( )
  30. event ue_p_formula_set ( )
  31. ddlb_scid ddlb_scid
  32. ddlb_status ddlb_status
  33. st_3 st_3
  34. st_2 st_2
  35. end type
  36. global w_inware_buy_wareaudit w_inware_buy_wareaudit
  37. type variables
  38. Long cur_scid
  39. Int cur_flag = -1
  40. Int cur_secflag = -1
  41. uo_inware_buy uo_ware
  42. uo_spt_price uo_sptprice
  43. Long cur_id = 0
  44. Int cur_editfocus = 0
  45. Long aflag = 0
  46. String ol_cdw_str = ''
  47. Long flag = 0
  48. Long secflag = 0
  49. end variables
  50. forward prototypes
  51. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
  52. public function integer wf_flagstatus_rf ()
  53. public function integer wf_check_print (ref string arg_msg)
  54. public function integer wf_check_over (ref string arg_msg)
  55. public subroutine wf_check_billfj ()
  56. 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)
  57. public function integer wf_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, string arg_msg)
  58. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  59. end prototypes
  60. event insert_childrow();long li_row
  61. li_row=dw_child.insertrow(0)
  62. dw_child.scrolltorow(li_row)
  63. dw_child.object.u_inwaremx_ifrel[li_row] = sys_option_autoyes
  64. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  65. end event
  66. event ue_secauditing();//IF dw_edit_mode THEN
  67. // MessageBox('系统提示',"编辑状态下不可以使用!")
  68. // return
  69. //END IF
  70. //
  71. //IF NOT f_power_ind(813) THEN
  72. // MessageBox(publ_operator,'你没有使用权限!')
  73. // RETURN
  74. //END IF
  75. //
  76. //string arg_msg=''
  77. //
  78. //if messagebox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 then return
  79. //long pagerert_row
  80. //
  81. //pagerert_row=dw_uc.getrow()
  82. //if pagerert_row<=0 then
  83. // messagebox('系统提示','请选定当前目标单据!')
  84. // return
  85. //end if
  86. //
  87. ////====================================================================
  88. //if uo_ware.getinfo(cur_scid,dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then
  89. // messagebox('error!',arg_msg)
  90. // return
  91. //end if
  92. //
  93. //if uo_ware.secauditing(true,arg_msg)=0 then
  94. // messagebox('error!',arg_msg)
  95. //else
  96. // messagebox(publ_operator,'审核成功!')
  97. // wf_refresh_curuc(cur_scid,dw_uc.object.inwareid[pagerert_row])
  98. // sle_usual_query.setfocus()
  99. // sle_usual_query.selecttext(1,len(sle_usual_query.text))
  100. //
  101. //end if
  102. end event
  103. event ue_csecauditing();//IF dw_edit_mode THEN
  104. // MessageBox('系统提示',"编辑状态下不可以使用!")
  105. // return
  106. //END IF
  107. //
  108. //IF NOT f_power_ind(814) THEN
  109. // MessageBox(publ_operator,'你没有使用权限!')
  110. // RETURN
  111. //END IF
  112. //
  113. //string arg_msg=''
  114. //long pagerert_row
  115. //
  116. //pagerert_row=dw_pageretr.getrow()
  117. //if pagerert_row<=0 then
  118. // messagebox('系统提示','请选定当前目标单据!')
  119. // return
  120. //end if
  121. //IF MessageBox ("IF","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  122. //
  123. //if uo_ware.getinfo(cur_scid,dw_pageretr.object.inwareid [pagerert_row],arg_msg)=0 then
  124. // messagebox('Error!',arg_msg)
  125. // return
  126. //end if
  127. //
  128. //if dw_pageretr.object.u_inware_secflag[pagerert_row]=1 then
  129. // if uo_ware.c_secauditing(true,arg_msg)=0 then
  130. // messagebox('Error!',arg_msg)
  131. // else
  132. // //日志
  133. // long ls_id
  134. // string ls_code
  135. // ls_id=dw_uc.object.inwareid[pagerert_row]
  136. // ls_code=dw_uc.object.inwarecode[pagerert_row]
  137. // f_setsysoplog('采购收货单','财务撤审,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  138. // //--
  139. // messagebox(publ_operator,'撤审成功!')
  140. // wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[pagerert_row])
  141. // end if
  142. //end if
  143. end event
  144. event ue_fj_edit();IF dw_edit_mode THEN
  145. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  146. RETURN
  147. END IF
  148. //IF NOT f_power_ind(1098) THEN
  149. // MessageBox(publ_operator,'你没有使用权限!')
  150. // RETURN
  151. //END IF
  152. s_edit_index_tran s_pic
  153. Long ll_ConnectionID
  154. String arg_msg
  155. Long ls_row
  156. ls_row = dw_pageretr.GetRow()
  157. IF ls_row <= 0 THEN
  158. RETURN
  159. END IF
  160. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  161. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  162. RETURN
  163. END IF
  164. s_pic.f_long = 403 //销售订单的mainID
  165. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  166. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  167. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  168. s_pic.sqltransaction = sys_filedb_sqlca
  169. OpenWithParm(w_fj_bill_mng,s_pic)
  170. wf_check_billfj()
  171. end event
  172. event ue_fj_view();IF dw_edit_mode THEN
  173. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  174. RETURN
  175. END IF
  176. s_edit_index_tran s_pic
  177. Long ll_ConnectionID
  178. String arg_msg
  179. Long ls_row
  180. ls_row = dw_pageretr.GetRow()
  181. IF ls_row <= 0 THEN
  182. RETURN
  183. END IF
  184. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  185. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  186. RETURN
  187. END IF
  188. s_pic.f_long = 403 //销售订单的mainID
  189. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  190. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  191. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  192. s_pic.sqltransaction = sys_filedb_sqlca
  193. OpenWithParm(w_fj_bill_view,s_pic)
  194. end event
  195. event ue_cpml_qty();//ue_cpml_qty
  196. string ls_rate,ls_status,ls_qty[]
  197. decimal ll_rate,ll_qty[],ld_qty = 1
  198. long i,j,k
  199. long ll_cmp1,ll_cmp2
  200. s_changerate s_rate
  201. dw_child.accepttext()
  202. if dw_edit_mode then
  203. open(w_changerate_ch)
  204. s_rate = message.powerobjectparm
  205. ll_rate = dec(s_rate.rate)
  206. ll_cmp1 = s_rate.cmp1
  207. ll_cmp2 = s_rate.cmp2
  208. if ll_rate <= 0 then return
  209. if dw_child.rowcount() <= 0 then return
  210. for i= 1 to dw_child.rowcount()
  211. if ll_cmp1 = 1 then
  212. if isnull(dw_child.object.u_inwaremx_status[i]) then
  213. continue
  214. else
  215. ls_status = dw_child.object.u_inwaremx_status[i]
  216. end if
  217. elseif ll_cmp1 = 2 then
  218. if isnull(dw_child.object.u_inwaremx_woodcode[i]) then
  219. continue
  220. else
  221. ls_status = dw_child.object.u_inwaremx_woodcode[i]
  222. end if
  223. else
  224. if isnull(dw_child.object.u_inwaremx_pcode[i]) then
  225. continue
  226. else
  227. ls_status = dw_child.object.u_inwaremx_pcode[i]
  228. end if
  229. end if
  230. if ll_cmp2 = 1 then
  231. if dw_child.object.u_inwaremx_addqty[i] = 0 then
  232. else
  233. ls_status = ls_status + '*' + string(dw_child.object.u_inwaremx_addqty[i])
  234. end if
  235. end if
  236. if isnull(ls_status) then
  237. continue
  238. else
  239. // ls_status = dw_child.object.u_inwaremx_status[i]
  240. if pos(ls_status,'*') = 0 then
  241. continue
  242. else
  243. j = 0
  244. do while pos(ls_status,'*') > 0
  245. j++
  246. ls_qty[j] = mid(ls_status,1,pos(ls_status,'*') - 1)
  247. ls_status = mid(ls_status,pos(ls_status,'*') + 1)
  248. loop
  249. j++
  250. ls_qty[j] = ls_status
  251. end if
  252. ld_qty = 1
  253. for k =1 to j
  254. ld_qty = ld_qty * dec(ls_qty[k])
  255. next
  256. dw_child.object.u_inwaremx_uqty[i] = round(ld_qty / ll_rate,10)
  257. end if
  258. next
  259. end if
  260. end event
  261. event ue_cmpl_addqty();Int ll_flag
  262. Decimal ll_value
  263. long ll_num
  264. String ls_qty[]
  265. Decimal ld_qty
  266. Long i,j,k
  267. String ls_mtrlmode
  268. s_cmpl_addqty s_cmpl
  269. dw_child.AcceptText()
  270. IF dw_edit_mode THEN
  271. Open(w_cmpl_addqty_ch)
  272. s_cmpl = Message.PowerObjectParm
  273. ll_flag = s_cmpl.flag
  274. ll_value = s_cmpl.addvalue
  275. ll_num = s_cmpl.num
  276. IF ll_value <= 0 THEN RETURN
  277. IF dw_child.RowCount() <= 0 THEN RETURN
  278. FOR i = 1 TO dw_child.RowCount()
  279. IF IsNull(ls_mtrlmode) THEN
  280. CONTINUE
  281. ELSE
  282. ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
  283. IF Pos(ls_mtrlmode,'*') = 0 THEN
  284. CONTINUE
  285. ELSE
  286. j = 0
  287. DO WHILE Pos(ls_mtrlmode,'*') > 0
  288. j++
  289. ls_qty[j] = Mid(ls_mtrlmode,1,Pos(ls_mtrlmode,'*') - 1)
  290. ls_mtrlmode = Mid(ls_mtrlmode,Pos(ls_mtrlmode,'*') + 1)
  291. LOOP
  292. j++
  293. ls_qty[j] = ls_mtrlmode
  294. END IF
  295. ld_qty = 1
  296. FOR k = 1 TO j
  297. ld_qty = ld_qty * Dec(ls_qty[k])
  298. NEXT
  299. IF ll_flag = 0 THEN
  300. dw_child.Object.u_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] * ll_value,ll_num)
  301. ELSE
  302. dw_child.Object.u_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] / ll_value,ll_num)
  303. END IF
  304. END IF
  305. NEXT
  306. END IF
  307. end event
  308. event ue_mod_banktype();//更新结算方式
  309. IF Not f_power_ind(974) THEN
  310. MessageBox('提示','你没有使用权限!', Information!, OK! )
  311. RETURN
  312. END IF
  313. IF dw_edit_mode THEN RETURN
  314. dw_pageretr.AcceptText()
  315. Long ll_row
  316. ll_row = dw_pageretr.GetRow()
  317. IF dw_pageretr.Object.flag[ll_row] = 1 AND dw_pageretr.Object.u_inware_secflag[ll_row] = 0 THEN
  318. s_inware_banktype s_banktype
  319. s_banktype.scid = dw_pageretr.Object.u_inware_scid[ll_row]
  320. s_banktype.inwareid = dw_pageretr.Object.inwareid[ll_row]
  321. s_banktype.banktypeid = dw_pageretr.Object.u_inware_relint_1[ll_row]
  322. openwithparm(w_inware_buy_mod_banktype,s_banktype)
  323. wf_refresh_curuc(s_banktype.scid,s_banktype.inwareid) //刷新uc
  324. ELSE
  325. MessageBox('提示','结算方式在仓审后才能修改', Information!, OK! )
  326. END IF
  327. end event
  328. event ue_mod_price();IF NOT f_power_ind(979) THEN
  329. MessageBox('提示','你没有使用权限!', Information!, OK! )
  330. RETURN
  331. END IF
  332. IF dw_edit_mode THEN
  333. MessageBox('提示','编辑状态下不可使用', Information!, OK! )
  334. RETURN
  335. END IF
  336. Long uc_row,child_row
  337. uc_row = dw_pageretr.GetRow()
  338. IF uc_row <= 0 THEN
  339. MessageBox('提示','请选择单据', Information!, OK! )
  340. RETURN
  341. END IF
  342. child_row = dw_child.GetRow()
  343. IF child_row <= 0 THEN
  344. MessageBox('提示','请选择明细内容', Information!, OK! )
  345. RETURN
  346. END IF
  347. Long ll_flag ,ll_secflag,ll_balcflag
  348. Long ll_scid,ll_inwareid,ll_printid
  349. ll_flag = dw_pageretr.Object.flag[uc_row]
  350. ll_secflag = dw_pageretr.Object.u_inware_secflag[uc_row]
  351. ll_balcflag = dw_pageretr.Object.balcflag[uc_row]
  352. ll_scid = dw_pageretr.Object.u_inware_scid[uc_row]
  353. ll_inwareid = dw_pageretr.Object.inwareid[uc_row]
  354. ll_printid = dw_child.Object.u_inwaremx_printid[child_row]
  355. IF ll_flag = 0 THEN
  356. MessageBox('提示','进仓单待审核状态下不能执行修改单价功能', Information!, OK! )
  357. RETURN
  358. END IF
  359. IF ll_secflag = 1 THEN
  360. MessageBox('提示','单据已财审,不能执行修改单价功能', Information!, OK! )
  361. RETURN
  362. END IF
  363. IF ll_balcflag = 1 THEN
  364. MessageBox('提示','单据已结存,不能执行修改单价功能', Information!, OK! )
  365. RETURN
  366. END IF
  367. s_edit_index_tran s_tran_mod
  368. s_tran_mod.b_long = ll_scid
  369. s_tran_mod.c_long = ll_inwareid
  370. s_tran_mod.d_long = ll_printid
  371. OpenWithParm(w_inwaremx_buy_mod_price,s_tran_mod)
  372. THIS.TriggerEvent('retrieve_childdw')
  373. end event
  374. event ue_cmpl_status_qty();Int ll_flag
  375. Decimal ll_value
  376. Long ll_num
  377. Long i,j,k
  378. String ls_mtrlmode
  379. String ls_status
  380. Decimal ld_qty
  381. Decimal ld_addqty
  382. String ls_msg
  383. Long ll_type
  384. s_cmpl_addqty s_cmpl
  385. dw_child.AcceptText()
  386. dw_uc.SetRedraw(FALSE)
  387. IF dw_edit_mode THEN
  388. Open(w_cmpl_status_qty_ch)
  389. s_cmpl = Message.PowerObjectParm
  390. ll_flag = s_cmpl.flag
  391. ll_value = s_cmpl.addvalue
  392. ll_num = s_cmpl.num
  393. ll_type = s_cmpl.cmptype
  394. IF ll_value <= 0 THEN RETURN
  395. IF dw_child.RowCount() <= 0 THEN RETURN
  396. FOR i = 1 TO dw_child.RowCount()
  397. ld_addqty = dw_child.Object.u_inwaremx_addqty[i]
  398. CHOOSE CASE ll_type
  399. CASE 0
  400. ls_status = dw_child.Object.u_inwaremx_status[i]
  401. CASE 1
  402. ls_status = dw_child.Object.u_inwaremx_woodcode[i]
  403. CASE 2
  404. ls_status = dw_child.Object.u_inwaremx_pcode[i]
  405. CASE 3
  406. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  407. CASE 4
  408. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  409. END CHOOSE
  410. IF ld_addqty = 0 OR ls_status = '' THEN
  411. ELSE
  412. ld_qty = 0
  413. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  414. MessageBox('提示',ls_msg, Information!, OK! )
  415. GOTO ext
  416. END IF
  417. IF ll_flag = 0 THEN
  418. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num)
  419. ELSE
  420. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num)
  421. END IF
  422. END IF
  423. NEXT
  424. END IF
  425. ext:
  426. dw_uc.SetRedraw(TRUE)
  427. end event
  428. event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
  429. Long child_row
  430. dw_child.AcceptText()
  431. child_row = dw_child.GetRow()
  432. s_cmpl_qty s_cmpl,s_return
  433. s_cmpl.qty = dw_child.Object.u_inwaremx_uqty[child_row]
  434. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[child_row]
  435. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[child_row]
  436. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[child_row]
  437. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[child_row]
  438. s_cmpl.status = dw_child.Object.u_inwaremx_status[child_row]
  439. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  440. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  441. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  442. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  443. IF NOT IsValid(w_cmpl_qty_ch) THEN
  444. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  445. s_return = Message.PowerObjectParm
  446. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  447. dw_child.Object.u_inwaremx_uqty[child_row] = s_return.qty
  448. dw_child.Object.u_inwaremx_formula[child_row] = s_return.formula
  449. END IF
  450. END IF
  451. end event
  452. event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
  453. Long i
  454. String ls_formula
  455. String ls_msg
  456. String ls_rs
  457. String ls_num
  458. Decimal ld_addqty
  459. Decimal ld_price
  460. Decimal ld_rebate
  461. Decimal ld_qty
  462. dw_child.AcceptText()
  463. s_cmpl_qty s_cmpl
  464. Open(w_cmpl_qty_ch_son)
  465. s_cmpl = Message.PowerObjectParm
  466. dw_uc.SetRedraw(FALSE)
  467. FOR i = 1 TO dw_child.RowCount()
  468. ld_qty = 0
  469. IF dw_child.Object.u_inwaremx_formula[i] <> '' THEN
  470. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[i]
  471. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[i]
  472. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[i]
  473. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[i]
  474. s_cmpl.status = dw_child.Object.u_inwaremx_status[i]
  475. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  476. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[i]
  477. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  478. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  479. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  480. MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! )
  481. GOTO ext
  482. END IF
  483. dw_child.Object.u_inwaremx_uqty[i] = ld_qty
  484. END IF
  485. NEXT
  486. ext:
  487. dw_child.SetColumn('u_inwaremx_uqty')
  488. dw_uc.SetRedraw(TRUE)
  489. end event
  490. event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
  491. IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN
  492. RETURN
  493. END IF
  494. Long ll_i
  495. dw_child.AcceptText()
  496. dw_child.SetRedraw(FALSE)
  497. FOR ll_i = 1 TO dw_child.RowCount()
  498. IF ll_i = 1 THEN CONTINUE
  499. dw_child.Object.u_inwaremx_formula[ll_i] = dw_child.Object.u_inwaremx_formula[1]
  500. NEXT
  501. dw_child.SetRedraw(TRUE)
  502. end event
  503. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//====================================================================
  504. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  505. //--------------------------------------------------------------------
  506. // Description: 刷新dw_pageretr
  507. //--------------------------------------------------------------------
  508. // Arguments:
  509. // value long arg_scid
  510. // value long arg_inwareid
  511. //--------------------------------------------------------------------
  512. // Returns: integer
  513. //--------------------------------------------------------------------
  514. // Author: yyx Date: 2003.11.14
  515. //--------------------------------------------------------------------
  516. // Modify History:
  517. //
  518. //====================================================================
  519. if arg_inwareid<=0 or isnull(arg_inwareid) then return 0
  520. long uc_row
  521. uc_row=dw_pageretr.getrow()
  522. if uc_row<=0 then return 0
  523. long storageid
  524. datetime indate
  525. string inrep
  526. string part
  527. string dscrp
  528. int balcflag
  529. string inwarecode
  530. string sptname
  531. datetime opdate
  532. string opemp
  533. string modemp
  534. datetime moddate
  535. int li_flag
  536. datetime Auditingdate
  537. string Auditingrep
  538. int li_secflag
  539. datetime secAuditingdate
  540. string secAuditingrep
  541. string storagename
  542. int thflag
  543. int relint_1
  544. string sptcode
  545. long sptid
  546. dec otheramt
  547. SELECT u_inware.storageid,
  548. u_inware.indate,
  549. u_inware.inrep,
  550. u_inware.part,
  551. u_inware.dscrp,
  552. u_inware.opdate,
  553. u_inware.opemp,
  554. u_inware.flag,
  555. u_inware.auditingdate,
  556. u_inware.auditingrep,
  557. u_inware.secflag,
  558. u_inware.secauditingdate,
  559. u_inware.secauditingrep,
  560. u_inware.inwarecode,
  561. u_inware.balcflag,
  562. u_inware.sptname,
  563. u_storage.storagename,
  564. u_inware.modemp,
  565. u_inware.moddate,
  566. u_inware.thflag,
  567. u_inware.relint_1,
  568. u_spt.sptcode,
  569. u_spt.name,
  570. u_inware.otheramt,
  571. u_inware.sptid
  572. into
  573. :storageid,
  574. :indate,
  575. :inrep,
  576. :part,
  577. :dscrp,
  578. :opdate,
  579. :opemp,
  580. :li_flag,
  581. :Auditingdate,
  582. :Auditingrep,
  583. :li_secflag,
  584. :secAuditingdate,
  585. :secAuditingrep,
  586. :inwarecode,
  587. :balcflag,
  588. :sptname,
  589. :storagename,
  590. :modemp,
  591. :moddate,
  592. :thflag,
  593. :relint_1,
  594. :sptcode,
  595. :sptname,
  596. :otheramt,
  597. :sptid
  598. FROM u_inware ,u_storage ,u_spt
  599. WHERE ( u_inware.inwareid = :arg_inwareid )
  600. and ( u_inware.sptid = u_spt.sptid )
  601. and ( u_inware.storageid = u_storage.storageid )
  602. and ( u_inware.scid=:arg_scid );
  603. if sqlca.sqlcode<>0 then
  604. messagebox('提示',"查询操作失败(错误单据唯一码)", Information!, OK! )
  605. return 0
  606. end if
  607. dw_pageretr.object.u_inware_scid[uc_row]=arg_scid
  608. dw_pageretr.object.inwareid[uc_row]=arg_inwareid
  609. dw_pageretr.object.indate[uc_row]=indate
  610. dw_pageretr.object.part[uc_row]= part
  611. dw_pageretr.object.inrep[uc_row]= inrep
  612. dw_pageretr.object.storageid[uc_row]=storageid
  613. dw_pageretr.object.u_spt_name[uc_row]=sptname
  614. dw_pageretr.object.dscrp[uc_row]= dscrp
  615. dw_pageretr.object.balcflag[uc_row]= balcflag
  616. dw_pageretr.object.inwarecode[uc_row]=inwarecode
  617. dw_pageretr.object.opdate[uc_row]= opdate
  618. dw_pageretr.object.u_inware_opemp[uc_row]= opemp
  619. dw_pageretr.object.u_inware_moddate[uc_row]= moddate
  620. dw_pageretr.object.u_inware_modemp[uc_row]= modemp
  621. dw_pageretr.object.flag[uc_row]= li_flag
  622. dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
  623. dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
  624. dw_pageretr.object.u_inware_secflag[uc_row]= li_secflag
  625. dw_pageretr.object.u_inware_secAuditingdate[uc_row]= secAuditingdate
  626. dw_pageretr.object.u_inware_secAuditingrep[uc_row]=secAuditingrep
  627. dw_pageretr.object.u_storage_storagename[uc_row]=storagename
  628. dw_pageretr.object.u_inware_thflag[uc_row]=thflag
  629. dw_pageretr.object.u_inware_relint_1[uc_row]=relint_1
  630. dw_pageretr.object.u_spt_sptcode[uc_row]=sptcode
  631. dw_pageretr.object.u_spt_name[uc_row]=sptname
  632. dw_pageretr.object.u_inware_otheramt[uc_row]=otheramt
  633. dw_pageretr.object.sptid[uc_row]=sptid
  634. dw_uc.Reset()
  635. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  636. dw_uc.ResetUpdate()
  637. dw_uc.SetRedraw(TRUE)
  638. wf_flagstatus_rf()
  639. return 1
  640. end function
  641. public function integer wf_flagstatus_rf ();//wf_flagstatus_rf()
  642. Long pagerert_row
  643. pagerert_row = dw_pageretr.GetRow()
  644. IF pagerert_row <= 0 THEN
  645. cb_auditing.Text = '审核&F'
  646. cb_auditing.Enabled = FALSE
  647. cb_auditing_cancel.Text = '撤审'
  648. cb_auditing_cancel.Enabled = FALSE
  649. flag = -1
  650. secflag = -1
  651. GOTO ext
  652. END IF
  653. flag = dw_pageretr.Object.flag[pagerert_row]
  654. IF dw_edit_mode THEN
  655. cb_auditing.Text = '仓审&F'
  656. cb_auditing.Enabled = FALSE
  657. IF cur_editfocus = 1 THEN
  658. flag = -1
  659. secflag = -1
  660. END IF
  661. cb_auditing_cancel.Enabled = FALSE
  662. ELSE
  663. IF flag = 0 THEN
  664. cb_auditing.Enabled = TRUE
  665. cb_auditing.Text = '仓审&F'
  666. cb_auditing_cancel.Enabled = FALSE
  667. ELSEIF flag = 1 THEN
  668. cb_auditing_cancel.Enabled = TRUE
  669. cb_auditing_cancel.Text = '仓撤'
  670. cb_auditing.Enabled = FALSE
  671. END IF
  672. END IF
  673. cb_auditing.TriggerEvent('ue_textchange')
  674. cb_auditing_cancel.TriggerEvent('ue_textchange')
  675. ext:
  676. RETURN 0
  677. end function
  678. public function integer wf_check_print (ref string arg_msg);long cnt
  679. int rslt = 1
  680. string ls_msg
  681. string str_dwSQl,str_SyntaxFromSQL
  682. datastore ds_maxid
  683. datetime ld_cur_dt
  684. ld_cur_dt = datetime(today(),time(0))
  685. if sys_option_mustprint = 0 then
  686. rslt = 1
  687. goto ext
  688. end if
  689. string ls_storagestr,tmp_str
  690. ls_storagestr = sys_user_storagestr
  691. if ls_storagestr <> '0' and ls_storagestr <> '-1' then
  692. ls_storagestr = mid(ls_storagestr,2)
  693. ls_storagestr = left(ls_storagestr,len(ls_storagestr) - 1 )
  694. end if
  695. ds_maxid= create datastore
  696. str_dwSQl="select count(*) as countnum from u_inware where indate < '" +string(ld_cur_dt,'yyyy-mm-dd hh:mm:ss')+ "' and billtype = 1 and flag = 0 and "
  697. if pos(ls_storagestr,',') > 0 or long(ls_storagestr) > 0 then
  698. tmp_str = '(' + 'storageid in (' + ls_storagestr + '))'
  699. else
  700. tmp_str = '(' + ls_storagestr + ' = 0 or storageid in (' + ls_storagestr + '))'
  701. end if
  702. str_dwSQl=str_dwSQl + tmp_str
  703. //messagebox("",str_dwSQl)
  704. str_SyntaxFromSQL =sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg)
  705. if ls_msg>'' then
  706. arg_msg="dw语法生成失败"
  707. rslt = 0
  708. goto ext
  709. end if
  710. ds_maxid.Create(str_SyntaxFromSQL,ls_msg)
  711. if ls_msg>'' then
  712. arg_msg="建立相关DW失败"
  713. rslt=0
  714. goto ext
  715. end if
  716. ds_maxid.settransobject(sqlca)
  717. ds_maxid.retrieve()
  718. cnt=ds_maxid.GetItemNumber(1,1)
  719. if isnull(cnt) then cnt = 0
  720. destroy ds_maxid
  721. if cnt > 0 then
  722. arg_msg = '仓库还有收货单未打印,不能新建'
  723. rslt = 0
  724. goto ext
  725. end if
  726. ext:
  727. return rslt
  728. end function
  729. public function integer wf_check_over (ref string arg_msg);Int rslt = 1
  730. Long ll_i
  731. long ll_taskid,ll_mtrlid,ll_orderid,ll_scid
  732. string ls_status,ls_unit,ls_mtrlcode
  733. decimal ld_addqty,ld_buyqty,ld_consignedqty
  734. string ls_msg
  735. IF sys_option_ifovertask = 0 THEN
  736. rslt = 1
  737. GOTO ext
  738. END IF
  739. dw_child.accepttext()
  740. FOR ll_i = 1 TO dw_child.RowCount()
  741. ll_scid = cur_scid
  742. ll_taskid = dw_child.object.u_inwaremx_relid[ll_i]
  743. ll_mtrlid = dw_child.object.u_inwaremx_mtrlid[ll_i]
  744. ll_orderid = dw_child.object.u_inwaremx_sptid_cusid[ll_i]
  745. ls_status = dw_child.object.u_inwaremx_status[ll_i]
  746. ls_unit = dw_child.object.u_inwaremx_unit[ll_i]
  747. ls_mtrlcode = dw_child.object.u_mtrldef_mtrlcode[ll_i]
  748. ld_addqty = dw_child.object.u_inwaremx_uqty[ll_i]
  749. if ld_addqty = 0 then continue
  750. if ll_mtrlid = 0 then continue
  751. SELECT sum(u_buytaskmx.uqty),
  752. sum(u_buytaskmx.consignedqty)
  753. INTO :ld_buyqty,
  754. :ld_consignedqty
  755. FROM u_buytaskmx
  756. WHERE ( u_buytaskmx.taskid = :ll_taskid ) AND
  757. ( u_buytaskmx.mtrlid = :ll_mtrlid ) AND
  758. ( u_buytaskmx.orderid = :ll_orderid ) AND
  759. ( u_buytaskmx.status = :ls_status ) AND
  760. ( u_buytaskmx.unit = :ls_unit ) AND
  761. ( u_buytaskmx.scid = :ll_scid);
  762. IF sqlca.SQLCode <> 0 THEN
  763. rslt = 0
  764. arg_msg = "因网络或错误物料编码["+ls_mtrlcode+"]导致查询采购订单已完成数量操作失败"+"~n"+sqlca.SQLErrText
  765. GOTO ext
  766. END IF
  767. IF ld_buyqty < ld_consignedqty + ld_addqty THEN
  768. ls_msg = "物料["+ls_mtrlcode+"]的未完成数量只有"+String(ld_buyqty - ld_consignedqty,'#,##0.0###')+',本次进:'+String(ld_addqty,'#,##0.0#')+",已超订货数,是否要继续入库?"
  769. if messagebox ("询问",ls_msg,question!,yesno! ) = 2 then
  770. arg_msg = '超订货数进仓,操作取消'
  771. rslt = 0
  772. goto ext
  773. end if
  774. END IF
  775. NEXT
  776. ext:
  777. RETURN rslt
  778. end function
  779. public subroutine wf_check_billfj ();String arg_msg
  780. Long ll_ConnectionID
  781. Long cur_billtype
  782. long ll_relid,ll_relid_mx,ll_scid
  783. Long ls_filecount = 0
  784. Int rslt = 1
  785. uo_fj_mng_billtype ls_uo_fjbt
  786. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  787. Long row,uc_relid
  788. row = dw_pageretr.GetRow()
  789. IF row > 0 THEN
  790. ll_relid = dw_pageretr.Object.inwareid[row]
  791. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  792. ll_relid_mx = 0
  793. ELSE
  794. rslt = 0
  795. GOTO ext
  796. END IF
  797. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  798. rslt = 0
  799. GOTO ext
  800. END IF
  801. cur_billtype = 403 //客户投拆单的 mainiD
  802. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  803. IF ls_filecount > 0 THEN
  804. rslt = 1
  805. GOTO ext
  806. ELSE
  807. rslt = 0
  808. GOTO ext
  809. END IF
  810. ext:
  811. wf_encl(rslt)
  812. DESTROY ls_uo_fjbt
  813. end subroutine
  814. 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);//==============================================================================
  815. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  816. //------------------------------------------------------------------------------
  817. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  818. //------------------------------------------------------------------------------
  819. Long LS_ROW,ll_id,i,ll_scid
  820. LS_ROW = dw_uc.GetRow()
  821. IF LS_ROW <= 0 THEN
  822. arg_msg = '没有目标单据!'
  823. RETURN 0
  824. END IF
  825. //修改点:获取 指定retriev参数
  826. ll_id = dw_uc.Object.#1[LS_ROW]
  827. ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
  828. //查询所选模版是否含有图片信息
  829. Long ll_ifpic
  830. Long ll_classid
  831. SELECT ifpic
  832. INTO :ll_ifpic
  833. FROM U_XLS_Templates
  834. Where id = :ll_xls_Templatesid;
  835. IF sqlca.SQLCode <> 0 THEN
  836. ll_ifpic = 0
  837. END IF
  838. Long ll_i,ll_j
  839. Long ll_mtrlid
  840. Long ll_fileid
  841. Blob ls_filedata
  842. SetNull(ls_filedata)
  843. String Pathname,ls_filename,ls_filetype
  844. String errmsg
  845. uo_fj_mng_billtype ls_uo_fjbt
  846. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  847. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  848. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  849. SELECT classid
  850. INTO :ll_classid
  851. FROM u_billpic_fileclass
  852. Where (billtype = 403);
  853. IF sqlca.SQLCode <> 0 THEN
  854. ll_classid = 0
  855. END IF
  856. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  857. FOR ll_i = 1 TO dw_child.RowCount()
  858. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  859. //取该附件类型中的第一个附件.
  860. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  861. FROM u_file
  862. WHERE relid = :ll_mtrlid
  863. AND classid = :ll_classid
  864. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  865. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  866. USING sys_fileDB_sqlca;
  867. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  868. ll_fileid = 0
  869. END IF
  870. IF ll_fileid > 0 THEN
  871. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  872. IF Trim(Pathname) <> '' THEN
  873. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  874. RETURN 0
  875. END IF
  876. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  877. RETURN 0
  878. ELSE
  879. s_pic.path[ll_i] = Pathname
  880. //记录临时文件位置,本窗口退出后删除
  881. wf_addlog_tempfilepathname(Pathname)
  882. END IF
  883. ELSE
  884. s_pic.path[ll_i] = ''
  885. END IF
  886. ELSE
  887. s_pic.path[ll_i] = ''
  888. END IF
  889. NEXT
  890. END IF
  891. //
  892. END IF
  893. ////可选设置///
  894. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  895. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  896. boolean xls_locked
  897. xls_locked = not (sys_option_xls_lock = 1)
  898. /// Excel 的可选设置
  899. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  900. return 0
  901. end if
  902. for i = 1 to arg_str_billlist.count
  903. ////可选操作///
  904. arg_str_billlist.bill[i].ds_data = create datastore //
  905. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  906. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  907. //修改点:注意retrieve 参数与上文对应
  908. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  909. next
  910. return 1
  911. end function
  912. public function integer wf_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, string arg_msg);Long cur_storageid
  913. Decimal ld_wareqty
  914. IF dw_uc.GetRow() = 0 THEN RETURN 1
  915. dw_uc.AcceptText()
  916. cur_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  917. IF cur_storageid = 0 THEN RETURN 1
  918. ld_wareqty = 0
  919. SELECT sum(u_mtrlware.noallocqty)
  920. INTO :ld_wareqty
  921. FROM u_mtrlware
  922. WHERE mtrlid = :arg_mtrlid AND
  923. storageid = :cur_storageid;
  924. IF sqlca.SQLCode = -1 THEN
  925. arg_msg = arg_mtrlcode + ',查询库存数量失败!'
  926. RETURN 0
  927. ELSEIF IsNull(ld_wareqty) THEN
  928. ld_wareqty = 0
  929. END IF
  930. arg_wareqty = ld_wareqty
  931. RETURN 1
  932. end function
  933. 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
  934. LS_ROW = dw_pageretr.GetRow()
  935. IF LS_ROW <= 0 THEN
  936. arg_msg = '没有目标单据!'
  937. RETURN 0
  938. END IF
  939. //修改点:获取 指定retriev参数
  940. ll_id = dw_pageretr.Object.#1[LS_ROW]
  941. ll_scid = dw_pageretr.Object.u_inware_scid[LS_ROW]
  942. Long ll_i,ll_j
  943. Long ll_mtrlid
  944. Long ll_fileid
  945. Blob ls_filedata
  946. SetNull(ls_filedata)
  947. String Pathname,ls_filename,ls_filetype
  948. String errmsg
  949. uo_fj_mng_billtype ls_uo_fjbt
  950. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  951. Long ll_classid
  952. SELECT classid
  953. INTO :ll_classid
  954. FROM u_billpic_fileclass
  955. Where (billtype = 102);
  956. IF sqlca.SQLCode <> 0 THEN
  957. ll_classid = 0
  958. END IF
  959. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  960. FOR ll_i = 1 TO dw_child.RowCount()
  961. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  962. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  963. //取该附件类型中的第一个附件.
  964. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  965. FROM u_file
  966. WHERE relid = :ll_mtrlid
  967. AND classid = :ll_classid
  968. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  969. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  970. USING sys_fileDB_sqlca;
  971. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  972. ll_fileid = 0
  973. END IF
  974. IF ll_fileid > 0 THEN
  975. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  976. IF Trim(Pathname) <> '' THEN
  977. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  978. RETURN 0
  979. END IF
  980. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  981. RETURN 0
  982. ELSE
  983. arg_s_pic.path[ll_i] = Pathname
  984. //记录临时文件位置,本窗口退出后删除
  985. wf_addlog_tempfilepathname(Pathname)
  986. END IF
  987. ELSE
  988. arg_s_pic.path[ll_i] = ''
  989. END IF
  990. ELSE
  991. arg_s_pic.path[ll_i] = ''
  992. END IF
  993. NEXT
  994. END IF
  995. RETURN 1
  996. end function
  997. on w_inware_buy_wareaudit.create
  998. int iCurrent
  999. call super::create
  1000. this.ddlb_scid=create ddlb_scid
  1001. this.ddlb_status=create ddlb_status
  1002. this.st_3=create st_3
  1003. this.st_2=create st_2
  1004. iCurrent=UpperBound(this.Control)
  1005. this.Control[iCurrent+1]=this.ddlb_scid
  1006. this.Control[iCurrent+2]=this.ddlb_status
  1007. this.Control[iCurrent+3]=this.st_3
  1008. this.Control[iCurrent+4]=this.st_2
  1009. end on
  1010. on w_inware_buy_wareaudit.destroy
  1011. call super::destroy
  1012. destroy(this.ddlb_scid)
  1013. destroy(this.ddlb_status)
  1014. destroy(this.st_3)
  1015. destroy(this.st_2)
  1016. end on
  1017. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  1018. Boolean cb_func_enabled,cb_retrieve_enabled
  1019. cb_nextpage_enabled = cb_nextpage.Enabled
  1020. cb_retrieveall_enabled = cb_retrieveall.Enabled
  1021. cb_func_enabled = cb_func.Enabled
  1022. cb_nextpage.Enabled = FALSE
  1023. cb_retrieveall.Enabled = FALSE
  1024. cb_func.Enabled = FALSE
  1025. //只显未自已管的仓库
  1026. datawindowchild childdw
  1027. String new_sqlstr,modify_str
  1028. dw_uc.SetTransObject (sqlca)
  1029. dw_uc.GetChild("storageid",childdw)
  1030. childdw.SetTransObject (sqlca)
  1031. new_sqlstr = childdw.Describe("DataWindow.Table.Select")
  1032. IF Len(ol_cdw_str) = 0 THEN ol_cdw_str = new_sqlstr
  1033. new_sqlstr = f_modify_selectstr(ol_cdw_str)
  1034. modify_str = "DataWindow.Table.Select='" + new_sqlstr +"'"
  1035. childdw.Modify ( modify_str )
  1036. IF childdw.Retrieve(cur_scid) = 0 THEN
  1037. childdw.InsertRow(0)
  1038. END IF
  1039. //childdw.retrieve()
  1040. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  1041. dw_pageretr.Retrieve(cur_scid,cur_flag,sys_user_spttype)
  1042. IF dw_pageretr.RowCount() > 0 THEN
  1043. dw_pageretr.SetRow(1)
  1044. dw_pageretr.TriggerEvent(RowFocusChanged!)
  1045. END IF
  1046. wf_flagstatus_rf()
  1047. THIS.TriggerEvent('retrieve_childdw')
  1048. cb_nextpage.Enabled = cb_nextpage_enabled
  1049. cb_retrieveall.Enabled = cb_retrieveall_enabled
  1050. cb_func.Enabled = cb_func_enabled
  1051. end event
  1052. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  1053. if trim(sle_usual_query.text)<>'' then
  1054. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  1055. obj_expr=obj_expr+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  1056. ELSE
  1057. obj_expr=obj_expr+'( inwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
  1058. END IF
  1059. end if
  1060. dw_pageretr.setfilter(obj_expr)
  1061. dw_pageretr.SetRedraw(False)
  1062. dw_pageretr.filter()
  1063. if dw_pageretr.rowcount()>=1 then
  1064. dw_pageretr.selectrow(0,false)
  1065. dw_pageretr.selectrow(1,true)
  1066. dw_pageretr.SetRow(1)
  1067. dw_pageretr.triggerevent(rowfocuschanged!)
  1068. end if
  1069. dw_pageretr.SetRedraw(TRUE)
  1070. end event
  1071. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  1072. ls_newselect=lower(ori_oldselect)
  1073. if trim(sle_usual_query.text)<>'' then
  1074. if pos(trim(sle_usual_query.text),'%')=0 then
  1075. ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  1076. else
  1077. ls_querystrpart="(u_inware.inwarecode like '"+trim(sle_usual_query.text)+"')"
  1078. end if
  1079. if Pos(ls_newselect," where ") <> 0 then
  1080. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  1081. else
  1082. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  1083. end if
  1084. end if
  1085. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1086. this.triggerevent('retrieve_pageretr')
  1087. end event
  1088. event open;this.triggerevent('ue_before_open')
  1089. wf_movetocenter()
  1090. OLD_TITLE=THIS.TITLE
  1091. s_tran=Message.PowerObjectParm
  1092. IF not ISNULL(s_tran) then
  1093. retrieve_all=s_tran.if_retrieve_all
  1094. mode=s_tran.work_mode
  1095. arg_pkid=s_tran.arg_pkid
  1096. arg_string_code=s_tran.arg_string_code
  1097. if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  1098. ds_share=s_tran.ds_share
  1099. end if
  1100. dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
  1101. dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
  1102. dw_pageretr.SetTransObject (sqlca)
  1103. pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  1104. ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
  1105. //====================================================================
  1106. // Script - w_inware_buy inherited from w_publ_1ton_share_detail for open
  1107. // Reason:
  1108. //--------------------------------------------------------------------
  1109. // Modified By: yyx Date: 2003.12.01
  1110. //--------------------------------------------------------------------
  1111. ori_oldselect=f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  1112. //====================================================================
  1113. ls_newselect=ori_oldselect
  1114. ds_curquery=CREATE DATASTORE
  1115. ds_curquery.DATAOBJECT='d_extr_find'
  1116. ds_curquery.SetTransObject (sqlca)
  1117. wf_editindex_lockf()
  1118. IF s_tran.d_long = 2 THEN
  1119. cur_scid = s_tran.c_long
  1120. Int li_item
  1121. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  1122. IF li_item > 0 THEN
  1123. ddlb_scid.SelectItem(li_item)
  1124. END IF
  1125. END IF
  1126. sle_usual_query.text=trim(arg_string_code)
  1127. if NOT retrieve_all then
  1128. THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve
  1129. else
  1130. if if_sharedata then
  1131. ds_share.sharedata(dw_pageretr)
  1132. else
  1133. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1134. this.TRIGGEREVENT('RETRIEVE_pageretr')
  1135. end if
  1136. end if
  1137. IF retrieve_all THEN
  1138. THIS.TRIGGEREVENT("ue_usual_query_filt")
  1139. END IF
  1140. uc_column_int=9 //uc dw前7列可以编辑
  1141. child_column_int=19 //子dw前8列可以编辑
  1142. uo_ware=create uo_inware_buy
  1143. uo_ware.commit_transaction=sqlca
  1144. uo_sptprice = create uo_spt_price
  1145. if sys_option_buy_rateedit=1 then
  1146. dw_child.Modify ("u_inwaremx_rate_t.color=16711680")
  1147. dw_child.Modify ("u_inwaremx_rate.color=16711680")
  1148. dw_child.Modify ("u_inwaremx_rate.protect=0")
  1149. else
  1150. dw_child.Modify ("u_inwaremx_rate.protect=1")
  1151. end if
  1152. s_hide_col s_col
  1153. s_col.col_1 = 'u_inwaremx_fprice'
  1154. s_col.col_2 = 'u_inwaremx_rebate'
  1155. s_col.col_3 = 'u_inwaremx_price'
  1156. s_col.col_4 = 'amt'
  1157. s_col.col_5 = 'u_inwaremx_uprice'
  1158. f_hide_col(121,dw_child,s_col)
  1159. s_hide_col s_col_mtrlsectype
  1160. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  1161. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  1162. s_hide_col s_col_zxmtrlmode
  1163. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  1164. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  1165. end event
  1166. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  1167. ddlb_status.Enabled = NOT dw_edit_mode
  1168. IF dw_edit_mode THEN
  1169. ddlb_scid.Enabled = FALSE
  1170. ELSE
  1171. IF sys_scid > 0 THEN
  1172. ddlb_scid.Enabled = FALSE
  1173. ELSE
  1174. ddlb_scid.Enabled = TRUE
  1175. END IF
  1176. END IF
  1177. IF dw_edit_mode THEN
  1178. IF flag = 1 AND secflag = 0 THEN
  1179. dw_uc.Modify('storageid.protect=1 ~n u_spt_sptcode.protect=1')
  1180. dw_child.Modify('u_inwaremx_ifrel.protect=1 ~n u_inwaremx_relcode.protect=1 ~n u_mtrldef_mtrlcode.protect=1 ~n u_inwaremx_uqty.protect=1 ~n u_inwaremx_status.protect=1 ~n u_inwaremx_woodcode.protect=1 ~n u_inwaremx_pcode.protect=1 ~n u_inwaremx_addqty.protect=1 ~n u_inwaremx_unit.protect=1 ~n u_inwaremx_plancode.protect=1')
  1181. cb_xm.Enabled = FALSE
  1182. ELSE
  1183. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  1184. // dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
  1185. dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ')
  1186. cb_xm.Enabled = TRUE
  1187. END IF
  1188. ELSE
  1189. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  1190. dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
  1191. END IF
  1192. end event
  1193. event close;call super::close;destroy uo_ware
  1194. destroy uo_sptprice
  1195. wf_del_tempfilepathname()
  1196. end event
  1197. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  1198. IF NOT dw_edit_mode THEN RETURN
  1199. Long child_row,ls_null
  1200. Long ins_storageid = 0
  1201. Long ls_sptid
  1202. Dec ls_lastprice,ls_rebate
  1203. Long chc = 1,ls_j
  1204. SetNull(ls_null)
  1205. dw_uc.accepttext()
  1206. dw_child.accepttext()
  1207. s_edit_index_tran s_tranf8
  1208. s_tranf8.if_retrieve_all = FALSE
  1209. s_tranf8.arg_pkid = 0
  1210. s_tranf8.arg_string_code = ''
  1211. s_tranf8.b_long = 2
  1212. ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1213. IF ins_storageid = 0 OR IsNull(ins_storageid) THEN
  1214. MessageBox('提示','请先选择仓库', Information!, OK! )
  1215. RETURN
  1216. END IF
  1217. child_row = dw_child.GetRow()
  1218. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1219. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1220. THIS.TriggerEvent("ue_f9")
  1221. END IF
  1222. dw_uc.AcceptText()
  1223. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1224. IF NOT IsValid(w_mtrldef_edit) THEN
  1225. s_edit_index_tran s_ch_tran
  1226. s_ch_tran.if_retrieve_all = FALSE
  1227. s_ch_tran.work_mode = 1
  1228. s_ch_tran.arg_pkid = 0
  1229. s_ch_tran.arg_string_code = ''
  1230. s_ch_tran.b_long = 2
  1231. s_ch_tran.c_long = ins_storageid
  1232. s_ch_tran.if_select_all = TRUE
  1233. dw_child.AcceptText()
  1234. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  1235. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  1236. s_mtrldef_array s_inscust
  1237. s_inscust = Message.PowerObjectParm //接受返回结构
  1238. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  1239. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1240. IF dw_child.GetRow() > 0 THEN
  1241. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  1242. child_row = dw_child.InsertRow (0)
  1243. ELSE
  1244. child_row = dw_child.GetRow()
  1245. END IF
  1246. ELSE
  1247. child_row = dw_child.InsertRow (0)
  1248. END IF
  1249. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  1250. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  1251. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1252. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  1253. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  1254. dw_child.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  1255. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  1256. dw_child.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  1257. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  1258. String arg_msg,ls_status,ls_woodcode,ls_pcode
  1259. String ls_1stunit
  1260. ls_status = dw_child.Object.u_inwaremx_status[child_row]
  1261. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  1262. ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  1263. ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  1264. IF cur_editfocus = 1 THEN
  1265. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  1266. IF s_inscust.planprice[ls_j] = 0 THEN
  1267. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
  1268. ELSE
  1269. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.planprice[ls_j]
  1270. END IF
  1271. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  1272. IF s_inscust.unit_buy[ls_j] = '' THEN
  1273. dw_child.Object.u_inwaremx_rate[child_row] = 1
  1274. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  1275. ELSE
  1276. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  1277. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  1278. END IF
  1279. ELSE
  1280. dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  1281. IF ls_1stzqrate = 0 THEN
  1282. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  1283. ELSE
  1284. dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  1285. END IF
  1286. dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  1287. dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  1288. END IF
  1289. ELSE
  1290. IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  1291. IF s_inscust.unit_buy[ls_j] = '' THEN
  1292. dw_child.Object.u_inwaremx_rate[child_row] = 1
  1293. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  1294. ELSE
  1295. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  1296. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  1297. END IF
  1298. END IF
  1299. END IF
  1300. Decimal ld_wareqty
  1301. String ls_msg
  1302. ld_wareqty = 0
  1303. IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
  1304. MessageBox('提示',ls_msg, Information!, OK! )
  1305. END IF
  1306. dw_child.Object.wareqty[child_row] = ld_wareqty
  1307. dw_child.AcceptText( )
  1308. String ls_sptmtrlname
  1309. IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
  1310. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  1311. END IF
  1312. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  1313. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  1314. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1315. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1316. END IF
  1317. NEXT
  1318. THIS.TriggerEvent('ue_allowedit')
  1319. END IF
  1320. dw_child.SetRedraw(TRUE)
  1321. dw_child.SetFocus()
  1322. end event
  1323. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  1324. row = dw_pageretr.GetRow()
  1325. IF row > 0 THEN
  1326. ll_scid=dw_pageretr.Object.u_inware_scid[row]
  1327. uc_relid = dw_pageretr.Object.inwareid[row]
  1328. dw_child.SetRedraw (FALSE)
  1329. dw_child.Retrieve(ll_scid,uc_relid)
  1330. dw_child.SetRedraw (TRUE)
  1331. ELSE
  1332. dw_child.Reset()
  1333. END IF
  1334. end event
  1335. event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认]
  1336. if not dw_edit_mode then return
  1337. long uc_row
  1338. uc_row=dw_uc.getrow()
  1339. if uc_row=0 then
  1340. messagebox('提示','请选定进仓单!', Information!, OK! )
  1341. return
  1342. end if
  1343. dw_uc.accepttext()
  1344. if not isvalid(W_spt_edit) then
  1345. s_edit_index_tran s_ch_tran //传递参数使用
  1346. s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  1347. s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  1348. s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  1349. //查询列(物料编码)部分内容,用于初步筛选
  1350. s_ch_tran.arg_string_code=upper(trim(dw_uc.object.u_spt_sptcode[dw_uc.getrow()]))
  1351. IF sys_spt_hideinfo = 0 THEN
  1352. OPENwithparm(W_spt_edit,s_ch_tran) //调用
  1353. ELSE
  1354. OPENwithparm(W_spt_ch,s_ch_tran) //调用
  1355. END IF
  1356. S_spt S_INSCUST
  1357. S_INSCUST=Message.PowerObjectParm //接受返回结构
  1358. IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值
  1359. dw_uc.setredraw(false)
  1360. dw_uc.object.sptid[uc_row]=S_INSCUST.sptid
  1361. dw_uc.object.u_spt_name[uc_row]=S_INSCUST.name
  1362. dw_uc.object.u_spt_sptcode[uc_row]=S_INSCUST.sptcode
  1363. dw_uc.setredraw(true)
  1364. dw_uc.setcolumn("indate")
  1365. END IF
  1366. end if
  1367. end event
  1368. event ue_viewprint;call super::ue_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455) or f_power_ind(1313)) THEN
  1369. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1370. RETURN
  1371. END IF
  1372. LONG LS_ROW
  1373. LS_ROW=dw_pageretr.getrow()
  1374. IF LS_ROW<=0 THEN
  1375. MESSAGEBOX('错误','没有打印目标单据!', StopSign!, OK! )
  1376. RETURN
  1377. END IF
  1378. if sys_option_auditprint = 1 then
  1379. if dw_pageretr.object.flag[ls_row] <> 1 then
  1380. MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1381. RETURN
  1382. END IF
  1383. end if
  1384. S_print_MSG LS_PRMSG
  1385. IF ls_newname <> '' THEN
  1386. IF li_auditprint = 1 THEN
  1387. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1388. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1389. RETURN
  1390. END IF
  1391. END IF
  1392. ls_prmsg.obj_dwNAME = ls_newname
  1393. ELSE
  1394. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_audit'
  1395. END IF
  1396. LS_PRMSG.TAG_TEXT='采购收货单'
  1397. LS_PRMSG.FILTER_STRING = ''
  1398. LS_PRMSG.retr_pram_falg=15
  1399. LS_PRMSG.PAGECH_FLAG=0
  1400. LS_PRMSG.retr_scid=cur_scid
  1401. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[LS_ROW]
  1402. ls_prmsg.rowcnt=dw_child.rowcount()
  1403. IF ifpic = 1 THEN
  1404. String ls_msg
  1405. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1406. MessageBox('提示','下载图片失败!',information!,OK!)
  1407. RETURN
  1408. END IF
  1409. END IF
  1410. Openwithparm(w_publ_preview,LS_PRMSG)
  1411. IF ifpic = 1 THEN
  1412. Long li
  1413. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1414. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1415. FileDelete(LS_PRMSG.s_pic.path[li])
  1416. END IF
  1417. NEXT
  1418. END IF
  1419. //**更新打印次料
  1420. string arg_msg
  1421. printnum = message.doubleparm
  1422. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[LS_ROW],'','',arg_msg,true)
  1423. end event
  1424. event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN
  1425. Long childrow,ls_sptid,ls_j
  1426. childrow = dw_child.GetRow()
  1427. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  1428. s_mtrldef_array arg_s_mtrldef
  1429. dw_uc.AcceptText()
  1430. dw_child.AcceptText()
  1431. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1432. IF ls_sptid <= 0 THEN
  1433. MessageBox("提示","请先选择供应商", Information!, OK! )
  1434. RETURN
  1435. END IF
  1436. s_edit_index_tran s_tranf8
  1437. s_tranf8.if_retrieve_all = FALSE
  1438. s_tranf8.arg_pkid = 0
  1439. s_tranf8.arg_string_code = ''
  1440. s_tranf8.b_long = 2
  1441. s_tranf8.d_long = ls_sptid
  1442. IF NOT IsValid(w_inware_buytask_ch) THEN
  1443. OpenWithParm(w_inware_buytask_ch,s_tranf8)
  1444. s_mtrldef_buytask_array s_inscust
  1445. s_inscust = Message.PowerObjectParm //接受返回结构
  1446. dw_child.SetRedraw(FALSE)
  1447. FOR ls_j = 1 TO UpperBound(s_inscust.buytaskid)
  1448. IF s_inscust.buytaskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1449. IF dw_child.GetRow() > 0 THEN
  1450. IF dw_child.Object.u_inwaremx_relid[childrow] <> 0 THEN
  1451. childrow = dw_child.InsertRow (0)
  1452. ELSE
  1453. childrow = dw_child.GetRow()
  1454. END IF
  1455. ELSE
  1456. childrow = dw_child.InsertRow (0)
  1457. END IF
  1458. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_inscust.banktypeid[ls_j]
  1459. dw_child.Object.u_inwaremx_ifrel[childrow] = 1
  1460. dw_child.Object.u_inwaremx_relid[childrow] = s_inscust.buytaskid[ls_j]
  1461. dw_child.Object.u_inwaremx_mtrlid[childrow] = s_inscust.mtrlid[ls_j]
  1462. dw_child.Object.u_mtrldef_mtrlcode[childrow] = s_inscust.mtrlcode[ls_j]
  1463. dw_child.Object.u_buytask_taskcode[childrow] = s_inscust.buytaskcode[ls_j]
  1464. dw_child.Object.u_inwaremx_relcode[childrow] = s_inscust.buytaskcode[ls_j]
  1465. dw_child.Object.u_inwaremx_status[childrow] = s_inscust.status[ls_j]
  1466. dw_child.Object.u_inwaremx_woodcode[childrow] = s_inscust.woodcode[ls_j]
  1467. dw_child.Object.u_inwaremx_pcode[childrow] = s_inscust.pcode[ls_j]
  1468. dw_child.Object.u_inwaremx_uprice[childrow] = s_inscust.uprice[ls_j]
  1469. dw_child.Object.u_inwaremx_rebate[childrow] = s_inscust.rebate[ls_j]
  1470. dw_child.Object.u_mtrldef_mtrlname[childrow] = s_inscust.mtrlname[ls_j]
  1471. dw_child.Object.u_mtrldef_mtrlmode[childrow] = s_inscust.mtrlmode[ls_j]
  1472. dw_child.Object.u_mtrldef_unit[childrow] = s_inscust.unit[ls_j]
  1473. dw_child.Object.u_inwaremx_unit[childrow] = s_inscust.mxunit[ls_j]
  1474. dw_child.Object.u_inwaremx_rate[childrow] = s_inscust.rate[ls_j]
  1475. dw_child.Object.u_inwaremx_mxdscrp[childrow] = s_inscust.dscrp[ls_j]
  1476. dw_child.Object.u_inwaremx_bootqty[childrow] = s_inscust.qty[ls_j]
  1477. dw_child.Object.u_inwaremx_uqty[childrow] = s_inscust.uqty[ls_j]
  1478. dw_child.Object.u_inwaremx_addqty[childrow] = s_inscust.addqty[ls_j]
  1479. dw_child.Object.u_inwaremx_sptid_cusid[childrow] = s_inscust.orderid[ls_j]
  1480. dw_child.Object.u_buytask_relcode[childrow] = s_inscust.relcode[ls_j]
  1481. dw_child.Object.u_mtrldef_zxmtrlmode[childrow] = s_inscust.zxmtrlmode[ls_j]
  1482. dw_child.Object.u_mtrldef_mtrlsectype[childrow] = s_inscust.mtrlsectype[ls_j]
  1483. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  1484. li_statusflag = 0
  1485. li_woodcodeflag = 0
  1486. li_pcodeflag = 0
  1487. ELSE
  1488. li_statusflag = arg_s_mtrldef.statusflag[1]
  1489. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1490. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1491. END IF
  1492. dw_child.Object.u_mtrldef_statusflag[childrow] = li_statusflag
  1493. dw_child.Object.u_mtrldef_woodcodeflag[childrow] = li_woodcodeflag
  1494. dw_child.Object.u_mtrldef_pcodeflag[childrow] = li_pcodeflag
  1495. //获取当前库存
  1496. Decimal ld_wareqty
  1497. String ls_msg
  1498. ld_wareqty = 0
  1499. IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
  1500. MessageBox('提示',ls_msg, Information!, OK! )
  1501. END IF
  1502. dw_child.Object.wareqty[childrow] = ld_wareqty
  1503. dw_child.SetColumn('u_inwaremx_uqty')
  1504. END IF
  1505. NEXT
  1506. dw_child.SetRedraw(TRUE)
  1507. THIS.TriggerEvent('ue_allowedit')
  1508. END IF
  1509. end event
  1510. event ue_print;call super::ue_print;IF NOT (f_power_ind(107) or f_power_ind(455) or f_power_ind(1313)) THEN
  1511. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1512. RETURN
  1513. END IF
  1514. //--直接打印
  1515. uo_print_preview uo_print
  1516. S_print_MSG LS_PRMSG
  1517. if dw_pageretr.rowcount()=0 then
  1518. Messagebox('提示','没有可打印的单据!', Information!, OK! )
  1519. return
  1520. end if
  1521. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1522. if sys_option_auditprint = 1 then
  1523. if dw_pageretr.object.flag[dw_pageretr.getrow()] <> 1 then
  1524. MESSAGEBOX('错误','目标单据还未审核,不能打印!', Information!, OK! )
  1525. RETURN
  1526. END IF
  1527. end if
  1528. IF ls_newname <> '' THEN
  1529. IF li_auditprint = 1 THEN
  1530. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1531. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1532. RETURN
  1533. END IF
  1534. END IF
  1535. ls_prmsg.obj_dwNAME = ls_newname
  1536. ELSE
  1537. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_audit'
  1538. END IF
  1539. LS_PRMSG.retr_pram_falg=15
  1540. LS_PRMSG.TAG_TEXT='采购收货单'
  1541. LS_PRMSG.FILTER_STRING = ''
  1542. LS_PRMSG.PAGECH_FLAG=0
  1543. LS_PRMSG.retr_scid=cur_scid
  1544. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[dw_pageretr.getrow()]
  1545. ls_prmsg.rowcnt=dw_child.rowcount()
  1546. IF ifpic = 1 THEN
  1547. String ls_msg
  1548. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1549. MessageBox('提示','下载图片失败!',information!,OK!)
  1550. RETURN
  1551. END IF
  1552. END IF
  1553. uo_print.FACT_PRINT_MSG=LS_PRMSG
  1554. string arg_msg
  1555. if uo_print.uof_print_begin(arg_msg)=0 then
  1556. messagebox("提示",arg_msg, Information!, OK! )
  1557. return
  1558. end if
  1559. uo_print.ds_print()
  1560. IF ifpic = 1 THEN
  1561. Long li
  1562. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1563. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1564. FileDelete(LS_PRMSG.s_pic.path[li])
  1565. END IF
  1566. NEXT
  1567. END IF
  1568. //**更新打印次料
  1569. f_update_printnum('u_inware',1,cur_scid,dw_pageretr.object.inwareid[dw_pageretr.getrow()],'','',arg_msg,true)
  1570. end event
  1571. event resize;call super::resize;long w_width,w_height
  1572. //w_width = 3600
  1573. //w_height = 2300
  1574. //
  1575. //
  1576. //if newwidth < w_width then this.width = w_width
  1577. //if newheight < w_height then this.height = w_height
  1578. //
  1579. //
  1580. //dw_child.width=this.width - (w_width - 3547)
  1581. //dw_child.height=this.height - (w_height - 880)
  1582. //
  1583. //cb_add.y=this.height - (w_height - 2030)
  1584. //cb_edit.y=this.height - (w_height - 2030)
  1585. //cb_delet.y=this.height - (w_height - 2030)
  1586. //cb_addzy.y=this.height - (w_height - 2030)
  1587. //cb_add_xm.y=this.height - (w_height - 2030)
  1588. //cb_dele_xm.y=this.height - (w_height - 2030)
  1589. //cb_exit.y=this.height - (w_height - 2030)
  1590. //cb_auditing.y=this.height - (w_height - 2030)
  1591. //cb_cancelauditing.y=this.height - (w_height - 2030)
  1592. //cb_copy.y=this.height - (w_height - 2030)
  1593. //cb_paste.y=this.height - (w_height - 2030)
  1594. //cb_csecauditing.y=this.height - (w_height - 2030)
  1595. //cb_secauditing.y=this.height - (w_height - 2030)
  1596. //
  1597. //cbx_1.y=this.height - (w_height - 2144)
  1598. //
  1599. //
  1600. end event
  1601. event ue_f10;call super::ue_f10;String ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode
  1602. Decimal rtn_price,rtn_zqrate,rtn_rate
  1603. Long ls_mtrlid,ls_sptid
  1604. IF NOT IsValid(w_unit_ch) THEN
  1605. IF dw_child.GetRow() < 1 THEN RETURN
  1606. dw_uc.AcceptText()
  1607. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1608. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1609. THIS.TriggerEvent("ue_f9")
  1610. END IF
  1611. dw_child.AcceptText()
  1612. ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  1613. OpenWithParm(w_unit_ch,ls_mtrlid)
  1614. s_unit s_inscust
  1615. s_inscust = Message.PowerObjectParm //接受返回结构
  1616. IF s_inscust.unit <> '' THEN
  1617. dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = s_inscust.unit
  1618. dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = s_inscust.rate
  1619. ls_1stunit = s_inscust.unit
  1620. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1621. ls_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  1622. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  1623. ls_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  1624. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,rtn_price,rtn_zqrate,rtn_rate,arg_msg) = 1 THEN
  1625. dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = rtn_price
  1626. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = rtn_zqrate
  1627. END IF
  1628. dw_child.SetColumn( 'u_inwaremx_uqty')
  1629. END IF
  1630. END IF
  1631. end event
  1632. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  1633. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  1634. return
  1635. END IF
  1636. IF NOT (f_power_ind(778) or f_power_ind(781) or f_power_ind(1314)) THEN
  1637. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1638. RETURN
  1639. END IF
  1640. string arg_msg=''
  1641. string ls_str
  1642. long uc_row
  1643. s_inputbox s_sreu
  1644. uc_row=dw_pageretr.getrow()
  1645. if uc_row<=0 then
  1646. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  1647. return
  1648. end if
  1649. s_sreu.title='请输入要补充到备注的内容'
  1650. s_sreu.old_text=''
  1651. openwithparm(w_inputbox,s_sreu)
  1652. ls_str=message.stringparm
  1653. if trim(ls_str)='' or isnull(ls_str) then return
  1654. 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
  1655. messagebox('error!',arg_msg)
  1656. return
  1657. else
  1658. messagebox('提示','添加备注操作成功!', Information!, OK! )
  1659. wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
  1660. end if
  1661. end event
  1662. event ue_f11;call super::ue_f11;IF NOT dw_edit_mode THEN RETURN
  1663. Long child_row
  1664. Int if_addmxdscrp
  1665. String ls_mxdscrp
  1666. s_addqty_input s_input
  1667. dw_child.AcceptText( )
  1668. child_row = dw_child.GetRow()
  1669. IF child_row <= 0 THEN RETURN
  1670. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
  1671. ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row]
  1672. IF NOT IsValid(w_addqty_input) THEN
  1673. OpenWithParm(w_addqty_input,ls_mxdscrp)
  1674. s_input = Message.PowerObjectParm
  1675. IF s_input.addqty = -1 THEN RETURN
  1676. dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty
  1677. IF s_input.addqtystr <> '' THEN
  1678. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
  1679. END IF
  1680. IF s_input.formula <> '' THEN
  1681. dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
  1682. END IF
  1683. IF s_input.flag = 1 THEN
  1684. dw_child.Object.u_inwaremx_uqty[child_row] = s_input.qty
  1685. END IF
  1686. END IF
  1687. end event
  1688. event ue_addmx;Long uc_row,ll_flag
  1689. uc_row = dw_uc.GetRow()
  1690. IF uc_row <= 0 THEN
  1691. MessageBox('提示','请先选择单据', Information!, OK! )
  1692. RETURN
  1693. END IF
  1694. ll_flag = dw_uc.Object.flag[uc_row]
  1695. IF ll_flag = 1 THEN
  1696. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1697. RETURN
  1698. END IF
  1699. this.triggerevent('ue_f8')
  1700. dw_child.SetFocus()
  1701. end event
  1702. event ue_deletemx;Long uc_row,ll_flag
  1703. uc_row = dw_uc.GetRow()
  1704. IF uc_row <= 0 THEN
  1705. MessageBox('提示','请先选择单据', Information!, OK! )
  1706. RETURN
  1707. END IF
  1708. ll_flag = dw_uc.Object.flag[uc_row]
  1709. IF ll_flag = 1 THEN
  1710. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1711. RETURN
  1712. END IF
  1713. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  1714. IF dw_child.GETROW()=0 THEN
  1715. MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! )
  1716. RETURN
  1717. END IF
  1718. dw_child.DeleteRow (0)
  1719. dw_child.TriggerEvent (rowfocuschanged!)
  1720. end event
  1721. event ue_copyrow;Long uc_row,ll_flag
  1722. uc_row = dw_uc.GetRow()
  1723. IF uc_row <= 0 THEN
  1724. MessageBox('提示','请先选择单据', Information!, OK! )
  1725. RETURN
  1726. END IF
  1727. ll_flag = dw_uc.Object.flag[uc_row]
  1728. IF ll_flag = 1 THEN
  1729. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1730. RETURN
  1731. END IF
  1732. long ll_childrow
  1733. ll_childrow = dw_child.GETROW()
  1734. IF ll_childrow=0 THEN
  1735. MESSAGEBOX('提示','请选择复制对象!', Information!, OK! )
  1736. RETURN
  1737. END IF
  1738. dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  1739. ds_copypaste.RowsCopy (1,1,Primary!,dw_child,dw_child.rowcount() + 1,Primary!)
  1740. ds_copypaste.reset()
  1741. dw_child.selectrow(0,false)
  1742. dw_child.setrow(dw_child.rowcount())
  1743. dw_child.scrolltorow(dw_child.rowcount())
  1744. dw_child.selectrow(dw_child.rowcount(),true)
  1745. end event
  1746. event ue_insertmx;Long uc_row,ll_flag
  1747. uc_row = dw_uc.GetRow()
  1748. IF uc_row <= 0 THEN
  1749. MessageBox('提示','请先选择单据', Information!, OK! )
  1750. RETURN
  1751. END IF
  1752. ll_flag = dw_uc.Object.flag[uc_row]
  1753. IF ll_flag = 1 THEN
  1754. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1755. RETURN
  1756. END IF
  1757. long ll_childrow,li_row
  1758. ll_childrow = dw_child.getrow()
  1759. li_row = dw_child.insertrow(ll_childrow)
  1760. dw_child.selectrow(0,false)
  1761. dw_child.setrow(li_row)
  1762. dw_child.scrolltorow(li_row)
  1763. dw_child.selectrow(li_row,true)
  1764. end event
  1765. event ue_rpt_print;call super::ue_rpt_print;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN
  1766. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1767. RETURN
  1768. END IF
  1769. Long row,uc_relid,ll_scid
  1770. row = dw_pageretr.GetRow()
  1771. IF row <= 0 THEN RETURN
  1772. uo_rpt_print_preview uo_print
  1773. S_rpt_print_MSG LS_PRMSG
  1774. IF dw_pageretr.RowCount() = 0 THEN
  1775. MessageBox('提示','没有可打印的单据!', Information!, OK! )
  1776. RETURN
  1777. END IF
  1778. IF ls_rpname = '' THEN RETURN
  1779. IF li_auditprint = 1 THEN
  1780. IF dw_pageretr.Object.flag[row] = 0 THEN
  1781. MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! )
  1782. RETURN
  1783. END IF
  1784. END IF
  1785. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1786. LS_PRMSG.retr_pram_falg = 15
  1787. LS_PRMSG.TAG_TEXT = '采购收货单'
  1788. LS_PRMSG.rpname = ls_rpname
  1789. LS_PRMSG.FILTER_STRING = ''
  1790. LS_PRMSG.PAGECH_FLAG = 0
  1791. LS_PRMSG.rpid = ls_msgprintid_rpt
  1792. LS_PRMSG.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1793. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1794. LS_PRMSG.rowcnt = dw_child.RowCount()
  1795. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1796. String arg_msg
  1797. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1798. MessageBox("提示",arg_msg, Information!, OK! )
  1799. RETURN
  1800. END IF
  1801. uo_print.ds_print()
  1802. //**更新打印次料
  1803. printnum = message.doubleparm
  1804. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  1805. end event
  1806. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN
  1807. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1808. RETURN
  1809. END IF
  1810. Long row,uc_relid,ll_scid
  1811. row = dw_pageretr.GetRow()
  1812. IF row = 0 THEN RETURN
  1813. IF ls_rpname = '' THEN RETURN
  1814. IF li_auditprint = 1 THEN
  1815. IF dw_pageretr.Object.flag[row] = 0 THEN
  1816. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1817. RETURN
  1818. END IF
  1819. END IF
  1820. s_rpt_print_msg s_print
  1821. s_print.retr_pram_falg = 15
  1822. s_print.rpid = ls_msgprintid_rpt
  1823. s_print.retr_flag = TRUE
  1824. s_print.tag_text = THIS.Title
  1825. s_print.rpname = ls_rpname
  1826. s_print.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1827. s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1828. s_print.rowcnt = dw_child.RowCount()
  1829. OpenWithParm(w_rpt_preview,s_print)
  1830. //**更新打印次料
  1831. string arg_msg
  1832. printnum = message.doubleparm
  1833. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  1834. end event
  1835. event ue_f6;call super::ue_f6;s_view_dscrp s_view,s_return
  1836. String ls_dscrp
  1837. dw_uc.AcceptText()
  1838. ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
  1839. s_view.Title = '采购收货单备注'
  1840. s_view.dscrp = ls_dscrp
  1841. s_view.editmode = dw_edit_mode
  1842. OpenWithParm(w_view_dscrp,s_view)
  1843. IF dw_edit_mode THEN
  1844. s_return = Message.PowerObjectParm
  1845. dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp
  1846. END IF
  1847. end event
  1848. type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_buy_wareaudit
  1849. end type
  1850. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_buy_wareaudit
  1851. integer x = 1733
  1852. end type
  1853. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_buy_wareaudit
  1854. integer x = 187
  1855. integer y = 188
  1856. integer width = 549
  1857. end type
  1858. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_buy_wareaudit
  1859. integer x = 2199
  1860. end type
  1861. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_buy_wareaudit
  1862. integer x = 1883
  1863. integer width = 320
  1864. end type
  1865. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_buy_wareaudit
  1866. integer x = 2053
  1867. integer y = 296
  1868. integer width = 1490
  1869. integer height = 860
  1870. string dataobject = "dw_inware_buy_audit_index"
  1871. end type
  1872. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1873. wf_check_billfj()
  1874. if dw_edit_mode then return
  1875. if currentrow <=0 then
  1876. dw_child.reset()
  1877. return
  1878. end if
  1879. this.selectrow(0,false)
  1880. this.selectrow(currentrow,true)
  1881. dw_uc.setrow(currentrow)
  1882. dw_uc.scrolltorow (currentrow)
  1883. if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
  1884. end event
  1885. type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_buy_wareaudit
  1886. integer y = 208
  1887. string text = "编号含"
  1888. end type
  1889. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_buy_wareaudit
  1890. integer x = 2350
  1891. end type
  1892. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_buy_wareaudit
  1893. integer y = 296
  1894. integer width = 2048
  1895. integer height = 860
  1896. string dataobject = "dw_inware_buy_audit_edit"
  1897. end type
  1898. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  1899. IF Key = KeyDownArrow! THEN RETURN 1
  1900. IF dw_edit_mode THEN
  1901. IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN
  1902. dw_child.SetFocus()
  1903. dw_child.ScrollToRow(dw_child.RowCount())
  1904. dw_child.SetColumn ('u_inwaremx_ifrel')
  1905. RETURN 1
  1906. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' AND Key = KeyEnter! THEN
  1907. String ls_code,ls_name,ls_find_code
  1908. Long ls_sptid
  1909. Long cnt = 0
  1910. Boolean if_find = FALSE
  1911. dw_uc.AcceptText()
  1912. ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  1913. SELECT u_spt.sptid,
  1914. u_spt.name,
  1915. u_spt.sptcode
  1916. INTO :ls_sptid,:ls_name,:ls_code
  1917. FROM u_spt
  1918. Where ( sptcode = :ls_code OR Name = :ls_code );
  1919. IF sqlca.SQLCode <> 0 THEN
  1920. IF Pos(Trim(ls_code),'%') = 0 THEN
  1921. ls_find_code = '%'+ Trim(ls_code) + '%'
  1922. ELSE
  1923. ls_find_code = Trim(ls_code)
  1924. END IF
  1925. SELECT count(*) INTO :cnt
  1926. FROM u_spt
  1927. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  1928. IF sqlca.SQLCode <> 0 THEN
  1929. PARENT.TriggerEvent('ue_f9')
  1930. RETURN 1
  1931. END IF
  1932. IF cnt <> 1 THEN
  1933. PARENT.TriggerEvent('ue_f9')
  1934. RETURN 1
  1935. ELSE
  1936. SELECT u_spt.sptid,
  1937. u_spt.sptcode,
  1938. u_spt.name
  1939. INTO :ls_sptid,:ls_code,:ls_name
  1940. FROM u_spt
  1941. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  1942. IF sqlca.SQLCode <> 0 THEN
  1943. PARENT.TriggerEvent('ue_f9')
  1944. RETURN 1
  1945. ELSE
  1946. if_find = TRUE
  1947. END IF
  1948. END IF
  1949. ELSE
  1950. if_find = TRUE
  1951. END IF
  1952. IF if_find THEN
  1953. dw_uc.SetRedraw(FALSE)
  1954. dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid
  1955. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code
  1956. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  1957. dw_uc.SetRedraw(TRUE)
  1958. dw_uc.SetColumn("indate")
  1959. RETURN 1
  1960. END IF
  1961. ELSE
  1962. IF Key = KeyEnter! THEN //
  1963. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1964. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1965. RETURN 1
  1966. END IF
  1967. END IF
  1968. END IF
  1969. end event
  1970. event dw_uc::doubleclicked;IF dw_edit_mode and row >0 THEN
  1971. if dwo.name='u_spt_sptcode' then parent.triggerevent('ue_f9')
  1972. END IF
  1973. end event
  1974. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1975. IF dwo.Name = 'storageid' THEN
  1976. // wf_lock_plancode(long(data))
  1977. dw_child.Reset()
  1978. PARENT.TriggerEvent("insert_childrow")
  1979. END IF
  1980. //long ll_storageid,ll_if_plancode
  1981. //string st
  1982. //
  1983. //IF pos(dwo.Name , 'storageid') > 0 THEN
  1984. //
  1985. // ll_storageid = long(data)
  1986. // select if_plancode
  1987. // into :ll_if_plancode
  1988. // from u_storage
  1989. // where storageid = :ll_storageid;
  1990. //
  1991. // if ll_if_plancode = 0 then
  1992. // dw_child.modify('u_inwaremx_plancode.protect = 1')
  1993. // end if
  1994. //
  1995. // dw_child.Reset()
  1996. // PARENT.TriggerEvent("insert_childrow")
  1997. //END IF
  1998. end event
  1999. event dw_uc::clicked;call super::clicked;
  2000. IF row <= 0 THEN RETURN
  2001. IF dwo.Name = 'p_dview' THEN
  2002. PARENT.TriggerEvent('ue_f6')
  2003. END IF
  2004. IF NOT dw_edit_mode THEN RETURN
  2005. IF dwo.Name = 'p_p' THEN
  2006. PARENT.TriggerEvent('ue_f9')
  2007. END IF
  2008. end event
  2009. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_buy_wareaudit
  2010. end type
  2011. type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_buy_wareaudit
  2012. integer y = 1160
  2013. integer width = 3543
  2014. integer height = 932
  2015. string dataobject = "dw_inwaremx_buy_audit_edit"
  2016. end type
  2017. event dw_child::dwnkey;call super::dwnkey;//PARENT.TriggerEvent('user_key')
  2018. //
  2019. //String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_unit_buy,ls_mtrlsectype,ls_zxmtrlmode
  2020. //Long ls_mtrlid,ls_sptid,ls_taskid,ls_orderid,ls_storageid
  2021. //Dec ls_lmbuyprice,ls_planprice
  2022. //Dec ls_lastprice,ls_rebate,ld_rate_buy
  2023. //String ls_buytaskcode
  2024. //String ls_prdpackcode
  2025. //Decimal ls_packqty,ls_nofinishqty
  2026. //Long i_mtrlid,i_sptid
  2027. //String i_mtrlcode,i_status,i_woodcode,i_pcode
  2028. //Decimal i_price,i_zqrate
  2029. //s_mtrldef_array arg_s_mtrldef
  2030. //String ls_sptmtrlname
  2031. //Long child_row
  2032. //Long ls_null
  2033. //Int li_statusflag,li_woodcodeflag,li_pcodeflag
  2034. //
  2035. //SetNull(ls_null)
  2036. //
  2037. //IF dw_edit_mode THEN
  2038. // dw_uc.AcceptText()
  2039. // ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  2040. // IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  2041. // MessageBox('提示','请先选择仓库', Information!, OK! )
  2042. // RETURN
  2043. // END IF
  2044. //
  2045. // ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2046. // IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  2047. // parent.TriggerEvent("ue_f9")
  2048. // END IF
  2049. //
  2050. // IF KeyDown(keydownarrow!) THEN
  2051. // Long li_row
  2052. // IF dw_child.GetRow() = dw_child.RowCount() THEN
  2053. // PARENT.TriggerEvent("insert_childrow")
  2054. // END IF
  2055. // ELSE
  2056. // IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  2057. // IF sys_option_pos_jsbarcode <> '' THEN
  2058. // ls_mtrlcode = sys_option_pos_jsbarcode
  2059. // GOTO find_mtrl
  2060. // END IF
  2061. //
  2062. // IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  2063. // dw_child.AcceptText()
  2064. // child_row = dw_child.GetRow()
  2065. //
  2066. // ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  2067. // ls_buytaskcode = dw_child.Object.u_inwaremx_relcode[child_row]
  2068. //
  2069. // IF dw_child.Object.u_inwaremx_ifrel[child_row] = 1 THEN
  2070. // SELECT u_mtrldef.mtrlid,
  2071. // u_mtrldef.mtrlname,
  2072. // u_mtrldef.unit,
  2073. // u_mtrldef.unit_buy,
  2074. // u_mtrldef.rate_buy,
  2075. // u_mtrldef.planprice,
  2076. // u_mtrldef.mtrlmode,
  2077. // u_mtrldef.prdpackcode,
  2078. // u_mtrldef.packqty ,
  2079. // u_buytask.taskid ,
  2080. // u_buytaskmx.qty - u_buytaskmx.consignedqty,
  2081. // u_buytaskmx.orderid,
  2082. // u_mtrldef.statusflag,
  2083. // u_mtrldef.woodcodeflag,
  2084. // u_mtrldef.pcodeflag
  2085. // INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_unit_buy,
  2086. // :ld_rate_buy,:ls_planprice,
  2087. // :ls_mtrlmode,:ls_prdpackcode,:ls_packqty,:ls_taskid,
  2088. // :ls_nofinishqty,:ls_orderid,
  2089. // :li_statusflag,:li_woodcodeflag,:li_pcodeflag
  2090. // FROM u_mtrldef,u_buytaskmx,u_buytask
  2091. // WHERE ( u_mtrldef.mtrlid = u_buytaskmx.mtrlid )
  2092. // AND ( u_buytask.taskcode = :ls_buytaskcode )
  2093. // AND ( u_mtrldef.mtrlcode = :ls_mtrlcode )
  2094. // AND ( u_buytask.taskid = u_buytaskmx.taskid )
  2095. // AND ( u_buytask.scid = u_buytaskmx.scid )
  2096. // And ( u_buytask.status = 1 );
  2097. // IF sqlca.SQLCode = 100 THEN
  2098. // dw_child.Object.u_inwaremx_relid[child_row] = 0
  2099. // PARENT.TriggerEvent('ue_f7')
  2100. // RETURN 1
  2101. // END IF
  2102. // ELSE
  2103. // find_mtrl:
  2104. // IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  2105. // PARENT.TriggerEvent('ue_f8')
  2106. // RETURN 1
  2107. // ELSE
  2108. // ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  2109. // ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  2110. // ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  2111. // ls_unit = arg_s_mtrldef.unit[1]
  2112. // ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  2113. // ls_planprice = arg_s_mtrldef.planprice[1]
  2114. // ls_lmbuyprice = arg_s_mtrldef.lmbuyprice[1]
  2115. // ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  2116. // ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  2117. // ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1]
  2118. // ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1]
  2119. // li_statusflag = arg_s_mtrldef.statusflag[1]
  2120. // li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  2121. // li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  2122. // END IF
  2123. // END IF
  2124. //
  2125. // dw_child.Object.u_inwaremx_sptid_cusid[child_row] = ls_orderid
  2126. // dw_child.Object.u_inwaremx_relid[child_row] = ls_taskid
  2127. // dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
  2128. // dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  2129. // dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  2130. // dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  2131. // dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  2132. // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  2133. // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  2134. // dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  2135. // dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  2136. // dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  2137. //
  2138. //
  2139. // Decimal ld_wareqty
  2140. // String ls_msg
  2141. // ld_wareqty = 0
  2142. // IF wf_get_wareqty(ls_mtrlid,ls_mtrlmode,ld_wareqty,ls_msg) = 0 THEN
  2143. // MessageBox('提示',ls_msg, Information!, OK! )
  2144. // END IF
  2145. // dw_child.Object.wareqty[child_row] = ld_wareqty
  2146. //
  2147. //
  2148. //
  2149. // sys_option_pos_jsbarcode = ''
  2150. //
  2151. // Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  2152. // String arg_msg
  2153. // String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  2154. // ls_status = dw_child.Object.u_inwaremx_status[child_row]
  2155. // ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  2156. // ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  2157. //
  2158. // ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  2159. //
  2160. // IF cur_editfocus = 1 THEN
  2161. // IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  2162. // IF ls_planprice = 0 THEN
  2163. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_lmbuyprice
  2164. // ELSE
  2165. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_planprice
  2166. // END IF
  2167. // dw_child.Object.u_inwaremx_rebate[child_row] = 1
  2168. //
  2169. // IF ls_unit_buy = '' THEN
  2170. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  2171. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  2172. // ELSE
  2173. // dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  2174. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  2175. // END IF
  2176. // ELSE
  2177. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  2178. // IF ls_1stzqrate = 0 THEN
  2179. // dw_child.Object.u_inwaremx_rebate[child_row] = 1
  2180. // ELSE
  2181. //
  2182. // dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  2183. // END IF
  2184. // dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  2185. // dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  2186. // END IF
  2187. //
  2188. //
  2189. // ELSE
  2190. // IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  2191. // IF ls_unit_buy = '' THEN
  2192. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  2193. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  2194. // ELSE
  2195. // dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  2196. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  2197. // END IF
  2198. // END IF
  2199. // END IF
  2200. //
  2201. // THIS.AcceptText( )
  2202. //
  2203. // IF uo_sptprice.uf_getmtrlname(ls_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  2204. // dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  2205. // END IF
  2206. // PARENT.TriggerEvent('ue_allowedit')
  2207. //
  2208. // IF Key = keyenter! THEN
  2209. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2210. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2211. //
  2212. // RETURN 1
  2213. // END IF
  2214. //
  2215. //
  2216. //
  2217. //
  2218. // ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_rebate' THEN
  2219. //
  2220. // dw_child.AcceptText()
  2221. // dw_uc.AcceptText()
  2222. //
  2223. // i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2224. // i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  2225. // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  2226. // i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  2227. // i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  2228. // i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  2229. // i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  2230. // i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  2231. // ls_unit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  2232. // IF uo_sptprice.uf_check_price(0,i_sptid,i_mtrlid,i_mtrlcode,ls_unit,i_status,i_woodcode,i_pcode,i_price * i_zqrate,arg_msg) = 0 THEN
  2233. // MessageBox("提示",arg_msg, Information!, OK! )
  2234. // dw_child.SetFocus()
  2235. // dw_child.SetColumn("u_inwaremx_uprice")
  2236. //
  2237. // RETURN 1
  2238. // ELSE
  2239. // dw_child.SetFocus()
  2240. // dw_child.SetColumn("u_inwaremx_plancode")
  2241. // // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2242. // // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2243. // RETURN 1
  2244. // END IF
  2245. // ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN
  2246. // PARENT.TriggerEvent("insert_childrow")
  2247. // RETURN 1
  2248. // ELSEIF dw_child.GetColumnName() = "u_inwaremx_status" OR dw_child.GetColumnName() = "u_inwaremx_woodcode" OR dw_child.GetColumnName() = "u_inwaremx_pcode" THEN
  2249. // dw_child.AcceptText()
  2250. // dw_uc.AcceptText()
  2251. //
  2252. // i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2253. // i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  2254. // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  2255. // i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  2256. // i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  2257. // i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  2258. // i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  2259. // i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  2260. // ls_1stunit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  2261. // ls_unit = dw_child.Object.u_mtrldef_unit[dw_child.GetRow()]
  2262. // // dw_child.Object.u_inwaremx_unit[child_row]
  2263. //
  2264. // IF uo_sptprice.uf_getmtrlsptprice(i_sptid,i_mtrlid,ls_1stunit,i_status,i_woodcode,i_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) = 1 THEN
  2265. //
  2266. // dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = ls_1stnewcost
  2267. // IF ls_1stzqrate = 0 THEN
  2268. // dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1
  2269. // ELSE
  2270. // dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = ls_1stzqrate
  2271. // END IF
  2272. // dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = ls_1strate
  2273. // dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = ls_1stunit
  2274. // ELSE
  2275. // dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = 0
  2276. // dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1
  2277. // END IF
  2278. //
  2279. // THIS.AcceptText()
  2280. //
  2281. // IF uo_sptprice.uf_getmtrlname(i_sptid,i_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  2282. // dw_child.Object.u_inwaremx_sptmtrlname[dw_child.GetRow()] = ls_sptmtrlname
  2283. // END IF
  2284. // IF Key = keyenter! THEN
  2285. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2286. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2287. // RETURN 1
  2288. // END IF
  2289. // ELSE
  2290. // IF Key = keyenter! THEN
  2291. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2292. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2293. // RETURN 1
  2294. // END IF
  2295. // END IF
  2296. // END IF
  2297. // END IF
  2298. //END IF
  2299. //
  2300. //
  2301. //
  2302. //
  2303. //
  2304. //
  2305. end event
  2306. event dw_child::doubleclicked;dw_child.AcceptText()
  2307. IF dw_edit_mode THEN
  2308. IF row > 0 THEN
  2309. IF dwo.Name = 'u_inwaremx_uqty' OR dwo.Name = 'u_inwaremx_formula' THEN
  2310. PARENT.TriggerEvent('ue_cmpl_qty')
  2311. return
  2312. END IF
  2313. IF dw_child.Object.u_inwaremx_ifrel[row] = 1 THEN
  2314. CHOOSE CASE dwo.Name
  2315. CASE 'u_inwaremx_unit'
  2316. PARENT.TriggerEvent('ue_f10')
  2317. CASE 'u_inwaremx_addqty'
  2318. PARENT.TriggerEvent('ue_f11')
  2319. CASE ELSE
  2320. PARENT.TriggerEvent('ue_f7')
  2321. END CHOOSE
  2322. ELSE
  2323. CHOOSE CASE dwo.Name
  2324. CASE 'u_mtrldef_mtrlcode'
  2325. PARENT.TriggerEvent('ue_f8')
  2326. CASE 'u_inwaremx_addqty'
  2327. PARENT.TriggerEvent('ue_f11')
  2328. CASE 'u_inwaremx_unit'
  2329. PARENT.TriggerEvent('ue_f10')
  2330. END CHOOSE
  2331. END IF
  2332. ELSE
  2333. PARENT.TriggerEvent('ue_f8')
  2334. END IF
  2335. END IF
  2336. end event
  2337. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  2338. this.accepttext()
  2339. if dwo.name = 'u_inwaremx_ifrel' then
  2340. if this.object.u_inwaremx_ifrel[row] = 0 then
  2341. dw_child.object.u_inwaremx_relid[row] = 0
  2342. dw_child.object.u_buytask_taskcode[row] = ''
  2343. dw_child.object.u_inwaremx_relcode[row] = ''
  2344. end if
  2345. end if
  2346. end event
  2347. event dw_child::itemfocuschanged;call super::itemfocuschanged;
  2348. dw_child.accepttext()
  2349. dw_child.object.amt[dw_child.getrow()]=dw_child.object.u_inwaremx_uprice[dw_child.getrow()]*dw_child.object.u_inwaremx_rebate[dw_child.getrow()]*dw_child.object.u_inwaremx_uqty[dw_child.getrow()]
  2350. end event
  2351. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_buy_wareaudit
  2352. integer x = 1088
  2353. end type
  2354. type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_buy_wareaudit
  2355. integer x = 896
  2356. end type
  2357. type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_buy_wareaudit
  2358. boolean visible = false
  2359. end type
  2360. event cb_add::clicked;//IF Not (f_power_ind(99) OR f_power_ind(372)) THEN
  2361. // MessageBox('提示','你没有使用权限!', Information!, OK! )
  2362. // RETURN
  2363. //END IF
  2364. //
  2365. //String arg_msg = ''
  2366. //Long uc_row,pagerert_row
  2367. //Long relid_pageretr,reld_uc,j
  2368. //
  2369. //IF NOT dw_edit_mode THEN
  2370. // IF wf_check_print(arg_msg) = 0 THEN
  2371. // MessageBox('提示',arg_msg, Information!, OK! )
  2372. // RETURN
  2373. // END IF
  2374. //END IF
  2375. //
  2376. //IF dw_edit_mode THEN
  2377. // dw_uc.AcceptText()
  2378. // dw_child.AcceptText()
  2379. // uc_row = dw_uc.GetRow()
  2380. //
  2381. // IF uc_row <= 0 THEN
  2382. // MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2383. // RETURN
  2384. // END IF
  2385. // IF NOT dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN
  2386. // MessageBox('提示','不合理发生时间!', Information!, OK! )
  2387. // dw_uc.SetFocus()
  2388. // dw_uc.SetColumn("indate")
  2389. // RETURN
  2390. // END IF
  2391. // IF NOT Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN
  2392. // MessageBox('提示','请填写经手人!', Information!, OK! )
  2393. // dw_uc.SetFocus()
  2394. // dw_uc.SetColumn("inrep")
  2395. // RETURN
  2396. // END IF
  2397. //
  2398. // IF dw_uc.Object.u_inware_relint_1[uc_row] = 0 THEN
  2399. // MessageBox('提示','请选择结算方式', Information!, OK! )
  2400. // dw_uc.SetFocus()
  2401. // dw_uc.SetColumn("u_inware_relint_1")
  2402. // RETURN
  2403. // END IF
  2404. //
  2405. // IF dw_uc.Object.u_inware_otheramt[uc_row] <> 0 AND NOT Len(String(dw_uc.Object.dscrp[uc_row])) > 0 THEN
  2406. // MessageBox('提示','请在备注栏注明扣减费用!', Information!, OK! )
  2407. // dw_uc.SetFocus()
  2408. // dw_uc.SetColumn("dscrp")
  2409. // RETURN
  2410. // END IF
  2411. //
  2412. // FOR j = 1 TO dw_child.RowCount()
  2413. // IF NOT f_power_ind(128) AND dw_child.Object.u_inwaremx_ifrel[j] = 1 AND dw_child.Object.u_inwaremx_relid[j] = 0 THEN
  2414. // MessageBox('提示','请先选择订单', Information!, OK! )
  2415. // RETURN
  2416. // END IF
  2417. //
  2418. // IF NOT f_power_ind(128) AND dw_child.Object.u_inwaremx_ifrel[j] = 0 AND dw_child.Object.u_inwaremx_uqty[j] > 0 THEN
  2419. // MessageBox('提示','请先选择订单', Information!, OK! )
  2420. // RETURN
  2421. // END IF
  2422. //
  2423. // IF dw_child.Object.u_inwaremx_ifrel[j] = 1 AND dw_child.Object.u_inwaremx_uqty[j] < 0 THEN
  2424. // MessageBox('提示','收货单要输入正数', Information!, OK! )
  2425. // RETURN
  2426. // END IF
  2427. //
  2428. // if dw_child.Object.u_inwaremx_unit[j] = '' then
  2429. // dw_child.Object.u_inwaremx_unit[j] = dw_child.Object.u_mtrldef_unit[j]
  2430. // dw_child.Object.u_inwaremx_rate[j] = 1
  2431. // end if
  2432. // NEXT
  2433. //
  2434. //
  2435. // uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
  2436. // uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
  2437. // uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  2438. // uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  2439. // uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  2440. // uo_ware.sptid = dw_uc.Object.sptid[uc_row]
  2441. // uo_ware.otheramt = dw_uc.Object.u_inware_otheramt[uc_row]
  2442. // uo_ware.relint_1 = dw_uc.Object.u_inware_relint_1[uc_row]
  2443. // uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row]
  2444. // uo_ware.thflag = 0
  2445. //
  2446. //
  2447. // Long i
  2448. // FOR i = 1 TO dw_child.RowCount()
  2449. // IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  2450. // IF uo_ware.acceptmx(dw_child.Object.printid[i],&
  2451. // dw_child.Object.u_inwaremx_mtrlid[i],&
  2452. // dw_child.Object.u_mtrldef_mtrlcode[i],&
  2453. // dw_child.Object.u_inwaremx_plancode[i],&
  2454. // dw_child.Object.u_inwaremx_status[i],&
  2455. // dw_child.Object.u_inwaremx_uqty[i],&
  2456. // dw_child.Object.u_inwaremx_addqty[i],&
  2457. // dw_child.Object.u_inwaremx_uprice[i],&
  2458. // dw_child.Object.u_inwaremx_rebate[i],&
  2459. // dw_child.Object.u_inwaremx_mxdscrp[i],&
  2460. // arg_msg,0,&
  2461. // dw_child.Object.u_inwaremx_relid[i],&
  2462. // dw_child.Object.u_inwaremx_relprintid[i],&
  2463. // dw_child.Object.u_inwaremx_ifrel[i],&
  2464. // dw_child.Object.u_inwaremx_woodcode[i],&
  2465. // dw_child.Object.u_inwaremx_pcode[i],&
  2466. // '',&
  2467. // dw_child.Object.u_inwaremx_sptid_cusid[i],&
  2468. // dw_child.Object.u_inwaremx_unit[i],&
  2469. // dw_child.Object.u_inwaremx_rate[i],&
  2470. // dw_child.Object.u_inwaremx_formula[i],&
  2471. // dw_child.Object.u_inwaremx_waredscrp[i],&
  2472. // dw_child.Object.u_inwaremx_inworkdate[i]) = 0 THEN
  2473. // MessageBox('错误',arg_msg, StopSign!, OK! )
  2474. // RETURN
  2475. // END IF
  2476. // END IF
  2477. // NEXT
  2478. //
  2479. // IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  2480. // MessageBox('错误',arg_msg, StopSign!, OK! )
  2481. // RETURN
  2482. // END IF
  2483. //// MessageBox('提示','保存操作成功!')
  2484. // //write ini
  2485. // f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  2486. // f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()]))
  2487. // //
  2488. // long ll_row
  2489. // ll_row = dw_pageretr.getrow()
  2490. // dw_pageretr.SelectRow(0,FALSE)
  2491. // dw_pageretr.SelectRow(ll_row,TRUE)
  2492. //
  2493. // wf_refresh_curuc(cur_scid,uo_ware.inwareid) //刷新uc
  2494. //
  2495. //ELSE
  2496. // IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN
  2497. // MessageBox('错误',arg_msg, StopSign!, OK! )
  2498. // RETURN
  2499. // END IF
  2500. //END IF
  2501. //
  2502. //CALL SUPER::Clicked
  2503. ////read ini
  2504. //IF dw_edit_mode THEN
  2505. // PARENT.TriggerEvent("insert_childrow")
  2506. // dw_uc.SetRedraw(FALSE)
  2507. // String ls_storageid,ls_banktype
  2508. // ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  2509. // ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  2510. // IF f_find_storageid(ls_storageid) = '' THEN
  2511. // ls_storageid = '0'
  2512. // END IF
  2513. // dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  2514. // dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = Long(ls_banktype)
  2515. // dw_uc.SetColumn("storageid")
  2516. // dw_uc.SetRedraw(TRUE)
  2517. // cur_editfocus = 1
  2518. //
  2519. //// wf_lock_plancode(long(ls_storageid))
  2520. //ELSE
  2521. // PARENT.TriggerEvent("retrieve_childdw")
  2522. // cur_editfocus = 0
  2523. //END IF
  2524. ////
  2525. //
  2526. end event
  2527. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_buy_wareaudit
  2528. boolean visible = false
  2529. end type
  2530. event cb_edit::clicked;IF Not (f_power_ind(99) OR f_power_ind(372)) THEN
  2531. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2532. RETURN
  2533. END IF
  2534. String arg_msg = ''
  2535. Long uc_row,ll_storageid
  2536. uc_row = dw_pageretr.GetRow()
  2537. IF uc_row <= 0 THEN
  2538. MessageBox('系统提示','请选定当前目标单据!', Information!, OK! )
  2539. RETURN
  2540. END IF
  2541. ll_storageid = dw_pageretr.Object.storageid[uc_row]
  2542. IF NOT dw_edit_mode THEN
  2543. IF uo_ware.updatebegin(dw_pageretr.Object.u_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],1,arg_msg) = 0 THEN
  2544. MessageBox('Error!',arg_msg)
  2545. RETURN
  2546. END IF
  2547. this.triggerevent('ue_allowedit')
  2548. // wf_lock_plancode(ll_storageid)
  2549. END IF
  2550. CALL SUPER::Clicked
  2551. IF dw_edit_mode THEN
  2552. cur_editfocus = 2
  2553. ELSE
  2554. cur_editfocus = 0
  2555. END IF
  2556. end event
  2557. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_buy_wareaudit
  2558. boolean visible = false
  2559. end type
  2560. event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(592) OR f_power_ind(584)) THEN
  2561. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2562. RETURN
  2563. END IF
  2564. String arg_msg = ''
  2565. IF dw_edit_mode THEN RETURN
  2566. Long uc_row
  2567. uc_row = dw_pageretr.GetRow()
  2568. IF uc_row <= 0 THEN
  2569. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2570. RETURN
  2571. END IF
  2572. IF MessageBox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN
  2573. IF uo_ware.del(dw_pageretr.Object.u_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],arg_msg,TRUE) = 0 THEN
  2574. MessageBox('error!',arg_msg)
  2575. ELSE
  2576. //日志
  2577. Long ls_id
  2578. String ls_code
  2579. ls_id = dw_pageretr.Object.inwareid[uc_row]
  2580. ls_code = dw_pageretr.Object.inwarecode[uc_row]
  2581. f_setsysoplog('采购收货单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  2582. //--
  2583. MessageBox('提示','删除单据'+String(dw_pageretr.Object.inwarecode[uc_row])+'成功!', Information!, OK! )
  2584. dw_pageretr.DeleteRow(uc_row)
  2585. dw_pageretr.PostEvent(RowFocusChanged!)
  2586. END IF
  2587. end event
  2588. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_buy_wareaudit
  2589. integer x = 645
  2590. end type
  2591. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2592. String menustr
  2593. menustr = "Text=增加备注~tEvent=ue_addzy"
  2594. menustr = menustr + "|" + "Text=-"
  2595. menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  2596. menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  2597. menustr = menustr + "|" + "Text=-"
  2598. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  2599. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  2600. menustr = menustr + "|" + "Text=-"
  2601. menustr = menustr + "|" + "Text=辅助计算~tEvent=ue_cpml_qty"
  2602. menustr = menustr + "|" + "Text=辅助计算辅数~tEvent=ue_cmpl_addqty"
  2603. menustr = menustr + "|" + "Text=-"
  2604. menustr = menustr + "|" + "Text=修改结算方式~tEvent=ue_mod_banktype"
  2605. IF Len(Trim(menustr)) <> 0 THEN
  2606. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  2607. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  2608. dmPopupMenu.mf_PopMenu()
  2609. DESTROY dmPopupMenu
  2610. END IF
  2611. end event
  2612. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_inware_buy_wareaudit
  2613. integer x = 302
  2614. string text = "仓审&F"
  2615. end type
  2616. event cb_auditing::clicked;call super::clicked;
  2617. IF dw_edit_mode THEN RETURN
  2618. IF NOT KeyDown(KeyControl!) THEN
  2619. String arg_msg = ''
  2620. Long pagerert_row
  2621. pagerert_row = dw_pageretr.GetRow()
  2622. IF pagerert_row <= 0 THEN
  2623. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2624. RETURN
  2625. END IF
  2626. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  2627. IF wf_check_over(arg_msg) = 0 THEN
  2628. MessageBox('提示',arg_msg, Information!, OK!)
  2629. RETURN
  2630. END IF
  2631. IF uo_ware.getinfo(cur_scid,dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  2632. MessageBox('错误',arg_msg, StopSign!, OK! )
  2633. RETURN
  2634. END IF
  2635. IF Not (f_power_ind(66) OR f_power_ind(103) or f_power_ind(1311) ) THEN
  2636. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2637. RETURN
  2638. END IF
  2639. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  2640. MessageBox('错误',arg_msg, StopSign!, OK! )
  2641. ELSE
  2642. MessageBox('提示','仓库审核成功!', Information!, OK! )
  2643. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  2644. END IF
  2645. ELSE
  2646. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  2647. Long ll_i,ll_billid
  2648. Int li_flag,li_secflag
  2649. Long ll_suc,ll_fail
  2650. Int ll_flag,ll_secflag
  2651. dw_pageretr.AcceptText()
  2652. ll_flag = dw_pageretr.Object.flag[dw_pageretr.GetRow()]
  2653. ll_secflag = dw_pageretr.Object.u_inware_secflag[dw_pageretr.GetRow()]
  2654. Open(w_sys_wait_jdt) //初始化进度条
  2655. w_sys_wait_jdt.Show()
  2656. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  2657. IF Not (f_power_ind(66) OR f_power_ind(103)) THEN
  2658. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2659. RETURN
  2660. END IF
  2661. FOR ll_i = 1 TO dw_pageretr.RowCount()
  2662. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  2663. li_flag = dw_pageretr.Object.flag[ll_i]
  2664. IF li_flag = 1 THEN CONTINUE
  2665. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  2666. IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN
  2667. ll_fail++
  2668. CONTINUE
  2669. END IF
  2670. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  2671. ll_fail++
  2672. CONTINUE
  2673. END IF
  2674. ll_suc++
  2675. w_sys_wait_jdt.wf_inc(ll_i) //进度
  2676. NEXT
  2677. Close(w_sys_wait_jdt)
  2678. MessageBox('提示','仓库批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail), Information!, OK! )
  2679. PARENT.TriggerEvent('retrieve_pageretr')
  2680. END IF
  2681. end event
  2682. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_buy_wareaudit
  2683. boolean visible = false
  2684. end type
  2685. event cb_xm::clicked;is_mx_menustr = ''
  2686. is_mx_menustr = is_mx_menustr + "|" + "Text=仓审后修改单价~tEvent=ue_mod_price"
  2687. is_mx_menustr = is_mx_menustr + "|" + "Text=-"
  2688. is_mx_menustr = is_mx_menustr + "|" + "Text=批设定公式~tEvent=ue_p_formula_set"
  2689. is_mx_menustr = is_mx_menustr + "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty"
  2690. is_mx_menustr = is_mx_menustr + "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  2691. call super::clicked
  2692. end event
  2693. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_buy_wareaudit
  2694. end type
  2695. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_buy_wareaudit
  2696. integer x = 1280
  2697. end type
  2698. type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_buy_wareaudit
  2699. integer x = 1582
  2700. end type
  2701. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_buy_wareaudit
  2702. integer x = 494
  2703. string text = "仓撤"
  2704. end type
  2705. event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  2706. String ls_code,ls_opemp,ls_outpart
  2707. String arg_msg = ''
  2708. Long pagerert_row,ls_id
  2709. pagerert_row = dw_pageretr.GetRow()
  2710. IF pagerert_row <= 0 THEN
  2711. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2712. RETURN
  2713. END IF
  2714. IF MessageBox ("询问","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2715. IF uo_ware.getinfo(cur_scid,dw_pageretr.Object.inwareid [pagerert_row],arg_msg) = 0 THEN
  2716. MessageBox('错误',arg_msg)
  2717. RETURN
  2718. END IF
  2719. IF dw_pageretr.Object.flag[pagerert_row] = 1 AND dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
  2720. IF Not (f_power_ind(877) OR f_power_ind(878) or f_power_ind(1312)) THEN
  2721. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2722. RETURN
  2723. END IF
  2724. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  2725. MessageBox('错误',arg_msg, StopSign!, OK! )
  2726. ELSE
  2727. MessageBox('提示','撤审成功!', Information!, OK! )
  2728. //日志
  2729. ls_code = dw_pageretr.Object.inwarecode[pagerert_row]
  2730. ls_opemp = dw_pageretr.Object.u_inware_opemp[pagerert_row]
  2731. ls_outpart = dw_pageretr.Object.part[pagerert_row]
  2732. f_setsysoplog('采购收货单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  2733. //--
  2734. wf_refresh_curuc(cur_scid,dw_pageretr.Object.inwareid[pagerert_row])
  2735. END IF
  2736. END IF
  2737. end event
  2738. type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_buy_wareaudit
  2739. end type
  2740. type p_help from w_publ_1ton_share_detail`p_help within w_inware_buy_wareaudit
  2741. end type
  2742. type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_buy_wareaudit
  2743. end type
  2744. type p_other from w_publ_1ton_share_detail`p_other within w_inware_buy_wareaudit
  2745. end type
  2746. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_buy_wareaudit
  2747. end type
  2748. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_buy_wareaudit
  2749. end type
  2750. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_buy_wareaudit
  2751. end type
  2752. type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_buy_wareaudit
  2753. end type
  2754. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_buy_wareaudit
  2755. end type
  2756. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_buy_wareaudit
  2757. end type
  2758. type ddlb_scid from uo_ddlb_scid within w_inware_buy_wareaudit
  2759. integer x = 919
  2760. integer y = 192
  2761. integer width = 549
  2762. integer height = 1120
  2763. integer taborder = 20
  2764. boolean bringtotop = true
  2765. end type
  2766. event constructor;call super::constructor;cur_scid=this.uo_scid
  2767. end event
  2768. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  2769. parent.triggerevent("retrieve_pageretr")
  2770. end event
  2771. type ddlb_status from dropdownlistbox within w_inware_buy_wareaudit
  2772. integer x = 1650
  2773. integer y = 192
  2774. integer width = 549
  2775. integer height = 556
  2776. integer taborder = 30
  2777. boolean bringtotop = true
  2778. integer textsize = -9
  2779. integer weight = 400
  2780. fontcharset fontcharset = gb2312charset!
  2781. fontpitch fontpitch = variable!
  2782. string facename = "宋体"
  2783. long textcolor = 33554432
  2784. string text = "[全部]"
  2785. boolean sorted = false
  2786. string item[] = {"[全部]","待仓库审","已仓库审"}
  2787. borderstyle borderstyle = stylelowered!
  2788. end type
  2789. event selectionchanged;IF Index = 1 THEN
  2790. cur_flag = -1
  2791. ELSEIF Index = 2 THEN
  2792. cur_flag = 0
  2793. ELSEIF Index = 3 THEN
  2794. cur_flag = 1
  2795. END IF
  2796. PARENT.TriggerEvent('retrieve_pageretr')
  2797. end event
  2798. type st_3 from statictext within w_inware_buy_wareaudit
  2799. integer x = 1481
  2800. integer y = 212
  2801. integer width = 192
  2802. integer height = 48
  2803. integer textsize = -9
  2804. integer weight = 400
  2805. fontcharset fontcharset = gb2312charset!
  2806. fontpitch fontpitch = variable!
  2807. string facename = "宋体"
  2808. long textcolor = 33554432
  2809. long backcolor = 134217739
  2810. string text = "状 态"
  2811. boolean focusrectangle = false
  2812. end type
  2813. type st_2 from statictext within w_inware_buy_wareaudit
  2814. integer x = 741
  2815. integer y = 212
  2816. integer width = 192
  2817. integer height = 48
  2818. integer textsize = -9
  2819. integer weight = 400
  2820. fontcharset fontcharset = gb2312charset!
  2821. fontpitch fontpitch = variable!
  2822. string facename = "宋体"
  2823. long textcolor = 33554432
  2824. long backcolor = 134217739
  2825. string text = "分 部"
  2826. boolean focusrectangle = false
  2827. end type