w_wfjg_in_th.srw 128 KB

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