w_wfjg_in.srw 139 KB

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