w_outware_sale_th.srw 148 KB

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