123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680 |
- $PBExportHeader$w_saletask.srw
- forward
- global type w_saletask from w_publ_1ton_share_detail
- end type
- type ddlb_scid from uo_ddlb_scid within w_saletask
- end type
- type st_2 from statictext within w_saletask
- end type
- type st_3 from statictext within w_saletask
- end type
- type cbx_quote from checkbox within w_saletask
- end type
- type cbx_sc from checkbox within w_saletask
- end type
- type cbx_list from checkbox within w_saletask
- end type
- type ddlb_status from uo_ddlb_status within w_saletask
- end type
- type cb_fhmx from commandbutton within w_saletask
- end type
- type cb_tcmx from commandbutton within w_saletask
- end type
- type cb_taskmx from commandbutton within w_saletask
- end type
- type cb_tsmx from commandbutton within w_saletask
- end type
- type cb_edit_tc from commandbutton within w_saletask
- end type
- type cb_fymx from commandbutton within w_saletask
- end type
- type dw_tsmx from u_dw_rbtnfilter within w_saletask
- end type
- type dw_fymx from u_dw_rbtnfilter within w_saletask
- end type
- type dw_fhmx from u_dw_rbtnfilter within w_saletask
- end type
- type dw_dhmx from u_dw_rbtnfilter within w_saletask
- end type
- type dw_ywymx from u_dw_rbtnfilter within w_saletask
- end type
- type cbx_enamt_edit from checkbox within w_saletask
- end type
- type cbx_1 from checkbox within w_saletask
- end type
- type cbx_zk from checkbox within w_saletask
- end type
- type ddlb_1 from dropdownlistbox within w_saletask
- end type
- type st_4 from statictext within w_saletask
- end type
- type cbx_enamt_notax_edit from checkbox within w_saletask
- end type
- type st_cusbalc from statictext within w_saletask
- end type
- type st_cusbalc_sign from statictext within w_saletask
- end type
- type cbx_auto_qty from checkbox within w_saletask
- end type
- type st_weishu from statictext within w_saletask
- end type
- type ddlb_weishu from dropdownlistbox within w_saletask
- end type
- end forward
- global type w_saletask from w_publ_1ton_share_detail
- integer width = 5957
- integer height = 2992
- string title = "销售订单"
- boolean maxbox = true
- windowstate windowstate = maximized!
- long dw_pageretr_w = 52828948
- long dw_child_h = 34912024
- long dw_child_w = 34817496
- boolean if_chkmtrlinfo = true
- event insert_childrow ( )
- event ue_tempstoptask ( )
- event ue_stopsaletask ( )
- event ue_finishtask ( )
- event ue_importseleprice ( )
- event ue_ctempstoptask ( )
- event ue_importcusseleprice ( )
- event ue_importcusseleprice_his ( )
- event ue_fj_edit ( )
- event ue_fj_view ( )
- event ue_add_descp ( )
- event ue_add_descp2 ( )
- event ue_cmpl_qty ( )
- event ue_p_cmpl_qty ( )
- event ue_cmpl_status_qty ( )
- event ue_view_mxdscrp ( )
- event ue_p_formula_set ( )
- event ue_f15 ( )
- event ue_view_mxdscrp2 ( )
- event ue_add_descp3 ( )
- event ue_add_cus_address ( )
- event ue_copy_qty ( )
- event ue_f18 ( )
- event ue_ch_outrepdef ( )
- event ue_update_relcode ( )
- event ue_fj_edit_mx ( )
- event ue_fj_mx_add ( )
- event ue_fj_view_mx ( )
- event ue_ch_banktype ( )
- event ue_ch_money ( )
- event ue_send_jd_ljfieb ( )
- event ue_redate_ljfieb ( )
- event ue_p_tax ( )
- event ue_finishtask_cancel ( )
- event ue_create_outware_sale ( )
- event ue_stopqty ( )
- event ue_mod_enprice ( )
- event ue_create_oppose_cust ( )
- event ue_create_reissue ( )
- event ue_view_reissue ( )
- event ue_fj_mx_add_p ( )
- event ue_add_fymx ( )
- event ue_ch_station ( )
- event ue_pricelist_update ( )
- event ue_create_buytask ( )
- event ue_create_taskdamt ( )
- event ue_cmpl_otheramt ( )
- event ue_stopsaletask_cancel ( )
- event insert_childrow_fymx ( )
- event ue_p_rebate ( )
- event ue_p_saleqty ( )
- event ue_add_addqty ( )
- event ue_paudit_task ( )
- event ue_paudit2_task ( )
- event ue_paudit_task_cancel ( )
- event ue_paudit1_task ( )
- event ue_paudit2_task_cancel ( )
- event ue_paudit1_task_cancel ( )
- event ue_mx_cmplnoallocqty ( )
- event ue_view_status ( long arg_row, string arg_status )
- event ue_mx_requiredate ( )
- event ue_view_mxdscrp3 ( )
- event ue_view_mxdscrp4 ( )
- event ue_importseleprice_buchong ( )
- event ue_cmpl_price ( )
- event ue_p_priceformula_set ( )
- event ue_p_cmpl_price ( )
- event ue_show_his_pricemx ( )
- event ue_retrieve_his_pricemx ( )
- event ue_create_inware_cp ( )
- event ue_priceaudit ( )
- event ue_cpriceaudit ( )
- event ue_set_dytitle ( )
- event ue_insert_execltodw ( )
- event ue_ ( )
- event ue_setprice_forformula ( )
- event retrieve_fjnum ( )
- event ue_cmpl_tax ( )
- event ue_p_status ( )
- event ue_p_woodcode ( )
- event ue_p_pcode ( )
- event ue_setqty_forformula ( )
- event ue_mx_alter ( )
- event ue_saletask_choose ( )
- event ue_create_buytask_auto ( )
- event ue_setprice_forformula_1 ( )
- event ue_setqty_forformula_1 ( )
- event ue_copy_needqty ( )
- ddlb_scid ddlb_scid
- st_2 st_2
- st_3 st_3
- cbx_quote cbx_quote
- cbx_sc cbx_sc
- cbx_list cbx_list
- ddlb_status ddlb_status
- cb_fhmx cb_fhmx
- cb_tcmx cb_tcmx
- cb_taskmx cb_taskmx
- cb_tsmx cb_tsmx
- cb_edit_tc cb_edit_tc
- cb_fymx cb_fymx
- dw_tsmx dw_tsmx
- dw_fymx dw_fymx
- dw_fhmx dw_fhmx
- dw_dhmx dw_dhmx
- dw_ywymx dw_ywymx
- cbx_enamt_edit cbx_enamt_edit
- cbx_1 cbx_1
- cbx_zk cbx_zk
- ddlb_1 ddlb_1
- st_4 st_4
- cbx_enamt_notax_edit cbx_enamt_notax_edit
- st_cusbalc st_cusbalc
- st_cusbalc_sign st_cusbalc_sign
- cbx_auto_qty cbx_auto_qty
- st_weishu st_weishu
- ddlb_weishu ddlb_weishu
- end type
- global w_saletask w_saletask
- type variables
- Int cur_status = 0 //当前查询订单状态 // -1 所有
- uo_saletask obj_saletask
- Long cur_scid
- Long cur_scid_arr[]
- uo_cusprice uo_cus_price
- Int cur_cusrepamtflag = 0 //信用额
- String cur_cusrepamtstr = ''
- Long ins_dw_select = 0
- Long fy_column_int = 4 // 费用明细可修改的列数
- Int ii_enamt_edit = 0 //0:不使用录入,不能编辑; 1:使用录入,可以编辑
- int ii_enamt_edit_1 = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑 计算折扣
- int ii_enamt_notax_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
- Long tmp_chflag = 1
- string cur_cusrepamtstr_show = '' //非编辑状态下 显示信息
- string old_rep_select=''//保留原有下拉sql
- end variables
- forward prototypes
- public function integer wf_cusdetail ()
- public function integer wf_statusbtn_fc ()
- public function integer wf_refresh_curuc (long arg_scid, long arg_taskid)
- public subroutine wf_check_billfj ()
- 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)
- public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
- public function integer wf_check_relcode (long arg_scid, long arg_taskid, string arg_relcode, ref string arg_msg)
- public function integer wf_get_pricelist_price (long arg_pricelistid, long arg_moneyid, ref string arg_msg)
- public function integer wf_get_price (long arg_row)
- public function integer wf_lock_child ()
- public function integer wf_check_pz (long arg_mtrlid, string arg_mtrlcode, string arg_status_check, string arg_woodcode_check, string arg_pcode_check, ref string arg_msg)
- public subroutine wf_cmpl_amt (integer row)
- public function integer wf_check_qtyandaddqty (ref string arg_msg)
- public function integer wf_refresh_interface ()
- public function integer wf_get_pricelist_price_buchong (long arg_pricelistid, long arg_moneyid, ref string arg_msg)
- public subroutine wf_set_decimal_place ()
- public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid)
- public function integer wf_openfile (datawindow arg_dw)
- public subroutine wf_enamt_facechg ()
- public subroutine wf_cusbalc (long arg_scid, long arg_cusid, long arg_moneyid)
- public subroutine wf_getcusrepamt_info_show (long arg_scid, long arg_cusid, long arg_moneyid)
- public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid)
- public function integer wf_formualprice_auto (ref string arg_msg)
- public function integer wf_formualqty_auto (ref string arg_msg)
- end prototypes
- event insert_childrow();long li_row
- li_row=dw_child.insertrow(0)
- dw_child.scrolltorow(li_row)
- dw_child.SetColumn ('u_saletaskmx_outtype')
- end event
- event ue_tempstoptask();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- return
- END IF
- if not f_power_ind(9) then
- messagebox('提示',sys_msg_pow,information!,OK!)
- return
- end if
- string arg_msg=''
- long pagerert_row
- pagerert_row=dw_pageretr.getrow()
- if pagerert_row<=0 then
- messagebox('提示','请选定当前目标订单!',information!,OK!)
- return
- end if
- IF MessageBox ("询问","是否确定要对当前订单作暂停操作吗?",Question!,YesNo! ) = 2 THEN RETURN
- dw_pageretr.accepttext()
- if obj_saletask.tempstoptask(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.object.taskid[pagerert_row],arg_msg,true)=0 then
- messagebox('错误',arg_msg,stopsign!,OK!)
- ELSE
- messagebox('提示',"订单作暂停操作成功!",information!,OK!)
- if cur_status <> -1 then
- dw_uc.deleterow(pagerert_row)
- else
- wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.object.taskid[pagerert_row])
- end if
- end if
- end event
- event ue_stopsaletask();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF Not f_power_ind(10) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对当前订单作终止吗? (终止后订单将归档只读)",Question!,YesNo! ) = 2 THEN RETURN
- dw_pageretr.AcceptText()
- IF obj_saletask.stopsaletask(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','订单终止操作成功!',information!,OK!)
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (102, 6, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- IF cur_status <> -1 THEN
- dw_uc.DeleteRow(pagerert_row)
- ELSE
- wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
- END IF
- END IF
- end event
- event ue_finishtask();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF Not f_power_ind(10) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标销售订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对当前销售订单作完成吗? (完成后销售订单将归档只读)",Question!,YesNo! ) = 2 THEN RETURN
- Long ls_taskid
- ls_taskid = dw_pageretr.Object.taskid[pagerert_row]
- IF obj_saletask.finishtask(dw_pageretr.Object.u_saletask_scid[pagerert_row],ls_taskid,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','销售订单完成操作成功!',information!,OK!)
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (102, 5, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- IF cur_status <> -1 THEN
- dw_uc.DeleteRow(pagerert_row)
- ELSE
- wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
- END IF
- END IF
- end event
- event ue_importseleprice();IF Not dw_edit_mode THEN
- MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate
- String err_str = ''
- Boolean if_exist_price = True
- Long ll_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- //直接查询价格表
- // IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN
- Open(w_sale_price_list_ch)
- s_pricelist = Message.PowerObjectParm
- IF s_pricelist.pricelistid <= 0 THEN RETURN
- ll_pricelistid = s_pricelist.pricelistid
- IF wf_get_pricelist_price(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- MessageBox('提示',arg_msg,information!,OK!)
- RETURN
- END IF
- //IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- // MessageBox('提示',arg_msg,information!,OK!)
- // RETURN
- //END IF
- //
- //dw_child.AcceptText()
- //FOR ls_row = 1 To dw_child.RowCount()
- // ls_mtrlid = dw_child.Object.mtrlid[ls_row]
- // ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
- // ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
- // ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
- // ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
- //
- // IF sys_option_price_if_status = 0 THEN
- // ls_status = ''
- // ls_pcode = ''
- // ls_woodcode = ''
- // END IF
- //
- //
- // SELECT u_sale_price_mx.price
- // INTO :obj_price
- // FROM u_sale_price_mx
- // WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND
- // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
- // ( u_sale_price_mx.status = :ls_status ) AND
- // ( u_sale_price_mx.pcode = :ls_pcode ) AND
- // ( u_sale_price_mx.woodcode = :ls_woodcode ) AND
- // ( u_sale_price_mx.unit = :ls_unit );
- // IF sqlca.SQLCode <> 0 THEN
- // err_str = err_str + "当前价格表的 "+String(dw_child.Object.mtrlname[ls_row])+" 的客户定价尚未设定! ~n"
- // ELSE
- // dw_child.Object.u_saletaskmx_enprice[ls_row] = obj_price
- // END IF
- //NEXT
- //
- //
- //IF err_str <> '' THEN
- // MessageBox('错误',err_str,stopsign!,OK!)
- //END IF
- end event
- event ue_ctempstoptask();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF NOT f_power_ind(9) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对当前订单作取消暂停操作吗?",Question!,YesNo! ) = 2 THEN RETURN
- IF obj_saletask.tempstoptask(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,TRUE) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示',"订单作取消暂停操作成功!",information!,OK!)
- IF cur_status <> -1 THEN
- dw_uc.DeleteRow(pagerert_row)
- ELSE
- wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
- END IF
- END IF
- end event
- event ue_importcusseleprice();//查询客户价格表
- //如果客户无价格表则提示是否直接查询价格表
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate
- String err_str = ''
- Boolean if_exist_price = True
- Long ll_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- uc_row = dw_uc.GetRow()
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF dw_uc.Object.cusid[uc_row] = 0 Or IsNull(dw_uc.Object.cusid[uc_row]) THEN
- MessageBox('提示',"请选择销售客户!",information!,OK!)
- RETURN
- END IF
- ls_cusid = dw_uc.Object.cusid[uc_row]
- SELECT u_cust.pricelistid Into :ll_pricelistid From u_cust Where u_cust.cusid = :ls_cusid;
- IF sqlca.SQLCode <> 0 Or ll_pricelistid <= 0 THEN
- if_exist_price = False
- END IF
- IF if_exist_price = False THEN
- IF MessageBox('询问',"当前客户的客户价格表未设定!是否选择价格表?",Question!,YesNo!) = 2 THEN RETURN
- Open(w_sale_price_list_ch)
- s_pricelist = Message.PowerObjectParm
- IF s_pricelist.pricelistid <= 0 THEN RETURN
- ll_pricelistid = s_pricelist.pricelistid
- END IF
- IF wf_get_pricelist_price(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- MessageBox('提示',arg_msg,information!,OK!)
- RETURN
- END IF
- //IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- // MessageBox('提示',arg_msg,information!,OK!)
- // RETURN
- //END IF
- //
- //s_sale_price_mx s_mx
- //dw_child.AcceptText()
- //FOR ls_row = 1 To dw_child.RowCount()
- //
- // ls_mtrlid = dw_child.Object.mtrlid[ls_row]
- // ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
- // ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
- // ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
- // ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
- //
- // IF sys_option_price_if_status = 0 THEN
- // ls_status = ''
- // ls_pcode = ''
- // ls_woodcode = ''
- // END IF
- //
- // s_mx.mtrlid = ls_mtrlid
- // s_mx.status = ls_status
- // s_mx.woodcode = ls_woodcode
- // s_mx.pcode = ls_pcode
- // s_mx.unit = ls_unit
- // s_mx.moneyid = ll_moneyid
- // s_mx.pricelistid = ll_pricelistid
- //
- // IF uo_cus_price.uof_get_pricelist_price(s_mx, arg_msg) = 0 THEN
- // err_str = err_str + "行:"+string(ls_row)+", "+String(dw_child.Object.mtrlname[ls_row])+" 的导入价格表售价失败或没有设置售价! ~n "
- //// rslt = 0 //无标准价格表 或未审核
- // END IF
- //
- // dw_child.Object.u_saletaskmx_enprice[ls_row] = s_mx.price
- // dw_child.Object.u_saletaskmx_rebate[ls_row] = s_mx.rebate
- // //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
- //NEXT
- //
- //IF err_str <> '' THEN
- // MessageBox('错误',err_str,stopsign!,OK!)
- //END IF
- end event
- event ue_importcusseleprice_his();// //导入客户历史售价
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate,obj_rate
- String err_str = ''
- Boolean if_exist_price = TRUE
- Long ls_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- uc_row = dw_uc.GetRow()
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF dw_uc.Object.cusid[uc_row] = 0 OR IsNull(dw_uc.Object.cusid[uc_row]) THEN
- MessageBox('提示',"请选择销售客户!",information!,OK!)
- RETURN
- END IF
- ls_cusid = dw_uc.Object.cusid[uc_row]
- ls_cuscode = dw_uc.Object.u_cust_cuscode[uc_row]
- ls_cusname = dw_uc.Object.u_cust_name[uc_row]
- IF dw_child.RowCount() <= 0 THEN
- MessageBox('提示',"请选择产品!",information!,OK!)
- RETURN
- END IF
- dw_child.accepttext()
- FOR ls_row = 1 TO dw_child.RowCount()
- ls_mtrlid = dw_child.Object.mtrlid[ls_row]
- ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
- ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
- ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
-
- 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
- err_str = err_str + "导入客户["+ls_cuscode+ls_cusname+"]的 "+String(dw_child.Object.mtrlname[ls_row])+" 的最新售价失败,或没有最新售价! ~n "
- dw_child.Object.u_saletaskmx_enprice[ls_row] = 0
- dw_child.Object.u_saletaskmx_rebate[ls_row] = 1
- //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
- ELSE
- dw_child.Object.u_saletaskmx_enprice[ls_row] = obj_price
- dw_child.Object.u_saletaskmx_rebate[ls_row] = obj_rebate
- dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
- END IF
- NEXT
- IF err_str <> '' THEN
- MessageBox('错误',err_str,stopsign!,OK!)
- END IF
- end event
- event ue_fj_edit();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用',information!,OK!)
- RETURN
- END IF
- //IF NOT f_power_ind(1098) THEN
- // MessageBox(publ_operator,sys_msg_pow)
- // RETURN
- //END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
- RETURN
- END IF
- s_pic.f_long = 102 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_mng,s_pic)
- wf_check_billfj()
- end event
- event ue_fj_view();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用',information!,OK!)
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
- RETURN
- END IF
- s_pic.f_long = 102 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_view,s_pic)
- end event
- event ue_add_descp();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
- s_view.Title = '销售订单备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_add_descp2();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_saletask_dscrp2[dw_uc.GetRow()]
- s_view.Title = '销售订单辅助备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_saletask_dscrp2[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
- Long child_row
- Long uc_row
- Long li_cusid,li_mtrlid
- Decimal ld_cusprice
- uc_row = dw_uc.GetRow()
- li_cusid = dw_uc.Object.cusid[uc_row]
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- s_cmpl_qty s_cmpl,s_return
- s_cmpl.qty = dw_child.Object.usaleqty[child_row]
- s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[child_row]
- s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
- s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[child_row]
- s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
- s_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
- s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
- s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- s_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
- s_cmpl.mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[child_row]
- s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
- s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
- s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
- s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
-
- li_mtrlid = dw_child.Object.mtrlid[child_row]
- SELECT price
- INTO :ld_cusprice
- FROM u_cust
- INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- WHERE u_sale_price_mx.mtrlid = :li_mtrlid
- AND u_cust.cusid = :li_cusid;
- IF SQLCA.SQLCODE <> 0 THEN
- ld_cusprice = 0
- END IF
- s_cmpl.cusprice = ld_cusprice
-
- IF NOT IsValid(w_cmpl_qty_ch) THEN
- OpenWithParm(w_cmpl_qty_ch,s_cmpl)
- s_return = Message.PowerObjectParm
- IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
- dw_child.Object.usaleqty[child_row] = s_return.qty
- dw_child.Object.u_saletaskmx_formula[child_row] = s_return.formula
- END IF
- END IF
- end event
- event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
- Long i
- String ls_formula
- String ls_msg
- String ls_rs
- String ls_num
- Decimal ld_addqty
- Decimal ld_price
- Decimal ld_rebate
- decimal ld_qty
- dw_child.AcceptText()
- s_cmpl_qty s_cmpl
- Open(w_cmpl_qty_ch_son)
- s_cmpl = Message.PowerObjectParm
- dw_uc.SetRedraw(false)
- FOR i = 1 TO dw_child.RowCount()
- ld_qty = 0
- IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
- s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
- s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
- s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
-
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
-
- s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
- s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
- s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
- s_cmpl.mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
-
- IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
- MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
- goto ext
- END IF
- dw_child.Object.usaleqty[i] = ld_qty
-
- END IF
- NEXT
- ext:
- dw_child.SetColumn('usaleqty')
- dw_uc.SetRedraw(TRUE)
- end event
- event ue_cmpl_status_qty();Int ll_flag
- Decimal ll_value
- Long ll_num
- Long i,j,k
- String ls_mtrlmode
- String ls_status
- Decimal ld_qty
- Decimal ld_addqty
- String ls_msg
- Long ll_type
- s_cmpl_addqty s_cmpl
- dw_child.AcceptText()
- IF dw_edit_mode THEN
- Open(w_cmpl_status_qty_ch)
- s_cmpl = Message.PowerObjectParm
- ll_flag = s_cmpl.flag
- ll_value = s_cmpl.addvalue
- ll_num = s_cmpl.num
- ll_type = s_cmpl.cmptype
- IF ll_value <= 0 THEN RETURN
- IF dw_child.RowCount() <= 0 THEN RETURN
- FOR i = 1 TO dw_child.RowCount()
-
- ld_addqty = dw_child.Object.u_saletaskmx_addqty[i]
-
- CHOOSE CASE ll_type
- CASE 0
- ls_status = dw_child.Object.u_saletaskmx_status[i]
- CASE 1
- ls_status = dw_child.Object.u_saletaskmx_woodcode[i]
- CASE 2
- ls_status = dw_child.Object.u_saletaskmx_pcode[i]
- CASE 3
- ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
- CASE 4
- ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
- END CHOOSE
-
- IF ld_addqty = 0 OR ls_status = '' THEN
-
- ELSE
- ld_qty = 0
- IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
- MessageBox('错误',ls_msg,stopsign!,OK!)
- GOTO ext
- END IF
-
- IF ll_flag = 0 THEN
- dw_child.Object.usaleqty[i] = Round(ld_qty * ll_value,ll_num)
- ELSE
- dw_child.Object.usaleqty[i] = Round(ld_qty / ll_value,ll_num)
- END IF
- END IF
- NEXT
-
- END IF
- ext:
- end event
- event ue_view_mxdscrp();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp[dw_child.GetRow()]
- s_view.Title = '销售订单明细备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_saletaskmx_mxdscrp[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定数量公式', question!, YesNo!, 2) = 2 THEN
- RETURN
- END IF
- Long ll_i
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 1 TO dw_child.RowCount()
- IF ll_i = 1 THEN CONTINUE
- dw_child.Object.u_saletaskmx_formula[ll_i] = dw_child.Object.u_saletaskmx_formula[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_f15();//选择报价单
- //用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.GetRow() <= 0 THEN
- MessageBox('系统提示','请先选择单据')
- RETURN
- END IF
- Long child_row
- Long ls_cusid,ll_moneyid
- Decimal ld_mrate,ld_tax
- String ls_prdpackcode
- Decimal ld_packqty,ld_net_weight,ld_gross_weight,ld_cubage
- string ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode
- s_mtrldef_array arg_s_mtrldef
- child_row = dw_child.GetRow()
- ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
- IF IsNull(ls_cusid) Or ls_cusid = 0 THEN
- This.TriggerEvent("ue_f9")
- RETURN
- END IF
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox(publ_operator,'请先选择币种')
- RETURN
- END IF
- ld_mrate = dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()]
- IF Not IsValid(w_quote_mx_ch) THEN
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = This.retrieve_all //是否一次retrieve所有行
- s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.if_select_all = True //多选
- s_tranf8.c_long = ls_cusid
- IF cur_scid < 0 THEN
- s_tranf8.b_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
- ELSE
- s_tranf8.b_long = cur_scid
- END IF
-
- Long ls_j
-
- This.Enabled = False
- OpenWithParm(w_quote_mx_ch,s_tranf8) //调用
- This.Enabled = True
-
- s_quotemx_arr s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
- FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
- IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.mtrlid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
-
-
- dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
-
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
-
- dw_child.Object.usaleqty[child_row] = s_inscust.qty[ls_j]
- //dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_saletaskmx_rate[child_row] = 1
-
- dw_child.Object.u_saletaskmx_addqty[child_row] = s_inscust.addqty[ls_j]
- dw_child.Object.u_saletaskmx_formula[child_row] = s_inscust.formula[ls_j]
- dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
- dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
- dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
- dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
- dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
-
-
- dw_child.Object.u_saletaskmx_mxdscrp2[child_row] = s_inscust.mxdscrp2[ls_j]
- dw_child.Object.u_saletaskmx_mxdscrp3[child_row] = s_inscust.mxdscrp3[ls_j]
- dw_child.Object.u_saletaskmx_mxdscrp4[child_row] = s_inscust.mxdscrp4[ls_j]
-
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
- dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
-
- dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.newunit[ls_j]
- //dw_child.Object.u_SaleTaskMx_priceformula[child_row] = s_inscust.priceformula[ls_j]
-
-
-
-
- if f_find_tax(ls_cusid,'u_cust',ld_tax) = 0 then
- ld_tax = 0
- else
- dw_child.Object.u_saletaskmx_tax[child_row] = ld_tax
- end if
-
-
- if f_find_cusmtrlname(ls_cusid,s_inscust.mtrlid[ls_j],ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode) = 0 then
- ls_cusmtrlcode = ''
- ls_cusmtrlname = ''
- ls_cusmtrlmode =''
- else
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] = ls_cusmtrlmode
- end if
-
-
- IF ll_moneyid = s_inscust.moneyid[ls_j] THEN
- dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.sumprice_1[ls_j]
- ELSE
- IF ld_mrate > 0 THEN //汇率转换
- dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.sumprice_1[ls_j] / ld_mrate
- END IF
- END IF
- dw_child.Object.u_saletaskmx_rebate[child_row] = s_inscust.rebate[ls_j]
-
-
- END IF
-
- NEXT
- dw_child.SetColumn('usaleqty')
- This.TriggerEvent('ue_allowedit')
- dw_child.SetFocus()
- END IF
- end event
- event ue_view_mxdscrp2();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()]
- s_view.Title = '销售订单明细备注2'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_add_descp3();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_saletask_dscrp3[dw_uc.GetRow()]
- s_view.Title = '销售订单生产备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_saletask_dscrp3[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_add_cus_address();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_saletask_cus_address[dw_uc.GetRow()]
- s_view.Title = '销售订单客户地址'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_saletask_cus_address[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_copy_qty();Long i
- Decimal lde_rate
- dw_child.AcceptText()
- FOR i = 1 To dw_child.RowCount()
- lde_rate = dw_child.Object.u_saletaskmx_rate[i]
- IF lde_rate = 0 THEN
- lde_rate = 1
- dw_child.Object.u_saletaskmx_rate[i] = 1
- END IF
- dw_child.Object.u_saletaskmx_orderqty[i] = dw_child.Object.usaleqty[i] * lde_rate
- NEXT
- end event
- event ue_f18();//选择价格表
- //用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
- IF NOT dw_edit_mode THEN RETURN
- IF dw_uc.GetRow() <= 0 THEN
- MessageBox('系统提示','请先选择单据')
- RETURN
- END IF
- Long child_row
- Long ls_cusid,ll_moneyid
- Decimal ld_mrate,ld_tax
- String ls_prdpackcode
- Decimal ld_packqty,ld_net_weight,ld_gross_weight,ld_cubage
- string ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode
- String ls_priceformula
- s_mtrldef_array arg_s_mtrldef
- child_row = dw_child.GetRow()
- ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
- IF IsNull(ls_cusid) OR ls_cusid = 0 THEN
- THIS.TriggerEvent("ue_f9")
- RETURN
- END IF
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox(publ_operator,'请先选择币种')
- RETURN
- END IF
- ld_mrate = dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()]
- IF NOT IsValid(w_sale_price_list_mxch) THEN
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = THIS.retrieve_all //是否一次retrieve所有行
- s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.if_select_all = TRUE //多选
- s_tranf8.c_long = ls_cusid
- IF cur_scid < 0 THEN
- s_tranf8.b_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
- ELSE
- s_tranf8.b_long = cur_scid
- END IF
- s_tranf8.e_long = ll_moneyid
-
- Long ls_j
- Decimal lde_rate
-
- THIS.Enabled = FALSE
- OpenWithParm(w_sale_price_list_mxch,s_tranf8) //调用
- THIS.Enabled = TRUE
-
- s_salelistmx_arr s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
- FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
- IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.mtrlid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
- dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
-
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
- //dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
-
- dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
- dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
-
- dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.price[ls_j]
- dw_child.Object.u_saletaskmx_rebate[child_row] = s_inscust.rebate[ls_j]
-
- dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
- dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
- dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
- dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
- IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
- ls_priceformula = ''
- ELSE
- ls_priceformula = arg_s_mtrldef.priceformula[1]
- END IF
- dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
-
-
- if f_find_tax(ls_cusid,'u_cust',ld_tax) = 0 then
- ld_tax = 0
- else
- dw_child.Object.u_saletaskmx_tax[child_row] = ld_tax
- end if
-
- if f_find_cusmtrlname(ls_cusid,s_inscust.mtrlid[ls_j],ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode) = 0 then
- ls_cusmtrlcode = ''
- ls_cusmtrlname = ''
- ls_cusmtrlmode =''
- else
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] = ls_cusmtrlmode
- end if
- IF f_find_unitrate(s_inscust.mtrlid[ls_j], s_inscust.unit[ls_j], lde_rate) = 1 THEN
- dw_child.Object.u_saletaskmx_rate[child_row] = lde_rate
- END IF
- dw_child.SetColumn('saleqty')
- END IF
-
- NEXT
- THIS.TriggerEvent('ue_allowedit')
- dw_child.SetFocus()
- END IF
-
- end event
- event ue_ch_outrepdef();IF NOT IsValid(w_outrepdef_edit_ch) THEN
- Open(w_outrepdef_edit_ch)
- s_outrepdef s_outrep_ch
- s_outrep_ch = Message.PowerObjectParm
- IF s_outrep_ch.outrepname <> '' THEN
- dw_uc.Object.assign_emp[dw_uc.GetRow()] = s_outrep_ch.outrepname
- END IF
- END IF
- end event
- event ue_update_relcode();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF NOT f_power_ind(1515) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = '',LS_STR
- Long uc_row
- string ls_relcode
- s_inputbox S_SREU
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- S_SREU.Title = '请输入新的销售订单相关号'
- S_SREU.OLD_TEXT = dw_pageretr.object.u_saletask_relcode[uc_row]
- OpenWithParm(w_inputbox,S_SREU)
- LS_STR = Message.StringParm
- IF Trim(LS_STR) = '' OR IsNull(LS_STR) or LS_STR = dw_pageretr.object.u_saletask_relcode[uc_row] THEN RETURN
- IF obj_saletask.uof_update_relcode(dw_pageretr.Object.u_saletask_scid[uc_row], &
- dw_pageretr.Object.taskid[uc_row],&
- LS_STR,arg_msg,TRUE) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- ELSE
- MessageBox('提示','修改销售订单相关号操作成功!',information!,OK!)
- wf_refresh_curuc(cur_scid,dw_pageretr.Object.taskid[uc_row])
- END IF
- end event
- event ue_fj_edit_mx();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- //IF NOT f_power_ind(1098) THEN
- // MessageBox(publ_operator,sys_msg_pow)
- // RETURN
- //END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row,ll_mxrow
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- ll_mxrow = dw_child.GetRow()
- IF ll_mxrow <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.f_long = 9102 //销售订单明细
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.d_long = dw_child.Object.u_saletaskmx_printid[ll_mxrow]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_mng,s_pic)
- end event
- event ue_fj_mx_add();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- IF NOT f_power_ind(1098) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_saletaskmx_fileadd,s_pic)
- end event
- event ue_fj_view_mx();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row,ll_mxrow
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- ll_mxrow = dw_child.GetRow()
- IF ll_mxrow <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.f_long = 9102 //销售订单明细
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.d_long = dw_child.Object.u_saletaskmx_printid[ll_mxrow]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_view,s_pic)
- end event
- event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN
- s_edit_index_tran s_open //传递参数使用
- s_open.work_mode = 1
- s_open.c_long = 0
- Openwithparm(w_banktype_edit_ch, s_open)
- s_banktype s_ch
- s_ch = Message.PowerObjectParm
- IF s_ch.banktypeid > 0 THEN
- dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()] = s_ch.banktypeid
- END IF
-
- datawindowchild childdw
- dw_uc.GetChild("u_saletask_banktypeid",childdw)
- childdw.SetTransObject (sqlca)
- childdw.Retrieve()
- END IF
- end event
- event ue_ch_money();IF NOT IsValid(w_currency_edit_ch) THEN
- Open(w_currency_edit_ch)
- s_currency s_ch
- s_ch = Message.PowerObjectParm
- IF s_ch.moneyid > 0 THEN
- dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()] = s_ch.moneyid
- dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()] = s_ch.rate
- END IF
-
- datawindowchild childdw
- dw_uc.GetChild("u_saletask_moneyid",childdw)
- childdw.SetTransObject (sqlca)
- childdw.Retrieve()
- END IF
- end event
- event ue_send_jd_ljfieb();IF dw_edit_mode THEN
- MessageBox('系统提示','编辑状态下不可操作')
- RETURN
- END IF
- IF sys_email_sqlca.DBHandle() = 0 THEN
- MessageBox('Error','电子商务数据库连接失败,请检查')
- RETURN
- END IF
- uo_ljfieb uo_fieb
- uo_fieb = create uo_ljfieb
- uo_fieb.commit_transaction = sys_email_sqlca
- Long ll_row
- Long ll_scid,ll_taskid
- String ls_fiebrelcode
- String arg_summary,arg_postscript,arg_remark
- string arg_msg
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要与客户确认交期的订单')
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[ll_row]
- ll_taskid = dw_pageretr.Object.taskid[ll_row]
- ls_fiebrelcode = dw_pageretr.Object.u_saletask_fiebrelcode[ll_row]
- IF Trim(ls_fiebrelcode) = '' THEN
- MessageBox('系统提示','本销售订单不是引入客户采购订单成生,不能推送订单进度')
- RETURN
- END IF
- s_packet_ljfieb s_pack,s_return
- OpenWithParm(w_dscrp_edit_ljfieb,s_pack)
- s_return = Message.PowerObjectParm
- IF s_return.returnflag <> 1 THEN RETURN
- arg_summary = '订单 '+ls_fiebrelcode+' 进度'
- arg_postscript = s_return.postscript
- arg_remark = s_return.remark
- IF uo_fieb.send_buytask_jd(ll_scid,ll_taskid,arg_summary,arg_postscript,arg_remark,arg_msg,True) = 0 THEN
- MessageBox('Erorr',arg_msg)
- RETURN
- END IF
- destroy uo_fieb
- messagebox('系统提示','发送进度成功!')
- end event
- event ue_redate_ljfieb();IF dw_edit_mode THEN
- MessageBox('系统提示','编辑状态下不可操作')
- RETURN
- END IF
- Long ll_row
- Long ll_scid,ll_taskid
- String ls_fiebrelcode
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要与客户确认交期的订单')
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[ll_row]
- ll_taskid = dw_pageretr.Object.taskid[ll_row]
- ls_fiebrelcode = dw_pageretr.Object.u_saletask_fiebrelcode[ll_row]
- IF Trim(ls_fiebrelcode) = '' THEN
- MessageBox('系统提示','本销售订单不是引入客户采购订单成生,不能执行交期确认反馈')
- RETURN
- END IF
- s_edit_index_tran s_tran_re
- s_tran_re.b_long = ll_scid
- s_tran_re.c_long = ll_taskid
- openwithparm(w_saletaskmx_redate_ljfieb,s_tran_re)
- wf_refresh_curuc(ll_scid,ll_taskid)
- THIS.TriggerEvent('retrieve_childdw')
- end event
- event ue_p_tax();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定税率', question!, YesNo!, 1) = 2 THEN
- RETURN
- END IF
- Long ll_i
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 2 TO dw_child.RowCount()
- dw_child.Object.u_saletaskmx_tax[ll_i] = dw_child.Object.u_saletaskmx_tax[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_finishtask_cancel();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF Not f_power_ind(10) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标销售订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要取消完成当前销售订单?",Question!,YesNo! ) = 2 THEN RETURN
- Long ls_taskid
- ls_taskid = dw_pageretr.Object.taskid[pagerert_row]
- IF obj_saletask.finishtask_cancel(dw_pageretr.Object.u_saletask_scid[pagerert_row],ls_taskid,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','销售订单取消完成操作成功!',information!,OK!)
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (102, 1, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- IF cur_status <> -1 THEN
- dw_uc.DeleteRow(pagerert_row)
- ELSE
- wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
- END IF
- END IF
- end event
- event ue_create_outware_sale();//辅助生成销售发货单
- IF Not f_power_ind(267) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- Long ll_storageid
- IF sys_option_hide_ware = 0 THEN
- Open(w_order_ml_storage)
- ll_storageid = Message.DoubleParm
- IF ll_storageid = 0 THEN RETURN
- ELSE
- ll_storageid = 11
- END IF
- Long cnt
- String ls_msg
- Long i,j
- Long ll_scid
- s_saletask_ch s_saletask
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- IF i <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
- MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- s_saletask.taskid = dw_pageretr.Object.taskid[i]
- s_saletask.taskcode = dw_pageretr.Object.taskcode[i]
- s_saletask.assign_emp = dw_pageretr.Object.assign_emp[i]
- s_saletask.cusid = dw_pageretr.Object.u_saletask_cusid[i]
- s_saletask.cuscode = dw_pageretr.Object.u_cust_cuscode[i]
- s_saletask.cusname = dw_pageretr.Object.u_cust_name[i]
- IF dw_pageretr.Object.u_saletask_relcode[i] = '' THEN
- s_saletask.relcode = dw_pageretr.Object.taskcode[i]
- ELSE
- s_saletask.relcode = dw_pageretr.Object.u_saletask_relcode[i]
- END IF
- s_saletask.freight = dw_pageretr.Object.u_saletask_freight[i]
- s_saletask.freight_tele = dw_pageretr.Object.u_saletask_freight_tele[i]
- s_saletask.moneyid = dw_pageretr.Object.u_saletask_moneyid[i]
- s_saletask.dscrp = dw_pageretr.Object.dscrp[i]
- s_saletask.dscrp2 = dw_pageretr.Object.u_saletask_dscrp2[i]
- s_saletask.dscrp3 = dw_pageretr.Object.dscrp3[i]
- s_saletask.paytype = dw_pageretr.Object.u_saletask_paytype[i]
- s_saletask.banktypeid = dw_pageretr.Object.u_saletask_banktypeid[i]
- s_saletask.freight_address = dw_pageretr.Object.u_saletask_freight_address[i]
- s_saletask.Address = dw_pageretr.Object.u_saletask_cus_address[i]
- s_saletask.tele = dw_pageretr.Object.u_saletask_cus_tele[i]
- s_saletask.tele1 = dw_pageretr.Object.u_saletask_cus_tele1[i]
- s_saletask.fax = dw_pageretr.Object.u_saletask_cus_fax[i]
- s_saletask.rep = dw_pageretr.Object.u_cust_rep[i]
- s_saletask.lsflag = 0 //dw_pageretr.Object.u_cust_lsflag[i]
- s_saletask.damt = dw_pageretr.Object.u_saletask_damt[i]
- s_saletask.rel_rep = dw_pageretr.Object.u_saletask_rel_rep[i]
- s_saletask.transcode = dw_pageretr.Object.u_saletask_transcode[i]
- //IF cbx_ifzero.Checked = TRUE THEN
- s_saletask.if_zeromtrlware = 1
- //ELSE
- // s_saletask.if_zeromtrlware = 0
- //END IF
- s_edit_index_tran s_open
- IF Not IsValid(w_outware_sale) THEN
- OpenWithParm(w_outware_sale,s_open)
-
- w_outware_sale.ddlb_scid.uf_selectsc(ll_scid)
- w_outware_sale.cb_add.TriggerEvent(Clicked!)
- w_outware_sale.dw_uc.Object.u_outware_storageid[w_outware_sale.dw_uc.GetRow()] = ll_storageid
- w_outware_sale.wf_ue_f7(s_saletask)
- END IF
- end event
- event ue_stopqty();IF NOT f_power_ind(1723,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- IF MessageBox ("IF","是否确定修改当前明细的终止数?",Question!,YesNo! ) = 2 THEN RETURN
- String arg_msg = ''
- Long childrow,uc_row,cnt
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!')
- RETURN
- END IF
- childrow = dw_child.GetRow()
- IF childrow <= 0 THEN
- MessageBox('系统提示','请选定当前明细物料!')
- RETURN
- END IF
- Long ll_scid,ll_taskid,ll_printid
- ll_scid = dw_pageretr.Object.u_saletask_scid[uc_row]
- ll_taskid = dw_pageretr.Object.taskid[uc_row]
- ll_printid = dw_child.Object.u_saletaskmx_printid[childrow]
- s_edit_index_tran s_inscust_stop
- s_inscust_stop.b_long = ll_scid
- s_inscust_stop.c_long = ll_taskid
- s_inscust_stop.d_long = ll_printid
- OpenWithParm(w_saletaskmx_stopqty_edit,s_inscust_stop)
- this.TriggerEvent('retrieve_childdw')
- wf_refresh_curuc(ll_scid,ll_taskid)
- end event
- event ue_mod_enprice();If not f_power_ind(1724,sys_msg_pow) Then
- MessageBox(publ_operator,sys_msg_pow)
- Return
- End If
- If dw_edit_mode Then Return
- String arg_msg = ''
- Long uc_row
- Long ll_scid,ll_taskid,ll_cusid,ll_moneyid
- Decimal ld_mrate
- uc_row = dw_pageretr.GetRow()
- If uc_row <= 0 Then
- MessageBox('系统提示','请选定当前目标订单!')
- Return
- End If
-
- If dw_pageretr.Object.u_saletask_status[uc_row] <> 1 Then
- MessageBox('系统提示','目标订单不是在进行或状态,操作取消!')
- Return
- End If
- ll_scid = dw_pageretr.Object.u_saletask_scid[uc_row]
- ll_taskid = dw_pageretr.Object.taskid[uc_row]
- ll_cusid = dw_pageretr.Object.u_saletask_cusid[uc_row]
- ll_moneyid = dw_pageretr.Object.u_saletask_moneyid[uc_row]
- ld_mrate = dw_pageretr.Object.u_saletask_mrate[uc_row]
- s_edit_index_tran s_open
- s_open.b_long = ll_scid
- s_open.c_long = ll_taskid
- s_open.d_long = ll_cusid
- s_open.e_long = ll_moneyid
- s_open.b_decimal = ld_mrate
- OpenWithParm(w_saletaskmx_mod_enprice,s_open)
- wf_refresh_curuc(ll_scid,ll_taskid)
- This.TriggerEvent("retrieve_childdw")
- end event
- event ue_create_oppose_cust();//辅助生成客户投诉单
- IF Not f_power_ind(268) THEN
- MessageBox('提示','你没有客户投诉单的使用权限!', Information!, OK! )
- RETURN
- END IF
- Long cnt
- String ls_msg
- Long i,j
- Long ll_scid
- s_saletask_mtrl s_saletask
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- IF i <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
- MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
- RETURN
- END IF
- j = dw_child.GetRow()
- IF j <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单明细产品!',Information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- //dw_pageretr
- s_saletask.scid[1] = dw_pageretr.Object.u_saletask_scid[i]
- s_saletask.taskid[1] = dw_pageretr.Object.taskid[i]
- s_saletask.taskcode[1] = dw_pageretr.Object.taskcode[i]
- s_saletask.cusid[1] = dw_pageretr.Object.u_saletask_cusid[i]
- s_saletask.cusname[1] = dw_pageretr.Object.u_cust_name[i]
- //dw_child
- s_saletask.printid[1] = dw_child.Object.u_saletaskmx_printid[j]
- s_saletask.mtrlid[1] = dw_child.Object.mtrlid[j]
- s_saletask.mtrlcode[1] = dw_child.Object.u_mtrldef_mtrlcode[j]
- s_saletask.mtrlname[1] = dw_child.Object.mtrlname[j]
- s_saletask.mtrlmode[1] = dw_child.Object.u_mtrldef_mtrlmode[j]
- s_saletask.qty[1] = dw_child.Object.usaleqty[j]
- s_edit_index_tran s_open
- IF Not IsValid(w_oppose_cust) THEN
- OpenWithParm(w_oppose_cust,s_open)
- w_oppose_cust.cb_add.TriggerEvent(Clicked!)
- w_oppose_cust.wf_ue_f10(s_saletask)
- END IF
- end event
- event ue_create_reissue();//辅助生成客户费用单
- IF Not f_power_ind(1020) THEN
- MessageBox('提示','你没有客户费用单的使用权限!', Information!, OK! )
- RETURN
- END IF
- Long cnt
- String arg_msg
- Long i,j
- Long ll_scid, ll_taskid
- //s_saletask_mtrl s_saletask
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- IF i <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- IF (dw_pageretr.Object.u_saletask_status[i] = 0 ) THEN
- MessageBox('系统提示','当前选定订单未审核!',Information!,OK!)
- RETURN
- END IF
- //j = dw_child.GetRow()
- //IF j <= 0 THEN
- // MessageBox('系统提示','请选定当前目标订单明细产品!',Information!,OK!)
- // RETURN
- //END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- ////dw_pageretr
- //s_saletask.scid[1] = dw_pageretr.Object.u_saletask_scid[i]
- //s_saletask.taskid[1] = dw_pageretr.Object.taskid[i]
- //s_saletask.taskcode[1] = dw_pageretr.Object.taskcode[i]
- //
- //s_saletask.cusid[1] = dw_pageretr.Object.u_saletask_cusid[i]
- //s_saletask.cusname[1] = dw_pageretr.Object.u_cust_name[i]
- //
- ////dw_child
- //s_saletask.printid[1] = dw_child.Object.u_saletaskmx_printid[j]
- //s_saletask.mtrlid[1] = dw_child.Object.mtrlid[j]
- //s_saletask.mtrlcode[1] = dw_child.Object.u_mtrldef_mtrlcode[j]
- //s_saletask.mtrlname[1] = dw_child.Object.mtrlname[j]
- //s_saletask.mtrlmode[1] = dw_child.Object.u_mtrldef_mtrlmode[j]
- //s_saletask.qty[1] = dw_child.Object.usaleqty[j]
- s_edit_index_tran s_open
- IF Not IsValid(w_reissue) THEN
- OpenWithParm(w_reissue,s_open)
- w_reissue.ddlb_scid.uf_selectsc(ll_scid)
- w_reissue.cb_add.TriggerEvent(Clicked!)
- w_reissue.wf_adduc_saletask(ll_scid, ll_taskid, arg_msg)
- END IF
- end event
- event ue_view_reissue();//查看客户费用单
- IF Not f_power_ind(1020) THEN
- MessageBox('提示','你没有客户费用单的使用权限!', Information!, OK! )
- RETURN
- END IF
- Long cnt
- String arg_msg
- Long i,j
- Long ll_scid, ll_taskid
- String ls_taskcode
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- IF i <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- If (dw_pageretr.Object.u_saletask_status[i] = 0 ) THEN
- MessageBox('系统提示','当前选定订单未审核!',Information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- ls_taskcode = dw_pageretr.Object.taskcode[i]
- //f_open_win(ll_scid,ls_code)
- s_edit_index_tran s_open
- s_open.work_mode = 0
- s_open.arg_pkid = 0
- s_open.arg_string_code = ls_taskcode
- s_open.c_long = ll_scid
- s_open.d_long = 2
- s_open.if_retrieve_all = local_retrieve_all
- //s_tran.d_string = ls_taskcode
- window openwin
- OpenWithParm(openwin,s_open,'w_reissue')
- end event
- event ue_fj_mx_add_p();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- IF NOT f_power_ind(1098,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_saletaskmx_fileadd_p,s_pic)
- end event
- event ue_add_fymx();//用于选择明细内容,被f8[默认]\dw_fymx.doubleclicked调用
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.GetRow() <= 0 THEN
- MessageBox('系统提示','请先选择单据')
- RETURN
- END IF
- Long child_row
- Long ls_cusid,ll_moneyid
- Decimal ld_mrate
- Long ls_j
- s_edit_index_tran s_tran88
- child_row = dw_fymx.GetRow()
- IF Not IsValid(w_itemdef_ch) THEN
-
- This.Enabled = False
- s_tran88.work_mode = 1
-
- Openwithparm(w_itemdef_ch, s_tran88) //调用
- This.Enabled = True
-
- s_itemdef s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
-
- dw_fymx.SetRedraw(False)
- IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值
-
- IF dw_fymx.Find('u_saletask_itemmx_itemid = '+String(s_inscust.itemid),1,dw_fymx.RowCount()) > 0 THEN
- dw_fymx.SetRedraw(True)
- dw_fymx.SetFocus()
- RETURN
- END IF
-
- IF dw_fymx.GetRow() > 0 THEN
- IF dw_fymx.Object.u_saletask_itemmx_itemid[child_row] <> 0 THEN
- child_row = dw_fymx.InsertRow (0)
- ELSE
- child_row = dw_fymx.GetRow()
- END IF
- ELSE
- child_row = dw_fymx.InsertRow (0)
- END IF
- dw_fymx.Object.u_saletask_itemmx_itemid[child_row] = s_inscust.itemid
- dw_fymx.Object.u_itemdef_itemcode[child_row] = s_inscust.itemcode
- dw_fymx.Object.u_itemdef_itemname[child_row] = s_inscust.itemname
- dw_fymx.Object.u_itemdef_itemtype[child_row] = s_inscust.itemtype
- dw_fymx.Object.u_saletask_itemmx_scid[child_row] =cur_scid
- dw_fymx.Object.u_saletask_itemmx_itype[child_row] =1//方向类型默认为增项
- dw_fymx.SetColumn('u_saletask_itemmx_amt')
- END IF
- dw_fymx.SelectRow(0,False)
- dw_fymx.SelectRow(child_row,True)
- dw_fymx.SetRow(child_row)
- dw_fymx.SetRedraw(True)
- dw_fymx.SetFocus()
- END IF
- end event
- event ue_ch_station();IF dw_edit_mode THEN
-
- Long ll_row
- s_station s_station_2
- String arg_msg
-
- dw_uc.AcceptText()
- ll_row = dw_uc.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请先选择客户',information!,OK!)
- RETURN
- END IF
-
- IF NOT IsValid(w_station_edit) THEN
- s_edit_index_tran s_ch_tran
- s_ch_tran.if_retrieve_all = FALSE
- s_ch_tran.work_mode = 1
- s_ch_tran.arg_pkid = 0
- s_ch_tran.arg_string_code = ''
- s_ch_tran.if_select_all = FALSE
-
- OpenWithParm(w_station_edit,s_ch_tran) //调用
-
- s_station_2 = Message.PowerObjectParm //接受返回结构
-
- IF s_station_2.stationid = 0 THEN RETURN
- dw_uc.Object.u_saletask_freight[ll_row] = s_station_2.stationname
- dw_uc.Object.u_saletask_freight_tele[ll_row] = s_station_2.tele
- //dw_uc.Object.u_outware_relstr_3[ll_row] = s_station_2.address
- dw_uc.Object.u_saletask_freight_address[ll_row] = s_station_2.address
- END IF
- END IF
- end event
- event ue_pricelist_update();
- IF Not f_power_ind(1742,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- IF dw_edit_mode THEN RETURN
- String arg_msg = '',LS_STR
- Long uc_row
- s_inputbox S_SREU
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!')
- RETURN
- END IF
- IF dw_pageretr.Object.u_saletask_status[uc_row] = 0 THEN
- MessageBox('系统提示','待审核状态下不能执行本功能!')
- RETURN
- END IF
- s_edit_index_tran s_level
- s_level.b_long = dw_pageretr.Object.u_saletask_scid[uc_row]
- s_level.c_long = dw_pageretr.Object.taskid[uc_row]
- OpenWithParm(w_saletaskmx_update_price_list,s_level)
- end event
- event ue_create_buytask();//辅助生成采购订单
- IF Not f_power_ind(93) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- Long cnt
- String ls_msg
- Long i,j
- Long ll_scid, ll_taskid
- s_saletask_ch s_saletask
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- IF i <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
- MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- s_saletask.scid = ll_scid
- s_saletask.taskid = ll_taskid
- s_saletask.taskcode = dw_pageretr.Object.taskcode[i]
- s_saletask.assign_emp = dw_pageretr.Object.assign_emp[i]
- s_saletask.cusid = dw_pageretr.Object.u_saletask_cusid[i]
- s_saletask.cuscode = dw_pageretr.Object.u_cust_cuscode[i]
- s_saletask.cusname = dw_pageretr.Object.u_cust_name[i]
- s_saletask.relcode = dw_pageretr.Object.u_saletask_relcode[i]
- s_saletask.freight = dw_pageretr.Object.u_saletask_freight[i]
- s_saletask.freight_tele = dw_pageretr.Object.u_saletask_freight_tele[i]
- s_saletask.moneyid = dw_pageretr.Object.u_saletask_moneyid[i]
- s_saletask.dscrp2 = dw_pageretr.Object.u_saletask_dscrp2[i]
- s_saletask.dscrp = dw_pageretr.Object.dscrp[i]
- SELECT count(*)
- INTO :cnt
- FROM u_saletaskmx
- WHERE scid = :ll_scid
- AND taskid = :ll_taskid
- And needbuyqty - buytaskqty > 0 ;
- IF sqlca.SQLCode <> 0 THEN
- cnt = 0
- END IF
- IF cnt = 0 THEN
- MessageBox('系统提示','没有需采购数,不能建采购订单!',Information!,OK!)
- RETURN
- END IF
- s_edit_index_tran s_open
- IF Not IsValid(w_buytask) THEN
- OpenWithParm(w_buytask,s_open)
-
- w_buytask.ddlb_scid.uf_selectsc(ll_scid)
- w_buytask.cb_add.TriggerEvent(Clicked!)
-
- w_buytask.dw_uc.Object.u_buytask_billtype[w_buytask.dw_uc.GetRow()] = 1
- w_buytask.TriggerEvent('ue_f9')
- w_buytask.wf_autoaddmx_sale(s_saletask)
- END IF
- end event
- event ue_create_taskdamt();//辅助生成客户费用单
- IF Not f_power_ind(1020) THEN
- MessageBox('提示','你没有客户费用单的使用权限!', Information!, OK! )
- RETURN
- END IF
- Long cnt
- String arg_msg
- Long i,j
- Long ll_scid, ll_taskid
- //s_saletask_mtrl s_saletask
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- IF i <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- IF (dw_pageretr.Object.u_saletask_status[i] = 0 ) THEN
- MessageBox('系统提示','当前选定订单未审核!',Information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- s_edit_index_tran s_open
- IF Not IsValid(w_taskdamt) THEN
- OpenWithParm(w_taskdamt,s_open)
- w_taskdamt.ddlb_scid.uf_selectsc(ll_scid)
- w_taskdamt.cb_add.TriggerEvent(Clicked!)
- w_taskdamt.wf_adduc_saletask(ll_scid, ll_taskid, arg_msg)
- END IF
- end event
- event ue_cmpl_otheramt();IF Not dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- Long uc_row
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- Decimal lde_msttakeamt
- Decimal lde_otheramt
- Long i
- dw_child.accepttext()
- FOR i = 1 To dw_child.RowCount()
- lde_msttakeamt += dw_child.Object.enamt[i]
- NEXT
- OpenWithParm(w_saletask_cmpl_otheramt,lde_msttakeamt)
- lde_otheramt = Message.DoubleParm
- dw_uc.Object.u_saletask_otheramt[uc_row] = lde_otheramt
- end event
- event ue_stopsaletask_cancel();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF Not f_power_ind(10) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要取消作终止? ",Question!,YesNo! ) = 2 THEN RETURN
- dw_pageretr.AcceptText()
- IF obj_saletask.stopsaletask_cancel(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','订单取消终止操作成功!',information!,OK!)
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (102, 6, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- IF cur_status <> -1 THEN
- dw_uc.DeleteRow(pagerert_row)
- ELSE
- wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
- END IF
- END IF
- end event
- event insert_childrow_fymx();Long li_row
- li_row = dw_fymx.InsertRow(0)
- dw_fymx.ScrollToRow(li_row)
- dw_fymx.SetColumn ('u_itemdef_itemcode')
- end event
- event ue_p_rebate();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定折扣', question!, YesNo!, 1) = 2 THEN
- RETURN
- END IF
- Long ll_i
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 2 TO dw_child.RowCount()
- dw_child.Object.u_saletaskmx_rebate[ll_i] = dw_child.Object.u_saletaskmx_rebate[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_p_saleqty();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定数量', question!, YesNo!, 1) = 2 THEN
- RETURN
- END IF
- Long ll_i
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 2 TO dw_child.RowCount()
- dw_child.Object.usaleqty[ll_i] = dw_child.Object.usaleqty[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_add_addqty();IF NOT dw_edit_mode THEN RETURN
- //IF flag = 1 THEN RETURN
- Long child_row
- Int if_addmxdscrp
- String ls_mxdscrp
- s_addqty_input s_input
- dw_child.AcceptText( )
- child_row = dw_child.GetRow()
- IF child_row <= 0 THEN RETURN
- IF dw_child.Object.mtrlid[child_row] <= 0 THEN RETURN
- ls_mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
- IF NOT IsValid(w_addqty_input) THEN
- OpenWithParm(w_addqty_input,ls_mxdscrp)
-
- s_input = Message.PowerObjectParm
-
- IF s_input.addqty = -1 THEN RETURN
-
- dw_child.Object.u_saletaskmx_addqty[child_row] = s_input.addqty
-
- IF s_input.addqtystr <> '' THEN
- dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_input.addqtystr
- END IF
-
- // IF s_input.formula <> '' THEN
- // dw_child.Object.u_outwaremx_formula[child_row] = s_input.formula
- // END IF
-
- IF s_input.flag = 1 THEN
- dw_child.Object.usaleqty[child_row] = s_input.qty
- END IF
-
- END IF
- end event
- event ue_paudit_task();IF dw_edit_mode THEN RETURN
- String arg_msg, ls_msg,ls_msg2
- Long i,ch
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- IF Not f_power_ind(6) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ch++
- END IF
- NEXT
- IF ch = 0 THEN
- MessageBox('提示','请选定要批审核的订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- li_status = dw_pageretr.Object.u_saletask_status[i]
- ls_taskcode = dw_pageretr.Object.taskcode[i]
- IF li_status <> 0 THEN CONTINUE
-
- IF obj_saletask.audit(ll_scid,ll_taskid,publ_operator,arg_msg,False) = 0 THEN
- ls_msg2 += ls_taskcode+',审核失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
- ls_msg2 += ls_taskcode+',二审失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- ls_msg2 += ls_taskcode+',审核成功!'+'~r~n'
- END IF
-
- IF f_billevent_trigger (102, 3, ls_taskcode, arg_msg) = 0 THEN
- ls_msg2 += ls_taskcode+',触发审核失败,'+arg_msg+'~r~n'
- END IF
-
- IF f_billevent_trigger (102, 4, ls_taskcode, arg_msg) = 0 THEN
- ls_msg2 += ls_taskcode+',触发终审失败,'+arg_msg+'~r~n'
- END IF
- NEXT
- OpenWithParm(w_message_err,ls_msg2)
- TriggerEvent('retrieve_pageretr')
- end event
- event ue_paudit2_task();IF dw_edit_mode THEN RETURN
- String arg_msg, ls_msg,ls_msg2
- Long i,ch
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- IF Not f_power_ind(1729) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ch++
- END IF
- NEXT
- IF ch = 0 THEN
- MessageBox('提示','请选定要批审核的订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对已选择的订单批二审?",Question!,YesNo! ) = 2 THEN RETURN
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- li_status = dw_pageretr.Object.u_saletask_status[i]
- ls_taskcode = dw_pageretr.Object.taskcode[i]
- IF li_status <> 4 THEN CONTINUE
-
- IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
- ls_msg2 += ls_taskcode+',二审失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- ls_msg2 += ls_taskcode+',二审成功!'+'~r~n'
- END IF
-
- IF f_billevent_trigger (102, 4, ls_taskcode, arg_msg) = 0 THEN
- ls_msg2 += ls_taskcode+',触发终审失败,'+arg_msg+'~r~n'
- END IF
- NEXT
- OpenWithParm(w_message_err,ls_msg2)
- TriggerEvent('retrieve_pageretr')
- end event
- event ue_paudit_task_cancel();IF dw_edit_mode THEN RETURN
- String arg_msg, ls_msg,ls_msg2
- Long i,ch
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- IF Not f_power_ind(8) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ch++
- END IF
- NEXT
- IF ch = 0 THEN
- MessageBox('提示','请选定要批审核的订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- li_status = dw_pageretr.Object.u_saletask_status[i]
- ls_taskcode = dw_pageretr.Object.taskcode[i]
- IF li_status <> 1 THEN CONTINUE
-
- IF obj_saletask.cancelpermit(ll_scid,ll_taskid,arg_msg,false) = 0 THEN
- ls_msg2 += ls_taskcode+',二审撤审失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,true) = 0 THEN
- ls_msg2 += ls_taskcode+',撤审失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- ls_msg2 += ls_taskcode+',撤审成功!'+'~r~n'
- END IF
-
-
- NEXT
- OpenWithParm(w_message_err,ls_msg2)
- TriggerEvent('retrieve_pageretr')
- end event
- event ue_paudit1_task();IF dw_edit_mode THEN RETURN
- String arg_msg, ls_msg,ls_msg2
- Long i,ch
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- IF Not f_power_ind(6) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ch++
- END IF
- NEXT
- IF ch = 0 THEN
- MessageBox('提示','请选定要批审核的订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- li_status = dw_pageretr.Object.u_saletask_status[i]
- ls_taskcode = dw_pageretr.Object.taskcode[i]
- IF li_status <> 0 THEN CONTINUE
-
- IF obj_saletask.audit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
- ls_msg2 += ls_taskcode+',审核失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- ls_msg2 += ls_taskcode+',审核成功!'+'~r~n'
- END IF
-
-
-
- IF f_billevent_trigger (102, 3, ls_taskcode, arg_msg) = 0 THEN
- ls_msg2 += ls_taskcode+',触发审核失败,'+arg_msg+'~r~n'
- END IF
- NEXT
- OpenWithParm(w_message_err,ls_msg2)
- TriggerEvent('retrieve_pageretr')
- end event
- event ue_paudit2_task_cancel();IF dw_edit_mode THEN RETURN
- String arg_msg, ls_msg,ls_msg2
- Long i,ch
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- IF Not f_power_ind(1730) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ch++
- END IF
- NEXT
- IF ch = 0 THEN
- MessageBox('提示','请选定要批二审撤审的订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对已选择的订单批二审撤审?",Question!,YesNo! ) = 2 THEN RETURN
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- li_status = dw_pageretr.Object.u_saletask_status[i]
- ls_taskcode = dw_pageretr.Object.taskcode[i]
- IF li_status <> 1 THEN CONTINUE
-
- IF obj_saletask.cancelpermit(ll_scid,ll_taskid,arg_msg,true) = 0 THEN
- ls_msg2 += ls_taskcode+',二审撤审失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- ls_msg2 += ls_taskcode+',二审撤审成功!'+'~r~n'
- END IF
- NEXT
- OpenWithParm(w_message_err,ls_msg2)
- TriggerEvent('retrieve_pageretr')
- end event
- event ue_paudit1_task_cancel();IF dw_edit_mode THEN RETURN
- String arg_msg, ls_msg,ls_msg2
- Long i,ch
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- IF Not f_power_ind(8) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ch++
- END IF
- NEXT
- IF ch = 0 THEN
- MessageBox('提示','请选定要批审核的订单!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.ch[i] = 1 THEN
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- li_status = dw_pageretr.Object.u_saletask_status[i]
- ls_taskcode = dw_pageretr.Object.taskcode[i]
- IF li_status <> 4 THEN CONTINUE
-
- IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
- ls_msg2 += ls_taskcode+',撤审失败,'+arg_msg+'~r~n'
- CONTINUE
- END IF
-
- ls_msg2 += ls_taskcode+',撤审成功!'+'~r~n'
- END IF
-
-
- NEXT
- OpenWithParm(w_message_err,ls_msg2)
- TriggerEvent('retrieve_pageretr')
- end event
- event ue_mx_cmplnoallocqty();Long i,ll_mtrlid
- String ls_status,ls_woodcode,ls_pcode,ls_plancode
- Decimal ld_notsaleqty,ld_noallocqty,ld_cqty,ld_mtrlqty,ld_qty,ld_allqty
- string arg_msg,arg_lsg
- string ls_mesage = ""
- dw_child.SetRedraw(False)
- FOR i = 1 To dw_child.RowCount()
- ld_notsaleqty=0
- ll_mtrlid=0
- ls_status=''
- ls_woodcode=''
- ls_pcode=''
- ls_plancode=''
-
- ld_notsaleqty = dw_child.Object.usaleqty[i] - dw_child.Object.consignedqty[i] - dw_child.Object.u_saletaskmx_stopqty[i]
- ll_mtrlid = dw_child.Object.mtrlid[i]
- ls_status = dw_child.Object.u_saletaskmx_status[i]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- ls_pcode = dw_child.Object.u_saletaskmx_pcode[i]
- ls_plancode = dw_child.Object.u_saletaskmx_plancode[i]
-
- ld_noallocqty = 0
- SELECT sum(noallocqty)
- INTO :ld_noallocqty
- FROM u_mtrlware,u_storage
- WHERE u_mtrlware.storageid = u_storage.storageid
- and u_mtrlware.mtrlid = :ll_mtrlid
- and u_mtrlware.status = :ls_status
- and u_mtrlware.woodcode = :ls_woodcode
- and u_mtrlware.pcode = :ls_pcode
- and u_mtrlware.plancode = :ls_plancode
- And u_storage.inuse = 1;
- IF sqlca.SQLCode <> 0 THEN
- ld_noallocqty = 0
- END IF
-
- ld_allqty = 0
- SELECT sum(u_SaleTaskMx.uSaleQty - u_SaleTaskMx.consignedQty - u_SaleTaskMx.stopqty) as allqty
- Into :ld_allqty FROM u_SaleTaskMx INNER JOIN u_SaleTask
- ON u_SaleTaskMx.scid = u_SaleTask.scid AND u_SaleTaskMx.TaskID = u_SaleTask.TaskID
- WHERE u_SaleTask.Status = 1 AND u_SaleTaskMx.MtrlID = :ll_mtrlid
- AND u_SaleTaskMx.status = :ls_status AND u_SaleTaskMx.woodcode = :ls_woodcode AND u_SaleTaskMx.pcode = :ls_pcode;
- IF sqlca.SQLCode <> 0 THEN
- ld_allqty = 0
- END IF
-
- IF f_cmp_di_qty(ll_mtrlid, -1,ls_status,ld_mtrlqty,arg_lsg,arg_msg) = 0 THEN
- // ls_mesage = ls_mesage + string(ll_mtrlid)+arg_msg
- ld_mtrlqty =0
- else
- END IF
-
- dw_child.Object.mtrlqty[i] = ld_mtrlqty
-
- dw_child.Object.noallocqty[i] = ld_noallocqty
- ld_qty = ld_notsaleqty - ( ld_noallocqty + ld_mtrlqty)
- if ld_qty < 0 then ld_qty = 0
- dw_child.Object.cqty[i] =ld_qty
- //dw_child.Object.cqty[i] = ld_notsaleqty - ld_noallocqty
-
- IF ISNULL(ld_allqty) THEN ld_allqty = 0
- dw_child.Object.allqty[i] = ld_allqty
- dw_child.Object.allcanuseqty[i] =dw_child.Object.noallocqty[i] - dw_child.Object.allqty[i]
- NEXT
- dw_child.SetRedraw(True)
- //if ls_mesage <> "" then MessageBox('错误',ls_mesage,stopsign!,OK!)
- end event
- event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return
- String ls_dscrp
- long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag
- dw_child.AcceptText()
- ll_mtrlid = dw_child.object.mtrlid[arg_row]
- SELECT
- statusflag,
- woodcodeflag,
- pcodeflag
- into
- :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag
- FROM U_MTRLDEF
- where mtrlid = :ll_mtrlid;
- IF arg_status = 'u_saletaskmx_status' THEN
- IF ll_statusflag<>5 and ll_statusflag<>0 THEN RETURN
- ELSEIF arg_status = 'u_saletaskmx_woodcode' THEN
- IF ll_woodcodeflag<>5 and ll_woodcodeflag<>0 THEN RETURN
- ELSEIF arg_status = 'u_saletaskmx_pcode' then
- IF ll_pcodeflag<>5 and ll_pcodeflag<>0 THEN RETURN
- ELSE
- RETURN
- END IF
-
- ls_dscrp = dw_child.GetItemString(arg_row, arg_status)
- s_view.Title = '配置内容'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_status,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.setitem(arg_row,arg_status,s_return.dscrp)
- END IF
- end event
- event ue_mx_requiredate();IF dw_edit_mode THEN return
- IF dw_pageretr.getrow()<=0 then
- messagebox("提示","请选择订单")
- return
- end if
- datetime rq
- long cnt
- long ll_scid,ll_taskid
- cnt = dw_pageretr.getrow()
- ll_scid = dw_pageretr.object.u_saletask_scid[cnt]
- ll_taskid = dw_pageretr.object.taskid[cnt]
- s_edit_index_tran s_tranr //传递参数使用
- s_tranr.b_long = ll_scid
- s_tranr.c_long = ll_taskid
- openwithparm(w_edit_mx_requiredate,s_tranr)
- select requiredate into :rq from u_saletask
- where taskid = :ll_taskid and scid = :ll_scid;
- dw_uc.object.requiredate[dw_uc.getrow()] = rq
- dw_pageretr.object.requiredate[cnt] = rq
- TriggerEvent("retrieve_childdw")
- //dw_child.retrieve()
- //s_saletask s_sale
- //s_sale.scid = dw_pageretr.object.scid[cnt]
- //s_sale.taskid = dw_pageretr.object.taskid[cnt]
- end event
- event ue_view_mxdscrp3();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp3[dw_child.GetRow()]
- s_view.Title = '销售订单明细备注3'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_saletaskmx_mxdscrp3[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_view_mxdscrp4();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp4[dw_child.GetRow()]
- s_view.Title = '销售订单明细备注4'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_saletaskmx_mxdscrp4[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_importseleprice_buchong();IF Not dw_edit_mode THEN
- MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate
- String err_str = ''
- Boolean if_exist_price = True
- Long ll_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- //直接查询价格表
- // IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN
- Open(w_sale_price_list_ch)
- s_pricelist = Message.PowerObjectParm
- IF s_pricelist.pricelistid <= 0 THEN RETURN
- ll_pricelistid = s_pricelist.pricelistid
- IF wf_get_pricelist_price_buchong(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- MessageBox('提示',arg_msg,information!,OK!)
- RETURN
- END IF
- //IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- // MessageBox('提示',arg_msg,information!,OK!)
- // RETURN
- //END IF
- //
- //dw_child.AcceptText()
- //FOR ls_row = 1 To dw_child.RowCount()
- // ls_mtrlid = dw_child.Object.mtrlid[ls_row]
- // ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
- // ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
- // ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
- // ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
- //
- // IF sys_option_price_if_status = 0 THEN
- // ls_status = ''
- // ls_pcode = ''
- // ls_woodcode = ''
- // END IF
- //
- //
- // SELECT u_sale_price_mx.price
- // INTO :obj_price
- // FROM u_sale_price_mx
- // WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND
- // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
- // ( u_sale_price_mx.status = :ls_status ) AND
- // ( u_sale_price_mx.pcode = :ls_pcode ) AND
- // ( u_sale_price_mx.woodcode = :ls_woodcode ) AND
- // ( u_sale_price_mx.unit = :ls_unit );
- // IF sqlca.SQLCode <> 0 THEN
- // err_str = err_str + "当前价格表的 "+String(dw_child.Object.mtrlname[ls_row])+" 的客户定价尚未设定! ~n"
- // ELSE
- // dw_child.Object.u_saletaskmx_enprice[ls_row] = obj_price
- // END IF
- //NEXT
- //
- //
- //IF err_str <> '' THEN
- // MessageBox('错误',err_str,stopsign!,OK!)
- //END IF
- end event
- event ue_cmpl_price();IF dw_child.GetRow() = 0 THEN RETURN
- Long child_row
- Long uc_row
- Long li_cusid,li_mtrlid
- Decimal ld_cusprice
- uc_row = dw_uc.GetRow()
- li_cusid = dw_uc.Object.cusid[uc_row]
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- s_cmpl_qty s_cmpl,s_return
- s_cmpl.qty = dw_child.Object.u_saletaskmx_enprice[child_row]
- s_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
- s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
- s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[child_row]
- s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
- s_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
- s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
- s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
- s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
- s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
- s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
-
- li_mtrlid = dw_child.Object.mtrlid[child_row]
- SELECT price
- INTO :ld_cusprice
- FROM u_cust
- INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- WHERE u_sale_price_mx.mtrlid = :li_mtrlid
- AND u_cust.cusid = :li_cusid;
- IF SQLCA.SQLCODE <> 0 THEN
- ld_cusprice = 0
- END IF
- s_cmpl.cusprice = ld_cusprice
- IF NOT IsValid(w_cmpl_qty_ch) THEN
- OpenWithParm(w_cmpl_qty_ch,s_cmpl)
- s_return = Message.PowerObjectParm
- IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
- dw_child.Object.u_saletaskmx_enprice[child_row] = s_return.qty
- dw_child.Object.u_saletaskmx_priceformula[child_row] = s_return.formula
- END IF
- END IF
- end event
- event ue_p_priceformula_set();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定单价公式', question!, YesNo!, 2) = 2 THEN
- RETURN
- END IF
- Long ll_i
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 1 TO dw_child.RowCount()
- IF ll_i = 1 THEN CONTINUE
- dw_child.Object.u_saletaskmx_priceformula[ll_i] = dw_child.Object.u_saletaskmx_priceformula[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_p_cmpl_price();IF dw_child.RowCount() = 0 THEN RETURN
- Long i
- String ls_formula
- String ls_msg
- String ls_rs
- String ls_num
- Decimal ld_addqty
- Decimal ld_price
- Decimal ld_rebate
- decimal ld_qty
- dw_child.AcceptText()
- s_cmpl_qty s_cmpl
- Open(w_cmpl_qty_ch_son)
- s_cmpl = Message.PowerObjectParm
- dw_uc.SetRedraw(false)
- FOR i = 1 TO dw_child.RowCount()
- ld_qty = 0
- IF dw_child.Object.u_saletaskmx_priceformula[i] <> '' THEN
- s_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[i]
- s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
- s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
-
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
-
- s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
- s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
- s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
-
- IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
- MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
- goto ext
- END IF
- dw_child.Object.u_saletaskmx_enprice[i] = ld_qty
-
- END IF
- NEXT
- ext:
- dw_child.SetColumn('u_saletaskmx_enprice')
- dw_uc.SetRedraw(TRUE)
- end event
- event ue_show_his_pricemx();
- s_edit_index_tran s_ch_tran //传递参数使用
- long ll_row
- long ll_scid
- long ll_outwareid
- long ll_printid
- long ll_mtrlwareid
- decimal dec_uqty
- string ls_mtrlname
- long ll_cusid
- long ll_mtrlid
- string ls_status,ls_woodcode,ls_pcode,ls_plancode,ls_mtrlcode
- ll_row = dw_child.GetRow()
- IF ll_row = 0 THEN RETURN
- long uc_row
- uc_row = dw_uc.GetRow()
- IF uc_row = 0 THEN RETURN
- ll_scid = cur_scid
- ll_cusid = dw_uc.Object.cusid[uc_row]
- ll_mtrlid = dw_child.Object.mtrlid[ll_row]
- ls_status= dw_child.Object.u_saletaskmx_status[ll_row]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ll_row]
- ls_pcode= dw_child.Object.u_saletaskmx_pcode[ll_row]
- ls_plancode= dw_child.Object.u_saletaskmx_plancode[ll_row]
- ls_mtrlcode= dw_child.Object.u_mtrldef_mtrlcode[ll_row]
- s_ch_tran.b_long=ll_scid //cur_scid
- s_ch_tran.c_long=ll_cusid //cur_cusid
- s_ch_tran.d_long=ll_mtrlid //cur_mtrlid
- s_ch_tran.b_string=ls_mtrlcode
- s_ch_tran.c_string=ls_status
- s_ch_tran.d_string=ls_woodcode
- s_ch_tran.e_string=ls_pcode
- s_ch_tran.f_string=ls_plancode
- IF IsValid(w_outware_sale_show_his_pricemx) THEN
- w_outware_sale_show_his_pricemx.WindowState = Normal!
- w_outware_sale_show_his_pricemx.cur_scid =ll_scid
- w_outware_sale_show_his_pricemx.cur_cusid =ll_cusid
- w_outware_sale_show_his_pricemx.cur_mtrlid = ll_mtrlid
- w_outware_sale_show_his_pricemx.cur_status = ls_status
- w_outware_sale_show_his_pricemx.cur_woodcode = ls_woodcode
- w_outware_sale_show_his_pricemx.cur_pcode = ls_pcode
- w_outware_sale_show_his_pricemx.cur_plancode = ls_plancode
- w_outware_sale_show_his_pricemx.cur_mtrlname = ls_mtrlcode
-
- w_outware_sale_show_his_pricemx.wf_retrieve_cbmx()
- ELSE
- OpenWithParm(w_outware_sale_show_his_pricemx,s_ch_tran)
- END IF
- end event
- event ue_retrieve_his_pricemx();
- s_edit_index_tran s_ch_tran //传递参数使用
- long ll_row
- long ll_scid
- long ll_outwareid
- long ll_printid
- long ll_mtrlwareid
- decimal dec_uqty
- string ls_mtrlname
- long ll_cusid
- long ll_mtrlid
- string ls_status,ls_woodcode,ls_pcode,ls_plancode,ls_mtrlcode
- ll_row = dw_child.GetRow()
- IF ll_row = 0 THEN RETURN
- long uc_row
- uc_row = dw_uc.GetRow()
- IF uc_row = 0 THEN RETURN
- ll_scid = cur_scid
- ll_cusid = dw_uc.Object.cusid[uc_row]
- ll_mtrlid = dw_child.Object.mtrlid[ll_row]
- ls_status= dw_child.Object.u_saletaskmx_status[ll_row]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ll_row]
- ls_pcode= dw_child.Object.u_saletaskmx_pcode[ll_row]
- ls_plancode= dw_child.Object.u_saletaskmx_plancode[ll_row]
- ls_mtrlcode= dw_child.Object.u_mtrldef_mtrlcode[ll_row]
- s_ch_tran.b_long=ll_scid //cur_scid
- s_ch_tran.c_long=ll_cusid //cur_cusid
- s_ch_tran.d_long=ll_mtrlid //cur_mtrlid
- s_ch_tran.b_string=ls_mtrlcode
- s_ch_tran.c_string=ls_status
- s_ch_tran.d_string=ls_woodcode
- s_ch_tran.e_string=ls_pcode
- s_ch_tran.f_string=ls_plancode
- IF IsValid(w_outware_sale_show_his_pricemx) THEN
- w_outware_sale_show_his_pricemx.WindowState = Normal!
- w_outware_sale_show_his_pricemx.cur_scid =ll_scid
- w_outware_sale_show_his_pricemx.cur_cusid =ll_cusid
- w_outware_sale_show_his_pricemx.cur_mtrlid = ll_mtrlid
- w_outware_sale_show_his_pricemx.cur_status = ls_status
- w_outware_sale_show_his_pricemx.cur_woodcode = ls_woodcode
- w_outware_sale_show_his_pricemx.cur_pcode = ls_pcode
- w_outware_sale_show_his_pricemx.cur_plancode = ls_plancode
- w_outware_sale_show_his_pricemx.cur_mtrlname = ls_mtrlcode
-
- w_outware_sale_show_his_pricemx.wf_retrieve_cbmx()
- END IF
- end event
- event ue_create_inware_cp();//辅助生成生产进仓单
- IF Not (f_power_ind(376) Or f_power_ind(1054)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- Long ll_storageid
- IF sys_option_hide_ware = 0 THEN
- Open(w_order_ml_storage)
- ll_storageid = Message.DoubleParm
- IF ll_storageid = 0 THEN RETURN
- ELSE
- ll_storageid = 11
- END IF
- Long cnt
- String ls_msg
- Long i,j
- Long ll_scid, ll_taskid
- s_saletask_ch s_saletask
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- IF i <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
- MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[i]
- ll_taskid = dw_pageretr.Object.taskid[i]
- s_saletask.scid = ll_scid
- s_saletask.taskid = ll_taskid
- s_saletask.taskcode = dw_pageretr.Object.taskcode[i]
- s_saletask.assign_emp = dw_pageretr.Object.assign_emp[i]
- s_saletask.cusid = dw_pageretr.Object.u_saletask_cusid[i]
- s_saletask.cuscode = dw_pageretr.Object.u_cust_cuscode[i]
- s_saletask.cusname = dw_pageretr.Object.u_cust_name[i]
- s_saletask.relcode = dw_pageretr.Object.u_saletask_relcode[i]
- s_saletask.freight = dw_pageretr.Object.u_saletask_freight[i]
- s_saletask.freight_tele = dw_pageretr.Object.u_saletask_freight_tele[i]
- s_saletask.moneyid = dw_pageretr.Object.u_saletask_moneyid[i]
- s_saletask.dscrp2 = dw_pageretr.Object.u_saletask_dscrp2[i]
- s_saletask.dscrp = dw_pageretr.Object.dscrp[i]
- s_edit_index_tran s_open
- IF Not IsValid(w_inware_cp) THEN
- OpenWithParm(w_inware_cp,s_open)
- w_inware_cp.ddlb_scid.uf_selectsc(ll_scid)
- w_inware_cp.cb_add.TriggerEvent(Clicked!)
-
-
-
-
- String errmsg = ''
-
- w_inware_cp.wf_autoaddmx(cur_scid,ll_taskid,s_saletask.taskcode,ll_storageid,s_saletask.cusid,errmsg)
-
-
- w_inware_cp.dw_uc.SetRedraw(True)
-
-
-
-
- END IF
-
- //SELECT count(*)
- // INTO :cnt
- // FROM u_saletaskmx
- // WHERE scid = :ll_scid
- // AND taskid = :ll_taskid
- // And needbuyqty - buytaskqty > 0 ;
- //IF sqlca.SQLCode <> 0 THEN
- // cnt = 0
- //END IF
- //IF cnt = 0 THEN
- // MessageBox('系统提示','没有需采购数,不能建采购订单!',Information!,OK!)
- // RETURN
- //END IF
- //
- //
- //s_edit_index_tran s_open
- //IF Not IsValid(w_buytask) THEN
- // OpenWithParm(w_buytask,s_open)
- //
- // w_buytask.ddlb_scid.uf_selectsc(ll_scid)
- // w_buytask.cb_add.TriggerEvent(Clicked!)
- //
- // w_buytask.dw_uc.Object.u_buytask_billtype[w_buytask.dw_uc.GetRow()] = 1
- // w_buytask.TriggerEvent('ue_f9')
- // w_buytask.wf_autoaddmx_sale(s_saletask)
- //END IF
-
-
-
-
-
-
-
- end event
- event ue_priceaudit();IF dw_edit_mode THEN RETURN
- String arg_msg = '', ls_msg
- Long pagerert_row
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- Boolean lb_audit = False, lb_secaudit = False, lb_commit = True
- IF Not f_power_ind(1826) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
- ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
- li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
- IF MessageBox ("询问","是否确定要对当前订单确认?",Question!,YesNo! ) = 2 THEN RETURN
- IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF obj_saletask.priceaudit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- MessageBox('提示','销售订单确认'+'成功!',information!,OK!)
- wf_refresh_curuc(ll_scid,ll_taskid)
- end event
- event ue_cpriceaudit();
- IF dw_edit_mode THEN RETURN
- String arg_msg = '', ls_msg
- Long pagerert_row
- Long ll_scid, ll_taskid
- Int li_status
- Boolean lb_secaudit = False, lb_commit = False
- IF Not f_power_ind(1827) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
- ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
- li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
- IF MessageBox ("询问","是否确定要对当前订单取消确认?",Question!,YesNo! ) = 2 THEN RETURN
- IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF obj_saletask.priceaudit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- MessageBox('提示','销售订单反确认'+'成功!',information!,OK!)
- wf_refresh_curuc(ll_scid,ll_taskid)
- end event
- event ue_set_dytitle();Long ll_d_col_count,i,j = 1
- String ls_col_name
- s_dytitle_saletask ss_dytitle_saletask //col_name
- ll_d_col_count = Long(dw_child.Object.datawindow.Column.Count)
- FOR i = 1 To ll_d_col_count
-
- ls_col_name = dw_child.Describe('#' + String(i) + '.Name')
- IF Long(dw_child.Describe(ls_col_name + '.TabSequence ')) > 0 THEN
- ss_dytitle_saletask.col_name[j] = ls_col_name
- ss_dytitle_saletask.title_name[j] = dw_child.describe(ls_col_name + '_t.Text')
- j++
- END IF
- NEXT
- openwithparm(w_dytitle_saletask,ss_dytitle_saletask)
- end event
- event ue_insert_execltodw();Long i,ll_cnt,j
- SELECT count(*) Into :ll_cnt From u_dytitle_saletask;
- IF ll_cnt = 0 THEN
- MessageBox('Error','明细标题与execl标题对应关系没有设置,请先执行设置')
- This.TriggerEvent('ue_set_dytitle')
- RETURN
- END IF
- dw_child.setredraw(false)
- wf_openfile(dw_child)
- dw_child.AcceptText()
- String ls_mtrlcode,ls_unit
- Long ll_mtrlid
- String arg_msg
- For j = dw_child.RowCount() to 1 step -1
- ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[j]
- IF ls_mtrlcode = '' THEN
- dw_child.deleterow(j)
- end if
- Next
- FOR i = 1 To dw_child.RowCount()
- ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
- IF ls_mtrlcode <> '' THEN
- ll_mtrlid = 0
- SELECT mtrlid,unit Into :ll_mtrlid,:ls_unit From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- IF ll_mtrlid <> 0 THEN
- dw_child.Object.u_saletaskmx_printid[i] = i
- dw_child.Object.mtrlid[i] = ll_mtrlid
- IF dw_child.Object.u_saletaskmx_unit[i] = '' Or IsNull(dw_child.Object.u_saletaskmx_unit[i]) THEN
- dw_child.Object.u_saletaskmx_unit[i] = ls_unit
- END IF
- ELSE
- arg_msg = arg_msg + ',' +ls_mtrlcode
-
- END IF
-
- END IF
- NEXT
- dw_child.setredraw(true)
- IF arg_msg <> '' THEN
- MessageBox('Error',arg_msg + ' 没有定义,请先定义物料')
- END IF
- end event
- event ue_setprice_forformula();Long child_row
- dw_child.AcceptText()
- for child_row = 1 to dw_child.rowcount()
- if dw_child.Object.u_saletaskmx_priceformula[child_row]<>'' then
- String ls_msg
- s_cmpl_qty arg_cmpl
- decimal ld_qty
- long mtrlid,cusid
- mtrlid = dw_child.Object.mtrlid[child_row]
- cusid = dw_uc.Object.cusid[dw_uc.getrow()]
-
- arg_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_saletaskmx_price[child_row]
- arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
- arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
- arg_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
- arg_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- arg_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
- arg_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
- arg_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
- arg_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
-
- arg_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.flag = true
- arg_cmpl.addvalue = 1
- arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
- ld_qty = 0
- if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
- MessageBox('提示',ls_msg, Information!, OK! )
- RETURN
- END IF
- dw_child.Object.u_saletaskmx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
- end if
- next
- end event
- event retrieve_fjnum();
- Long i,ls_filecount
- string arg_billcode
- dw_pageretr.SetRedraw(False)
- FOR i = 1 To dw_pageretr.RowCount()
-
- arg_billcode = dw_pageretr.Object.taskcode[i]
-
- ls_filecount = 0
- SELECT count(*) INTO :ls_filecount
- FROM u_file
- WHERE relcode = :arg_billcode
-
- AND scid = 0
- AND billtype = 102
- Using sys_filedb_sqlca;
-
- IF ls_filecount <> 0 then
- dw_pageretr.Object.fj_num[i] = String(ls_filecount)
- end if
-
- NEXT
- dw_pageretr.SetRedraw(true)
- end event
- event ue_cmpl_tax();If dw_child.GetRow() = 0 Then Return
- Long child_row
- child_row = dw_child.GetRow()
- Decimal lde_saleqty, lde_rebate ,lde_taxamt,lde_enprice,lde_enprice_notax
- lde_saleqty = dw_child.Object.usaleqty[child_row]
- lde_rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
- lde_enprice = dw_child.Object.u_saletaskmx_enprice[child_row]
- lde_enprice_notax = dw_child.Object.u_saletaskmx_enprice_notax[child_row]
- If lde_saleqty = 0 Then
- MessageBox('提示','请填写数量!')
- Return
- End If
- If lde_enprice = 0 And lde_enprice_notax = 0 Then
- MessageBox('提示','请填写含税单价或者不含税单价')
- Return
- End If
- If Not IsValid(w_ware_cmpl_taxamt) Then
- s_edit_index_tran s_tran_tax
- s_tran_tax.b_string = dw_child.Object.u_saletaskmx_unit[child_row] //单位
-
- OpenWithParm(w_ware_cmpl_taxamt,s_tran_tax)
-
- s_edit_index_tran s_return
- s_return = Message.PowerObjectParm
-
- If Not IsNull(s_return) Then
- If s_return.b_decimal = 0 Then Return
- lde_taxamt = s_return.b_decimal
- dw_child.Object.u_saletaskmx_enamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金
-
- If lde_enprice <> 0 Then
- dw_child.Object.enamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额
- dw_child.Object.enamt_notax[child_row] = dw_child.Object.enamt[child_row] - dw_child.Object.u_saletaskmx_enamt_tax[child_row] //不含税总金额
- dw_child.Object.u_saletaskmx_enprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价
- dw_child.Object.u_saletaskmx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率
- elseif lde_enprice_notax <> 0 then
- dw_child.Object.enamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额
- dw_child.Object.enamt[child_row] = dw_child.Object.enamt_notax[child_row] + dw_child.Object.u_saletaskmx_enamt_tax[child_row] //总金额
- dw_child.Object.u_saletaskmx_enprice[child_row] = lde_enprice_notax + lde_taxamt //单价
- dw_child.Object.u_saletaskmx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率
-
- End If
-
-
- End If
- End If
- end event
- event ue_p_status();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定'+sys_option_change_status, question!, YesNo!, 1) = 2 THEN
- RETURN
- END IF
- Long ll_i,ll_mtrlid,ll_statusflag
- ll_mtrlid = dw_child.object.mtrlid[1]
- if ll_mtrlid = 0 then return
- select statusflag into :ll_statusflag from u_mtrldef where mtrlid = :ll_mtrlid;
- if sqlca.sqlcode <> 0 then
- return
- else
- if ll_statusflag <> 0 then
- messagebox('提示','第一行明细'+sys_option_change_status+'不是自由选填')
- return
- end if
- end if
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 2 TO dw_child.RowCount()
- ll_mtrlid = dw_child.object.mtrlid[ll_i]
-
- if ll_mtrlid = 0 then continue
-
- select statusflag into :ll_statusflag from u_mtrldef where mtrlid = :ll_mtrlid;
- if sqlca.sqlcode <> 0 then
- continue
- else
- if ll_statusflag <> 0 then continue
- end if
-
- dw_child.Object.u_saletaskmx_status[ll_i] = dw_child.Object.u_saletaskmx_status[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_p_woodcode();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定'+sys_option_change_woodcode, question!, YesNo!, 1) = 2 THEN
- RETURN
- END IF
- Long ll_i,ll_mtrlid,ll_woodcodeflag
- ll_mtrlid = dw_child.object.mtrlid[1]
- if ll_mtrlid = 0 then return
- select woodcodeflag into :ll_woodcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
- if sqlca.sqlcode <> 0 then
- return
- else
- if ll_woodcodeflag <> 0 then
- messagebox('提示','第一行明细'+sys_option_change_woodcode+'不是自由选填')
- return
- end if
- end if
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 2 TO dw_child.RowCount()
- ll_mtrlid = dw_child.object.mtrlid[ll_i]
-
- if ll_mtrlid = 0 then continue
-
- select woodcodeflag into :ll_woodcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
- if sqlca.sqlcode <> 0 then
- continue
- else
- if ll_woodcodeflag <> 0 then continue
- end if
-
- dw_child.Object.u_saletaskmx_woodcode[ll_i] = dw_child.Object.u_saletaskmx_woodcode[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_p_pcode();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定'+sys_option_change_pcode, question!, YesNo!, 1) = 2 THEN
- RETURN
- END IF
- Long ll_i,ll_mtrlid,ll_pcodeflag
- ll_mtrlid = dw_child.object.mtrlid[1]
- if ll_mtrlid = 0 then return
- select pcodeflag into :ll_pcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
- if sqlca.sqlcode <> 0 then
- return
- else
- if ll_pcodeflag <> 0 then
- messagebox('提示','第一行明细'+sys_option_change_pcode+'不是自由选填')
- return
- end if
- end if
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 2 TO dw_child.RowCount()
- ll_mtrlid = dw_child.object.mtrlid[ll_i]
-
- if ll_mtrlid = 0 then continue
-
- select pcodeflag into :ll_pcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
- if sqlca.sqlcode <> 0 then
- continue
- else
- if ll_pcodeflag <> 0 then continue
- end if
-
- dw_child.Object.u_saletaskmx_pcode[ll_i] = dw_child.Object.u_saletaskmx_pcode[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_setqty_forformula();IF dw_child.RowCount() = 0 THEN RETURN
- Long i
- String ls_formula
- String ls_msg
- String ls_rs
- String ls_num
- Decimal ld_addqty
- Decimal ld_price
- Decimal ld_rebate
- decimal ld_qty
- dw_child.AcceptText()
- s_cmpl_qty s_cmpl
- s_cmpl.addvalue = 1
- s_cmpl.num = long(ddlb_weishu.text)
- dw_uc.SetRedraw(false)
- FOR i = 1 TO dw_child.RowCount()
- ld_qty = 0
- IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
- s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
- s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
- s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
-
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
-
- s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[i]
- s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[i]
- s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[i]
- s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[i]
-
- s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
- s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
- s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
-
- IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
- MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
- goto ext
- END IF
- dw_child.Object.usaleqty[i] = ld_qty
-
- END IF
- NEXT
- ext:
- dw_child.SetColumn('usaleqty')
- dw_uc.SetRedraw(TRUE)
- end event
- event ue_mx_alter();IF NOT f_power_ind(2055,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- String arg_msg = ''
- Long childrow,uc_row,cnt
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!')
- RETURN
- END IF
- childrow = dw_child.GetRow()
- IF childrow <= 0 THEN
- MessageBox('系统提示','请选定当前明细物料!')
- RETURN
- END IF
- Long ll_scid,ll_taskid,ll_printid
- ll_scid = dw_pageretr.Object.u_saletask_scid[uc_row]
- ll_taskid = dw_pageretr.Object.taskid[uc_row]
- ll_printid = dw_child.Object.u_saletaskmx_printid[childrow]
- s_edit_index_tran s_inscust_open
- s_inscust_open.d_long = 1
- s_inscust_open.c_long = ll_scid
- s_inscust_open.arr_long[1] = ll_scid
- s_inscust_open.arr_long2[1] = ll_taskid
- s_inscust_open.arr_long3[1] = ll_printid
- OpenWithParm(w_saletask_altermtrl,s_inscust_open)
- end event
- event ue_saletask_choose();s_choose s_c
- OpenWithParm(w_choose,s_c)
- s_c = Message.PowerObjectParm
- IF NOT s_c.ifok THEN RETURN
-
- cbx_enamt_edit.Checked=s_c.amt_price
- cbx_zk.Checked=s_c.amt_zk
- cbx_enamt_notax_edit.Checked=s_c.notax_price
- cbx_auto_qty.Checked=s_c.ifauto
- ddlb_weishu.text=s_c.weishu
- IF cbx_enamt_edit.Checked=TRUE and cbx_zk.Checked=FALSE THEN
- cbx_enamt_edit.TriggerEvent(Clicked!)
- ELSEIF cbx_enamt_edit.Checked=FALSE and cbx_zk.Checked=TRUE THEN
- cbx_zk.TriggerEvent(Clicked!)
- ELSE
- cbx_enamt_edit.TriggerEvent(Clicked!)
- cbx_zk.TriggerEvent(Clicked!)
- END IF
- //cbx_enamt_edit.TriggerEvent(Clicked!)
- //cbx_zk.TriggerEvent(Clicked!)
- cbx_enamt_notax_edit.TriggerEvent(Clicked!)
- cbx_auto_qty.TriggerEvent(Clicked!)
- ddlb_weishu.TriggerEvent(Clicked!)
-
- end event
- event ue_create_buytask_auto();//辅助生成采购订单
- IF Not f_power_ind(93) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- Long rslt = 1
- Long it_mx = 0
- Long cnt,row
- String arg_msg
- String ls_msg
- Long i,j
- Long ll_scid, ll_taskid
- Long sptid_arr[]
- Decimal ld_qty
- Long ll_storageid
- uo_buytask obj_task
- obj_task = Create uo_buytask
- obj_task.commit_transaction = sqlca
- uo_spt_price uo_sptprice
- uo_sptprice = Create uo_spt_price
- s_saletask_ch s_saletask
- dw_pageretr.AcceptText()
- row = dw_pageretr.GetRow()
- IF dw_pageretr.GetRow() <= 0 THEN
- MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
- RETURN
- END IF
- IF Not (dw_pageretr.Object.u_saletask_status[row] = 1 ) THEN
- MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
- RETURN
- END IF
- for i = 1 to dw_child.rowcount()
- IF dw_child.object.u_saletaskmx_needbuyqty[i] - dw_child.object.u_saletaskmx_buytaskqty[i] - dw_child.object.buyqty[i] > 0 THEN
- cnt++
- END IF
- next
- IF cnt = 0 then
- messagebox("提示","没有需要建立采购订单的明细")
- RETURN
- END IF
- //确定供应商
- cnt = 0
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.object.u_saletaskmx_needbuyqty[i] - dw_child.object.u_saletaskmx_buytaskqty[i] - dw_child.object.buyqty[i] > 0 THEN
-
- IF dw_child.Object.u_mtrldef_dftsptid[i] = 0 THEN
- messagebox("提示","第"+String(i)+"行:"+"该物料没有默认供应商")
- RETURN
- END IF
-
- FOR j = 1 To UpperBound(sptid_arr)
- IF sptid_arr[j] = dw_child.Object.u_mtrldef_dftsptid[i] THEN
- GOTO nxt
- END IF
- NEXT
-
- cnt ++
- sptid_arr[cnt] = dw_child.Object.u_mtrldef_dftsptid[i]
- END IF
- nxt:
- NEXT
- ll_scid = dw_pageretr.Object.u_saletask_scid[row]
- ll_taskid = dw_pageretr.Object.taskid[row]
- s_saletask.scid = ll_scid
- s_saletask.taskid = ll_taskid
- s_saletask.taskcode = dw_pageretr.Object.taskcode[row]
- Long dftbanktypeid,dftmoneyid
- String ls_sptcode, ls_sptname
- FOR i = 1 to upperbound(sptid_arr)
- //查询默认结算方式,默认币种
- SELECT dftbanktypeid,dftmoneyid, sptcode,name
- INTO :dftbanktypeid,:dftmoneyid, :ls_sptcode, :ls_sptname
- FROM u_spt
- Where sptid = :sptid_arr[i] Using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询供应商信息失败,ID['+String(sptid_arr[i])+'],'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF dftbanktypeid = 0 THEN
- rslt = 0
- arg_msg = '供应商编号['+ls_sptcode+']未定义默认结算方式'
- GOTO ext
- END IF
-
- IF dftmoneyid = 0 THEN
- rslt = 0
- arg_msg = '供应商编号['+ls_sptcode+']未定义默认币种'
- GOTO ext
- END IF
-
- s_buytaskmx_arr s_buy
-
- IF obj_task.newbegin(ll_scid,arg_msg) = 0 THEN //
- rslt = 0
- GOTO ext
- END IF
-
-
- obj_task.requiredate = DateTime(Today())
- obj_task.Assign_emp = publ_operator
- obj_task.Kind = 0
- obj_task.sptid = sptid_arr[i]
- obj_task.relcode = s_saletask.taskcode
-
- obj_task.banktypeid = dftbanktypeid
- obj_task.train = ''
- obj_task.billtype = 1
- obj_task.moneyid = dftmoneyid
- obj_task.mrate = f_get_mrate( dftmoneyid)
- obj_task.dscrp = "销售订单辅助生成"
- FOR j = 1 To dw_child.RowCount()
- IF dw_child.object.u_saletaskmx_needbuyqty[j] - dw_child.object.u_saletaskmx_buytaskqty[j] - dw_child.object.buyqty[j] > 0 And sptid_arr[i] = dw_child.Object.u_mtrldef_dftsptid[j] THEN
-
- ld_qty = dw_child.object.u_saletaskmx_needbuyqty[j] - dw_child.object.u_saletaskmx_buytaskqty[j] - dw_child.object.buyqty[j]
-
-
- it_mx++
- s_buy.MtrlID[it_mx] = dw_child.Object.mtrlid[j]
- s_buy.mtrlcode[it_mx] = dw_child.Object.u_mtrldef_mtrlcode[j]
- s_buy.status[it_mx] = dw_child.Object.u_saletaskmx_status[j]
- s_buy.woodcode[it_mx] = dw_child.Object.u_saletaskmx_woodcode[j]
- s_buy.pcode[it_mx] = dw_child.Object.u_saletaskmx_pcode[j]
- s_buy.unit[it_mx] = dw_child.Object.u_mtrldef_unit[j]
- s_buy.qty[it_mx] = ld_qty
- s_buy.uqty[it_mx] = ld_qty
- s_buy.rate[it_mx] = 1
- s_buy.relid[it_mx] = s_saletask.taskid
- s_buy.relprintid[it_mx] = dw_child.Object.u_saletaskmx_printid[j]
- s_buy.relcode[it_mx] = s_saletask.taskcode
-
- f_find_dftstorageid(dw_child.Object.mtrlid[j], ll_storageid)
- s_buy.storageid[it_mx] = ll_storageid
-
- //新的取价模式
- Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate,ld_rate
- String ls_unit
- ls_unit = s_buy.unit[it_mx]
- IF uo_sptprice.uof_get_mtrl_buyprice(sptid_arr[i],s_buy.MtrlID[it_mx],ls_unit,&
- s_buy.status[it_mx],s_buy.woodcode[it_mx],s_buy.pcode[it_mx],0,&
- ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) = 1 THEN
- s_buy.uprice[it_mx] = ls_1stnewcost
- // s_buy.rate[it_mx] = ls_1stzqrate
- ELSE
- s_buy.uprice[it_mx] = 0
- END IF
-
-
- IF obj_task.acceptmx(0,&
- 0,&
- '',&
- s_buy.MtrlID[it_mx],&
- s_buy.uqty[it_mx],&
- 0,&
- s_buy.uprice[it_mx],&
- 1,&
- 0,&
- dw_child.Object.u_saletaskmx_mxdscrp[j],&
- s_buy.mtrlcode[it_mx],&
- arg_msg,&
- j,&
- DateTime(Today()),&
- s_buy.storageid[it_mx],&
- s_buy.status[it_mx],&
- s_buy.woodcode[it_mx],&
- s_buy.pcode[it_mx],&
- s_buy.unit[it_mx],&
- s_buy.rate[it_mx],&
- s_buy.relid[it_mx],&
- s_buy.relprintid[it_mx],&
- s_buy.relcode[it_mx],&
- '',&
- 0,0,dw_child.Object.u_saletaskmx_plancode[j],&
- dw_child.Object.u_saletaskmx_mxdscrp2[j],dw_child.Object.u_saletaskmx_mxdscrp3[j],dw_child.Object.u_saletaskmx_mxdscrp4[j]) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- NEXT
- IF obj_task.savesubmit(publ_operator,arg_msg,False) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- NEXT
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using sqlca;
- MessageBox("Error",arg_msg)
- ELSE
- COMMIT Using sqlca;
- MessageBox("系统提示","建立采购订单成功")
- THIS.TriggerEvent('retrieve_childdw')
- END IF
- end event
- event ue_setprice_forformula_1();Long child_row
- child_row = dw_child.getrow()
- dw_child.AcceptText()
- if dw_child.Object.u_saletaskmx_priceformula[child_row]<>'' then
- String ls_msg
- s_cmpl_qty arg_cmpl
- decimal ld_qty
- long mtrlid,cusid
- mtrlid = dw_child.Object.mtrlid[child_row]
- cusid = dw_uc.Object.cusid[dw_uc.getrow()]
-
- arg_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_saletaskmx_price[child_row]
- arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
- arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
- arg_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
- arg_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- arg_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
- arg_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
- arg_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
- arg_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
-
- arg_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.flag = true
- arg_cmpl.addvalue = 1
- arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
- ld_qty = 0
- if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
- MessageBox('提示',ls_msg, Information!, OK! )
- RETURN
- END IF
- dw_child.Object.u_saletaskmx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
- end if
- end event
- event ue_setqty_forformula_1();IF dw_child.RowCount() = 0 THEN RETURN
- Long i
- String ls_formula
- String ls_msg
- String ls_rs
- String ls_num
- Decimal ld_addqty
- Decimal ld_price
- Decimal ld_rebate
- decimal ld_qty
- i = dw_child.getrow()
- dw_child.AcceptText()
- s_cmpl_qty s_cmpl
- s_cmpl.addvalue = 1
- s_cmpl.num = long(ddlb_weishu.text)
- dw_uc.SetRedraw(false)
- ld_qty = 0
- IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
- s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
- s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
- s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
-
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
-
- s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[i]
- s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[i]
- s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[i]
- s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[i]
-
- s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
- s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
- s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
-
- IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
- MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
- goto ext
- END IF
- dw_child.Object.usaleqty[i] = ld_qty
-
- END IF
- ext:
- dw_child.SetColumn('usaleqty')
- dw_uc.SetRedraw(TRUE)
- end event
- event ue_copy_needqty();Long i
- Decimal lde_rate
- dw_child.AcceptText()
- FOR i = 1 To dw_child.RowCount()
- lde_rate = dw_child.Object.u_saletaskmx_rate[i]
- IF lde_rate = 0 THEN
- lde_rate = 1
- dw_child.Object.u_saletaskmx_rate[i] = 1
- END IF
- dw_child.Object.u_saletaskmx_needbuyqty[i] = dw_child.Object.usaleqty[i] * lde_rate
- NEXT
- end event
- public function integer wf_cusdetail ();////wf_cusdetail
- //
- //long ls_row,ls_cusid
- //
- //ls_row=dw_uc.getrow()
- //if ls_row=0 then
- // messagebox('系统提示','没有选定当前行!')
- // if isvalid(w_cust_mtrlprice) then close(w_cust_mtrlprice)
- // return 0
- //else
- // ls_cusid=dw_uc.object.cusid[ls_row]
- // if isnull(ls_cusid) or ls_cusid<=0 then
- // messagebox('系统提示','没有选定当前客户,请在编辑状态双击或按F9选择客户!')
- // if isvalid(w_cust_mtrlprice) then close(w_cust_mtrlprice)
- // return 0
- // end if
- //end if
- //
- //if isvalid(w_cust_mtrlprice) then
- // Send(Handle(w_cust_mtrlprice), 274, 61728, 0)
- //else
- // open(w_cust_mtrlprice)
- //end if
- // w_cust_mtrlprice.wf_refresh(ls_cusid)
- //
- return 1
- end function
- public function integer wf_statusbtn_fc ();//wf_statusbtn_fc
- IF dw_edit_mode THEN
- cb_auditing_cancel.Enabled = False
- cb_auditing.Enabled = False
- RETURN 0
- END IF
- Long ls_row, li_status
- ls_row = dw_pageretr.GetRow()
- IF Not ls_row > 0 THEN
- cb_auditing_cancel.Enabled = False
- cb_auditing.Enabled = False
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- RETURN 0
- END IF
- li_status = dw_pageretr.Object.u_saletask_status[ls_row]
- CHOOSE CASE li_status
- CASE 0
- cb_auditing_cancel.Enabled = False
- cb_auditing.Enabled = True
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- CASE 1
- cb_auditing_cancel.Enabled = True
- cb_auditing.Enabled = False
- IF sys_option_saletask_secaudit = 0 THEN
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- ELSE
- cb_auditing.Text = '二审&F'
- cb_auditing_cancel.Text = '二撤'
- END IF
- CASE 2
- cb_auditing_cancel.Enabled = False
- cb_auditing.Enabled = False
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- CASE 3
- cb_auditing_cancel.Enabled = False
- cb_auditing.Enabled = False
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- CASE 4
- cb_auditing_cancel.Enabled = True
- cb_auditing.Enabled = True
- cb_auditing.Text = '二审&F'
- cb_auditing_cancel.Text = '撤审'
- CASE 5
- cb_auditing_cancel.Enabled = False
- cb_auditing.Enabled = False
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- CASE ELSE
- cb_auditing_cancel.Enabled = True
- cb_auditing.Enabled = True
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- END CHOOSE
- cb_auditing.TriggerEvent('ue_textchange')
- cb_auditing_cancel.TriggerEvent('ue_textchange')
- RETURN 0
- end function
- public function integer wf_refresh_curuc (long arg_scid, long arg_taskid);//wf_refresh_curuc
- Int rslt = 1
- IF arg_taskid <= 0 OR IsNull(arg_taskid) THEN
- rslt = 0
- GOTO ext
- END IF
- Long uc_row
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- Int Kind
- DateTime requiredate
- String assign_emp
- String dscrp
- String dscrp2
- String paytype, transcode, carcode
- String taskcode
- Long cusid
- DateTime accomplishdate
- Int status
- String operator, modemp, permit_emp,auditemp
- DateTime opdate, moddate, permit_date,auditdate
- String last_emp
- String u_cust_name
- String u_cust_cuscode
- Long moneyid
- Long banktypeid
- Decimal mrate
- String relcode
- Decimal damt
- Decimal otheramt
- String cus_address
- String cus_tele, cus_tele1
- String freight
- String cus_fax
- String freight_tele
- DateTime taskdate
- string dscrp3
- string rel_rep
- dec msttakeamt, takeamt, takedamt, notakeamt
- string freight_address
- long priceflag
- Dec stop_amt
- SELECT u_saletask.kind,
- u_saletask.requiredate,
- u_saletask.assign_emp,
- u_saletask.dscrp,
- u_saletask.dscrp2,
- u_saletask.paytype,
- u_saletask.transcode,
- u_saletask.carcode,
- u_saletask.taskcode,
- u_saletask.cusid,
- u_saletask.accomplishdate,
- u_saletask.status,
- u_saletask.opemp,
- u_saletask.opdate,
- u_saletask.modemp,
- u_saletask.moddate,
- u_saletask.permit_emp,
- u_saletask.permit_date,
- u_cust.name,
- u_cust.cuscode,
- u_saletask.moneyid,
- u_saletask.banktypeid,
- u_saletask.mrate,
- u_saletask.relcode,
- u_saletask.damt,
- u_saletask.otheramt,
- u_saletask.cus_address,
- u_saletask.cus_tele,
- u_saletask.cus_tele1,
- u_saletask.freight,
- u_saletask.cus_fax,
- u_saletask.freight_tele,
- u_saletask.taskdate,
- u_saletask.dscrp3,
- u_saletask.rel_rep,
- u_saletask.msttakeamt ,
- u_saletask.takeamt,
- u_saletask.takedamt,
- u_saletask.msttakeamt - u_saletask.takeamt - u_saletask.takedamt as notakeamt,
- u_saletask.freight_address,
- priceflag,
- u_saletask.auditemp,
- u_saletask.auditdate,
- u_SaleTaskmx.stop_amt
- INTO :Kind,
- :requiredate,
- :assign_emp,
- :dscrp,
- :dscrp2,
- :paytype,
- :transcode,
- :carcode,
- :taskcode,
- :cusid,
- :accomplishdate,
- :status,
- :operator,
- :opdate,
- :modemp,
- :moddate,
- :permit_emp,
- :permit_date,
- :u_cust_name,
- :u_cust_cuscode,
- :moneyid,
- :banktypeid,
- :mrate,
- :relcode,
- :damt,
- :otheramt,
- :cus_address,
- :cus_tele,
- :cus_tele1,
- :freight,
- :cus_fax,
- :freight_tele,
- :taskdate,
- :dscrp3,
- :rel_rep,
- :msttakeamt, :takeamt, :takedamt, :notakeamt,:freight_address,
- :priceflag,
- :auditemp,
- :auditdate,
- :stop_amt
- FROM u_saletask left OUTER join u_cust on ( u_saletask.cusid = u_cust.cusid )
- LEFT JOIN (
- SELECT scid,taskid
- ,sum((u_SaleTasKmx.usaleqty - u_SaleTasKmx.stopqty) * u_SaleTasKmx.enprice * u_SaleTasKmx.rebate) AS stop_amt
- ,sum(u_saletaskmx.enamt_tax) as enamt_tax
- FROM u_SaleTaskmx
- GROUP BY scid,taskid
- ) u_SaleTaskmx ON u_SaleTask.taskid = u_SaleTasKmx.taskid and u_SaleTask.scid = u_SaleTasKmx.scid
- WHERE ( u_saletask.taskid = :arg_taskid )
- And ( u_saletask.scid = :arg_scid );
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误',"查询操作失败(错误订单唯一码)",stopsign!,OK!)
- rslt = 0
- GOTO ext
- END IF
- dw_pageretr.Object.u_saletask_scid [uc_row] = arg_scid
- dw_pageretr.Object.taskid[uc_row] = arg_taskid
- dw_pageretr.Object.Kind[uc_row] = Kind
- dw_pageretr.Object.requiredate[uc_row] = requiredate
- dw_pageretr.Object.assign_emp[uc_row] = assign_emp
- dw_pageretr.Object.dscrp[uc_row] = dscrp
- dw_pageretr.Object.u_saletask_dscrp2[uc_row] = dscrp2
- dw_pageretr.Object.u_saletask_paytype[uc_row] = paytype
- dw_pageretr.Object.u_saletask_transcode[uc_row] = transcode
- dw_pageretr.Object.u_saletask_carcode[uc_row] = carcode
- dw_pageretr.Object.taskcode[uc_row] = taskcode
- dw_pageretr.Object.u_saletask_cusid[uc_row] = cusid
- dw_pageretr.Object.accomplishdate[uc_row] = accomplishdate
- dw_pageretr.Object.u_saletask_status[uc_row] = status
- dw_pageretr.Object.u_saletask_opemp[uc_row] = operator
- dw_pageretr.Object.u_saletask_opdate[uc_row] = opdate
- dw_pageretr.Object.u_saletask_modemp[uc_row] = modemp
- dw_pageretr.Object.u_saletask_moddate[uc_row] = moddate
- dw_pageretr.Object.permit_emp[uc_row] = permit_emp
- dw_pageretr.Object.u_saletask_permit_date[uc_row] = permit_date
- dw_pageretr.Object.u_cust_name[uc_row] = u_cust_name
- dw_pageretr.Object.u_cust_cuscode[uc_row] = u_cust_cuscode
- dw_pageretr.Object.u_saletask_moneyid[uc_row] = moneyid
- dw_pageretr.Object.u_saletask_banktypeid[uc_row] = banktypeid
- dw_pageretr.Object.u_saletask_mrate[uc_row] = mrate
- dw_pageretr.Object.u_saletask_relcode[uc_row] = relcode
- dw_pageretr.Object.u_saletask_damt[uc_row] = damt
- dw_pageretr.Object.u_saletask_otheramt[uc_row] = otheramt
- dw_pageretr.Object.u_saletask_cus_address[uc_row] = cus_address
- dw_pageretr.Object.u_saletask_cus_tele[uc_row] = cus_tele
- dw_pageretr.Object.u_saletask_cus_tele1[uc_row] = cus_tele1
- dw_pageretr.Object.u_saletask_freight[uc_row] = freight
- dw_pageretr.Object.u_saletask_cus_fax[uc_row] = cus_fax
- dw_pageretr.Object.u_saletask_freight_tele[uc_row] = freight_tele
- dw_pageretr.Object.u_saletask_taskdate[uc_row] = taskdate
- dw_pageretr.Object.dscrp3[uc_row] = dscrp3
- dw_pageretr.Object.u_saletask_rel_rep[uc_row] = rel_rep
- dw_pageretr.Object.u_saletask_msttakeamt[uc_row] = msttakeamt
- dw_pageretr.Object.u_saletask_takeamt[uc_row] = takeamt
- dw_pageretr.Object.u_saletask_takedamt[uc_row] = takedamt
- dw_pageretr.Object.notakeamt[uc_row] = notakeamt
- dw_pageretr.Object.u_saletask_freight_address[uc_row] = freight_address
- dw_pageretr.Object.u_saletask_priceflag[uc_row] =priceflag
- dw_pageretr.Object.u_saletask_auditemp[uc_row] =auditemp
- dw_pageretr.Object.u_saletask_auditdate[uc_row] =auditdate
- dw_pageretr.Object.stop_amt[uc_row] =stop_amt
- dw_pageretr.ResetUpdate()
- dw_pageretr.SetRedraw(TRUE)
- dw_uc.Reset()
- dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
- dw_uc.ResetUpdate()
- dw_uc.SetRedraw(TRUE)
- THIS.PostEvent('retrieve_childdw')
- ext:
- wf_statusbtn_fc()
- RETURN rslt
- end function
- public subroutine wf_check_billfj ();String arg_msg
- Long ll_ConnectionID
- Long cur_billtype
- long ll_relid,ll_relid_mx,ll_scid
- Long ls_filecount = 0
- Int rslt = 1
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
-
- Long row,uc_relid
- row = dw_pageretr.GetRow()
- IF row > 0 THEN
- ll_relid = dw_pageretr.Object.taskid[row]
- ll_scid = dw_pageretr.Object.u_saletask_scid[row]
- ll_relid_mx = 0
- ELSE
- rslt = 0
- GOTO ext
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- cur_billtype = 102 //客户投拆单的 mainiD
- ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
- IF ls_filecount > 0 THEN
- rslt = 1
- GOTO ext
- ELSE
- rslt = 0
- GOTO ext
- END IF
- ext:
- wf_encl(rslt)
- DESTROY ls_uo_fjbt
- end subroutine
- 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);Long LS_ROW,ll_id,i,ll_scid
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- ll_id = dw_pageretr.Object.#1[LS_ROW]
- ll_scid = dw_pageretr.Object.u_saletask_scid[LS_ROW]
- //查询所选模版是否含有图片信息
- Long ll_ifpic
- Long ll_classid
- SELECT ifpic
- INTO :ll_ifpic
- FROM U_XLS_Templates
- Where id = :ll_xls_Templatesid;
- IF sqlca.SQLCode <> 0 THEN
- ll_ifpic = 0
- END IF
- Long ll_i,ll_j
- Long ll_mtrlid
- Long ll_fileid
- Blob ls_filedata
- SetNull(ls_filedata)
- String Pathname,ls_filename,ls_filetype
- String errmsg
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
- s_xls_pic_list s_pic //结构数组-用于保存图片路径
- IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
-
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 102);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
-
- if isnull(ll_classid) then ll_classid = 0
- //如果没有明细附件就找 产品资料
- if ll_classid = 0 then
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 201);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
- end if
-
-
-
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- FOR ll_i = 1 TO dw_child.RowCount()
- ll_mtrlid = dw_child.Object.mtrlid[ll_i]
- //取该附件类型中的第一个附件.
- SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
- FROM u_file
- WHERE relid = :ll_mtrlid
- AND classid = :ll_classid
- AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
- OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
- USING sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- ll_fileid = 0
- END IF
- IF ll_fileid > 0 THEN
- Pathname = sys_cur_path + ins_fjtemppath + '\' + String(Today(),'yymmdd') + String(Now(),'hhmmss') + '_' + ls_filename + '.' + ls_filetype
- IF Trim(Pathname) <> '' THEN
- IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
- RETURN 0
- END IF
-
- IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
- RETURN 0
- ELSE
-
- s_pic.path[ll_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
-
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- //
- END IF
- ////可选设置/ //
- arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
- IF sys_option_xls_ifuse_passwd = 1 THEN arg_obj_st.uo_const.pwd = Trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
- Boolean xls_locked
- xls_locked = Not (sys_option_xls_lock = 1)
- // Excel 的可选设置
- IF arg_obj_st.of_setoption(arg_ationid, xls_locked,TRUE,arg_msg) <> 1 THEN
- RETURN 0
- END IF
- FOR i = 1 TO arg_str_billlist.count
- ////可选操作/ //
- arg_str_billlist.bill[i].ds_data = CREATE datastore //
- arg_str_billlist.bill[i].ds_data.DataObject = arg_str_billlist.bill[i].datawindow //
- arg_str_billlist.bill[i].ds_data.SetTransObject(sqlca)
-
- //修改点:注意retrieve 参数与上文对应
- arg_str_billlist.bill[i].ds_data.Retrieve(ll_scid,ll_id)
-
- IF ll_ifpic = 1 and ll_classid > 0 THEN
- // IF arg_str_billlist.bill[i].datawindow = 'dw_xls_saletaskmx' AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径
- IF pos(arg_str_billlist.bill[i].datawindow , 'dw_xls_saletaskmx') > 0 AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径
- FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount()
- arg_str_billlist.bill[i].ds_data.Object.pic[ll_j] = s_pic.path[ll_j]
- NEXT
- END IF
- END IF
- NEXT
- DESTROY ls_uo_fjbt
- RETURN 1
- end function
- 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
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- ll_id = dw_pageretr.Object.#1[LS_ROW]
- ll_scid = dw_pageretr.Object.u_saletask_scid[LS_ROW]
- Long ll_i,ll_j
- Long ll_mtrlid
- Long ll_fileid
- Blob ls_filedata
- SetNull(ls_filedata)
- String Pathname,ls_filename,ls_filetype
- String errmsg
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
- Long ll_classid
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 201);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- FOR ll_i = 1 TO dw_child.RowCount()
- ll_mtrlid = dw_child.Object.mtrlid[ll_i]
- arg_s_pic.mtrlid[ll_i] = ll_mtrlid
- //取该附件类型中的第一个附件.
- SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
- FROM u_file
- WHERE relid = :ll_mtrlid
- AND classid = :ll_classid
- AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
- OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
- USING sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- ll_fileid = 0
- END IF
- IF ll_fileid > 0 THEN
- Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
- IF Trim(Pathname) <> '' THEN
- IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
- RETURN 0
- END IF
-
- IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
- RETURN 0
- ELSE
-
- arg_s_pic.path[ll_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- RETURN 1
- end function
- public function integer wf_check_relcode (long arg_scid, long arg_taskid, string arg_relcode, ref string arg_msg);Int rslt = 1
- //return 1 - 检查通过
- //return 0 - 语法出错
- //return 2 - 限制
- //return 3 - 询问
- Long cnt
- IF Trim(arg_relcode) = '' THEN
- IF sys_option_sale_relcode_repeat = 0 THEN
- rslt = 1
- GOTO ext
- ELSE
- rslt = 2
- arg_msg = '请输入单据相关号'
- GOTO ext
- END IF
- ELSE
- SELECT count(*)
- INTO :cnt
- FROM u_SaleTask
- WHERE (NOT EXISTS
- (SELECT *
- FROM u_saletask u_task
- WHERE u_task.scid = u_saletask.scid AND u_task.taskid = u_saletask.taskid AND
- u_task.scid = :arg_scid AND u_task.taskid = :arg_taskid))
- And (relcode = :arg_relcode);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询单据相关号码是否重复失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF cnt > 0 THEN
- IF sys_option_sale_relcode_repeat = 0 THEN
- arg_msg = '当前单据的相关号码与已有单据的重复,是否继续保存?'
- rslt = 3
- GOTO ext
- ELSE
- rslt = 2
- arg_msg = '当前单据的相关号码与已有单据的重复,请修改'
- GOTO ext
- END IF
- END IF
- END IF
- ext:
- RETURN rslt
- end function
- public function integer wf_get_pricelist_price (long arg_pricelistid, long arg_moneyid, ref string arg_msg);int rslt = 1
- long ls_row
- long ll_pricelistid, ll_moneyid, ll_mtrlid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- String ls_msg
- ll_pricelistid = arg_pricelistid
- ll_moneyid = arg_moneyid
- IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- rslt = 0
- goto ext
- END IF
- s_sale_price_mx s_mx
- dw_child.AcceptText()
- FOR ls_row = 1 To dw_child.RowCount()
-
- ll_mtrlid = dw_child.Object.mtrlid[ls_row]
- ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
- ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
- ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
-
- IF sys_option_price_if_status = 0 THEN
- ls_status = ''
- ls_pcode = ''
- ls_woodcode = ''
- END IF
-
- s_mx.mtrlid = ll_mtrlid
- s_mx.status = ls_status
- s_mx.woodcode = ls_woodcode
- s_mx.pcode = ls_pcode
- s_mx.unit = ls_unit
- s_mx.moneyid = ll_moneyid
- s_mx.pricelistid = ll_pricelistid
-
- IF uo_cus_price.uof_get_pricelist_price(s_mx, ls_msg) = 0 THEN
- arg_msg += "行:"+string(ls_row)+", "+String(dw_child.Object.mtrlname[ls_row])+" 的导入价格表售价失败或没有设置售价! ~n "
- rslt = 0 //无标准价格表 或未审核
- END IF
-
- dw_child.Object.u_saletaskmx_enprice[ls_row] = s_mx.price
- dw_child.Object.u_saletaskmx_rebate[ls_row] = s_mx.rebate
- //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
- NEXT
- ext:
- return rslt
- end function
- public function integer wf_get_price (long arg_row);IF arg_row <= 0 THEN RETURN 1
- IF arg_row > dw_child.RowCount() THEN RETURN 1
- Long rslt = 1
- Long ll_cusid, ll_moneyid
- Long ll_i,ll_mtrlid
- String ls_msg
- String ls_status,ls_woodcode,ls_pcode, ls_unit
- String arg_msg
- Decimal lde_price,lde_zqrate,lde_rate
- decimal lde_usaleqty
- dw_uc.AcceptText()
- dw_child.AcceptText()
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 THEN RETURN 1
- ll_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
- IF ll_cusid = 0 THEN RETURN 1
- lde_price = 0
- lde_zqrate = 1
- lde_rate = 1
- ll_mtrlid = dw_child.Object.mtrlid[arg_row]
- ls_unit = dw_child.Object.u_saletaskmx_unit[arg_row]
- ls_status = dw_child.Object.u_saletaskmx_status[arg_row]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[arg_row]
- ls_pcode = dw_child.Object.u_saletaskmx_pcode[arg_row]
- lde_usaleqty = dw_child.Object.usaleqty[arg_row]
- //IF f_getmtrlcusprice(ll_moneyid,ll_mtrlid,ll_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,lde_price,lde_zqrate,lde_rate,arg_msg) <> 1 THEN
- // lde_price = 0
- // lde_zqrate = 1
- //END IF
- //价格表增加数量下限,数量上限
- IF f_getmtrlcusprice_qty(ll_moneyid,ll_mtrlid,ll_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,lde_price,lde_zqrate,lde_rate,lde_usaleqty,arg_msg) <> 1 THEN
- lde_price = 0
- lde_zqrate = 1
- END IF
- dw_child.Object.u_saletaskmx_enprice[arg_row] = lde_price
- dw_child.Object.u_saletaskmx_rebate[arg_row] = lde_zqrate
- RETURN rslt
- end function
- public function integer wf_lock_child ();long i
- if dw_edit_mode then
- for i = 1 to fy_column_int
- dw_fymx.SetTabOrder(i, i * 10)
- next
- else
- for i = 1 to fy_column_int
- dw_fymx.SetTabOrder(i, 0)
- next
- end if
- return super::wf_lock_child()
- end function
- public function integer wf_check_pz (long arg_mtrlid, string arg_mtrlcode, string arg_status_check, string arg_woodcode_check, string arg_pcode_check, ref string arg_msg);Int rslt = 1
- Long ll_status_check //配置
- Long ll_woodcode_check //配置1
- Long ll_pcode_check //配置2
- IF arg_mtrlid = 0 THEN
- rslt = 0
- arg_msg = '错误的物料ID'
- END IF
- IF IsNull(arg_status_check) THEN arg_status_check = ''
- IF IsNull(arg_woodcode_check) THEN arg_woodcode_check = ''
- IF IsNull(arg_pcode_check) THEN arg_pcode_check = ''
- SELECT status_check,woodcode_check,pcode_check INTO :ll_status_check,:ll_woodcode_check,:ll_pcode_check
- From u_mtrldef Where u_mtrldef.mtrlid = :arg_mtrlid;
-
- IF ll_status_check = 1 And arg_status_check = '' THEN
- rslt = 0
- arg_msg = '根据' + arg_mtrlcode + '的物料定义配置不能为空,请填写配置'
- END IF
- IF ll_woodcode_check = 1 And arg_woodcode_check = '' THEN
- rslt = 0
- arg_msg = '根据' + arg_mtrlcode + '的物料定义配置1不能为空,请填写配置1'
- END IF
- IF ll_pcode_check = 1 And arg_pcode_check = '' THEN
- rslt = 0
- arg_msg = '根据' + arg_mtrlcode + '的物料定义配置2不能为空,请填写配置2'
- END IF
- RETURN rslt
- end function
- public subroutine wf_cmpl_amt (integer row);If row <= 0 Then Return
- If row > dw_child.RowCount() Then Return
- dw_child.AcceptText()
- Decimal lde_saleqty, lde_rebate ,lde_tax
- lde_saleqty = dw_child.Object.usaleqty[row]
- lde_rebate = dw_child.Object.u_saletaskmx_rebate[row]
- lde_tax = dw_child.Object.u_saletaskmx_tax[row]
- //由金额计算单价
- If cbx_enamt_edit.Checked Then
- If dw_child.Object.enamt[row] <> 0 Then
- If lde_rebate <> 0 And lde_saleqty <> 0 Then
- dw_child.Object.u_saletaskmx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
-
- dw_child.Object.u_saletaskmx_enamt_tax[row] = Round(dw_child.Object.enamt[row]*lde_tax/(1+lde_tax), 2)
- dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_saletaskmx_enamt_tax[row]
- dw_child.Object.u_saletaskmx_enprice_notax[row] = dw_child.Object.u_saletaskmx_enprice[row] / (1 + lde_tax)
-
-
- End If
- End If
-
-
-
- ElseIf cbx_enamt_notax_edit.Checked Then // 录入不含税单价
-
- dw_child.Object.enamt_notax[row] = dw_child.Object.u_saletaskmx_enprice_notax[row] * lde_saleqty //录入的是不含税单价 单价 * 数量=金额
- If dw_child.Object.enamt_notax[row] <> 0 Then
-
- If lde_rebate <> 0 And lde_saleqty <> 0 Then
- dw_child.Object.u_saletaskmx_enamt_tax[row] = Round(dw_child.Object.enamt_notax[row]*lde_tax, 2)
- dw_child.Object.enamt[row] = dw_child.Object.u_saletaskmx_enamt_tax[row] + dw_child.Object.enamt_notax[row]
- dw_child.Object.u_saletaskmx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
- If dw_child.Object.u_saletaskmx_enprice_notax[row] = 0 Then
- dw_child.Object.u_saletaskmx_enprice_notax[row] = dw_child.Object.u_saletaskmx_enprice[row] / (1 + lde_tax)
- End If
- End If
-
- End If
-
-
-
- ElseIf cbx_zk.Checked Then //录入金额计算折扣
- If dw_child.Object.u_saletaskmx_enprice[row] <> 0 And lde_saleqty <> 0 Then
- dw_child.Object.u_saletaskmx_rebate[row] = dw_child.Object.enamt[row] / dw_child.Object.u_saletaskmx_enprice[row] / lde_saleqty
- End If
-
- Else
- dw_child.Object.enamt[row] = Round(dw_child.Object.u_saletaskmx_enprice[row]*lde_rebate*lde_saleqty, 2)
-
- dw_child.Object.u_saletaskmx_enamt_tax[row] = Round(dw_child.Object.u_saletaskmx_enprice[row]*lde_rebate*lde_saleqty*lde_tax/(1+lde_tax), 2)
- dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_saletaskmx_enamt_tax[row]
- dw_child.Object.u_saletaskmx_enprice_notax[row] = dw_child.Object.u_saletaskmx_enprice[row] / (1 + lde_tax)
- End If
- Choose Case sys_option_outware_sale_amt_round
- Case 0 //分
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 2)
- Case 1
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 1)
- Case 2
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 0)
- Case 3
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 10, 2) * 10
- Case 4
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 100, 2) * 100
- End Choose
- end subroutine
- public function integer wf_check_qtyandaddqty (ref string arg_msg);Int rslt = 1
- Long i
- Long lk_mtrlid,lk_ifcheckaddqty
- String ls_strcheckaddqty
- Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty
- String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
- FOR i = 1 To dw_child.RowCount()
- lk_mtrlid = dw_child.Object.mtrlid[i]
- dec_qty = dw_child.Object.usaleqty[i]
- dec_addqty = dw_child.Object.u_saletaskmx_addqty[i]
- ls_status = dw_child.Object.u_saletaskmx_status[i]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- ls_pcode = dw_child.Object.u_saletaskmx_pcode[i]
- ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
- dec_danpackqty=0
- dec_packqty=dw_child.Object.u_saletaskmx_packqty[i]
-
- SELECT ifcheckaddqty,strcheckaddqty Into :lk_ifcheckaddqty,:ls_strcheckaddqty From u_mtrldef Where mtrlid = :lk_mtrlid;
-
- //如果有填写数量 则 只检查数量和辅数的关系
- IF lk_mtrlid > 0 And lk_ifcheckaddqty = 1 And dec_qty <> 0 THEN
- IF Lower(f_get_tf_addqty(ls_strcheckaddqty,dec_qty,dec_addqty,ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode,dec_danpackqty,dec_packqty)) <> 'true' THEN
- rslt = 0
- arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty
- GOTO ext
- END IF
- END IF
-
- //如果没有填写数量 则 由辅数计算出数量
- Decimal dec_tmp
- IF lk_mtrlid > 0 And dec_qty = 0 THEN
- dec_tmp = f_get_cmp_addqty(ls_strcheckaddqty,dec_qty,dec_addqty,ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode,dec_danpackqty,dec_packqty,lk_mtrlid)
- IF dec_tmp = 0 THEN
- rslt = 0
- arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty
- GOTO ext
- ELSE
- dw_child.Object.usaleqty[i] = dec_tmp
- END IF
- END IF
-
-
-
-
- NEXT
- dw_child.AcceptText()
- ext:
- RETURN rslt
- end function
- public function integer wf_refresh_interface ();//wf_refresh_interface
- IF dw_edit_mode THEN
- cb_retrieve.Enabled = FALSE
- cb_delet.Enabled = FALSE
- cb_print.Enabled = FALSE
- cb_viewprint.Enabled = FALSE
- cb_auditing.Enabled = FALSE
- cb_auditing_cancel.Enabled = FALSE
-
- dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
- dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关
- // dw_child.titleclick_sort_use = TRUE //单击标题排序功能开关
- dw_child.RBUTTON_SETPOSITION_USE = FALSE //定位
- // dw_child.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
-
- cb_edit.Enabled = TRUE
- cb_add.Enabled = TRUE
-
-
- cb_xls.Enabled = FALSE
-
- cb_edit.Text = "放弃&E"
- cb_add.Text = "保存&S"
- cb_edit.normalpicname = 'Undo.bmp'
- cb_add.normalpicname = 'Save.bmp'
- ELSE
- cb_retrieve.Enabled = TRUE
- cb_delet.Enabled = TRUE
- cb_print.Enabled = TRUE
- cb_viewprint.Enabled = TRUE
- cb_auditing.Enabled = TRUE
- cb_auditing_cancel.Enabled = TRUE
-
- cb_add.Enabled = TRUE
- cb_edit.Enabled = TRUE
-
- cb_xls.Enabled = TRUE
-
- dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
- dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
- // dw_child.titleclick_sort_use = FALSE //单击标题排序功能开关
- dw_child.RBUTTON_SETPOSITION_USE = TRUE //定位
- // dw_child.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
-
- cb_edit.Text = "修改&E"
- cb_add.Text = "新建&S"
- cb_edit.normalpicname = 'OPEN.bmp'
- cb_add.normalpicname = 'new.bmp'
-
- IF dw_pageretr.GetRow() <= 0 THEN
- cb_edit.Enabled = FALSE
- cb_delet.Enabled = FALSE
- cb_addzy.Enabled = FALSE
- cb_auditing.Enabled = FALSE
- END IF
- END IF
- IF retrieve_all OR dw_edit_mode THEN
- cb_nextpage.Enabled = FALSE
- cb_retrieveall.Enabled = FALSE
- em_pagerowno.Enabled = FALSE
- cb_func.Enabled = FALSE
- IF dw_edit_mode THEN
- sle_usual_query.Enabled = FALSE
- ELSE
- sle_usual_query.Enabled = TRUE
- END IF
- ELSE
- cb_nextpage.Enabled = TRUE
- cb_retrieveall.Enabled = TRUE
- em_pagerowno.Enabled = TRUE
- sle_usual_query.Enabled = TRUE
- cb_func.Enabled = TRUE
- END IF
- wf_lock_child()
- //修改uc_taborder
- IF dw_edit_mode THEN
- dw_uc.TriggerEvent("ue_taborder")
-
- IF dw_uc.ins_if_nomodify_uc_taborder THEN
- Long ll_uc_int
- //messagebox("",uc_column_int)
- FOR ll_uc_int = 1 TO uc_column_int
- dw_uc.SetTabOrder (ll_uc_int,ll_uc_int*10 )
- NEXT
- END IF
-
- IF sys_option_saletask_requireday_mode = 1 THEN
- dw_uc.SetTabOrder ('requiredate',0 )
- ELSE
- dw_child.SetTabOrder ('u_saletaskmx_requiredate',0 )
- END IF
- ELSE
- dw_uc.TriggerEvent("ue_taborder_cancel")
- END IF
- cb_edit.of_init_draw()
- cb_add.of_init_draw()
- cb_edit.of_paint()
- cb_add.of_paint()
- cb_add.TriggerEvent('ue_textchange')
- cb_edit.TriggerEvent('ue_textchange')
- ll_lastrow = 0
- THIS.TriggerEvent('refresh_interface')
- RETURN 1
- end function
- public function integer wf_get_pricelist_price_buchong (long arg_pricelistid, long arg_moneyid, ref string arg_msg);
- Int rslt = 1
- Long ls_row
- Long ll_pricelistid, ll_moneyid, ll_mtrlid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- String ls_msg
- ll_pricelistid = arg_pricelistid
- ll_moneyid = arg_moneyid
- IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- s_sale_price_mx s_mx
- dw_child.AcceptText()
- FOR ls_row = 1 To dw_child.RowCount()
- IF dw_child.Object.u_saletaskmx_enprice[ls_row] <> 0 THEN CONTINUE
- ll_mtrlid = dw_child.Object.mtrlid[ls_row]
- ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
- ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
- ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
- ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
-
- IF sys_option_price_if_status = 0 THEN
- ls_status = ''
- ls_pcode = ''
- ls_woodcode = ''
- END IF
-
- s_mx.mtrlid = ll_mtrlid
- s_mx.status = ls_status
- s_mx.woodcode = ls_woodcode
- s_mx.pcode = ls_pcode
- s_mx.unit = ls_unit
- s_mx.moneyid = ll_moneyid
- s_mx.pricelistid = ll_pricelistid
-
- IF uo_cus_price.uof_get_pricelist_price(s_mx, ls_msg) = 0 THEN
- arg_msg += "行:"+String(ls_row)+", "+String(dw_child.Object.mtrlname[ls_row])+" 的导入价格表售价失败或没有设置售价! ~n "
- rslt = 0 //无标准价格表 或未审核
- END IF
-
- dw_child.Object.u_saletaskmx_enprice[ls_row] = s_mx.price
- dw_child.Object.u_saletaskmx_rebate[ls_row] = s_mx.rebate
- //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
- NEXT
- ext:
- RETURN rslt
- end function
- public subroutine wf_set_decimal_place ();Long i
- IF sys_option_outware_price_amt_round = 99 THEN RETURN
- //设置单价保留位数
- dw_child.AcceptText()
- FOR i = 1 To dw_child.RowCount()
- CHOOSE CASE sys_option_outware_price_amt_round
- CASE 0
-
- dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0') )
- CASE 1
- dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.#') )
- CASE 2
- dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.##') )
- CASE 3
- dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.###') )
- CASE 4
- dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.####') )
- END CHOOSE
- NEXT
- dw_child.AcceptText()
- //设置单价保留位数
- end subroutine
- public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid);Int lst
- Long i
- String cstr = '',rstr = '',msg = ''
- Decimal arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt
- String ls_moneyname
- Decimal ld_canamt
- Decimal lde_billamt
- Decimal ld_mrate
- Long ll_outwareid
- Long ll_taskid
- //dw_child.accepttext()
- SELECT name
- INTO :ls_moneyname
- FROM cw_currency
- Where moneyid = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- // st_msg.Text = '查询币种信息失败'
- // st_msg.BackColor = RGB(255,255,255)
- RETURN
- END IF
- //本单金额
- // IF sys_option_mst_multimoney = 0 THEN
- // ll_moneyid = f_moneyid_native()
- // IF ll_moneyid = -1 THEN
- // MessageBox('系统提示','查询本位币失败')
- // RETURN
- // END IF
- // ld_mrate = dw_pageretr.Object.u_outware_mrate[dw_pageretr.GetRow()]
- // ELSE
- // ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
- ld_mrate = 1
- // END IF
- dw_child.AcceptText()
- lde_billamt = dw_child.Object.enamt_sm[1] //* ld_mrate - dw_uc.Object.u_outware_otheramt[dw_uc.GetRow()]
- //MessageBox('',String(dw_child.Object.enamt_sm[1] ))
- //IF lde_billamt = 0 THEN lde_billamt = wf_sum_mxamt()
- //其他单未财审金额
- dw_uc.AcceptText()
- ll_outwareid = 0 //dw_uc.Object.u_outware_outwareid[dw_uc.GetRow()]
- ll_taskid = dw_uc.Object.taskid[dw_uc.GetRow()]
- IF IsNull(ll_taskid) THEN ll_taskid = 0
- Decimal ld_notsecaudit_amt, ld_notsecaudit_enamt, ld_notsecaudit_billamt, ld_notsecaudit_otheramt, ld_notsecaudit_enotheramt
- SELECT sum(round(u_outwaremx.saleqty * u_outwaremx.price,2)),
- sum(round(u_outwaremx.saleqty * u_outwaremx.enprice * u_outwaremx.rebate,2))
- INTO :ld_notsecaudit_amt,:ld_notsecaudit_enamt
- FROM u_outware,u_outwaremx
- WHERE u_outware.scid = u_outwaremx.scid
- AND u_outware.outwareid = u_outwaremx.outwareid
- AND u_outware.billtype = 1
- AND u_outware.secflag = 0
- AND u_outware.outwareid <> :ll_outwareid
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_amt = 0
- ld_notsecaudit_enamt = 0
- END IF
- Decimal ld_notoutwaresale_amt
- Long ll_scid
- string ls_taskcode
- //未发货部分
- ld_notoutwaresale_amt = 0
- ll_scid = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
- ls_taskcode=dw_uc.Object.taskcode[dw_uc.GetRow()]
- IF IsNull(ll_scid) THEN ll_scid = 0
- if isnull(ls_taskcode) then ls_taskcode=''
- SELECT sum( (usaleqty - consignedqty ) * enprice * rebate)
- INTO :ld_notoutwaresale_amt
- FROM u_saletaskmx INNER join
- u_saletask on u_saletask.scid = u_saletaskmx.scid AND u_saletask.taskid = u_saletaskmx.taskid
- WHERE u_saletask.cusid = :arg_cusid AND
- (u_saletask.taskcode <> :ls_taskcode );
- IF sqlca.SQLCode <> 0 THEN
- ld_notoutwaresale_amt=0
- END IF
- IF IsNull(ld_notoutwaresale_amt) THEN ld_notoutwaresale_amt = 0
- SELECT sum(round(u_outware.otheramt,2)),
- sum(round(u_outware.otheramt * u_outware.mrate,2))
- INTO :ld_notsecaudit_enotheramt,:ld_notsecaudit_otheramt
- FROM u_outware
- WHERE u_outware.billtype = 1
- AND u_outware.secflag = 0
- AND u_outware.outwareid <> :ll_outwareid
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_enotheramt = 0
- ld_notsecaudit_otheramt = 0
- END IF
- IF IsNull(ld_notsecaudit_amt) THEN ld_notsecaudit_amt = 0
- IF IsNull(ld_notsecaudit_enamt) THEN ld_notsecaudit_enamt = 0
- IF IsNull(ld_notsecaudit_otheramt) THEN ld_notsecaudit_otheramt = 0
- IF IsNull(ld_notsecaudit_enotheramt) THEN ld_notsecaudit_enotheramt = 0
- IF sys_option_mst_multimoney = 1 THEN
- ld_notsecaudit_billamt = ld_notsecaudit_enamt - ld_notsecaudit_enotheramt
- ELSE
- ld_notsecaudit_billamt = ld_notsecaudit_amt - ld_notsecaudit_otheramt
- END IF
- cur_cusrepamtflag = 0
- //--------检查信用额
- lst = f_getcusrepamt_info(arg_scid,arg_cusid,arg_moneyid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt)
- IF lst < 0 THEN
- msg = '提示:查询信用额及欠款失败!'
- // st_msg.Text = msg
- // st_msg.BackColor = RGB(255,255,255)
-
- cur_cusrepamtflag = -1
- cur_cusrepamtstr = msg
- ELSE
- //客户欠款
- IF arg_cusmaxamt > 0 THEN
- IF arg_cusbalcamt > arg_cusmaxamt THEN
- cstr = ' 客户欠款超信用额! '
- ELSEIF arg_cusbalcamt = arg_cusmaxamt THEN
- cstr = ' 客户欠款平信用额! '
- END IF
- ELSE
- IF arg_cusbalcamt > arg_cusmaxamt THEN cstr = ' 客户有欠款! '
- END IF
- //业务员欠款
- IF arg_outrep_maxamt > 0 THEN
- IF arg_outrep_balcamt > arg_outrep_maxamt THEN
- rstr = ' 业务员欠款超信用额! '
- ELSEIF arg_outrep_balcamt = arg_outrep_maxamt THEN
- cstr = ' 业务员欠款平信用额! '
- END IF
- ELSE
- IF arg_outrep_balcamt > arg_outrep_maxamt THEN rstr = ' 业务员有欠款! '
- END IF
- msg = '提示:~r~n~r~n币种:'+ls_moneyname+"~r~n~r~n"
- IF arg_cusmaxamt > 0 THEN
- IF arg_cusmaxamt - arg_cusbalcamt < 0 THEN
- ld_canamt = 0
- ELSE
- ld_canamt = arg_cusmaxamt - arg_cusbalcamt
- END IF
-
- msg += '客户信用额:'+String(arg_cusmaxamt,'#,##0.00')+' 欠款:' + String(arg_cusbalcamt,'#,##0.00') + ' 可用额:' + String(ld_canamt ,'#,##0.00') + cstr + "~r~n~r~n"
- ELSE
- msg += '客户欠款:' + String(arg_cusbalcamt,'#,##0.00') + cstr + "~r~n~r~n"
- END IF
- //msg += '客户信用额-欠款:'+String(arg_cusmaxamt,'#0.0#')+'-'+String(arg_cusbalcamt,'#0.0#')+'='+String(arg_cusmaxamt - arg_cusbalcamt,'#0.0#')+cstr+"~r~n~r~n"
- IF arg_outrep_maxamt > 0 THEN
- IF arg_outrep_maxamt - arg_outrep_balcamt < 0 THEN
- ld_canamt = 0
- ELSE
- ld_canamt = arg_outrep_maxamt - arg_outrep_balcamt
- END IF
- msg += '业务员信用额:'+String(arg_outrep_maxamt,'#,##0.00') +' 欠款'+String(arg_outrep_balcamt,'#,##0.00')+' 可用额:'+String(ld_canamt,'#,##0.00') + rstr
- ELSE
- msg += '业务员欠款:'+String(arg_outrep_balcamt,'#,##0.00') + rstr
- END IF
- //msg += '业务员信用额-欠款:'+String(arg_outrep_maxamt,'#0.0#')+'-'+String(arg_outrep_balcamt,'#0.0#')+'='+String(arg_outrep_maxamt - arg_outrep_balcamt,'#0.0#')+rstr
-
- // st_msg.Text = msg
- cur_cusrepamtstr = msg
- IF arg_outrep_balcamt >= arg_outrep_maxamt &
- Or arg_cusbalcamt >= arg_cusmaxamt THEN //有欠款
- // st_msg.BackColor = RGB(255,200,200)
- ELSE
- // st_msg.BackColor = RGB(255,255,255)
- END IF
-
- IF arg_cusbalcamt + ld_notsecaudit_billamt + lde_billamt + ld_notoutwaresale_amt > arg_cusmaxamt THEN
- cur_cusrepamtflag = -1
- cur_cusrepamtstr = '客户信用额:'+String(arg_cusmaxamt,'#,##0.00')+' 欠款:' + String(arg_cusbalcamt,'#,##0.00')+' 本单金额:'+ String(lde_billamt,'#,##0.00')+ ' 其他未完成订单金额' + string(ld_notoutwaresale_amt,'#,##0.00') + ' 其他未财审发货单金额:'+ String(ld_notsecaudit_billamt,'#,##0.00')+'~r~n'
- cur_cusrepamtstr += '超信用额:'+String(arg_cusbalcamt + ld_notsecaudit_billamt + lde_billamt + ld_notoutwaresale_amt - arg_cusmaxamt,'#,##0.00')
- ELSE
- cur_cusrepamtflag = 0
- cur_cusrepamtstr = ""
- END IF
- END IF
- //st_cusbalc.Text = ""
- end subroutine
- public function integer wf_openfile (datawindow arg_dw);
- String str_savename,named,s_grxh
- Int excelok,li_net
- Long li_count,i,ll_hang
- oleobject excelserver
- excelserver = Create oleobject
- excelok = excelserver.ConnectToNewObject("excel.application")
- //检查返回值,以确保已成功地连接到了Excel
- IF excelok <> 0 THEN
- MessageBox("提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!", Information!, OK! )
- RETURN -1
- END IF
- li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
- IF li_net > 0 THEN
- IF str_savename = "" THEN RETURN -1
- arg_dw.SetTransObject(sqlca)
- arg_dw.InsertRow(0)
- arg_dw.Reset()
- excelserver.workbooks.Open(str_savename)
- excelserver.activesheet.cells.Copy
- datastore ds_col30
-
- /////////////建立映射//////////////////// //
- ds_col30 = Create datastore
- ds_col30.DataObject = 'dw_col30'
-
- ds_col30.ImportClipboard(1)
- Long ll_s_col_count = 30
- Long ll_d_col_count
- String ls_execltitlename,ls_filtername
- s_dytitle_filter ss_dytitle_filter[]
- Long k = 1,m
- Long li_argcnt = 1
- String ls_cmd,ls_arg[]
- ll_d_col_count = Long(arg_dw.Object.datawindow.Column.Count)
- Long ll_map[] // 目标表与原表的映射,0为没有映射
- String ls_colType[] // 目标表列类型
-
- Long col_d, col_s
-
- SELECT Top 1 hang Into :ll_hang From u_dytitle_saletask;
-
- FOR col_d = 1 To ll_d_col_count
- String ls_col_title, ls_col_name
- ls_col_name = arg_dw.Describe('#' + String(col_d) + '.Name')
- ls_colType[col_d] = arg_dw.Describe('#' + String(col_d) + '.ColType')
- ls_col_title = arg_dw.Describe(ls_col_name + '_t.Text') //数据窗口的标题名称
- ll_map[col_d] = 0
- FOR col_s = 1 To ll_s_col_count
- String ls_s_title
- ls_s_title = ds_col30.GetItemString(ll_hang , col_s) //execl表的标题名称
- //
- SELECT execltitlename,filtername Into :ls_execltitlename,:ls_filtername From u_dytitle_saletask Where Name = :ls_col_name;
-
- //
-
-
- // if lower(trim(ls_col_title)) = lower(trim(ls_s_title)) then
- IF Lower(Trim(ls_execltitlename)) = Lower(Trim(ls_s_title)) THEN
- ll_map[col_d] = col_s
- IF ls_filtername <> '' THEN //记录过滤
- ss_dytitle_filter[k].num = col_s
- ss_dytitle_filter[k].filtername = ls_filtername
- k++
- END IF
- EXIT
- END IF
- NEXT
- NEXT
-
- // TODO: 人工干预,设置映射
-
-
-
- Long row_s, row_d
- String lk_temp
- FOR row_s = ll_hang + 1 To ds_col30.RowCount( ) //ll_hang + 1
- //过滤
- FOR k = 1 To UpperBound(ss_dytitle_filter)
- lk_temp = String( Trim(ds_col30.GetItemString(row_s, ss_dytitle_filter[k].num)))
- //
-
- ls_cmd = ss_dytitle_filter[k].filtername
- IF Pos(ls_cmd,',') > 0 THEN //如果是多少个过滤字眼
- DO WHILE Len(ls_cmd) > 0
- i = Pos( ls_cmd, ",")
- IF i = 0 THEN i = Len(ls_cmd) + 1
- ls_arg[li_argcnt] = Left(ls_cmd, i - 1)
- li_argcnt = li_argcnt + 1
- ls_cmd = Replace(ls_cmd, 1, i, "")
- LOOP
- FOR m = 1 To UpperBound(ls_arg)
- IF Pos(lk_temp,ls_arg[m]) > 0 THEN
- GOTO ext
- END IF
- NEXT
-
-
- ELSE //一个过滤字眼
- IF Pos(lk_temp,ss_dytitle_filter[k].filtername) > 0 THEN
- GOTO ext
- END IF
- END IF
- //
- NEXT
- //过滤
-
-
- row_d = arg_dw.InsertRow(0)
- FOR col_d = 1 To ll_d_col_count
- IF ll_map[col_d] = 0 THEN CONTINUE
- Any Value
- String ls_value
- ls_value = Trim(ds_col30.GetItemString(row_s, ll_map[col_d]))
- IF Lower(Left(ls_colType[col_d], 4)) = 'char' THEN
- Value = ls_value
- ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'long' &
- Or Lower(Left(ls_colType[col_d], 3)) = 'int' &
- Or Lower(Left(ls_colType[col_d], 3)) = 'num' &
- Or Lower(Left(ls_colType[col_d], 5)) = 'ulong' THEN
- Value = Long(ls_value)
- ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'deci' &
- Or Lower(Left(ls_colType[col_d], 4)) = 'real' THEN
- Value = Dec(ls_value)
- ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'date' THEN
- Value = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 12)))
- END IF
- arg_dw.SetItem(row_d, col_d, Value)
- NEXT
- ext:
- NEXT
- Destroy ds_col30
- ///////////////////////////////////// //
-
- // li_count = arg_dw.ImportClipboard(2) //导入数据 (从第几行开始导入)
- Clipboard("")
-
- excelserver.quit()
- excelserver.DisconnectObject()
- Destroy excelserver
-
- FOR i = 1 To arg_dw.RowCount( )
- // arg_dw.Object.repeat[i] = 0
- NEXT
- arg_dw.AcceptText( )
- RETURN 1
- ELSE
- MessageBox('提示','没有指定导入文件!', Information!, OK! )
- RETURN -1
- END IF
-
-
-
-
-
-
-
-
- end function
- public subroutine wf_enamt_facechg ();
- IF ii_enamt_notax_edit = 0 THEN //录入不含税单价 为 false
- dw_child.Modify('u_saletaskmx_enprice_notax.protect = 1~t u_saletaskmx_enprice_notax.Color = "0~trgb(0,0,0)"')
- dw_child.Modify('u_saletaskmx_enprice_notax_t.Color = "0~trgb(0,0,0)"')
- dw_child.Modify('enamt_notax.protect =1~t enamt_notax.Color = 0') //现在不录入 不含税金额
-
-
-
-
-
- ELSEIF ii_enamt_notax_edit = 1 THEN
-
- dw_child.Modify('u_saletaskmx_enprice_notax.protect = 0~t u_saletaskmx_enprice_notax.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('u_saletaskmx_enprice_notax_t.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('enamt_notax.protect =1~t enamt_notax.Color = 0') //现在不录入 不含税金额
-
-
-
-
-
- END IF
- end subroutine
- public subroutine wf_cusbalc (long arg_scid, long arg_cusid, long arg_moneyid);IF NOT f_power_ind(1506) THEN
- st_cusbalc.Text = ''
- RETURN
- END IF
- IF dw_edit_mode THEN
- st_cusbalc.Text = ''
- RETURN
- END IF
- IF arg_cusid = 0 THEN RETURN
- String ls_cusname,ls_moneyname
- Decimal ld_cus_balcamt,ld_maxmtnum, ld_canamt
- Decimal ld_notsecaudit_amt,ld_notsecaudit_enamt
- Decimal ld_notsecaudit_billamt, ldt_cusmaxamt
- Decimal ld_outrep_balcamt,ld_outrep_maxamt
- SELECT name
- INTO :ls_moneyname
- FROM cw_currency
- Where moneyid = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- st_cusbalc.Text = '查询币种信息失败'
- RETURN
- END IF
- SELECT u_cust.name,
- u_cust.maxmtnum ,
- isnull(v_cus_balcamt.cus_balcamt,0)
- INTO :ls_cusname,:ld_maxmtnum,:ld_cus_balcamt
- FROM u_cust left OUTER join
- v_cus_balcamt on u_cust.cusid = v_cus_balcamt.cusid
- WHERE u_cust.cusid = :arg_cusid
- AND isnull(v_cus_balcamt.scid,0) = :arg_scid
- AND IsNull(v_cus_balcamt.moneyid,0) = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- st_cusbalc.Text = '查询客户信息失败'
- RETURN
- END IF
- st_cusbalc.Text = "客户:"+ls_cusname + ' 币种:'+ls_moneyname+'~r~n'
- IF ld_maxmtnum > 0 THEN
- IF ld_maxmtnum - ld_cus_balcamt < 0 THEN
- ld_canamt = 0
- ELSE
- ld_canamt = ld_maxmtnum - ld_cus_balcamt
- END IF
- st_cusbalc.Text += '信用额:'+String(ld_maxmtnum,'#,##0.00')+' 欠款:' + String(ld_cus_balcamt,'#,##0.00') + ' 可用额:' + String(ld_canamt ,'#,##0.00')
- ELSE
- st_cusbalc.Text += '欠款:'+ String(ld_cus_balcamt,'#,##0.00')
- END IF
- IF ld_maxmtnum < ld_cus_balcamt THEN
- st_cusbalc.TextColor = RGB(255,0,0)
- ELSE
- st_cusbalc.TextColor = RGB(0,0,0)
- END IF
- //
- wf_getcusrepamt_info_show(arg_scid,arg_cusid,arg_moneyid)
- st_cusbalc.Text = ls_cusname+'['+ls_moneyname+'] ' + cur_cusrepamtstr_show
- end subroutine
- public subroutine wf_getcusrepamt_info_show (long arg_scid, long arg_cusid, long arg_moneyid);Int lst
- long i
- String cstr = '',rstr = '',msg = ''
- Decimal arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt
- String ls_moneyname
- Decimal ld_canamt
- Decimal lde_billamt
- Decimal ld_mrate
- Long ll_taskid
- //dw_child.accepttext()
- SELECT name
- INTO :ls_moneyname
- FROM cw_currency
- Where moneyid = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- // st_msg.Text = '查询币种信息失败'
- // st_msg.BackColor = RGB(255,255,255)
- RETURN
- END IF
- //本单金额
- // IF sys_option_mst_multimoney = 0 THEN
- // ll_moneyid = f_moneyid_native()
- // IF ll_moneyid = -1 THEN
- // MessageBox('系统提示','查询本位币失败')
- // RETURN
- // END IF
- // ld_mrate = dw_pageretr.Object.u_outware_mrate[dw_pageretr.GetRow()]
- // ELSE
- // ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
- ld_mrate = 1
- // END IF
- lde_billamt = dw_child.Object.enamt_sm[1] //* ld_mrate - dw_uc.Object.u_outware_otheramt[dw_uc.getrow()]
- //其他单未财审金额
- dw_uc.AcceptText()
- ll_taskid = dw_uc.Object.taskid[dw_uc.GetRow()]
- Decimal ld_notsecaudit_amt, ld_notsecaudit_enamt, ld_notsecaudit_billamt, ld_notsecaudit_otheramt, ld_notsecaudit_enotheramt
- SELECT sum(round(u_outwaremx.saleqty * u_outwaremx.price,2)),
- sum(round(u_outwaremx.saleqty * u_outwaremx.enprice * u_outwaremx.rebate,2))
- INTO :ld_notsecaudit_amt,:ld_notsecaudit_enamt
- FROM u_outware,u_outwaremx
- WHERE u_outware.scid = u_outwaremx.scid
- AND u_outware.outwareid = u_outwaremx.outwareid
- AND u_outware.billtype = 1
- AND u_outware.secflag = 0
-
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_amt = 0
- ld_notsecaudit_enamt = 0
- END IF
- SELECT sum(round(u_outware.otheramt,2)),
- sum(round(u_outware.otheramt * u_outware.mrate,2))
- INTO :ld_notsecaudit_enotheramt,:ld_notsecaudit_otheramt
- FROM u_outware
- WHERE u_outware.billtype = 1
- AND u_outware.secflag = 0
-
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_enotheramt = 0
- ld_notsecaudit_otheramt = 0
- END IF
- IF IsNull(ld_notsecaudit_amt) THEN ld_notsecaudit_amt = 0
- IF IsNull(ld_notsecaudit_enamt) THEN ld_notsecaudit_enamt = 0
- IF IsNull(ld_notsecaudit_otheramt) THEN ld_notsecaudit_otheramt = 0
- IF IsNull(ld_notsecaudit_enotheramt) THEN ld_notsecaudit_enotheramt = 0
- IF sys_option_mst_multimoney = 1 THEN
- ld_notsecaudit_billamt = ld_notsecaudit_enamt - ld_notsecaudit_enotheramt
- ELSE
- ld_notsecaudit_billamt = ld_notsecaudit_amt - ld_notsecaudit_otheramt
- END IF
- cur_cusrepamtflag = 0
- //--------检查信用额
- lst = f_getcusrepamt_info(arg_scid,arg_cusid,arg_moneyid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt)
- //IF lst < 0 THEN
- // msg = '提示:查询信用额及欠款失败!'
- // st_msg.Text = msg
- // st_msg.BackColor = RGB(255,255,255)
- //
- // cur_cusrepamtflag = -1
- // cur_cusrepamtstr = msg
- //ELSE
- // //客户欠款
- // IF arg_cusmaxamt > 0 THEN
- // IF arg_cusbalcamt > arg_cusmaxamt THEN
- // cstr = ' 客户欠款超信用额! '
- // ELSEIF arg_cusbalcamt = arg_cusmaxamt THEN
- // cstr = ' 客户欠款平信用额! '
- // END IF
- // ELSE
- // IF arg_cusbalcamt > arg_cusmaxamt THEN cstr = ' 客户有欠款! '
- // END IF
- //
- //end if
- // cur_cusrepamtstr_show = '' //非编辑状态下 显示信息
- cur_cusrepamtstr_show='信用额度-欠款-未财审金额:'+'~r~n' + '(' + String(arg_cusmaxamt,'###0.00') + ')' + ' - ' + '(' + String(arg_cusbalcamt,'###0.00') + ')' + ' - ' + '(' + String(ld_notsecaudit_billamt,'###0.00') + ')' + ' = ' + String(arg_cusmaxamt - arg_cusbalcamt - ld_notsecaudit_billamt ,'###0.00')
- If arg_cusmaxamt - arg_cusbalcamt - ld_notsecaudit_billamt >= 0 Then
- st_cusbalc_sign.Visible = False
- Else
- st_cusbalc_sign.Visible = True
- End If
- end subroutine
- public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid);////
- decimal cusprice
- SELECT
- u_sale_price_mx.price
- INTO :cusprice
- from
- u_cust left join u_sale_price_mx
- on u_cust.pricelistid = u_sale_price_mx.pricelistid
- where mtrlid = :arg_mtrlid and cusid = :arg_cusid ;
- IF sqlca.SQLCode <> 0 THEN
- cusprice = 0
- END IF
-
- return cusprice
- end function
- public function integer wf_formualprice_auto (ref string arg_msg);long rslt = 1
- Long child_row
- dw_child.AcceptText()
- for child_row = 1 to dw_child.rowcount()
- if dw_child.Object.u_saletaskmx_priceformula[child_row]<>'' then
- String ls_msg
- s_cmpl_qty arg_cmpl
- decimal ld_qty
- long mtrlid,cusid
-
- mtrlid = dw_child.Object.mtrlid[child_row]
- cusid = dw_uc.Object.cusid[dw_uc.getrow()]
-
- arg_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_saletaskmx_price[child_row]
- arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
- arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
- arg_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
- arg_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- arg_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.flag = true
- arg_cmpl.addvalue = 1
- arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
-
- ld_qty = 0
- if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
- rslt = 0
- arg_msg ='行'+string(child_row)+':'+ ls_msg
- goto ext
- END IF
- dw_child.Object.u_saletaskmx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
- end if
- next
- ext:
- return rslt
- end function
- public function integer wf_formualqty_auto (ref string arg_msg);
- long rslt = 1
- Long i
- String ls_formula
- String ls_msg
- String ls_rs
- String ls_num
- Decimal ld_addqty
- Decimal ld_price
- Decimal ld_rebate
- decimal ld_qty
- dw_child.AcceptText()
- s_cmpl_qty s_cmpl
- s_cmpl.addvalue = 1
- s_cmpl.num = long(ddlb_weishu.text)
- dw_uc.SetRedraw(false)
- FOR i = 1 TO dw_child.RowCount()
- ld_qty = 0
- IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
- s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
- s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
- s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
-
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
-
- s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
- s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
- s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
-
- IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
- rslt = 0
- arg_msg = '行'+string(i)+':'+ ls_msg
- goto ext
- END IF
- dw_child.Object.usaleqty[i] = ld_qty
-
- END IF
- NEXT
- ext:
- return rslt
- end function
- on w_saletask.create
- int iCurrent
- call super::create
- this.ddlb_scid=create ddlb_scid
- this.st_2=create st_2
- this.st_3=create st_3
- this.cbx_quote=create cbx_quote
- this.cbx_sc=create cbx_sc
- this.cbx_list=create cbx_list
- this.ddlb_status=create ddlb_status
- this.cb_fhmx=create cb_fhmx
- this.cb_tcmx=create cb_tcmx
- this.cb_taskmx=create cb_taskmx
- this.cb_tsmx=create cb_tsmx
- this.cb_edit_tc=create cb_edit_tc
- this.cb_fymx=create cb_fymx
- this.dw_tsmx=create dw_tsmx
- this.dw_fymx=create dw_fymx
- this.dw_fhmx=create dw_fhmx
- this.dw_dhmx=create dw_dhmx
- this.dw_ywymx=create dw_ywymx
- this.cbx_enamt_edit=create cbx_enamt_edit
- this.cbx_1=create cbx_1
- this.cbx_zk=create cbx_zk
- this.ddlb_1=create ddlb_1
- this.st_4=create st_4
- this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit
- this.st_cusbalc=create st_cusbalc
- this.st_cusbalc_sign=create st_cusbalc_sign
- this.cbx_auto_qty=create cbx_auto_qty
- this.st_weishu=create st_weishu
- this.ddlb_weishu=create ddlb_weishu
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.ddlb_scid
- this.Control[iCurrent+2]=this.st_2
- this.Control[iCurrent+3]=this.st_3
- this.Control[iCurrent+4]=this.cbx_quote
- this.Control[iCurrent+5]=this.cbx_sc
- this.Control[iCurrent+6]=this.cbx_list
- this.Control[iCurrent+7]=this.ddlb_status
- this.Control[iCurrent+8]=this.cb_fhmx
- this.Control[iCurrent+9]=this.cb_tcmx
- this.Control[iCurrent+10]=this.cb_taskmx
- this.Control[iCurrent+11]=this.cb_tsmx
- this.Control[iCurrent+12]=this.cb_edit_tc
- this.Control[iCurrent+13]=this.cb_fymx
- this.Control[iCurrent+14]=this.dw_tsmx
- this.Control[iCurrent+15]=this.dw_fymx
- this.Control[iCurrent+16]=this.dw_fhmx
- this.Control[iCurrent+17]=this.dw_dhmx
- this.Control[iCurrent+18]=this.dw_ywymx
- this.Control[iCurrent+19]=this.cbx_enamt_edit
- this.Control[iCurrent+20]=this.cbx_1
- this.Control[iCurrent+21]=this.cbx_zk
- this.Control[iCurrent+22]=this.ddlb_1
- this.Control[iCurrent+23]=this.st_4
- this.Control[iCurrent+24]=this.cbx_enamt_notax_edit
- this.Control[iCurrent+25]=this.st_cusbalc
- this.Control[iCurrent+26]=this.st_cusbalc_sign
- this.Control[iCurrent+27]=this.cbx_auto_qty
- this.Control[iCurrent+28]=this.st_weishu
- this.Control[iCurrent+29]=this.ddlb_weishu
- end on
- on w_saletask.destroy
- call super::destroy
- destroy(this.ddlb_scid)
- destroy(this.st_2)
- destroy(this.st_3)
- destroy(this.cbx_quote)
- destroy(this.cbx_sc)
- destroy(this.cbx_list)
- destroy(this.ddlb_status)
- destroy(this.cb_fhmx)
- destroy(this.cb_tcmx)
- destroy(this.cb_taskmx)
- destroy(this.cb_tsmx)
- destroy(this.cb_edit_tc)
- destroy(this.cb_fymx)
- destroy(this.dw_tsmx)
- destroy(this.dw_fymx)
- destroy(this.dw_fhmx)
- destroy(this.dw_dhmx)
- destroy(this.dw_ywymx)
- destroy(this.cbx_enamt_edit)
- destroy(this.cbx_1)
- destroy(this.cbx_zk)
- destroy(this.ddlb_1)
- destroy(this.st_4)
- destroy(this.cbx_enamt_notax_edit)
- destroy(this.st_cusbalc)
- destroy(this.st_cusbalc_sign)
- destroy(this.cbx_auto_qty)
- destroy(this.st_weishu)
- destroy(this.ddlb_weishu)
- end on
- event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
- Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
- cb_nextpage_enabled = cb_nextpage.Enabled
- cb_retrieveall_enabled = cb_retrieveall.Enabled
- cb_func_enabled = cb_func.Enabled
- cb_nextpage.Enabled = FALSE
- cb_retrieveall.Enabled = FALSE
- cb_func.Enabled = FALSE
- Int li_option_outrep, li_option_area,li_option_opemp
- string ls_option_opemp
- IF sys_power_issuper THEN
- li_option_outrep = 0
- ELSE
- li_option_outrep = sys_option_outrep
- END IF
- IF sys_power_issuper THEN
- li_option_area = 0
- ELSE
- li_option_area = sys_option_cusarea
- END IF
- IF sys_power_issuper or f_power_ind(1729) or f_power_ind(1730) THEN
- li_option_opemp = 0
- // ls_option_opemp = publ_operator
- ELSE
- li_option_opemp = sys_option_opemp_sale
- ls_option_opemp = publ_operator
- END IF
- dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
- dw_pageretr.Retrieve(cur_scid_arr,cur_status,sys_areaid,li_option_area, sys_user_outrep, li_option_outrep,ls_option_opemp,li_option_opemp)
- IF dw_pageretr.RowCount() > 0 THEN
- dw_pageretr.SetRow(1)
- dw_pageretr.TriggerEvent(RowFocusChanged!)
- END IF
- THIS.TriggerEvent('retrieve_childdw')
- //THIS.TriggerEvent('retrieve_fjnum')
- cb_nextpage.Enabled = cb_nextpage_enabled
- cb_retrieveall.Enabled = cb_retrieveall_enabled
- cb_func.Enabled = cb_func_enabled
- end event
- event open;
- This.TriggerEvent('ue_before_open')
- wf_movetocenter()
- ds_copy_bill = Create datastore
- ds_copy_bill.DataObject = dw_child.DataObject
- ds_copy_bill.SetTransObject(sqlca)
- OLD_TITLE = This.Title
- s_tran = Message.PowerObjectParm
- IF Not IsNull(s_tran) THEN
- retrieve_all = s_tran.if_retrieve_all
- mode = s_tran.work_mode
- arg_pkid = s_tran.arg_pkid
- arg_string_code = s_tran.arg_string_code
- if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
- ds_share = s_tran.ds_share
- END IF
- dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关
- dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关
- dw_pageretr.SetTransObject (sqlca)
- pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
- ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
- ls_newselect = ori_oldselect
- ds_curquery = Create datastore
- ds_curquery.DataObject = 'd_extr_find'
- ds_curquery.SetTransObject (sqlca)
- int rtncode // 保留联系人初始sql
- DataWindowChild dw_child_dddw
- rtncode = dw_uc.GetChild("u_saletask_rel_rep",dw_child_dddw)
- old_rep_select = Lower(dw_child_dddw.GetSQLSelect())
- wf_editindex_lockf()
- IF s_tran.d_long = 2 THEN
- cur_scid = s_tran.c_long
- Int li_item
- li_item = ddlb_scid.FindItem(s_tran.d_string,0)
- IF li_item > 0 THEN
- ddlb_scid.SelectItem(li_item)
- END IF
- END IF
- sle_usual_query.Text = Trim(arg_string_code)
- IF Not retrieve_all THEN
- This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
- ELSE
- IF if_sharedata THEN
- ds_share.ShareData(dw_pageretr)
- ELSE
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- This.TriggerEvent('RETRIEVE_pageretr')
- END IF
- END IF
- IF retrieve_all THEN
- This.TriggerEvent("ue_usual_query_filt")
- END IF
- uc_column_int = 25 //uc dw前5列可以编辑
- child_column_int =31 //子dw前22列可以编辑
- obj_saletask = Create uo_saletask
- obj_saletask.commit_transaction = sqlca
- uo_cus_price = Create uo_cusprice
- s_hide_col s_col_price
- s_col_price.col_1 = 'u_saletaskmx_enprice'
- s_col_price.col_2 = 'u_saletaskmx_rebate'
- s_col_price.col_3 = 'u_saletaskmx_tax'
- s_col_price.col_4 = 'enamt'
- s_col_price.col_5 = 'u_saletaskmx_fprice'
- s_col_price.col_6 = 'u_saletaskmx_enamt_tax'
- s_col_price.col_7 = 'u_saletaskmx_dftsaleprice'
- s_col_price.col_8 = 'u_saletaskmx_bsamt'
- s_col_price.col_9 = 'u_saletaskmx_bsamt_tax'
- s_col_price.col_10 = 'amt'
- s_col_price.col_11 = 'u_saletaskmx_ware_fprice'
- s_col_price.col_12 = 'enamt2'
- f_hide_col(122,dw_child,s_col_price)
- s_hide_col s_col_price_2
- s_col_price_2.col_1 = 'stop_amt'
- s_col_price_2.col_2 = 'u_saletaskmx_enprice_notax'
- s_col_price_2.col_3 = 'enamt_notax'
- s_col_price_2.col_4 = 'z_h_price'
- s_col_price_2.col_5 = 'u_mtrldef_lmsaleprice'
- s_col_price_2.col_6 = 'z_q_price'
- s_col_price_2.col_7 = 'z_h_amt'
- f_hide_col(122,dw_child,s_col_price_2)
- s_hide_col s_col_mtrlsectype
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_child,s_col_mtrlsectype)
- s_hide_col s_col_zxmtrlmode
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_child,s_col_zxmtrlmode)
- This.TriggerEvent('ue_billcache_check')
- end event
- event ue_f9;
- IF Not dw_edit_mode THEN RETURN
- Long child_row
- child_row = dw_uc.GetRow()
- IF child_row = 0 THEN
- MessageBox('提示','请选定订单!',information!,OK!)
- RETURN
- END IF
- Long ll_scid, ll_moneyid
- String ls_address
- dw_uc.AcceptText()
- IF Not IsValid(W_cust_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
- //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()]))
- s_ch_tran.c_long = sys_option_cust_audit //0-不使用 1-使用
-
- OpenWithParm(W_cust_edit,s_ch_tran) //调用
-
- s_custom S_INSCUST
- S_INSCUST = Message.PowerObjectParm //接受返回结构
-
- IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
- dw_uc.Object.cusid[child_row] = S_INSCUST.cusid
- dw_uc.Object.u_cust_name[child_row] = S_INSCUST.Name
- dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
- dw_uc.Object.assign_emp[child_row] = S_INSCUST.bsntype
- dw_uc.Object.u_saletask_freight[child_row] = S_INSCUST.freight
- dw_uc.Object.u_saletask_freight_tele[child_row] = S_INSCUST.freight_tele
- dw_uc.Object.u_saletask_cus_address[child_row] = S_INSCUST.Address
- dw_uc.Object.u_saletask_cus_tele[child_row] = S_INSCUST.tele
- dw_uc.Object.u_saletask_cus_tele1[child_row] = S_INSCUST.tele1
- dw_uc.Object.u_saletask_cus_fax[child_row] = S_INSCUST.faxno
- dw_uc.Object.u_saletask_rel_rep[child_row] = S_INSCUST.rep
-
-
- IF Len(S_INSCUST.freight_address) > 0 THEN
- dw_uc.Object.u_saletask_freight_address[child_row] = S_INSCUST.freight_address
- ELSE
- SELECT
- Address Into :ls_address
- From u_station
- Where stationname = :S_INSCUST.freight;
- dw_uc.Object.u_saletask_freight_address[child_row] = ls_address
- END IF
-
- IF S_INSCUST.banktypeid > 0 THEN
- dw_uc.Object.u_saletask_banktypeid[child_row] = S_INSCUST.banktypeid
- END IF
-
- //刷新价格
-
- dw_uc.SetRedraw(True)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_saletask_cus_address")
-
- END IF
- END IF
- //this.enabled = true
- end event
- event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
- IF Not dw_edit_mode THEN RETURN
- Long child_row
- Long ls_cusid,ll_moneyid
- String ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode
- Decimal ld_tax
- child_row = dw_child.GetRow()
- ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
- IF IsNull(ls_cusid) Or ls_cusid = 0 THEN
- This.TriggerEvent("ue_f9")
- END IF
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF Not IsValid(w_mtrlware_storageid_ch_saletask) THEN
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = This.retrieve_all //是否一次retrieve所有行
- s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.if_select_all = True //多选
- s_tranf8.b_long = -2 //选产品 --20190401 暂时更改为记录上次选择
- // s_tranf8.c_long = cur_scid //分部
- s_tranf8.d_long = -1 //仓库
-
- IF cur_scid < 0 THEN
- s_tranf8.c_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
- ELSE
- s_tranf8.c_long = cur_scid
- END IF
-
- Long ls_j
- IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- // OpenWithParm(w_mtrlware_storageid_ch_saletask,s_tranf8) //调用
- OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
- FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
- IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.mtrlid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
-
- dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
- dw_child.Object.saleqty[child_row] = 0
- dw_child.Object.plprice[child_row] = s_inscust.planprice[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_saletaskmx_rate[child_row] = 1
-
- dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
- dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
- dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
-
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
- dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
-
- dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
- dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
- dw_child.Object.u_mtrldef_lmsaleprice[child_row] = s_inscust.lmsaleprice[ls_j]
-
- dw_child.Object.u_saletaskmx_packqty[child_row] = s_inscust.packqty[ls_j]
-
-
- IF f_find_tax(ls_cusid,'u_cust',ld_tax) = 0 THEN
- ld_tax = 0
- ELSE
- dw_child.Object.u_saletaskmx_tax[child_row] = ld_tax
- END IF
-
- IF f_find_cusmtrlname(ls_cusid,s_inscust.mtrlid[ls_j],ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode) = 0 THEN
- ls_cusmtrlcode = ''
- ls_cusmtrlname = ''
- ls_cusmtrlmode = ''
- ELSE
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] = ls_cusmtrlmode
- END IF
-
-
-
- Long li_statusflag
- Long li_woodcodeflag
- Long li_pcodeflag
- String ls_priceformula
- String ls_qtyformula
-
- s_mtrldef_array arg_s_mtrldef
- IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
- li_statusflag = 0
- li_woodcodeflag = 0
- li_pcodeflag = 0
- ls_priceformula = ''
- ELSE
- li_statusflag = arg_s_mtrldef.statusflag[1]
- li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
- li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
- ls_priceformula = arg_s_mtrldef.priceformula[1]
- ls_qtyformula = arg_s_mtrldef.strcheckaddqty [1] //qtyformula
- IF arg_s_mtrldef.saleunit[1] = 1 THEN
- dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_buy[1]
- dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_buy[1]
- ELSEIF arg_s_mtrldef.saleunit[1] = 2 THEN
- dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_scll[1]
- dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_scll[1]
- ELSEIF arg_s_mtrldef.saleunit[1] = 3 THEN
- dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_sale[1]
- dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_sale[1]
- END IF
- dw_child.Object.u_mtrldef_prdpackcode[child_row] = arg_s_mtrldef.prdpackcode[1]
- END IF
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
- dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
- dw_child.Object.u_saletaskmx_formula[child_row] = ls_qtyformula
-
-
-
- IF li_statusflag = 4 Or li_statusflag = 2 THEN
- dw_child.Object.u_saletaskmx_status[child_row] = arg_s_mtrldef.status[1]
- END IF
- IF li_woodcodeflag = 4 THEN
- dw_child.Object.u_saletaskmx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
- END IF
- IF li_pcodeflag = 4 THEN
- dw_child.Object.u_saletaskmx_pcode[child_row] = arg_s_mtrldef.pcode[1]
- END IF
-
-
-
-
-
- //3个属性默认值
- String ls_status_default,ls_woodcode_default,ls_pcode_default
- ls_status_default = ''
- ls_woodcode_default = ''
- ls_pcode_default = ''
- 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];
-
- IF Len(ls_status_default) > 0 THEN
- dw_child.Object.u_saletaskmx_status[child_row] = Trim(ls_status_default)
- END IF
-
-
- IF Len(ls_woodcode_default) > 0 THEN
- dw_child.Object.u_saletaskmx_woodcode[child_row] = Trim(ls_woodcode_default)
- END IF
-
-
- IF Len(ls_pcode_default) > 0 THEN
- dw_child.Object.u_saletaskmx_pcode[child_row] = Trim(ls_pcode_default)
- END IF
-
-
-
-
-
- wf_get_price(child_row)
-
- END IF
- NEXT
- This.TriggerEvent('ue_allowedit')
- dw_child.SetColumn('usaleqty')
- END IF
- dw_child.SetFocus()
- end event
- event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = Not dw_edit_mode
- cbx_enamt_edit.Enabled = Not dw_edit_mode
- cbx_zk.Enabled = Not dw_edit_mode
- cbx_enamt_notax_edit.Enabled = Not dw_edit_mode
- //st_msg.Visible = dw_edit_mode
- //st_msg.Visible = false
- wf_statusbtn_fc()
- //后面还有对金额的分权限处理
- //IF ii_enamt_edit = 0 THEN
- // dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- // dw_child.Modify('enamt_t.Color = 0')
- //ELSEif ii_enamt_edit = 1 THEN
- // dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- // dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- //END IF
- //
- IF cbx_enamt_edit.Checked = True Or cbx_zk.Checked = True THEN
- dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- ELSE
- dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- dw_child.Modify('enamt_t.Color = 0')
- END IF
- IF sys_power_issuper Or Not f_power_ind(492) THEN //492 限制折扣
- dw_child.Modify('u_saletaskmx_rebate.protect=0 ')
- ELSE
- dw_child.Modify('u_saletaskmx_rebate.protect=1 ')
- END IF
- IF sys_power_issuper Or Not f_power_ind(973) THEN //973 限制单价
- dw_child.Modify('u_saletaskmx_enprice.protect=0 ')
- ELSE
- dw_child.Modify('u_saletaskmx_enprice.protect=1 ')
- END IF
- IF dw_edit_mode THEN
- ddlb_scid.Enabled = False
- IF sys_option_saletask_plan = 2 THEN
- dw_child.Modify('u_saletaskmx_orderqty.protect=1 ')
- dw_child.Modify('u_saletaskmx_needbuyqty.protect=0 ')
- ELSEIF sys_option_saletask_plan = 3 THEN
- dw_child.Modify('u_saletaskmx_orderqty.protect=0 ')
- dw_child.Modify('u_saletaskmx_needbuyqty.protect=1 ')
- ELSE
- dw_child.Modify('u_saletaskmx_orderqty.protect=0 ')
- dw_child.Modify('u_saletaskmx_needbuyqty.protect=0 ')
- END IF
- ELSE
- dw_child.Modify('u_saletaskmx_orderqty.protect=0 ')
- dw_child.Modify('u_saletaskmx_needbuyqty.protect=0 ')
- IF sys_scid > 0 THEN
- ddlb_scid.Enabled = False
- ELSE
- ddlb_scid.Enabled = True
- END IF
- END IF
- IF dw_edit_mode THEN
- IF sys_option_taskplancode_auto = 4 THEN
- dw_child.Modify('u_saletaskmx_plancode.protect=0 ')
- ELSE
- dw_child.Modify('u_saletaskmx_plancode.protect=1 ')
- END IF
- ELSE
- dw_child.Modify('u_saletaskmx_plancode.protect=0 ')
- END IF
- //IF Not dw_edit_mode THEN
- // st_msg.Text = ''
- //ELSE
- // st_msg.x = dw_pageretr.x
- // st_msg.y = dw_pageretr.y
- // st_msg.Width = dw_pageretr.Width
- // st_msg.Height = dw_pageretr.Height
- //END IF
- end event
- event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
- row = dw_pageretr.GetRow()
- IF row > 0 THEN
- ll_scid = dw_pageretr.Object.u_saletask_scid[row]
- uc_relid = dw_pageretr.Object.taskid[row]
-
- dw_child.SetRedraw (False)
- dw_child.Retrieve(ll_scid,uc_relid)
- dw_child.SetRedraw (True)
-
- dw_ywymx.SetRedraw (False)
- dw_ywymx.Retrieve(ll_scid,uc_relid)
- dw_ywymx.SetRedraw (True)
- dw_dhmx.SetRedraw (False)
- dw_dhmx.Retrieve(ll_scid,uc_relid)
- dw_dhmx.SetRedraw (True)
-
- IF uc_relid > 0 THEN
- dw_fhmx.SetRedraw (False)
- dw_fhmx.Retrieve(ll_scid,uc_relid)
- dw_fhmx.SetRedraw (True)
- END IF
-
- dw_tsmx.SetRedraw (False)
- dw_tsmx.Retrieve(ll_scid,uc_relid)
- dw_tsmx.SetRedraw (True)
-
- dw_fymx.SetRedraw (False)
- dw_fymx.Retrieve(ll_scid,uc_relid)
- dw_fymx.SetRedraw (True)
- this.TriggerEvent('ue_retrieve_his_pricemx')
- ELSE
- dw_child.Reset()
- dw_ywymx.Reset()
- dw_fhmx.Reset()
- dw_tsmx.Reset()
- dw_fymx.Reset()
- END IF
- //this.TriggerEvent('ue_mx_cmplnoallocqty')
- end event
- event close;//f_SetProfileString (sys_empid, "saletask", "status", string(cur_status))
- wf_del_tempfilepathname()
- DESTROY obj_saletask
- DESTROY uo_cus_price
- end event
- event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
- ls_newselect=lower(ori_oldselect)
- if trim(sle_usual_query.text)<>'' then
- if pos(trim(sle_usual_query.text),'%')=0 then
- ls_querystrpart="(u_saletask.taskcode like '%"+trim(sle_usual_query.text)+"%')"
- else
- ls_querystrpart="(u_saletask.taskcode like '"+trim(sle_usual_query.text)+"')"
- end if
- if Pos(ls_newselect," where ") <> 0 then
- ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
- else
- ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
- end if
- end if
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- this.triggerevent('retrieve_pageretr')
- end event
- event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
- if trim(sle_usual_query.text)<>'' then
- IF POS(trim(sle_usual_query.text),'%')=0 THEN
- obj_expr=obj_expr+'( taskcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
- ELSE
- obj_expr=obj_expr+'( taskcode LIKE "'+trim(sle_usual_query.text)+'" )'
- END IF
- end if
- dw_pageretr.setfilter(obj_expr)
- dw_pageretr.SetRedraw(False)
- dw_pageretr.filter()
- if dw_pageretr.rowcount()>=1 then
- dw_pageretr.selectrow(0,false)
- dw_pageretr.selectrow(1,true)
- dw_pageretr.SetRow(1)
- dw_pageretr.triggerevent(rowfocuschanged!)
- end if
- dw_pageretr.SetRedraw(TRUE)
- end event
- event ue_viewprint;call super::ue_viewprint;IF Not f_power_ind(7) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Long LS_ROW
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- MessageBox('提示','没有打印目标单据!',information!,OK!)
- RETURN
- END IF
- Long ll_status
- ll_status = dw_pageretr.Object.u_SaleTask_Status[LS_ROW]
- //信用额 288
- IF sys_option_cusrepamt_saletask_limit = 2 THEN
-
- wf_getcusrepamt_info( dw_pageretr.Object.u_SaleTask_scid[LS_ROW],dw_pageretr.Object.u_saletask_cusid[LS_ROW], dw_pageretr.Object.u_saletask_moneyid[LS_ROW] )
-
- IF cur_cusrepamtflag = -1 THEN
- MessageBox('系统提示','系统选项288限制~r~n'+cur_cusrepamtstr)
- RETURN
- END IF
- END IF
- IF sys_option_auditprint_saletask = 1 THEN
- IF sys_option_saletask_secaudit = 0 THEN
- IF ll_status = 0 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- ELSE
- IF ll_status = 0 Or ll_status = 4 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- END IF
- S_print_MSG LS_PRMSG
- LS_PRMSG.ifpic = ifpic
- IF ls_newname <> '' THEN
- IF li_auditprint = 1 THEN
- IF sys_option_saletask_secaudit = 0 THEN
- IF ll_status = 0 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- ELSE
- IF ll_status = 0 Or ll_status = 4 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- END IF
- LS_PRMSG.obj_dwNAME = ls_newname
- ELSE
- LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_print'
- END IF
- IF LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_day_print' THEN
- DateTime ld_fdt,ld_edt
- String ls_print_day
-
- Open(w_saletask_print_day)
-
- ls_print_day = Message.StringParm
-
- IF ls_print_day = '1900-01-01' THEN RETURN
-
- ld_fdt = DateTime(Date(ls_print_day),Time(0))
- ld_edt = DateTime(Date(ls_print_day),Time('23:59:59'))
-
- LS_PRMSG.TAG_TEXT = '销售订单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 6
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramfdt = ld_fdt
- LS_PRMSG.retr_pramedt = ld_edt
- ELSE
- LS_PRMSG.TAG_TEXT = '销售订单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 15
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_scid = dw_pageretr.Object.u_saletask_scid[LS_ROW]
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[LS_ROW]
- LS_PRMSG.rowcnt = dw_child.RowCount()
- END IF
- IF ifpic = 1 THEN
- String ls_msg
- IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
- MessageBox('提示','下载图片失败!',information!,OK!)
- RETURN
- END IF
- END IF
- OpenWithParm(w_publ_preview,LS_PRMSG)
- IF ifpic = 1 THEN
- Long li
- FOR li = 1 To UpperBound(LS_PRMSG.s_pic.path)
- IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
- FileDelete(LS_PRMSG.s_pic.path[li])
- END IF
- NEXT
- END IF
- //**更新打印次料
- String arg_msg
- printnum = Message.DoubleParm
- f_update_printnum('u_saletask',printnum,dw_pageretr.Object.u_saletask_scid[LS_ROW],dw_pageretr.Object.taskid[LS_ROW],'','',arg_msg,True)
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (102, 1, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- end event
- event ue_print;call super::ue_print;
- //--直接打印
- IF Not f_power_ind(7) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- uo_print_preview uo_print
- IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- S_print_MSG LS_PRMSG
- Long LS_ROW
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- MessageBox('提示','没有打印目标单据!',information!,OK!)
- RETURN
- END IF
- Long ll_status
- ll_status = dw_pageretr.Object.u_SaleTask_Status[LS_ROW]
- //信用额 288
- IF sys_option_cusrepamt_saletask_limit = 2 THEN
-
- wf_getcusrepamt_info( dw_pageretr.Object.u_SaleTask_scid[LS_ROW],dw_pageretr.Object.u_saletask_cusid[LS_ROW], dw_pageretr.Object.u_saletask_moneyid[LS_ROW] )
-
- IF cur_cusrepamtflag = -1 THEN
- MessageBox('系统提示','系统选项288限制~r~n'+cur_cusrepamtstr)
- RETURN
- END IF
- END IF
- IF sys_option_auditprint_saletask = 1 THEN
- IF sys_option_saletask_secaudit = 0 THEN
- IF ll_status = 0 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- ELSE
- IF ll_status = 0 Or ll_status = 4 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- END IF
- LS_PRMSG.retr_pram_falg = 15
- LS_PRMSG.ifpic = ifpic
- IF ls_newname <> '' THEN
- IF li_auditprint = 1 THEN
- IF sys_option_saletask_secaudit = 0 THEN
- IF ll_status = 0 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- ELSE
- IF ll_status = 0 Or ll_status = 4 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- END IF
-
- LS_PRMSG.obj_dwNAME = ls_newname
- ELSE
- LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_print'
- END IF
- LS_PRMSG.TAG_TEXT = '销售订单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[LS_ROW]
- IF ifpic = 1 THEN
- String ls_msg
- IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
- MessageBox('提示','下载图片失败!',information!,OK!)
- RETURN
- END IF
- END IF
- uo_print.FACT_PRINT_MSG = LS_PRMSG
- String arg_msg
- IF uo_print.uof_print_begin(arg_msg) = 0 THEN
- MessageBox("错误",arg_msg,stopsign!,OK!)
- RETURN
- END IF
- uo_print.ds_print()
- IF ifpic = 1 THEN
- Long li
- FOR li = 1 To UpperBound(LS_PRMSG.s_pic.path)
- IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
- FileDelete(LS_PRMSG.s_pic.path[li])
- END IF
- NEXT
- END IF
- //**更新打印次料
- f_update_printnum('u_saletask',1,cur_scid,dw_pageretr.Object.taskid[dw_pageretr.GetRow()],'','',arg_msg,True)
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (102, 1, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- end event
- event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF NOT f_power_ind(698) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = '',LS_STR
- Long uc_row
- s_inputbox S_SREU
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- S_SREU.Title = '请输入要补充到备注的内容'
- S_SREU.OLD_TEXT = ''
- OpenWithParm(w_inputbox,S_SREU)
- LS_STR = Message.StringParm
- IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN
- IF obj_saletask.add_dscrp(dw_pageretr.Object.u_saletask_scid[uc_row],dw_pageretr.Object.taskid[uc_row],LS_STR,arg_msg,TRUE) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- ELSE
- MessageBox('提示','添加备注操作成功!',information!,OK!)
- wf_refresh_curuc(cur_scid,dw_pageretr.Object.taskid[uc_row])
- END IF
- end event
- event ue_f11;call super::ue_f11;IF Not dw_edit_mode THEN RETURN
- Long child_row
- Long ls_outtypeid
- child_row = dw_child.GetRow()
- IF child_row <= 0 THEN RETURN
- IF Not IsValid(w_outtype_edit) THEN
- Open(w_outtype_edit)
- ls_outtypeid = Message.DoubleParm
-
- datawindowchild childdw
- dw_child.GetChild("u_saletaskmx_outtype",childdw)
- childdw.SetTransObject (sqlca)
- IF childdw.Retrieve() = 0 THEN
- childdw.InsertRow(0)
- END IF
-
- IF ls_outtypeid = 0 THEN RETURN
-
- dw_child.Object.u_saletaskmx_outtype[child_row] = ls_outtypeid
- dw_child.SetFocus()
- END IF
- end event
- event ue_f12;call super::ue_f12;IF NOT IsValid(w_unit_ch) THEN
- IF dw_child.GetRow() < 1 THEN RETURN
- Long ll_mtrlid
- ll_mtrlid = dw_child.Object.mtrlid[dw_child.GetRow()]
-
- OpenWithParm(w_unit_ch,ll_mtrlid)
- s_unit s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
-
- IF s_inscust.unit <> '' THEN
- dw_child.Object.u_saletaskmx_unit[dw_child.GetRow()] = s_inscust.unit
- dw_child.Object.u_saletaskmx_rate[dw_child.GetRow()] = s_inscust.rate
-
-
- wf_get_price(dw_child.GetRow())
-
- END IF
- END IF
- end event
- event ue_f6;call super::ue_f6;//用于选择销售历史
- IF NOT dw_edit_mode THEN RETURN
- Long child_row
- Long ls_cusid,ll_moneyid
- String ls_priceformula
- s_mtrldef_array arg_s_mtrldef
- child_row = dw_child.GetRow()
- IF dw_uc.GetRow() = 0 THEN RETURN
- dw_uc.AcceptText()
- ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
- IF IsNull(ls_cusid) OR ls_cusid = 0 THEN
- THIS.TriggerEvent("ue_f9")
- END IF
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF NOT IsValid(w_saletask_mtrl_his_ch) THEN
- s_edit_index_tran s_tranf8 //传递参数使用
- // s_tranf8.if_retrieve_all = FALSE //是否一次retrieve所有行
- s_tranf8.if_retrieve_all = this.retrieve_all //是否一次retrieve所有行
- s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.if_select_all = TRUE //多选
- s_tranf8.b_long = 0
- s_tranf8.d_long = ls_cusid
-
- Long ls_j
- OpenWithParm(w_saletask_mtrl_his_ch,s_tranf8) //调用
-
- s_saletask_mtrl s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
- FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
- IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.mtrlid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
-
- dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
- dw_child.Object.saleqty[child_row] = 0
- dw_child.Object.plprice[child_row] = s_inscust.planprice[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.price[ls_j]
- dw_child.Object.u_saletaskmx_rebate[child_row] = s_inscust.rebate[ls_j]
- dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_saletaskmx_pcode [child_row] = s_inscust.pcode[ls_j]
- dw_child.Object.u_saletaskmx_mxdscrp [child_row] = s_inscust.mxdscrp[ls_j]
- dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
- dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
- dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
-
- dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
- IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
- ls_priceformula = ''
- ELSE
- ls_priceformula = arg_s_mtrldef.priceformula[1]
- END IF
- dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
- dw_child.SetColumn('usaleqty')
- END IF
- NEXT
- END IF
- dw_child.SetFocus()
- end event
- event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT f_power_ind(7) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Long row,uc_relid,ll_scid
- row = dw_pageretr.GetRow()
- IF row = 0 THEN
- RETURN
- END IF
- s_rpt_print_msg s_print
- s_print.retr_pram_falg = 15
- s_print.rpid = ls_msgprintid_rpt
- s_print.retr_flag = TRUE
- s_print.tag_text = THIS.Title
- s_print.rpname = ls_rpname
- s_print.retr_scid = dw_pageretr.Object.u_saletask_scid[row]
- s_print.retr_pramnmb = dw_pageretr.Object.taskid[row]
- s_print.rowcnt = dw_child.RowCount()
- OpenWithParm(w_rpt_preview,s_print)
- //**更新打印次料
- String arg_msg
- printnum = Message.DoubleParm
- f_update_printnum('u_saletask',printnum,dw_pageretr.Object.u_saletask_scid[dw_pageretr.GetRow()],dw_pageretr.Object.taskid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
- end event
- event ue_rpt_print;call super::ue_rpt_print;IF NOT f_power_ind(7) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Long row,uc_relid,ll_scid
- row = dw_pageretr.GetRow()
- uo_rpt_print_preview uo_print
- S_rpt_print_MSG LS_PRMSG
- IF dw_uc.RowCount() = 0 THEN
- MessageBox('提示','没有可打印的单据!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- LS_PRMSG.retr_pram_falg = 15
- LS_PRMSG.TAG_TEXT = '销售订单'
- LS_PRMSG.rpname = ls_rpname
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.rpid = ls_msgprintid_rpt
- LS_PRMSG.retr_scid = dw_pageretr.Object.u_saletask_scid[dw_pageretr.GetRow()]
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[dw_pageretr.GetRow()]
- LS_PRMSG.rowcnt = dw_child.RowCount()
- uo_print.FACT_PRINT_MSG = LS_PRMSG
- String arg_msg
- IF uo_print.uof_print_begin(arg_msg) = 0 THEN
- MessageBox("错误",arg_msg,stopsign!,OK!)
- RETURN
- END IF
- uo_print.ds_print()
- //**更新打印次料
- printnum = Message.DoubleParm
- f_update_printnum('u_saletask',1,cur_scid,dw_pageretr.Object.taskid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
- end event
- event ue_jdview_ljfieb;call super::ue_jdview_ljfieb;long ll_row
- ll_row = dw_pageretr.getrow()
- if ll_row <= 0 then return
- string ls_taskcode
- ls_taskcode = dw_pageretr.object.u_saletask_fiebrelcode[ll_row]
- openwithparm(w_ljfieb_buytask_hisview,ls_taskcode)
- end event
- event ue_allowedit;call super::ue_allowedit;IF sys_option_packqty_sale = 0 THEN
- dw_child.Modify("u_saletaskmx_packqty.protect = 1")
- ELSE
- dw_child.Modify("u_saletaskmx_packqty.protect = 0")
- END IF
- end event
- event resize;call super::resize;
- cb_taskmx.Y = dw_uc.Y + dw_uc.Height
- cb_tcmx.Y = cb_taskmx.Y
- cb_fhmx.Y = cb_taskmx.Y
- cb_tsmx.Y = cb_taskmx.Y
- cb_edit_tc.Y = cb_taskmx.Y
- cb_fymx.y=cb_taskmx.Y
- dw_child.X = 0
- dw_child.Y = cb_taskmx.Y + cb_taskmx.Height
- dw_child.Width = this.workspacewidth() - dw_child.X
- dw_child.Height = THIS.workspaceheight() - dw_child.Y
- dw_ywymx.x = 0
- dw_ywymx.y = dw_child.Y
- dw_ywymx.width = dw_child.width * 0.3
- dw_ywymx.height = dw_child.height
- dw_dhmx.x = dw_ywymx.x + dw_ywymx.width
- dw_dhmx.y = dw_child.Y
- dw_dhmx.width = dw_child.width * 0.7
- dw_dhmx.height = dw_child.height
- dw_fhmx.x = 0
- dw_fhmx.y = dw_child.Y
- dw_fhmx.width = dw_child.width
- dw_fhmx.height = dw_child.height
- dw_tsmx.x = 0
- dw_tsmx.y = dw_child.Y
- dw_tsmx.width = dw_child.width
- dw_tsmx.height = dw_child.height
- dw_fymx.x = 0
- dw_fymx.y = dw_child.Y
- dw_fymx.width = dw_child.width
- dw_fymx.height = dw_child.height
- end event
- event ue_before_open;call super::ue_before_open;dw_ywymx.SetTransObject (sqlca)
- dw_dhmx.SetTransObject (sqlca)
- dw_fhmx.SetTransObject (sqlca)
- dw_tsmx.SetTransObject (sqlca)
- dw_fymx.SetTransObject (sqlca)
- cb_edit_tc.visible = false
- if sys_version = 802001 then
- //cb_tcmx.visible = true
- else
- cb_tcmx.visible = False
- cb_tsmx.visible = False
- cb_fhmx.x = cb_tcmx.x
- cb_fymx.x=cb_fhmx.x + cb_fhmx.width
- end if
- s_hide_col s_col_mtrlsectype
- s_hide_col s_col_zxmtrlmode
- s_hide_col s_col, s_null
- s_col = s_null
- s_col.col_1 = 'u_outwaremx_enprice'
- s_col.col_2 = 'u_outwaremx_rebate'
- s_col.col_3 = 'u_outwaremx_tax'
- s_col.col_4 = 'enamt'
- s_col.col_5 = 'u_outwaremx_enamt_tax'
- s_col.col_6 = 'u_outwaremx_fprice'
- s_col.col_7 = 'u_outwaremx_bsamt'
- s_col.col_8 = 'u_outwaremx_bsamt_tax'
- s_col.col_9 = 'u_outwaremx_price'
- f_hide_col(122,dw_fhmx,s_col) //隐藏销售价
- s_col = s_null
- s_col.col_1 = 'u_outwaremx_ware_fprice'
- s_col.col_2 = 'enamt2'
- s_col.col_3 = 'u_outwaremx_dftsaleprice'
- f_hide_col(122,dw_fhmx,s_col) //隐藏销售价
- s_col = s_null
- s_col.col_1 = 'gpamt'
- f_hide_col(843,dw_fhmx,s_col) //隐藏销售毛利
- s_col = s_null
- s_col.col_1 = 'u_outwaremx_cost'
- s_col.col_1 = 'u_outwaremx_costamt'
- f_hide_col(490,dw_fhmx,s_col) //隐藏 出仓成本价
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_dhmx,s_col_mtrlsectype)
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_dhmx,s_col_zxmtrlmode)
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_fhmx,s_col_mtrlsectype)
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_fhmx,s_col_zxmtrlmode)
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_tsmx,s_col_mtrlsectype)
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_tsmx,s_col_zxmtrlmode)
- end event
- event ue_addmx;IF Not dw_edit_mode THEN
- MessageBox('系统提示','非编辑状态下不可用')
- RETURN
- END IF
- IF ins_dw_select = 4 THEN
- This.TriggerEvent('ue_add_fymx')
- ELSE
- This.TriggerEvent('ue_f8')
- dw_child.SetFocus()
- END IF
- end event
- event ue_deletemx;IF Not dw_edit_mode THEN
- MessageBox('系统提示','非编辑状态下不可用')
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
- IF dw_child.GetRow() = 0 THEN
- MessageBox('提示','请选择删除的行对象!')
- RETURN
- END IF
- if_del = True
- Long ll_i
- IF ins_dw_select = 4 THEN
- IF dw_fymx.GetRow() = 0 THEN
- MessageBox('提示','请选择删除的行对象!')
- RETURN
- END IF
-
- dw_fymx.DeleteRow (dw_fymx.GetRow() )
- IF dw_fymx.RowCount() = 0 THEN dw_fymx.InsertRow(0)
- dw_fymx.TriggerEvent (RowFocusChanged!)
- ELSE
- dw_child.SetRedraw(False)
- FOR ll_i = dw_child.RowCount() To 1 Step -1
- IF dw_child.IsSelected(ll_i) THEN
- dw_child.DeleteRow (ll_i)
- END IF
- NEXT
- dw_child.SetRedraw(True)
- if_del = False
- IF dw_child.RowCount() = 0 THEN dw_child.InsertRow(0)
- dw_child.TriggerEvent (RowFocusChanged!)
- END IF
- end event
- event ue_f7;call super::ue_f7;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
- If Not dw_edit_mode Then Return
- Long child_row
- Long ls_cusid,ll_moneyid
- child_row = dw_child.GetRow()
- ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
- If IsNull(ls_cusid) Or ls_cusid = 0 Then
- This.TriggerEvent("ue_f9")
- End If
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- If ll_moneyid = 0 Or IsNull(ll_moneyid) Then
- MessageBox('提示','请先选择币种',information!,OK!)
- Return
- End If
- If Not IsValid(w_mtrlware_storageid_ch_saletask2) Then
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = This.retrieve_all //是否一次retrieve所有行
- s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.if_select_all = True //多选
- s_tranf8.b_long = 0 //选产品
- // s_tranf8.c_long = cur_scid //分部
- s_tranf8.d_long = -1 //仓库
-
- If cur_scid < 0 Then
- s_tranf8.c_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
- Else
- s_tranf8.c_long = cur_scid
- End If
-
- Long ls_j
- If dw_child.GetRow() > 0 Then s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- OpenWithParm(w_mtrlware_storageid_ch_saletask2,s_tranf8) //调用
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
- For ls_j = 1 To UpperBound(s_inscust.mtrlid)
- If s_inscust.mtrlid[ls_j] > 0 Then //正常返回值则可以取以下值
- If dw_child.GetRow() > 0 Then
- If dw_child.Object.mtrlid[child_row] <> 0 Then
- child_row = dw_child.InsertRow (0)
- Else
- child_row = dw_child.GetRow()
- End If
- Else
- child_row = dw_child.InsertRow (0)
- End If
-
- dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
- dw_child.Object.saleqty[child_row] = 0
- dw_child.Object.plprice[child_row] = s_inscust.planprice[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_saletaskmx_rate[child_row] = 1
-
- dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
- dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
- dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
-
- dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
-
- dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
-
- dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j] //
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
-
- If IsNull( s_inscust.plancode[ls_j]) Or s_inscust.plancode[ls_j] = '' Then
- Else
- dw_child.Object.u_saletaskmx_plancode[child_row] = s_inscust.plancode[ls_j]
- End If
- If IsNull( s_inscust.waredscrp[ls_j]) Or s_inscust.waredscrp[ls_j] = '' Then
- Else
- dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.waredscrp[ls_j]
- End If
-
- Long li_statusflag
- Long li_woodcodeflag
- Long li_pcodeflag
- String ls_priceformula
- s_mtrldef_array arg_s_mtrldef
- If f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 Then
- li_statusflag = 0
- li_woodcodeflag = 0
- li_pcodeflag = 0
- ls_priceformula = ''
- Else
- li_statusflag = arg_s_mtrldef.statusflag[1]
- li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
- li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
- ls_priceformula = arg_s_mtrldef.priceformula[1]
- End If
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
- dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
-
- wf_get_price(child_row)
-
- End If
- Next
- This.TriggerEvent('ue_allowedit')
- dw_child.SetColumn('usaleqty')
- End If
- dw_child.SetFocus()
- end event
- type cb_func from w_publ_1ton_share_detail`cb_func within w_saletask
- integer taborder = 20
- end type
- type cb_exit from w_publ_1ton_share_detail`cb_exit within w_saletask
- integer x = 2560
- integer taborder = 240
- end type
- type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_saletask
- integer x = 178
- integer y = 188
- integer width = 549
- end type
- type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_saletask
- integer x = 3045
- integer taborder = 200
- end type
- type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_saletask
- integer x = 2729
- integer width = 320
- integer taborder = 180
- end type
- type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_saletask
- integer x = 2597
- integer y = 308
- integer width = 727
- integer height = 1324
- integer taborder = 30
- string title = "销售订单摘要内容"
- string dataobject = "dw_saletask_index"
- boolean hscrollbar = false
- boolean border = true
- borderstyle borderstyle = stylebox!
- end type
- event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_statusbtn_fc()
- wf_check_billfj()
- IF dw_edit_mode THEN RETURN
- IF currentrow <= 0 THEN
- dw_child.Reset()
- RETURN
- END IF
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(currentrow,TRUE)
- dw_uc.SetRow(currentrow)
- dw_uc.ScrollToRow (currentrow)
- st_cusbalc.Text = ''
- st_cusbalc_sign.visible = false
- Long ll_scid,ll_cusid, ll_moneyid
- IF NOT dw_edit_mode AND currentrow > 0 THEN
- ll_scid = THIS.Object.u_saletask_scid[currentrow]
- ll_cusid = THIS.Object.u_saletask_cusid[currentrow]
- ll_moneyid = THIS.Object.u_saletask_moneyid[currentrow]
- wf_cusbalc(ll_scid,ll_cusid,ll_moneyid)
- END IF
- end event
- event dw_pageretr::retrieveend;wf_statusbtn_fc()
- end event
- type st_1 from w_publ_1ton_share_detail`st_1 within w_saletask
- integer x = 0
- integer y = 208
- integer width = 178
- alignment alignment = right!
- end type
- type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_saletask
- integer x = 3195
- integer taborder = 230
- end type
- type dw_uc from w_publ_1ton_share_detail`dw_uc within w_saletask
- integer y = 308
- integer width = 2368
- integer height = 1764
- integer taborder = 120
- string dataobject = "dw_saletask_input"
- end type
- event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
- IF Key = KeyDownArrow! THEN RETURN 1
- IF dw_edit_mode THEN
- IF dw_uc.GetColumnName ( ) = 'dscrp' And Key = KeyEnter! THEN
- dw_child.ScrollToRow(1)
- dw_child.SetFocus()
- dw_child.SetColumn ('u_saletaskmx_outtype')
- RETURN 1
- ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' And Key = KeyEnter! THEN
-
- String ls_code,ls_name,ls_custype,ls_find_code
- String ls_freight,ls_freight_tele,ls_freight_address
- String ls_cus_address,ls_cus_tele,ls_cus_tele1,ls_cus_fax
- Long ls_cusid,ll_state
- Long ll_scid, ll_moneyid
- Long cnt = 0
- Boolean if_find = False
- Int li_banktypeid
- String ls_rel_rep
-
- dw_uc.AcceptText()
- ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
- //
- long li_option_outrep
- IF sys_power_issuper THEN
- li_option_outrep = 0
- ELSE
- li_option_outrep = sys_option_outrep
- END IF
- SELECT u_cust.cusid,
- u_cust.name,
- u_cust.custype,
- u_cust.cuscode,
- u_cust.freight,
- u_cust.freight_tele,
- u_cust.address,
- u_cust.tele,
- u_cust.tele1,
- u_cust.faxno,
- u_cust.banktypeid,
- u_cust.rep,
- u_cust.state,
- u_cust.freight_address
- INTO :ls_cusid,:ls_name,:ls_custype,:ls_code,
- :ls_freight,:ls_freight_tele,
- :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:li_banktypeid,:ls_rel_rep,:ll_state,
- :ls_freight_address
- FROM u_cust
- Where (cuscode = :ls_code Or Name = :ls_code) and
- ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0')) and
-
- ( :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' )) ;
-
- IF sqlca.SQLCode <> 0 THEN
-
- IF Pos(Trim(ls_code),'%') = 0 THEN
- ls_find_code = '%'+ Trim(ls_code) + '%'
- ELSE
- ls_find_code = Trim(ls_code)
- END IF
-
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code ) and
- ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0')) and
- ( :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' )) ;
- IF sqlca.SQLCode <> 0 THEN
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- END IF
- IF cnt <> 1 THEN
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- ELSE
- SELECT u_cust.cusid,
- u_cust.cuscode,
- u_cust.name,
- u_cust.custype,
- u_cust.freight,
- u_cust.freight_tele,
- u_cust.address,
- u_cust.tele,
- u_cust.tele1,
- u_cust.faxno,
- u_cust.rep,
- u_cust.state,
- u_cust.freight_address
- INTO :ls_cusid,:ls_code,:ls_name,:ls_custype,
- :ls_freight,:ls_freight_tele,
- :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:ls_rel_rep,:ll_state,
- :ls_freight_address
- FROM u_cust
- Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code );
- IF sqlca.SQLCode <> 0 THEN
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- ELSE
- if_find = True
- END IF
- END IF
- ELSE
- if_find = True
- END IF
-
- IF sys_option_cust_audit = 1 then
- IF ll_state <> sys_option_cust_audit then
- MessageBox('提示','该客户不是正式客户,请重新选择!', Information!, OK! )
- Parent.TriggerEvent('ue_f9')
- return 1
- else
- SELECT u_cust.cusid,
- u_cust.name,
- u_cust.custype,
- u_cust.cuscode,
- u_cust.freight,
- u_cust.freight_tele,
- u_cust.address,
- u_cust.tele,
- u_cust.tele1,
- u_cust.faxno,
- u_cust.banktypeid,
- u_cust.rep,
- u_cust.state,
- u_cust.freight_address
- INTO :ls_cusid,:ls_name,:ls_custype,:ls_code,
- :ls_freight,:ls_freight_tele,
- :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:li_banktypeid,:ls_rel_rep,:ll_state,
- :ls_freight_address
- FROM u_cust
- Where (cuscode = :ls_code Or Name = :ls_code);
-
- IF sqlca.SQLCode <> 0 THEN
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- ELSE
- if_find = True
- END IF
- End if
- End if
-
-
- IF if_find THEN
- dw_uc.SetRedraw(False)
- dw_uc.Object.cusid[dw_uc.GetRow()] = ls_cusid
- dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code
- dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_name
- dw_uc.Object.assign_emp[dw_uc.GetRow()] = ls_custype
- dw_uc.Object.u_saletask_freight[dw_uc.GetRow()] = ls_freight
- dw_uc.Object.u_saletask_freight_tele[dw_uc.GetRow()] = ls_freight_tele
-
- dw_uc.Object.u_saletask_freight_address[dw_uc.GetRow()] = ls_freight_address
-
- dw_uc.Object.u_saletask_cus_address[dw_uc.GetRow()] = ls_cus_address
- dw_uc.Object.u_saletask_cus_tele[dw_uc.GetRow()] = ls_cus_tele
- dw_uc.Object.u_saletask_cus_tele1[dw_uc.GetRow()] = ls_cus_tele1
- dw_uc.Object.u_saletask_cus_fax[dw_uc.GetRow()] = ls_cus_fax
- IF li_banktypeid > 0 THEN
- dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()] = li_banktypeid
- END IF
- dw_uc.Object.u_saletask_rel_rep[dw_uc.GetRow()] = ls_rel_rep
- dw_uc.SetRedraw(True)
- dw_uc.SetColumn("u_saletask_cus_address")
-
- RETURN 1
- END IF
- ELSE
- IF Key = KeyEnter! THEN //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- END IF
- END IF
- end event
- event dw_uc::itemchanged;call super::itemchanged;if not dw_edit_mode then return
- dw_uc.accepttext()
- if dw_uc.getrow() <= 0 then return
- if dwo.name = 'u_saletask_moneyid' then
- long ll_moneyid, ll_scid, ll_cusid
- ll_moneyid = dw_uc.object.u_saletask_moneyid[dw_uc.getrow()]
- dw_uc.setredraw(false)
- dw_uc.object.u_saletask_mrate[dw_uc.getrow()]=f_get_mrate(ll_moneyid)
- dw_uc.setredraw(true)
- end if
- if dwo.name = 'u_saletask_rel_rep' then
- if data <> '' then
- string ll_officetel,ll_handtel
- long ls_cusid
-
- ls_cusid = dw_uc.object.cusid[row]
- select officetel,handtel into :ll_officetel,:ll_handtel from u_cust_rep where repname = :data and cusid = :ls_cusid;
- if sqlca.sqlcode = 0 then
- dw_uc.object.u_saletask_cus_tele[row] = ll_officetel
- dw_uc.object.u_saletask_cus_tele1[row] = ll_handtel
- end if
-
- select tele,tele1 into :ll_officetel,:ll_handtel from u_cust where cusid = :ls_cusid and rep = :data;
- if sqlca.sqlcode = 0 then
- dw_uc.object.u_saletask_cus_tele[row] = ll_officetel
- dw_uc.object.u_saletask_cus_tele1[row] = ll_handtel
- end if
- end if
- end if
- end event
- event dw_uc::clicked;call super::clicked;
- IF row <= 0 THEN RETURN
- IF dwo.Name = 'p_dview1' THEN
- Parent.TriggerEvent('ue_add_descp')
- ELSEIF dwo.Name = 'p_dview2' THEN
- Parent.TriggerEvent('ue_add_descp2')
- ELSEIF dwo.Name = 'p_dview3' THEN
- Parent.TriggerEvent('ue_add_descp3')
- ELSEIF dwo.Name = 'p_dview4' THEN
- Parent.TriggerEvent('ue_add_cus_address')
- ELSEIF dwo.Name = 'p_dview5' THEN
- Parent.TriggerEvent('ue_ch_station')
- END IF
- IF Not dw_edit_mode THEN RETURN
- IF dwo.Name = 'p_p' THEN
- Parent.TriggerEvent('ue_f9')
- ELSEIF dwo.Name = 'p_money' THEN
- Parent.TriggerEvent('ue_ch_money')
- ELSEIF dwo.Name = 'p_banktype' THEN
- Parent.TriggerEvent('ue_ch_banktype')
- ELSEIF dwo.Name = 'p_emp' THEN
- Parent.TriggerEvent('ue_ch_outrepdef')
- ELSEIF dwo.Name = 'p_d' Or dwo.Name = 'choicesalehis_t' THEN //引入销售历史
- Parent.TriggerEvent('ue_f6')
- Parent.TriggerEvent('ue_setprice_forformula')
- ELSEIF dwo.Name = 'p_1' Or dwo.Name = 'choicequote_t' THEN //引入报价单
- Parent.TriggerEvent('ue_f15')
- Parent.TriggerEvent('ue_setprice_forformula')
- ELSEIF dwo.Name = 'p_2' Or dwo.Name = 'choicepricelist_t' THEN //引入价格表明细
- Parent.TriggerEvent('ue_f18')
- Parent.TriggerEvent('ue_setprice_forformula')
- ELSEIF dwo.Name = 'p_3' Or dwo.Name = 'choiceware_t' THEN //引入库存
- Parent.TriggerEvent('ue_f7')
- Parent.TriggerEvent('ue_setprice_forformula')
- END IF
- end event
- event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
- IF dwo.Name = 'u_cust_cuscode' OR dwo.Name = 'u_cust_name' THEN
- PARENT.TriggerEvent('ue_f9')
- END IF
- END IF
- end event
- event dw_uc::ue_dwndropdown;call super::ue_dwndropdown;IF Not dw_edit_mode THEN RETURN
- String ls_col_pz,ls_col_mtrlid
- String ls_pz_ch
- String ls_col_value
- Long ll_col_value
- String ls_data_type
- Long ll_row,ll_mtrlid
- ll_row = This.GetRow()
- IF ll_row > 0 THEN
-
- ls_col_pz = This.GetColumnName( )
-
- ls_data_type = dw_child.Describe(ls_col_pz+".ColType")
- IF Left(Lower(ls_data_type),4 ) = "char" THEN
- ls_col_value = This.GetItemString(ll_row,ls_col_pz)
- ELSEIF Left(Lower(ls_data_type),4) = "long" THEN
- ll_col_value = This.GetItemNumber(ll_row,ls_col_pz)
- END IF
-
- if ls_col_pz = 'u_saletask_rel_rep' then
- int rtncode
- string ls_sql
- long ls_cusid
-
- ls_cusid = dw_uc.object.cusid[dw_uc.getrow()]
- DataWindowChild dw_child_dddw
- rtncode = dw_uc.GetChild("u_saletask_rel_rep",dw_child_dddw)
-
- dw_child_dddw.SetTransObject(SQLCA)
- ls_sql = old_rep_select
- ls_sql = ls_sql + " or cusid = "+string(ls_cusid);
-
- dw_child_dddw.SetSQLSelect(ls_sql)
- dw_child_dddw.Retrieve()
- end if
-
- This.SetItem(ll_row,ls_col_pz,ls_pz_ch)
- END IF
- end event
- type gb_2 from w_publ_1ton_share_detail`gb_2 within w_saletask
- end type
- type dw_child from w_publ_1ton_share_detail`dw_child within w_saletask
- integer y = 2292
- integer width = 3570
- integer height = 420
- integer taborder = 160
- string title = "销售订单明细"
- string dataobject = "dw_saletaskmx"
- end type
- event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
- String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode
- Long ls_mtrlid,ls_cusid
- Dec ls_planprice,ls_lmsaleprice,ls_price,ls_rebate
- Long li_statusflag
- Long li_woodcodeflag
- Long li_pcodeflag
- s_mtrldef_array arg_s_mtrldef
- Long child_row
- Long ls_null,ll_moneyid
- SetNull(ls_null)
- String arg_msg = ''
- string ls_woodcode,ls_status,ls_pcode
- string ls_priceformula
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
-
- ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
- IF IsNull(ls_cusid) OR ls_cusid = 0 THEN
- parent.TriggerEvent("ue_f9")
- END IF
- ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
-
-
-
- IF KeyDown(keydownarrow!) THEN
- Long li_row
- IF dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- END IF
- ELSE
- IF KeyDown(keyenter!) THEN
- IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
-
- ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
-
- IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
- PARENT.TriggerEvent('ue_f8')
- RETURN 1
- ELSE
- ls_mtrlid = arg_s_mtrldef.mtrlid[1]
- ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
- ls_mtrlname = arg_s_mtrldef.mtrlname[1]
- ls_unit = arg_s_mtrldef.unit[1]
- ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
- ls_planprice = arg_s_mtrldef.planprice[1]
- ls_lmsaleprice = arg_s_mtrldef.lmsaleprice[1]
- ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
- ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
- li_statusflag = arg_s_mtrldef.statusflag[1]
- li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
- li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
- ls_priceformula = arg_s_mtrldef.priceformula[1]
- END IF
- dw_child.Object.mtrlid[child_row] = ls_mtrlid
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- dw_child.Object.mtrlname[child_row] = ls_mtrlname
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
-
- dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- dw_child.Object.u_saletaskmx_unit[child_row] = ls_unit
- dw_child.Object.u_saletaskmx_rate[child_row] = 1
-
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
-
- dw_child.Object.u_saletaskmx_status[child_row] = arg_s_mtrldef.status[1]
- dw_child.Object.u_saletaskmx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
- dw_child.Object.u_saletaskmx_pcode[child_row] = arg_s_mtrldef.pcode[1]
- dw_child.Object.u_SaleTaskMx_priceformula[child_row] = arg_s_mtrldef.priceformula[1]
-
- dw_child.Object.u_saletaskmx_net_weight[child_row] = arg_s_mtrldef.net_weight[1]
- dw_child.Object.u_saletaskmx_gross_weight[child_row] = arg_s_mtrldef.gross_weight[1]
- dw_child.Object.u_saletaskmx_cubage[child_row] = arg_s_mtrldef.cubage[1]
- dw_child.Object.u_saletaskmx_packqty[child_row] = arg_s_mtrldef.packqty[1]
- dw_child.Object.u_mtrldef_prdpackcode[child_row] = arg_s_mtrldef.prdpackcode[1]
-
-
- IF arg_s_mtrldef.saleunit[1] = 1 THEN
- dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_buy[1]
- dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_buy[1]
- ELSEIF arg_s_mtrldef.saleunit[1] = 2 THEN
- dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_scll[1]
- dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_scll[1]
- ELSEIF arg_s_mtrldef.saleunit[1] = 3 THEN
- dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_sale[1]
- dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_sale[1]
- END IF
-
- parent.triggerevent('ue_allowedit')
-
- // IF sys_option_price_if_status = 0 THEN
- // Decimal ls_1stnewprice,ls_1stzqrate,ls_1strate
- // IF f_getmtrlcusprice(ll_moneyid,ls_mtrlid,ls_cusid,ls_unit,'','','',0,ls_1stnewprice,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
- // dw_child.Object.u_saletaskmx_enprice[child_row] = 0
- // dw_child.Object.u_saletaskmx_rebate[child_row] = 1
- // ELSE
- // dw_child.Object.u_saletaskmx_enprice[child_row] = ls_1stnewprice
- // dw_child.Object.u_saletaskmx_rebate[child_row] = ls_1stzqrate
- // dw_child.Object.u_saletaskmx_rate[child_row] = ls_1strate
- // END IF
- // END IF
-
- wf_get_price(child_row)
-
- IF Key = keyenter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- ELSEIF dw_child.GetColumnName( ) = 'usaleqty' THEN
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- wf_get_price(child_row)
- RETURN 1
- ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- RETURN 1
- ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_status' OR dw_child.GetColumnName( ) = 'u_saletaskmx_woodcode' OR dw_child.GetColumnName( ) = 'u_saletaskmx_pcode' THEN
- Parent.TriggerEvent('ue_setprice_forformula')
- RETURN 1
- ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_priceformula' THEN
- PARENT.TriggerEvent("ue_setprice_forformula_1")
- RETURN 1
- ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_formula' THEN
- PARENT.TriggerEvent("ue_setqty_forformula_1")
- RETURN 1
- ELSE
- IF Key = keyenter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- END IF
- END IF
- END IF
- END IF
- end event
- event dw_child::doubleclicked;string ls_text
- ls_text = ddlb_1.text
- IF dw_edit_mode THEN
- IF dwo.Name = 'u_saletaskmx_addqty' THEN
- PARENT.TriggerEvent('ue_add_addqty')
- ELSEIF dwo.Name = 'u_saletaskmx_outtype' THEN
- PARENT.TriggerEvent('ue_f11')
- ELSEIF dwo.Name = 'u_saletaskmx_unit' THEN
- PARENT.TriggerEvent('ue_f12')
- ELSEIF dwo.Name = 'usaleqty' OR dwo.Name = 'u_saletaskmx_formula' THEN
- PARENT.TriggerEvent('ue_cmpl_qty')
- ELSEIF dwo.Name = 'u_saletaskmx_priceformula' THEN
- PARENT.TriggerEvent('ue_cmpl_price')
- ELSEIF (dwo.name = 'u_saletaskmx_status' or dwo.name = 'u_saletaskmx_woodcode' or dwo.name = 'u_saletaskmx_pcode') and dw_child.object.mtrlid[dw_child.getrow()] > 0 then
- string name
- name =dwo.name
- PARENT.trigger event ue_view_status(row,name)
- ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp')
- RETURN
- ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp2' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp2')
- RETURN
- ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp3' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp3')
- RETURN
- ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp4' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp4')
- RETURN
- ELSE
- // IF cbx_quote.Checked THEN
- // PARENT.TriggerEvent('ue_f15')
- // ELSEIF cbx_list.Checked THEN
- // PARENT.TriggerEvent('ue_f18')
- // ELSE
- // PARENT.TriggerEvent('ue_f8')
- // END IF
- if ls_text = '报价单' then
- PARENT.TriggerEvent('ue_f15')
- elseif ls_text = '价格表' then
- PARENT.TriggerEvent('ue_f18')
- else
- PARENT.TriggerEvent('ue_f8')
- end if
- Parent.TriggerEvent('ue_setprice_forformula')
- Parent.TriggerEvent('ue_setqty_forformula')
-
-
- END IF
- END IF
- end event
- event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
- This.AcceptText()
- //IF sys_option_saletask_plan = 1 AND dwo.Name = 'usaleqty' THEN
- // this.object.u_saletaskmx_orderqty[row] = this.object.usaleqty[row]
- //END IF
- IF dwo.Name = 'usaleqty' And sys_option_price_if_list = 1 and (dw_child.Object.u_saletaskmx_enprice[row]=0 or isnull(dw_child.Object.u_saletaskmx_enprice[row])) THEN //价格表增加数量下限,数量上
- wf_get_price(row)
- END IF
- IF dwo.Name = 'u_saletaskmx_status' OR dwo.Name = 'u_saletaskmx_woodcode' OR dwo.Name = 'u_saletaskmx_pcode' or &
- dwo.Name = 'u_saletaskmx_mxdscrp' OR dwo.Name = 'u_saletaskmx_mxdscrp2' OR dwo.Name = 'u_saletaskmx_mxdscrp3' OR dwo.Name = 'u_saletaskmx_mxdscrp4' THEN
- Parent.TriggerEvent('ue_setprice_forformula')
- Parent.TriggerEvent('ue_setqty_forformula')
- END IF
- IF dwo.Name = 'usaleqty' Or dwo.Name = 'enamt' Or dwo.Name = 'u_saletaskmx_enprice' Or dwo.Name = 'u_saletaskmx_rebate' or dwo.Name = 'u_saletaskmx_enprice_notax' or dwo.name = 'u_saletaskmx_tax' THEN
- wf_cmpl_amt(row)
- ELSEIF dwo.Name = 'u_saletaskmx_status' Or dwo.Name = 'u_saletaskmx_woodcode' Or dwo.Name = 'u_saletaskmx_pcode' THEN
- IF row > 0 THEN
- IF Object.u_mtrldef_statusflag[row] = 2 THEN
- wf_get_price(row)
- END IF
- END IF
- END IF
- end event
- event dw_child::ue_dwndropdown;IF Not dw_edit_mode THEN RETURN
- String ls_col_pz,ls_col_mtrlid
- String ls_pz_ch
- String ls_col_value
- String ls_data_type
- Long ll_row,ll_mtrlid
- s_pzwin_open arg_s_win
- ll_row = This.GetRow()
- IF ll_row > 0 THEN
- ls_col_mtrlid = This.Describe("#1.Name")
-
- IF Not Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
-
- ll_mtrlid = This.GetItemNumber(ll_row,ls_col_mtrlid)
-
- ls_col_pz = This.GetColumnName( )
-
- ls_data_type = dw_child.Describe(ls_col_pz+".ColType")
- IF Pos(Lower(ls_data_type),"char") > 0 THEN
- ls_col_value = This.GetItemString(ll_row,ls_col_pz)
- END IF
-
- arg_s_win.arg_x = This.X + This.PointerX() + Parent.X
- arg_s_win.arg_y = This.Y + This.PointerY() + Parent.Y
-
- arg_s_win.arg_col = ls_col_pz
- arg_s_win.arg_mtrlid = ll_mtrlid
- arg_s_win.arg_col_value = ls_col_value
-
- ls_pz_ch = f_mtrl_pz(arg_s_win)
-
- IF isnull(ls_pz_ch) THEN RETURN
-
- This.SetItem(ll_row,ls_col_pz,ls_pz_ch)
-
- IF ls_col_pz = 'u_saletaskmx_status' Or ls_col_pz = 'u_saletaskmx_woodcode' Or ls_col_pz = 'u_saletaskmx_pcode' THEN
- IF ll_row > 0 THEN
- IF This.Object.u_mtrldef_statusflag[ll_row] = 2 THEN
- wf_get_price(ll_row)
- END IF
- END IF
- END IF
- END IF
- end event
- event dw_child::editchanged;call super::editchanged;////messagebox("",sys_option_saletask_plan)
- //IF sys_option_saletask_plan <> 1 THEN RETURN
- //IF This.GetColumnName() = 'enamt' THEN RETURN
- //IF DATA= '' THEN RETURN
- //this.accepttext()
- ////IF DATA= '' THEN RETURN
- //IF dwo.Name = 'usaleqty' then
- // this.object.u_saletaskmx_orderqty[row] = this.object.usaleqty[row]
- //end if
- //this.accepttext()
- //IF sys_option_saletask_plan = 1 AND dwo.Name = 'usaleqty' THEN
- // IF DATA= '' THEN RETURN
- // this.object.u_saletaskmx_orderqty[row] = this.object.usaleqty[row]
- //END IF
- end event
- event dw_child::rowfocuschanged;call super::rowfocuschanged;Parent.TriggerEvent('ue_retrieve_his_pricemx')
- end event
- type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_saletask
- integer x = 1915
- integer taborder = 40
- end type
- type cb_print from w_publ_1ton_share_detail`cb_print within w_saletask
- integer x = 1723
- integer taborder = 150
- end type
- type cb_add from w_publ_1ton_share_detail`cb_add within w_saletask
- integer x = 297
- integer taborder = 140
- end type
- event cb_add::clicked;IF Not f_power_ind(5) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row,pagerert_row,i
- Long relid_pageretr,reld_uc
- Int rslt_chk
- Long ll_scid
- s_saletaskmx s_mx
- s_saletask_itemmx s_item //费用项目
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
- dw_child.AcceptText()
- dw_fymx.AcceptText()
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
-
- IF dw_uc.Object.u_saletask_moneyid[uc_row] = 0 THEN
- MessageBox('提示','请选择币种!',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_saletask_moneyid")
- RETURN
- END IF
-
- IF dw_uc.Object.u_saletask_banktypeid[uc_row] = 0 THEN
- MessageBox('提示','请选择结算方式!',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_saletask_banktypeid")
- RETURN
- END IF
-
- IF sys_option_saletask_requireday_mode = 0 THEN
- FOR i = 1 To dw_child.RowCount()
- dw_child.Object.u_saletaskmx_requiredate[i] = dw_uc.Object.requiredate[uc_row]
- NEXT
- ELSE
- DateTime MAX_RQ
- MAX_RQ = DateTime(dw_child.Object.u_saletaskmx_requiredate[1])
- FOR i = 1 To dw_child.RowCount()
- IF DateTime(dw_child.Object.u_saletaskmx_requiredate[i]) <= DateTime('1900-01-01') Or IsNull(dw_child.Object.u_saletaskmx_requiredate[i]) THEN
- MessageBox("提示","系统选项设定交期方式为明细录入,明细交货日期不能为空")
- RETURN
- END IF
- IF MAX_RQ < DateTime(dw_child.Object.u_saletaskmx_requiredate[i]) THEN
- MAX_RQ = DateTime(dw_child.Object.u_saletaskmx_requiredate[i])
- END IF
- NEXT
- dw_uc.Object.requiredate[uc_row] = MAX_RQ
- END IF
-
- IF Year(Date(dw_uc.Object.requiredate[uc_row])) < 2000 THEN
- MessageBox('提示','要求完成日期为空或不合理!',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("requiredate")
- RETURN
- END IF
-
-
- IF Date(dw_uc.Object.requiredate[uc_row]) < Date(dw_uc.Object.u_saletask_taskdate[uc_row]) THEN
- MessageBox('提示','交货日期小于订货日期!',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("requiredate")
- RETURN
- END IF
-
- IF Not Len(String(dw_uc.Object.assign_emp[uc_row])) > 0 THEN
- MessageBox('提示','请选择业务员!',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("assign_emp")
- RETURN
- END IF
-
- rslt_chk = wf_check_relcode( dw_uc.Object.u_saletask_scid[uc_row], dw_uc.Object.taskid[uc_row], dw_uc.Object.u_saletask_relcode[uc_row],arg_msg)
-
- IF rslt_chk = 0 Or rslt_chk = 2 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- ELSEIF rslt_chk = 3 THEN
- IF MessageBox('询问',arg_msg,question!,yesno!) = 2 THEN RETURN
- END IF
-
-
- if cbx_auto_qty.Checked then
- IF wf_formualprice_auto(arg_msg) =0 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- END IF
- IF wf_formualqty_auto(arg_msg) =0 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- END IF
- end if
-
- //检查配置有没有填写
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.mtrlid[i] > 0 THEN
- IF wf_check_pz(dw_child.Object.mtrlid[i],dw_child.Object.u_mtrldef_mtrlcode[i],dw_child.Object.u_saletaskmx_status[i],dw_child.Object.u_saletaskmx_woodcode[i],dw_child.Object.u_saletaskmx_pcode[i],arg_msg) = 0 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- END IF
- END IF
- NEXT
-
- IF Not sys_power_issuper And f_power_ind(977) THEN
- arg_msg = ''
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_saletaskmx_outtype[i] > 0 And sys_option_saletask_price = 1 THEN
-
- ELSE
- IF dw_child.Object.u_saletaskmx_enprice[i] = 0 THEN
- arg_msg = arg_msg + '第' + String(i) + '行,产品:' + dw_child.Object.u_mtrldef_mtrlcode[i] + ',单价为零!~n '
- END IF
- END IF
- NEXT
-
- IF arg_msg <> '' THEN
- MessageBox('提示',arg_msg + '用户权限限制,不能保存!',information!,OK!)
- RETURN
- END IF
- END IF
-
- // IF cbx_sc.Checked THEN
- // FOR i = 1 TO dw_child.RowCount()
- // dw_child.Object.u_saletaskmx_orderqty[i] = dw_child.Object.usaleqty[i]
- // NEXT
- // END IF
-
-
-
- IF Not sys_power_issuper And f_power_ind(2059) THEN //价格不能低于客户价格表价格
- long ll_cusid,ll_mtrlid
- longlong ll_price
- arg_msg = ''
-
- FOR i = 1 To dw_child.RowCount()
- ll_cusid=dw_uc.Object.cusid[uc_row]
- ll_mtrlid=dw_child.Object.mtrlid[i]
- select u_sale_price_mx.price into :ll_price from u_cust left join u_sale_price_list
- on u_cust.pricelistid=u_sale_price_list.pricelistid left join u_sale_price_mx
- on u_sale_price_list.pricelistid=u_sale_price_mx.pricelistid left join u_mtrldef
- on u_sale_price_mx.mtrlid=u_mtrldef.mtrlid
- where u_sale_price_list.flag=1 and u_mtrldef.mtrlid=:ll_mtrlid and u_cust.cusid=:ll_cusid;
- IF IsNull(ll_price) THEN ll_price = 0
- IF dw_child.Object.u_saletaskmx_enprice[i] < ll_price and ll_price>0 THEN
- arg_msg = arg_msg + '第' + String(i) + '行,产品:' + dw_child.Object.u_mtrldef_mtrlcode[i] + ',单价低于客户价格表单价!~n '
- end if
- NEXT
-
- IF arg_msg <> '' THEN
- MessageBox('提示',arg_msg + '用户权限限制,不能保存!',information!,OK!)
- RETURN
- END IF
- END IF
-
-
-
-
- // 自动按数量和单价公式计算数量和单价
-
- if cbx_auto_qty.checked = true then
- Parent.TriggerEvent('ue_setprice_forformula')
- Parent.TriggerEvent('ue_setqty_forformula')
- for i = 1 to dw_child.rowcount()
- wf_cmpl_amt(i)
- next
-
- end if
- dw_child.accepttext()
-
- //检查明细 数量=0 的行
- string ls_msg = ''
- for i = 1 to dw_child.rowcount()
- if dw_child.object.usaleqty[i] = 0 or isnull(dw_child.object.usaleqty[i] ) then
-
- if ls_msg <> '' then
- ls_msg = ls_msg + '第' + string(i) + '行,数量为0' + '~r~n'
- else
- ls_msg = '第' + string(i) + '行,数量为0' + '~r~n'
- end if
-
-
- end if
- next
-
- if ls_msg <> '' then
- IF MessageBox ("询问",ls_msg + '~r~n' + "是否确定要继续吗,继续会删除数量为0的行。",Question!,YesNo! ) = 2 THEN RETURN
- end if
-
-
-
- //
-
-
-
-
-
-
- //由金额计算折扣
- IF cbx_zk.Checked THEN
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.enamt[i] <> 0 THEN
- IF dw_child.Object.u_saletaskmx_enprice[i] > 0 THEN
- ELSE
- MessageBox('提示','第' + String(i) + '行请输入单价')
- RETURN
- END IF
- IF dw_child.Object.u_saletaskmx_enprice[i] <> 0 And dw_child.Object.usaleqty[i] <> 0 THEN
- dw_child.Object.u_saletaskmx_rebate[i] = dw_child.Object.enamt[i] / dw_child.Object.u_saletaskmx_enprice[i] / dw_child.Object.usaleqty[i]
- END IF
- END IF
- NEXT
- END IF
-
- //信用额 288
- IF sys_option_cusrepamt_saletask_limit = 1 THEN
-
- wf_getcusrepamt_info(dw_uc.Object.u_saletask_scid[uc_row],dw_uc.Object.cusid[uc_row], dw_uc.Object.u_saletask_moneyid[uc_row] )
-
- IF cur_cusrepamtflag = -1 THEN
- MessageBox('系统提示','系统选项288限制~r~n' + cur_cusrepamtstr)
- RETURN 0
- END IF
- END IF
-
-
-
-
- //20200619 取消限制,改成界面检测
- //保存前根据物料资料定义,检查数量和辅数的关系是否正确,如果辅数有填写 ,数量没有填写 ,会根据物料资料里的定义自动计算出数量
- // IF wf_check_qtyandaddqty(arg_msg) = 0 THEN
- // MessageBox('提示',arg_msg + ',不能保存!',information!,OK!)
- // RETURN
- // END IF
-
- //系统选项280 设置单价小数位数
- wf_set_decimal_place()
-
- ll_scid = dw_uc.Object.u_saletask_scid[uc_row]
-
- obj_saletask.requiredate = dw_uc.Object.requiredate[uc_row]
- obj_saletask.assign_emp = dw_uc.Object.assign_emp[uc_row]
- obj_saletask.Kind = dw_uc.Object.Kind[uc_row]
- obj_saletask.cusid = dw_uc.Object.cusid[uc_row]
- obj_saletask.dscrp = dw_uc.Object.dscrp[uc_row]
- obj_saletask.dscrp2 = dw_uc.Object.u_saletask_dscrp2[uc_row]
- obj_saletask.taskdate = dw_uc.Object.u_saletask_taskdate[uc_row]
- obj_saletask.banktypeid = dw_uc.Object.u_saletask_banktypeid[uc_row]
- obj_saletask.moneyid = dw_uc.Object.u_saletask_moneyid[uc_row]
- obj_saletask.damt = dw_uc.Object.u_saletask_damt[uc_row]
- obj_saletask.otheramt = dw_uc.Object.u_saletask_otheramt[uc_row]
- obj_saletask.relcode = dw_uc.Object.u_saletask_relcode[uc_row]
- obj_saletask.paytype = dw_uc.Object.u_saletask_paytype[uc_row]
- obj_saletask.transcode = dw_uc.Object.u_saletask_transcode[uc_row]
- obj_saletask.carcode = dw_uc.Object.u_saletask_carcode[uc_row]
- obj_saletask.freight = dw_uc.Object.u_saletask_freight[uc_row]
- obj_saletask.freight_tele = dw_uc.Object.u_saletask_freight_tele[uc_row]
- obj_saletask.cus_address = dw_uc.Object.u_saletask_cus_address[uc_row]
- obj_saletask.cus_tele = dw_uc.Object.u_saletask_cus_tele[uc_row]
- obj_saletask.cus_tele1 = dw_uc.Object.u_saletask_cus_tele1[uc_row]
- obj_saletask.cus_fax = dw_uc.Object.u_saletask_cus_fax[uc_row]
- obj_saletask.mrate = dw_uc.Object.u_saletask_mrate[uc_row]
- obj_saletask.dscrp3 = dw_uc.Object.u_saletask_dscrp3[uc_row]
- obj_saletask.rel_rep = dw_uc.Object.u_saletask_rel_rep[uc_row]
- obj_saletask.freight_address = dw_uc.Object.u_saletask_freight_address[uc_row]
-
-
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.mtrlid[i] > 0 THEN
- s_mx.mtrlid = dw_child.Object.mtrlid[i]
- s_mx.usaleqty = dw_child.Object.usaleqty[i]
- s_mx.orderqty = dw_child.Object.u_saletaskmx_orderqty[i]
- s_mx.needbuyqty = dw_child.Object.u_saletaskmx_needbuyqty[i]
- s_mx.enprice = dw_child.Object.u_saletaskmx_enprice[i]
- s_mx.rebate = dw_child.Object.u_saletaskmx_rebate[i]
- s_mx.planprice = dw_child.Object.plprice[i]
- s_mx.dscrp = dw_child.Object.u_saletaskmx_mxdscrp[i]
- s_mx.mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
- s_mx.status = dw_child.Object.u_saletaskmx_status[i]
- s_mx.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
- s_mx.pcode = dw_child.Object.u_saletaskmx_pcode[i]
- s_mx.mtrlcuscode = dw_child.Object.u_saletaskmx_mtrlcuscode[i]
- s_mx.printid = dw_child.Object.pid[i]
- s_mx.outtype = dw_child.Object.u_saletaskmx_outtype[i]
- s_mx.unit = dw_child.Object.u_saletaskmx_unit[i]
- s_mx.rate = dw_child.Object.u_saletaskmx_rate[i]
- s_mx.formula = dw_child.Object.u_saletaskmx_formula[i]
- s_mx.addqty = dw_child.Object.u_saletaskmx_addqty[i]
- s_mx.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[i]
- s_mx.needwfjgqty = dw_child.Object.u_saletaskmx_needwfjgqty[i]
- s_mx.plancode = dw_child.Object.u_saletaskmx_plancode[i] //由系统选项236直接控制
- s_mx.tax = dw_child.Object.u_saletaskmx_tax[i]
- s_mx.packqty = dw_child.Object.u_saletaskmx_packqty[i]
-
- s_mx.net_weight = dw_child.Object.u_saletaskmx_net_weight[i]
- s_mx.gross_weight = dw_child.Object.u_saletaskmx_gross_weight[i]
- s_mx.cubage = dw_child.Object.u_saletaskmx_cubage[i]
-
- s_mx.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[i]
- s_mx.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[i]
-
- s_mx.requiredate = DateTime(dw_child.Object.u_saletaskmx_requiredate[i])
-
- s_mx.priceformula = dw_child.Object.u_saletaskmx_priceformula[i]
- s_mx.enprice_notax = dw_child.Object.u_saletaskmx_enprice_notax[i]
- s_mx.enamt_tax = dw_child.Object.u_saletaskmx_enamt_tax[i]
- s_mx.otherprice = dw_child.Object.u_saletaskmx_otherprice[i]
-
- IF obj_saletask.acceptmx(s_mx, arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- END IF
- NEXT
-
-
- FOR i = 1 To dw_fymx.RowCount()
- IF dw_fymx.Object.u_saletask_itemmx_itemid[i] > 0 THEN
- s_item.printid = i
-
- s_item.itemid = dw_fymx.Object.u_saletask_itemmx_itemid[i]
- s_item.amt = dw_fymx.Object.u_saletask_itemmx_amt[i]
- s_item.amtyfh = dw_fymx.Object.u_saletask_itemmx_amtyfh[i]
- s_item.mxdscrp = dw_fymx.Object.u_saletask_itemmx_mxdscrp[i]
- s_item.itype = dw_fymx.Object.u_saletask_itemmx_itype[i]
-
- IF obj_saletask.acceptmx_item(s_item, arg_msg) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
- END IF
- NEXT
- IF obj_saletask.savesubmit(publ_operator,arg_msg,False) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
-
- IF obj_saletask.save_end(arg_msg,True) = 0 THEN //保存费用项目
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
-
-
- // messagebox(publ_operator,'保存操作成功!')
- //write ini
- f_SetProfileString (sys_empid,publ_userid + '_' + dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]))
- f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()]))
-
- //
- Long ll_row
- ll_row = dw_pageretr.GetRow()
- dw_pageretr.SelectRow(0,False)
- dw_pageretr.SelectRow(ll_row,True)
- wf_refresh_curuc(ll_scid,obj_saletask.taskid) //刷新uc
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (102, 2, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- ELSE
-
- IF obj_saletask.newbegin(cur_scid,arg_msg) = 0 THEN //生产令领料
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- END IF
- CALL Super::Clicked
- IF dw_edit_mode THEN
- dw_fymx.Reset()
- dw_fymx.InsertRow(0)
- Parent.TriggerEvent("insert_childrow")
- String ls_moneyid,ls_banktype
-
- ls_moneyid = f_ProfileString (sys_empid,publ_userid + '_' + dw_uc.DataObject, "moneyid",'0')
- ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
- dw_uc.SetRedraw(False)
- dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()] = Long(ls_moneyid)
- dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
- dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()] = Long(ls_banktype)
- dw_uc.Object.u_saletask_scid[dw_uc.GetRow()] = cur_scid
- dw_uc.Object.requiredate[dw_uc.GetRow()] = RelativeDate(Today(),sys_option_saletask_days)
- dw_uc.SetColumn("u_saletask_moneyid")
- dw_uc.SetRedraw(True)
- ELSE
- Parent.TriggerEvent("retrieve_childdw")
- END IF
- end event
- type cb_edit from w_publ_1ton_share_detail`cb_edit within w_saletask
- integer taborder = 110
- end type
- event cb_edit::clicked;IF NOT f_power_ind(5) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row
- IF NOT dw_edit_mode THEN
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF obj_saletask.updatebegin(dw_pageretr.Object.u_saletask_scid[uc_row],dw_pageretr.Object.taskid[uc_row],arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- PARENT.TriggerEvent('ue_allowedit')
- END IF
- CALL SUPER::Clicked
- end event
- type cb_delet from w_publ_1ton_share_detail`cb_delet within w_saletask
- integer taborder = 170
- end type
- event cb_delet::clicked;call super::clicked;if not f_power_ind(579) then
- messagebox('提示',sys_msg_pow,information!,OK!)
- return
- end if
- if dw_edit_mode then return
- string arg_msg=''
- long uc_row
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then
- messagebox('提示','请选定当前目标订单!',information!,OK!)
- return
- end if
- IF MessageBox ("询问","是否确定要删除当前吗",Question!,YesNo! ) = 2 THEN RETURN
- if obj_saletask.cancel(dw_pageretr.Object.u_saletask_scid[uc_row],dw_pageretr.object.taskid[uc_row],arg_msg,true)=0 then
- messagebox('错误',arg_msg,stopsign!,OK!)
- ELSE
- //日志
- long ls_id
- string ls_code
- ls_id=dw_pageretr.object.taskid[uc_row]
- ls_code=dw_pageretr.object.taskCODE[uc_row]
- f_setsysoplog('销售订单','删除,ID:'+string(LS_id)+',code:'+ls_code,arg_msg,true)
- //--
- MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.taskCODE[uc_row])+'成功!',information!,OK!)
-
- dw_pageretr.deleterow(uc_row)
- dw_pageretr.postevent(rowfocuschanged!)
- end if
- end event
- type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_saletask
- integer x = 1221
- end type
- event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- IF Not dw_edit_mode THEN
- menustr += "|" + "Text=复制单据~tEvent=ue_bill_copy"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=增加备注~tEvent=ue_addzy"
- menustr += "|" + "Text=修改相关号~tEvent=ue_update_relcode"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=确认~tEvent=ue_priceaudit"
- menustr += "|" + "Text=反确认~tEvent=ue_cpriceaudit"
- menustr += "|" + "Text=-"
- IF sys_option_saletask_secaudit = 0 THEN
- menustr += "|" + "Text=批审核订单~tEvent=ue_paudit_task"
- menustr += "|" + "Text=批撤审订单~tEvent=ue_paudit_task_cancel"
- ELSE
- menustr += "|" + "Text=批审核订单~tEvent=ue_paudit1_task"
- menustr += "|" + "Text=批撤审订单~tEvent=ue_paudit1_task_cancel"
- menustr += "|" + "Text=批二审订单~tEvent=ue_paudit2_task"
- menustr += "|" + "Text=批二审撤审订单~tEvent=ue_paudit2_task_cancel"
- END IF
-
-
-
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=暂停订单~tEvent=ue_tempstoptask"
- menustr += "|" + "Text=取消暂停~tEvent=ue_ctempstoptask"
- menustr += "|" + "Text=终止订单~tEvent=ue_stopsaletask"
- menustr += "|" + "Text=取消终止~tEvent=ue_stopsaletask_cancel"
- menustr += "|" + "Text=完成订单~tEvent=ue_finishtask"
- menustr += "|" + "Text=取消完成~tEvent=ue_finishtask_cancel"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=查看附件~tEvent=ue_fj_view"
- menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit"
- menustr += "|" + "Text=刷新列表附件数~tEvent=retrieve_fjnum"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=按订单价格更新价格表~tEvent=ue_pricelist_update"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=辅助建立销售发货单~tEvent=ue_create_outware_sale"
- menustr += "|" + "Text=辅助建立客户投诉单~tEvent=ue_create_oppose_cust"
- menustr += "|" + "Text=辅助建立客户费用单~tEvent=ue_create_reissue"
- menustr += "|" + "Text=辅助建立订单收款单~tEvent=ue_create_taskdamt"
- menustr += "|" + "Text=辅助建立采购订单~tEvent=ue_create_buytask"
- menustr += "|" + "Text=辅助建立生产进仓单~tEvent=ue_create_inware_cp"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=辅助生成采购订单~tEvent=ue_create_buytask_auto"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=界面属性选项设置方案~tEvent=ue_saletask_choose"
- ELSE
- menustr += "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=缓存单据~tEvent=ue_billcache_export"
- menustr += "|" + "Text=导入缓存单据~tEvent=ue_billcache_import"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=导入单价~tEvent=ue_importseleprice"
- menustr += "|" + "Text=补充导入单价~tEvent=ue_importseleprice_buchong"
-
- menustr += "|" + "Text=导入客户单价~tEvent=ue_importcusseleprice"
- IF sys_option_price_if_list = 0 THEN //取销售历史, 1时只能取价格表
- menustr += "|" + "Text=导入客户历史售价~tEvent=ue_importcusseleprice_his"
- END IF
- menustr += "|" + "Text=计算优惠款~tEvent=ue_cmpl_otheramt"
- END IF
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- END IF
- end event
- type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_saletask
- integer taborder = 190
- end type
- event cb_auditing::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
- String arg_msg = '', ls_msg
- Long pagerert_row
- Long ll_scid, ll_taskid
- Int li_status
- String ls_taskcode
- Boolean lb_audit = False, lb_secaudit = False, lb_commit = False
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
- ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
- li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
- IF MessageBox ("询问","是否确定要对当前订单审核?",Question!,YesNo! ) = 2 THEN RETURN
- //信用额 288
- IF sys_option_cusrepamt_saletask_limit = 3 And li_status = 0 THEN
-
- wf_getcusrepamt_info(ll_scid,dw_pageretr.Object.u_saletask_cusid[pagerert_row], dw_pageretr.Object.u_saletask_moneyid[pagerert_row] )
-
- IF cur_cusrepamtflag = -1 THEN
- MessageBox('系统提示','系统选项288限制~r~n'+cur_cusrepamtstr)
- RETURN 0
- END IF
- END IF
- IF li_status = 0 THEN
- ls_msg = "审核"
- IF sys_option_saletask_secaudit = 0 THEN
- IF Not f_power_ind(6) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- lb_commit = False
- ELSE
- IF Not f_power_ind(1729) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- lb_commit = True
- END IF
- lb_audit = True
-
- /*MEI:自动生成领料单 20160511*/
- IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
-
-
- IF obj_saletask.audit(ll_scid,ll_taskid,publ_operator,arg_msg,lb_commit) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF sys_option_saletask_secaudit = 0 THEN
- lb_secaudit = True
- IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- END IF
- ELSEIF li_status = 4 THEN
- IF Not f_power_ind(6) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ls_msg = "二审"
- lb_secaudit = True
- IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- END IF
- MessageBox('提示','销售订单'+ls_msg+'成功!',information!,OK!)
- ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
- IF lb_audit THEN
- IF f_billevent_trigger (102, 3, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- END IF
- IF lb_secaudit THEN
- IF f_billevent_trigger (102, 4, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- END IF
- IF cur_status <> -1 THEN
- dw_uc.DeleteRow(pagerert_row)
- ELSE
- wf_refresh_curuc(ll_scid,ll_taskid)
- END IF
- end event
- type cb_xm from w_publ_1ton_share_detail`cb_xm within w_saletask
- integer x = 1472
- integer taborder = 70
- end type
- event cb_xm::clicked;is_mx_menustr = ''
- IF dw_edit_mode THEN
- is_mx_menustr += "|" + "Text=批设定数量~tEvent=ue_p_saleqty"
- is_mx_menustr += "|" + "Text=批设定折扣~tEvent=ue_p_rebate"
- is_mx_menustr += "|" + "Text=批设定"+sys_option_change_status+"~tEvent=ue_p_status"
- is_mx_menustr += "|" + "Text=批设定"+sys_option_change_woodcode+"~tEvent=ue_p_woodcode"
- is_mx_menustr += "|" + "Text=批设定"+sys_option_change_pcode+"~tEvent=ue_p_pcode"
- is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax"
- is_mx_menustr += "|" + "Text=批设定税率~tEvent=ue_p_tax"
- is_mx_menustr += "|" + "Text=批设定数量公式~tEvent=ue_p_formula_set"
- is_mx_menustr += "|" + "Text=批设定单价公式~tEvent=ue_p_priceformula_set"
-
- is_mx_menustr += "|" + "Text=批按数量公式计算数量~tEvent=ue_p_cmpl_qty"
- is_mx_menustr += "|" + "Text=批按单价公式计算单价~tEvent=ue_p_cmpl_price"
- is_mx_menustr += "|" + "Text=批按辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
- is_mx_menustr += "|" + "Text=-"
- is_mx_menustr += "|" + "Text=批按订单数量计算需排产数~tEvent=ue_copy_qty"
- is_mx_menustr += "|" + "Text=批按订单数量计算需订购数~tEvent=ue_copy_needqty"
- is_mx_menustr += "|" + "Text=-"
- is_mx_menustr += "|" + "Text=明细标题与execl标题对应关系设置~tEvent=ue_set_dytitle"
- is_mx_menustr += "|" + "Text=从execl导入到订单明细~tEvent=ue_insert_execltodw"
- ELSE
-
- is_mx_menustr += "|" + "Text=修改明细终止数~tEvent=ue_stopqty"
- is_mx_menustr += "|" + "Text=-"
- is_mx_menustr += "|" + "Text=修改明细单价~tEvent=ue_mod_enprice"
- is_mx_menustr += "|" + "Text=-"
- is_mx_menustr += "|" + "Text=计算明细库存数量和不足数量~tEvent=ue_mx_cmplnoallocqty"
- IF sys_option_saletask_requireday_mode = 1 THEN
- is_mx_menustr += "|" + "Text=修改明细交货日期~tEvent=ue_mx_requiredate"
- END IF
- is_mx_menustr += "|" + "Text=查看销售历史价格~tEvent=ue_show_his_pricemx"
- is_mx_menustr += "|" + "Text=辅助建立销售订单明细变更单~tEvent=ue_mx_alter"
- END IF
- CALL Super::Clicked
- end event
- type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_saletask
- integer taborder = 130
- end type
- type cb_xls from w_publ_1ton_share_detail`cb_xls within w_saletask
- integer x = 2107
- end type
- type cb_help from w_publ_1ton_share_detail`cb_help within w_saletask
- integer x = 2409
- integer taborder = 100
- boolean enabled = true
- end type
- event cb_help::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=查看相关费用单~tEvent=ue_view_reissue"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- END IF
- end event
- type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_saletask
- integer width = 192
- end type
- event cb_auditing_cancel::clicked;call super::clicked;
- IF dw_edit_mode THEN RETURN
- String arg_msg = '', ls_msg
- Long pagerert_row
- Long ll_scid, ll_taskid
- Int li_status
- Boolean lb_secaudit = False, lb_commit = False
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标订单!',information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
- ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
- li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
- IF MessageBox ("询问","是否确定要对当前订单取消审核?",Question!,YesNo! ) = 2 THEN RETURN
- IF li_status = 1 THEN
- IF Not f_power_ind(8) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- IF sys_option_saletask_secaudit = 0 THEN
- lb_commit = False
- ls_msg = "撤审"
- ELSE
- lb_commit = True
- ls_msg = "二撤"
- END IF
-
- /*MEI:自动生成领料单撤审 20160511*/
- IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,ok!)
- RETURN
- END IF
-
-
- IF obj_saletask.cancelpermit(ll_scid,ll_taskid,arg_msg,lb_commit) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF sys_option_saletask_secaudit = 0 THEN
- IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- END IF
- ELSEIF li_status = 4 THEN
- IF Not f_power_ind(1730) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ls_msg = "撤审"
- IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- END IF
- MessageBox('提示','销售订单'+ls_msg+'成功!',information!,OK!)
- //日志
- String ls_code,ls_opemp,ls_relcode
- ls_code = dw_pageretr.Object.taskcode[pagerert_row]
- ls_opemp = dw_pageretr.Object.u_saletask_opemp[pagerert_row]
- ls_relcode = dw_pageretr.Object.u_saletask_relcode[pagerert_row]
- f_setsysoplog('销售订单',ls_msg+',code:'+ls_code+',相关号码:'+ls_relcode+',建立人:'+ls_opemp,arg_msg,True)
- //--
- IF cur_status <> -1 THEN
- dw_uc.DeleteRow(pagerert_row)
- ELSE
- wf_refresh_curuc(ll_scid,ll_taskid)
- END IF
- end event
- type p_msg from w_publ_1ton_share_detail`p_msg within w_saletask
- integer x = 5298
- integer y = 204
- end type
- type p_help from w_publ_1ton_share_detail`p_help within w_saletask
- integer x = 5486
- integer y = 204
- end type
- type p_encl from w_publ_1ton_share_detail`p_encl within w_saletask
- integer x = 5390
- integer y = 204
- end type
- event p_encl::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=添加附件~tEvent=ue_fj_edit"
- menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=添加明细附件~tEvent=ue_fj_edit_mx"
- menustr = menustr + "|" + "Text=查看明细附件~tEvent=ue_fj_view_mx"
- menustr = menustr + "|" + "Text=产品附件另存为明细附件~tEvent=ue_fj_mx_add_p"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=打开副本~tEvent=ue_copyself"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- END IF
- end event
- type p_other from w_publ_1ton_share_detail`p_other within w_saletask
- integer x = 5582
- integer y = 204
- boolean originalsize = false
- end type
- event p_other::clicked;if sys_option_if_ljfieb = 0 then return
- m_Dfc_Control_PopupMenu dmPopupMenu
- string menustr
- menustr="Text=订单交期确认~tEvent=ue_redate_ljfieb"
- menustr=menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=查看电子商务记录~tEvent=ue_jdview_ljfieb"
- menustr=menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=发送订单进度~tEvent=ue_send_jd_ljfieb"
-
- if len(trim(menustr))<>0 then
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- end if
- end event
- type gb_3 from w_publ_1ton_share_detail`gb_3 within w_saletask
- end type
- type ln_bar from w_publ_1ton_share_detail`ln_bar within w_saletask
- end type
- type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_saletask
- end type
- type r_bar from w_publ_1ton_share_detail`r_bar within w_saletask
- integer height = 172
- end type
- type ln_1 from w_publ_1ton_share_detail`ln_1 within w_saletask
- integer beginy = 300
- integer endx = 3227
- integer endy = 300
- end type
- type ln_2 from w_publ_1ton_share_detail`ln_2 within w_saletask
- integer beginy = 304
- integer endx = 3227
- integer endy = 304
- end type
- type ddlb_scid from uo_ddlb_scid within w_saletask
- integer x = 919
- integer y = 196
- integer width = 549
- integer height = 620
- integer taborder = 50
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_scid=this.uo_scid
- cur_scid_arr = THIS.uo_scid_arr
- end event
- event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
- cur_scid_arr = THIS.uo_scid_arr
- parent.triggerevent("retrieve_pageretr")
- end event
- type st_2 from statictext within w_saletask
- integer x = 741
- integer y = 208
- integer width = 178
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "分 部"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type st_3 from statictext within w_saletask
- integer x = 1477
- integer y = 208
- integer width = 178
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "状 态"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type cbx_quote from checkbox within w_saletask
- boolean visible = false
- integer x = 2030
- integer y = 176
- integer width = 603
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "双击明细选择报价单"
- end type
- event clicked;int li_quote
- if this.checked then
- li_quote = 1
- cbx_list.Checked = FALSE
- else
- li_quote = 0
- end if
- f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", string(li_quote))
- end event
- event constructor;Int li_quote
- li_quote = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", '0'))
- IF li_quote = 0 THEN
- THIS.Checked = FALSE
- ELSE
- THIS.Checked = TRUE
- cbx_list.Checked = FALSE
- END IF
- end event
- type cbx_sc from checkbox within w_saletask
- boolean visible = false
- integer x = 3223
- integer y = 76
- integer width = 411
- integer height = 84
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 67108864
- string text = "保存默认排产"
- end type
- event clicked;int li_sc
- if this.checked then
- li_sc = 1
- else
- li_sc = 0
- end if
- f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_sc", string(li_sc))
- end event
- event constructor;this.backcolor = 14215660
- int li_sc
- li_sc=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "li_sc", '0'))
- if li_sc =0 then
- this.checked=false
- else
- this.checked=true
- end if
- end event
- type cbx_list from checkbox within w_saletask
- boolean visible = false
- integer x = 2030
- integer y = 236
- integer width = 603
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "双击明细选择价格表"
- end type
- event clicked;int li_list
- if this.checked then
- li_list = 1
- cbx_quote.Checked = FALSE
- else
- li_list = 0
- end if
- f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_list", string(li_list))
- end event
- event constructor;IF NOT f_power_ind(1476) THEN
- cbx_list.Enabled = FALSE
- cbx_list.Checked = FALSE
- cbx_list.Visible = FALSE
- RETURN
- END IF
- Int li_list
- li_list = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_list", '0'))
- IF li_list = 0 THEN
- THIS.Checked = FALSE
- ELSE
- THIS.Checked = TRUE
- cbx_quote.Checked = FALSE
- END IF
- end event
- type ddlb_status from uo_ddlb_status within w_saletask
- integer x = 1682
- integer y = 196
- integer width = 338
- integer height = 812
- integer taborder = 90
- boolean bringtotop = true
- string item[] = {"[全部]","待审核[0]","待二审[4]","在进行[1]","已暂停[2]","已终止[3]","已完成[5]","手动完成[6]"}
- end type
- event selectionchanged;call super::selectionchanged;parent.triggerevent("retrieve_pageretr")
- end event
- event uof_getvalue;call super::uof_getvalue;cur_status = this.uo_status
- end event
- type cb_fhmx from commandbutton within w_saletask
- integer x = 640
- integer y = 2076
- integer width = 315
- integer height = 84
- integer taborder = 130
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "发货"
- end type
- event clicked;cb_taskmx.Underline = False
- cb_tcmx.Underline = False
- cb_fhmx.Underline = True
- cb_tsmx.Underline = False
- cb_taskmx.weight = 400
- cb_tcmx.weight = 400
- cb_fhmx.weight = 700
- cb_tsmx.weight = 400
- cb_edit_tc.visible = false
- dw_fhmx.BringToTop = True
- ins_dw_select = 2
- end event
- type cb_tcmx from commandbutton within w_saletask
- integer x = 320
- integer y = 2076
- integer width = 315
- integer height = 84
- integer taborder = 140
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "提成"
- end type
- event clicked;cb_taskmx.Underline = False
- cb_tcmx.Underline = True
- cb_fhmx.Underline = False
- cb_tsmx.Underline = False
- cb_taskmx.weight = 400
- cb_tcmx.weight = 700
- cb_fhmx.weight = 400
- cb_tsmx.weight = 400
- if sys_version = 802001 then
- cb_edit_tc.visible = true
- else
- cb_edit_tc.visible = False
- end if
- dw_ywymx.BringToTop = True
- dw_dhmx.BringToTop = True
- ins_dw_select = 1
- end event
- type cb_taskmx from commandbutton within w_saletask
- integer y = 2076
- integer width = 315
- integer height = 84
- integer taborder = 140
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "订单明细"
- end type
- event clicked;cb_taskmx.Underline = True
- cb_tcmx.Underline = False
- cb_fhmx.Underline = False
- cb_tsmx.Underline = False
- cb_taskmx.weight = 700
- cb_tcmx.weight = 400
- cb_fhmx.weight = 400
- cb_tsmx.weight = 400
- cb_edit_tc.visible = false
- dw_child.BringToTop = True
- ins_dw_select = 0
- end event
- type cb_tsmx from commandbutton within w_saletask
- integer x = 969
- integer y = 2076
- integer width = 315
- integer height = 84
- integer taborder = 140
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "投诉"
- end type
- event clicked;cb_taskmx.Underline = False
- cb_fhmx.Underline = False
- cb_taskmx.Underline = False
- cb_tsmx.Underline = True
- cb_taskmx.weight = 400
- cb_fhmx.weight = 400
- cb_taskmx.weight = 400
- cb_tsmx.weight = 700
- cb_edit_tc.visible = false
- dw_tsmx.BringToTop = True
- ins_dw_select = 3
- end event
- type cb_edit_tc from commandbutton within w_saletask
- integer x = 1298
- integer y = 2076
- integer width = 315
- integer height = 84
- integer taborder = 140
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "编辑提成"
- end type
- event clicked;IF NOT f_power_ind(1725,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- Long scid,taskid
- s_edit_index_tran s_tranf8
- Long row,uc_relid,ll_scid
- row = dw_pageretr.GetRow()
- IF row <= 0 THEN
- MessageBox('提示','请选择单据!',information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_saletask_scid[row]
- uc_relid = dw_pageretr.Object.taskid[row]
- s_tranf8.b_long = ll_scid
- s_tranf8.c_long = uc_relid
- OpenWithParm(w_saletask_tc_edit,s_tranf8)
- end event
- type cb_fymx from commandbutton within w_saletask
- integer x = 1623
- integer y = 2076
- integer width = 315
- integer height = 84
- integer taborder = 50
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "费用明细"
- end type
- event clicked;//cb_fhmx.Underline = False
- //cb_fymx.Underline = True
- //cb_bjmx.Underline = False
- //
- //cb_fhmx.weight = 400
- //cb_fymx.weight = 700
- //cb_bjmx.weight = 400
- //
- //dw_fymx.BringToTop = True
- //ins_dw_select = 1
- cb_taskmx.Underline = False
- cb_tcmx.Underline = False
- cb_fhmx.Underline = False
- cb_tsmx.Underline = False
- cb_fymx.Underline = true
- cb_taskmx.weight = 400
- cb_tcmx.weight = 400
- cb_fhmx.weight = 700
- cb_tsmx.weight = 400
- cb_edit_tc.visible = false
- dw_fymx.BringToTop = True
- ins_dw_select = 4
- end event
- type dw_tsmx from u_dw_rbtnfilter within w_saletask
- integer x = 1952
- integer y = 2160
- integer taborder = 40
- boolean titlebar = true
- string title = "投诉明细"
- string dataobject = "dw_saletaskmx_tsmx"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- end type
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
- IF currentrow <= 0 THEN RETURN
- This.SelectRow(currentrow,True)
- end event
- event doubleclicked;call super::doubleclicked;IF row > 0 THEN
- String ls_code
- Long ll_scid
-
- ll_scid = 0 //THIS.Object.u_outware_scid[row]
- ls_code = THIS.Object.billcode[row]
-
- f_open_win(ll_scid,ls_code)
-
- END IF
- end event
- type dw_fymx from u_dw_rbtnfilter within w_saletask
- integer x = 1458
- integer y = 2160
- integer taborder = 30
- boolean titlebar = true
- string title = "费用明细"
- string dataobject = "dw_saletask_itemmx_edit_1"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- end type
- event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
-
- Parent.TriggerEvent('ue_add_fymx')
-
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
- IF currentrow <= 0 THEN RETURN
- This.SelectRow(currentrow,True)
- end event
- event dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key')
- String ls_itemcode,ls_itemname,ls_itemtype
- Long ll_itemid
- Long child_row
- IF dw_edit_mode THEN
-
- IF KeyDown(keydownarrow!) THEN
- Long li_row
- IF dw_fymx.GetRow() = dw_fymx.RowCount() THEN
- Parent.TriggerEvent("insert_childrow_fymx")
- END IF
- ELSE
- IF KeyDown(keyenter!) And Not KeyDown(keycontrol!) And Not KeyDown(keyshift!) THEN
- IF dw_fymx.GetColumnName() = 'u_itemdef_itemcode' THEN
- dw_fymx.AcceptText()
- child_row = dw_fymx.GetRow()
-
- ls_itemcode = dw_fymx.Object.u_itemdef_itemcode[child_row]
-
- SELECT itemid,
- itemname,
- itemtype
- INTO :ll_itemid,
- :ls_itemname,
- :ls_itemtype
- FROM u_itemdef
- Where itemcode = :ls_itemcode;
- IF sqlca.SQLCode <> 0 THEN
- Parent.TriggerEvent('ue_f11')
- RETURN
- END IF
-
- dw_fymx.Object.u_itemdef_itemname[child_row] = ls_itemname
- dw_fymx.Object.u_itemdef_itemtype[child_row] = ls_itemtype
- dw_fymx.Object.u_outware_itemmx_itemid[child_row] = ll_itemid
-
- dw_fymx.accepttext()
-
- IF Key = keyenter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- ELSEIF dw_fymx.GetColumnName( ) = 'u_outware_itemmx_mxdscrp' And dw_fymx.GetRow() = dw_fymx.RowCount() THEN
- Parent.TriggerEvent("insert_childrow_fymx")
- RETURN 1
- ELSE
- IF Key = keyenter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- END IF
- END IF
- END IF
- END IF
- end event
- event clicked;call super::clicked;IF row > 0 THEN
- This.SelectRow(0,False)
- This.SelectRow(row,True)
- This.SetRow(row)
- END IF
- end event
- event rbuttondown;call super::rbuttondown;IF Not dw_edit_mode THEN RETURN
- m_dwchild_rbotton m_print
- m_print = Create m_dwchild_rbotton
- m_print.m_0.PopMenu(This.X + This.PointerX() + 50,This.Y + This.PointerY() + 50)
- end event
- type dw_fhmx from u_dw_rbtnfilter within w_saletask
- integer x = 974
- integer y = 2160
- integer taborder = 30
- boolean titlebar = true
- string title = "发货明细"
- string dataobject = "dw_saletaskmx_fhmx"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- end type
- event doubleclicked;call super::doubleclicked;IF row > 0 THEN
- String ls_code
- Long ll_scid
-
- ll_scid = THIS.Object.u_outware_scid[row]
- ls_code = THIS.Object.u_outware_outwarecode[row]
-
- f_open_win(ll_scid,ls_code)
-
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
- IF currentrow <= 0 THEN RETURN
- This.SelectRow(currentrow,True)
- end event
- type dw_dhmx from u_dw_rbtnfilter within w_saletask
- integer x = 489
- integer y = 2160
- integer taborder = 40
- boolean titlebar = true
- string title = "订货明细"
- string dataobject = "dw_saletaskmx_dhmx"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- end type
- event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
-
- Parent.TriggerEvent('ue_add_fymx')
-
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
- IF currentrow <= 0 THEN RETURN
- This.SelectRow(currentrow,True)
- end event
- type dw_ywymx from u_dw_rbtnfilter within w_saletask
- integer y = 2160
- integer taborder = 40
- boolean titlebar = true
- string title = "业务员明细"
- string dataobject = "dw_saletaskmx_ywymx"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- end type
- event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
-
- Parent.TriggerEvent('ue_add_fymx')
-
- END IF
- end event
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
- IF currentrow <= 0 THEN RETURN
- This.SelectRow(currentrow,True)
- end event
- type cbx_enamt_edit from checkbox within w_saletask
- boolean visible = false
- integer x = 3465
- integer y = 8
- integer width = 677
- integer height = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "录入金额计算单价"
- end type
- event clicked;IF THIS.Checked THEN
- ii_enamt_edit = 1
- this.weight = 700
- this.textcolor = 255
-
- ELSE
- ii_enamt_edit = 0
- this.weight = 400
- this.textcolor = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit))
- IF ii_enamt_edit = 0 THEN
- dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- dw_child.Modify('enamt_t.Color = 0')
- ELSE
- dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- END IF
-
- end event
- event constructor;this.backcolor = 14215660
- ii_enamt_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",'0'))
- IF ii_enamt_edit = 1 THEN
- THIS.Checked = TRUE
- this.weight = 700
- this.textcolor = 255
-
- ELSE
- THIS.Checked = FALSE
- this.weight = 400
- this.textcolor = 0
- END IF
-
- end event
- type cbx_1 from checkbox within w_saletask
- integer x = 2962
- integer y = 212
- integer width = 233
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "全选"
- end type
- event clicked;Long i
- dw_pageretr.SetRedraw(False)
- FOR i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.u_saletask_status[i] <> 0 And &
- dw_pageretr.Object.u_saletask_status[i] <> 1 And &
- dw_pageretr.Object.u_saletask_status[i] <> 4 THEN
- dw_pageretr.Object.ch[i] = 0
- ELSE
- IF Checked THEN
- dw_pageretr.Object.ch[i] = 1
- ELSE
- dw_pageretr.Object.ch[i] = 0
- END IF
- END IF
- NEXT
- dw_pageretr.SetRedraw(True)
- end event
- type cbx_zk from checkbox within w_saletask
- boolean visible = false
- integer x = 4178
- integer y = 8
- integer width = 677
- integer height = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "录入金额计算折扣"
- end type
- event constructor;this.backcolor = 14215660
- ii_enamt_edit_1 = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit_1",'0'))
- IF ii_enamt_edit_1 = 1 THEN
- THIS.Checked = TRUE
- this.weight = 700
- this.textcolor = 255
- ELSE
- THIS.Checked = FALSE
- this.weight = 400
- this.textcolor = 0
- END IF
- //this.y = cbx_enamt_edit.y
- //this.x = 4921
- //
- end event
- event clicked;this.backcolor = 14215660
- IF THIS.Checked THEN
- ii_enamt_edit_1 = 1
- this.weight = 700
- this.textcolor = 255
- ELSE
- ii_enamt_edit_1= 0
- this.weight = 400
- this.textcolor = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit_1",String(ii_enamt_edit_1))
- IF ii_enamt_edit_1 = 0 THEN
- dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- dw_child.Modify('enamt_t.Color = 0')
- ELSE
- dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- END IF
- end event
- type ddlb_1 from dropdownlistbox within w_saletask
- integer x = 2464
- integer y = 196
- integer width = 480
- integer height = 300
- integer taborder = 100
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "产品资料"
- string item[] = {"产品资料","报价单"}
- borderstyle borderstyle = stylelowered!
- end type
- event selectionchanged;string ls_text
- int li_quote = 0, li_list=0
- ls_text = this.text
- if ls_text = '报价单' then
- li_quote = 1
- elseif ls_text = '价格表' then
- li_list = 1
- else
- // 产品资料
- end if
- f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", string(li_quote))
- f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_list", string(li_list))
- end event
- event constructor;Int li_list
- Int li_quote
-
- li_list = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_list", '0'))
- li_quote = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", '0'))
- THIS.text = '产品资料'
- IF li_quote = 0 THEN
- ELSE
- THIS.text ='报价单'
- END IF
- IF NOT f_power_ind(1476) THEN
- RETURN
- else
- THIS.AddItem ('价格表')
- END IF
- IF li_list = 0 THEN
- ELSE
- THIS.text = '价格表'
- END IF
-
-
- end event
- type st_4 from statictext within w_saletask
- integer x = 2057
- integer y = 208
- integer width = 398
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "双击明细行选择"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type cbx_enamt_notax_edit from checkbox within w_saletask
- boolean visible = false
- integer x = 3465
- integer y = 92
- integer width = 677
- integer height = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "录入不含税单价"
- end type
- event clicked;IF THIS.Checked THEN
- ii_enamt_notax_edit = 1
- this.weight = 700
- this.textcolor = 255
- ELSE
- ii_enamt_notax_edit = 0
- this.weight = 400
- this.textcolor = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit))
- wf_enamt_facechg()
- end event
- event constructor;this.backcolor = 14215660
- ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0'))
- IF ii_enamt_notax_edit = 1 THEN
- THIS.Checked = TRUE
- this.weight = 700
- this.textcolor = 255
- ELSE
- THIS.Checked = FALSE
- this.weight = 400
- this.textcolor = 0
- END IF
- wf_enamt_facechg()
- //
- //this.y = cbx_enamt_edit.y
- //this.x = cbx_enamt_edit.x + cbx_enamt_edit.width +10
- end event
- type st_cusbalc from statictext within w_saletask
- integer x = 3474
- integer y = 196
- integer width = 1806
- integer height = 92
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "客户信用额信息"
- boolean focusrectangle = false
- end type
- event constructor;this.x = cbx_1.x + cbx_1.width + 300
- end event
- type st_cusbalc_sign from statictext within w_saletask
- boolean visible = false
- integer x = 3182
- integer y = 196
- integer width = 279
- integer height = 76
- boolean bringtotop = true
- integer textsize = -11
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 255
- long backcolor = 134217739
- string text = "超信用!"
- boolean focusrectangle = false
- end type
- type cbx_auto_qty from checkbox within w_saletask
- boolean visible = false
- integer x = 4905
- integer y = 8
- integer width = 1015
- integer height = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "自动按数量和单价公式计算数量和单价"
- end type
- event clicked;this.backcolor = 14215660
- long ll_auto_qty
- IF THIS.Checked THEN
- ll_auto_qty = 1
- // this.weight = 700
- this.textcolor = 255
- //ddlb_weishu.visible=true //改成用单据功能
- //st_weishu.visible=true
- ELSE
- ll_auto_qty= 0
- // this.weight = 400
- this.textcolor = 0
- ddlb_weishu.visible=false
- st_weishu.visible=false
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",String(ll_auto_qty))
- end event
- event constructor;this.backcolor = 14215660
- long ll_auto_qty
- ll_auto_qty = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",'0'))
- IF ll_auto_qty = 1 THEN
- THIS.Checked = TRUE
- // this.weight = 700
- this.textcolor = 255
- //ddlb_weishu.visible=true //改成用单据功能
- //st_weishu.visible=true
- ELSE
- THIS.Checked = FALSE
- // this.weight = 400
- this.textcolor = 0
- ddlb_weishu.visible=false
- st_weishu.visible=false
- END IF
- end event
- type st_weishu from statictext within w_saletask
- boolean visible = false
- integer x = 4901
- integer y = 92
- integer width = 672
- integer height = 68
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "自动计算数量保留小数位数"
- boolean focusrectangle = false
- end type
- event constructor;this.backcolor = 14215660
- end event
- type ddlb_weishu from dropdownlistbox within w_saletask
- boolean visible = false
- integer x = 5586
- integer y = 84
- integer width = 251
- integer height = 568
- integer taborder = 100
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "2"
- string item[] = {"0","1","2","3","4","5"}
- borderstyle borderstyle = stylelowered!
- end type
- event constructor;dec li_autobj
- li_autobj = dec(f_ProfileString (sys_empid,dw_uc.DataObject, "weishu", '2'))
- IF li_autobj > 0 THEN
- This.Text = String(li_autobj)
- ELSE
- This.Text = String('2')
- END IF
- end event
- event destructor;f_SetProfileString (sys_empid,dw_uc.DataObject, "weishu", String(this.text))
- end event
|