w_order_wfjg.srw 135 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901
  1. $PBExportHeader$w_order_wfjg.srw
  2. forward
  3. global type w_order_wfjg from w_publ_1ton_share_detail
  4. end type
  5. type st_13 from statictext within w_order_wfjg
  6. end type
  7. type st_2 from statictext within w_order_wfjg
  8. end type
  9. type ddlb_scid from uo_ddlb_scid within w_order_wfjg
  10. end type
  11. type tab_1 from tab within w_order_wfjg
  12. end type
  13. type tabpage_1 from userobject within tab_1
  14. end type
  15. type dw_1 from u_dw_rbtnfilter within tabpage_1
  16. end type
  17. type tabpage_1 from userobject within tab_1
  18. dw_1 dw_1
  19. end type
  20. type tabpage_2 from userobject within tab_1
  21. end type
  22. type dw_2 from u_dw_rbtnfilter within tabpage_2
  23. end type
  24. type tabpage_2 from userobject within tab_1
  25. dw_2 dw_2
  26. end type
  27. type tab_1 from tab within w_order_wfjg
  28. tabpage_1 tabpage_1
  29. tabpage_2 tabpage_2
  30. end type
  31. type st_3 from statictext within w_order_wfjg
  32. end type
  33. type em_1 from editmask within w_order_wfjg
  34. end type
  35. type cbx_autocmpl from checkbox within w_order_wfjg
  36. end type
  37. type cb_in_2_out from uo_imflatbutton within w_order_wfjg
  38. end type
  39. type ddlb_retrstatus from uo_ddlb_status within w_order_wfjg
  40. end type
  41. type cb_in from uo_imflatbutton within w_order_wfjg
  42. end type
  43. type cb_out from uo_imflatbutton within w_order_wfjg
  44. end type
  45. end forward
  46. global type w_order_wfjg from w_publ_1ton_share_detail
  47. integer width = 3689
  48. integer height = 2580
  49. string title = "外协订单"
  50. boolean maxbox = true
  51. windowstate windowstate = maximized!
  52. event insert_childrow ( )
  53. event insert_childrow_out ( )
  54. event ue_cmpmx ( )
  55. event ue_tempstoptask ( )
  56. event ue_stopsaletask ( )
  57. event ue_finishtask ( )
  58. event ue_ctempstoptask ( )
  59. event ue_fj_edit ( )
  60. event ue_fj_view ( )
  61. event ue_cfinishtask ( )
  62. event ue_p_storageid_in ( )
  63. event ue_p_storageid_out ( )
  64. event ue_p_rqdate ( )
  65. event ue_p_jgdscrp ( )
  66. event ue_cmp_qty ( )
  67. event ue_cmp_uqty ( )
  68. event ue_allowedit_in ( )
  69. event ue_allowedit_out ( )
  70. event ue_cstopmx ( )
  71. event ue_stopmx ( )
  72. event ue_stopmx1 ( )
  73. event ue_cstopmx1 ( )
  74. event ue_create_wfjg_out ( )
  75. event ue_f13 ( )
  76. event ue_ch_banktype ( )
  77. st_13 st_13
  78. st_2 st_2
  79. ddlb_scid ddlb_scid
  80. tab_1 tab_1
  81. st_3 st_3
  82. em_1 em_1
  83. cbx_autocmpl cbx_autocmpl
  84. cb_in_2_out cb_in_2_out
  85. ddlb_retrstatus ddlb_retrstatus
  86. cb_in cb_in
  87. cb_out cb_out
  88. end type
  89. global w_order_wfjg w_order_wfjg
  90. type variables
  91. Int cur_status = 0
  92. uo_order_wfjg uo_wfjg
  93. uo_spt_price uo_sptprice
  94. Int cur_flag = -1
  95. Long cur_scid
  96. //datawindow dw_in,dw_out
  97. long child_column_int_out
  98. datastore ds_copy_in,ds_copy_out
  99. u_dw_rbtnfilter dw_in,dw_out
  100. end variables
  101. forward prototypes
  102. public function integer wf_statusbtn_fc ()
  103. public subroutine wf_autoaddmx (long arg_mtrlid[], decimal arg_qty[])
  104. public function integer wf_refresh_curuc (long arg_scid, long arg_wfjgid)
  105. public function integer wf_lock_child ()
  106. public function integer wf_copy (ref string arg_msg)
  107. public function integer wf_paste (ref string arg_msg)
  108. public subroutine wf_check_billfj ()
  109. 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)
  110. public function integer wf_in_to_out (ref string arg_msg)
  111. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  112. public function integer wf_refresh_interface ()
  113. end prototypes
  114. event insert_childrow();long li_row
  115. li_row=dw_in.insertrow(0)
  116. dw_in.scrolltorow(li_row)
  117. dw_in.object.u_order_wfjgmx_iforder[li_row] = sys_option_autoyes
  118. if li_row > 1 then
  119. dw_in.accepttext()
  120. dw_in.object.u_order_wfjgmx_storageid[li_row] = dw_in.object.u_order_wfjgmx_storageid[1]
  121. end if
  122. dw_in.SetColumn ('u_order_wfjgmx_iforder')
  123. end event
  124. event insert_childrow_out();long li_row
  125. li_row=dw_out.insertrow(0)
  126. dw_out.scrolltorow(li_row)
  127. dw_out.object.u_order_wfjgmx_out_iforder[li_row] = sys_option_autoyes
  128. if li_row > 1 then
  129. dw_out.accepttext()
  130. dw_out.object.u_order_wfjgmx_out_storageid[li_row] = dw_out.object.u_order_wfjgmx_out_storageid[1]
  131. end if
  132. dw_in.SetColumn ('u_order_wfjgmx_iforder')
  133. end event
  134. event ue_tempstoptask();IF dw_edit_mode THEN
  135. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  136. return
  137. END IF
  138. if not f_power_ind(43) then
  139. messagebox('提示','你没有使用权限!',information!,OK!)
  140. return
  141. end if
  142. string arg_msg=''
  143. long pagerert_row
  144. pagerert_row=dw_pageretr.getrow()
  145. if pagerert_row<=0 then
  146. messagebox('提示','请选定当前目标订单!',information!,OK!)
  147. return
  148. end if
  149. IF MessageBox ("询问","是否确定要对当前外加工计划作暂停操作吗?",Question!,YesNo! ) = 2 THEN RETURN
  150. if uo_wfjg.tempstoptask(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then
  151. messagebox('错误',arg_msg,stopsign!,OK!)
  152. ELSE
  153. messagebox('提示',"外加工计划作暂停操作成功!",information!,OK!)
  154. if cur_status <> -1 then
  155. dw_pageretr.deleterow(pagerert_row)
  156. else
  157. wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row])
  158. end if
  159. end if
  160. end event
  161. event ue_stopsaletask();IF dw_edit_mode THEN
  162. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  163. return
  164. END IF
  165. if not f_power_ind(44) then
  166. messagebox('提示','你没有使用权限!',information!,OK!)
  167. return
  168. end if
  169. string arg_msg=''
  170. long pagerert_row
  171. pagerert_row=dw_pageretr.getrow()
  172. if pagerert_row<=0 then
  173. messagebox('提示','请选定当前目标外加工计划!',information!,OK!)
  174. return
  175. end if
  176. IF MessageBox ("询问","是否确定要对当前外加工计划作终止吗? (终止后外加工计划将归档只读)",Question!,YesNo! ) = 2 THEN RETURN
  177. if uo_wfjg.stopbuytask(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then
  178. messagebox('错误',arg_msg,stopsign!,OK!)
  179. ELSE
  180. messagebox('提示','外加工计划终止操作成功!',information!,OK!)
  181. if cur_status <> -1 then
  182. dw_pageretr.deleterow(pagerert_row)
  183. else
  184. wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row])
  185. end if
  186. end if
  187. end event
  188. event ue_finishtask();IF dw_edit_mode THEN
  189. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  190. return
  191. END IF
  192. if not f_power_ind(981) then
  193. messagebox('提示','你没有使用权限!',information!,OK!)
  194. return
  195. end if
  196. string arg_msg=''
  197. long pagerert_row
  198. pagerert_row=dw_pageretr.getrow()
  199. if pagerert_row<=0 then
  200. messagebox('提示','请选定当前目标外加工计划!',information!,OK!)
  201. return
  202. end if
  203. IF MessageBox ("询问","是否确定要对当前外加工计划作完成吗? (完成后外加工计划将归档只读)",Question!,YesNo! ) = 2 THEN RETURN
  204. long ls_taskid
  205. int ls_status,ls_finishflag
  206. ls_taskid=dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row]
  207. ls_status=dw_pageretr.object.u_order_wfjg_status[pagerert_row]
  208. if ls_status = 6 then
  209. ls_finishflag = 1
  210. else
  211. ls_finishflag = 6
  212. end if
  213. if uo_wfjg.finishtask(ls_finishflag,dw_pageretr.object.u_order_wfjg_scid[pagerert_row],ls_taskid,arg_msg,true)=0 then
  214. messagebox('错误',arg_msg,stopsign!,OK!)
  215. else
  216. messagebox('提示','外加工计划完成操作成功!',information!,OK!)
  217. if cur_status <> -1 then
  218. dw_pageretr.deleterow(pagerert_row)
  219. else
  220. wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row])
  221. end if
  222. end if
  223. end event
  224. event ue_ctempstoptask();IF dw_edit_mode THEN
  225. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  226. return
  227. END IF
  228. if not f_power_ind(43) then
  229. messagebox('提示','你没有使用权限!',information!,OK!)
  230. return
  231. end if
  232. string arg_msg=''
  233. long pagerert_row
  234. pagerert_row=dw_pageretr.getrow()
  235. if pagerert_row<=0 then
  236. messagebox('提示','请选定当前目标订单!',information!,OK!)
  237. return
  238. end if
  239. IF MessageBox ("询问","是否确定要对当前外加工计划作取消暂停操作吗?",Question!,YesNo! ) = 2 THEN RETURN
  240. if uo_wfjg.tempstoptask(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then
  241. messagebox('错误',arg_msg,stopsign!,OK!)
  242. ELSE
  243. messagebox('提示',"外加工计划作取消暂停操作成功!",information!,OK!)
  244. if cur_status <> -1 then
  245. dw_pageretr.deleterow(pagerert_row)
  246. else
  247. wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row])
  248. end if
  249. end if
  250. end event
  251. event ue_fj_edit();IF dw_edit_mode THEN
  252. MessageBox('提示','编辑状态下不可用',information!,OK!)
  253. RETURN
  254. END IF
  255. //IF NOT f_power_ind(1446) THEN
  256. // MessageBox(publ_operator,'你没有使用权限!')
  257. // RETURN
  258. //END IF
  259. s_edit_index_tran s_pic
  260. Long ll_ConnectionID
  261. String arg_msg
  262. Long ls_row
  263. ls_row = dw_uc.GetRow()
  264. IF ls_row <= 0 THEN
  265. RETURN
  266. END IF
  267. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  268. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  269. RETURN
  270. END IF
  271. s_pic.f_long = 213 //外协订单的mainID
  272. s_pic.f_string = dw_uc.Object.u_order_wfjg_taskcode[ls_row]
  273. s_pic.g_long = dw_uc.Object.u_order_wfjg_wfjgid[ls_row]
  274. s_pic.e_long = dw_uc.Object.u_order_wfjg_scid[ls_row]
  275. s_pic.sqltransaction = sys_filedb_sqlca
  276. OpenWithParm(w_fj_bill_mng,s_pic)
  277. //wf_check_billfj()
  278. end event
  279. event ue_fj_view();IF dw_edit_mode THEN
  280. MessageBox('提示','编辑状态下不可用',information!,OK!)
  281. RETURN
  282. END IF
  283. s_edit_index_tran s_pic
  284. Long ll_ConnectionID
  285. String arg_msg
  286. Long ls_row
  287. ls_row = dw_uc.GetRow()
  288. IF ls_row <= 0 THEN
  289. RETURN
  290. END IF
  291. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  292. MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!)
  293. RETURN
  294. END IF
  295. s_pic.f_long = 213 //外协订单的mainID
  296. s_pic.f_string = dw_uc.Object.u_order_wfjg_taskcode[ls_row]
  297. s_pic.g_long = dw_uc.Object.u_order_wfjg_wfjgid[ls_row]
  298. s_pic.e_long = dw_uc.Object.u_order_wfjg_scid[ls_row]
  299. s_pic.sqltransaction = sys_filedb_sqlca
  300. OpenWithParm(w_fj_bill_view,s_pic)
  301. end event
  302. event ue_cfinishtask();IF dw_edit_mode THEN
  303. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  304. RETURN
  305. END IF
  306. IF NOT f_power_ind(982) THEN
  307. MessageBox('提示','你没有使用权限!',information!,OK!)
  308. RETURN
  309. END IF
  310. String arg_msg = ''
  311. Long pagerert_row
  312. pagerert_row = dw_pageretr.GetRow()
  313. IF pagerert_row <= 0 THEN
  314. MessageBox('提示','请选定当前目标外加工计划!',information!,OK!)
  315. RETURN
  316. END IF
  317. IF MessageBox ("询问","是否确定要对当前外加工计划作取消完成吗? ",Question!,YesNo! ) = 2 THEN RETURN
  318. Long ls_taskid
  319. Int ls_status,ls_finishflag
  320. ls_taskid = dw_pageretr.Object.u_order_wfjg_wfjgid[pagerert_row]
  321. ls_status = dw_pageretr.Object.u_order_wfjg_status[pagerert_row]
  322. IF ls_status = 6 THEN
  323. ls_finishflag = 1
  324. ELSE
  325. ls_finishflag = 6
  326. END IF
  327. IF uo_wfjg.finishtask(ls_finishflag,dw_pageretr.Object.u_order_wfjg_scid[pagerert_row],ls_taskid,arg_msg,TRUE) = 0 THEN
  328. MessageBox('错误',arg_msg,stopsign!,OK!)
  329. ELSE
  330. MessageBox('提示','外加工计划取消完成操作成功!',information!,OK!)
  331. IF cur_status <> -1 THEN
  332. dw_pageretr.DeleteRow(pagerert_row)
  333. ELSE
  334. wf_refresh_curuc(dw_pageretr.Object.u_order_wfjg_scid[pagerert_row],dw_pageretr.Object.u_order_wfjg_wfjgid[pagerert_row])
  335. END IF
  336. END IF
  337. end event
  338. event ue_p_storageid_in();IF not dw_edit_mode THEN
  339. MessageBox('提示','非编辑状态下不可用',information!,OK!)
  340. RETURN
  341. END IF
  342. Long ll_i
  343. dw_in.AcceptText()
  344. IF dw_in.RowCount() = 0 THEN RETURN
  345. FOR ll_i = 1 TO dw_in.RowCount()
  346. IF ll_i = 1 THEN CONTINUE
  347. IF dw_in.Object.u_order_wfjgmx_storageid[ll_i] = 0 THEN
  348. dw_in.Object.u_order_wfjgmx_storageid[ll_i] = dw_in.Object.u_order_wfjgmx_storageid[1]
  349. END IF
  350. NEXT
  351. end event
  352. event ue_p_storageid_out();IF not dw_edit_mode THEN
  353. MessageBox('提示','非编辑状态下不可用',information!,OK!)
  354. RETURN
  355. END IF
  356. Long ll_i
  357. dw_out.AcceptText()
  358. IF dw_out.RowCount() = 0 THEN RETURN
  359. FOR ll_i = 1 TO dw_out.RowCount()
  360. IF ll_i = 1 THEN CONTINUE
  361. IF dw_out.Object.u_order_wfjgmx_out_storageid[ll_i] = 0 THEN
  362. dw_out.Object.u_order_wfjgmx_out_storageid[ll_i] = dw_out.Object.u_order_wfjgmx_out_storageid[1]
  363. END IF
  364. NEXT
  365. end event
  366. event ue_p_rqdate();IF NOT dw_edit_mode THEN
  367. MessageBox('提示','非编辑状态下不可用',information!,OK!)
  368. RETURN
  369. END IF
  370. Long ll_i
  371. dw_in.AcceptText()
  372. IF dw_in.RowCount() = 0 THEN RETURN
  373. FOR ll_i = 1 TO dw_in.RowCount()
  374. IF ll_i = 1 THEN CONTINUE
  375. dw_in.Object.u_order_wfjgmx_requiredate[ll_i] = dw_in.Object.u_order_wfjgmx_requiredate[1]
  376. NEXT
  377. end event
  378. event ue_p_jgdscrp();IF NOT dw_edit_mode THEN
  379. MessageBox('提示','非编辑状态下不可用',information!,OK!)
  380. RETURN
  381. END IF
  382. Long ll_i
  383. dw_in.AcceptText()
  384. IF dw_in.RowCount() = 0 THEN RETURN
  385. FOR ll_i = 1 TO dw_in.RowCount()
  386. IF ll_i = 1 THEN CONTINUE
  387. dw_in.Object.u_order_wfjgmx_jgdscrp[ll_i] = dw_in.Object.u_order_wfjgmx_jgdscrp[1]
  388. NEXT
  389. end event
  390. event ue_cmp_qty();IF NOT dw_edit_mode THEN RETURN
  391. Long ll_i
  392. dw_in.accepttext()
  393. dw_out.accepttext()
  394. dw_in.SetRedraw(FALSE)
  395. FOR ll_i = 1 TO dw_in.RowCount()
  396. IF dw_in.Object.u_order_wfjgmx_uqty[ll_i] > 0 AND dw_in.Object.u_order_wfjgmx_rate[ll_i] > 0 THEN
  397. dw_in.Object.u_order_wfjgmx_qty[ll_i] = round(dw_in.Object.u_order_wfjgmx_uqty[ll_i] * dw_in.Object.u_order_wfjgmx_rate[ll_i],sys_option_unit_dec)
  398. END IF
  399. NEXT
  400. dw_in.SetRedraw(TRUE)
  401. dw_out.SetRedraw(FALSE)
  402. FOR ll_i = 1 TO dw_out.RowCount()
  403. IF dw_out.Object.u_order_wfjgmx_out_uqty[ll_i] > 0 AND dw_out.Object.u_order_wfjgmx_out_rate[ll_i] > 0 THEN
  404. dw_out.Object.u_order_wfjgmx_out_qty[ll_i] = round(dw_out.Object.u_order_wfjgmx_out_uqty[ll_i] * dw_out.Object.u_order_wfjgmx_out_rate[ll_i],sys_option_unit_dec)
  405. END IF
  406. NEXT
  407. dw_out.SetRedraw(TRUE)
  408. end event
  409. event ue_cmp_uqty();IF NOT dw_edit_mode THEN RETURN
  410. Long ll_i
  411. dw_in.accepttext()
  412. dw_out.accepttext()
  413. dw_in.SetRedraw(FALSE)
  414. FOR ll_i = 1 TO dw_in.RowCount()
  415. IF dw_in.Object.u_order_wfjgmx_qty[ll_i] > 0 AND dw_in.Object.u_order_wfjgmx_rate[ll_i] > 0 THEN
  416. dw_in.Object.u_order_wfjgmx_uqty[ll_i] = round(dw_in.Object.u_order_wfjgmx_qty[ll_i] / dw_in.Object.u_order_wfjgmx_rate[ll_i],sys_option_unit_dec)
  417. END IF
  418. NEXT
  419. dw_in.SetRedraw(TRUE)
  420. dw_out.SetRedraw(FALSE)
  421. FOR ll_i = 1 TO dw_out.RowCount()
  422. IF dw_out.Object.u_order_wfjgmx_out_qty[ll_i] > 0 AND dw_out.Object.u_order_wfjgmx_out_rate[ll_i] > 0 THEN
  423. dw_out.Object.u_order_wfjgmx_out_uqty[ll_i] = round(dw_out.Object.u_order_wfjgmx_out_qty[ll_i] / dw_out.Object.u_order_wfjgmx_out_rate[ll_i],sys_option_unit_dec)
  424. END IF
  425. NEXT
  426. dw_out.SetRedraw(TRUE)
  427. end event
  428. event ue_allowedit_in();Long Columns
  429. Int i
  430. String ls_modify_str
  431. Long ll_row
  432. Long ll_value
  433. Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  434. String ls_status,ls_woodcode,ls_pcode
  435. String ls_data_type
  436. ll_row = dw_in.GetRow()
  437. IF ll_row <= 0 THEN RETURN
  438. Columns = Long(dw_in.Describe("DataWindow.Column.Count"))
  439. FOR i = 1 TO Columns
  440. ls_modify_str = dw_in.Describe("#" + String(i) + ".name")
  441. ls_modify_str = Lower(ls_modify_str)
  442. IF i = 1 THEN //第1个字段,约定物料ID
  443. ls_data_type = dw_in.Describe(ls_modify_str+".ColType")
  444. IF ls_data_type = "long" THEN
  445. ll_value = dw_in.GetItemNumber(ll_row,ls_modify_str)
  446. END IF
  447. END IF
  448. IF Pos(ls_modify_str,'statusflag') > 0 THEN
  449. ls_data_type = dw_in.Describe(ls_modify_str+".ColType")
  450. IF ls_data_type = "long" THEN
  451. ll_statusflag = dw_in.GetItemNumber(ll_row,ls_modify_str)
  452. END IF
  453. END IF
  454. IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
  455. ls_data_type = dw_in.Describe(ls_modify_str+".ColType")
  456. IF ls_data_type = "long" THEN
  457. ll_woodcodeflag = dw_in.GetItemNumber(ll_row,ls_modify_str)
  458. END IF
  459. END IF
  460. IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
  461. ls_data_type = dw_in.Describe(ls_modify_str+".ColType")
  462. IF ls_data_type = "long" THEN
  463. ll_pcodeflag = dw_in.GetItemNumber(ll_row,ls_modify_str)
  464. END IF
  465. END IF
  466. IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN
  467. IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN
  468. IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR &
  469. Pos(ls_modify_str,'u_buytask_status') > 0 OR &
  470. Pos(ls_modify_str,'u_order_ml_status') > 0 OR &
  471. Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR &
  472. Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN
  473. ls_status = ls_modify_str
  474. END IF
  475. END IF
  476. END IF
  477. IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN
  478. IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN
  479. ls_woodcode = ls_modify_str
  480. END IF
  481. END IF
  482. IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN
  483. IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN
  484. ls_pcode = ls_modify_str
  485. END IF
  486. END IF
  487. NEXT
  488. IF ls_status <> '' THEN
  489. IF ll_statusflag <> 0 OR ll_value = 0 THEN
  490. dw_in.Modify(ls_status+".dddw.allowedit = no")
  491. ELSE
  492. dw_in.Modify(ls_status+".dddw.allowedit = yes")
  493. END IF
  494. END IF
  495. IF ls_woodcode <> '' THEN
  496. IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN
  497. dw_in.Modify(ls_woodcode+".dddw.allowedit = no")
  498. ELSE
  499. dw_in.Modify(ls_woodcode+".dddw.allowedit = yes")
  500. END IF
  501. END IF
  502. IF ls_pcode <> '' THEN
  503. IF ll_pcodeflag <> 0 OR ll_value = 0 THEN
  504. dw_in.Modify(ls_pcode+".dddw.allowedit = no")
  505. ELSE
  506. dw_in.Modify(ls_pcode+".dddw.allowedit = yes")
  507. END IF
  508. END IF
  509. end event
  510. event ue_allowedit_out();Long Columns
  511. Int i
  512. String ls_modify_str
  513. Long ll_row
  514. Long ll_value
  515. Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  516. String ls_status,ls_woodcode,ls_pcode
  517. String ls_data_type
  518. ll_row = dw_out.GetRow()
  519. IF ll_row <= 0 THEN RETURN
  520. Columns = Long(dw_out.Describe("DataWindow.Column.Count"))
  521. FOR i = 1 TO Columns
  522. ls_modify_str = dw_out.Describe("#" + String(i) + ".name")
  523. ls_modify_str = Lower(ls_modify_str)
  524. IF i = 1 THEN //第1个字段,约定物料ID
  525. ls_data_type = dw_out.Describe(ls_modify_str+".ColType")
  526. IF ls_data_type = "long" THEN
  527. ll_value = dw_out.GetItemNumber(ll_row,ls_modify_str)
  528. END IF
  529. END IF
  530. IF Pos(ls_modify_str,'statusflag') > 0 THEN
  531. ls_data_type = dw_out.Describe(ls_modify_str+".ColType")
  532. IF ls_data_type = "long" THEN
  533. ll_statusflag = dw_out.GetItemNumber(ll_row,ls_modify_str)
  534. END IF
  535. END IF
  536. IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
  537. ls_data_type = dw_out.Describe(ls_modify_str+".ColType")
  538. IF ls_data_type = "long" THEN
  539. ll_woodcodeflag = dw_out.GetItemNumber(ll_row,ls_modify_str)
  540. END IF
  541. END IF
  542. IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
  543. ls_data_type = dw_out.Describe(ls_modify_str+".ColType")
  544. IF ls_data_type = "long" THEN
  545. ll_pcodeflag = dw_out.GetItemNumber(ll_row,ls_modify_str)
  546. END IF
  547. END IF
  548. IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN
  549. IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN
  550. IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR &
  551. Pos(ls_modify_str,'u_buytask_status') > 0 OR &
  552. Pos(ls_modify_str,'u_order_ml_status') > 0 OR &
  553. Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR &
  554. Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN
  555. ls_status = ls_modify_str
  556. END IF
  557. END IF
  558. END IF
  559. IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN
  560. IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN
  561. ls_woodcode = ls_modify_str
  562. END IF
  563. END IF
  564. IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN
  565. IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN
  566. ls_pcode = ls_modify_str
  567. END IF
  568. END IF
  569. NEXT
  570. IF ls_status <> '' THEN
  571. IF ll_statusflag <> 0 OR ll_value = 0 THEN
  572. dw_out.Modify(ls_status+".dddw.allowedit = no")
  573. ELSE
  574. dw_out.Modify(ls_status+".dddw.allowedit = yes")
  575. END IF
  576. END IF
  577. IF ls_woodcode <> '' THEN
  578. IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN
  579. dw_out.Modify(ls_woodcode+".dddw.allowedit = no")
  580. ELSE
  581. dw_out.Modify(ls_woodcode+".dddw.allowedit = yes")
  582. END IF
  583. END IF
  584. IF ls_pcode <> '' THEN
  585. IF ll_pcodeflag <> 0 OR ll_value = 0 THEN
  586. dw_out.Modify(ls_pcode+".dddw.allowedit = no")
  587. ELSE
  588. dw_out.Modify(ls_pcode+".dddw.allowedit = yes")
  589. END IF
  590. END IF
  591. end event
  592. event ue_cstopmx();IF NOT f_power_ind(1386) THEN
  593. MessageBox('提示','你没有使用权限!', Information!, OK! )
  594. RETURN
  595. END IF
  596. IF dw_edit_mode THEN RETURN
  597. IF NOT KeyDown(KeyControl!) THEN
  598. IF MessageBox ("询问","是否确定要取消中止当前明细吗?",Question!,YesNo! ) = 2 THEN RETURN
  599. END IF
  600. String arg_msg = ''
  601. Long childrow,uc_row
  602. uc_row = dw_pageretr.GetRow()
  603. IF uc_row <= 0 THEN
  604. MessageBox('提示','请选定当前目标订单!', Information!, OK! )
  605. RETURN
  606. END IF
  607. childrow = dw_in.GetRow()
  608. IF childrow <= 0 THEN
  609. MessageBox('提示','请选定当前明细物料!', Information!, OK! )
  610. RETURN
  611. END IF
  612. Long ll_scid,ll_taskid,ll_printid
  613. string ls_mtrlcode
  614. ll_scid = dw_pageretr.object.u_order_wfjg_scid[uc_row]
  615. ll_taskid = dw_pageretr.object.u_order_wfjg_wfjgid[uc_row]
  616. ll_printid = dw_in.object.u_order_wfjgmx_printid[childrow]
  617. ls_mtrlcode = dw_in.object.u_mtrldef_mtrlcode[childrow]
  618. if uo_wfjg.stopmx(ll_scid,ll_taskid,ll_printid,ls_mtrlcode,0,'',0,arg_msg,true)=0 then
  619. messagebox('Error!',arg_msg)
  620. ELSE
  621. //日志
  622. long ls_id
  623. string ls_code
  624. ls_id=dw_pageretr.object.u_order_wfjg_wfjgid[uc_row]
  625. ls_code=dw_pageretr.object.u_order_wfjg_taskcode[uc_row]
  626. f_setsysoplog('外协订单','外协订单收货明细取消中止,id:'+string(ls_id)+',单号:'+ls_code+',物料:'+ls_mtrlcode,arg_msg,true)
  627. //--
  628. MESSAGEBOX('提示','取消中止单据明细'+ls_mtrlcode+'成功!', Information!, OK! )
  629. this.TriggerEvent("retrieve_childdw")
  630. end if
  631. end event
  632. event ue_stopmx();IF dw_edit_mode THEN
  633. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  634. RETURN
  635. END IF
  636. IF NOT f_power_ind(1386) THEN
  637. MessageBox('提示','你没有使用权限!', Information!, OK! )
  638. RETURN
  639. END IF
  640. String arg_msg = ''
  641. Long childrow,uc_row
  642. uc_row = dw_pageretr.GetRow()
  643. IF uc_row <= 0 THEN
  644. MessageBox('提示','请选定当前目标订单!', Information!, OK! )
  645. RETURN
  646. END IF
  647. childrow = dw_in.GetRow()
  648. IF childrow <= 0 THEN
  649. MessageBox('提示','请选定当前明细物料!', Information!, OK! )
  650. RETURN
  651. END IF
  652. IF MessageBox ("询问","是否确定要中止当前明细吗?",Question!,YesNo! ) = 2 THEN RETURN
  653. s_stopmx s_stop
  654. s_inputbox S_SREU
  655. S_SREU.Title = '请输入原因'
  656. S_SREU.OLD_TEXT = ''
  657. OpenWithParm(w_inputbox_stop,S_SREU)
  658. s_stop = Message.PowerObjectParm
  659. IF Trim(s_stop.stopreason) = '' OR IsNull(s_stop.stopreason) THEN
  660. MessageBox('提示','请输入中止原因!', Information!, OK! )
  661. RETURN
  662. END IF
  663. Long ll_scid,ll_taskid,ll_printid
  664. String ls_mtrlcode
  665. ll_scid = dw_pageretr.Object.u_order_wfjg_scid[uc_row]
  666. ll_taskid = dw_pageretr.Object.u_order_wfjg_wfjgid[uc_row]
  667. ll_printid = dw_in.Object.u_order_wfjgmx_printid[childrow]
  668. ls_mtrlcode = dw_in.Object.u_mtrldef_mtrlcode[childrow]
  669. IF uo_wfjg.stopmx(ll_scid,ll_taskid,ll_printid,ls_mtrlcode,1,s_stop.stopreason,s_stop.stopqty,arg_msg,TRUE) = 0 THEN
  670. MessageBox('Error!',arg_msg)
  671. ELSE
  672. //日志
  673. Long ls_id
  674. String ls_code
  675. ls_id = dw_pageretr.Object.u_order_wfjg_scid[uc_row]
  676. ls_code = dw_pageretr.Object.u_order_wfjg_taskcode[uc_row]
  677. f_setsysoplog('外协订单','外协订单收货明细中止,id:'+String(ls_id)+',单号:'+ls_code+',物料:'+ls_mtrlcode,arg_msg,TRUE)
  678. //--
  679. MessageBox('提示','中止单据收货明细'+ls_mtrlcode+'成功!', Information!, OK! )
  680. THIS.TriggerEvent("retrieve_childdw")
  681. IF uo_wfjg.trycmplbuytask(ll_scid,ll_taskid,arg_msg,TRUE) = 0 THEN
  682. MessageBox('Error!',arg_msg)
  683. ELSE
  684. wf_refresh_curuc(ll_scid,ll_taskid)
  685. END IF
  686. END IF
  687. end event
  688. event ue_stopmx1();IF dw_edit_mode THEN
  689. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  690. return
  691. END IF
  692. IF NOT f_power_ind(1387) THEN
  693. MessageBox('提示','你没有使用权限!', Information!, OK! )
  694. RETURN
  695. END IF
  696. String arg_msg = ''
  697. Long childrow,uc_row
  698. uc_row = dw_pageretr.GetRow()
  699. IF uc_row <= 0 THEN
  700. MessageBox('提示','请选定当前目标订单!', Information!, OK! )
  701. RETURN
  702. END IF
  703. childrow = dw_out.GetRow()
  704. IF childrow <= 0 THEN
  705. MessageBox('提示','请选定当前明细物料!', Information!, OK! )
  706. RETURN
  707. END IF
  708. IF MessageBox ("询问","是否确定要中止当前明细吗?",Question!,YesNo! ) = 2 THEN RETURN
  709. s_stopmx s_stop
  710. s_inputbox S_SREU
  711. S_SREU.Title = '请输入原因'
  712. S_SREU.OLD_TEXT = ''
  713. OpenWithParm(w_inputbox_stop,S_SREU)
  714. s_stop = Message.PowerObjectParm
  715. IF Trim(s_stop.stopreason) = '' OR IsNull(s_stop.stopreason) THEN
  716. MessageBox('提示','请输入中止原因!', Information!, OK! )
  717. RETURN
  718. END IF
  719. Long ll_scid,ll_taskid,ll_printid
  720. String ls_mtrlcode
  721. ll_scid = dw_pageretr.object.u_order_wfjg_scid[uc_row]
  722. ll_taskid = dw_pageretr.object.u_order_wfjg_wfjgid[uc_row]
  723. ll_printid = dw_out.object.u_order_wfjgmx_out_printid[childrow]
  724. ls_mtrlcode = dw_out.object.u_mtrldef_mtrlcode[childrow]
  725. IF uo_wfjg.stopmx1(ll_scid,ll_taskid,ll_printid,ls_mtrlcode,1,s_stop.stopreason,s_stop.stopqty,arg_msg,TRUE) = 0 THEN
  726. MessageBox('Error!',arg_msg)
  727. ELSE
  728. //日志
  729. Long ls_id
  730. String ls_code
  731. ls_id = dw_pageretr.Object.u_order_wfjg_scid[uc_row]
  732. ls_code = dw_pageretr.Object.u_order_wfjg_taskcode[uc_row]
  733. f_setsysoplog('外协订单','外协订单发出明细中止,id:'+String(ls_id)+',单号:'+ls_code+',物料:'+ls_mtrlcode,arg_msg,TRUE)
  734. //--
  735. MessageBox('提示','中止单据发出明细'+ls_mtrlcode+'成功!', Information!, OK! )
  736. this.TriggerEvent("retrieve_childdw")
  737. END IF
  738. end event
  739. event ue_cstopmx1();IF NOT f_power_ind(1387) THEN
  740. MessageBox('提示','你没有使用权限!', Information!, OK! )
  741. RETURN
  742. END IF
  743. IF dw_edit_mode THEN RETURN
  744. IF NOT KeyDown(KeyControl!) THEN
  745. IF MessageBox ("询问","是否确定要取消中止当前明细吗?",Question!,YesNo! ) = 2 THEN RETURN
  746. END IF
  747. String arg_msg = ''
  748. Long childrow,uc_row
  749. uc_row = dw_pageretr.GetRow()
  750. IF uc_row <= 0 THEN
  751. MessageBox('提示','请选定当前目标订单!', Information!, OK! )
  752. RETURN
  753. END IF
  754. childrow = dw_out.GetRow()
  755. IF childrow <= 0 THEN
  756. MessageBox('提示','请选定当前明细物料!', Information!, OK! )
  757. RETURN
  758. END IF
  759. Long ll_scid,ll_taskid,ll_printid
  760. string ls_mtrlcode
  761. ll_scid = dw_pageretr.object.u_order_wfjg_scid[uc_row]
  762. ll_taskid = dw_pageretr.object.u_order_wfjg_wfjgid[uc_row]
  763. ll_printid = dw_out.object.u_order_wfjgmx_out_printid[childrow]
  764. ls_mtrlcode = dw_out.object.u_mtrldef_mtrlcode[childrow]
  765. if uo_wfjg.stopmx1(ll_scid,ll_taskid,ll_printid,ls_mtrlcode,0,'',0,arg_msg,true)=0 then
  766. messagebox('Error!',arg_msg)
  767. ELSE
  768. //日志
  769. long ls_id
  770. string ls_code
  771. ls_id=dw_pageretr.object.u_order_wfjg_wfjgid[uc_row]
  772. ls_code=dw_pageretr.object.u_order_wfjg_taskcode[uc_row]
  773. f_setsysoplog('外协订单','外协订单发出明细取消中止,id:'+string(ls_id)+',单号:'+ls_code+',物料:'+ls_mtrlcode,arg_msg,true)
  774. //--
  775. MESSAGEBOX('提示','取消中止单据发出明细'+ls_mtrlcode+'成功!', Information!, OK! )
  776. this.TriggerEvent("retrieve_childdw")
  777. end if
  778. end event
  779. event ue_create_wfjg_out();//辅助生成外协发出单
  780. Int rslt = 1
  781. String arg_msg
  782. Long ll_row, i
  783. Long ll_mtrlwareid
  784. String ls_outwarecode
  785. Long ll_mtrlid , ll_storageid, ll_scid
  786. String ls_status, ls_woodcode, ls_pcode
  787. uo_outware_wfjg uo_ware
  788. uo_ware = CREATE uo_outware_wfjg
  789. uo_ware.commit_transaction = sqlca
  790. ll_row = dw_pageretr.GetRow()
  791. IF ll_row <= 0 THEN
  792. rslt = 0
  793. arg_msg = "请选择外协订单"
  794. GOTO ext
  795. END IF
  796. ll_scid = dw_pageretr.Object.u_order_wfjg_scid[ll_row]
  797. //初始化新建
  798. IF uo_ware.newbegin(ll_scid,4,arg_msg) = 0 THEN
  799. rslt = 0
  800. arg_msg = "请选择外协订单"
  801. GOTO ext
  802. END IF
  803. //初始化主表参数
  804. uo_ware.outdate = dw_pageretr.Object.u_order_wfjg_requiredate[ll_row]
  805. uo_ware.outrep = dw_pageretr.Object.u_order_wfjg_assign_emp[ll_row]
  806. uo_ware.dscrp = "外协订单辅助生成"
  807. uo_ware.sptid = dw_pageretr.Object.u_order_wfjg_sptid[ll_row]
  808. uo_ware.part = dw_pageretr.Object.u_order_wfjg_taskcode[ll_row]
  809. //初始化明细表参数
  810. FOR i = 1 TO dw_out.RowCount()
  811. ll_mtrlid = dw_out.Object.u_order_wfjgmx_out_mtrlid[i]
  812. ll_storageid = dw_out.Object.u_order_wfjgmx_out_storageid[i]
  813. ls_status = dw_out.Object.u_order_wfjgmx_out_status[i]
  814. ls_woodcode = dw_out.Object.u_order_wfjgmx_out_woodcode[i]
  815. ls_pcode = dw_out.Object.u_order_wfjgmx_out_pcode[i]
  816. SELECT mtrlwareid
  817. INTO :ll_mtrlwareid
  818. FROM u_mtrlware
  819. WHERE storageid = :ll_storageid
  820. AND mtrlid = :ll_mtrlid
  821. AND status = :ls_status
  822. AND woodcode = :ls_woodcode
  823. AND pcode = :ls_pcode;
  824. IF sqlca.SQLCode <> 0 THEN
  825. rslt = 0
  826. arg_msg = "行:"+String(i)+",查询对应的库存记录失败,"+sqlca.SQLErrText
  827. GOTO ext
  828. END IF
  829. //查找库存
  830. IF ll_mtrlwareid = 0 OR IsNull(ll_mtrlwareid) THEN
  831. rslt = 0
  832. arg_msg = "行:"+String(i)+",不存在对应的库存记录"
  833. GOTO ext
  834. END IF
  835. IF uo_ware.acceptmx(ll_mtrlwareid,&
  836. dw_out.Object.u_order_wfjgmx_out_qty[i],&
  837. dw_out.Object.u_mtrldef_unit[i],&
  838. dw_out.Object.u_order_wfjgmx_out_qty[i],&
  839. dw_out.Object.u_order_wfjgmx_out_dscrp[i],&
  840. dw_out.Object.pid[i],&
  841. arg_msg,&
  842. 1,&
  843. dw_out.Object.u_order_wfjgmx_out_wfjgid[i],&
  844. dw_out.Object.u_order_wfjgmx_out_printid[i],&
  845. 1,&
  846. 0,&
  847. '',&
  848. dw_out.Object.u_order_wfjgmx_out_dscrp2[i]) = 0 THEN
  849. rslt = 0
  850. GOTO ext
  851. END IF
  852. NEXT
  853. //保存单据
  854. IF uo_ware.Save(FALSE,arg_msg) = 0 THEN
  855. rslt = 0
  856. GOTO ext
  857. END IF
  858. ls_outwarecode = uo_ware.outwarecode
  859. ////审核单据
  860. //IF uo_ware.getinfo(ll_scid,uo_ware.outwareid,arg_msg) = 0 THEN
  861. // rslt = 0
  862. // GOTO ext
  863. //END IF
  864. //
  865. //IF uo_ware.auditing(false,arg_msg) = 0 THEN
  866. // rslt = 0
  867. // GOTO ext
  868. //END IF
  869. ext:
  870. DESTROY uo_ware
  871. IF rslt = 0 THEN
  872. ROLLBACK;
  873. MessageBox('错误',arg_msg,stopsign!,OK!)
  874. ELSE
  875. COMMIT;
  876. MessageBox('成功',"生成外协发出单成功,单号["+ls_outwarecode+"]")
  877. END IF
  878. RETURN
  879. end event
  880. event ue_f13();//引入销售订单明细
  881. //dw_in.doubleclicked调用
  882. IF NOT dw_edit_mode THEN RETURN
  883. uo_spt_price uo_mtrl_spt_p
  884. String arg_msg
  885. Long child_row
  886. Long ls_sptid
  887. Decimal ls_price,ls_rebate
  888. Long ll_storageid
  889. dw_in.AcceptText()
  890. child_row = dw_in.GetRow()
  891. IF child_row <= 0 THEN
  892. child_row = dw_in.InsertRow(0)
  893. END IF
  894. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  895. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  896. THIS.TriggerEvent("ue_f9")
  897. END IF
  898. ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row]
  899. IF ll_storageid = 0 THEN
  900. MessageBox('提示','请选择仓库',information!,OK!)
  901. RETURN
  902. END IF
  903. uo_mtrl_spt_p = CREATE uo_spt_price
  904. THIS.Enabled = FALSE
  905. dw_uc.AcceptText()
  906. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  907. IF NOT IsValid(w_order_wfjg_wfjgmx_ch3) THEN
  908. s_edit_index_tran s_tranf8 //传递参数使用
  909. s_tranf8.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行
  910. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  911. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  912. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  913. s_tranf8.if_select_all = TRUE //多选
  914. s_tranf8.e_long = cur_scid
  915. Long chc = 1,ls_j
  916. IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.GetRow()])
  917. OpenWithParm(w_order_wfjg_wfjgmx_ch3,s_tranf8) //调用
  918. s_mtrldef_wfjg_array S_INSCUST
  919. S_INSCUST = Message.PowerObjectParm //接受返回结构
  920. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  921. IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  922. IF dw_in.GetRow() > 0 THEN
  923. IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN
  924. child_row = dw_in.InsertRow (0)
  925. ELSE
  926. child_row = dw_in.GetRow()
  927. END IF
  928. ELSE
  929. child_row = dw_in.InsertRow (0)
  930. END IF
  931. dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  932. dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j]
  933. dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  934. dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  935. dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  936. dw_in.Object.u_order_wfjgmx_qty[child_row] = S_INSCUST.qty[ls_j]
  937. dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
  938. dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  939. dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  940. dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  941. dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  942. dw_in.Object.u_order_wfjgMx_relprintid[child_row] = S_INSCUST.relprintid[ls_j]
  943. dw_in.Object.u_order_wfjgMx_relcode[child_row] = S_INSCUST.relcode[ls_j]
  944. dw_in.Object.u_order_wfjgMx_orderid[child_row] = S_INSCUST.orderid[ls_j]
  945. dw_in.Object.u_order_wfjgMx_relid2[child_row] = S_INSCUST.relid2[ls_j]
  946. dw_in.Object.u_order_wfjgmx_status[child_row] = S_INSCUST.status[ls_j]
  947. dw_in.Object.u_order_wfjgmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  948. dw_in.Object.u_order_wfjgmx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  949. dw_in.Object.u_order_wfjgmx_plancode[child_row]= S_INSCUST.plancode[ls_j]
  950. dw_in.Object.u_order_wfjgmx_dscrp[child_row]= S_INSCUST.dscrp[ls_j]
  951. dw_in.Object.u_order_wfjgmx_mxdscrp2[child_row]= S_INSCUST.mxdscrp2[ls_j]
  952. dw_in.Object.u_order_wfjgmx_mxdscrp3[child_row]= S_INSCUST.mxdscrp3[ls_j]
  953. dw_in.Object.u_order_wfjgmx_mxdscrp4[child_row]= S_INSCUST.mxdscrp4[ls_j]
  954. //导入价格
  955. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  956. // String arg_msg
  957. String ls_sptmtrlname
  958. String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  959. ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row]
  960. ls_status = dw_in.Object.u_order_wfjgmx_status[child_row]
  961. ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row]
  962. ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row]
  963. 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
  964. IF S_INSCUST.planprice[ls_j] = 0 THEN
  965. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j]
  966. ELSE
  967. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j]
  968. END IF
  969. ELSE
  970. dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost
  971. END IF
  972. END IF
  973. NEXT
  974. THIS.TriggerEvent('ue_allowedit_in')
  975. dw_in.SetFocus()
  976. dw_in.SetColumn('u_order_wfjgmx_jgdscrp')
  977. END IF
  978. DESTROY uo_mtrl_spt_p
  979. THIS.Enabled = TRUE
  980. IF cbx_autocmpl.Checked THEN
  981. wf_in_to_out(arg_msg)
  982. END IF
  983. end event
  984. event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN
  985. s_edit_index_tran s_open //传递参数使用
  986. s_open.work_mode = 1
  987. s_open.c_long = 0
  988. Openwithparm(w_banktype_edit_ch, s_open)
  989. s_banktype s_ch
  990. s_ch = Message.PowerObjectParm
  991. IF s_ch.banktypeid > 0 THEN
  992. dw_uc.Object.u_order_wfjg_banktypeid[dw_uc.GetRow()] = s_ch.banktypeid
  993. END IF
  994. datawindowchild childdw
  995. dw_uc.GetChild("u_order_wfjg_banktypeid",childdw)
  996. childdw.SetTransObject (sqlca)
  997. childdw.Retrieve()
  998. END IF
  999. end event
  1000. public function integer wf_statusbtn_fc ();//wf_statusbtn_fc
  1001. IF dw_edit_mode THEN
  1002. cb_auditing_cancel.Enabled = FALSE
  1003. cb_auditing.Enabled = FALSE
  1004. RETURN 0
  1005. END IF
  1006. Long ls_row,status
  1007. ls_row = dw_pageretr.GetRow()
  1008. IF NOT ls_row > 0 THEN
  1009. cb_auditing_cancel.Enabled = FALSE
  1010. cb_auditing.Enabled = FALSE
  1011. RETURN 0
  1012. END IF
  1013. status = dw_pageretr.Object.u_order_wfjg_status[ls_row]
  1014. CHOOSE CASE status
  1015. CASE 0
  1016. cb_auditing_cancel.Enabled = FALSE
  1017. cb_auditing.Enabled = TRUE
  1018. CASE 1
  1019. cb_auditing_cancel.Enabled = TRUE
  1020. cb_auditing.Enabled = FALSE
  1021. CASE 2
  1022. cb_auditing_cancel.Enabled = FALSE
  1023. cb_auditing.Enabled = FALSE
  1024. CASE 3
  1025. cb_auditing_cancel.Enabled = FALSE
  1026. cb_auditing.Enabled = FALSE
  1027. CASE 4
  1028. cb_auditing_cancel.Enabled = FALSE
  1029. cb_auditing.Enabled = FALSE
  1030. CASE 5
  1031. cb_auditing_cancel.Enabled = FALSE
  1032. cb_auditing.Enabled = FALSE
  1033. CASE 6
  1034. cb_auditing_cancel.Enabled = FALSE
  1035. cb_auditing.Enabled = FALSE
  1036. CASE ELSE
  1037. cb_auditing_cancel.Enabled = TRUE
  1038. cb_auditing.Enabled = TRUE
  1039. END CHOOSE
  1040. RETURN 0
  1041. end function
  1042. public subroutine wf_autoaddmx (long arg_mtrlid[], decimal arg_qty[]);long p_rqmtrl,li
  1043. long child_row,ls_mtrlid
  1044. string ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
  1045. dw_child.reset()
  1046. p_rqmtrl = upperbound(arg_mtrlid)
  1047. for li=1 to p_rqmtrl
  1048. ls_mtrlcode=''
  1049. ls_mtrlname=''
  1050. ls_unit=''
  1051. ls_mtrlmode=''
  1052. ls_mtrlid = 0
  1053. select u_mtrldef.mtrlcode,
  1054. u_mtrldef.mtrlname,
  1055. u_mtrldef.unit,
  1056. u_mtrldef.mtrlmode,
  1057. u_mtrldef.mtrlid
  1058. into :ls_mtrlcode,:ls_mtrlname,:ls_unit,:ls_mtrlmode,:ls_mtrlid
  1059. from u_mtrldef
  1060. where ( u_mtrldef.mtrlid = :arg_mtrlid[li]);
  1061. if sqlca.sqlcode =0 then
  1062. child_row = dw_child.InsertRow (0)
  1063. dw_child.object.u_order_wfjgmx_mtrlid[child_row] = ls_mtrlid
  1064. dw_child.object.u_mtrldef_mtrlcode[child_row] =ls_mtrlcode
  1065. dw_child.object.u_mtrldef_mtrlmode[child_row] =ls_mtrlmode
  1066. dw_child.object.mtrlname[child_row] =ls_mtrlname
  1067. dw_child.object.u_order_wfjgmx_qty[child_row] = arg_qty[li]
  1068. dw_child.object.u_order_wfjgmx_iforder[child_row] = 0
  1069. end if
  1070. next
  1071. // u_order_wfjgmx_iforder
  1072. // u_mtrldef_mtrlcode
  1073. // u_order_wfjgmx_qty
  1074. // u_mtrldef_mtrlmode
  1075. // u_order_wfjgmx_mtrlid
  1076. // mtrlname
  1077. // u_mtrldef_unit
  1078. end subroutine
  1079. public function integer wf_refresh_curuc (long arg_scid, long arg_wfjgid);//wf_refresh_curuc
  1080. int rslt = 1
  1081. if arg_wfjgid <= 0 or isnull(arg_wfjgid) then
  1082. rslt = 0
  1083. goto ext
  1084. end if
  1085. long uc_row
  1086. uc_row = dw_pageretr.getrow()
  1087. if uc_row <= 0 then
  1088. rslt = 0
  1089. goto ext
  1090. end if
  1091. datetime requiredate
  1092. string assign_emp
  1093. string dscrp
  1094. string taskcode
  1095. long sptid
  1096. datetime accomplishdate
  1097. int status
  1098. string operator
  1099. string permit_emp
  1100. datetime opdate
  1101. string last_emp
  1102. string u_spt_name
  1103. string sptcode
  1104. string finishemp
  1105. datetime moddate
  1106. string modemp
  1107. datetime permit_date
  1108. int billtype
  1109. int banktypeid
  1110. select u_order_wfjg.requiredate,
  1111. u_order_wfjg.assign_emp,
  1112. u_order_wfjg.dscrp,
  1113. u_order_wfjg.taskcode,
  1114. u_order_wfjg.sptid,
  1115. u_order_wfjg.accomplishdate,
  1116. u_order_wfjg.status,
  1117. u_order_wfjg.opemp,
  1118. u_order_wfjg.permit_emp,
  1119. u_order_wfjg.opdate,
  1120. u_spt.name,
  1121. u_spt.sptcode,
  1122. u_order_wfjg.finishemp,
  1123. u_order_wfjg.moddate,
  1124. u_order_wfjg.modemp,
  1125. u_order_wfjg.permit_date,
  1126. u_order_wfjg.billtype,
  1127. u_order_wfjg.banktypeid
  1128. into :requiredate,
  1129. :assign_emp,
  1130. :dscrp,
  1131. :taskcode,
  1132. :sptid,
  1133. :accomplishdate,
  1134. :status,
  1135. :operator,
  1136. :permit_emp,
  1137. :opdate,
  1138. :u_spt_name,
  1139. :sptcode,
  1140. :finishemp,
  1141. :moddate,
  1142. :modemp,
  1143. :permit_date,
  1144. :billtype,
  1145. :banktypeid
  1146. from u_order_wfjg left outer join
  1147. u_spt on ( u_order_wfjg.sptid = u_spt.sptid )
  1148. where ( u_order_wfjg.wfjgid = :arg_wfjgid )
  1149. and ( u_order_wfjg.scid = :arg_scid );
  1150. if sqlca.sqlcode <> 0 then
  1151. messagebox('错误',"查询操作失败(错误外加工计划唯一码)",stopsign!,OK!)
  1152. rslt = 0
  1153. goto ext
  1154. end if
  1155. dw_pageretr.object.u_order_wfjg_scid[uc_row] = arg_scid
  1156. dw_pageretr.object.u_order_wfjg_wfjgid[uc_row] = arg_wfjgid
  1157. dw_pageretr.object.u_order_wfjg_requiredate[uc_row] = requiredate
  1158. dw_pageretr.object.u_order_wfjg_assign_emp[uc_row] = assign_emp
  1159. dw_pageretr.object.u_order_wfjg_dscrp[uc_row] = dscrp
  1160. dw_pageretr.object.u_order_wfjg_taskcode[uc_row] = taskcode
  1161. dw_pageretr.object.u_order_wfjg_sptid[uc_row] = sptid
  1162. dw_pageretr.object.u_order_wfjg_accomplishdate[uc_row] = accomplishdate
  1163. dw_pageretr.object.u_order_wfjg_status[uc_row] = status
  1164. dw_pageretr.object.u_order_wfjg_opemp[uc_row] = operator
  1165. dw_pageretr.object.u_order_wfjg_permit_emp[uc_row] = permit_emp
  1166. dw_pageretr.object.u_order_wfjg_opdate[uc_row] = opdate
  1167. dw_pageretr.object.u_spt_name[uc_row] = u_spt_name
  1168. dw_pageretr.object.sptcode[uc_row] = sptcode
  1169. dw_pageretr.object.u_order_wfjg_finishemp[uc_row] = finishemp
  1170. dw_pageretr.object.u_order_wfjg_moddate[uc_row] = moddate
  1171. dw_pageretr.object.u_order_wfjg_modemp[uc_row] = modemp
  1172. dw_pageretr.object.u_order_wfjg_permit_date[uc_row] = permit_date
  1173. dw_pageretr.object.u_order_wfjg_billtype[uc_row] = billtype
  1174. dw_pageretr.object.u_order_wfjg_banktypeid[uc_row] = banktypeid
  1175. dw_uc.Reset()
  1176. dw_pageretr.RowsCopy(dw_pageretr.GetRow(),&
  1177. dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  1178. dw_uc.ResetUpdate()
  1179. dw_uc.SetRedraw(TRUE)
  1180. this.postevent('retrieve_childdw')
  1181. ext:
  1182. wf_statusbtn_fc()
  1183. return rslt
  1184. end function
  1185. public function integer wf_lock_child ();//wf_lock_child
  1186. INT LS_INT
  1187. IF dw_edit_mode THEN
  1188. FOR LS_INT=1 TO child_column_int
  1189. dw_in.SetTabOrder (LS_INT,LS_INT*10 )
  1190. NEXT
  1191. ELSE
  1192. FOR LS_INT=1 TO child_column_int
  1193. dw_in.SetTabOrder (LS_INT, 0)
  1194. NEXT
  1195. END IF
  1196. IF dw_edit_mode THEN
  1197. FOR LS_INT=1 TO child_column_int_out
  1198. dw_out.SetTabOrder (LS_INT,LS_INT*10 )
  1199. NEXT
  1200. ELSE
  1201. FOR LS_INT=1 TO child_column_int_out
  1202. dw_out.SetTabOrder (LS_INT, 0)
  1203. NEXT
  1204. END IF
  1205. RETURN 1
  1206. end function
  1207. public function integer wf_copy (ref string arg_msg);Long rslt = 1
  1208. Long ll_rowcount,ll_rowcount1
  1209. ll_rowcount = dw_in.RowCount()
  1210. IF ll_rowcount <= 0 THEN
  1211. rslt = 0
  1212. arg_msg = '没有可复制的明细内容'
  1213. GOTO ext
  1214. END IF
  1215. ll_rowcount1 = dw_out.RowCount()
  1216. ds_copy_in.Reset()
  1217. ds_copy_out.Reset()
  1218. IF dw_in.RowsCopy(1, ll_rowcount, Primary!, ds_copy_in, 1, Primary!) = - 1 THEN
  1219. rslt = 0
  1220. arg_msg = '复制收货明细内容失败!'
  1221. GOTO ext
  1222. END IF
  1223. IF ll_rowcount1 > 0 THEN
  1224. IF dw_out.RowsCopy(1, ll_rowcount1, Primary!, ds_copy_out, 1, Primary!) = - 1 THEN
  1225. rslt = 0
  1226. arg_msg = '复制发出明细内容失败!'
  1227. GOTO ext
  1228. END IF
  1229. END IF
  1230. ds_copy_in.AcceptText()
  1231. ds_copy_out.AcceptText()
  1232. ext:
  1233. RETURN rslt
  1234. end function
  1235. public function integer wf_paste (ref string arg_msg);Long rslt = 1
  1236. IF NOT dw_edit_mode THEN
  1237. rslt = 0
  1238. arg_msg = '非编辑状态下不可粘贴'
  1239. GOTO ext
  1240. END IF
  1241. Long ll_rowcount,ll_rowcount1
  1242. ll_rowcount = ds_copy_in.RowCount()
  1243. IF ll_rowcount <= 0 THEN
  1244. rslt = 0
  1245. arg_msg = '没有可粘贴的收货明细内容'
  1246. GOTO ext
  1247. END IF
  1248. ll_rowcount1 = ds_copy_out.RowCount()
  1249. dw_in.Reset()
  1250. dw_out.Reset()
  1251. IF ds_copy_in.RowsCopy(1, ll_rowcount, Primary!, dw_in, 1, Primary!) = - 1 THEN
  1252. rslt = 0
  1253. arg_msg = '粘贴收货明细内容失败!'
  1254. GOTO ext
  1255. END IF
  1256. IF ll_rowcount1 > 0 THEN
  1257. IF ds_copy_out.RowsCopy(1, ll_rowcount1, Primary!, dw_out, 1, Primary!) = - 1 THEN
  1258. rslt = 0
  1259. arg_msg = '粘贴发出明细内容失败!'
  1260. GOTO ext
  1261. END IF
  1262. END IF
  1263. ext:
  1264. RETURN rslt
  1265. end function
  1266. public subroutine wf_check_billfj ();String arg_msg
  1267. Long ll_ConnectionID
  1268. Long cur_billtype
  1269. long ll_relid,ll_relid_mx,ll_scid
  1270. Long ls_filecount = 0
  1271. Int rslt = 1
  1272. uo_fj_mng_billtype ls_uo_fjbt
  1273. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1274. Long row,uc_relid
  1275. row = dw_pageretr.GetRow()
  1276. IF row > 0 THEN
  1277. ll_relid = dw_pageretr.Object.u_order_wfjg_wfjgid[row]
  1278. ll_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  1279. ll_relid_mx = 0
  1280. ELSE
  1281. rslt = 0
  1282. GOTO ext
  1283. END IF
  1284. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  1285. rslt = 0
  1286. GOTO ext
  1287. END IF
  1288. cur_billtype = 213 //客户投拆单的 mainiD
  1289. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  1290. IF ls_filecount > 0 THEN
  1291. rslt = 1
  1292. GOTO ext
  1293. ELSE
  1294. rslt = 0
  1295. GOTO ext
  1296. END IF
  1297. ext:
  1298. wf_encl(rslt)
  1299. DESTROY ls_uo_fjbt
  1300. end subroutine
  1301. 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);//==============================================================================
  1302. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  1303. //------------------------------------------------------------------------------
  1304. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  1305. //------------------------------------------------------------------------------
  1306. Long LS_ROW,ll_id,i,ll_scid
  1307. LS_ROW = dw_uc.GetRow()
  1308. IF LS_ROW <= 0 THEN
  1309. arg_msg = '没有目标单据!'
  1310. RETURN 0
  1311. END IF
  1312. //修改点:获取 指定retriev参数
  1313. ll_id = dw_uc.Object.#1[LS_ROW]
  1314. ll_scid = dw_uc.Object.u_order_wfjg_scid[LS_ROW]
  1315. //查询所选模版是否含有图片信息
  1316. Long ll_ifpic
  1317. Long ll_classid
  1318. SELECT ifpic
  1319. INTO :ll_ifpic
  1320. FROM U_XLS_Templates
  1321. Where id = :ll_xls_Templatesid;
  1322. IF sqlca.SQLCode <> 0 THEN
  1323. ll_ifpic = 0
  1324. END IF
  1325. Long ll_i,ll_j
  1326. Long ll_mtrlid
  1327. Long ll_fileid
  1328. Blob ls_filedata
  1329. SetNull(ls_filedata)
  1330. String Pathname,ls_filename,ls_filetype
  1331. String errmsg
  1332. uo_fj_mng_billtype ls_uo_fjbt
  1333. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1334. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  1335. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  1336. SELECT classid
  1337. INTO :ll_classid
  1338. FROM u_billpic_fileclass
  1339. Where (billtype = 213);
  1340. IF sqlca.SQLCode <> 0 THEN
  1341. ll_classid = 0
  1342. END IF
  1343. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  1344. FOR ll_i = 1 TO dw_in.RowCount()
  1345. ll_mtrlid = dw_in.Object.u_order_wfjgmx_mtrlid[ll_i]
  1346. //取该附件类型中的第一个附件.
  1347. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  1348. FROM u_file
  1349. WHERE relid = :ll_mtrlid
  1350. AND classid = :ll_classid
  1351. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  1352. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  1353. USING sys_fileDB_sqlca;
  1354. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  1355. ll_fileid = 0
  1356. END IF
  1357. IF ll_fileid > 0 THEN
  1358. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  1359. IF Trim(Pathname) <> '' THEN
  1360. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  1361. RETURN 0
  1362. END IF
  1363. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  1364. RETURN 0
  1365. ELSE
  1366. s_pic.path[ll_i] = Pathname
  1367. //记录临时文件位置,本窗口退出后删除
  1368. wf_addlog_tempfilepathname(Pathname)
  1369. END IF
  1370. ELSE
  1371. s_pic.path[ll_i] = ''
  1372. END IF
  1373. ELSE
  1374. s_pic.path[ll_i] = ''
  1375. END IF
  1376. NEXT
  1377. END IF
  1378. //
  1379. END IF
  1380. ////可选设置///
  1381. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  1382. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  1383. boolean xls_locked
  1384. xls_locked = not (sys_option_xls_lock = 1)
  1385. /// Excel 的可选设置
  1386. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  1387. return 0
  1388. end if
  1389. for i = 1 to arg_str_billlist.count
  1390. ////可选操作///
  1391. arg_str_billlist.bill[i].ds_data = create datastore //
  1392. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  1393. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  1394. //修改点:注意retrieve 参数与上文对应
  1395. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  1396. next
  1397. return 1
  1398. end function
  1399. public function integer wf_in_to_out (ref string arg_msg);Long rslt = 1
  1400. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  1401. Long ll_statustype,ll_woodcodetype,ll_pcodetype
  1402. s_mtrldef_array arg_s_mtrldef
  1403. IF NOT dw_edit_mode THEN
  1404. rslt = 0
  1405. arg_msg = '非编辑状态不可用'
  1406. GOTO ext
  1407. END IF
  1408. dw_in.AcceptText()
  1409. Long ll_dw_in_rowcount
  1410. Long ll_i,i = 1,ll_itmx,ll_j
  1411. Long ll_in_mtrlid
  1412. Decimal ld_qty
  1413. Long ll_row
  1414. String ls_pfcode
  1415. long li_round
  1416. string relcode[],taskcode[]
  1417. li_round = long(em_1.text)
  1418. s_mtrldef_wfjg_array s_wfjg
  1419. ll_dw_in_rowcount = dw_in.RowCount()
  1420. IF ll_dw_in_rowcount <= 0 THEN
  1421. rslt = 0
  1422. arg_msg = '没有明细内容'
  1423. GOTO ext
  1424. END IF
  1425. dw_out.SetRedraw(FALSE)
  1426. dw_out.Reset()
  1427. FOR ll_i = 1 TO ll_dw_in_rowcount
  1428. ll_in_mtrlid = dw_in.Object.u_order_wfjgmx_mtrlid[ll_i]
  1429. ld_qty = dw_in.Object.u_order_wfjgmx_qty[ll_i]
  1430. //messagebox("",ld_qty)
  1431. DECLARE cur_inmx CURSOR FOR
  1432. SELECT u_PrdPF.SonMtrlid,
  1433. u_mtrldef.mtrlcode,
  1434. u_mtrldef.mtrlname,
  1435. u_mtrldef.mtrlmode,
  1436. u_mtrldef.unit,
  1437. u_mtrldef.mtrlsectype,
  1438. u_mtrldef.zxmtrlmode,
  1439. :ld_qty * u_prdpf.Sonscale / (1 - u_PrdPF.sonloss) + u_PrdPF.SonDECLoss
  1440. FROM u_PrdPF INNER JOIN
  1441. u_mtrldef ON u_PrdPF.SonMtrlid = u_mtrldef.mtrlid
  1442. WHERE ( u_PrdPF.mtrlid = :ll_in_mtrlid ) ;
  1443. OPEN cur_inmx;
  1444. FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i],
  1445. :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i],
  1446. :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i];
  1447. DO WHILE sqlca.SQLCode = 0
  1448. relcode[i] = dw_in.Object.u_saletask_relcode[ll_i]
  1449. taskcode[i] = dw_in.Object.u_order_wfjgmx_relcode[ll_i]
  1450. i++
  1451. FETCH cur_inmx INTO :s_wfjg.mtrlid[i],:s_wfjg.mtrlcode[i],
  1452. :s_wfjg.mtrlname[i],:s_wfjg.mtrlmode[i],:s_wfjg.unit[i],
  1453. :s_wfjg.mtrlsectype[i],:s_wfjg.zxmtrlmode[i],:s_wfjg.qty[i];
  1454. LOOP
  1455. CLOSE cur_inmx;
  1456. NEXT
  1457. ll_itmx = i - 1
  1458. FOR ll_j = 1 TO ll_itmx
  1459. ll_row = dw_out.GetRow()
  1460. IF ll_row <= 0 THEN
  1461. ll_row = dw_out.InsertRow(0)
  1462. ELSE
  1463. IF dw_out.Object.u_order_wfjgmx_out_mtrlid[ll_row] > 0 THEN
  1464. ll_row = dw_out.InsertRow(0)
  1465. END IF
  1466. END IF
  1467. dw_out.Object.u_order_wfjgmx_out_mtrlid[ll_row] = s_wfjg.mtrlid[ll_j]
  1468. dw_out.Object.u_mtrldef_mtrlcode[ll_row] = s_wfjg.mtrlcode[ll_j]
  1469. dw_out.Object.mtrlname[ll_row] = s_wfjg.mtrlname[ll_j]
  1470. dw_out.Object.u_mtrldef_mtrlmode[ll_row] = s_wfjg.mtrlmode[ll_j]
  1471. dw_out.Object.u_mtrldef_unit[ll_row] = s_wfjg.unit[ll_j]
  1472. dw_out.Object.u_mtrldef_mtrlsectype[ll_row] = s_wfjg.mtrlsectype[ll_j]
  1473. dw_out.Object.u_mtrldef_zxmtrlmode[ll_row] = s_wfjg.zxmtrlmode[ll_j]
  1474. dw_out.Object.u_order_wfjgmx_out_qty[ll_row] = round(s_wfjg.qty[ll_j],li_round)
  1475. dw_out.Object.u_order_wfjgmx_out_saletaskcode[ll_row] = taskcode[ll_j]
  1476. dw_out.Object.u_saletask_relcode[ll_row] = relcode[ll_j]
  1477. IF f_find_mtrl(s_wfjg.mtrlcode[ll_j],-1,arg_s_mtrldef) = 0 THEN
  1478. li_statusflag = 0
  1479. li_woodcodeflag = 0
  1480. li_pcodeflag = 0
  1481. ELSE
  1482. li_statusflag = arg_s_mtrldef.statusflag[1]
  1483. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1484. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1485. END IF
  1486. dw_out.Object.u_mtrldef_statusflag[ll_row] = li_statusflag
  1487. dw_out.Object.u_mtrldef_woodcodeflag[ll_row] = li_woodcodeflag
  1488. dw_out.Object.u_mtrldef_pcodeflag[ll_row] = li_pcodeflag
  1489. NEXT
  1490. this.triggerevent('ue_allowedit_out')
  1491. dw_out.SetRedraw(TRUE)
  1492. ext:
  1493. RETURN rslt
  1494. end function
  1495. 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
  1496. LS_ROW = dw_pageretr.GetRow()
  1497. IF LS_ROW <= 0 THEN
  1498. arg_msg = '没有目标单据!'
  1499. RETURN 0
  1500. END IF
  1501. //修改点:获取 指定retriev参数
  1502. ll_id = dw_pageretr.Object.#1[LS_ROW]
  1503. ll_scid = dw_pageretr.Object.u_order_wfjg_scid[LS_ROW]
  1504. Long ll_i,ll_j
  1505. Long ll_mtrlid
  1506. Long ll_fileid
  1507. Blob ls_filedata
  1508. SetNull(ls_filedata)
  1509. String Pathname,ls_filename,ls_filetype
  1510. String errmsg
  1511. uo_fj_mng_billtype ls_uo_fjbt
  1512. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1513. Long ll_classid
  1514. SELECT classid
  1515. INTO :ll_classid
  1516. FROM u_billpic_fileclass
  1517. Where (billtype = 102);
  1518. IF sqlca.SQLCode <> 0 THEN
  1519. ll_classid = 0
  1520. END IF
  1521. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  1522. FOR ll_i = 1 TO dw_in.RowCount()
  1523. ll_mtrlid = dw_in.Object.u_order_wfjgmx_mtrlid[ll_i]
  1524. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  1525. //取该附件类型中的第一个附件.
  1526. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  1527. FROM u_file
  1528. WHERE relid = :ll_mtrlid
  1529. AND classid = :ll_classid
  1530. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  1531. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  1532. USING sys_fileDB_sqlca;
  1533. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  1534. ll_fileid = 0
  1535. END IF
  1536. IF ll_fileid > 0 THEN
  1537. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  1538. IF Trim(Pathname) <> '' THEN
  1539. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  1540. RETURN 0
  1541. END IF
  1542. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  1543. RETURN 0
  1544. ELSE
  1545. arg_s_pic.path[ll_i] = Pathname
  1546. //记录临时文件位置,本窗口退出后删除
  1547. wf_addlog_tempfilepathname(Pathname)
  1548. END IF
  1549. ELSE
  1550. arg_s_pic.path[ll_i] = ''
  1551. END IF
  1552. ELSE
  1553. arg_s_pic.path[ll_i] = ''
  1554. END IF
  1555. NEXT
  1556. END IF
  1557. RETURN 1
  1558. end function
  1559. public function integer wf_refresh_interface ();//wf_refresh_interface
  1560. IF dw_edit_mode THEN
  1561. cb_retrieve.Enabled = FALSE
  1562. cb_delet.Enabled = FALSE
  1563. cb_print.Enabled = FALSE
  1564. cb_viewprint.Enabled = FALSE
  1565. cb_auditing.Enabled = FALSE
  1566. cb_auditing_cancel.Enabled = FALSE
  1567. dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
  1568. dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关
  1569. dw_in.RBUTTON_SETPOSITION_USE = FALSE //定位
  1570. dw_out.RBUTTON_SETPOSITION_USE = FALSE //定位
  1571. cb_edit.Enabled = TRUE
  1572. cb_add.Enabled = TRUE
  1573. cb_xls.Enabled = FALSE
  1574. cb_edit.Text = "放弃&E"
  1575. cb_add.Text = "保存&S"
  1576. cb_edit.normalpicname = 'Undo.bmp'
  1577. cb_add.normalpicname = 'Save.bmp'
  1578. ELSE
  1579. cb_retrieve.Enabled = TRUE
  1580. cb_delet.Enabled = TRUE
  1581. cb_print.Enabled = TRUE
  1582. cb_viewprint.Enabled = TRUE
  1583. cb_auditing.Enabled = TRUE
  1584. cb_auditing_cancel.Enabled = TRUE
  1585. cb_add.Enabled = TRUE
  1586. cb_edit.Enabled = TRUE
  1587. cb_xls.Enabled = TRUE
  1588. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  1589. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  1590. dw_in.RBUTTON_SETPOSITION_USE = TRUE //定位
  1591. dw_out.RBUTTON_SETPOSITION_USE = TRUE //定位
  1592. cb_edit.Text = "修改&E"
  1593. cb_add.Text = "新建&S"
  1594. cb_edit.normalpicname = 'OPEN.bmp'
  1595. cb_add.normalpicname = 'new.bmp'
  1596. IF dw_pageretr.GetRow() <= 0 THEN
  1597. cb_edit.Enabled = FALSE
  1598. cb_delet.Enabled = FALSE
  1599. cb_addzy.Enabled = FALSE
  1600. cb_auditing.Enabled = FALSE
  1601. END IF
  1602. END IF
  1603. IF retrieve_all OR dw_edit_mode THEN
  1604. cb_nextpage.Enabled = FALSE
  1605. cb_retrieveall.Enabled = FALSE
  1606. em_pagerowno.Enabled = FALSE
  1607. cb_func.Enabled = FALSE
  1608. IF dw_edit_mode THEN
  1609. sle_usual_query.Enabled = FALSE
  1610. ELSE
  1611. sle_usual_query.Enabled = TRUE
  1612. END IF
  1613. ELSE
  1614. cb_nextpage.Enabled = TRUE
  1615. cb_retrieveall.Enabled = TRUE
  1616. em_pagerowno.Enabled = TRUE
  1617. sle_usual_query.Enabled = TRUE
  1618. cb_func.Enabled = TRUE
  1619. END IF
  1620. wf_lock_child()
  1621. //修改uc_taborder
  1622. IF dw_edit_mode THEN
  1623. dw_uc.TriggerEvent("ue_taborder")
  1624. IF dw_uc.ins_if_nomodify_uc_taborder THEN
  1625. Long ll_uc_int
  1626. FOR ll_uc_int = 1 TO uc_column_int
  1627. dw_uc.SetTabOrder (ll_uc_int,ll_uc_int*10 )
  1628. NEXT
  1629. END IF
  1630. ELSE
  1631. dw_uc.TriggerEvent("ue_taborder_cancel")
  1632. END IF
  1633. cb_edit.of_init_draw()
  1634. cb_add.of_init_draw()
  1635. cb_edit.of_paint()
  1636. cb_add.of_paint()
  1637. cb_add.TriggerEvent('ue_textchange')
  1638. cb_edit.TriggerEvent('ue_textchange')
  1639. ll_lastrow = 0
  1640. THIS.TriggerEvent('refresh_interface')
  1641. RETURN 1
  1642. end function
  1643. on w_order_wfjg.create
  1644. int iCurrent
  1645. call super::create
  1646. this.st_13=create st_13
  1647. this.st_2=create st_2
  1648. this.ddlb_scid=create ddlb_scid
  1649. this.tab_1=create tab_1
  1650. this.st_3=create st_3
  1651. this.em_1=create em_1
  1652. this.cbx_autocmpl=create cbx_autocmpl
  1653. this.cb_in_2_out=create cb_in_2_out
  1654. this.ddlb_retrstatus=create ddlb_retrstatus
  1655. this.cb_in=create cb_in
  1656. this.cb_out=create cb_out
  1657. iCurrent=UpperBound(this.Control)
  1658. this.Control[iCurrent+1]=this.st_13
  1659. this.Control[iCurrent+2]=this.st_2
  1660. this.Control[iCurrent+3]=this.ddlb_scid
  1661. this.Control[iCurrent+4]=this.tab_1
  1662. this.Control[iCurrent+5]=this.st_3
  1663. this.Control[iCurrent+6]=this.em_1
  1664. this.Control[iCurrent+7]=this.cbx_autocmpl
  1665. this.Control[iCurrent+8]=this.cb_in_2_out
  1666. this.Control[iCurrent+9]=this.ddlb_retrstatus
  1667. this.Control[iCurrent+10]=this.cb_in
  1668. this.Control[iCurrent+11]=this.cb_out
  1669. end on
  1670. on w_order_wfjg.destroy
  1671. call super::destroy
  1672. destroy(this.st_13)
  1673. destroy(this.st_2)
  1674. destroy(this.ddlb_scid)
  1675. destroy(this.tab_1)
  1676. destroy(this.st_3)
  1677. destroy(this.em_1)
  1678. destroy(this.cbx_autocmpl)
  1679. destroy(this.cb_in_2_out)
  1680. destroy(this.ddlb_retrstatus)
  1681. destroy(this.cb_in)
  1682. destroy(this.cb_out)
  1683. end on
  1684. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  1685. Boolean cb_func_enabled,cb_retrieve_enabled
  1686. cb_nextpage_enabled = cb_nextpage.Enabled
  1687. cb_retrieveall_enabled = cb_retrieveall.Enabled
  1688. cb_func_enabled = cb_func.Enabled
  1689. cb_nextpage.Enabled = FALSE
  1690. cb_retrieveall.Enabled = FALSE
  1691. cb_func.Enabled = FALSE
  1692. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  1693. dw_pageretr.retrieve(cur_scid,cur_status,sys_user_spttype)
  1694. IF dw_pageretr.RowCount() > 0 THEN
  1695. dw_pageretr.SetRow(1)
  1696. dw_pageretr.triggerevent(rowfocuschanged!)
  1697. end if
  1698. THIS.TriggerEvent('retrieve_childdw')
  1699. cb_nextpage.Enabled = cb_nextpage_enabled
  1700. cb_retrieveall.Enabled = cb_retrieveall_enabled
  1701. cb_func.Enabled = cb_func_enabled
  1702. end event
  1703. event open;THIS.TriggerEvent('ue_before_open')
  1704. wf_movetocenter()
  1705. OLD_TITLE = THIS.Title
  1706. s_tran = Message.PowerObjectParm
  1707. IF NOT IsNull(s_tran) THEN
  1708. retrieve_all = s_tran.if_retrieve_all
  1709. mode = s_tran.work_mode
  1710. arg_pkid = s_tran.arg_pkid
  1711. arg_string_code = s_tran.arg_string_code
  1712. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  1713. ds_share = s_tran.ds_share
  1714. END IF
  1715. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  1716. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  1717. dw_pageretr.SetTransObject (sqlca)
  1718. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  1719. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  1720. ls_newselect = ori_oldselect
  1721. ds_curquery = CREATE DATASTORE
  1722. ds_curquery.DataObject = 'd_extr_find'
  1723. ds_curquery.SetTransObject (sqlca)
  1724. wf_editindex_lockf()
  1725. IF s_tran.d_long = 2 THEN
  1726. cur_scid = s_tran.c_long
  1727. Int li_item
  1728. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  1729. IF li_item > 0 THEN
  1730. ddlb_scid.SelectItem(li_item)
  1731. END IF
  1732. END IF
  1733. sle_usual_query.Text = Trim(arg_string_code)
  1734. IF NOT retrieve_all THEN
  1735. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  1736. ELSE
  1737. IF if_sharedata THEN
  1738. ds_share.ShareData(dw_pageretr)
  1739. ELSE
  1740. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1741. THIS.TriggerEvent('RETRIEVE_pageretr')
  1742. END IF
  1743. END IF
  1744. IF retrieve_all THEN
  1745. THIS.TriggerEvent("ue_usual_query_filt")
  1746. END IF
  1747. f_title_change(dw_child)
  1748. uc_column_int = 7 //uc dw前5列可以编辑
  1749. child_column_int = 18 //子 dw前3列可以编辑
  1750. child_column_int_out = 14 //子 dw前3列可以编辑
  1751. uo_wfjg = CREATE uo_order_wfjg
  1752. uo_wfjg.commit_transaction = sqlca
  1753. uo_sptprice = CREATE uo_spt_price
  1754. IF s_tran.d_long = 1 AND UpperBound(s_tran.arr_long) > 0 THEN
  1755. cb_add.TriggerEvent(Clicked!)
  1756. wf_autoaddmx(s_tran.arr_long[],s_tran.arr_dec[])
  1757. END IF
  1758. s_hide_col s_col_mtrlsectype
  1759. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  1760. f_hide_col(1308,dw_in,s_col_mtrlsectype)
  1761. f_hide_col(1308,dw_out,s_col_mtrlsectype)
  1762. s_hide_col s_col_zxmtrlmode
  1763. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  1764. f_hide_col(1309,dw_in,s_col_zxmtrlmode)
  1765. f_hide_col(1309,dw_out,s_col_zxmtrlmode)
  1766. s_hide_col s_col_price,s_null
  1767. s_col_price.col_1 = 'u_order_wfjgmx_price'
  1768. f_hide_col(121,dw_in,s_col_price)
  1769. s_col_price = s_null
  1770. s_col_price.col_1 = 'u_order_wfjgmx_out_price'
  1771. f_hide_col(121,dw_out,s_col_price)
  1772. end event
  1773. event ue_f9;
  1774. if not dw_edit_mode then return
  1775. long uc_row
  1776. uc_row=dw_uc.getrow()
  1777. if uc_row=0 then
  1778. messagebox('提示','请选定订单!',information!,OK!)
  1779. return
  1780. end if
  1781. dw_uc.accepttext()
  1782. this.enabled = false
  1783. if not isvalid(W_spt_edit) then
  1784. s_edit_index_tran s_ch_tran //传递参数使用
  1785. s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  1786. s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  1787. s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  1788. //查询列(物料编码)部分内容,用于初步筛选
  1789. s_ch_tran.arg_string_code=upper(trim(dw_uc.object.sptcode[dw_uc.getrow()]))
  1790. OPENwithparm(W_spt_edit,s_ch_tran) //调用
  1791. S_spt S_INSCUST
  1792. S_INSCUST=Message.PowerObjectParm //接受返回结构
  1793. IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值
  1794. dw_uc.setredraw(false)
  1795. dw_uc.object.u_order_wfjg_sptid[uc_row]=S_INSCUST.sptid
  1796. dw_uc.object.u_spt_name[uc_row]=S_INSCUST.name
  1797. dw_uc.object.sptcode[uc_row]=S_INSCUST.sptcode
  1798. dw_uc.setcolumn("u_order_wfjg_dscrp")
  1799. dw_uc.setredraw(true)
  1800. END IF
  1801. end if
  1802. this.enabled = true
  1803. end event
  1804. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_in.doubleclicked调用
  1805. IF NOT dw_edit_mode THEN RETURN
  1806. uo_spt_price uo_mtrl_spt_p
  1807. Long child_row
  1808. Long ls_sptid
  1809. Decimal ls_price,ls_rebate
  1810. Long ll_storageid
  1811. String arg_msg
  1812. dw_in.AcceptText()
  1813. child_row = dw_in.GetRow()
  1814. IF child_row <= 0 THEN
  1815. child_row = dw_in.InsertRow(0)
  1816. END IF
  1817. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  1818. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1819. THIS.TriggerEvent("ue_f9")
  1820. END IF
  1821. ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row]
  1822. IF ll_storageid = 0 THEN
  1823. MessageBox('提示','请选择仓库',information!,OK!)
  1824. RETURN
  1825. END IF
  1826. uo_mtrl_spt_p = CREATE uo_spt_price
  1827. THIS.Enabled = FALSE
  1828. dw_uc.AcceptText()
  1829. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  1830. IF NOT IsValid(W_mtrldef_edit) THEN
  1831. s_edit_index_tran s_tranf8 //传递参数使用
  1832. s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  1833. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1834. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  1835. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1836. s_tranf8.if_select_all = TRUE //多选
  1837. s_tranf8.b_long = 3 //选加工
  1838. s_tranf8.c_long = ll_storageid
  1839. Long chc = 1,ls_j
  1840. IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.GetRow()])
  1841. OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
  1842. s_mtrldef_array S_INSCUST
  1843. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1844. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  1845. IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1846. IF dw_in.Find('u_order_wfjgmx_mtrlid='+String(S_INSCUST.mtrlid[ls_j]),1,dw_in.RowCount()) = 0 THEN
  1847. IF dw_in.GetRow() > 0 THEN
  1848. IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN
  1849. child_row = dw_in.InsertRow (0)
  1850. ELSE
  1851. child_row = dw_in.GetRow()
  1852. END IF
  1853. ELSE
  1854. child_row = dw_in.InsertRow (0)
  1855. END IF
  1856. dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  1857. dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j]
  1858. dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  1859. dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  1860. dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  1861. dw_in.Object.u_order_wfjgmx_qty[child_row] = 0
  1862. dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
  1863. dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  1864. dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  1865. dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  1866. dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  1867. dw_in.Object.u_order_wfjgmx_status[child_row] = S_INSCUST.status[ls_j]
  1868. dw_in.Object.u_order_wfjgmx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  1869. dw_in.Object.u_order_wfjgmx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  1870. dw_in.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j]
  1871. dw_in.Object.u_mtrldef_handtype[child_row] = S_INSCUST.handtype[ls_j]
  1872. //导入价格
  1873. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  1874. // String arg_msg
  1875. String ls_sptmtrlname
  1876. String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  1877. ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row]
  1878. ls_status = dw_in.Object.u_order_wfjgmx_status[child_row]
  1879. ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row]
  1880. ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row]
  1881. 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
  1882. IF S_INSCUST.planprice[ls_j] = 0 THEN
  1883. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j]
  1884. ELSE
  1885. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j]
  1886. END IF
  1887. // dw_in.Object.u_order_wfjgmx_rebate[child_row] = 1
  1888. // IF S_INSCUST.unit_buy[ls_j] = '' THEN
  1889. // dw_in.Object.u_order_wfjgmx_rate[child_row] = 1
  1890. // dw_in.Object.u_order_wfjgmx_unit[child_row] = S_INSCUST.unit[ls_j]
  1891. // ELSE
  1892. // dw_in.Object.u_order_wfjgmx_rate[child_row] = S_INSCUST.rate_buy[ls_j]
  1893. // dw_in.Object.u_order_wfjgmx_unit[child_row] = S_INSCUST.unit_buy[ls_j]
  1894. // END IF
  1895. ELSE
  1896. dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost
  1897. // IF ls_1stzqrate = 0 THEN
  1898. // dw_in.Object.u_order_wfjgmx_rebate[child_row] = 1
  1899. // ELSE
  1900. // dw_in.Object.u_order_wfjgmx_rebate[child_row] = ls_1stzqrate
  1901. // END IF
  1902. // dw_in.Object.u_order_wfjgmx_rate[child_row] = ls_1strate
  1903. // dw_in.Object.u_order_wfjgmx_unit[child_row] = ls_1stunit
  1904. END IF
  1905. END IF
  1906. END IF
  1907. NEXT
  1908. THIS.TriggerEvent('ue_allowedit_in')
  1909. dw_in.SetFocus()
  1910. dw_in.SetColumn('u_order_wfjgmx_jgdscrp')
  1911. END IF
  1912. DESTROY uo_mtrl_spt_p
  1913. THIS.Enabled = TRUE
  1914. IF cbx_autocmpl.Checked THEN
  1915. wf_in_to_out(arg_msg)
  1916. END IF
  1917. end event
  1918. event refresh_interface;call super::refresh_interface;ddlb_retrstatus.enabled=not dw_edit_mode
  1919. ddlb_scid.enabled=not dw_edit_mode
  1920. cb_in_2_out.Enabled = dw_edit_mode
  1921. wf_statusbtn_fc()
  1922. end event
  1923. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,uc_scid
  1924. row = dw_pageretr.GetRow()
  1925. IF row > 0 THEN
  1926. uc_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  1927. uc_relid = dw_pageretr.Object.u_order_wfjg_wfjgid[row]
  1928. dw_in.SetRedraw (FALSE)
  1929. dw_in.Retrieve(uc_scid,uc_relid)
  1930. dw_in.SetRedraw (TRUE)
  1931. dw_out.SetRedraw (FALSE)
  1932. dw_out.Retrieve(uc_scid,uc_relid)
  1933. dw_out.SetRedraw (TRUE)
  1934. ELSE
  1935. dw_in.Reset()
  1936. dw_out.Reset()
  1937. END IF
  1938. end event
  1939. event close;//f_SetProfileString (sys_empid, "wfjg", "status", string(cur_status))
  1940. destroy uo_wfjg
  1941. wf_del_tempfilepathname()
  1942. end event
  1943. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  1944. if trim(sle_usual_query.text)<>'' then
  1945. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  1946. obj_expr=obj_expr+'( u_order_wfjg_taskcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  1947. ELSE
  1948. obj_expr=obj_expr+'( u_order_wfjg_taskcode LIKE "'+trim(sle_usual_query.text)+'" )'
  1949. END IF
  1950. end if
  1951. dw_pageretr.setfilter(obj_expr)
  1952. dw_pageretr.SetRedraw(False)
  1953. dw_pageretr.filter()
  1954. if dw_pageretr.rowcount()>=1 then
  1955. dw_pageretr.selectrow(0,false)
  1956. dw_pageretr.selectrow(1,true)
  1957. dw_pageretr.SetRow(1)
  1958. dw_pageretr.triggerevent(rowfocuschanged!)
  1959. end if
  1960. dw_pageretr.SetRedraw(TRUE)
  1961. end event
  1962. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  1963. ls_newselect=lower(ori_oldselect)
  1964. if trim(sle_usual_query.text)<>'' then
  1965. if pos(trim(sle_usual_query.text),'%')=0 then
  1966. ls_querystrpart="(u_order_wfjg.taskcode like '%"+trim(sle_usual_query.text)+"%')"
  1967. else
  1968. ls_querystrpart="(u_order_wfjg.taskcode like '"+trim(sle_usual_query.text)+"')"
  1969. end if
  1970. if Pos(ls_newselect," where ") <> 0 then
  1971. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  1972. else
  1973. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  1974. end if
  1975. end if
  1976. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1977. this.triggerevent('retrieve_pageretr')
  1978. end event
  1979. event ue_viewprint;call super::ue_viewprint;if not f_power_ind(391) then
  1980. messagebox('提示','你没有使用权限!',information!,OK!)
  1981. return
  1982. end if
  1983. lONG LS_ROW
  1984. LS_ROW=dw_pageretr.getrow()
  1985. IF LS_ROW<=0 THEN
  1986. MESSAGEBOX('提示','没有打印目标单据!',information!,OK!)
  1987. RETURN
  1988. END IF
  1989. if dw_pageretr.object.u_order_wfjg_status[ls_row] < 1 then
  1990. MESSAGEBOX('提示','目标单据还未审核,不能打印!',information!,OK!)
  1991. RETURN
  1992. END IF
  1993. S_print_MSG LS_PRMSG
  1994. IF ls_newname <> '' THEN
  1995. IF li_auditprint = 1 THEN
  1996. IF dw_pageretr.Object.u_order_wfjg_status[dw_pageretr.GetRow()] = 0 THEN
  1997. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1998. RETURN
  1999. END IF
  2000. END IF
  2001. ls_prmsg.obj_dwNAME = ls_newname
  2002. ELSE
  2003. ls_prmsg.obj_dwNAME = 'dw_rp_order_wfjg_print'
  2004. END IF
  2005. LS_PRMSG.TAG_TEXT='外加工计划'
  2006. LS_PRMSG.FILTER_STRING = ''
  2007. LS_PRMSG.retr_pram_falg=15
  2008. LS_PRMSG.PAGECH_FLAG=0
  2009. LS_PRMSG.retr_scid=dw_pageretr.object.u_order_wfjg_scid[LS_ROW]
  2010. LS_PRMSG.retr_pramnmb=dw_pageretr.object.u_order_wfjg_wfjgid[LS_ROW]
  2011. LS_PRMSG.rowcnt = dw_in.rowcount()
  2012. IF ifpic = 1 THEN
  2013. String ls_msg
  2014. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  2015. MessageBox('提示','下载图片失败!',information!,OK!)
  2016. RETURN
  2017. END IF
  2018. END IF
  2019. Openwithparm(w_publ_preview,LS_PRMSG)
  2020. IF ifpic = 1 THEN
  2021. Long li
  2022. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  2023. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  2024. FileDelete(LS_PRMSG.s_pic.path[li])
  2025. END IF
  2026. NEXT
  2027. END IF
  2028. //**更新打印次料
  2029. string arg_msg
  2030. printnum = message.doubleparm
  2031. f_update_printnum('u_order_wfjg',printnum,dw_pageretr.object.u_order_wfjg_scid[LS_ROW],dw_pageretr.object.u_order_wfjg_wfjgid[LS_ROW],'','',arg_msg,true)
  2032. end event
  2033. event ue_print;call super::ue_print;//--直接打印
  2034. IF NOT f_power_ind(391) THEN
  2035. MessageBox('提示','你没有使用权限!',information!,OK!)
  2036. RETURN
  2037. END IF
  2038. uo_print_preview uo_print
  2039. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2040. S_print_MSG LS_PRMSG
  2041. IF dw_pageretr.RowCount() = 0 THEN
  2042. MessageBox('提示','没有可打印的单据!',information!,OK!)
  2043. RETURN
  2044. END IF
  2045. IF dw_pageretr.Object.u_order_wfjg_status[dw_pageretr.GetRow()] < 1 THEN
  2046. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  2047. RETURN
  2048. END IF
  2049. IF ls_newname <> '' THEN
  2050. IF li_auditprint = 1 THEN
  2051. IF dw_pageretr.Object.u_order_wfjg_status[dw_pageretr.GetRow()] = 0 THEN
  2052. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  2053. RETURN
  2054. END IF
  2055. END IF
  2056. LS_PRMSG.obj_dwNAME = ls_newname
  2057. ELSE
  2058. LS_PRMSG.obj_dwNAME = 'dw_rp_order_wfjg_print'
  2059. END IF
  2060. LS_PRMSG.retr_pram_falg = 15
  2061. LS_PRMSG.TAG_TEXT = '外加工计划'
  2062. LS_PRMSG.FILTER_STRING = ''
  2063. LS_PRMSG.PAGECH_FLAG = 0
  2064. LS_PRMSG.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()]
  2065. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()]
  2066. LS_PRMSG.rowcnt = dw_in.rowcount()
  2067. IF ifpic = 1 THEN
  2068. String ls_msg
  2069. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  2070. MessageBox('提示','下载图片失败!',information!,OK!)
  2071. RETURN
  2072. END IF
  2073. END IF
  2074. uo_print.FACT_PRINT_MSG = LS_PRMSG
  2075. String arg_msg
  2076. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  2077. MessageBox("错误",arg_msg,stopsign!,OK!)
  2078. RETURN
  2079. END IF
  2080. uo_print.ds_print()
  2081. IF ifpic = 1 THEN
  2082. Long li
  2083. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  2084. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  2085. FileDelete(LS_PRMSG.s_pic.path[li])
  2086. END IF
  2087. NEXT
  2088. END IF
  2089. //**更新打印次料
  2090. f_update_printnum('u_buytask',1,dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  2091. end event
  2092. event resize;ln_bar.EndX = THIS.Width
  2093. ln_bar2.EndX = THIS.Width
  2094. ln_1.EndX = THIS.Width
  2095. ln_2.EndX = THIS.Width
  2096. r_bar.Width = THIS.Width
  2097. Long w_width,w_height
  2098. w_width = 3602
  2099. w_height = 2300
  2100. IF newwidth < w_width THEN THIS.Width = w_width
  2101. IF newheight < w_height THEN THIS.Height = w_height
  2102. //dw_child.Width = THIS.Width - (w_width - dw_child_w)
  2103. //dw_child.Height = THIS.Height - (w_height - dw_child_h)
  2104. //dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w)
  2105. //==============================================================================
  2106. //YYX081007
  2107. //==============================================================================
  2108. IF uc_width > 0 THEN
  2109. dw_uc.Width = uc_width
  2110. END IF
  2111. IF uc_height > 0 THEN
  2112. dw_uc.Height = uc_height
  2113. END IF
  2114. dw_pageretr.X = dw_uc.X + dw_uc.Width
  2115. dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40
  2116. dw_pageretr.Height = dw_uc.Height
  2117. tab_1.Y = dw_uc.Y + dw_uc.Height + 4
  2118. tab_1.Width = THIS.Width - tab_1.X - 40
  2119. tab_1.Height = THIS.Height - tab_1.Y - 150
  2120. dw_in.Width = THIS.Width - (3602 - 3515)
  2121. dw_in.Height = tab_1.Height - 130
  2122. dw_out.Width = THIS.Width - (3602 - 3515)
  2123. dw_out.Height = tab_1.Height - 130
  2124. this.triggerevent('resize_p')
  2125. cbx_autocmpl.y = tab_1.y + 24
  2126. cb_in_2_out.y = tab_1.y + 8
  2127. em_1.y = tab_1.y + 7
  2128. st_3.y = tab_1.y + 24
  2129. cb_in.y=cb_in_2_out.y
  2130. cb_out.y=cb_in_2_out.y
  2131. end event
  2132. event ue_before_open;call super::ue_before_open;//IF sys_version_type = 2 THEN
  2133. // dw_uc.DataObject = 'dw_order_wfjg_input2'
  2134. // dw_uc.SetTransObject(sqlca)
  2135. //
  2136. // dw_pageretr.DataObject = 'dw_order_wfjg_index2'
  2137. // dw_pageretr.SetTransObject(sqlca)
  2138. //END IF
  2139. //
  2140. dw_in = tab_1.tabpage_1.dw_1
  2141. dw_out = tab_1.tabpage_2.dw_2
  2142. dw_in.settransobject(sqlca)
  2143. dw_out.settransobject(sqlca)
  2144. ds_copy_in = CREATE datastore
  2145. ds_copy_in.DataObject = dw_in.dataobject
  2146. ds_copy_in.SetTransObject(sqlca)
  2147. ds_copy_out = CREATE datastore
  2148. ds_copy_out.DataObject = dw_out.dataobject
  2149. ds_copy_out.SetTransObject(sqlca)
  2150. end event
  2151. event ue_f11;call super::ue_f11;//用于选择明细内容,被F8[默认]\dw_out.doubleclicked调用
  2152. IF NOT dw_edit_mode THEN RETURN
  2153. Long child_row
  2154. Long ls_sptid
  2155. Long ll_storageid
  2156. dw_out.AcceptText()
  2157. child_row = dw_out.GetRow()
  2158. IF child_row <= 0 THEN
  2159. child_row = dw_out.InsertRow(0)
  2160. END IF
  2161. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  2162. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  2163. THIS.TriggerEvent("ue_f9")
  2164. END IF
  2165. ll_storageid = dw_out.Object.u_order_wfjgmx_out_storageid[child_row]
  2166. IF ll_storageid = 0 THEN
  2167. MessageBox('提示','请选择仓库',information!,OK!)
  2168. RETURN
  2169. END IF
  2170. THIS.Enabled = FALSE
  2171. IF NOT IsValid(W_mtrldef_edit) THEN
  2172. s_edit_index_tran s_tranf8 //传递参数使用
  2173. s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  2174. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  2175. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  2176. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  2177. s_tranf8.if_select_all = TRUE //多选
  2178. s_tranf8.b_long = 3 //选加工
  2179. s_tranf8.c_long = ll_storageid
  2180. Long chc = 1,ls_j
  2181. IF dw_out.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_out.Object.u_mtrldef_mtrlcode[dw_out.GetRow()])
  2182. OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
  2183. s_mtrldef_array S_INSCUST
  2184. S_INSCUST = Message.PowerObjectParm //接受返回结构
  2185. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  2186. IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  2187. IF dw_out.Find('u_order_wfjgmx_out_mtrlid='+String(S_INSCUST.mtrlid[ls_j]),1,dw_out.RowCount()) = 0 THEN
  2188. IF dw_out.GetRow() > 0 THEN
  2189. IF dw_out.Object.u_order_wfjgmx_out_mtrlid[child_row] <> 0 THEN
  2190. child_row = dw_out.InsertRow (0)
  2191. ELSE
  2192. child_row = dw_out.GetRow()
  2193. END IF
  2194. ELSE
  2195. child_row = dw_out.InsertRow (0)
  2196. END IF
  2197. dw_out.Object.u_order_wfjgmx_out_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  2198. dw_out.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j]
  2199. dw_out.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  2200. dw_out.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  2201. dw_out.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  2202. dw_out.Object.u_order_wfjgmx_out_qty[child_row] = 0
  2203. dw_out.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
  2204. dw_out.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  2205. dw_out.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  2206. dw_out.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  2207. dw_out.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  2208. END IF
  2209. END IF
  2210. NEXT
  2211. THIS.TriggerEvent('ue_allowedit_out')
  2212. dw_out.SetFocus()
  2213. dw_out.SetColumn('u_order_wfjgmx_out_status')
  2214. END IF
  2215. THIS.Enabled = TRUE
  2216. end event
  2217. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  2218. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  2219. return
  2220. END IF
  2221. if not f_power_ind(800) then
  2222. messagebox('提示','你没有使用权限!',information!,OK!)
  2223. return
  2224. end if
  2225. string arg_msg='',LS_STR
  2226. long uc_row
  2227. s_inputbox S_SREU
  2228. uc_row=dw_pageretr.getrow()
  2229. if uc_row<=0 then
  2230. messagebox('提示','请选定当前目标订单!',information!,OK!)
  2231. return
  2232. end if
  2233. S_SREU.TITLE='请输入要补充到备注的内容'
  2234. S_SREU.OLD_TEXT=''
  2235. openwithparm(w_inputbox,S_SREU)
  2236. LS_STR=Message.StringParm
  2237. if trim(LS_STR)='' or isnull(LS_STR) then return
  2238. if uo_wfjg.add_dscrp(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row],LS_STR,arg_msg,true)=0 then
  2239. messagebox('错误',arg_msg,stopsign!,OK!)
  2240. return
  2241. else
  2242. messagebox('提示','添加备注操作成功!',information!,OK!)
  2243. wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row])
  2244. end if
  2245. end event
  2246. event ue_deletemx;IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  2247. if tab_1.SelectedTab = 1 then
  2248. IF dw_in.GETROW()=0 THEN
  2249. MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!)
  2250. RETURN
  2251. END IF
  2252. dw_in.DeleteRow (0)
  2253. dw_in.TriggerEvent (rowfocuschanged!)
  2254. else
  2255. IF dw_out.GETROW()=0 THEN
  2256. MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!)
  2257. RETURN
  2258. END IF
  2259. dw_out.DeleteRow (0)
  2260. dw_out.TriggerEvent (rowfocuschanged!)
  2261. end if
  2262. end event
  2263. event ue_addmx;if tab_1.SelectedTab = 1 then
  2264. this.triggerevent('ue_f8')
  2265. dw_in.SetFocus()
  2266. else
  2267. this.triggerevent('ue_f11')
  2268. dw_out.SetFocus()
  2269. end if
  2270. end event
  2271. event ue_rpt_print;call super::ue_rpt_print;if not f_power_ind(391) then
  2272. messagebox('提示','你没有使用权限!',information!,OK!)
  2273. return
  2274. end if
  2275. Long row,uc_relid,ll_scid
  2276. row = dw_pageretr.GetRow()
  2277. IF row = 0 THEN RETURN
  2278. uo_rpt_print_preview uo_print
  2279. S_rpt_print_MSG LS_PRMSG
  2280. IF dw_pageretr.RowCount() = 0 THEN
  2281. MessageBox('提示','没有可打印的单据!',information!,OK!)
  2282. RETURN
  2283. END IF
  2284. IF ls_rpname = '' THEN RETURN
  2285. IF li_auditprint = 1 THEN
  2286. IF dw_pageretr.Object.u_order_wfjg_status[row] = 0 THEN
  2287. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  2288. RETURN
  2289. END IF
  2290. END IF
  2291. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2292. LS_PRMSG.retr_pram_falg = 15
  2293. LS_PRMSG.TAG_TEXT = THIS.Title
  2294. LS_PRMSG.rpname = ls_rpname
  2295. LS_PRMSG.FILTER_STRING = ''
  2296. LS_PRMSG.PAGECH_FLAG = 0
  2297. LS_PRMSG.rpid = ls_msgprintid_rpt
  2298. LS_PRMSG.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  2299. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[row]
  2300. LS_PRMSG.rowcnt = dw_in.RowCount()
  2301. uo_print.FACT_PRINT_MSG = LS_PRMSG
  2302. String arg_msg
  2303. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  2304. MessageBox("错误",arg_msg,stopsign!,OK!)
  2305. RETURN
  2306. END IF
  2307. uo_print.ds_print()
  2308. //**更新打印次料
  2309. f_update_printnum('u_buytask',1,dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  2310. end event
  2311. event ue_rpt_viewprint;call super::ue_rpt_viewprint;if not f_power_ind(391) then
  2312. messagebox('提示','你没有使用权限!',information!,OK!)
  2313. return
  2314. end if
  2315. Long row,uc_relid,ll_scid
  2316. row = dw_pageretr.GetRow()
  2317. IF row = 0 THEN RETURN
  2318. IF ls_rpname = '' THEN RETURN
  2319. IF li_auditprint = 1 THEN
  2320. IF dw_pageretr.Object.u_order_wfjg_status[row] = 0 THEN
  2321. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  2322. RETURN
  2323. END IF
  2324. END IF
  2325. s_rpt_print_msg s_print
  2326. s_print.retr_pram_falg = 15
  2327. s_print.rpid = ls_msgprintid_rpt
  2328. s_print.retr_flag = TRUE
  2329. s_print.tag_text = THIS.Title
  2330. s_print.rpname = ls_rpname
  2331. s_print.retr_scid = dw_pageretr.Object.u_order_wfjg_scid[row]
  2332. s_print.retr_pramnmb = dw_pageretr.Object.u_order_wfjg_wfjgid[row]
  2333. s_print.rowcnt = dw_in.RowCount()
  2334. OpenWithParm(w_rpt_preview,s_print)
  2335. //**更新打印次料
  2336. string arg_msg
  2337. f_update_printnum('u_buytask',1,dw_pageretr.Object.u_order_wfjg_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_order_wfjg_wfjgid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  2338. end event
  2339. event ue_copycol;IF NOT dw_edit_mode THEN
  2340. MessageBox('提示','非编辑状态下不可用',information!,OK!)
  2341. RETURN
  2342. END IF
  2343. IF tab_1.SelectedTab = 1 THEN
  2344. dw_in.SetFocus()
  2345. dw_in.Copy()
  2346. ELSE
  2347. dw_out.SetFocus()
  2348. dw_out.Copy()
  2349. END IF
  2350. end event
  2351. event ue_copyrow;IF NOT dw_edit_mode THEN RETURN
  2352. Long ll_childrow
  2353. Long ll_i
  2354. Long ll_j
  2355. IF tab_1.SelectedTab = 1 THEN
  2356. ll_childrow = dw_in.GetRow()
  2357. IF ll_childrow = 0 THEN
  2358. MessageBox('提示','请选择复制对象!',information!,OK!)
  2359. RETURN
  2360. END IF
  2361. ll_j = 0
  2362. FOR ll_i = 1 TO dw_in.RowCount()
  2363. IF dw_in.IsSelected(ll_i) THEN
  2364. ll_j++
  2365. dw_in.RowsCopy (ll_i,ll_i,Primary!,ds_copy_in,ll_j,Primary!)
  2366. END IF
  2367. NEXT
  2368. FOR ll_i = 1 TO ds_copy_in.RowCount()
  2369. ds_copy_in.RowsCopy (ll_i,ll_i,Primary!,dw_in,ll_childrow + ll_i,Primary!)
  2370. NEXT
  2371. ds_copy_in.Reset()
  2372. dw_in.SelectRow(0,FALSE)
  2373. dw_in.SetRow(ll_childrow + 1)
  2374. dw_in.ScrollToRow(ll_childrow + 1)
  2375. dw_in.SelectRow(ll_childrow + 1,TRUE)
  2376. ELSE
  2377. ll_childrow = dw_in.GetRow()
  2378. IF ll_childrow = 0 THEN
  2379. MessageBox('提示','请选择复制对象!',information!,OK!)
  2380. RETURN
  2381. END IF
  2382. FOR ll_i = 1 TO dw_in.RowCount()
  2383. IF dw_in.IsSelected(ll_i) THEN
  2384. ll_j++
  2385. dw_in.RowsCopy (ll_i,ll_i,Primary!,ds_copy_out,ll_j,Primary!)
  2386. END IF
  2387. NEXT
  2388. FOR ll_i = 1 TO ds_copy_out.RowCount()
  2389. ds_copy_out.RowsCopy (ll_i,ll_i,Primary!,dw_in,ll_childrow + ll_i,Primary!)
  2390. NEXT
  2391. ds_copy_out.Reset()
  2392. dw_in.SelectRow(0,FALSE)
  2393. dw_in.SetRow(ll_childrow + 1)
  2394. dw_in.ScrollToRow(ll_childrow + 1)
  2395. dw_in.SelectRow(ll_childrow + 1,TRUE)
  2396. END IF
  2397. end event
  2398. event ue_cutcol;IF NOT dw_edit_mode THEN
  2399. MessageBox('提示','非编辑状态下不可用',information!,OK!)
  2400. RETURN
  2401. END IF
  2402. IF tab_1.SelectedTab = 1 THEN
  2403. dw_in.SetFocus()
  2404. dw_in.Cut()
  2405. ELSE
  2406. dw_out.SetFocus()
  2407. dw_out.Cut()
  2408. END IF
  2409. end event
  2410. event ue_insertmx;Long ll_childrow,li_row
  2411. IF tab_1.SelectedTab = 1 THEN
  2412. ll_childrow = dw_in.GetRow()
  2413. li_row = dw_in.InsertRow(ll_childrow)
  2414. dw_in.SelectRow(0,FALSE)
  2415. dw_in.SetRow(li_row)
  2416. dw_in.ScrollToRow(li_row)
  2417. dw_in.SelectRow(li_row,TRUE)
  2418. ELSE
  2419. ll_childrow = dw_out.GetRow()
  2420. li_row = dw_out.InsertRow(ll_childrow)
  2421. dw_out.SelectRow(0,FALSE)
  2422. dw_out.SetRow(li_row)
  2423. dw_out.ScrollToRow(li_row)
  2424. dw_out.SelectRow(li_row,TRUE)
  2425. END IF
  2426. end event
  2427. event ue_pastecol;IF NOT dw_edit_mode THEN
  2428. MessageBox('提示','非编辑状态下不可用',information!,OK!)
  2429. RETURN
  2430. END IF
  2431. IF tab_1.SelectedTab = 1 THEN
  2432. dw_in.SetFocus()
  2433. dw_in.Paste()
  2434. ELSE
  2435. dw_out.SetFocus()
  2436. dw_out.Paste()
  2437. END IF
  2438. end event
  2439. event ue_bill_copy;String arg_msg = ''
  2440. IF wf_copy(arg_msg) = 1 THEN
  2441. MessageBox('系统提示','复制成功')
  2442. ELSE
  2443. MessageBox('系统提示',arg_msg)
  2444. END IF
  2445. end event
  2446. event ue_bill_paste;String arg_msg = ''
  2447. IF wf_paste(arg_msg) = 1 THEN
  2448. MessageBox('系统提示','复制成功')
  2449. ELSE
  2450. MessageBox('系统提示',arg_msg)
  2451. END IF
  2452. end event
  2453. event ue_f7;call super::ue_f7;//引入销售订单
  2454. //dw_in.doubleclicked调用
  2455. IF NOT dw_edit_mode THEN RETURN
  2456. uo_spt_price uo_mtrl_spt_p
  2457. String arg_msg
  2458. Long child_row
  2459. Long ls_sptid
  2460. Decimal ls_price,ls_rebate
  2461. Long ll_storageid
  2462. dw_in.AcceptText()
  2463. child_row = dw_in.GetRow()
  2464. IF child_row <= 0 THEN
  2465. child_row = dw_in.InsertRow(0)
  2466. END IF
  2467. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  2468. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  2469. THIS.TriggerEvent("ue_f9")
  2470. END IF
  2471. ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row]
  2472. IF ll_storageid = 0 THEN
  2473. MessageBox('提示','请选择仓库',information!,OK!)
  2474. RETURN
  2475. END IF
  2476. uo_mtrl_spt_p = CREATE uo_spt_price
  2477. THIS.Enabled = FALSE
  2478. dw_uc.AcceptText()
  2479. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  2480. IF NOT IsValid(w_order_wfjg_wfjgmx_ch) THEN
  2481. s_edit_index_tran s_tranf8 //传递参数使用
  2482. s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  2483. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  2484. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  2485. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  2486. s_tranf8.if_select_all = TRUE //多选
  2487. s_tranf8.e_long = cur_scid
  2488. Long chc = 1,ls_j
  2489. IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.GetRow()])
  2490. OpenWithParm(w_order_wfjg_wfjgmx_ch,s_tranf8) //调用
  2491. s_mtrldef_wfjg_array S_INSCUST
  2492. S_INSCUST = Message.PowerObjectParm //接受返回结构
  2493. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  2494. IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  2495. IF dw_in.GetRow() > 0 THEN
  2496. IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN
  2497. child_row = dw_in.InsertRow (0)
  2498. ELSE
  2499. child_row = dw_in.GetRow()
  2500. END IF
  2501. ELSE
  2502. child_row = dw_in.InsertRow (0)
  2503. END IF
  2504. dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  2505. dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j]
  2506. dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  2507. dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  2508. dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  2509. dw_in.Object.u_order_wfjgmx_qty[child_row] = S_INSCUST.qty[ls_j]
  2510. dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
  2511. dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  2512. dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  2513. dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  2514. dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  2515. dw_in.Object.u_order_wfjgMx_relprintid[child_row] = S_INSCUST.relprintid[ls_j]
  2516. dw_in.Object.u_order_wfjgMx_relcode[child_row] = S_INSCUST.relcode[ls_j]
  2517. dw_in.Object.u_order_wfjgMx_orderid[child_row] = S_INSCUST.orderid[ls_j]
  2518. //导入价格
  2519. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  2520. String ls_sptmtrlname
  2521. String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  2522. ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row]
  2523. ls_status = dw_in.Object.u_order_wfjgmx_status[child_row]
  2524. ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row]
  2525. ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row]
  2526. 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
  2527. IF S_INSCUST.planprice[ls_j] = 0 THEN
  2528. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j]
  2529. ELSE
  2530. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j]
  2531. END IF
  2532. ELSE
  2533. dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost
  2534. END IF
  2535. END IF
  2536. NEXT
  2537. THIS.TriggerEvent('ue_allowedit_in')
  2538. dw_in.SetFocus()
  2539. dw_in.SetColumn('u_order_wfjgmx_jgdscrp')
  2540. END IF
  2541. DESTROY uo_mtrl_spt_p
  2542. THIS.Enabled = TRUE
  2543. IF cbx_autocmpl.Checked THEN
  2544. wf_in_to_out(arg_msg)
  2545. END IF
  2546. end event
  2547. event ue_f12;call super::ue_f12;//引入销售订单需求明细
  2548. //dw_in.doubleclicked调用
  2549. IF Not dw_edit_mode THEN RETURN
  2550. uo_spt_price uo_mtrl_spt_p
  2551. String arg_msg
  2552. Long child_row
  2553. Long ls_sptid
  2554. Decimal ls_price,ls_rebate
  2555. Long ll_storageid
  2556. dw_in.AcceptText()
  2557. child_row = dw_in.GetRow()
  2558. IF child_row <= 0 THEN
  2559. child_row = dw_in.InsertRow(0)
  2560. END IF
  2561. //订单材料外协
  2562. Long ll_buildtype
  2563. ll_buildtype = dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()]
  2564. IF ll_buildtype <> 2 THEN
  2565. MessageBox('NO','单据类型请选择《订单材料外协》')
  2566. RETURN
  2567. END IF
  2568. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  2569. IF IsNull(ls_sptid) Or ls_sptid = 0 THEN
  2570. This.TriggerEvent("ue_f9")
  2571. END IF
  2572. ll_storageid = dw_in.Object.u_order_wfjgmx_storageid[child_row]
  2573. IF ll_storageid = 0 THEN
  2574. MessageBox('提示','请选择仓库',information!,OK!)
  2575. RETURN
  2576. END IF
  2577. uo_mtrl_spt_p = Create uo_spt_price
  2578. This.Enabled = False
  2579. dw_uc.AcceptText()
  2580. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  2581. IF Not IsValid(w_order_wfjg_wfjgmx_ch2) THEN
  2582. s_edit_index_tran s_tranf8 //传递参数使用
  2583. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  2584. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  2585. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  2586. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  2587. s_tranf8.if_select_all = True //多选
  2588. s_tranf8.e_long = cur_scid
  2589. Long chc = 1,ls_j
  2590. IF dw_in.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_in.Object.u_mtrldef_mtrlcode[dw_in.GetRow()])
  2591. OpenWithParm(w_order_wfjg_wfjgmx_ch2,s_tranf8) //调用
  2592. s_mtrldef_wfjg_array S_INSCUST
  2593. S_INSCUST = Message.PowerObjectParm //接受返回结构
  2594. FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlid)
  2595. IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  2596. IF dw_in.GetRow() > 0 THEN
  2597. IF dw_in.Object.u_order_wfjgmx_mtrlid[child_row] <> 0 THEN
  2598. child_row = dw_in.InsertRow (0)
  2599. ELSE
  2600. child_row = dw_in.GetRow()
  2601. END IF
  2602. ELSE
  2603. child_row = dw_in.InsertRow (0)
  2604. END IF
  2605. dw_in.Object.u_order_wfjgmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  2606. dw_in.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j]
  2607. dw_in.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  2608. dw_in.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  2609. dw_in.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  2610. dw_in.Object.u_order_wfjgmx_qty[child_row] = S_INSCUST.qty[ls_j]
  2611. dw_in.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
  2612. dw_in.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  2613. dw_in.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
  2614. dw_in.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
  2615. dw_in.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
  2616. dw_in.Object.u_order_wfjgMx_relprintid[child_row] = S_INSCUST.relprintid[ls_j]
  2617. dw_in.Object.u_order_wfjgMx_relcode[child_row] = S_INSCUST.relcode[ls_j]
  2618. dw_in.Object.u_order_wfjgMx_orderid[child_row] = S_INSCUST.orderid[ls_j]
  2619. dw_in.Object.u_order_wfjgMx_relid2[child_row] = S_INSCUST.relid2[ls_j]
  2620. dw_in.Object.u_saletask_relcode[child_row] = S_INSCUST.taskrelcode[ls_j]
  2621. //导入价格
  2622. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  2623. // String arg_msg
  2624. String ls_sptmtrlname
  2625. String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  2626. ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row]
  2627. ls_status = dw_in.Object.u_order_wfjgmx_status[child_row]
  2628. ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row]
  2629. ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row]
  2630. 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
  2631. IF S_INSCUST.planprice[ls_j] = 0 THEN
  2632. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.lmbuyprice[ls_j]
  2633. ELSE
  2634. dw_in.Object.u_order_wfjgmx_price[child_row] = S_INSCUST.planprice[ls_j]
  2635. END IF
  2636. ELSE
  2637. dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost
  2638. END IF
  2639. END IF
  2640. NEXT
  2641. This.TriggerEvent('ue_allowedit_in')
  2642. dw_in.SetFocus()
  2643. dw_in.SetColumn('u_order_wfjgmx_jgdscrp')
  2644. END IF
  2645. Destroy uo_mtrl_spt_p
  2646. This.Enabled = True
  2647. IF cbx_autocmpl.Checked THEN
  2648. wf_in_to_out(arg_msg)
  2649. END IF
  2650. end event
  2651. event ue_rowdown;//
  2652. Long ll_row
  2653. datawindow dw
  2654. IF tab_1.SelectedTab = 1 THEN
  2655. dw = dw_in
  2656. else
  2657. dw = dw_out
  2658. end if
  2659. ll_row = dw.GetRow()
  2660. IF ll_row < dw.rowcount() THEN
  2661. dw.RowsMove(ll_row + 1, ll_row + 1, Primary!, dw, ll_row, Primary!)
  2662. dw.SelectRow(0, False)
  2663. dw.SetRow( ll_row + 1)
  2664. dw.SelectRow(ll_row + 1, True)
  2665. END IF
  2666. end event
  2667. event ue_rowup;Long ll_row
  2668. datawindow dw
  2669. IF tab_1.SelectedTab = 1 THEN
  2670. dw = dw_in
  2671. else
  2672. dw = dw_out
  2673. end if
  2674. ll_row = dw.GetRow()
  2675. IF ll_row > 1 THEN
  2676. dw.RowsMove(ll_row, ll_row, Primary!, dw, ll_row - 1, Primary!)
  2677. dw.SelectRow(0, False)
  2678. dw.SetRow( ll_row - 1)
  2679. dw.SelectRow(ll_row - 1, True)
  2680. END IF
  2681. end event
  2682. type cb_func from w_publ_1ton_share_detail`cb_func within w_order_wfjg
  2683. integer taborder = 20
  2684. end type
  2685. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_order_wfjg
  2686. integer taborder = 340
  2687. end type
  2688. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_order_wfjg
  2689. integer x = 215
  2690. integer width = 471
  2691. end type
  2692. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_order_wfjg
  2693. integer x = 3035
  2694. integer taborder = 300
  2695. end type
  2696. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_order_wfjg
  2697. integer x = 2706
  2698. integer y = 48
  2699. integer width = 320
  2700. integer taborder = 280
  2701. end type
  2702. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_order_wfjg
  2703. integer x = 1915
  2704. integer width = 1614
  2705. integer height = 1012
  2706. integer taborder = 30
  2707. string title = "外协订单摘要内容"
  2708. string dataobject = "dw_order_wfjg_index"
  2709. end type
  2710. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_statusbtn_fc()
  2711. wf_check_billfj()
  2712. if currentrow<=0 then dw_child.reset()
  2713. end event
  2714. event dw_pageretr::retrieveend;wf_statusbtn_fc()
  2715. end event
  2716. type st_1 from w_publ_1ton_share_detail`st_1 within w_order_wfjg
  2717. integer x = 0
  2718. integer width = 192
  2719. integer height = 60
  2720. string text = "编号含"
  2721. alignment alignment = right!
  2722. end type
  2723. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_order_wfjg
  2724. integer x = 3186
  2725. integer taborder = 330
  2726. end type
  2727. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_order_wfjg
  2728. integer width = 1911
  2729. integer height = 1020
  2730. string dataobject = "dw_order_wfjg_input"
  2731. end type
  2732. event dw_uc::dwnkey;parent.triggerevent('user_key')
  2733. if key = KeyDownArrow! then return 1
  2734. if dw_edit_mode then
  2735. if dw_uc.GetColumnName ( )='u_order_wfjg_dscrp' and key = KeyEnter! then
  2736. dw_child.scrolltorow(1)
  2737. dw_child.setfocus()
  2738. dw_child.SetColumn ('u_order_ml_ordercode')
  2739. Return 1
  2740. elseif dw_uc.GetColumnName ( )='sptcode' and key = KeyEnter! then
  2741. String ls_code,ls_name,ls_find_code
  2742. Long ls_sptid
  2743. Long cnt = 0
  2744. Boolean if_find = FALSE
  2745. dw_uc.AcceptText()
  2746. ls_code = Upper(Trim(dw_uc.Object.sptcode[dw_uc.GetRow()]))
  2747. SELECT u_spt.sptid,
  2748. u_spt.name,
  2749. u_spt.sptcode
  2750. INTO :ls_sptid,:ls_name,:ls_code
  2751. FROM u_spt
  2752. Where ( sptcode = :ls_code OR Name = :ls_code );
  2753. IF sqlca.SQLCode <> 0 THEN
  2754. IF Pos(Trim(ls_code),'%') = 0 THEN
  2755. ls_find_code = '%'+ Trim(ls_code) + '%'
  2756. ELSE
  2757. ls_find_code = Trim(ls_code)
  2758. END IF
  2759. SELECT count(*) INTO :cnt
  2760. FROM u_spt
  2761. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  2762. IF sqlca.SQLCode <> 0 THEN
  2763. PARENT.TriggerEvent('ue_f9')
  2764. RETURN 1
  2765. END IF
  2766. IF cnt <> 1 THEN
  2767. PARENT.TriggerEvent('ue_f9')
  2768. RETURN 1
  2769. ELSE
  2770. SELECT u_spt.sptid,
  2771. u_spt.sptcode,
  2772. u_spt.name
  2773. INTO :ls_sptid,:ls_code,:ls_name
  2774. FROM u_spt
  2775. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  2776. IF sqlca.SQLCode <> 0 THEN
  2777. PARENT.TriggerEvent('ue_f9')
  2778. RETURN 1
  2779. ELSE
  2780. if_find = TRUE
  2781. END IF
  2782. END IF
  2783. ELSE
  2784. if_find = TRUE
  2785. END IF
  2786. IF if_find THEN
  2787. dw_uc.SetRedraw(FALSE)
  2788. dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()] = ls_sptid
  2789. dw_uc.Object.sptcode[dw_uc.GetRow()] = ls_code
  2790. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  2791. dw_uc.SetRedraw(TRUE)
  2792. dw_uc.SetColumn("u_order_wfjg_dscrp")
  2793. RETURN 1
  2794. END IF
  2795. else
  2796. if key = KeyEnter! Then //
  2797. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2798. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2799. Return 1
  2800. end If
  2801. end if
  2802. end if
  2803. end event
  2804. event dw_uc::clicked;call super::clicked;if not dw_edit_mode then return
  2805. if row <= 0 then return
  2806. if dwo.name='p_p' then
  2807. parent.TRIGGEREVENT('ue_f9')
  2808. end if
  2809. IF dw_edit_mode THEN
  2810. Long ll_billtype
  2811. ll_billtype = dw_uc.Object.u_order_wfjg_billtype[row]
  2812. IF dwo.Name = 'p_task' Or dwo.Name = 't_task' THEN
  2813. //IF ll_billtype = 2 THEN //订单材料采购
  2814. // Parent.TriggerEvent('ue_f11')
  2815. //ELSE
  2816. Parent.TriggerEvent('ue_f12')
  2817. ELSEIF dwo.Name = 't_task2' or dwo.Name = 'p_task2' THEN
  2818. Parent.TriggerEvent('ue_f13')
  2819. //END IF
  2820. ELSEIF dwo.Name = 'p_banktype' THEN
  2821. Parent.TriggerEvent('ue_ch_banktype')
  2822. END IF
  2823. END IF
  2824. end event
  2825. event dw_uc::itemchanged;call super::itemchanged;IF dwo.Name = 'u_order_wfjg_billtype' THEN
  2826. dw_in.Reset()
  2827. PARENT.TriggerEvent("insert_childrow")
  2828. end if
  2829. end event
  2830. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_order_wfjg
  2831. end type
  2832. type dw_child from w_publ_1ton_share_detail`dw_child within w_order_wfjg
  2833. boolean visible = false
  2834. integer x = 133
  2835. integer y = 700
  2836. integer width = 873
  2837. integer height = 52
  2838. integer taborder = 250
  2839. string title = "计划收货明细"
  2840. string dataobject = "dw_order_wfjg_mx_edit"
  2841. end type
  2842. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  2843. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_ordercode,ls_relcode
  2844. Long ls_mtrlid,ls_sptid,ls_orderid
  2845. Dec ls_planprice,ls_lmbuyprice,ls_price,ls_rebate
  2846. Long cnt
  2847. Long child_row
  2848. Long ls_null
  2849. SetNull(ls_null)
  2850. String arg_msg = ''
  2851. IF dw_edit_mode THEN
  2852. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  2853. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  2854. THIS.TriggerEvent("ue_f9")
  2855. END IF
  2856. IF KeyDown(keydownarrow!) THEN
  2857. Long li_row
  2858. IF dw_child.GetRow() = dw_child.RowCount() THEN
  2859. PARENT.TriggerEvent("insert_childrow")
  2860. END IF
  2861. ELSE
  2862. If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  2863. IF dw_child.GetColumnName() = 'u_order_ml_relcode' THEN
  2864. PARENT.TriggerEvent('ue_f7')
  2865. RETURN 1
  2866. dw_child.Object.u_order_wfjgmx_ordermtrlid[child_row] = ls_mtrlid
  2867. dw_child.Object.u_order_wfjgmx_orderid[child_row] = ls_orderid
  2868. dw_child.Object.u_order_ml_ordercode[child_row] = ls_ordercode
  2869. IF Key = keyenter! THEN
  2870. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2871. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2872. RETURN 1
  2873. END IF
  2874. ELSEIF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  2875. dw_child.AcceptText()
  2876. child_row = dw_child.GetRow()
  2877. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  2878. SELECT u_mtrldef.mtrlid,
  2879. u_mtrldef.mtrlname,
  2880. u_mtrldef.unit,
  2881. u_mtrldef.lmbuyprice,
  2882. u_mtrldef.planprice,
  2883. u_mtrldef.mtrlmode
  2884. INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_lmbuyprice,:ls_planprice,:ls_mtrlmode
  2885. FROM u_mtrldef
  2886. Where ( u_mtrldef.mtrlcode = :ls_mtrlcode);
  2887. IF sqlca.SQLCode = 100 THEN
  2888. dw_child.Object.u_order_wfjgmx_mtrlid[child_row] = 0
  2889. PARENT.TriggerEvent('ue_f8')
  2890. RETURN 1
  2891. END IF
  2892. dw_child.Object.u_order_wfjgmx_mtrlid[child_row] = ls_mtrlid
  2893. dw_child.Object.mtrlname[child_row] = ls_mtrlname
  2894. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  2895. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  2896. uo_spt_price uo_mtrl_spt_p
  2897. uo_mtrl_spt_p = create uo_spt_price
  2898. Decimal ls_1stnewcost,ls_1stzqrate
  2899. // IF uo_mtrl_spt_p.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,0,ls_1stnewcost,ls_1stzqrate,arg_msg) <> 1 THEN
  2900. // dw_child.Object.u_order_wfjgmx_price[child_row] = 0
  2901. // ELSE
  2902. // dw_child.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost
  2903. // END IF
  2904. destroy uo_mtrl_spt_p
  2905. dw_child.Object.plprice[child_row] = ls_planprice
  2906. IF Key = keyenter! THEN
  2907. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2908. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2909. RETURN 1
  2910. END IF
  2911. ELSEIF dw_child.GetColumnName( ) = 'u_order_wfjgmx_dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  2912. PARENT.TriggerEvent("insert_childrow")
  2913. RETURN 1
  2914. ELSE
  2915. IF Key = keyenter! THEN
  2916. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2917. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2918. RETURN 1
  2919. END IF
  2920. END IF
  2921. END IF
  2922. END IF
  2923. END IF
  2924. // u_mtrldef_mtrlcode
  2925. // acprice
  2926. // mtrlid
  2927. // mtrlname
  2928. // plprice
  2929. end event
  2930. event dw_child::doubleclicked;if dw_edit_mode then
  2931. choose case dwo.name
  2932. case 'u_order_ml_relcode'
  2933. parent.triggerevent('ue_f7')
  2934. case else
  2935. parent.triggerevent('ue_f8')
  2936. end choose
  2937. end if
  2938. end event
  2939. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  2940. this.accepttext()
  2941. if dwo.name = 'u_order_wfjgmx_iforder' then
  2942. if this.object.u_order_wfjgmx_iforder[row] = 0 then
  2943. dw_child.object.u_order_wfjgmx_orderid[row] = 0
  2944. dw_child.object.u_order_ml_relcode[row] = ''
  2945. dw_child.object.u_mtrldef_mtrlcode_1[row] = ''
  2946. dw_child.object.u_order_ml_ordercode[row] = ''
  2947. end if
  2948. end if
  2949. end event
  2950. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_order_wfjg
  2951. end type
  2952. type cb_print from w_publ_1ton_share_detail`cb_print within w_order_wfjg
  2953. integer taborder = 240
  2954. end type
  2955. type cb_add from w_publ_1ton_share_detail`cb_add within w_order_wfjg
  2956. end type
  2957. event cb_add::clicked;IF NOT f_power_ind(40) THEN
  2958. MessageBox('提示','你没有使用权限!',information!,OK!)
  2959. RETURN
  2960. END IF
  2961. String arg_msg = ''
  2962. Long uc_row,pagerert_row
  2963. Long relid_pageretr,reld_uc,i,j
  2964. IF dw_edit_mode THEN
  2965. dw_uc.AcceptText()
  2966. dw_in.AcceptText()
  2967. tab_1.tabpage_1.dw_1.AcceptText()
  2968. tab_1.tabpage_2.dw_2.AcceptText()
  2969. uc_row = dw_uc.GetRow()
  2970. IF uc_row <= 0 THEN
  2971. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  2972. RETURN
  2973. END IF
  2974. IF Year(Date(dw_uc.Object.u_order_wfjg_Requiredate[uc_row])) < 2000 THEN
  2975. MessageBox('提示','要求完成日期为空或不合理!',information!,OK!)
  2976. dw_uc.SetFocus()
  2977. dw_uc.SetColumn("u_order_wfjg_Requiredate")
  2978. RETURN
  2979. END IF
  2980. IF NOT Len(String(dw_uc.Object.u_order_wfjg_Assign_emp[uc_row])) > 0 THEN
  2981. MessageBox('提示','请填写负责人!',information!,OK!)
  2982. dw_uc.SetFocus()
  2983. dw_uc.SetColumn("u_order_wfjg_Assign_emp")
  2984. RETURN
  2985. END IF
  2986. uo_wfjg.Requiredate = dw_uc.Object.u_order_wfjg_Requiredate[uc_row] //要求完成日期
  2987. uo_wfjg.Assign_emp = dw_uc.Object.u_order_wfjg_Assign_emp[uc_row] //订单负责人
  2988. uo_wfjg.sptID = dw_uc.Object.u_order_wfjg_sptID[uc_row]
  2989. uo_wfjg.dscrp = dw_uc.Object.u_order_wfjg_dscrp[uc_row]
  2990. uo_wfjg.billtype = dw_uc.Object.u_order_wfjg_billtype[uc_row]
  2991. uo_wfjg.banktypeid = dw_uc.Object.u_order_wfjg_banktypeid[uc_row]
  2992. FOR i = 1 TO dw_in.RowCount()
  2993. IF dw_in.Object.u_order_wfjgmx_mtrlid[i] > 0 THEN
  2994. IF uo_wfjg.acceptmx( dw_in.Object.u_order_wfjgmx_mtrlid[i],&
  2995. dw_in.Object.u_order_wfjgmx_qty[i],&
  2996. dw_in.Object.u_order_wfjgmx_price[i],&
  2997. dw_in.Object.u_order_wfjgmx_dscrp[i],&
  2998. dw_in.Object.u_mtrldef_mtrlcode[i],&
  2999. arg_msg,&
  3000. dw_in.Object.pid[i],&
  3001. dw_in.Object.u_order_wfjgmx_requiredate[i],&
  3002. dw_in.Object.u_order_wfjgmx_storageid[i],&
  3003. dw_in.Object.u_order_wfjgmx_jgdscrp[i],&
  3004. dw_in.Object.u_order_wfjgmx_status[i],&
  3005. dw_in.Object.u_order_wfjgmx_woodcode[i],&
  3006. dw_in.Object.u_order_wfjgmx_pcode[i],&
  3007. dw_in.Object.u_order_wfjgmx_relprintid[i],&
  3008. dw_in.Object.u_order_wfjgmx_relid2[i],&
  3009. dw_in.Object.u_order_wfjgmx_relcode[i],&
  3010. dw_in.Object.u_order_wfjgmx_orderid[i],&
  3011. dw_in.Object.u_order_wfjgmx_plancode[i],&
  3012. dw_in.Object.u_order_wfjgmx_mxdscrp2[i],&
  3013. dw_in.Object.u_order_wfjgmx_mxdscrp3[i],&
  3014. dw_in.Object.u_order_wfjgmx_mxdscrp4[i] ) = 0 THEN
  3015. MessageBox('错误',arg_msg,stopsign!,OK!)
  3016. RETURN
  3017. END IF
  3018. END IF
  3019. NEXT
  3020. FOR j = 1 TO dw_out.RowCount()
  3021. IF dw_out.Object.u_order_wfjgmx_out_mtrlid[j] > 0 THEN
  3022. IF uo_wfjg.acceptmx_out( dw_out.Object.u_order_wfjgmx_out_mtrlid[j],&
  3023. dw_out.Object.u_order_wfjgmx_out_qty[j],&
  3024. dw_out.Object.u_order_wfjgmx_out_price[j],&
  3025. dw_out.Object.u_order_wfjgmx_out_dscrp[j],&
  3026. dw_out.Object.u_mtrldef_mtrlcode[j],&
  3027. arg_msg,&
  3028. dw_out.Object.pid[j],&
  3029. dw_out.Object.u_order_wfjgmx_out_storageid[j],&
  3030. dw_out.Object.u_order_wfjgmx_out_status[j],&
  3031. dw_out.Object.u_order_wfjgmx_out_woodcode[j],&
  3032. dw_out.Object.u_order_wfjgmx_out_pcode[j],&
  3033. dw_out.Object.u_order_wfjgmx_out_dscrp2[j],&
  3034. dw_out.Object.u_order_wfjgmx_out_plancode[j],&
  3035. dw_out.Object.u_order_wfjgmx_out_saletaskcode[j]) = 0 THEN
  3036. MessageBox('错误',arg_msg,stopsign!,OK!)
  3037. RETURN
  3038. END IF
  3039. END IF
  3040. NEXT
  3041. IF uo_wfjg.savesubmit(publ_operator,arg_msg,TRUE) = 0 THEN
  3042. MessageBox('错误',arg_msg,stopsign!,OK!)
  3043. RETURN
  3044. END IF
  3045. MessageBox('提示','保存操作成功!',information!,OK!)
  3046. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_outrep", String(dw_uc.Object.u_order_wfjg_Assign_emp[dw_uc.GetRow()]))
  3047. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_billtype", String(dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()]))
  3048. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_order_wfjg_banktypeid[dw_uc.GetRow()]))
  3049. Long ll_row
  3050. ll_row = dw_pageretr.GetRow()
  3051. dw_pageretr.SelectRow(0,FALSE)
  3052. dw_pageretr.SelectRow(ll_row,TRUE)
  3053. wf_refresh_curuc(cur_scid,uo_wfjg.wfjgid) //刷新uc
  3054. ELSE
  3055. IF uo_wfjg.newbegin(cur_scid,arg_msg) = 0 THEN //
  3056. MessageBox('错误',arg_msg,stopsign!,OK!)
  3057. RETURN
  3058. END IF
  3059. END IF
  3060. IF NOT dw_edit_mode THEN
  3061. Int li_row
  3062. li_row = dw_pageretr.InsertRow (1)
  3063. dw_pageretr.ScrollToRow(li_row)
  3064. dw_child.Reset()
  3065. dw_out.Reset()
  3066. dw_in.Reset()
  3067. dw_uc.Reset()
  3068. dw_uc.SetFocus()
  3069. dw_pageretr.RowsCopy(li_row,li_row, Primary!, dw_uc, 1, Primary!)
  3070. END IF
  3071. dw_edit_mode = NOT dw_edit_mode
  3072. wf_refresh_interface()
  3073. IF dw_edit_mode THEN
  3074. PARENT.TriggerEvent("insert_childrow")
  3075. PARENT.TriggerEvent("insert_childrow_out")
  3076. String ls_outrep
  3077. String ls_billtype
  3078. string ls_banktype
  3079. ls_outrep = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_outrep",'')
  3080. ls_billtype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_billtype",'0')
  3081. ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  3082. dw_uc.Object.u_order_wfjg_Assign_emp[dw_uc.GetRow()] = ls_outrep
  3083. dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()] = Long(ls_billtype)
  3084. dw_uc.Object.u_order_wfjg_banktypeid[dw_uc.GetRow()] = Long(ls_banktype)
  3085. dw_uc.SetFocus()
  3086. dw_uc.SetColumn("u_order_wfjg_requiredate")
  3087. ELSE
  3088. PARENT.TriggerEvent("retrieve_childdw")
  3089. END IF
  3090. end event
  3091. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_order_wfjg
  3092. end type
  3093. event cb_edit::clicked;IF NOT f_power_ind(40) THEN
  3094. MessageBox('提示','你没有使用权限!',information!,OK!)
  3095. RETURN
  3096. END IF
  3097. String arg_msg = ''
  3098. Long uc_row
  3099. uc_row = dw_pageretr.GetRow()
  3100. IF uc_row <= 0 THEN
  3101. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  3102. RETURN
  3103. END IF
  3104. IF NOT dw_edit_mode THEN
  3105. IF uo_wfjg.updatebegin(dw_pageretr.Object.u_order_wfjg_scid[uc_row],dw_pageretr.Object.u_order_wfjg_wfjgid[uc_row],arg_msg) = 0 THEN
  3106. MessageBox('错误',arg_msg,stopsign!,OK!)
  3107. RETURN
  3108. END IF
  3109. PARENT.TriggerEvent('ue_allowedit_in')
  3110. PARENT.TriggerEvent('ue_allowedit_out')
  3111. END IF
  3112. CALL SUPER::Clicked
  3113. end event
  3114. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_order_wfjg
  3115. integer taborder = 260
  3116. end type
  3117. event cb_delet::clicked;call super::clicked;if not f_power_ind(595) then
  3118. messagebox('提示','你没有使用权限!',information!,OK!)
  3119. return
  3120. end if
  3121. //
  3122. if dw_edit_mode then return
  3123. string arg_msg=''
  3124. long uc_row
  3125. uc_row=dw_pageretr.getrow()
  3126. if uc_row<=0 then
  3127. messagebox('提示','请选定当前目标外加工计划!',information!,OK!)
  3128. return
  3129. end if
  3130. IF MessageBox ("询问","是否确定要删除当前吗",Question!,YesNo! ) = 2 THEN RETURN
  3131. if uo_wfjg.cancel(dw_pageretr.object.u_order_wfjg_scid[uc_row],dw_pageretr.object.u_order_wfjg_wfjgid[uc_row],arg_msg,true)=0 then
  3132. messagebox('错误',arg_msg,stopsign!,OK!)
  3133. ELSE
  3134. //日志
  3135. long ls_id
  3136. string ls_code
  3137. ls_id=dw_pageretr.object.u_order_wfjg_wfjgid[uc_row]
  3138. ls_code=dw_pageretr.object.u_order_wfjg_taskCODE[uc_row]
  3139. f_setsysoplog('外协计划','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  3140. //--
  3141. MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.u_order_wfjg_taskCODE[uc_row])+'成功!',information!,OK!)
  3142. dw_pageretr.deleterow(uc_row)
  3143. dw_pageretr.postevent(rowfocuschanged!)
  3144. end if
  3145. end event
  3146. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_order_wfjg
  3147. end type
  3148. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  3149. String menustr
  3150. IF NOT dw_edit_mode THEN
  3151. menustr = "Text=增加备注~tEvent=ue_addzy"
  3152. menustr = menustr + "|" + "Text=-"
  3153. menustr = menustr + "|" + "Text=暂停计划~tEvent=ue_tempstoptask"
  3154. menustr = menustr + "|" + "Text=取消暂停~tEvent=ue_ctempstoptask"
  3155. menustr = menustr + "|" + "Text=终止计划~tEvent=ue_stopsaletask"
  3156. menustr = menustr + "|" + "Text=完成计划~tEvent=ue_finishtask"
  3157. menustr = menustr + "|" + "Text=取消完成~tEvent=ue_cfinishtask"
  3158. menustr = menustr + "|" + "Text=-"
  3159. menustr = menustr + "|" + "Text=中止收货明细~tEvent=ue_stopmx"
  3160. menustr = menustr + "|" + "Text=取消中止收货明细~tEvent=ue_cstopmx"
  3161. menustr = menustr + "|" + "Text=-"
  3162. menustr = menustr + "|" + "Text=中止发出明细~tEvent=ue_stopmx1"
  3163. menustr = menustr + "|" + "Text=取消中止发出明细~tEvent=ue_cstopmx1"
  3164. menustr = menustr + "|" + "Text=-"
  3165. //else
  3166. // menustr="Text=导入供应商历史价~tEvent=ue_importprice_his"
  3167. // menustr=menustr + "|" + "Text=导入供应商历史价~tEvent=ue_importprice_his"
  3168. END IF
  3169. menustr = menustr + "|" + "Text=复制单据~tEvent=ue_copy"
  3170. menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_paste"
  3171. menustr = menustr + "|" + "Text=-"
  3172. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  3173. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  3174. IF Len(Trim(menustr)) <> 0 THEN
  3175. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  3176. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  3177. dmPopupMenu.mf_PopMenu()
  3178. DESTROY dmPopupMenu
  3179. END IF
  3180. end event
  3181. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_order_wfjg
  3182. integer taborder = 290
  3183. end type
  3184. event cb_auditing::clicked;call super::clicked;if not f_power_ind(41) then
  3185. messagebox('提示','你没有使用权限!',information!,OK!)
  3186. return
  3187. end if
  3188. if dw_edit_mode then return
  3189. string arg_msg=''
  3190. long pagerert_row
  3191. pagerert_row=dw_pageretr.getrow()
  3192. if pagerert_row<=0 then
  3193. messagebox('提示','请选定当前目标外协计划!',information!,OK!)
  3194. return
  3195. end if
  3196. IF MessageBox ("询问","是否确定要对当前外协计划作审核吗?",Question!,YesNo! ) = 2 THEN RETURN
  3197. if uo_wfjg.firstpermit(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],publ_operator,arg_msg,true)=0 then
  3198. messagebox('错误',arg_msg,stopsign!,OK!)
  3199. ELSE
  3200. messagebox('提示','外协计划审核成功!',information!,OK!)
  3201. if cur_status <> -1 then
  3202. dw_pageretr.deleterow(pagerert_row)
  3203. else
  3204. wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row])
  3205. end if
  3206. end if
  3207. end event
  3208. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_order_wfjg
  3209. end type
  3210. event cb_xm::clicked;
  3211. m_Dfc_Control_PopupMenu dmPopupMenu
  3212. String menustr
  3213. IF dw_edit_mode THEN
  3214. menustr = "Text=增计划收货明细~tEvent=ue_addmx"
  3215. menustr = menustr + "|" + "Text=删计划收货明细~tEvent=ue_deletemx"
  3216. menustr = menustr + "|" + "Text=-"
  3217. menustr = menustr + "|" + "Text=批设定收入仓库~tEvent=ue_p_storageid_in"
  3218. menustr = menustr + "|" + "Text=批设定发出仓库~tEvent=ue_p_storageid_out"
  3219. menustr = menustr + "|" + "Text=批设定回厂日期~tEvent=ue_p_rqdate"
  3220. menustr = menustr + "|" + "Text=批设定工艺~tEvent=ue_p_jgdscrp"
  3221. END IF
  3222. IF Trim(is_mx_menustr) <> '' THEN
  3223. IF dw_edit_mode THEN
  3224. menustr = menustr + "|" + "Text=-"
  3225. END IF
  3226. menustr = menustr + is_mx_menustr
  3227. END IF
  3228. IF if_MtrlPicView THEN
  3229. IF Trim(menustr) <> "" THEN
  3230. menustr = menustr + "|" + "Text=-"
  3231. menustr = menustr + "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  3232. ELSE
  3233. menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  3234. END IF
  3235. END IF
  3236. IF Len(Trim(menustr)) <> 0 THEN
  3237. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  3238. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  3239. dmPopupMenu.mf_PopMenu()
  3240. DESTROY dmPopupMenu
  3241. END IF
  3242. end event
  3243. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_order_wfjg
  3244. integer taborder = 200
  3245. end type
  3246. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_order_wfjg
  3247. end type
  3248. type cb_help from w_publ_1ton_share_detail`cb_help within w_order_wfjg
  3249. end type
  3250. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_order_wfjg
  3251. end type
  3252. event cb_auditing_cancel::clicked;call super::clicked;if not f_power_ind(42) then
  3253. messagebox('提示','你没有使用权限!',information!,OK!)
  3254. return
  3255. end if
  3256. if dw_edit_mode then return
  3257. string arg_msg=''
  3258. long pagerert_row
  3259. pagerert_row=dw_pageretr.getrow()
  3260. if pagerert_row<=0 then
  3261. messagebox('提示','请选定当前目标外协计划!',information!,OK!)
  3262. return
  3263. end if
  3264. IF MessageBox ("询问","是否确定要对当前外协计划作取消审核吗?",Question!,YesNo! ) = 2 THEN RETURN
  3265. if uo_wfjg.cancelpermit(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row],arg_msg,true)=0 then
  3266. messagebox('错误',arg_msg,stopsign!,OK!)
  3267. ELSE
  3268. //日志
  3269. long ls_id
  3270. string ls_code
  3271. ls_id=dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row]
  3272. ls_code=dw_pageretr.object.u_order_wfjg_taskCODE[pagerert_row]
  3273. f_setsysoplog('外协计划','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  3274. //--
  3275. messagebox('提示','外协计划取消审核成功!',information!,OK!)
  3276. if cur_status <> -1 then
  3277. dw_pageretr.deleterow(pagerert_row)
  3278. else
  3279. wf_refresh_curuc(dw_pageretr.object.u_order_wfjg_scid[pagerert_row],dw_pageretr.object.u_order_wfjg_wfjgid[pagerert_row])
  3280. end if
  3281. end if
  3282. end event
  3283. type p_msg from w_publ_1ton_share_detail`p_msg within w_order_wfjg
  3284. end type
  3285. type p_help from w_publ_1ton_share_detail`p_help within w_order_wfjg
  3286. end type
  3287. type p_encl from w_publ_1ton_share_detail`p_encl within w_order_wfjg
  3288. end type
  3289. type p_other from w_publ_1ton_share_detail`p_other within w_order_wfjg
  3290. end type
  3291. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_order_wfjg
  3292. end type
  3293. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_order_wfjg
  3294. end type
  3295. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_order_wfjg
  3296. end type
  3297. type r_bar from w_publ_1ton_share_detail`r_bar within w_order_wfjg
  3298. end type
  3299. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_order_wfjg
  3300. end type
  3301. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_order_wfjg
  3302. end type
  3303. type st_13 from statictext within w_order_wfjg
  3304. integer x = 1467
  3305. integer y = 204
  3306. integer width = 192
  3307. integer height = 64
  3308. integer textsize = -9
  3309. integer weight = 400
  3310. fontcharset fontcharset = gb2312charset!
  3311. fontpitch fontpitch = variable!
  3312. string facename = "宋体"
  3313. long textcolor = 33554432
  3314. long backcolor = 134217739
  3315. boolean enabled = false
  3316. string text = "状 态"
  3317. alignment alignment = right!
  3318. boolean focusrectangle = false
  3319. end type
  3320. type st_2 from statictext within w_order_wfjg
  3321. integer x = 750
  3322. integer y = 204
  3323. integer width = 192
  3324. integer height = 48
  3325. boolean bringtotop = true
  3326. integer textsize = -9
  3327. integer weight = 400
  3328. fontcharset fontcharset = gb2312charset!
  3329. fontpitch fontpitch = variable!
  3330. string facename = "宋体"
  3331. long textcolor = 33554432
  3332. long backcolor = 134217739
  3333. string text = "分 部"
  3334. alignment alignment = right!
  3335. boolean focusrectangle = false
  3336. end type
  3337. type ddlb_scid from uo_ddlb_scid within w_order_wfjg
  3338. integer x = 965
  3339. integer y = 188
  3340. integer width = 471
  3341. integer height = 620
  3342. boolean bringtotop = true
  3343. end type
  3344. event constructor;call super::constructor;cur_scid=this.uo_scid
  3345. end event
  3346. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  3347. parent.triggerevent("retrieve_pageretr")
  3348. end event
  3349. type tab_1 from tab within w_order_wfjg
  3350. integer y = 1316
  3351. integer width = 3525
  3352. integer height = 1068
  3353. integer taborder = 340
  3354. boolean bringtotop = true
  3355. integer textsize = -9
  3356. integer weight = 400
  3357. fontcharset fontcharset = gb2312charset!
  3358. fontpitch fontpitch = variable!
  3359. string facename = "宋体"
  3360. long backcolor = 134217739
  3361. boolean raggedright = true
  3362. boolean focusonbuttondown = true
  3363. integer selectedtab = 1
  3364. tabpage_1 tabpage_1
  3365. tabpage_2 tabpage_2
  3366. end type
  3367. on tab_1.create
  3368. this.tabpage_1=create tabpage_1
  3369. this.tabpage_2=create tabpage_2
  3370. this.Control[]={this.tabpage_1,&
  3371. this.tabpage_2}
  3372. end on
  3373. on tab_1.destroy
  3374. destroy(this.tabpage_1)
  3375. destroy(this.tabpage_2)
  3376. end on
  3377. type tabpage_1 from userobject within tab_1
  3378. integer x = 18
  3379. integer y = 96
  3380. integer width = 3488
  3381. integer height = 956
  3382. long backcolor = 134217739
  3383. string text = "计划收货明细"
  3384. long tabtextcolor = 33554432
  3385. long tabbackcolor = 134217739
  3386. long picturemaskcolor = 536870912
  3387. dw_1 dw_1
  3388. end type
  3389. on tabpage_1.create
  3390. this.dw_1=create dw_1
  3391. this.Control[]={this.dw_1}
  3392. end on
  3393. on tabpage_1.destroy
  3394. destroy(this.dw_1)
  3395. end on
  3396. type dw_1 from u_dw_rbtnfilter within tabpage_1
  3397. event ue_dwndropdown pbm_dwndropdown
  3398. integer width = 3479
  3399. integer height = 944
  3400. integer taborder = 20
  3401. string dataobject = "dw_order_wfjg_mx_edit"
  3402. boolean hscrollbar = true
  3403. boolean vscrollbar = true
  3404. boolean rbutton_setposition_use = true
  3405. end type
  3406. event ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN
  3407. String ls_col_pz,ls_col_mtrlid
  3408. String ls_pz_ch
  3409. Long ll_row,ll_mtrlid
  3410. s_pzwin_open arg_s_win
  3411. ll_row = THIS.GetRow()
  3412. IF ll_row > 0 THEN
  3413. ls_col_mtrlid = THIS.Describe("#1.Name")
  3414. IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
  3415. ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
  3416. ls_col_pz = THIS.GetColumnName( )
  3417. arg_s_win.arg_x = THIS.X + PARENT.X + THIS.PointerX() + tab_1.X
  3418. arg_s_win.arg_y = THIS.Y + PARENT.Y + THIS.PointerY() + tab_1.Y
  3419. arg_s_win.arg_col = ls_col_pz
  3420. arg_s_win.arg_mtrlid = ll_mtrlid
  3421. ls_pz_ch = f_mtrl_pz(arg_s_win)
  3422. IF ls_pz_ch = '' THEN RETURN
  3423. THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  3424. END IF
  3425. end event
  3426. event doubleclicked;IF dw_edit_mode THEN
  3427. Long ls_billtype
  3428. dw_uc.AcceptText()
  3429. ls_billtype = dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()]
  3430. IF ls_billtype = 0 THEN
  3431. PARENT.GetParent().GetParent().TriggerEvent('ue_f8')
  3432. ELSEIF ls_billtype = 1 THEN
  3433. PARENT.GetParent().GetParent().TriggerEvent('ue_f7')
  3434. ELSE
  3435. PARENT.GetParent().GetParent().TriggerEvent('ue_f12')
  3436. END IF
  3437. END IF
  3438. end event
  3439. event itemchanged;call super::itemchanged;if not dw_edit_mode then return
  3440. this.accepttext()
  3441. if dwo.name = 'u_order_wfjgmx_iforder' then
  3442. if this.object.u_order_wfjgmx_iforder[row] = 0 then
  3443. this.object.u_order_wfjgmx_orderid[row] = 0
  3444. this.object.u_order_ml_relcode[row] = ''
  3445. this.object.u_mtrldef_mtrlcode_1[row] = ''
  3446. this.object.u_order_ml_ordercode[row] = ''
  3447. end if
  3448. end if
  3449. //string arg_msg
  3450. //IF dwo.name = 'u_order_wfjgmx_qty' then
  3451. // wf_in_to_out(arg_msg)
  3452. //end if
  3453. end event
  3454. event dwnkey;call super::dwnkey;PARENT.GetParent().GetParent().TriggerEvent('user_key')
  3455. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_ordercode,ls_relcode
  3456. Long ls_mtrlid,ls_sptid,ls_orderid
  3457. Dec ls_planprice,ls_lmbuyprice,ls_price,ls_rebate
  3458. Long cnt
  3459. Long child_row
  3460. Long ls_null
  3461. SetNull(ls_null)
  3462. String arg_msg = ''
  3463. Int li_statusflag,li_woodcodeflag,li_pcodeflag,ls_billtype
  3464. long ls_storageid
  3465. s_mtrldef_array arg_s_mtrldef
  3466. IF dw_edit_mode THEN
  3467. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  3468. ls_billtype = dw_uc.Object.u_order_wfjg_billtype[dw_uc.GetRow()]
  3469. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  3470. PARENT.GetParent().GetParent().TriggerEvent("ue_f9")
  3471. END IF
  3472. IF KeyDown(keydownarrow!) THEN
  3473. Long li_row
  3474. IF THIS.GetRow() = THIS.RowCount() THEN
  3475. PARENT.GetParent().GetParent().TriggerEvent("insert_childrow")
  3476. END IF
  3477. ELSE
  3478. If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  3479. IF THIS.GetColumnName() = 'u_order_wfjgmx_relcode' THEN
  3480. IF ls_billtype = 1 THEN
  3481. PARENT.GetParent().GetParent().TriggerEvent('ue_f7')
  3482. ELSEIF ls_billtype = 2 THEN
  3483. PARENT.GetParent().GetParent().TriggerEvent('ue_f12')
  3484. END IF
  3485. ELSEIF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' AND ls_billtype = 0 THEN
  3486. THIS.AcceptText()
  3487. child_row = THIS.GetRow()
  3488. ls_mtrlcode = THIS.Object.u_mtrldef_mtrlcode[child_row]
  3489. ls_storageid = THIS.Object.u_order_wfjgmx_storageid[child_row]
  3490. // SELECT u_mtrldef.mtrlid,
  3491. // u_mtrldef.mtrlname,
  3492. // u_mtrldef.unit,
  3493. // u_mtrldef.lmbuyprice,
  3494. // u_mtrldef.planprice,
  3495. // u_mtrldef.mtrlmode,
  3496. // u_mtrldef.statusflag,
  3497. // u_mtrldef.woodcodeflag,
  3498. // u_mtrldef.pcodeflag
  3499. // INTO :ls_mtrlid,
  3500. // :ls_mtrlname,
  3501. // :ls_unit,
  3502. // :ls_lmbuyprice,
  3503. // :ls_planprice,
  3504. // :ls_mtrlmode,
  3505. // :li_statusflag,
  3506. // :li_woodcodeflag,
  3507. // :li_pcodeflag
  3508. // FROM u_mtrldef
  3509. // Where ( u_mtrldef.mtrlcode = :ls_mtrlcode);
  3510. // IF sqlca.SQLCode = 100 THEN
  3511. // THIS.Object.u_order_wfjgmx_mtrlid[child_row] = 0
  3512. // PARENT.GetParent().GetParent().TriggerEvent('ue_f8')
  3513. // RETURN 1
  3514. // END IF
  3515. IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN
  3516. PARENT.GetParent().GetParent().TriggerEvent('ue_f8')
  3517. RETURN 1
  3518. ELSE
  3519. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  3520. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  3521. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  3522. ls_unit = arg_s_mtrldef.unit[1]
  3523. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  3524. ls_planprice = arg_s_mtrldef.planprice[1]
  3525. li_statusflag = arg_s_mtrldef.statusflag[1]
  3526. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  3527. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  3528. END IF
  3529. THIS.Object.u_order_wfjgmx_mtrlid[child_row] = ls_mtrlid
  3530. THIS.Object.mtrlname[child_row] = ls_mtrlname
  3531. THIS.Object.u_mtrldef_unit[child_row] = ls_unit
  3532. THIS.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  3533. THIS.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  3534. THIS.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  3535. THIS.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  3536. THIS.Object.u_order_wfjgmx_status[child_row] = arg_s_mtrldef.status[1]
  3537. THIS.Object.u_order_wfjgmx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  3538. THIS.Object.u_order_wfjgmx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  3539. //导入价格
  3540. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  3541. String ls_sptmtrlname
  3542. String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  3543. ls_1stunit = '' //dw_in.Object.u_mtrldef_unit[child_row]
  3544. ls_status = dw_in.Object.u_order_wfjgmx_status[child_row]
  3545. ls_woodcode = dw_in.Object.u_order_wfjgmx_woodcode[child_row]
  3546. ls_pcode = dw_in.Object.u_order_wfjgmx_pcode[child_row]
  3547. 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
  3548. IF ls_planprice = 0 THEN
  3549. dw_in.Object.u_order_wfjgmx_price[child_row] = ls_lmbuyprice
  3550. ELSE
  3551. dw_in.Object.u_order_wfjgmx_price[child_row] = ls_planprice
  3552. END IF
  3553. ELSE
  3554. dw_in.Object.u_order_wfjgmx_price[child_row] = ls_1stnewcost
  3555. END IF
  3556. PARENT.GetParent().GetParent().TriggerEvent('ue_allowedit_in')
  3557. IF Key = keyenter! THEN
  3558. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  3559. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  3560. RETURN 1
  3561. END IF
  3562. ELSEIF THIS.GetColumnName( ) = 'u_order_wfjgmx_dscrp' AND THIS.GetRow() = THIS.RowCount() THEN
  3563. PARENT.GetParent().GetParent().TriggerEvent("insert_childrow")
  3564. RETURN 1
  3565. ELSE
  3566. IF Key = keyenter! THEN
  3567. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  3568. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  3569. RETURN 1
  3570. END IF
  3571. END IF
  3572. END IF
  3573. END IF
  3574. END IF
  3575. end event
  3576. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN
  3577. this.setrow(currentrow)
  3578. this.selectrow(0,false)
  3579. this.selectrow(currentrow,true)
  3580. end event
  3581. event clicked;call super::clicked;this.setrow(row)
  3582. THIS.SelectRow(0,FALSE)
  3583. THIS.SelectRow(row,TRUE)
  3584. end event
  3585. event rbuttondown;call super::rbuttondown;IF dw_edit_mode THEN
  3586. Long ll_row,ll_column
  3587. ll_row = THIS.GetRow()
  3588. ll_column = THIS.GetColumn()
  3589. IF ll_row <= 0 THEN RETURN
  3590. IF ll_column <= 0 THEN RETURN
  3591. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  3592. s_calender_arg s_calender
  3593. s_calender.PointerX = THIS.PointerX()
  3594. s_calender.PointerY = THIS.PointerY()
  3595. s_calender.X = THIS.X + PARENT.X
  3596. s_calender.Y = THIS.Y + PARENT.Y
  3597. OpenWithParm(w_calendar,s_calender)
  3598. THIS.SetItem(ll_row,ll_column,id_date_selected)
  3599. ELSE
  3600. IF Left(dwo.TYPE,4) = 'text' THEN RETURN
  3601. m_dwchild_rbotton m_print
  3602. m_print = CREATE m_dwchild_rbotton
  3603. m_print.m_0.PopMenu(tab_1.X + THIS.X + THIS.PointerX() + 50,tab_1.Y + THIS.Y + THIS.PointerY() + 50)
  3604. END IF
  3605. END IF
  3606. end event
  3607. event editchanged;call super::editchanged;string arg_msg
  3608. IF cbx_autocmpl.checked = FALSE THEN RETURN
  3609. IF dwo.name = 'u_order_wfjgmx_qty' then
  3610. if data = '' then return
  3611. wf_in_to_out(arg_msg)
  3612. end if
  3613. end event
  3614. type tabpage_2 from userobject within tab_1
  3615. integer x = 18
  3616. integer y = 96
  3617. integer width = 3488
  3618. integer height = 956
  3619. long backcolor = 134217739
  3620. string text = "计划发出明细"
  3621. long tabtextcolor = 33554432
  3622. long tabbackcolor = 134217739
  3623. long picturemaskcolor = 536870912
  3624. dw_2 dw_2
  3625. end type
  3626. on tabpage_2.create
  3627. this.dw_2=create dw_2
  3628. this.Control[]={this.dw_2}
  3629. end on
  3630. on tabpage_2.destroy
  3631. destroy(this.dw_2)
  3632. end on
  3633. type dw_2 from u_dw_rbtnfilter within tabpage_2
  3634. event ue_dwndropdown pbm_dwndropdown
  3635. integer width = 3479
  3636. integer height = 948
  3637. integer taborder = 20
  3638. string dataobject = "dw_order_wfjg_mx_edit_out"
  3639. boolean hscrollbar = true
  3640. boolean vscrollbar = true
  3641. boolean rbutton_setposition_use = true
  3642. end type
  3643. event ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN
  3644. String ls_col_pz,ls_col_mtrlid
  3645. String ls_pz_ch
  3646. Long ll_row,ll_mtrlid
  3647. s_pzwin_open arg_s_win
  3648. ll_row = THIS.GetRow()
  3649. IF ll_row > 0 THEN
  3650. ls_col_mtrlid = THIS.Describe("#1.Name")
  3651. IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
  3652. ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
  3653. ls_col_pz = THIS.GetColumnName( )
  3654. arg_s_win.arg_x = THIS.X + PARENT.X + THIS.PointerX() + tab_1.X
  3655. arg_s_win.arg_y = THIS.Y + PARENT.Y + THIS.PointerY() + tab_1.Y
  3656. arg_s_win.arg_col = ls_col_pz
  3657. arg_s_win.arg_mtrlid = ll_mtrlid
  3658. ls_pz_ch = f_mtrl_pz(arg_s_win)
  3659. IF ls_pz_ch = '' THEN RETURN
  3660. THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  3661. END IF
  3662. end event
  3663. event itemchanged;call super::itemchanged;if not dw_edit_mode then return
  3664. this.accepttext()
  3665. if dwo.name = 'u_order_wfjgmx_out_iforder' then
  3666. if this.object.u_order_wfjgmx_out_iforder[row] = 0 then
  3667. this.object.u_order_wfjgmx_out_orderid[row] = 0
  3668. this.object.u_order_ml_relcode[row] = ''
  3669. this.object.u_mtrldef_mtrlcode_1[row] = ''
  3670. this.object.u_order_ml_ordercode[row] = ''
  3671. end if
  3672. end if
  3673. end event
  3674. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN
  3675. this.setrow(currentrow)
  3676. this.selectrow(0,false)
  3677. this.selectrow(currentrow,true)
  3678. end event
  3679. event doubleclicked;call super::doubleclicked;if dw_edit_mode then
  3680. choose case dwo.name
  3681. case 'u_order_ml_relcode'
  3682. parent.getparent().getparent().triggerevent('ue_f10')
  3683. case else
  3684. parent.getparent().getparent().triggerevent('ue_f11')
  3685. end choose
  3686. end if
  3687. end event
  3688. event dwnkey;call super::dwnkey;PARENT.GetParent().GetParent().TriggerEvent('user_key')
  3689. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_ordercode,ls_relcode
  3690. Long ls_mtrlid,ls_sptid,ls_orderid
  3691. Dec ls_planprice,ls_lmbuyprice,ls_price,ls_rebate
  3692. Long cnt
  3693. Long child_row
  3694. Long ls_null
  3695. SetNull(ls_null)
  3696. String arg_msg = ''
  3697. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  3698. IF dw_edit_mode THEN
  3699. ls_sptid = dw_uc.Object.u_order_wfjg_sptid[dw_uc.GetRow()]
  3700. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  3701. PARENT.GetParent().GetParent().TriggerEvent("ue_f9")
  3702. END IF
  3703. IF KeyDown(keydownarrow!) THEN
  3704. Long li_row
  3705. IF THIS.GetRow() = THIS.RowCount() THEN
  3706. PARENT.GetParent().GetParent().TriggerEvent("insert_childrow_out")
  3707. END IF
  3708. ELSE
  3709. If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  3710. IF THIS.GetColumnName() = 'u_order_ml_relcode' THEN
  3711. PARENT.GetParent().GetParent().TriggerEvent('ue_f7')
  3712. RETURN 1
  3713. THIS.Object.u_order_wfjgmx_out_ordermtrlid[child_row] = ls_mtrlid
  3714. THIS.Object.u_order_wfjgmx_out_orderid[child_row] = ls_orderid
  3715. THIS.Object.u_order_ml_ordercode[child_row] = ls_ordercode
  3716. IF Key = keyenter! THEN
  3717. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  3718. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  3719. RETURN 1
  3720. END IF
  3721. ELSEIF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  3722. THIS.AcceptText()
  3723. child_row = THIS.GetRow()
  3724. ls_mtrlcode = THIS.Object.u_mtrldef_mtrlcode[child_row]
  3725. SELECT u_mtrldef.mtrlid,
  3726. u_mtrldef.mtrlname,
  3727. u_mtrldef.unit,
  3728. u_mtrldef.lmbuyprice,
  3729. u_mtrldef.planprice,
  3730. u_mtrldef.mtrlmode,
  3731. u_mtrldef.statusflag,
  3732. u_mtrldef.woodcodeflag,
  3733. u_mtrldef.pcodeflag
  3734. INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_lmbuyprice,:ls_planprice,:ls_mtrlmode,
  3735. :li_statusflag,:li_woodcodeflag,:li_pcodeflag
  3736. FROM u_mtrldef
  3737. Where ( u_mtrldef.mtrlcode = :ls_mtrlcode);
  3738. IF sqlca.SQLCode = 100 THEN
  3739. THIS.Object.u_order_wfjgmx_out_mtrlid[child_row] = 0
  3740. PARENT.GetParent().GetParent().TriggerEvent('ue_f8')
  3741. RETURN 1
  3742. END IF
  3743. THIS.Object.u_order_wfjgmx_out_mtrlid[child_row] = ls_mtrlid
  3744. THIS.Object.mtrlname[child_row] = ls_mtrlname
  3745. THIS.Object.u_mtrldef_unit[child_row] = ls_unit
  3746. THIS.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  3747. THIS.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  3748. THIS.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  3749. THIS.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  3750. uo_spt_price uo_mtrl_spt_p
  3751. uo_mtrl_spt_p = CREATE uo_spt_price
  3752. Decimal ls_1stnewcost,ls_1stzqrate,ld_rate
  3753. String ls_status,ls_woodcode,ls_pcode
  3754. ls_status = THIS.Object.u_order_wfjgmx_out_status[child_row]
  3755. ls_woodcode = THIS.Object.u_order_wfjgmx_out_woodcode[child_row]
  3756. ls_pcode = THIS.Object.u_order_wfjgmx_out_pcode[child_row]
  3757. IF uo_mtrl_spt_p.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_unit,ls_status,&
  3758. ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ld_rate,arg_msg) <> 1 THEN
  3759. THIS.Object.u_order_wfjgmx_out_price[child_row] = 0
  3760. ELSE
  3761. THIS.Object.u_order_wfjgmx_out_price[child_row] = ls_1stnewcost
  3762. END IF
  3763. DESTROY uo_mtrl_spt_p
  3764. // this.Object.plprice[child_row] = ls_planprice
  3765. PARENT.GetParent().GetParent().TriggerEvent('ue_allowedit_out')
  3766. IF Key = keyenter! THEN
  3767. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  3768. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  3769. RETURN 1
  3770. END IF
  3771. ELSEIF THIS.GetColumnName( ) = 'u_order_wfjgmx_out_dscrp' AND THIS.GetRow() = THIS.RowCount() THEN
  3772. w_order_wfjg.TriggerEvent("insert_childrow_out")
  3773. RETURN 1
  3774. ELSE
  3775. IF Key = keyenter! THEN
  3776. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  3777. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  3778. RETURN 1
  3779. END IF
  3780. END IF
  3781. END IF
  3782. END IF
  3783. END IF
  3784. // u_mtrldef_mtrlcode
  3785. // acprice
  3786. // mtrlid
  3787. // mtrlname
  3788. // plprice
  3789. end event
  3790. event clicked;call super::clicked;this.setrow(row)
  3791. THIS.SelectRow(0,FALSE)
  3792. THIS.SelectRow(row,TRUE)
  3793. end event
  3794. event rbuttondown;call super::rbuttondown;IF dw_edit_mode THEN
  3795. Long ll_row,ll_column
  3796. ll_row = THIS.GetRow()
  3797. ll_column = THIS.GetColumn()
  3798. IF ll_row <= 0 THEN RETURN
  3799. IF ll_column <= 0 THEN RETURN
  3800. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  3801. s_calender_arg s_calender
  3802. s_calender.PointerX = THIS.PointerX()
  3803. s_calender.PointerY = THIS.PointerY()
  3804. s_calender.X = THIS.X + PARENT.X
  3805. s_calender.Y = THIS.Y + PARENT.Y
  3806. OpenWithParm(w_calendar,s_calender)
  3807. THIS.SetItem(ll_row,ll_column,id_date_selected)
  3808. ELSE
  3809. IF Left(dwo.TYPE,4) = 'text' THEN RETURN
  3810. m_dwchild_rbotton m_print
  3811. m_print = CREATE m_dwchild_rbotton
  3812. m_print.m_0.PopMenu(tab_1.X + THIS.X + THIS.PointerX() + 50,tab_1.Y + THIS.Y + THIS.PointerY() + 50)
  3813. END IF
  3814. END IF
  3815. end event
  3816. type st_3 from statictext within w_order_wfjg
  3817. integer x = 2039
  3818. integer y = 1332
  3819. integer width = 617
  3820. integer height = 48
  3821. boolean bringtotop = true
  3822. integer textsize = -9
  3823. integer weight = 400
  3824. fontcharset fontcharset = gb2312charset!
  3825. fontpitch fontpitch = variable!
  3826. string facename = "宋体"
  3827. long textcolor = 33554432
  3828. long backcolor = 134217739
  3829. string text = "计算发出明细保留小数位"
  3830. boolean focusrectangle = false
  3831. end type
  3832. type em_1 from editmask within w_order_wfjg
  3833. integer x = 2670
  3834. integer y = 1316
  3835. integer width = 169
  3836. integer height = 84
  3837. integer taborder = 350
  3838. boolean bringtotop = true
  3839. integer textsize = -9
  3840. integer weight = 400
  3841. fontcharset fontcharset = gb2312charset!
  3842. fontpitch fontpitch = variable!
  3843. string facename = "宋体"
  3844. long textcolor = 33554432
  3845. string text = "2"
  3846. alignment alignment = center!
  3847. borderstyle borderstyle = stylelowered!
  3848. string mask = "###0"
  3849. boolean spin = true
  3850. string minmax = "0~~10"
  3851. end type
  3852. type cbx_autocmpl from checkbox within w_order_wfjg
  3853. integer x = 919
  3854. integer y = 1332
  3855. integer width = 521
  3856. integer height = 60
  3857. boolean bringtotop = true
  3858. integer textsize = -9
  3859. integer weight = 400
  3860. fontcharset fontcharset = gb2312charset!
  3861. fontpitch fontpitch = variable!
  3862. string facename = "宋体"
  3863. long textcolor = 33554432
  3864. long backcolor = 134217739
  3865. string text = "自动计算发出明细"
  3866. end type
  3867. event destructor;long ll_auto_flag
  3868. IF THIS.Checked THEN
  3869. ll_auto_flag = 1
  3870. ELSE
  3871. ll_auto_flag = 0
  3872. END IF
  3873. f_SetProfileString (sys_empid,publ_userid+'_' + 'dw_cbx_autocmpl', "cbx_autocmpl",String(ll_auto_flag))
  3874. end event
  3875. event constructor;long ll_auto_flag
  3876. ll_auto_flag = Long(f_ProfileString (sys_empid,publ_userid+'_'+ 'dw_cbx_autocmpl', "cbx_autocmpl",'0'))
  3877. IF ll_auto_flag = 1 THEN
  3878. THIS.Checked = TRUE
  3879. ELSE
  3880. THIS.Checked = FALSE
  3881. END IF
  3882. end event
  3883. type cb_in_2_out from uo_imflatbutton within w_order_wfjg
  3884. integer x = 1472
  3885. integer y = 1308
  3886. integer width = 549
  3887. integer height = 84
  3888. integer taborder = 390
  3889. boolean bringtotop = true
  3890. string text = "按清单计算发出明细"
  3891. end type
  3892. event clicked;call super::clicked;IF NOT dw_edit_mode THEN RETURN
  3893. String arg_msg
  3894. IF wf_in_to_out(arg_msg) = 0 THEN
  3895. MessageBox(publ_operator,arg_msg)
  3896. ELSE
  3897. MessageBox('系统提示','生成发出明细成功!')
  3898. END IF
  3899. end event
  3900. type ddlb_retrstatus from uo_ddlb_status within w_order_wfjg
  3901. integer x = 1682
  3902. integer y = 188
  3903. integer width = 402
  3904. integer height = 812
  3905. integer taborder = 50
  3906. boolean bringtotop = true
  3907. string item[] = {"[全部]","待审核[0]","在进行[1]","已暂停[2]","已终止[3]","自动完成[5]","手动完成[6]"}
  3908. end type
  3909. event selectionchanged;call super::selectionchanged;parent.triggerevent("retrieve_pageretr")
  3910. end event
  3911. event uof_getvalue;call super::uof_getvalue;cur_status = this.uo_status
  3912. end event
  3913. type cb_in from uo_imflatbutton within w_order_wfjg
  3914. integer x = 2862
  3915. integer y = 1320
  3916. integer width = 306
  3917. integer height = 84
  3918. integer taborder = 400
  3919. boolean bringtotop = true
  3920. string text = "→收货明细"
  3921. end type
  3922. event clicked;call super::clicked;
  3923. Long i
  3924. IF Not dw_edit_mode THEN RETURN
  3925. dw_in.Reset()
  3926. dw_out.accepttext()
  3927. FOR i = 1 To dw_out.RowCount()
  3928. dw_in.InsertRow(0)
  3929. dw_in.Object.u_order_wfjgmx_storageid[i] = dw_out.Object.u_order_wfjgmx_out_storageid[i]
  3930. dw_in.Object.u_order_wfjgmx_mtrlid[i] = dw_out.Object.u_order_wfjgmx_out_mtrlid[i]
  3931. dw_in.Object.u_mtrldef_mtrlcode[i] = dw_out.Object.u_mtrldef_mtrlcode[i]
  3932. dw_in.Object.mtrlname[i] = dw_out.Object.mtrlname[i]
  3933. dw_in.Object.u_mtrldef_unit[i] = dw_out.Object.u_mtrldef_unit[i]
  3934. dw_in.Object.u_order_wfjgmx_qty[i] = dw_out.Object.u_order_wfjgmx_out_qty[i]
  3935. dw_in.Object.u_order_wfjgmx_price[i] = dw_out.Object.u_order_wfjgmx_out_price[i]
  3936. dw_in.Object.u_order_wfjgmx_status[i] = dw_out.Object.u_order_wfjgmx_out_status[i]
  3937. dw_in.Object.u_order_wfjgmx_woodcode[i] = dw_out.Object.u_order_wfjgmx_out_woodcode[i]
  3938. dw_in.Object.u_order_wfjgmx_pcode[i] = dw_out.Object.u_order_wfjgmx_out_pcode[i]
  3939. dw_in.Object.u_order_wfjgmx_plancode[i] = dw_out.Object.u_order_wfjgmx_out_plancode[i]
  3940. dw_in.Object.u_order_wfjgmx_relcode[i] = dw_out.Object.u_order_wfjgmx_out_saletaskcode[i]
  3941. dw_in.Object.u_saletask_relcode[i] = dw_out.Object.u_saletask_relcode[i]
  3942. NEXT
  3943. end event
  3944. type cb_out from uo_imflatbutton within w_order_wfjg
  3945. integer x = 3177
  3946. integer y = 1320
  3947. integer width = 329
  3948. integer height = 84
  3949. integer taborder = 410
  3950. boolean bringtotop = true
  3951. string text = "→发出明细"
  3952. end type
  3953. event clicked;call super::clicked;
  3954. Long i
  3955. IF Not dw_edit_mode THEN RETURN
  3956. dw_out.Reset()
  3957. dw_in.accepttext()
  3958. FOR i = 1 To dw_in.RowCount()
  3959. dw_out.InsertRow(0)
  3960. dw_out.Object.u_order_wfjgmx_out_storageid[i] = dw_in.Object.u_order_wfjgmx_storageid[i]
  3961. dw_out.Object.u_order_wfjgmx_out_mtrlid[i] = dw_in.Object.u_order_wfjgmx_mtrlid[i]
  3962. dw_out.Object.u_mtrldef_mtrlcode[i] = dw_in.Object.u_mtrldef_mtrlcode[i]
  3963. dw_out.Object.mtrlname[i] = dw_in.Object.mtrlname[i]
  3964. dw_out.Object.u_mtrldef_unit[i] = dw_in.Object.u_mtrldef_unit[i]
  3965. dw_out.Object.u_order_wfjgmx_out_qty[i] = dw_in.Object.u_order_wfjgmx_qty[i]
  3966. dw_out.Object.u_order_wfjgmx_out_price[i] = dw_in.Object.u_order_wfjgmx_price[i]
  3967. dw_out.Object.u_order_wfjgmx_out_status[i] = dw_in.Object.u_order_wfjgmx_status[i]
  3968. dw_out.Object.u_order_wfjgmx_out_woodcode[i] = dw_in.Object.u_order_wfjgmx_woodcode[i]
  3969. dw_out.Object.u_order_wfjgmx_out_pcode[i] = dw_in.Object.u_order_wfjgmx_pcode[i]
  3970. dw_out.Object.u_order_wfjgmx_out_plancode[i] = dw_in.Object.u_order_wfjgmx_plancode[i]
  3971. dw_out.Object.u_order_wfjgmx_out_saletaskcode[i] = dw_in.Object.u_order_wfjgmx_relcode[i]
  3972. dw_out.Object.u_saletask_relcode[i] = dw_in.Object.u_saletask_relcode[i]
  3973. NEXT
  3974. end event