w_inware_wfjg_th.srw 151 KB

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