w_saletask.srw 285 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680
  1. $PBExportHeader$w_saletask.srw
  2. forward
  3. global type w_saletask from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_saletask
  6. end type
  7. type st_2 from statictext within w_saletask
  8. end type
  9. type st_3 from statictext within w_saletask
  10. end type
  11. type cbx_quote from checkbox within w_saletask
  12. end type
  13. type cbx_sc from checkbox within w_saletask
  14. end type
  15. type cbx_list from checkbox within w_saletask
  16. end type
  17. type ddlb_status from uo_ddlb_status within w_saletask
  18. end type
  19. type cb_fhmx from commandbutton within w_saletask
  20. end type
  21. type cb_tcmx from commandbutton within w_saletask
  22. end type
  23. type cb_taskmx from commandbutton within w_saletask
  24. end type
  25. type cb_tsmx from commandbutton within w_saletask
  26. end type
  27. type cb_edit_tc from commandbutton within w_saletask
  28. end type
  29. type cb_fymx from commandbutton within w_saletask
  30. end type
  31. type dw_tsmx from u_dw_rbtnfilter within w_saletask
  32. end type
  33. type dw_fymx from u_dw_rbtnfilter within w_saletask
  34. end type
  35. type dw_fhmx from u_dw_rbtnfilter within w_saletask
  36. end type
  37. type dw_dhmx from u_dw_rbtnfilter within w_saletask
  38. end type
  39. type dw_ywymx from u_dw_rbtnfilter within w_saletask
  40. end type
  41. type cbx_enamt_edit from checkbox within w_saletask
  42. end type
  43. type cbx_1 from checkbox within w_saletask
  44. end type
  45. type cbx_zk from checkbox within w_saletask
  46. end type
  47. type ddlb_1 from dropdownlistbox within w_saletask
  48. end type
  49. type st_4 from statictext within w_saletask
  50. end type
  51. type cbx_enamt_notax_edit from checkbox within w_saletask
  52. end type
  53. type st_cusbalc from statictext within w_saletask
  54. end type
  55. type st_cusbalc_sign from statictext within w_saletask
  56. end type
  57. type cbx_auto_qty from checkbox within w_saletask
  58. end type
  59. type st_weishu from statictext within w_saletask
  60. end type
  61. type ddlb_weishu from dropdownlistbox within w_saletask
  62. end type
  63. end forward
  64. global type w_saletask from w_publ_1ton_share_detail
  65. integer width = 5957
  66. integer height = 2992
  67. string title = "销售订单"
  68. boolean maxbox = true
  69. windowstate windowstate = maximized!
  70. long dw_pageretr_w = 52828948
  71. long dw_child_h = 34912024
  72. long dw_child_w = 34817496
  73. boolean if_chkmtrlinfo = true
  74. event insert_childrow ( )
  75. event ue_tempstoptask ( )
  76. event ue_stopsaletask ( )
  77. event ue_finishtask ( )
  78. event ue_importseleprice ( )
  79. event ue_ctempstoptask ( )
  80. event ue_importcusseleprice ( )
  81. event ue_importcusseleprice_his ( )
  82. event ue_fj_edit ( )
  83. event ue_fj_view ( )
  84. event ue_add_descp ( )
  85. event ue_add_descp2 ( )
  86. event ue_cmpl_qty ( )
  87. event ue_p_cmpl_qty ( )
  88. event ue_cmpl_status_qty ( )
  89. event ue_view_mxdscrp ( )
  90. event ue_p_formula_set ( )
  91. event ue_f15 ( )
  92. event ue_view_mxdscrp2 ( )
  93. event ue_add_descp3 ( )
  94. event ue_add_cus_address ( )
  95. event ue_copy_qty ( )
  96. event ue_f18 ( )
  97. event ue_ch_outrepdef ( )
  98. event ue_update_relcode ( )
  99. event ue_fj_edit_mx ( )
  100. event ue_fj_mx_add ( )
  101. event ue_fj_view_mx ( )
  102. event ue_ch_banktype ( )
  103. event ue_ch_money ( )
  104. event ue_send_jd_ljfieb ( )
  105. event ue_redate_ljfieb ( )
  106. event ue_p_tax ( )
  107. event ue_finishtask_cancel ( )
  108. event ue_create_outware_sale ( )
  109. event ue_stopqty ( )
  110. event ue_mod_enprice ( )
  111. event ue_create_oppose_cust ( )
  112. event ue_create_reissue ( )
  113. event ue_view_reissue ( )
  114. event ue_fj_mx_add_p ( )
  115. event ue_add_fymx ( )
  116. event ue_ch_station ( )
  117. event ue_pricelist_update ( )
  118. event ue_create_buytask ( )
  119. event ue_create_taskdamt ( )
  120. event ue_cmpl_otheramt ( )
  121. event ue_stopsaletask_cancel ( )
  122. event insert_childrow_fymx ( )
  123. event ue_p_rebate ( )
  124. event ue_p_saleqty ( )
  125. event ue_add_addqty ( )
  126. event ue_paudit_task ( )
  127. event ue_paudit2_task ( )
  128. event ue_paudit_task_cancel ( )
  129. event ue_paudit1_task ( )
  130. event ue_paudit2_task_cancel ( )
  131. event ue_paudit1_task_cancel ( )
  132. event ue_mx_cmplnoallocqty ( )
  133. event ue_view_status ( long arg_row, string arg_status )
  134. event ue_mx_requiredate ( )
  135. event ue_view_mxdscrp3 ( )
  136. event ue_view_mxdscrp4 ( )
  137. event ue_importseleprice_buchong ( )
  138. event ue_cmpl_price ( )
  139. event ue_p_priceformula_set ( )
  140. event ue_p_cmpl_price ( )
  141. event ue_show_his_pricemx ( )
  142. event ue_retrieve_his_pricemx ( )
  143. event ue_create_inware_cp ( )
  144. event ue_priceaudit ( )
  145. event ue_cpriceaudit ( )
  146. event ue_set_dytitle ( )
  147. event ue_insert_execltodw ( )
  148. event ue_ ( )
  149. event ue_setprice_forformula ( )
  150. event retrieve_fjnum ( )
  151. event ue_cmpl_tax ( )
  152. event ue_p_status ( )
  153. event ue_p_woodcode ( )
  154. event ue_p_pcode ( )
  155. event ue_setqty_forformula ( )
  156. event ue_mx_alter ( )
  157. event ue_saletask_choose ( )
  158. event ue_create_buytask_auto ( )
  159. event ue_setprice_forformula_1 ( )
  160. event ue_setqty_forformula_1 ( )
  161. event ue_copy_needqty ( )
  162. ddlb_scid ddlb_scid
  163. st_2 st_2
  164. st_3 st_3
  165. cbx_quote cbx_quote
  166. cbx_sc cbx_sc
  167. cbx_list cbx_list
  168. ddlb_status ddlb_status
  169. cb_fhmx cb_fhmx
  170. cb_tcmx cb_tcmx
  171. cb_taskmx cb_taskmx
  172. cb_tsmx cb_tsmx
  173. cb_edit_tc cb_edit_tc
  174. cb_fymx cb_fymx
  175. dw_tsmx dw_tsmx
  176. dw_fymx dw_fymx
  177. dw_fhmx dw_fhmx
  178. dw_dhmx dw_dhmx
  179. dw_ywymx dw_ywymx
  180. cbx_enamt_edit cbx_enamt_edit
  181. cbx_1 cbx_1
  182. cbx_zk cbx_zk
  183. ddlb_1 ddlb_1
  184. st_4 st_4
  185. cbx_enamt_notax_edit cbx_enamt_notax_edit
  186. st_cusbalc st_cusbalc
  187. st_cusbalc_sign st_cusbalc_sign
  188. cbx_auto_qty cbx_auto_qty
  189. st_weishu st_weishu
  190. ddlb_weishu ddlb_weishu
  191. end type
  192. global w_saletask w_saletask
  193. type variables
  194. Int cur_status = 0 //当前查询订单状态 // -1 所有
  195. uo_saletask obj_saletask
  196. Long cur_scid
  197. Long cur_scid_arr[]
  198. uo_cusprice uo_cus_price
  199. Int cur_cusrepamtflag = 0 //信用额
  200. String cur_cusrepamtstr = ''
  201. Long ins_dw_select = 0
  202. Long fy_column_int = 4 // 费用明细可修改的列数
  203. Int ii_enamt_edit = 0 //0:不使用录入,不能编辑; 1:使用录入,可以编辑
  204. int ii_enamt_edit_1 = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑 计算折扣
  205. int ii_enamt_notax_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
  206. Long tmp_chflag = 1
  207. string cur_cusrepamtstr_show = '' //非编辑状态下 显示信息
  208. string old_rep_select=''//保留原有下拉sql
  209. end variables
  210. forward prototypes
  211. public function integer wf_cusdetail ()
  212. public function integer wf_statusbtn_fc ()
  213. public function integer wf_refresh_curuc (long arg_scid, long arg_taskid)
  214. public subroutine wf_check_billfj ()
  215. 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)
  216. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  217. public function integer wf_check_relcode (long arg_scid, long arg_taskid, string arg_relcode, ref string arg_msg)
  218. public function integer wf_get_pricelist_price (long arg_pricelistid, long arg_moneyid, ref string arg_msg)
  219. public function integer wf_get_price (long arg_row)
  220. public function integer wf_lock_child ()
  221. 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)
  222. public subroutine wf_cmpl_amt (integer row)
  223. public function integer wf_check_qtyandaddqty (ref string arg_msg)
  224. public function integer wf_refresh_interface ()
  225. public function integer wf_get_pricelist_price_buchong (long arg_pricelistid, long arg_moneyid, ref string arg_msg)
  226. public subroutine wf_set_decimal_place ()
  227. public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid)
  228. public function integer wf_openfile (datawindow arg_dw)
  229. public subroutine wf_enamt_facechg ()
  230. public subroutine wf_cusbalc (long arg_scid, long arg_cusid, long arg_moneyid)
  231. public subroutine wf_getcusrepamt_info_show (long arg_scid, long arg_cusid, long arg_moneyid)
  232. public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid)
  233. public function integer wf_formualprice_auto (ref string arg_msg)
  234. public function integer wf_formualqty_auto (ref string arg_msg)
  235. end prototypes
  236. event insert_childrow();long li_row
  237. li_row=dw_child.insertrow(0)
  238. dw_child.scrolltorow(li_row)
  239. dw_child.SetColumn ('u_saletaskmx_outtype')
  240. end event
  241. event ue_tempstoptask();IF dw_edit_mode THEN
  242. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  243. return
  244. END IF
  245. if not f_power_ind(9) then
  246. messagebox('提示',sys_msg_pow,information!,OK!)
  247. return
  248. end if
  249. string arg_msg=''
  250. long pagerert_row
  251. pagerert_row=dw_pageretr.getrow()
  252. if pagerert_row<=0 then
  253. messagebox('提示','请选定当前目标订单!',information!,OK!)
  254. return
  255. end if
  256. IF MessageBox ("询问","是否确定要对当前订单作暂停操作吗?",Question!,YesNo! ) = 2 THEN RETURN
  257. dw_pageretr.accepttext()
  258. if obj_saletask.tempstoptask(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.object.taskid[pagerert_row],arg_msg,true)=0 then
  259. messagebox('错误',arg_msg,stopsign!,OK!)
  260. ELSE
  261. messagebox('提示',"订单作暂停操作成功!",information!,OK!)
  262. if cur_status <> -1 then
  263. dw_uc.deleterow(pagerert_row)
  264. else
  265. wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.object.taskid[pagerert_row])
  266. end if
  267. end if
  268. end event
  269. event ue_stopsaletask();IF dw_edit_mode THEN
  270. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  271. RETURN
  272. END IF
  273. IF Not f_power_ind(10) THEN
  274. MessageBox('提示',sys_msg_pow,information!,OK!)
  275. RETURN
  276. END IF
  277. String arg_msg = ''
  278. Long pagerert_row
  279. pagerert_row = dw_pageretr.GetRow()
  280. IF pagerert_row <= 0 THEN
  281. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  282. RETURN
  283. END IF
  284. IF MessageBox ("询问","是否确定要对当前订单作终止吗? (终止后订单将归档只读)",Question!,YesNo! ) = 2 THEN RETURN
  285. dw_pageretr.AcceptText()
  286. IF obj_saletask.stopsaletask(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,True) = 0 THEN
  287. MessageBox('错误',arg_msg,stopsign!,OK!)
  288. ELSE
  289. MessageBox('提示','订单终止操作成功!',information!,OK!)
  290. String ls_taskcode
  291. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  292. IF f_billevent_trigger (102, 6, ls_taskcode, arg_msg) = 0 THEN
  293. MessageBox('Error',arg_msg)
  294. END IF
  295. IF cur_status <> -1 THEN
  296. dw_uc.DeleteRow(pagerert_row)
  297. ELSE
  298. wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
  299. END IF
  300. END IF
  301. end event
  302. event ue_finishtask();IF dw_edit_mode THEN
  303. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  304. RETURN
  305. END IF
  306. IF Not f_power_ind(10) THEN
  307. MessageBox('提示',sys_msg_pow,information!,OK!)
  308. RETURN
  309. END IF
  310. String arg_msg = ''
  311. Long pagerert_row
  312. pagerert_row = dw_pageretr.GetRow()
  313. IF pagerert_row <= 0 THEN
  314. MessageBox('提示','请选定当前目标销售订单!',information!,OK!)
  315. RETURN
  316. END IF
  317. IF MessageBox ("询问","是否确定要对当前销售订单作完成吗? (完成后销售订单将归档只读)",Question!,YesNo! ) = 2 THEN RETURN
  318. Long ls_taskid
  319. ls_taskid = dw_pageretr.Object.taskid[pagerert_row]
  320. IF obj_saletask.finishtask(dw_pageretr.Object.u_saletask_scid[pagerert_row],ls_taskid,arg_msg,True) = 0 THEN
  321. MessageBox('错误',arg_msg,stopsign!,OK!)
  322. ELSE
  323. MessageBox('提示','销售订单完成操作成功!',information!,OK!)
  324. String ls_taskcode
  325. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  326. IF f_billevent_trigger (102, 5, ls_taskcode, arg_msg) = 0 THEN
  327. MessageBox('Error',arg_msg)
  328. END IF
  329. IF cur_status <> -1 THEN
  330. dw_uc.DeleteRow(pagerert_row)
  331. ELSE
  332. wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
  333. END IF
  334. END IF
  335. end event
  336. event ue_importseleprice();IF Not dw_edit_mode THEN
  337. MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!)
  338. RETURN
  339. END IF
  340. Long ls_row,ls_cusid,ls_mtrlid
  341. String ls_cuscode,ls_cusname,arg_msg
  342. Long uc_row
  343. Decimal obj_price ,obj_rebate
  344. String err_str = ''
  345. Boolean if_exist_price = True
  346. Long ll_pricelistid,ll_moneyid
  347. String ls_status,ls_pcode,ls_woodcode,ls_unit
  348. s_pricelist_ch s_pricelist
  349. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  350. IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
  351. MessageBox('提示','请先选择币种',information!,OK!)
  352. RETURN
  353. END IF
  354. //直接查询价格表
  355. // IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN
  356. Open(w_sale_price_list_ch)
  357. s_pricelist = Message.PowerObjectParm
  358. IF s_pricelist.pricelistid <= 0 THEN RETURN
  359. ll_pricelistid = s_pricelist.pricelistid
  360. IF wf_get_pricelist_price(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  361. MessageBox('提示',arg_msg,information!,OK!)
  362. RETURN
  363. END IF
  364. //IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  365. // MessageBox('提示',arg_msg,information!,OK!)
  366. // RETURN
  367. //END IF
  368. //
  369. //dw_child.AcceptText()
  370. //FOR ls_row = 1 To dw_child.RowCount()
  371. // ls_mtrlid = dw_child.Object.mtrlid[ls_row]
  372. // ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
  373. // ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
  374. // ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
  375. // ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
  376. //
  377. // IF sys_option_price_if_status = 0 THEN
  378. // ls_status = ''
  379. // ls_pcode = ''
  380. // ls_woodcode = ''
  381. // END IF
  382. //
  383. //
  384. // SELECT u_sale_price_mx.price
  385. // INTO :obj_price
  386. // FROM u_sale_price_mx
  387. // WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND
  388. // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
  389. // ( u_sale_price_mx.status = :ls_status ) AND
  390. // ( u_sale_price_mx.pcode = :ls_pcode ) AND
  391. // ( u_sale_price_mx.woodcode = :ls_woodcode ) AND
  392. // ( u_sale_price_mx.unit = :ls_unit );
  393. // IF sqlca.SQLCode <> 0 THEN
  394. // err_str = err_str + "当前价格表的 "+String(dw_child.Object.mtrlname[ls_row])+" 的客户定价尚未设定! ~n"
  395. // ELSE
  396. // dw_child.Object.u_saletaskmx_enprice[ls_row] = obj_price
  397. // END IF
  398. //NEXT
  399. //
  400. //
  401. //IF err_str <> '' THEN
  402. // MessageBox('错误',err_str,stopsign!,OK!)
  403. //END IF
  404. end event
  405. event ue_ctempstoptask();IF dw_edit_mode THEN
  406. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  407. RETURN
  408. END IF
  409. IF NOT f_power_ind(9) THEN
  410. MessageBox('提示',sys_msg_pow,information!,OK!)
  411. RETURN
  412. END IF
  413. String arg_msg = ''
  414. Long pagerert_row
  415. pagerert_row = dw_pageretr.GetRow()
  416. IF pagerert_row <= 0 THEN
  417. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  418. RETURN
  419. END IF
  420. IF MessageBox ("询问","是否确定要对当前订单作取消暂停操作吗?",Question!,YesNo! ) = 2 THEN RETURN
  421. IF obj_saletask.tempstoptask(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,TRUE) = 0 THEN
  422. MessageBox('错误',arg_msg,stopsign!,OK!)
  423. ELSE
  424. MessageBox('提示',"订单作取消暂停操作成功!",information!,OK!)
  425. IF cur_status <> -1 THEN
  426. dw_uc.DeleteRow(pagerert_row)
  427. ELSE
  428. wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
  429. END IF
  430. END IF
  431. end event
  432. event ue_importcusseleprice();//查询客户价格表
  433. //如果客户无价格表则提示是否直接查询价格表
  434. Long ls_row,ls_cusid,ls_mtrlid
  435. String ls_cuscode,ls_cusname,arg_msg
  436. Long uc_row
  437. Decimal obj_price ,obj_rebate
  438. String err_str = ''
  439. Boolean if_exist_price = True
  440. Long ll_pricelistid,ll_moneyid
  441. String ls_status,ls_pcode,ls_woodcode,ls_unit
  442. s_pricelist_ch s_pricelist
  443. uc_row = dw_uc.GetRow()
  444. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  445. IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
  446. MessageBox('提示','请先选择币种',information!,OK!)
  447. RETURN
  448. END IF
  449. IF dw_uc.Object.cusid[uc_row] = 0 Or IsNull(dw_uc.Object.cusid[uc_row]) THEN
  450. MessageBox('提示',"请选择销售客户!",information!,OK!)
  451. RETURN
  452. END IF
  453. ls_cusid = dw_uc.Object.cusid[uc_row]
  454. SELECT u_cust.pricelistid Into :ll_pricelistid From u_cust Where u_cust.cusid = :ls_cusid;
  455. IF sqlca.SQLCode <> 0 Or ll_pricelistid <= 0 THEN
  456. if_exist_price = False
  457. END IF
  458. IF if_exist_price = False THEN
  459. IF MessageBox('询问',"当前客户的客户价格表未设定!是否选择价格表?",Question!,YesNo!) = 2 THEN RETURN
  460. Open(w_sale_price_list_ch)
  461. s_pricelist = Message.PowerObjectParm
  462. IF s_pricelist.pricelistid <= 0 THEN RETURN
  463. ll_pricelistid = s_pricelist.pricelistid
  464. END IF
  465. IF wf_get_pricelist_price(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  466. MessageBox('提示',arg_msg,information!,OK!)
  467. RETURN
  468. END IF
  469. //IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  470. // MessageBox('提示',arg_msg,information!,OK!)
  471. // RETURN
  472. //END IF
  473. //
  474. //s_sale_price_mx s_mx
  475. //dw_child.AcceptText()
  476. //FOR ls_row = 1 To dw_child.RowCount()
  477. //
  478. // ls_mtrlid = dw_child.Object.mtrlid[ls_row]
  479. // ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
  480. // ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
  481. // ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
  482. // ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
  483. //
  484. // IF sys_option_price_if_status = 0 THEN
  485. // ls_status = ''
  486. // ls_pcode = ''
  487. // ls_woodcode = ''
  488. // END IF
  489. //
  490. // s_mx.mtrlid = ls_mtrlid
  491. // s_mx.status = ls_status
  492. // s_mx.woodcode = ls_woodcode
  493. // s_mx.pcode = ls_pcode
  494. // s_mx.unit = ls_unit
  495. // s_mx.moneyid = ll_moneyid
  496. // s_mx.pricelistid = ll_pricelistid
  497. //
  498. // IF uo_cus_price.uof_get_pricelist_price(s_mx, arg_msg) = 0 THEN
  499. // err_str = err_str + "行:"+string(ls_row)+", "+String(dw_child.Object.mtrlname[ls_row])+" 的导入价格表售价失败或没有设置售价! ~n "
  500. //// rslt = 0 //无标准价格表 或未审核
  501. // END IF
  502. //
  503. // dw_child.Object.u_saletaskmx_enprice[ls_row] = s_mx.price
  504. // dw_child.Object.u_saletaskmx_rebate[ls_row] = s_mx.rebate
  505. // //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
  506. //NEXT
  507. //
  508. //IF err_str <> '' THEN
  509. // MessageBox('错误',err_str,stopsign!,OK!)
  510. //END IF
  511. end event
  512. event ue_importcusseleprice_his();// //导入客户历史售价
  513. Long ls_row,ls_cusid,ls_mtrlid
  514. String ls_cuscode,ls_cusname,arg_msg
  515. Long uc_row
  516. Decimal obj_price ,obj_rebate,obj_rate
  517. String err_str = ''
  518. Boolean if_exist_price = TRUE
  519. Long ls_pricelistid,ll_moneyid
  520. String ls_status,ls_pcode,ls_woodcode,ls_unit
  521. s_pricelist_ch s_pricelist
  522. uc_row = dw_uc.GetRow()
  523. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  524. IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
  525. MessageBox('提示','请先选择币种',information!,OK!)
  526. RETURN
  527. END IF
  528. IF dw_uc.Object.cusid[uc_row] = 0 OR IsNull(dw_uc.Object.cusid[uc_row]) THEN
  529. MessageBox('提示',"请选择销售客户!",information!,OK!)
  530. RETURN
  531. END IF
  532. ls_cusid = dw_uc.Object.cusid[uc_row]
  533. ls_cuscode = dw_uc.Object.u_cust_cuscode[uc_row]
  534. ls_cusname = dw_uc.Object.u_cust_name[uc_row]
  535. IF dw_child.RowCount() <= 0 THEN
  536. MessageBox('提示',"请选择产品!",information!,OK!)
  537. RETURN
  538. END IF
  539. dw_child.accepttext()
  540. FOR ls_row = 1 TO dw_child.RowCount()
  541. ls_mtrlid = dw_child.Object.mtrlid[ls_row]
  542. ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
  543. ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
  544. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
  545. ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
  546. 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
  547. err_str = err_str + "导入客户["+ls_cuscode+ls_cusname+"]的 "+String(dw_child.Object.mtrlname[ls_row])+" 的最新售价失败,或没有最新售价! ~n "
  548. dw_child.Object.u_saletaskmx_enprice[ls_row] = 0
  549. dw_child.Object.u_saletaskmx_rebate[ls_row] = 1
  550. //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
  551. ELSE
  552. dw_child.Object.u_saletaskmx_enprice[ls_row] = obj_price
  553. dw_child.Object.u_saletaskmx_rebate[ls_row] = obj_rebate
  554. dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
  555. END IF
  556. NEXT
  557. IF err_str <> '' THEN
  558. MessageBox('错误',err_str,stopsign!,OK!)
  559. END IF
  560. end event
  561. event ue_fj_edit();IF dw_edit_mode THEN
  562. MessageBox('提示','编辑状态下不可用',information!,OK!)
  563. RETURN
  564. END IF
  565. //IF NOT f_power_ind(1098) THEN
  566. // MessageBox(publ_operator,sys_msg_pow)
  567. // RETURN
  568. //END IF
  569. s_edit_index_tran s_pic
  570. Long ll_ConnectionID
  571. String arg_msg
  572. Long ls_row
  573. ls_row = dw_pageretr.GetRow()
  574. IF ls_row <= 0 THEN
  575. RETURN
  576. END IF
  577. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  578. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  579. RETURN
  580. END IF
  581. s_pic.f_long = 102 //销售订单的mainID
  582. s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
  583. s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
  584. s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
  585. s_pic.sqltransaction = sys_filedb_sqlca
  586. OpenWithParm(w_fj_bill_mng,s_pic)
  587. wf_check_billfj()
  588. end event
  589. event ue_fj_view();IF dw_edit_mode THEN
  590. MessageBox('提示','编辑状态下不可用',information!,OK!)
  591. RETURN
  592. END IF
  593. s_edit_index_tran s_pic
  594. Long ll_ConnectionID
  595. String arg_msg
  596. Long ls_row
  597. ls_row = dw_pageretr.GetRow()
  598. IF ls_row <= 0 THEN
  599. RETURN
  600. END IF
  601. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  602. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  603. RETURN
  604. END IF
  605. s_pic.f_long = 102 //销售订单的mainID
  606. s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
  607. s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
  608. s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
  609. s_pic.sqltransaction = sys_filedb_sqlca
  610. OpenWithParm(w_fj_bill_view,s_pic)
  611. end event
  612. event ue_add_descp();s_view_dscrp s_view,s_return
  613. String ls_dscrp
  614. dw_uc.AcceptText()
  615. ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
  616. s_view.Title = '销售订单备注'
  617. s_view.dscrp = ls_dscrp
  618. s_view.editmode = dw_edit_mode
  619. OpenWithParm(w_view_dscrp,s_view)
  620. IF dw_edit_mode THEN
  621. s_return = Message.PowerObjectParm
  622. dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp
  623. END IF
  624. end event
  625. event ue_add_descp2();s_view_dscrp s_view,s_return
  626. String ls_dscrp
  627. dw_uc.AcceptText()
  628. ls_dscrp = dw_uc.Object.u_saletask_dscrp2[dw_uc.GetRow()]
  629. s_view.Title = '销售订单辅助备注'
  630. s_view.dscrp = ls_dscrp
  631. s_view.editmode = dw_edit_mode
  632. OpenWithParm(w_view_dscrp,s_view)
  633. IF dw_edit_mode THEN
  634. s_return = Message.PowerObjectParm
  635. dw_uc.Object.u_saletask_dscrp2[dw_uc.GetRow()] = s_return.dscrp
  636. END IF
  637. end event
  638. event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
  639. Long child_row
  640. Long uc_row
  641. Long li_cusid,li_mtrlid
  642. Decimal ld_cusprice
  643. uc_row = dw_uc.GetRow()
  644. li_cusid = dw_uc.Object.cusid[uc_row]
  645. dw_child.AcceptText()
  646. child_row = dw_child.GetRow()
  647. s_cmpl_qty s_cmpl,s_return
  648. s_cmpl.qty = dw_child.Object.usaleqty[child_row]
  649. s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[child_row]
  650. s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
  651. s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[child_row]
  652. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  653. s_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
  654. s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
  655. s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
  656. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  657. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  658. s_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
  659. s_cmpl.mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[child_row]
  660. s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
  661. s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
  662. s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
  663. s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
  664. li_mtrlid = dw_child.Object.mtrlid[child_row]
  665. SELECT price
  666. INTO :ld_cusprice
  667. FROM u_cust
  668. INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
  669. WHERE u_sale_price_mx.mtrlid = :li_mtrlid
  670. AND u_cust.cusid = :li_cusid;
  671. IF SQLCA.SQLCODE <> 0 THEN
  672. ld_cusprice = 0
  673. END IF
  674. s_cmpl.cusprice = ld_cusprice
  675. IF NOT IsValid(w_cmpl_qty_ch) THEN
  676. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  677. s_return = Message.PowerObjectParm
  678. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  679. dw_child.Object.usaleqty[child_row] = s_return.qty
  680. dw_child.Object.u_saletaskmx_formula[child_row] = s_return.formula
  681. END IF
  682. END IF
  683. end event
  684. event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
  685. Long i
  686. String ls_formula
  687. String ls_msg
  688. String ls_rs
  689. String ls_num
  690. Decimal ld_addqty
  691. Decimal ld_price
  692. Decimal ld_rebate
  693. decimal ld_qty
  694. dw_child.AcceptText()
  695. s_cmpl_qty s_cmpl
  696. Open(w_cmpl_qty_ch_son)
  697. s_cmpl = Message.PowerObjectParm
  698. dw_uc.SetRedraw(false)
  699. FOR i = 1 TO dw_child.RowCount()
  700. ld_qty = 0
  701. IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
  702. s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
  703. s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
  704. s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  705. s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
  706. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  707. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  708. s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
  709. s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
  710. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  711. s_cmpl.mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
  712. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  713. MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
  714. goto ext
  715. END IF
  716. dw_child.Object.usaleqty[i] = ld_qty
  717. END IF
  718. NEXT
  719. ext:
  720. dw_child.SetColumn('usaleqty')
  721. dw_uc.SetRedraw(TRUE)
  722. end event
  723. event ue_cmpl_status_qty();Int ll_flag
  724. Decimal ll_value
  725. Long ll_num
  726. Long i,j,k
  727. String ls_mtrlmode
  728. String ls_status
  729. Decimal ld_qty
  730. Decimal ld_addqty
  731. String ls_msg
  732. Long ll_type
  733. s_cmpl_addqty s_cmpl
  734. dw_child.AcceptText()
  735. IF dw_edit_mode THEN
  736. Open(w_cmpl_status_qty_ch)
  737. s_cmpl = Message.PowerObjectParm
  738. ll_flag = s_cmpl.flag
  739. ll_value = s_cmpl.addvalue
  740. ll_num = s_cmpl.num
  741. ll_type = s_cmpl.cmptype
  742. IF ll_value <= 0 THEN RETURN
  743. IF dw_child.RowCount() <= 0 THEN RETURN
  744. FOR i = 1 TO dw_child.RowCount()
  745. ld_addqty = dw_child.Object.u_saletaskmx_addqty[i]
  746. CHOOSE CASE ll_type
  747. CASE 0
  748. ls_status = dw_child.Object.u_saletaskmx_status[i]
  749. CASE 1
  750. ls_status = dw_child.Object.u_saletaskmx_woodcode[i]
  751. CASE 2
  752. ls_status = dw_child.Object.u_saletaskmx_pcode[i]
  753. CASE 3
  754. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  755. CASE 4
  756. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  757. END CHOOSE
  758. IF ld_addqty = 0 OR ls_status = '' THEN
  759. ELSE
  760. ld_qty = 0
  761. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  762. MessageBox('错误',ls_msg,stopsign!,OK!)
  763. GOTO ext
  764. END IF
  765. IF ll_flag = 0 THEN
  766. dw_child.Object.usaleqty[i] = Round(ld_qty * ll_value,ll_num)
  767. ELSE
  768. dw_child.Object.usaleqty[i] = Round(ld_qty / ll_value,ll_num)
  769. END IF
  770. END IF
  771. NEXT
  772. END IF
  773. ext:
  774. end event
  775. event ue_view_mxdscrp();s_view_dscrp s_view,s_return
  776. String ls_dscrp
  777. dw_child.AcceptText()
  778. ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp[dw_child.GetRow()]
  779. s_view.Title = '销售订单明细备注'
  780. s_view.dscrp = ls_dscrp
  781. s_view.editmode = dw_edit_mode
  782. OpenWithParm(w_view_dscrp,s_view)
  783. IF dw_edit_mode THEN
  784. s_return = Message.PowerObjectParm
  785. dw_child.Object.u_saletaskmx_mxdscrp[dw_child.GetRow()] = s_return.dscrp
  786. END IF
  787. end event
  788. event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
  789. IF MessageBox('提示','是否要确定要批设定数量公式', question!, YesNo!, 2) = 2 THEN
  790. RETURN
  791. END IF
  792. Long ll_i
  793. dw_child.AcceptText()
  794. dw_child.SetRedraw(FALSE)
  795. FOR ll_i = 1 TO dw_child.RowCount()
  796. IF ll_i = 1 THEN CONTINUE
  797. dw_child.Object.u_saletaskmx_formula[ll_i] = dw_child.Object.u_saletaskmx_formula[1]
  798. NEXT
  799. dw_child.SetRedraw(TRUE)
  800. end event
  801. event ue_f15();//选择报价单
  802. //用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  803. IF Not dw_edit_mode THEN RETURN
  804. IF dw_uc.GetRow() <= 0 THEN
  805. MessageBox('系统提示','请先选择单据')
  806. RETURN
  807. END IF
  808. Long child_row
  809. Long ls_cusid,ll_moneyid
  810. Decimal ld_mrate,ld_tax
  811. String ls_prdpackcode
  812. Decimal ld_packqty,ld_net_weight,ld_gross_weight,ld_cubage
  813. string ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode
  814. s_mtrldef_array arg_s_mtrldef
  815. child_row = dw_child.GetRow()
  816. ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
  817. IF IsNull(ls_cusid) Or ls_cusid = 0 THEN
  818. This.TriggerEvent("ue_f9")
  819. RETURN
  820. END IF
  821. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  822. IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
  823. MessageBox(publ_operator,'请先选择币种')
  824. RETURN
  825. END IF
  826. ld_mrate = dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()]
  827. IF Not IsValid(w_quote_mx_ch) THEN
  828. s_edit_index_tran s_tranf8 //传递参数使用
  829. s_tranf8.if_retrieve_all = This.retrieve_all //是否一次retrieve所有行
  830. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  831. s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
  832. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  833. s_tranf8.if_select_all = True //多选
  834. s_tranf8.c_long = ls_cusid
  835. IF cur_scid < 0 THEN
  836. s_tranf8.b_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
  837. ELSE
  838. s_tranf8.b_long = cur_scid
  839. END IF
  840. Long ls_j
  841. This.Enabled = False
  842. OpenWithParm(w_quote_mx_ch,s_tranf8) //调用
  843. This.Enabled = True
  844. s_quotemx_arr s_inscust
  845. s_inscust = Message.PowerObjectParm //接受返回结构
  846. FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
  847. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  848. IF dw_child.GetRow() > 0 THEN
  849. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  850. child_row = dw_child.InsertRow (0)
  851. ELSE
  852. child_row = dw_child.GetRow()
  853. END IF
  854. ELSE
  855. child_row = dw_child.InsertRow (0)
  856. END IF
  857. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  858. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  859. dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  860. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  861. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  862. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  863. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  864. dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
  865. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
  866. dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
  867. dw_child.Object.usaleqty[child_row] = s_inscust.qty[ls_j]
  868. //dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
  869. dw_child.Object.u_saletaskmx_rate[child_row] = 1
  870. dw_child.Object.u_saletaskmx_addqty[child_row] = s_inscust.addqty[ls_j]
  871. dw_child.Object.u_saletaskmx_formula[child_row] = s_inscust.formula[ls_j]
  872. dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
  873. dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
  874. dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  875. dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
  876. dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
  877. dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
  878. dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
  879. dw_child.Object.u_saletaskmx_mxdscrp2[child_row] = s_inscust.mxdscrp2[ls_j]
  880. dw_child.Object.u_saletaskmx_mxdscrp3[child_row] = s_inscust.mxdscrp3[ls_j]
  881. dw_child.Object.u_saletaskmx_mxdscrp4[child_row] = s_inscust.mxdscrp4[ls_j]
  882. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
  883. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
  884. dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.newunit[ls_j]
  885. //dw_child.Object.u_SaleTaskMx_priceformula[child_row] = s_inscust.priceformula[ls_j]
  886. if f_find_tax(ls_cusid,'u_cust',ld_tax) = 0 then
  887. ld_tax = 0
  888. else
  889. dw_child.Object.u_saletaskmx_tax[child_row] = ld_tax
  890. end if
  891. if f_find_cusmtrlname(ls_cusid,s_inscust.mtrlid[ls_j],ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode) = 0 then
  892. ls_cusmtrlcode = ''
  893. ls_cusmtrlname = ''
  894. ls_cusmtrlmode =''
  895. else
  896. dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
  897. dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
  898. dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] = ls_cusmtrlmode
  899. end if
  900. IF ll_moneyid = s_inscust.moneyid[ls_j] THEN
  901. dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.sumprice_1[ls_j]
  902. ELSE
  903. IF ld_mrate > 0 THEN //汇率转换
  904. dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.sumprice_1[ls_j] / ld_mrate
  905. END IF
  906. END IF
  907. dw_child.Object.u_saletaskmx_rebate[child_row] = s_inscust.rebate[ls_j]
  908. END IF
  909. NEXT
  910. dw_child.SetColumn('usaleqty')
  911. This.TriggerEvent('ue_allowedit')
  912. dw_child.SetFocus()
  913. END IF
  914. end event
  915. event ue_view_mxdscrp2();s_view_dscrp s_view,s_return
  916. String ls_dscrp
  917. dw_child.AcceptText()
  918. ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()]
  919. s_view.Title = '销售订单明细备注2'
  920. s_view.dscrp = ls_dscrp
  921. s_view.editmode = dw_edit_mode
  922. OpenWithParm(w_view_dscrp2,s_view)
  923. IF dw_edit_mode THEN
  924. s_return = Message.PowerObjectParm
  925. dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()] = s_return.dscrp
  926. END IF
  927. end event
  928. event ue_add_descp3();s_view_dscrp s_view,s_return
  929. String ls_dscrp
  930. dw_uc.AcceptText()
  931. ls_dscrp = dw_uc.Object.u_saletask_dscrp3[dw_uc.GetRow()]
  932. s_view.Title = '销售订单生产备注'
  933. s_view.dscrp = ls_dscrp
  934. s_view.editmode = dw_edit_mode
  935. OpenWithParm(w_view_dscrp2,s_view)
  936. IF dw_edit_mode THEN
  937. s_return = Message.PowerObjectParm
  938. dw_uc.Object.u_saletask_dscrp3[dw_uc.GetRow()] = s_return.dscrp
  939. END IF
  940. end event
  941. event ue_add_cus_address();s_view_dscrp s_view,s_return
  942. String ls_dscrp
  943. dw_uc.AcceptText()
  944. ls_dscrp = dw_uc.Object.u_saletask_cus_address[dw_uc.GetRow()]
  945. s_view.Title = '销售订单客户地址'
  946. s_view.dscrp = ls_dscrp
  947. s_view.editmode = dw_edit_mode
  948. OpenWithParm(w_view_dscrp2,s_view)
  949. IF dw_edit_mode THEN
  950. s_return = Message.PowerObjectParm
  951. dw_uc.Object.u_saletask_cus_address[dw_uc.GetRow()] = s_return.dscrp
  952. END IF
  953. end event
  954. event ue_copy_qty();Long i
  955. Decimal lde_rate
  956. dw_child.AcceptText()
  957. FOR i = 1 To dw_child.RowCount()
  958. lde_rate = dw_child.Object.u_saletaskmx_rate[i]
  959. IF lde_rate = 0 THEN
  960. lde_rate = 1
  961. dw_child.Object.u_saletaskmx_rate[i] = 1
  962. END IF
  963. dw_child.Object.u_saletaskmx_orderqty[i] = dw_child.Object.usaleqty[i] * lde_rate
  964. NEXT
  965. end event
  966. event ue_f18();//选择价格表
  967. //用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  968. IF NOT dw_edit_mode THEN RETURN
  969. IF dw_uc.GetRow() <= 0 THEN
  970. MessageBox('系统提示','请先选择单据')
  971. RETURN
  972. END IF
  973. Long child_row
  974. Long ls_cusid,ll_moneyid
  975. Decimal ld_mrate,ld_tax
  976. String ls_prdpackcode
  977. Decimal ld_packqty,ld_net_weight,ld_gross_weight,ld_cubage
  978. string ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode
  979. String ls_priceformula
  980. s_mtrldef_array arg_s_mtrldef
  981. child_row = dw_child.GetRow()
  982. ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
  983. IF IsNull(ls_cusid) OR ls_cusid = 0 THEN
  984. THIS.TriggerEvent("ue_f9")
  985. RETURN
  986. END IF
  987. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  988. IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
  989. MessageBox(publ_operator,'请先选择币种')
  990. RETURN
  991. END IF
  992. ld_mrate = dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()]
  993. IF NOT IsValid(w_sale_price_list_mxch) THEN
  994. s_edit_index_tran s_tranf8 //传递参数使用
  995. s_tranf8.if_retrieve_all = THIS.retrieve_all //是否一次retrieve所有行
  996. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  997. s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
  998. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  999. s_tranf8.if_select_all = TRUE //多选
  1000. s_tranf8.c_long = ls_cusid
  1001. IF cur_scid < 0 THEN
  1002. s_tranf8.b_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
  1003. ELSE
  1004. s_tranf8.b_long = cur_scid
  1005. END IF
  1006. s_tranf8.e_long = ll_moneyid
  1007. Long ls_j
  1008. Decimal lde_rate
  1009. THIS.Enabled = FALSE
  1010. OpenWithParm(w_sale_price_list_mxch,s_tranf8) //调用
  1011. THIS.Enabled = TRUE
  1012. s_salelistmx_arr s_inscust
  1013. s_inscust = Message.PowerObjectParm //接受返回结构
  1014. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  1015. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1016. IF dw_child.GetRow() > 0 THEN
  1017. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  1018. child_row = dw_child.InsertRow (0)
  1019. ELSE
  1020. child_row = dw_child.GetRow()
  1021. END IF
  1022. ELSE
  1023. child_row = dw_child.InsertRow (0)
  1024. END IF
  1025. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1026. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  1027. dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  1028. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  1029. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  1030. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  1031. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  1032. dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
  1033. //dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
  1034. dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
  1035. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
  1036. dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
  1037. dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
  1038. dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
  1039. dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  1040. dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
  1041. dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.price[ls_j]
  1042. dw_child.Object.u_saletaskmx_rebate[child_row] = s_inscust.rebate[ls_j]
  1043. dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
  1044. dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
  1045. dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
  1046. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
  1047. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
  1048. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  1049. ls_priceformula = ''
  1050. ELSE
  1051. ls_priceformula = arg_s_mtrldef.priceformula[1]
  1052. END IF
  1053. dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
  1054. if f_find_tax(ls_cusid,'u_cust',ld_tax) = 0 then
  1055. ld_tax = 0
  1056. else
  1057. dw_child.Object.u_saletaskmx_tax[child_row] = ld_tax
  1058. end if
  1059. if f_find_cusmtrlname(ls_cusid,s_inscust.mtrlid[ls_j],ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode) = 0 then
  1060. ls_cusmtrlcode = ''
  1061. ls_cusmtrlname = ''
  1062. ls_cusmtrlmode =''
  1063. else
  1064. dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
  1065. dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
  1066. dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] = ls_cusmtrlmode
  1067. end if
  1068. IF f_find_unitrate(s_inscust.mtrlid[ls_j], s_inscust.unit[ls_j], lde_rate) = 1 THEN
  1069. dw_child.Object.u_saletaskmx_rate[child_row] = lde_rate
  1070. END IF
  1071. dw_child.SetColumn('saleqty')
  1072. END IF
  1073. NEXT
  1074. THIS.TriggerEvent('ue_allowedit')
  1075. dw_child.SetFocus()
  1076. END IF
  1077. end event
  1078. event ue_ch_outrepdef();IF NOT IsValid(w_outrepdef_edit_ch) THEN
  1079. Open(w_outrepdef_edit_ch)
  1080. s_outrepdef s_outrep_ch
  1081. s_outrep_ch = Message.PowerObjectParm
  1082. IF s_outrep_ch.outrepname <> '' THEN
  1083. dw_uc.Object.assign_emp[dw_uc.GetRow()] = s_outrep_ch.outrepname
  1084. END IF
  1085. END IF
  1086. end event
  1087. event ue_update_relcode();IF dw_edit_mode THEN
  1088. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  1089. RETURN
  1090. END IF
  1091. IF NOT f_power_ind(1515) THEN
  1092. MessageBox('提示',sys_msg_pow,information!,OK!)
  1093. RETURN
  1094. END IF
  1095. String arg_msg = '',LS_STR
  1096. Long uc_row
  1097. string ls_relcode
  1098. s_inputbox S_SREU
  1099. uc_row = dw_pageretr.GetRow()
  1100. IF uc_row <= 0 THEN
  1101. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  1102. RETURN
  1103. END IF
  1104. S_SREU.Title = '请输入新的销售订单相关号'
  1105. S_SREU.OLD_TEXT = dw_pageretr.object.u_saletask_relcode[uc_row]
  1106. OpenWithParm(w_inputbox,S_SREU)
  1107. LS_STR = Message.StringParm
  1108. IF Trim(LS_STR) = '' OR IsNull(LS_STR) or LS_STR = dw_pageretr.object.u_saletask_relcode[uc_row] THEN RETURN
  1109. IF obj_saletask.uof_update_relcode(dw_pageretr.Object.u_saletask_scid[uc_row], &
  1110. dw_pageretr.Object.taskid[uc_row],&
  1111. LS_STR,arg_msg,TRUE) = 0 THEN
  1112. MessageBox('错误',arg_msg,stopsign!,OK!)
  1113. RETURN
  1114. ELSE
  1115. MessageBox('提示','修改销售订单相关号操作成功!',information!,OK!)
  1116. wf_refresh_curuc(cur_scid,dw_pageretr.Object.taskid[uc_row])
  1117. END IF
  1118. end event
  1119. event ue_fj_edit_mx();IF dw_edit_mode THEN
  1120. MessageBox('提示','编辑状态下不可用')
  1121. RETURN
  1122. END IF
  1123. //IF NOT f_power_ind(1098) THEN
  1124. // MessageBox(publ_operator,sys_msg_pow)
  1125. // RETURN
  1126. //END IF
  1127. s_edit_index_tran s_pic
  1128. Long ll_ConnectionID
  1129. String arg_msg
  1130. Long ls_row,ll_mxrow
  1131. ls_row = dw_pageretr.GetRow()
  1132. IF ls_row <= 0 THEN
  1133. RETURN
  1134. END IF
  1135. ll_mxrow = dw_child.GetRow()
  1136. IF ll_mxrow <= 0 THEN
  1137. RETURN
  1138. END IF
  1139. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  1140. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  1141. RETURN
  1142. END IF
  1143. s_pic.f_long = 9102 //销售订单明细
  1144. s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
  1145. s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
  1146. s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
  1147. s_pic.d_long = dw_child.Object.u_saletaskmx_printid[ll_mxrow]
  1148. s_pic.sqltransaction = sys_filedb_sqlca
  1149. OpenWithParm(w_fj_bill_mng,s_pic)
  1150. end event
  1151. event ue_fj_mx_add();IF dw_edit_mode THEN
  1152. MessageBox('提示','编辑状态下不可用')
  1153. RETURN
  1154. END IF
  1155. IF NOT f_power_ind(1098) THEN
  1156. MessageBox(publ_operator,sys_msg_pow)
  1157. RETURN
  1158. END IF
  1159. s_edit_index_tran s_pic
  1160. Long ll_ConnectionID
  1161. String arg_msg
  1162. Long ls_row
  1163. ls_row = dw_pageretr.GetRow()
  1164. IF ls_row <= 0 THEN
  1165. RETURN
  1166. END IF
  1167. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  1168. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  1169. RETURN
  1170. END IF
  1171. s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
  1172. s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
  1173. s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
  1174. s_pic.sqltransaction = sys_filedb_sqlca
  1175. OpenWithParm(w_saletaskmx_fileadd,s_pic)
  1176. end event
  1177. event ue_fj_view_mx();IF dw_edit_mode THEN
  1178. MessageBox('提示','编辑状态下不可用')
  1179. RETURN
  1180. END IF
  1181. s_edit_index_tran s_pic
  1182. Long ll_ConnectionID
  1183. String arg_msg
  1184. Long ls_row,ll_mxrow
  1185. ls_row = dw_pageretr.GetRow()
  1186. IF ls_row <= 0 THEN
  1187. RETURN
  1188. END IF
  1189. ll_mxrow = dw_child.GetRow()
  1190. IF ll_mxrow <= 0 THEN
  1191. RETURN
  1192. END IF
  1193. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  1194. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  1195. RETURN
  1196. END IF
  1197. s_pic.f_long = 9102 //销售订单明细
  1198. s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
  1199. s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
  1200. s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
  1201. s_pic.d_long = dw_child.Object.u_saletaskmx_printid[ll_mxrow]
  1202. s_pic.sqltransaction = sys_filedb_sqlca
  1203. OpenWithParm(w_fj_bill_view,s_pic)
  1204. end event
  1205. event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN
  1206. s_edit_index_tran s_open //传递参数使用
  1207. s_open.work_mode = 1
  1208. s_open.c_long = 0
  1209. Openwithparm(w_banktype_edit_ch, s_open)
  1210. s_banktype s_ch
  1211. s_ch = Message.PowerObjectParm
  1212. IF s_ch.banktypeid > 0 THEN
  1213. dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()] = s_ch.banktypeid
  1214. END IF
  1215. datawindowchild childdw
  1216. dw_uc.GetChild("u_saletask_banktypeid",childdw)
  1217. childdw.SetTransObject (sqlca)
  1218. childdw.Retrieve()
  1219. END IF
  1220. end event
  1221. event ue_ch_money();IF NOT IsValid(w_currency_edit_ch) THEN
  1222. Open(w_currency_edit_ch)
  1223. s_currency s_ch
  1224. s_ch = Message.PowerObjectParm
  1225. IF s_ch.moneyid > 0 THEN
  1226. dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()] = s_ch.moneyid
  1227. dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()] = s_ch.rate
  1228. END IF
  1229. datawindowchild childdw
  1230. dw_uc.GetChild("u_saletask_moneyid",childdw)
  1231. childdw.SetTransObject (sqlca)
  1232. childdw.Retrieve()
  1233. END IF
  1234. end event
  1235. event ue_send_jd_ljfieb();IF dw_edit_mode THEN
  1236. MessageBox('系统提示','编辑状态下不可操作')
  1237. RETURN
  1238. END IF
  1239. IF sys_email_sqlca.DBHandle() = 0 THEN
  1240. MessageBox('Error','电子商务数据库连接失败,请检查')
  1241. RETURN
  1242. END IF
  1243. uo_ljfieb uo_fieb
  1244. uo_fieb = create uo_ljfieb
  1245. uo_fieb.commit_transaction = sys_email_sqlca
  1246. Long ll_row
  1247. Long ll_scid,ll_taskid
  1248. String ls_fiebrelcode
  1249. String arg_summary,arg_postscript,arg_remark
  1250. string arg_msg
  1251. ll_row = dw_pageretr.GetRow()
  1252. IF ll_row <= 0 THEN
  1253. MessageBox('系统提示','请选择要与客户确认交期的订单')
  1254. RETURN
  1255. END IF
  1256. ll_scid = dw_pageretr.Object.u_saletask_scid[ll_row]
  1257. ll_taskid = dw_pageretr.Object.taskid[ll_row]
  1258. ls_fiebrelcode = dw_pageretr.Object.u_saletask_fiebrelcode[ll_row]
  1259. IF Trim(ls_fiebrelcode) = '' THEN
  1260. MessageBox('系统提示','本销售订单不是引入客户采购订单成生,不能推送订单进度')
  1261. RETURN
  1262. END IF
  1263. s_packet_ljfieb s_pack,s_return
  1264. OpenWithParm(w_dscrp_edit_ljfieb,s_pack)
  1265. s_return = Message.PowerObjectParm
  1266. IF s_return.returnflag <> 1 THEN RETURN
  1267. arg_summary = '订单 '+ls_fiebrelcode+' 进度'
  1268. arg_postscript = s_return.postscript
  1269. arg_remark = s_return.remark
  1270. IF uo_fieb.send_buytask_jd(ll_scid,ll_taskid,arg_summary,arg_postscript,arg_remark,arg_msg,True) = 0 THEN
  1271. MessageBox('Erorr',arg_msg)
  1272. RETURN
  1273. END IF
  1274. destroy uo_fieb
  1275. messagebox('系统提示','发送进度成功!')
  1276. end event
  1277. event ue_redate_ljfieb();IF dw_edit_mode THEN
  1278. MessageBox('系统提示','编辑状态下不可操作')
  1279. RETURN
  1280. END IF
  1281. Long ll_row
  1282. Long ll_scid,ll_taskid
  1283. String ls_fiebrelcode
  1284. ll_row = dw_pageretr.GetRow()
  1285. IF ll_row <= 0 THEN
  1286. MessageBox('系统提示','请选择要与客户确认交期的订单')
  1287. RETURN
  1288. END IF
  1289. ll_scid = dw_pageretr.Object.u_saletask_scid[ll_row]
  1290. ll_taskid = dw_pageretr.Object.taskid[ll_row]
  1291. ls_fiebrelcode = dw_pageretr.Object.u_saletask_fiebrelcode[ll_row]
  1292. IF Trim(ls_fiebrelcode) = '' THEN
  1293. MessageBox('系统提示','本销售订单不是引入客户采购订单成生,不能执行交期确认反馈')
  1294. RETURN
  1295. END IF
  1296. s_edit_index_tran s_tran_re
  1297. s_tran_re.b_long = ll_scid
  1298. s_tran_re.c_long = ll_taskid
  1299. openwithparm(w_saletaskmx_redate_ljfieb,s_tran_re)
  1300. wf_refresh_curuc(ll_scid,ll_taskid)
  1301. THIS.TriggerEvent('retrieve_childdw')
  1302. end event
  1303. event ue_p_tax();IF NOT dw_edit_mode THEN RETURN
  1304. IF MessageBox('提示','是否要确定要批设定税率', question!, YesNo!, 1) = 2 THEN
  1305. RETURN
  1306. END IF
  1307. Long ll_i
  1308. dw_child.AcceptText()
  1309. dw_child.SetRedraw(FALSE)
  1310. FOR ll_i = 2 TO dw_child.RowCount()
  1311. dw_child.Object.u_saletaskmx_tax[ll_i] = dw_child.Object.u_saletaskmx_tax[1]
  1312. NEXT
  1313. dw_child.SetRedraw(TRUE)
  1314. end event
  1315. event ue_finishtask_cancel();IF dw_edit_mode THEN
  1316. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  1317. RETURN
  1318. END IF
  1319. IF Not f_power_ind(10) THEN
  1320. MessageBox('提示',sys_msg_pow,information!,OK!)
  1321. RETURN
  1322. END IF
  1323. String arg_msg = ''
  1324. Long pagerert_row
  1325. pagerert_row = dw_pageretr.GetRow()
  1326. IF pagerert_row <= 0 THEN
  1327. MessageBox('提示','请选定当前目标销售订单!',information!,OK!)
  1328. RETURN
  1329. END IF
  1330. IF MessageBox ("询问","是否确定要取消完成当前销售订单?",Question!,YesNo! ) = 2 THEN RETURN
  1331. Long ls_taskid
  1332. ls_taskid = dw_pageretr.Object.taskid[pagerert_row]
  1333. IF obj_saletask.finishtask_cancel(dw_pageretr.Object.u_saletask_scid[pagerert_row],ls_taskid,arg_msg,True) = 0 THEN
  1334. MessageBox('错误',arg_msg,stopsign!,OK!)
  1335. ELSE
  1336. MessageBox('提示','销售订单取消完成操作成功!',information!,OK!)
  1337. String ls_taskcode
  1338. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  1339. IF f_billevent_trigger (102, 1, ls_taskcode, arg_msg) = 0 THEN
  1340. MessageBox('Error',arg_msg)
  1341. END IF
  1342. IF cur_status <> -1 THEN
  1343. dw_uc.DeleteRow(pagerert_row)
  1344. ELSE
  1345. wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
  1346. END IF
  1347. END IF
  1348. end event
  1349. event ue_create_outware_sale();//辅助生成销售发货单
  1350. IF Not f_power_ind(267) THEN
  1351. MessageBox('提示',sys_msg_pow, Information!, OK! )
  1352. RETURN
  1353. END IF
  1354. Long ll_storageid
  1355. IF sys_option_hide_ware = 0 THEN
  1356. Open(w_order_ml_storage)
  1357. ll_storageid = Message.DoubleParm
  1358. IF ll_storageid = 0 THEN RETURN
  1359. ELSE
  1360. ll_storageid = 11
  1361. END IF
  1362. Long cnt
  1363. String ls_msg
  1364. Long i,j
  1365. Long ll_scid
  1366. s_saletask_ch s_saletask
  1367. dw_pageretr.AcceptText()
  1368. i = dw_pageretr.GetRow()
  1369. IF i <= 0 THEN
  1370. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  1371. RETURN
  1372. END IF
  1373. IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
  1374. MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
  1375. RETURN
  1376. END IF
  1377. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  1378. s_saletask.taskid = dw_pageretr.Object.taskid[i]
  1379. s_saletask.taskcode = dw_pageretr.Object.taskcode[i]
  1380. s_saletask.assign_emp = dw_pageretr.Object.assign_emp[i]
  1381. s_saletask.cusid = dw_pageretr.Object.u_saletask_cusid[i]
  1382. s_saletask.cuscode = dw_pageretr.Object.u_cust_cuscode[i]
  1383. s_saletask.cusname = dw_pageretr.Object.u_cust_name[i]
  1384. IF dw_pageretr.Object.u_saletask_relcode[i] = '' THEN
  1385. s_saletask.relcode = dw_pageretr.Object.taskcode[i]
  1386. ELSE
  1387. s_saletask.relcode = dw_pageretr.Object.u_saletask_relcode[i]
  1388. END IF
  1389. s_saletask.freight = dw_pageretr.Object.u_saletask_freight[i]
  1390. s_saletask.freight_tele = dw_pageretr.Object.u_saletask_freight_tele[i]
  1391. s_saletask.moneyid = dw_pageretr.Object.u_saletask_moneyid[i]
  1392. s_saletask.dscrp = dw_pageretr.Object.dscrp[i]
  1393. s_saletask.dscrp2 = dw_pageretr.Object.u_saletask_dscrp2[i]
  1394. s_saletask.dscrp3 = dw_pageretr.Object.dscrp3[i]
  1395. s_saletask.paytype = dw_pageretr.Object.u_saletask_paytype[i]
  1396. s_saletask.banktypeid = dw_pageretr.Object.u_saletask_banktypeid[i]
  1397. s_saletask.freight_address = dw_pageretr.Object.u_saletask_freight_address[i]
  1398. s_saletask.Address = dw_pageretr.Object.u_saletask_cus_address[i]
  1399. s_saletask.tele = dw_pageretr.Object.u_saletask_cus_tele[i]
  1400. s_saletask.tele1 = dw_pageretr.Object.u_saletask_cus_tele1[i]
  1401. s_saletask.fax = dw_pageretr.Object.u_saletask_cus_fax[i]
  1402. s_saletask.rep = dw_pageretr.Object.u_cust_rep[i]
  1403. s_saletask.lsflag = 0 //dw_pageretr.Object.u_cust_lsflag[i]
  1404. s_saletask.damt = dw_pageretr.Object.u_saletask_damt[i]
  1405. s_saletask.rel_rep = dw_pageretr.Object.u_saletask_rel_rep[i]
  1406. s_saletask.transcode = dw_pageretr.Object.u_saletask_transcode[i]
  1407. //IF cbx_ifzero.Checked = TRUE THEN
  1408. s_saletask.if_zeromtrlware = 1
  1409. //ELSE
  1410. // s_saletask.if_zeromtrlware = 0
  1411. //END IF
  1412. s_edit_index_tran s_open
  1413. IF Not IsValid(w_outware_sale) THEN
  1414. OpenWithParm(w_outware_sale,s_open)
  1415. w_outware_sale.ddlb_scid.uf_selectsc(ll_scid)
  1416. w_outware_sale.cb_add.TriggerEvent(Clicked!)
  1417. w_outware_sale.dw_uc.Object.u_outware_storageid[w_outware_sale.dw_uc.GetRow()] = ll_storageid
  1418. w_outware_sale.wf_ue_f7(s_saletask)
  1419. END IF
  1420. end event
  1421. event ue_stopqty();IF NOT f_power_ind(1723,sys_msg_pow) THEN
  1422. MessageBox(publ_operator,sys_msg_pow)
  1423. RETURN
  1424. END IF
  1425. IF dw_edit_mode THEN
  1426. MessageBox('提示','编辑状态下不可用')
  1427. RETURN
  1428. END IF
  1429. IF MessageBox ("IF","是否确定修改当前明细的终止数?",Question!,YesNo! ) = 2 THEN RETURN
  1430. String arg_msg = ''
  1431. Long childrow,uc_row,cnt
  1432. uc_row = dw_pageretr.GetRow()
  1433. IF uc_row <= 0 THEN
  1434. MessageBox('系统提示','请选定当前目标订单!')
  1435. RETURN
  1436. END IF
  1437. childrow = dw_child.GetRow()
  1438. IF childrow <= 0 THEN
  1439. MessageBox('系统提示','请选定当前明细物料!')
  1440. RETURN
  1441. END IF
  1442. Long ll_scid,ll_taskid,ll_printid
  1443. ll_scid = dw_pageretr.Object.u_saletask_scid[uc_row]
  1444. ll_taskid = dw_pageretr.Object.taskid[uc_row]
  1445. ll_printid = dw_child.Object.u_saletaskmx_printid[childrow]
  1446. s_edit_index_tran s_inscust_stop
  1447. s_inscust_stop.b_long = ll_scid
  1448. s_inscust_stop.c_long = ll_taskid
  1449. s_inscust_stop.d_long = ll_printid
  1450. OpenWithParm(w_saletaskmx_stopqty_edit,s_inscust_stop)
  1451. this.TriggerEvent('retrieve_childdw')
  1452. wf_refresh_curuc(ll_scid,ll_taskid)
  1453. end event
  1454. event ue_mod_enprice();If not f_power_ind(1724,sys_msg_pow) Then
  1455. MessageBox(publ_operator,sys_msg_pow)
  1456. Return
  1457. End If
  1458. If dw_edit_mode Then Return
  1459. String arg_msg = ''
  1460. Long uc_row
  1461. Long ll_scid,ll_taskid,ll_cusid,ll_moneyid
  1462. Decimal ld_mrate
  1463. uc_row = dw_pageretr.GetRow()
  1464. If uc_row <= 0 Then
  1465. MessageBox('系统提示','请选定当前目标订单!')
  1466. Return
  1467. End If
  1468. If dw_pageretr.Object.u_saletask_status[uc_row] <> 1 Then
  1469. MessageBox('系统提示','目标订单不是在进行或状态,操作取消!')
  1470. Return
  1471. End If
  1472. ll_scid = dw_pageretr.Object.u_saletask_scid[uc_row]
  1473. ll_taskid = dw_pageretr.Object.taskid[uc_row]
  1474. ll_cusid = dw_pageretr.Object.u_saletask_cusid[uc_row]
  1475. ll_moneyid = dw_pageretr.Object.u_saletask_moneyid[uc_row]
  1476. ld_mrate = dw_pageretr.Object.u_saletask_mrate[uc_row]
  1477. s_edit_index_tran s_open
  1478. s_open.b_long = ll_scid
  1479. s_open.c_long = ll_taskid
  1480. s_open.d_long = ll_cusid
  1481. s_open.e_long = ll_moneyid
  1482. s_open.b_decimal = ld_mrate
  1483. OpenWithParm(w_saletaskmx_mod_enprice,s_open)
  1484. wf_refresh_curuc(ll_scid,ll_taskid)
  1485. This.TriggerEvent("retrieve_childdw")
  1486. end event
  1487. event ue_create_oppose_cust();//辅助生成客户投诉单
  1488. IF Not f_power_ind(268) THEN
  1489. MessageBox('提示','你没有客户投诉单的使用权限!', Information!, OK! )
  1490. RETURN
  1491. END IF
  1492. Long cnt
  1493. String ls_msg
  1494. Long i,j
  1495. Long ll_scid
  1496. s_saletask_mtrl s_saletask
  1497. dw_pageretr.AcceptText()
  1498. i = dw_pageretr.GetRow()
  1499. IF i <= 0 THEN
  1500. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  1501. RETURN
  1502. END IF
  1503. IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
  1504. MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
  1505. RETURN
  1506. END IF
  1507. j = dw_child.GetRow()
  1508. IF j <= 0 THEN
  1509. MessageBox('系统提示','请选定当前目标订单明细产品!',Information!,OK!)
  1510. RETURN
  1511. END IF
  1512. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  1513. //dw_pageretr
  1514. s_saletask.scid[1] = dw_pageretr.Object.u_saletask_scid[i]
  1515. s_saletask.taskid[1] = dw_pageretr.Object.taskid[i]
  1516. s_saletask.taskcode[1] = dw_pageretr.Object.taskcode[i]
  1517. s_saletask.cusid[1] = dw_pageretr.Object.u_saletask_cusid[i]
  1518. s_saletask.cusname[1] = dw_pageretr.Object.u_cust_name[i]
  1519. //dw_child
  1520. s_saletask.printid[1] = dw_child.Object.u_saletaskmx_printid[j]
  1521. s_saletask.mtrlid[1] = dw_child.Object.mtrlid[j]
  1522. s_saletask.mtrlcode[1] = dw_child.Object.u_mtrldef_mtrlcode[j]
  1523. s_saletask.mtrlname[1] = dw_child.Object.mtrlname[j]
  1524. s_saletask.mtrlmode[1] = dw_child.Object.u_mtrldef_mtrlmode[j]
  1525. s_saletask.qty[1] = dw_child.Object.usaleqty[j]
  1526. s_edit_index_tran s_open
  1527. IF Not IsValid(w_oppose_cust) THEN
  1528. OpenWithParm(w_oppose_cust,s_open)
  1529. w_oppose_cust.cb_add.TriggerEvent(Clicked!)
  1530. w_oppose_cust.wf_ue_f10(s_saletask)
  1531. END IF
  1532. end event
  1533. event ue_create_reissue();//辅助生成客户费用单
  1534. IF Not f_power_ind(1020) THEN
  1535. MessageBox('提示','你没有客户费用单的使用权限!', Information!, OK! )
  1536. RETURN
  1537. END IF
  1538. Long cnt
  1539. String arg_msg
  1540. Long i,j
  1541. Long ll_scid, ll_taskid
  1542. //s_saletask_mtrl s_saletask
  1543. dw_pageretr.AcceptText()
  1544. i = dw_pageretr.GetRow()
  1545. IF i <= 0 THEN
  1546. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  1547. RETURN
  1548. END IF
  1549. IF (dw_pageretr.Object.u_saletask_status[i] = 0 ) THEN
  1550. MessageBox('系统提示','当前选定订单未审核!',Information!,OK!)
  1551. RETURN
  1552. END IF
  1553. //j = dw_child.GetRow()
  1554. //IF j <= 0 THEN
  1555. // MessageBox('系统提示','请选定当前目标订单明细产品!',Information!,OK!)
  1556. // RETURN
  1557. //END IF
  1558. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  1559. ll_taskid = dw_pageretr.Object.taskid[i]
  1560. ////dw_pageretr
  1561. //s_saletask.scid[1] = dw_pageretr.Object.u_saletask_scid[i]
  1562. //s_saletask.taskid[1] = dw_pageretr.Object.taskid[i]
  1563. //s_saletask.taskcode[1] = dw_pageretr.Object.taskcode[i]
  1564. //
  1565. //s_saletask.cusid[1] = dw_pageretr.Object.u_saletask_cusid[i]
  1566. //s_saletask.cusname[1] = dw_pageretr.Object.u_cust_name[i]
  1567. //
  1568. ////dw_child
  1569. //s_saletask.printid[1] = dw_child.Object.u_saletaskmx_printid[j]
  1570. //s_saletask.mtrlid[1] = dw_child.Object.mtrlid[j]
  1571. //s_saletask.mtrlcode[1] = dw_child.Object.u_mtrldef_mtrlcode[j]
  1572. //s_saletask.mtrlname[1] = dw_child.Object.mtrlname[j]
  1573. //s_saletask.mtrlmode[1] = dw_child.Object.u_mtrldef_mtrlmode[j]
  1574. //s_saletask.qty[1] = dw_child.Object.usaleqty[j]
  1575. s_edit_index_tran s_open
  1576. IF Not IsValid(w_reissue) THEN
  1577. OpenWithParm(w_reissue,s_open)
  1578. w_reissue.ddlb_scid.uf_selectsc(ll_scid)
  1579. w_reissue.cb_add.TriggerEvent(Clicked!)
  1580. w_reissue.wf_adduc_saletask(ll_scid, ll_taskid, arg_msg)
  1581. END IF
  1582. end event
  1583. event ue_view_reissue();//查看客户费用单
  1584. IF Not f_power_ind(1020) THEN
  1585. MessageBox('提示','你没有客户费用单的使用权限!', Information!, OK! )
  1586. RETURN
  1587. END IF
  1588. Long cnt
  1589. String arg_msg
  1590. Long i,j
  1591. Long ll_scid, ll_taskid
  1592. String ls_taskcode
  1593. dw_pageretr.AcceptText()
  1594. i = dw_pageretr.GetRow()
  1595. IF i <= 0 THEN
  1596. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  1597. RETURN
  1598. END IF
  1599. If (dw_pageretr.Object.u_saletask_status[i] = 0 ) THEN
  1600. MessageBox('系统提示','当前选定订单未审核!',Information!,OK!)
  1601. RETURN
  1602. END IF
  1603. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  1604. ll_taskid = dw_pageretr.Object.taskid[i]
  1605. ls_taskcode = dw_pageretr.Object.taskcode[i]
  1606. //f_open_win(ll_scid,ls_code)
  1607. s_edit_index_tran s_open
  1608. s_open.work_mode = 0
  1609. s_open.arg_pkid = 0
  1610. s_open.arg_string_code = ls_taskcode
  1611. s_open.c_long = ll_scid
  1612. s_open.d_long = 2
  1613. s_open.if_retrieve_all = local_retrieve_all
  1614. //s_tran.d_string = ls_taskcode
  1615. window openwin
  1616. OpenWithParm(openwin,s_open,'w_reissue')
  1617. end event
  1618. event ue_fj_mx_add_p();IF dw_edit_mode THEN
  1619. MessageBox('提示','编辑状态下不可用')
  1620. RETURN
  1621. END IF
  1622. IF NOT f_power_ind(1098,sys_msg_pow) THEN
  1623. MessageBox(publ_operator,sys_msg_pow)
  1624. RETURN
  1625. END IF
  1626. s_edit_index_tran s_pic
  1627. Long ll_ConnectionID
  1628. String arg_msg
  1629. Long ls_row
  1630. ls_row = dw_pageretr.GetRow()
  1631. IF ls_row <= 0 THEN
  1632. RETURN
  1633. END IF
  1634. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  1635. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  1636. RETURN
  1637. END IF
  1638. s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
  1639. s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
  1640. s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
  1641. s_pic.sqltransaction = sys_filedb_sqlca
  1642. OpenWithParm(w_saletaskmx_fileadd_p,s_pic)
  1643. end event
  1644. event ue_add_fymx();//用于选择明细内容,被f8[默认]\dw_fymx.doubleclicked调用
  1645. IF Not dw_edit_mode THEN RETURN
  1646. IF dw_uc.GetRow() <= 0 THEN
  1647. MessageBox('系统提示','请先选择单据')
  1648. RETURN
  1649. END IF
  1650. Long child_row
  1651. Long ls_cusid,ll_moneyid
  1652. Decimal ld_mrate
  1653. Long ls_j
  1654. s_edit_index_tran s_tran88
  1655. child_row = dw_fymx.GetRow()
  1656. IF Not IsValid(w_itemdef_ch) THEN
  1657. This.Enabled = False
  1658. s_tran88.work_mode = 1
  1659. Openwithparm(w_itemdef_ch, s_tran88) //调用
  1660. This.Enabled = True
  1661. s_itemdef s_inscust
  1662. s_inscust = Message.PowerObjectParm //接受返回结构
  1663. dw_fymx.SetRedraw(False)
  1664. IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值
  1665. IF dw_fymx.Find('u_saletask_itemmx_itemid = '+String(s_inscust.itemid),1,dw_fymx.RowCount()) > 0 THEN
  1666. dw_fymx.SetRedraw(True)
  1667. dw_fymx.SetFocus()
  1668. RETURN
  1669. END IF
  1670. IF dw_fymx.GetRow() > 0 THEN
  1671. IF dw_fymx.Object.u_saletask_itemmx_itemid[child_row] <> 0 THEN
  1672. child_row = dw_fymx.InsertRow (0)
  1673. ELSE
  1674. child_row = dw_fymx.GetRow()
  1675. END IF
  1676. ELSE
  1677. child_row = dw_fymx.InsertRow (0)
  1678. END IF
  1679. dw_fymx.Object.u_saletask_itemmx_itemid[child_row] = s_inscust.itemid
  1680. dw_fymx.Object.u_itemdef_itemcode[child_row] = s_inscust.itemcode
  1681. dw_fymx.Object.u_itemdef_itemname[child_row] = s_inscust.itemname
  1682. dw_fymx.Object.u_itemdef_itemtype[child_row] = s_inscust.itemtype
  1683. dw_fymx.Object.u_saletask_itemmx_scid[child_row] =cur_scid
  1684. dw_fymx.Object.u_saletask_itemmx_itype[child_row] =1//方向类型默认为增项
  1685. dw_fymx.SetColumn('u_saletask_itemmx_amt')
  1686. END IF
  1687. dw_fymx.SelectRow(0,False)
  1688. dw_fymx.SelectRow(child_row,True)
  1689. dw_fymx.SetRow(child_row)
  1690. dw_fymx.SetRedraw(True)
  1691. dw_fymx.SetFocus()
  1692. END IF
  1693. end event
  1694. event ue_ch_station();IF dw_edit_mode THEN
  1695. Long ll_row
  1696. s_station s_station_2
  1697. String arg_msg
  1698. dw_uc.AcceptText()
  1699. ll_row = dw_uc.GetRow()
  1700. IF ll_row <= 0 THEN
  1701. MessageBox('提示','请先选择客户',information!,OK!)
  1702. RETURN
  1703. END IF
  1704. IF NOT IsValid(w_station_edit) THEN
  1705. s_edit_index_tran s_ch_tran
  1706. s_ch_tran.if_retrieve_all = FALSE
  1707. s_ch_tran.work_mode = 1
  1708. s_ch_tran.arg_pkid = 0
  1709. s_ch_tran.arg_string_code = ''
  1710. s_ch_tran.if_select_all = FALSE
  1711. OpenWithParm(w_station_edit,s_ch_tran) //调用
  1712. s_station_2 = Message.PowerObjectParm //接受返回结构
  1713. IF s_station_2.stationid = 0 THEN RETURN
  1714. dw_uc.Object.u_saletask_freight[ll_row] = s_station_2.stationname
  1715. dw_uc.Object.u_saletask_freight_tele[ll_row] = s_station_2.tele
  1716. //dw_uc.Object.u_outware_relstr_3[ll_row] = s_station_2.address
  1717. dw_uc.Object.u_saletask_freight_address[ll_row] = s_station_2.address
  1718. END IF
  1719. END IF
  1720. end event
  1721. event ue_pricelist_update();
  1722. IF Not f_power_ind(1742,sys_msg_pow) THEN
  1723. MessageBox(publ_operator,sys_msg_pow)
  1724. RETURN
  1725. END IF
  1726. IF dw_edit_mode THEN RETURN
  1727. String arg_msg = '',LS_STR
  1728. Long uc_row
  1729. s_inputbox S_SREU
  1730. uc_row = dw_pageretr.GetRow()
  1731. IF uc_row <= 0 THEN
  1732. MessageBox('系统提示','请选定当前目标订单!')
  1733. RETURN
  1734. END IF
  1735. IF dw_pageretr.Object.u_saletask_status[uc_row] = 0 THEN
  1736. MessageBox('系统提示','待审核状态下不能执行本功能!')
  1737. RETURN
  1738. END IF
  1739. s_edit_index_tran s_level
  1740. s_level.b_long = dw_pageretr.Object.u_saletask_scid[uc_row]
  1741. s_level.c_long = dw_pageretr.Object.taskid[uc_row]
  1742. OpenWithParm(w_saletaskmx_update_price_list,s_level)
  1743. end event
  1744. event ue_create_buytask();//辅助生成采购订单
  1745. IF Not f_power_ind(93) THEN
  1746. MessageBox('提示',sys_msg_pow, Information!, OK! )
  1747. RETURN
  1748. END IF
  1749. Long cnt
  1750. String ls_msg
  1751. Long i,j
  1752. Long ll_scid, ll_taskid
  1753. s_saletask_ch s_saletask
  1754. dw_pageretr.AcceptText()
  1755. i = dw_pageretr.GetRow()
  1756. IF i <= 0 THEN
  1757. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  1758. RETURN
  1759. END IF
  1760. IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
  1761. MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
  1762. RETURN
  1763. END IF
  1764. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  1765. ll_taskid = dw_pageretr.Object.taskid[i]
  1766. s_saletask.scid = ll_scid
  1767. s_saletask.taskid = ll_taskid
  1768. s_saletask.taskcode = dw_pageretr.Object.taskcode[i]
  1769. s_saletask.assign_emp = dw_pageretr.Object.assign_emp[i]
  1770. s_saletask.cusid = dw_pageretr.Object.u_saletask_cusid[i]
  1771. s_saletask.cuscode = dw_pageretr.Object.u_cust_cuscode[i]
  1772. s_saletask.cusname = dw_pageretr.Object.u_cust_name[i]
  1773. s_saletask.relcode = dw_pageretr.Object.u_saletask_relcode[i]
  1774. s_saletask.freight = dw_pageretr.Object.u_saletask_freight[i]
  1775. s_saletask.freight_tele = dw_pageretr.Object.u_saletask_freight_tele[i]
  1776. s_saletask.moneyid = dw_pageretr.Object.u_saletask_moneyid[i]
  1777. s_saletask.dscrp2 = dw_pageretr.Object.u_saletask_dscrp2[i]
  1778. s_saletask.dscrp = dw_pageretr.Object.dscrp[i]
  1779. SELECT count(*)
  1780. INTO :cnt
  1781. FROM u_saletaskmx
  1782. WHERE scid = :ll_scid
  1783. AND taskid = :ll_taskid
  1784. And needbuyqty - buytaskqty > 0 ;
  1785. IF sqlca.SQLCode <> 0 THEN
  1786. cnt = 0
  1787. END IF
  1788. IF cnt = 0 THEN
  1789. MessageBox('系统提示','没有需采购数,不能建采购订单!',Information!,OK!)
  1790. RETURN
  1791. END IF
  1792. s_edit_index_tran s_open
  1793. IF Not IsValid(w_buytask) THEN
  1794. OpenWithParm(w_buytask,s_open)
  1795. w_buytask.ddlb_scid.uf_selectsc(ll_scid)
  1796. w_buytask.cb_add.TriggerEvent(Clicked!)
  1797. w_buytask.dw_uc.Object.u_buytask_billtype[w_buytask.dw_uc.GetRow()] = 1
  1798. w_buytask.TriggerEvent('ue_f9')
  1799. w_buytask.wf_autoaddmx_sale(s_saletask)
  1800. END IF
  1801. end event
  1802. event ue_create_taskdamt();//辅助生成客户费用单
  1803. IF Not f_power_ind(1020) THEN
  1804. MessageBox('提示','你没有客户费用单的使用权限!', Information!, OK! )
  1805. RETURN
  1806. END IF
  1807. Long cnt
  1808. String arg_msg
  1809. Long i,j
  1810. Long ll_scid, ll_taskid
  1811. //s_saletask_mtrl s_saletask
  1812. dw_pageretr.AcceptText()
  1813. i = dw_pageretr.GetRow()
  1814. IF i <= 0 THEN
  1815. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  1816. RETURN
  1817. END IF
  1818. IF (dw_pageretr.Object.u_saletask_status[i] = 0 ) THEN
  1819. MessageBox('系统提示','当前选定订单未审核!',Information!,OK!)
  1820. RETURN
  1821. END IF
  1822. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  1823. ll_taskid = dw_pageretr.Object.taskid[i]
  1824. s_edit_index_tran s_open
  1825. IF Not IsValid(w_taskdamt) THEN
  1826. OpenWithParm(w_taskdamt,s_open)
  1827. w_taskdamt.ddlb_scid.uf_selectsc(ll_scid)
  1828. w_taskdamt.cb_add.TriggerEvent(Clicked!)
  1829. w_taskdamt.wf_adduc_saletask(ll_scid, ll_taskid, arg_msg)
  1830. END IF
  1831. end event
  1832. event ue_cmpl_otheramt();IF Not dw_edit_mode THEN
  1833. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  1834. RETURN
  1835. END IF
  1836. Long uc_row
  1837. uc_row = dw_uc.GetRow()
  1838. IF uc_row <= 0 THEN
  1839. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  1840. RETURN
  1841. END IF
  1842. Decimal lde_msttakeamt
  1843. Decimal lde_otheramt
  1844. Long i
  1845. dw_child.accepttext()
  1846. FOR i = 1 To dw_child.RowCount()
  1847. lde_msttakeamt += dw_child.Object.enamt[i]
  1848. NEXT
  1849. OpenWithParm(w_saletask_cmpl_otheramt,lde_msttakeamt)
  1850. lde_otheramt = Message.DoubleParm
  1851. dw_uc.Object.u_saletask_otheramt[uc_row] = lde_otheramt
  1852. end event
  1853. event ue_stopsaletask_cancel();IF dw_edit_mode THEN
  1854. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  1855. RETURN
  1856. END IF
  1857. IF Not f_power_ind(10) THEN
  1858. MessageBox('提示',sys_msg_pow,information!,OK!)
  1859. RETURN
  1860. END IF
  1861. String arg_msg = ''
  1862. Long pagerert_row
  1863. pagerert_row = dw_pageretr.GetRow()
  1864. IF pagerert_row <= 0 THEN
  1865. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  1866. RETURN
  1867. END IF
  1868. IF MessageBox ("询问","是否确定要取消作终止? ",Question!,YesNo! ) = 2 THEN RETURN
  1869. dw_pageretr.AcceptText()
  1870. IF obj_saletask.stopsaletask_cancel(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row],arg_msg,True) = 0 THEN
  1871. MessageBox('错误',arg_msg,stopsign!,OK!)
  1872. ELSE
  1873. MessageBox('提示','订单取消终止操作成功!',information!,OK!)
  1874. String ls_taskcode
  1875. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  1876. IF f_billevent_trigger (102, 6, ls_taskcode, arg_msg) = 0 THEN
  1877. MessageBox('Error',arg_msg)
  1878. END IF
  1879. IF cur_status <> -1 THEN
  1880. dw_uc.DeleteRow(pagerert_row)
  1881. ELSE
  1882. wf_refresh_curuc(dw_pageretr.Object.u_saletask_scid[pagerert_row],dw_pageretr.Object.taskid[pagerert_row])
  1883. END IF
  1884. END IF
  1885. end event
  1886. event insert_childrow_fymx();Long li_row
  1887. li_row = dw_fymx.InsertRow(0)
  1888. dw_fymx.ScrollToRow(li_row)
  1889. dw_fymx.SetColumn ('u_itemdef_itemcode')
  1890. end event
  1891. event ue_p_rebate();IF NOT dw_edit_mode THEN RETURN
  1892. IF MessageBox('提示','是否要确定要批设定折扣', question!, YesNo!, 1) = 2 THEN
  1893. RETURN
  1894. END IF
  1895. Long ll_i
  1896. dw_child.AcceptText()
  1897. dw_child.SetRedraw(FALSE)
  1898. FOR ll_i = 2 TO dw_child.RowCount()
  1899. dw_child.Object.u_saletaskmx_rebate[ll_i] = dw_child.Object.u_saletaskmx_rebate[1]
  1900. NEXT
  1901. dw_child.SetRedraw(TRUE)
  1902. end event
  1903. event ue_p_saleqty();IF NOT dw_edit_mode THEN RETURN
  1904. IF MessageBox('提示','是否要确定要批设定数量', question!, YesNo!, 1) = 2 THEN
  1905. RETURN
  1906. END IF
  1907. Long ll_i
  1908. dw_child.AcceptText()
  1909. dw_child.SetRedraw(FALSE)
  1910. FOR ll_i = 2 TO dw_child.RowCount()
  1911. dw_child.Object.usaleqty[ll_i] = dw_child.Object.usaleqty[1]
  1912. NEXT
  1913. dw_child.SetRedraw(TRUE)
  1914. end event
  1915. event ue_add_addqty();IF NOT dw_edit_mode THEN RETURN
  1916. //IF flag = 1 THEN RETURN
  1917. Long child_row
  1918. Int if_addmxdscrp
  1919. String ls_mxdscrp
  1920. s_addqty_input s_input
  1921. dw_child.AcceptText( )
  1922. child_row = dw_child.GetRow()
  1923. IF child_row <= 0 THEN RETURN
  1924. IF dw_child.Object.mtrlid[child_row] <= 0 THEN RETURN
  1925. ls_mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
  1926. IF NOT IsValid(w_addqty_input) THEN
  1927. OpenWithParm(w_addqty_input,ls_mxdscrp)
  1928. s_input = Message.PowerObjectParm
  1929. IF s_input.addqty = -1 THEN RETURN
  1930. dw_child.Object.u_saletaskmx_addqty[child_row] = s_input.addqty
  1931. IF s_input.addqtystr <> '' THEN
  1932. dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_input.addqtystr
  1933. END IF
  1934. // IF s_input.formula <> '' THEN
  1935. // dw_child.Object.u_outwaremx_formula[child_row] = s_input.formula
  1936. // END IF
  1937. IF s_input.flag = 1 THEN
  1938. dw_child.Object.usaleqty[child_row] = s_input.qty
  1939. END IF
  1940. END IF
  1941. end event
  1942. event ue_paudit_task();IF dw_edit_mode THEN RETURN
  1943. String arg_msg, ls_msg,ls_msg2
  1944. Long i,ch
  1945. Long ll_scid, ll_taskid
  1946. Int li_status
  1947. String ls_taskcode
  1948. IF Not f_power_ind(6) THEN
  1949. MessageBox('提示',sys_msg_pow,information!,OK!)
  1950. RETURN
  1951. END IF
  1952. FOR i = 1 To dw_pageretr.RowCount()
  1953. IF dw_pageretr.Object.ch[i] = 1 THEN
  1954. ch++
  1955. END IF
  1956. NEXT
  1957. IF ch = 0 THEN
  1958. MessageBox('提示','请选定要批审核的订单!',information!,OK!)
  1959. RETURN
  1960. END IF
  1961. IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
  1962. FOR i = 1 To dw_pageretr.RowCount()
  1963. IF dw_pageretr.Object.ch[i] = 1 THEN
  1964. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  1965. ll_taskid = dw_pageretr.Object.taskid[i]
  1966. li_status = dw_pageretr.Object.u_saletask_status[i]
  1967. ls_taskcode = dw_pageretr.Object.taskcode[i]
  1968. IF li_status <> 0 THEN CONTINUE
  1969. IF obj_saletask.audit(ll_scid,ll_taskid,publ_operator,arg_msg,False) = 0 THEN
  1970. ls_msg2 += ls_taskcode+',审核失败,'+arg_msg+'~r~n'
  1971. CONTINUE
  1972. END IF
  1973. IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
  1974. ls_msg2 += ls_taskcode+',二审失败,'+arg_msg+'~r~n'
  1975. CONTINUE
  1976. END IF
  1977. ls_msg2 += ls_taskcode+',审核成功!'+'~r~n'
  1978. END IF
  1979. IF f_billevent_trigger (102, 3, ls_taskcode, arg_msg) = 0 THEN
  1980. ls_msg2 += ls_taskcode+',触发审核失败,'+arg_msg+'~r~n'
  1981. END IF
  1982. IF f_billevent_trigger (102, 4, ls_taskcode, arg_msg) = 0 THEN
  1983. ls_msg2 += ls_taskcode+',触发终审失败,'+arg_msg+'~r~n'
  1984. END IF
  1985. NEXT
  1986. OpenWithParm(w_message_err,ls_msg2)
  1987. TriggerEvent('retrieve_pageretr')
  1988. end event
  1989. event ue_paudit2_task();IF dw_edit_mode THEN RETURN
  1990. String arg_msg, ls_msg,ls_msg2
  1991. Long i,ch
  1992. Long ll_scid, ll_taskid
  1993. Int li_status
  1994. String ls_taskcode
  1995. IF Not f_power_ind(1729) THEN
  1996. MessageBox('提示',sys_msg_pow,information!,OK!)
  1997. RETURN
  1998. END IF
  1999. FOR i = 1 To dw_pageretr.RowCount()
  2000. IF dw_pageretr.Object.ch[i] = 1 THEN
  2001. ch++
  2002. END IF
  2003. NEXT
  2004. IF ch = 0 THEN
  2005. MessageBox('提示','请选定要批审核的订单!',information!,OK!)
  2006. RETURN
  2007. END IF
  2008. IF MessageBox ("询问","是否确定要对已选择的订单批二审?",Question!,YesNo! ) = 2 THEN RETURN
  2009. FOR i = 1 To dw_pageretr.RowCount()
  2010. IF dw_pageretr.Object.ch[i] = 1 THEN
  2011. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  2012. ll_taskid = dw_pageretr.Object.taskid[i]
  2013. li_status = dw_pageretr.Object.u_saletask_status[i]
  2014. ls_taskcode = dw_pageretr.Object.taskcode[i]
  2015. IF li_status <> 4 THEN CONTINUE
  2016. IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
  2017. ls_msg2 += ls_taskcode+',二审失败,'+arg_msg+'~r~n'
  2018. CONTINUE
  2019. END IF
  2020. ls_msg2 += ls_taskcode+',二审成功!'+'~r~n'
  2021. END IF
  2022. IF f_billevent_trigger (102, 4, ls_taskcode, arg_msg) = 0 THEN
  2023. ls_msg2 += ls_taskcode+',触发终审失败,'+arg_msg+'~r~n'
  2024. END IF
  2025. NEXT
  2026. OpenWithParm(w_message_err,ls_msg2)
  2027. TriggerEvent('retrieve_pageretr')
  2028. end event
  2029. event ue_paudit_task_cancel();IF dw_edit_mode THEN RETURN
  2030. String arg_msg, ls_msg,ls_msg2
  2031. Long i,ch
  2032. Long ll_scid, ll_taskid
  2033. Int li_status
  2034. String ls_taskcode
  2035. IF Not f_power_ind(8) THEN
  2036. MessageBox('提示',sys_msg_pow,information!,OK!)
  2037. RETURN
  2038. END IF
  2039. FOR i = 1 To dw_pageretr.RowCount()
  2040. IF dw_pageretr.Object.ch[i] = 1 THEN
  2041. ch++
  2042. END IF
  2043. NEXT
  2044. IF ch = 0 THEN
  2045. MessageBox('提示','请选定要批审核的订单!',information!,OK!)
  2046. RETURN
  2047. END IF
  2048. IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
  2049. FOR i = 1 To dw_pageretr.RowCount()
  2050. IF dw_pageretr.Object.ch[i] = 1 THEN
  2051. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  2052. ll_taskid = dw_pageretr.Object.taskid[i]
  2053. li_status = dw_pageretr.Object.u_saletask_status[i]
  2054. ls_taskcode = dw_pageretr.Object.taskcode[i]
  2055. IF li_status <> 1 THEN CONTINUE
  2056. IF obj_saletask.cancelpermit(ll_scid,ll_taskid,arg_msg,false) = 0 THEN
  2057. ls_msg2 += ls_taskcode+',二审撤审失败,'+arg_msg+'~r~n'
  2058. CONTINUE
  2059. END IF
  2060. IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,true) = 0 THEN
  2061. ls_msg2 += ls_taskcode+',撤审失败,'+arg_msg+'~r~n'
  2062. CONTINUE
  2063. END IF
  2064. ls_msg2 += ls_taskcode+',撤审成功!'+'~r~n'
  2065. END IF
  2066. NEXT
  2067. OpenWithParm(w_message_err,ls_msg2)
  2068. TriggerEvent('retrieve_pageretr')
  2069. end event
  2070. event ue_paudit1_task();IF dw_edit_mode THEN RETURN
  2071. String arg_msg, ls_msg,ls_msg2
  2072. Long i,ch
  2073. Long ll_scid, ll_taskid
  2074. Int li_status
  2075. String ls_taskcode
  2076. IF Not f_power_ind(6) THEN
  2077. MessageBox('提示',sys_msg_pow,information!,OK!)
  2078. RETURN
  2079. END IF
  2080. FOR i = 1 To dw_pageretr.RowCount()
  2081. IF dw_pageretr.Object.ch[i] = 1 THEN
  2082. ch++
  2083. END IF
  2084. NEXT
  2085. IF ch = 0 THEN
  2086. MessageBox('提示','请选定要批审核的订单!',information!,OK!)
  2087. RETURN
  2088. END IF
  2089. IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
  2090. FOR i = 1 To dw_pageretr.RowCount()
  2091. IF dw_pageretr.Object.ch[i] = 1 THEN
  2092. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  2093. ll_taskid = dw_pageretr.Object.taskid[i]
  2094. li_status = dw_pageretr.Object.u_saletask_status[i]
  2095. ls_taskcode = dw_pageretr.Object.taskcode[i]
  2096. IF li_status <> 0 THEN CONTINUE
  2097. IF obj_saletask.audit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
  2098. ls_msg2 += ls_taskcode+',审核失败,'+arg_msg+'~r~n'
  2099. CONTINUE
  2100. END IF
  2101. ls_msg2 += ls_taskcode+',审核成功!'+'~r~n'
  2102. END IF
  2103. IF f_billevent_trigger (102, 3, ls_taskcode, arg_msg) = 0 THEN
  2104. ls_msg2 += ls_taskcode+',触发审核失败,'+arg_msg+'~r~n'
  2105. END IF
  2106. NEXT
  2107. OpenWithParm(w_message_err,ls_msg2)
  2108. TriggerEvent('retrieve_pageretr')
  2109. end event
  2110. event ue_paudit2_task_cancel();IF dw_edit_mode THEN RETURN
  2111. String arg_msg, ls_msg,ls_msg2
  2112. Long i,ch
  2113. Long ll_scid, ll_taskid
  2114. Int li_status
  2115. String ls_taskcode
  2116. IF Not f_power_ind(1730) THEN
  2117. MessageBox('提示',sys_msg_pow,information!,OK!)
  2118. RETURN
  2119. END IF
  2120. FOR i = 1 To dw_pageretr.RowCount()
  2121. IF dw_pageretr.Object.ch[i] = 1 THEN
  2122. ch++
  2123. END IF
  2124. NEXT
  2125. IF ch = 0 THEN
  2126. MessageBox('提示','请选定要批二审撤审的订单!',information!,OK!)
  2127. RETURN
  2128. END IF
  2129. IF MessageBox ("询问","是否确定要对已选择的订单批二审撤审?",Question!,YesNo! ) = 2 THEN RETURN
  2130. FOR i = 1 To dw_pageretr.RowCount()
  2131. IF dw_pageretr.Object.ch[i] = 1 THEN
  2132. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  2133. ll_taskid = dw_pageretr.Object.taskid[i]
  2134. li_status = dw_pageretr.Object.u_saletask_status[i]
  2135. ls_taskcode = dw_pageretr.Object.taskcode[i]
  2136. IF li_status <> 1 THEN CONTINUE
  2137. IF obj_saletask.cancelpermit(ll_scid,ll_taskid,arg_msg,true) = 0 THEN
  2138. ls_msg2 += ls_taskcode+',二审撤审失败,'+arg_msg+'~r~n'
  2139. CONTINUE
  2140. END IF
  2141. ls_msg2 += ls_taskcode+',二审撤审成功!'+'~r~n'
  2142. END IF
  2143. NEXT
  2144. OpenWithParm(w_message_err,ls_msg2)
  2145. TriggerEvent('retrieve_pageretr')
  2146. end event
  2147. event ue_paudit1_task_cancel();IF dw_edit_mode THEN RETURN
  2148. String arg_msg, ls_msg,ls_msg2
  2149. Long i,ch
  2150. Long ll_scid, ll_taskid
  2151. Int li_status
  2152. String ls_taskcode
  2153. IF Not f_power_ind(8) THEN
  2154. MessageBox('提示',sys_msg_pow,information!,OK!)
  2155. RETURN
  2156. END IF
  2157. FOR i = 1 To dw_pageretr.RowCount()
  2158. IF dw_pageretr.Object.ch[i] = 1 THEN
  2159. ch++
  2160. END IF
  2161. NEXT
  2162. IF ch = 0 THEN
  2163. MessageBox('提示','请选定要批审核的订单!',information!,OK!)
  2164. RETURN
  2165. END IF
  2166. IF MessageBox ("询问","是否确定要对已选择的订单批审核?",Question!,YesNo! ) = 2 THEN RETURN
  2167. FOR i = 1 To dw_pageretr.RowCount()
  2168. IF dw_pageretr.Object.ch[i] = 1 THEN
  2169. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  2170. ll_taskid = dw_pageretr.Object.taskid[i]
  2171. li_status = dw_pageretr.Object.u_saletask_status[i]
  2172. ls_taskcode = dw_pageretr.Object.taskcode[i]
  2173. IF li_status <> 4 THEN CONTINUE
  2174. IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
  2175. ls_msg2 += ls_taskcode+',撤审失败,'+arg_msg+'~r~n'
  2176. CONTINUE
  2177. END IF
  2178. ls_msg2 += ls_taskcode+',撤审成功!'+'~r~n'
  2179. END IF
  2180. NEXT
  2181. OpenWithParm(w_message_err,ls_msg2)
  2182. TriggerEvent('retrieve_pageretr')
  2183. end event
  2184. event ue_mx_cmplnoallocqty();Long i,ll_mtrlid
  2185. String ls_status,ls_woodcode,ls_pcode,ls_plancode
  2186. Decimal ld_notsaleqty,ld_noallocqty,ld_cqty,ld_mtrlqty,ld_qty,ld_allqty
  2187. string arg_msg,arg_lsg
  2188. string ls_mesage = ""
  2189. dw_child.SetRedraw(False)
  2190. FOR i = 1 To dw_child.RowCount()
  2191. ld_notsaleqty=0
  2192. ll_mtrlid=0
  2193. ls_status=''
  2194. ls_woodcode=''
  2195. ls_pcode=''
  2196. ls_plancode=''
  2197. ld_notsaleqty = dw_child.Object.usaleqty[i] - dw_child.Object.consignedqty[i] - dw_child.Object.u_saletaskmx_stopqty[i]
  2198. ll_mtrlid = dw_child.Object.mtrlid[i]
  2199. ls_status = dw_child.Object.u_saletaskmx_status[i]
  2200. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  2201. ls_pcode = dw_child.Object.u_saletaskmx_pcode[i]
  2202. ls_plancode = dw_child.Object.u_saletaskmx_plancode[i]
  2203. ld_noallocqty = 0
  2204. SELECT sum(noallocqty)
  2205. INTO :ld_noallocqty
  2206. FROM u_mtrlware,u_storage
  2207. WHERE u_mtrlware.storageid = u_storage.storageid
  2208. and u_mtrlware.mtrlid = :ll_mtrlid
  2209. and u_mtrlware.status = :ls_status
  2210. and u_mtrlware.woodcode = :ls_woodcode
  2211. and u_mtrlware.pcode = :ls_pcode
  2212. and u_mtrlware.plancode = :ls_plancode
  2213. And u_storage.inuse = 1;
  2214. IF sqlca.SQLCode <> 0 THEN
  2215. ld_noallocqty = 0
  2216. END IF
  2217. ld_allqty = 0
  2218. SELECT sum(u_SaleTaskMx.uSaleQty - u_SaleTaskMx.consignedQty - u_SaleTaskMx.stopqty) as allqty
  2219. Into :ld_allqty FROM u_SaleTaskMx INNER JOIN u_SaleTask
  2220. ON u_SaleTaskMx.scid = u_SaleTask.scid AND u_SaleTaskMx.TaskID = u_SaleTask.TaskID
  2221. WHERE u_SaleTask.Status = 1 AND u_SaleTaskMx.MtrlID = :ll_mtrlid
  2222. AND u_SaleTaskMx.status = :ls_status AND u_SaleTaskMx.woodcode = :ls_woodcode AND u_SaleTaskMx.pcode = :ls_pcode;
  2223. IF sqlca.SQLCode <> 0 THEN
  2224. ld_allqty = 0
  2225. END IF
  2226. IF f_cmp_di_qty(ll_mtrlid, -1,ls_status,ld_mtrlqty,arg_lsg,arg_msg) = 0 THEN
  2227. // ls_mesage = ls_mesage + string(ll_mtrlid)+arg_msg
  2228. ld_mtrlqty =0
  2229. else
  2230. END IF
  2231. dw_child.Object.mtrlqty[i] = ld_mtrlqty
  2232. dw_child.Object.noallocqty[i] = ld_noallocqty
  2233. ld_qty = ld_notsaleqty - ( ld_noallocqty + ld_mtrlqty)
  2234. if ld_qty < 0 then ld_qty = 0
  2235. dw_child.Object.cqty[i] =ld_qty
  2236. //dw_child.Object.cqty[i] = ld_notsaleqty - ld_noallocqty
  2237. IF ISNULL(ld_allqty) THEN ld_allqty = 0
  2238. dw_child.Object.allqty[i] = ld_allqty
  2239. dw_child.Object.allcanuseqty[i] =dw_child.Object.noallocqty[i] - dw_child.Object.allqty[i]
  2240. NEXT
  2241. dw_child.SetRedraw(True)
  2242. //if ls_mesage <> "" then MessageBox('错误',ls_mesage,stopsign!,OK!)
  2243. end event
  2244. event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return
  2245. String ls_dscrp
  2246. long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  2247. dw_child.AcceptText()
  2248. ll_mtrlid = dw_child.object.mtrlid[arg_row]
  2249. SELECT
  2250. statusflag,
  2251. woodcodeflag,
  2252. pcodeflag
  2253. into
  2254. :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag
  2255. FROM U_MTRLDEF
  2256. where mtrlid = :ll_mtrlid;
  2257. IF arg_status = 'u_saletaskmx_status' THEN
  2258. IF ll_statusflag<>5 and ll_statusflag<>0 THEN RETURN
  2259. ELSEIF arg_status = 'u_saletaskmx_woodcode' THEN
  2260. IF ll_woodcodeflag<>5 and ll_woodcodeflag<>0 THEN RETURN
  2261. ELSEIF arg_status = 'u_saletaskmx_pcode' then
  2262. IF ll_pcodeflag<>5 and ll_pcodeflag<>0 THEN RETURN
  2263. ELSE
  2264. RETURN
  2265. END IF
  2266. ls_dscrp = dw_child.GetItemString(arg_row, arg_status)
  2267. s_view.Title = '配置内容'
  2268. s_view.dscrp = ls_dscrp
  2269. s_view.editmode = dw_edit_mode
  2270. OpenWithParm(w_view_status,s_view)
  2271. IF dw_edit_mode THEN
  2272. s_return = Message.PowerObjectParm
  2273. dw_child.setitem(arg_row,arg_status,s_return.dscrp)
  2274. END IF
  2275. end event
  2276. event ue_mx_requiredate();IF dw_edit_mode THEN return
  2277. IF dw_pageretr.getrow()<=0 then
  2278. messagebox("提示","请选择订单")
  2279. return
  2280. end if
  2281. datetime rq
  2282. long cnt
  2283. long ll_scid,ll_taskid
  2284. cnt = dw_pageretr.getrow()
  2285. ll_scid = dw_pageretr.object.u_saletask_scid[cnt]
  2286. ll_taskid = dw_pageretr.object.taskid[cnt]
  2287. s_edit_index_tran s_tranr //传递参数使用
  2288. s_tranr.b_long = ll_scid
  2289. s_tranr.c_long = ll_taskid
  2290. openwithparm(w_edit_mx_requiredate,s_tranr)
  2291. select requiredate into :rq from u_saletask
  2292. where taskid = :ll_taskid and scid = :ll_scid;
  2293. dw_uc.object.requiredate[dw_uc.getrow()] = rq
  2294. dw_pageretr.object.requiredate[cnt] = rq
  2295. TriggerEvent("retrieve_childdw")
  2296. //dw_child.retrieve()
  2297. //s_saletask s_sale
  2298. //s_sale.scid = dw_pageretr.object.scid[cnt]
  2299. //s_sale.taskid = dw_pageretr.object.taskid[cnt]
  2300. end event
  2301. event ue_view_mxdscrp3();s_view_dscrp s_view,s_return
  2302. String ls_dscrp
  2303. dw_child.AcceptText()
  2304. ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp3[dw_child.GetRow()]
  2305. s_view.Title = '销售订单明细备注3'
  2306. s_view.dscrp = ls_dscrp
  2307. s_view.editmode = dw_edit_mode
  2308. OpenWithParm(w_view_dscrp2,s_view)
  2309. IF dw_edit_mode THEN
  2310. s_return = Message.PowerObjectParm
  2311. dw_child.Object.u_saletaskmx_mxdscrp3[dw_child.GetRow()] = s_return.dscrp
  2312. END IF
  2313. end event
  2314. event ue_view_mxdscrp4();s_view_dscrp s_view,s_return
  2315. String ls_dscrp
  2316. dw_child.AcceptText()
  2317. ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp4[dw_child.GetRow()]
  2318. s_view.Title = '销售订单明细备注4'
  2319. s_view.dscrp = ls_dscrp
  2320. s_view.editmode = dw_edit_mode
  2321. OpenWithParm(w_view_dscrp2,s_view)
  2322. IF dw_edit_mode THEN
  2323. s_return = Message.PowerObjectParm
  2324. dw_child.Object.u_saletaskmx_mxdscrp4[dw_child.GetRow()] = s_return.dscrp
  2325. END IF
  2326. end event
  2327. event ue_importseleprice_buchong();IF Not dw_edit_mode THEN
  2328. MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!)
  2329. RETURN
  2330. END IF
  2331. Long ls_row,ls_cusid,ls_mtrlid
  2332. String ls_cuscode,ls_cusname,arg_msg
  2333. Long uc_row
  2334. Decimal obj_price ,obj_rebate
  2335. String err_str = ''
  2336. Boolean if_exist_price = True
  2337. Long ll_pricelistid,ll_moneyid
  2338. String ls_status,ls_pcode,ls_woodcode,ls_unit
  2339. s_pricelist_ch s_pricelist
  2340. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  2341. IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
  2342. MessageBox('提示','请先选择币种',information!,OK!)
  2343. RETURN
  2344. END IF
  2345. //直接查询价格表
  2346. // IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN
  2347. Open(w_sale_price_list_ch)
  2348. s_pricelist = Message.PowerObjectParm
  2349. IF s_pricelist.pricelistid <= 0 THEN RETURN
  2350. ll_pricelistid = s_pricelist.pricelistid
  2351. IF wf_get_pricelist_price_buchong(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  2352. MessageBox('提示',arg_msg,information!,OK!)
  2353. RETURN
  2354. END IF
  2355. //IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  2356. // MessageBox('提示',arg_msg,information!,OK!)
  2357. // RETURN
  2358. //END IF
  2359. //
  2360. //dw_child.AcceptText()
  2361. //FOR ls_row = 1 To dw_child.RowCount()
  2362. // ls_mtrlid = dw_child.Object.mtrlid[ls_row]
  2363. // ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
  2364. // ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
  2365. // ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
  2366. // ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
  2367. //
  2368. // IF sys_option_price_if_status = 0 THEN
  2369. // ls_status = ''
  2370. // ls_pcode = ''
  2371. // ls_woodcode = ''
  2372. // END IF
  2373. //
  2374. //
  2375. // SELECT u_sale_price_mx.price
  2376. // INTO :obj_price
  2377. // FROM u_sale_price_mx
  2378. // WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND
  2379. // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
  2380. // ( u_sale_price_mx.status = :ls_status ) AND
  2381. // ( u_sale_price_mx.pcode = :ls_pcode ) AND
  2382. // ( u_sale_price_mx.woodcode = :ls_woodcode ) AND
  2383. // ( u_sale_price_mx.unit = :ls_unit );
  2384. // IF sqlca.SQLCode <> 0 THEN
  2385. // err_str = err_str + "当前价格表的 "+String(dw_child.Object.mtrlname[ls_row])+" 的客户定价尚未设定! ~n"
  2386. // ELSE
  2387. // dw_child.Object.u_saletaskmx_enprice[ls_row] = obj_price
  2388. // END IF
  2389. //NEXT
  2390. //
  2391. //
  2392. //IF err_str <> '' THEN
  2393. // MessageBox('错误',err_str,stopsign!,OK!)
  2394. //END IF
  2395. end event
  2396. event ue_cmpl_price();IF dw_child.GetRow() = 0 THEN RETURN
  2397. Long child_row
  2398. Long uc_row
  2399. Long li_cusid,li_mtrlid
  2400. Decimal ld_cusprice
  2401. uc_row = dw_uc.GetRow()
  2402. li_cusid = dw_uc.Object.cusid[uc_row]
  2403. dw_child.AcceptText()
  2404. child_row = dw_child.GetRow()
  2405. s_cmpl_qty s_cmpl,s_return
  2406. s_cmpl.qty = dw_child.Object.u_saletaskmx_enprice[child_row]
  2407. s_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
  2408. s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
  2409. s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[child_row]
  2410. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  2411. s_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
  2412. s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
  2413. s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
  2414. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  2415. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  2416. s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
  2417. s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
  2418. s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
  2419. s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
  2420. li_mtrlid = dw_child.Object.mtrlid[child_row]
  2421. SELECT price
  2422. INTO :ld_cusprice
  2423. FROM u_cust
  2424. INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
  2425. WHERE u_sale_price_mx.mtrlid = :li_mtrlid
  2426. AND u_cust.cusid = :li_cusid;
  2427. IF SQLCA.SQLCODE <> 0 THEN
  2428. ld_cusprice = 0
  2429. END IF
  2430. s_cmpl.cusprice = ld_cusprice
  2431. IF NOT IsValid(w_cmpl_qty_ch) THEN
  2432. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  2433. s_return = Message.PowerObjectParm
  2434. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  2435. dw_child.Object.u_saletaskmx_enprice[child_row] = s_return.qty
  2436. dw_child.Object.u_saletaskmx_priceformula[child_row] = s_return.formula
  2437. END IF
  2438. END IF
  2439. end event
  2440. event ue_p_priceformula_set();IF NOT dw_edit_mode THEN RETURN
  2441. IF MessageBox('提示','是否要确定要批设定单价公式', question!, YesNo!, 2) = 2 THEN
  2442. RETURN
  2443. END IF
  2444. Long ll_i
  2445. dw_child.AcceptText()
  2446. dw_child.SetRedraw(FALSE)
  2447. FOR ll_i = 1 TO dw_child.RowCount()
  2448. IF ll_i = 1 THEN CONTINUE
  2449. dw_child.Object.u_saletaskmx_priceformula[ll_i] = dw_child.Object.u_saletaskmx_priceformula[1]
  2450. NEXT
  2451. dw_child.SetRedraw(TRUE)
  2452. end event
  2453. event ue_p_cmpl_price();IF dw_child.RowCount() = 0 THEN RETURN
  2454. Long i
  2455. String ls_formula
  2456. String ls_msg
  2457. String ls_rs
  2458. String ls_num
  2459. Decimal ld_addqty
  2460. Decimal ld_price
  2461. Decimal ld_rebate
  2462. decimal ld_qty
  2463. dw_child.AcceptText()
  2464. s_cmpl_qty s_cmpl
  2465. Open(w_cmpl_qty_ch_son)
  2466. s_cmpl = Message.PowerObjectParm
  2467. dw_uc.SetRedraw(false)
  2468. FOR i = 1 TO dw_child.RowCount()
  2469. ld_qty = 0
  2470. IF dw_child.Object.u_saletaskmx_priceformula[i] <> '' THEN
  2471. s_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[i]
  2472. s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
  2473. s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  2474. s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
  2475. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  2476. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  2477. s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
  2478. s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
  2479. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  2480. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  2481. MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
  2482. goto ext
  2483. END IF
  2484. dw_child.Object.u_saletaskmx_enprice[i] = ld_qty
  2485. END IF
  2486. NEXT
  2487. ext:
  2488. dw_child.SetColumn('u_saletaskmx_enprice')
  2489. dw_uc.SetRedraw(TRUE)
  2490. end event
  2491. event ue_show_his_pricemx();
  2492. s_edit_index_tran s_ch_tran //传递参数使用
  2493. long ll_row
  2494. long ll_scid
  2495. long ll_outwareid
  2496. long ll_printid
  2497. long ll_mtrlwareid
  2498. decimal dec_uqty
  2499. string ls_mtrlname
  2500. long ll_cusid
  2501. long ll_mtrlid
  2502. string ls_status,ls_woodcode,ls_pcode,ls_plancode,ls_mtrlcode
  2503. ll_row = dw_child.GetRow()
  2504. IF ll_row = 0 THEN RETURN
  2505. long uc_row
  2506. uc_row = dw_uc.GetRow()
  2507. IF uc_row = 0 THEN RETURN
  2508. ll_scid = cur_scid
  2509. ll_cusid = dw_uc.Object.cusid[uc_row]
  2510. ll_mtrlid = dw_child.Object.mtrlid[ll_row]
  2511. ls_status= dw_child.Object.u_saletaskmx_status[ll_row]
  2512. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ll_row]
  2513. ls_pcode= dw_child.Object.u_saletaskmx_pcode[ll_row]
  2514. ls_plancode= dw_child.Object.u_saletaskmx_plancode[ll_row]
  2515. ls_mtrlcode= dw_child.Object.u_mtrldef_mtrlcode[ll_row]
  2516. s_ch_tran.b_long=ll_scid //cur_scid
  2517. s_ch_tran.c_long=ll_cusid //cur_cusid
  2518. s_ch_tran.d_long=ll_mtrlid //cur_mtrlid
  2519. s_ch_tran.b_string=ls_mtrlcode
  2520. s_ch_tran.c_string=ls_status
  2521. s_ch_tran.d_string=ls_woodcode
  2522. s_ch_tran.e_string=ls_pcode
  2523. s_ch_tran.f_string=ls_plancode
  2524. IF IsValid(w_outware_sale_show_his_pricemx) THEN
  2525. w_outware_sale_show_his_pricemx.WindowState = Normal!
  2526. w_outware_sale_show_his_pricemx.cur_scid =ll_scid
  2527. w_outware_sale_show_his_pricemx.cur_cusid =ll_cusid
  2528. w_outware_sale_show_his_pricemx.cur_mtrlid = ll_mtrlid
  2529. w_outware_sale_show_his_pricemx.cur_status = ls_status
  2530. w_outware_sale_show_his_pricemx.cur_woodcode = ls_woodcode
  2531. w_outware_sale_show_his_pricemx.cur_pcode = ls_pcode
  2532. w_outware_sale_show_his_pricemx.cur_plancode = ls_plancode
  2533. w_outware_sale_show_his_pricemx.cur_mtrlname = ls_mtrlcode
  2534. w_outware_sale_show_his_pricemx.wf_retrieve_cbmx()
  2535. ELSE
  2536. OpenWithParm(w_outware_sale_show_his_pricemx,s_ch_tran)
  2537. END IF
  2538. end event
  2539. event ue_retrieve_his_pricemx();
  2540. s_edit_index_tran s_ch_tran //传递参数使用
  2541. long ll_row
  2542. long ll_scid
  2543. long ll_outwareid
  2544. long ll_printid
  2545. long ll_mtrlwareid
  2546. decimal dec_uqty
  2547. string ls_mtrlname
  2548. long ll_cusid
  2549. long ll_mtrlid
  2550. string ls_status,ls_woodcode,ls_pcode,ls_plancode,ls_mtrlcode
  2551. ll_row = dw_child.GetRow()
  2552. IF ll_row = 0 THEN RETURN
  2553. long uc_row
  2554. uc_row = dw_uc.GetRow()
  2555. IF uc_row = 0 THEN RETURN
  2556. ll_scid = cur_scid
  2557. ll_cusid = dw_uc.Object.cusid[uc_row]
  2558. ll_mtrlid = dw_child.Object.mtrlid[ll_row]
  2559. ls_status= dw_child.Object.u_saletaskmx_status[ll_row]
  2560. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ll_row]
  2561. ls_pcode= dw_child.Object.u_saletaskmx_pcode[ll_row]
  2562. ls_plancode= dw_child.Object.u_saletaskmx_plancode[ll_row]
  2563. ls_mtrlcode= dw_child.Object.u_mtrldef_mtrlcode[ll_row]
  2564. s_ch_tran.b_long=ll_scid //cur_scid
  2565. s_ch_tran.c_long=ll_cusid //cur_cusid
  2566. s_ch_tran.d_long=ll_mtrlid //cur_mtrlid
  2567. s_ch_tran.b_string=ls_mtrlcode
  2568. s_ch_tran.c_string=ls_status
  2569. s_ch_tran.d_string=ls_woodcode
  2570. s_ch_tran.e_string=ls_pcode
  2571. s_ch_tran.f_string=ls_plancode
  2572. IF IsValid(w_outware_sale_show_his_pricemx) THEN
  2573. w_outware_sale_show_his_pricemx.WindowState = Normal!
  2574. w_outware_sale_show_his_pricemx.cur_scid =ll_scid
  2575. w_outware_sale_show_his_pricemx.cur_cusid =ll_cusid
  2576. w_outware_sale_show_his_pricemx.cur_mtrlid = ll_mtrlid
  2577. w_outware_sale_show_his_pricemx.cur_status = ls_status
  2578. w_outware_sale_show_his_pricemx.cur_woodcode = ls_woodcode
  2579. w_outware_sale_show_his_pricemx.cur_pcode = ls_pcode
  2580. w_outware_sale_show_his_pricemx.cur_plancode = ls_plancode
  2581. w_outware_sale_show_his_pricemx.cur_mtrlname = ls_mtrlcode
  2582. w_outware_sale_show_his_pricemx.wf_retrieve_cbmx()
  2583. END IF
  2584. end event
  2585. event ue_create_inware_cp();//辅助生成生产进仓单
  2586. IF Not (f_power_ind(376) Or f_power_ind(1054)) THEN
  2587. MessageBox('提示',sys_msg_pow, Information!, OK! )
  2588. RETURN
  2589. END IF
  2590. Long ll_storageid
  2591. IF sys_option_hide_ware = 0 THEN
  2592. Open(w_order_ml_storage)
  2593. ll_storageid = Message.DoubleParm
  2594. IF ll_storageid = 0 THEN RETURN
  2595. ELSE
  2596. ll_storageid = 11
  2597. END IF
  2598. Long cnt
  2599. String ls_msg
  2600. Long i,j
  2601. Long ll_scid, ll_taskid
  2602. s_saletask_ch s_saletask
  2603. dw_pageretr.AcceptText()
  2604. i = dw_pageretr.GetRow()
  2605. IF i <= 0 THEN
  2606. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  2607. RETURN
  2608. END IF
  2609. IF Not (dw_pageretr.Object.u_saletask_status[i] = 1 ) THEN
  2610. MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
  2611. RETURN
  2612. END IF
  2613. ll_scid = dw_pageretr.Object.u_saletask_scid[i]
  2614. ll_taskid = dw_pageretr.Object.taskid[i]
  2615. s_saletask.scid = ll_scid
  2616. s_saletask.taskid = ll_taskid
  2617. s_saletask.taskcode = dw_pageretr.Object.taskcode[i]
  2618. s_saletask.assign_emp = dw_pageretr.Object.assign_emp[i]
  2619. s_saletask.cusid = dw_pageretr.Object.u_saletask_cusid[i]
  2620. s_saletask.cuscode = dw_pageretr.Object.u_cust_cuscode[i]
  2621. s_saletask.cusname = dw_pageretr.Object.u_cust_name[i]
  2622. s_saletask.relcode = dw_pageretr.Object.u_saletask_relcode[i]
  2623. s_saletask.freight = dw_pageretr.Object.u_saletask_freight[i]
  2624. s_saletask.freight_tele = dw_pageretr.Object.u_saletask_freight_tele[i]
  2625. s_saletask.moneyid = dw_pageretr.Object.u_saletask_moneyid[i]
  2626. s_saletask.dscrp2 = dw_pageretr.Object.u_saletask_dscrp2[i]
  2627. s_saletask.dscrp = dw_pageretr.Object.dscrp[i]
  2628. s_edit_index_tran s_open
  2629. IF Not IsValid(w_inware_cp) THEN
  2630. OpenWithParm(w_inware_cp,s_open)
  2631. w_inware_cp.ddlb_scid.uf_selectsc(ll_scid)
  2632. w_inware_cp.cb_add.TriggerEvent(Clicked!)
  2633. String errmsg = ''
  2634. w_inware_cp.wf_autoaddmx(cur_scid,ll_taskid,s_saletask.taskcode,ll_storageid,s_saletask.cusid,errmsg)
  2635. w_inware_cp.dw_uc.SetRedraw(True)
  2636. END IF
  2637. //SELECT count(*)
  2638. // INTO :cnt
  2639. // FROM u_saletaskmx
  2640. // WHERE scid = :ll_scid
  2641. // AND taskid = :ll_taskid
  2642. // And needbuyqty - buytaskqty > 0 ;
  2643. //IF sqlca.SQLCode <> 0 THEN
  2644. // cnt = 0
  2645. //END IF
  2646. //IF cnt = 0 THEN
  2647. // MessageBox('系统提示','没有需采购数,不能建采购订单!',Information!,OK!)
  2648. // RETURN
  2649. //END IF
  2650. //
  2651. //
  2652. //s_edit_index_tran s_open
  2653. //IF Not IsValid(w_buytask) THEN
  2654. // OpenWithParm(w_buytask,s_open)
  2655. //
  2656. // w_buytask.ddlb_scid.uf_selectsc(ll_scid)
  2657. // w_buytask.cb_add.TriggerEvent(Clicked!)
  2658. //
  2659. // w_buytask.dw_uc.Object.u_buytask_billtype[w_buytask.dw_uc.GetRow()] = 1
  2660. // w_buytask.TriggerEvent('ue_f9')
  2661. // w_buytask.wf_autoaddmx_sale(s_saletask)
  2662. //END IF
  2663. end event
  2664. event ue_priceaudit();IF dw_edit_mode THEN RETURN
  2665. String arg_msg = '', ls_msg
  2666. Long pagerert_row
  2667. Long ll_scid, ll_taskid
  2668. Int li_status
  2669. String ls_taskcode
  2670. Boolean lb_audit = False, lb_secaudit = False, lb_commit = True
  2671. IF Not f_power_ind(1826) THEN
  2672. MessageBox('提示',sys_msg_pow,information!,OK!)
  2673. RETURN
  2674. END IF
  2675. pagerert_row = dw_pageretr.GetRow()
  2676. IF pagerert_row <= 0 THEN
  2677. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  2678. RETURN
  2679. END IF
  2680. ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
  2681. ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
  2682. li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
  2683. IF MessageBox ("询问","是否确定要对当前订单确认?",Question!,YesNo! ) = 2 THEN RETURN
  2684. IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
  2685. MessageBox('错误',arg_msg,stopsign!,OK!)
  2686. RETURN
  2687. END IF
  2688. IF obj_saletask.priceaudit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
  2689. MessageBox('错误',arg_msg,stopsign!,OK!)
  2690. RETURN
  2691. END IF
  2692. MessageBox('提示','销售订单确认'+'成功!',information!,OK!)
  2693. wf_refresh_curuc(ll_scid,ll_taskid)
  2694. end event
  2695. event ue_cpriceaudit();
  2696. IF dw_edit_mode THEN RETURN
  2697. String arg_msg = '', ls_msg
  2698. Long pagerert_row
  2699. Long ll_scid, ll_taskid
  2700. Int li_status
  2701. Boolean lb_secaudit = False, lb_commit = False
  2702. IF Not f_power_ind(1827) THEN
  2703. MessageBox('提示',sys_msg_pow,information!,OK!)
  2704. RETURN
  2705. END IF
  2706. pagerert_row = dw_pageretr.GetRow()
  2707. IF pagerert_row <= 0 THEN
  2708. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  2709. RETURN
  2710. END IF
  2711. ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
  2712. ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
  2713. li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
  2714. IF MessageBox ("询问","是否确定要对当前订单取消确认?",Question!,YesNo! ) = 2 THEN RETURN
  2715. IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
  2716. MessageBox('错误',arg_msg,stopsign!,OK!)
  2717. RETURN
  2718. END IF
  2719. IF obj_saletask.priceaudit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
  2720. MessageBox('错误',arg_msg,stopsign!,OK!)
  2721. RETURN
  2722. END IF
  2723. MessageBox('提示','销售订单反确认'+'成功!',information!,OK!)
  2724. wf_refresh_curuc(ll_scid,ll_taskid)
  2725. end event
  2726. event ue_set_dytitle();Long ll_d_col_count,i,j = 1
  2727. String ls_col_name
  2728. s_dytitle_saletask ss_dytitle_saletask //col_name
  2729. ll_d_col_count = Long(dw_child.Object.datawindow.Column.Count)
  2730. FOR i = 1 To ll_d_col_count
  2731. ls_col_name = dw_child.Describe('#' + String(i) + '.Name')
  2732. IF Long(dw_child.Describe(ls_col_name + '.TabSequence ')) > 0 THEN
  2733. ss_dytitle_saletask.col_name[j] = ls_col_name
  2734. ss_dytitle_saletask.title_name[j] = dw_child.describe(ls_col_name + '_t.Text')
  2735. j++
  2736. END IF
  2737. NEXT
  2738. openwithparm(w_dytitle_saletask,ss_dytitle_saletask)
  2739. end event
  2740. event ue_insert_execltodw();Long i,ll_cnt,j
  2741. SELECT count(*) Into :ll_cnt From u_dytitle_saletask;
  2742. IF ll_cnt = 0 THEN
  2743. MessageBox('Error','明细标题与execl标题对应关系没有设置,请先执行设置')
  2744. This.TriggerEvent('ue_set_dytitle')
  2745. RETURN
  2746. END IF
  2747. dw_child.setredraw(false)
  2748. wf_openfile(dw_child)
  2749. dw_child.AcceptText()
  2750. String ls_mtrlcode,ls_unit
  2751. Long ll_mtrlid
  2752. String arg_msg
  2753. For j = dw_child.RowCount() to 1 step -1
  2754. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[j]
  2755. IF ls_mtrlcode = '' THEN
  2756. dw_child.deleterow(j)
  2757. end if
  2758. Next
  2759. FOR i = 1 To dw_child.RowCount()
  2760. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
  2761. IF ls_mtrlcode <> '' THEN
  2762. ll_mtrlid = 0
  2763. SELECT mtrlid,unit Into :ll_mtrlid,:ls_unit From u_mtrldef Where mtrlcode = :ls_mtrlcode;
  2764. IF ll_mtrlid <> 0 THEN
  2765. dw_child.Object.u_saletaskmx_printid[i] = i
  2766. dw_child.Object.mtrlid[i] = ll_mtrlid
  2767. IF dw_child.Object.u_saletaskmx_unit[i] = '' Or IsNull(dw_child.Object.u_saletaskmx_unit[i]) THEN
  2768. dw_child.Object.u_saletaskmx_unit[i] = ls_unit
  2769. END IF
  2770. ELSE
  2771. arg_msg = arg_msg + ',' +ls_mtrlcode
  2772. END IF
  2773. END IF
  2774. NEXT
  2775. dw_child.setredraw(true)
  2776. IF arg_msg <> '' THEN
  2777. MessageBox('Error',arg_msg + ' 没有定义,请先定义物料')
  2778. END IF
  2779. end event
  2780. event ue_setprice_forformula();Long child_row
  2781. dw_child.AcceptText()
  2782. for child_row = 1 to dw_child.rowcount()
  2783. if dw_child.Object.u_saletaskmx_priceformula[child_row]<>'' then
  2784. String ls_msg
  2785. s_cmpl_qty arg_cmpl
  2786. decimal ld_qty
  2787. long mtrlid,cusid
  2788. mtrlid = dw_child.Object.mtrlid[child_row]
  2789. cusid = dw_uc.Object.cusid[dw_uc.getrow()]
  2790. arg_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
  2791. arg_cmpl.price = dw_child.Object.u_saletaskmx_price[child_row]
  2792. arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  2793. arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
  2794. arg_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
  2795. arg_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
  2796. arg_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
  2797. arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  2798. arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  2799. arg_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
  2800. arg_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
  2801. arg_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
  2802. arg_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
  2803. arg_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
  2804. arg_cmpl.num = sys_option_outware_price_amt_round
  2805. arg_cmpl.flag = true
  2806. arg_cmpl.addvalue = 1
  2807. arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
  2808. ld_qty = 0
  2809. if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
  2810. MessageBox('提示',ls_msg, Information!, OK! )
  2811. RETURN
  2812. END IF
  2813. dw_child.Object.u_saletaskmx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
  2814. end if
  2815. next
  2816. end event
  2817. event retrieve_fjnum();
  2818. Long i,ls_filecount
  2819. string arg_billcode
  2820. dw_pageretr.SetRedraw(False)
  2821. FOR i = 1 To dw_pageretr.RowCount()
  2822. arg_billcode = dw_pageretr.Object.taskcode[i]
  2823. ls_filecount = 0
  2824. SELECT count(*) INTO :ls_filecount
  2825. FROM u_file
  2826. WHERE relcode = :arg_billcode
  2827. AND scid = 0
  2828. AND billtype = 102
  2829. Using sys_filedb_sqlca;
  2830. IF ls_filecount <> 0 then
  2831. dw_pageretr.Object.fj_num[i] = String(ls_filecount)
  2832. end if
  2833. NEXT
  2834. dw_pageretr.SetRedraw(true)
  2835. end event
  2836. event ue_cmpl_tax();If dw_child.GetRow() = 0 Then Return
  2837. Long child_row
  2838. child_row = dw_child.GetRow()
  2839. Decimal lde_saleqty, lde_rebate ,lde_taxamt,lde_enprice,lde_enprice_notax
  2840. lde_saleqty = dw_child.Object.usaleqty[child_row]
  2841. lde_rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  2842. lde_enprice = dw_child.Object.u_saletaskmx_enprice[child_row]
  2843. lde_enprice_notax = dw_child.Object.u_saletaskmx_enprice_notax[child_row]
  2844. If lde_saleqty = 0 Then
  2845. MessageBox('提示','请填写数量!')
  2846. Return
  2847. End If
  2848. If lde_enprice = 0 And lde_enprice_notax = 0 Then
  2849. MessageBox('提示','请填写含税单价或者不含税单价')
  2850. Return
  2851. End If
  2852. If Not IsValid(w_ware_cmpl_taxamt) Then
  2853. s_edit_index_tran s_tran_tax
  2854. s_tran_tax.b_string = dw_child.Object.u_saletaskmx_unit[child_row] //单位
  2855. OpenWithParm(w_ware_cmpl_taxamt,s_tran_tax)
  2856. s_edit_index_tran s_return
  2857. s_return = Message.PowerObjectParm
  2858. If Not IsNull(s_return) Then
  2859. If s_return.b_decimal = 0 Then Return
  2860. lde_taxamt = s_return.b_decimal
  2861. dw_child.Object.u_saletaskmx_enamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金
  2862. If lde_enprice <> 0 Then
  2863. dw_child.Object.enamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额
  2864. dw_child.Object.enamt_notax[child_row] = dw_child.Object.enamt[child_row] - dw_child.Object.u_saletaskmx_enamt_tax[child_row] //不含税总金额
  2865. dw_child.Object.u_saletaskmx_enprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价
  2866. dw_child.Object.u_saletaskmx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率
  2867. elseif lde_enprice_notax <> 0 then
  2868. dw_child.Object.enamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额
  2869. dw_child.Object.enamt[child_row] = dw_child.Object.enamt_notax[child_row] + dw_child.Object.u_saletaskmx_enamt_tax[child_row] //总金额
  2870. dw_child.Object.u_saletaskmx_enprice[child_row] = lde_enprice_notax + lde_taxamt //单价
  2871. dw_child.Object.u_saletaskmx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率
  2872. End If
  2873. End If
  2874. End If
  2875. end event
  2876. event ue_p_status();IF NOT dw_edit_mode THEN RETURN
  2877. IF MessageBox('提示','是否要确定要批设定'+sys_option_change_status, question!, YesNo!, 1) = 2 THEN
  2878. RETURN
  2879. END IF
  2880. Long ll_i,ll_mtrlid,ll_statusflag
  2881. ll_mtrlid = dw_child.object.mtrlid[1]
  2882. if ll_mtrlid = 0 then return
  2883. select statusflag into :ll_statusflag from u_mtrldef where mtrlid = :ll_mtrlid;
  2884. if sqlca.sqlcode <> 0 then
  2885. return
  2886. else
  2887. if ll_statusflag <> 0 then
  2888. messagebox('提示','第一行明细'+sys_option_change_status+'不是自由选填')
  2889. return
  2890. end if
  2891. end if
  2892. dw_child.AcceptText()
  2893. dw_child.SetRedraw(FALSE)
  2894. FOR ll_i = 2 TO dw_child.RowCount()
  2895. ll_mtrlid = dw_child.object.mtrlid[ll_i]
  2896. if ll_mtrlid = 0 then continue
  2897. select statusflag into :ll_statusflag from u_mtrldef where mtrlid = :ll_mtrlid;
  2898. if sqlca.sqlcode <> 0 then
  2899. continue
  2900. else
  2901. if ll_statusflag <> 0 then continue
  2902. end if
  2903. dw_child.Object.u_saletaskmx_status[ll_i] = dw_child.Object.u_saletaskmx_status[1]
  2904. NEXT
  2905. dw_child.SetRedraw(TRUE)
  2906. end event
  2907. event ue_p_woodcode();IF NOT dw_edit_mode THEN RETURN
  2908. IF MessageBox('提示','是否要确定要批设定'+sys_option_change_woodcode, question!, YesNo!, 1) = 2 THEN
  2909. RETURN
  2910. END IF
  2911. Long ll_i,ll_mtrlid,ll_woodcodeflag
  2912. ll_mtrlid = dw_child.object.mtrlid[1]
  2913. if ll_mtrlid = 0 then return
  2914. select woodcodeflag into :ll_woodcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
  2915. if sqlca.sqlcode <> 0 then
  2916. return
  2917. else
  2918. if ll_woodcodeflag <> 0 then
  2919. messagebox('提示','第一行明细'+sys_option_change_woodcode+'不是自由选填')
  2920. return
  2921. end if
  2922. end if
  2923. dw_child.AcceptText()
  2924. dw_child.SetRedraw(FALSE)
  2925. FOR ll_i = 2 TO dw_child.RowCount()
  2926. ll_mtrlid = dw_child.object.mtrlid[ll_i]
  2927. if ll_mtrlid = 0 then continue
  2928. select woodcodeflag into :ll_woodcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
  2929. if sqlca.sqlcode <> 0 then
  2930. continue
  2931. else
  2932. if ll_woodcodeflag <> 0 then continue
  2933. end if
  2934. dw_child.Object.u_saletaskmx_woodcode[ll_i] = dw_child.Object.u_saletaskmx_woodcode[1]
  2935. NEXT
  2936. dw_child.SetRedraw(TRUE)
  2937. end event
  2938. event ue_p_pcode();IF NOT dw_edit_mode THEN RETURN
  2939. IF MessageBox('提示','是否要确定要批设定'+sys_option_change_pcode, question!, YesNo!, 1) = 2 THEN
  2940. RETURN
  2941. END IF
  2942. Long ll_i,ll_mtrlid,ll_pcodeflag
  2943. ll_mtrlid = dw_child.object.mtrlid[1]
  2944. if ll_mtrlid = 0 then return
  2945. select pcodeflag into :ll_pcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
  2946. if sqlca.sqlcode <> 0 then
  2947. return
  2948. else
  2949. if ll_pcodeflag <> 0 then
  2950. messagebox('提示','第一行明细'+sys_option_change_pcode+'不是自由选填')
  2951. return
  2952. end if
  2953. end if
  2954. dw_child.AcceptText()
  2955. dw_child.SetRedraw(FALSE)
  2956. FOR ll_i = 2 TO dw_child.RowCount()
  2957. ll_mtrlid = dw_child.object.mtrlid[ll_i]
  2958. if ll_mtrlid = 0 then continue
  2959. select pcodeflag into :ll_pcodeflag from u_mtrldef where mtrlid = :ll_mtrlid;
  2960. if sqlca.sqlcode <> 0 then
  2961. continue
  2962. else
  2963. if ll_pcodeflag <> 0 then continue
  2964. end if
  2965. dw_child.Object.u_saletaskmx_pcode[ll_i] = dw_child.Object.u_saletaskmx_pcode[1]
  2966. NEXT
  2967. dw_child.SetRedraw(TRUE)
  2968. end event
  2969. event ue_setqty_forformula();IF dw_child.RowCount() = 0 THEN RETURN
  2970. Long i
  2971. String ls_formula
  2972. String ls_msg
  2973. String ls_rs
  2974. String ls_num
  2975. Decimal ld_addqty
  2976. Decimal ld_price
  2977. Decimal ld_rebate
  2978. decimal ld_qty
  2979. dw_child.AcceptText()
  2980. s_cmpl_qty s_cmpl
  2981. s_cmpl.addvalue = 1
  2982. s_cmpl.num = long(ddlb_weishu.text)
  2983. dw_uc.SetRedraw(false)
  2984. FOR i = 1 TO dw_child.RowCount()
  2985. ld_qty = 0
  2986. IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
  2987. s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
  2988. s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
  2989. s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  2990. s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
  2991. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  2992. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  2993. s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[i]
  2994. s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[i]
  2995. s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[i]
  2996. s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[i]
  2997. s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
  2998. s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
  2999. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  3000. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  3001. MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
  3002. goto ext
  3003. END IF
  3004. dw_child.Object.usaleqty[i] = ld_qty
  3005. END IF
  3006. NEXT
  3007. ext:
  3008. dw_child.SetColumn('usaleqty')
  3009. dw_uc.SetRedraw(TRUE)
  3010. end event
  3011. event ue_mx_alter();IF NOT f_power_ind(2055,sys_msg_pow) THEN
  3012. MessageBox(publ_operator,sys_msg_pow)
  3013. RETURN
  3014. END IF
  3015. IF dw_edit_mode THEN
  3016. MessageBox('提示','编辑状态下不可用')
  3017. RETURN
  3018. END IF
  3019. String arg_msg = ''
  3020. Long childrow,uc_row,cnt
  3021. uc_row = dw_pageretr.GetRow()
  3022. IF uc_row <= 0 THEN
  3023. MessageBox('系统提示','请选定当前目标订单!')
  3024. RETURN
  3025. END IF
  3026. childrow = dw_child.GetRow()
  3027. IF childrow <= 0 THEN
  3028. MessageBox('系统提示','请选定当前明细物料!')
  3029. RETURN
  3030. END IF
  3031. Long ll_scid,ll_taskid,ll_printid
  3032. ll_scid = dw_pageretr.Object.u_saletask_scid[uc_row]
  3033. ll_taskid = dw_pageretr.Object.taskid[uc_row]
  3034. ll_printid = dw_child.Object.u_saletaskmx_printid[childrow]
  3035. s_edit_index_tran s_inscust_open
  3036. s_inscust_open.d_long = 1
  3037. s_inscust_open.c_long = ll_scid
  3038. s_inscust_open.arr_long[1] = ll_scid
  3039. s_inscust_open.arr_long2[1] = ll_taskid
  3040. s_inscust_open.arr_long3[1] = ll_printid
  3041. OpenWithParm(w_saletask_altermtrl,s_inscust_open)
  3042. end event
  3043. event ue_saletask_choose();s_choose s_c
  3044. OpenWithParm(w_choose,s_c)
  3045. s_c = Message.PowerObjectParm
  3046. IF NOT s_c.ifok THEN RETURN
  3047. cbx_enamt_edit.Checked=s_c.amt_price
  3048. cbx_zk.Checked=s_c.amt_zk
  3049. cbx_enamt_notax_edit.Checked=s_c.notax_price
  3050. cbx_auto_qty.Checked=s_c.ifauto
  3051. ddlb_weishu.text=s_c.weishu
  3052. IF cbx_enamt_edit.Checked=TRUE and cbx_zk.Checked=FALSE THEN
  3053. cbx_enamt_edit.TriggerEvent(Clicked!)
  3054. ELSEIF cbx_enamt_edit.Checked=FALSE and cbx_zk.Checked=TRUE THEN
  3055. cbx_zk.TriggerEvent(Clicked!)
  3056. ELSE
  3057. cbx_enamt_edit.TriggerEvent(Clicked!)
  3058. cbx_zk.TriggerEvent(Clicked!)
  3059. END IF
  3060. //cbx_enamt_edit.TriggerEvent(Clicked!)
  3061. //cbx_zk.TriggerEvent(Clicked!)
  3062. cbx_enamt_notax_edit.TriggerEvent(Clicked!)
  3063. cbx_auto_qty.TriggerEvent(Clicked!)
  3064. ddlb_weishu.TriggerEvent(Clicked!)
  3065. end event
  3066. event ue_create_buytask_auto();//辅助生成采购订单
  3067. IF Not f_power_ind(93) THEN
  3068. MessageBox('提示',sys_msg_pow, Information!, OK! )
  3069. RETURN
  3070. END IF
  3071. Long rslt = 1
  3072. Long it_mx = 0
  3073. Long cnt,row
  3074. String arg_msg
  3075. String ls_msg
  3076. Long i,j
  3077. Long ll_scid, ll_taskid
  3078. Long sptid_arr[]
  3079. Decimal ld_qty
  3080. Long ll_storageid
  3081. uo_buytask obj_task
  3082. obj_task = Create uo_buytask
  3083. obj_task.commit_transaction = sqlca
  3084. uo_spt_price uo_sptprice
  3085. uo_sptprice = Create uo_spt_price
  3086. s_saletask_ch s_saletask
  3087. dw_pageretr.AcceptText()
  3088. row = dw_pageretr.GetRow()
  3089. IF dw_pageretr.GetRow() <= 0 THEN
  3090. MessageBox('系统提示','请选定当前目标订单!',Information!,OK!)
  3091. RETURN
  3092. END IF
  3093. IF Not (dw_pageretr.Object.u_saletask_status[row] = 1 ) THEN
  3094. MessageBox('系统提示','当前选定订单非在进行状态!',Information!,OK!)
  3095. RETURN
  3096. END IF
  3097. for i = 1 to dw_child.rowcount()
  3098. IF dw_child.object.u_saletaskmx_needbuyqty[i] - dw_child.object.u_saletaskmx_buytaskqty[i] - dw_child.object.buyqty[i] > 0 THEN
  3099. cnt++
  3100. END IF
  3101. next
  3102. IF cnt = 0 then
  3103. messagebox("提示","没有需要建立采购订单的明细")
  3104. RETURN
  3105. END IF
  3106. //确定供应商
  3107. cnt = 0
  3108. FOR i = 1 To dw_child.RowCount()
  3109. IF dw_child.object.u_saletaskmx_needbuyqty[i] - dw_child.object.u_saletaskmx_buytaskqty[i] - dw_child.object.buyqty[i] > 0 THEN
  3110. IF dw_child.Object.u_mtrldef_dftsptid[i] = 0 THEN
  3111. messagebox("提示","第"+String(i)+"行:"+"该物料没有默认供应商")
  3112. RETURN
  3113. END IF
  3114. FOR j = 1 To UpperBound(sptid_arr)
  3115. IF sptid_arr[j] = dw_child.Object.u_mtrldef_dftsptid[i] THEN
  3116. GOTO nxt
  3117. END IF
  3118. NEXT
  3119. cnt ++
  3120. sptid_arr[cnt] = dw_child.Object.u_mtrldef_dftsptid[i]
  3121. END IF
  3122. nxt:
  3123. NEXT
  3124. ll_scid = dw_pageretr.Object.u_saletask_scid[row]
  3125. ll_taskid = dw_pageretr.Object.taskid[row]
  3126. s_saletask.scid = ll_scid
  3127. s_saletask.taskid = ll_taskid
  3128. s_saletask.taskcode = dw_pageretr.Object.taskcode[row]
  3129. Long dftbanktypeid,dftmoneyid
  3130. String ls_sptcode, ls_sptname
  3131. FOR i = 1 to upperbound(sptid_arr)
  3132. //查询默认结算方式,默认币种
  3133. SELECT dftbanktypeid,dftmoneyid, sptcode,name
  3134. INTO :dftbanktypeid,:dftmoneyid, :ls_sptcode, :ls_sptname
  3135. FROM u_spt
  3136. Where sptid = :sptid_arr[i] Using sqlca;
  3137. IF sqlca.SQLCode <> 0 THEN
  3138. rslt = 0
  3139. arg_msg = '查询供应商信息失败,ID['+String(sptid_arr[i])+'],'+sqlca.SQLErrText
  3140. GOTO ext
  3141. END IF
  3142. IF dftbanktypeid = 0 THEN
  3143. rslt = 0
  3144. arg_msg = '供应商编号['+ls_sptcode+']未定义默认结算方式'
  3145. GOTO ext
  3146. END IF
  3147. IF dftmoneyid = 0 THEN
  3148. rslt = 0
  3149. arg_msg = '供应商编号['+ls_sptcode+']未定义默认币种'
  3150. GOTO ext
  3151. END IF
  3152. s_buytaskmx_arr s_buy
  3153. IF obj_task.newbegin(ll_scid,arg_msg) = 0 THEN //
  3154. rslt = 0
  3155. GOTO ext
  3156. END IF
  3157. obj_task.requiredate = DateTime(Today())
  3158. obj_task.Assign_emp = publ_operator
  3159. obj_task.Kind = 0
  3160. obj_task.sptid = sptid_arr[i]
  3161. obj_task.relcode = s_saletask.taskcode
  3162. obj_task.banktypeid = dftbanktypeid
  3163. obj_task.train = ''
  3164. obj_task.billtype = 1
  3165. obj_task.moneyid = dftmoneyid
  3166. obj_task.mrate = f_get_mrate( dftmoneyid)
  3167. obj_task.dscrp = "销售订单辅助生成"
  3168. FOR j = 1 To dw_child.RowCount()
  3169. 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
  3170. ld_qty = dw_child.object.u_saletaskmx_needbuyqty[j] - dw_child.object.u_saletaskmx_buytaskqty[j] - dw_child.object.buyqty[j]
  3171. it_mx++
  3172. s_buy.MtrlID[it_mx] = dw_child.Object.mtrlid[j]
  3173. s_buy.mtrlcode[it_mx] = dw_child.Object.u_mtrldef_mtrlcode[j]
  3174. s_buy.status[it_mx] = dw_child.Object.u_saletaskmx_status[j]
  3175. s_buy.woodcode[it_mx] = dw_child.Object.u_saletaskmx_woodcode[j]
  3176. s_buy.pcode[it_mx] = dw_child.Object.u_saletaskmx_pcode[j]
  3177. s_buy.unit[it_mx] = dw_child.Object.u_mtrldef_unit[j]
  3178. s_buy.qty[it_mx] = ld_qty
  3179. s_buy.uqty[it_mx] = ld_qty
  3180. s_buy.rate[it_mx] = 1
  3181. s_buy.relid[it_mx] = s_saletask.taskid
  3182. s_buy.relprintid[it_mx] = dw_child.Object.u_saletaskmx_printid[j]
  3183. s_buy.relcode[it_mx] = s_saletask.taskcode
  3184. f_find_dftstorageid(dw_child.Object.mtrlid[j], ll_storageid)
  3185. s_buy.storageid[it_mx] = ll_storageid
  3186. //新的取价模式
  3187. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate,ld_rate
  3188. String ls_unit
  3189. ls_unit = s_buy.unit[it_mx]
  3190. IF uo_sptprice.uof_get_mtrl_buyprice(sptid_arr[i],s_buy.MtrlID[it_mx],ls_unit,&
  3191. s_buy.status[it_mx],s_buy.woodcode[it_mx],s_buy.pcode[it_mx],0,&
  3192. ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) = 1 THEN
  3193. s_buy.uprice[it_mx] = ls_1stnewcost
  3194. // s_buy.rate[it_mx] = ls_1stzqrate
  3195. ELSE
  3196. s_buy.uprice[it_mx] = 0
  3197. END IF
  3198. IF obj_task.acceptmx(0,&
  3199. 0,&
  3200. '',&
  3201. s_buy.MtrlID[it_mx],&
  3202. s_buy.uqty[it_mx],&
  3203. 0,&
  3204. s_buy.uprice[it_mx],&
  3205. 1,&
  3206. 0,&
  3207. dw_child.Object.u_saletaskmx_mxdscrp[j],&
  3208. s_buy.mtrlcode[it_mx],&
  3209. arg_msg,&
  3210. j,&
  3211. DateTime(Today()),&
  3212. s_buy.storageid[it_mx],&
  3213. s_buy.status[it_mx],&
  3214. s_buy.woodcode[it_mx],&
  3215. s_buy.pcode[it_mx],&
  3216. s_buy.unit[it_mx],&
  3217. s_buy.rate[it_mx],&
  3218. s_buy.relid[it_mx],&
  3219. s_buy.relprintid[it_mx],&
  3220. s_buy.relcode[it_mx],&
  3221. '',&
  3222. 0,0,dw_child.Object.u_saletaskmx_plancode[j],&
  3223. dw_child.Object.u_saletaskmx_mxdscrp2[j],dw_child.Object.u_saletaskmx_mxdscrp3[j],dw_child.Object.u_saletaskmx_mxdscrp4[j]) = 0 THEN
  3224. rslt = 0
  3225. GOTO ext
  3226. END IF
  3227. END IF
  3228. NEXT
  3229. IF obj_task.savesubmit(publ_operator,arg_msg,False) = 0 THEN
  3230. rslt = 0
  3231. GOTO ext
  3232. END IF
  3233. NEXT
  3234. ext:
  3235. IF rslt = 0 THEN
  3236. ROLLBACK Using sqlca;
  3237. MessageBox("Error",arg_msg)
  3238. ELSE
  3239. COMMIT Using sqlca;
  3240. MessageBox("系统提示","建立采购订单成功")
  3241. THIS.TriggerEvent('retrieve_childdw')
  3242. END IF
  3243. end event
  3244. event ue_setprice_forformula_1();Long child_row
  3245. child_row = dw_child.getrow()
  3246. dw_child.AcceptText()
  3247. if dw_child.Object.u_saletaskmx_priceformula[child_row]<>'' then
  3248. String ls_msg
  3249. s_cmpl_qty arg_cmpl
  3250. decimal ld_qty
  3251. long mtrlid,cusid
  3252. mtrlid = dw_child.Object.mtrlid[child_row]
  3253. cusid = dw_uc.Object.cusid[dw_uc.getrow()]
  3254. arg_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
  3255. arg_cmpl.price = dw_child.Object.u_saletaskmx_price[child_row]
  3256. arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  3257. arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
  3258. arg_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
  3259. arg_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
  3260. arg_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
  3261. arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  3262. arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  3263. arg_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[child_row]
  3264. arg_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[child_row]
  3265. arg_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[child_row]
  3266. arg_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[child_row]
  3267. arg_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
  3268. arg_cmpl.num = sys_option_outware_price_amt_round
  3269. arg_cmpl.flag = true
  3270. arg_cmpl.addvalue = 1
  3271. arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
  3272. ld_qty = 0
  3273. if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
  3274. MessageBox('提示',ls_msg, Information!, OK! )
  3275. RETURN
  3276. END IF
  3277. dw_child.Object.u_saletaskmx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
  3278. end if
  3279. end event
  3280. event ue_setqty_forformula_1();IF dw_child.RowCount() = 0 THEN RETURN
  3281. Long i
  3282. String ls_formula
  3283. String ls_msg
  3284. String ls_rs
  3285. String ls_num
  3286. Decimal ld_addqty
  3287. Decimal ld_price
  3288. Decimal ld_rebate
  3289. decimal ld_qty
  3290. i = dw_child.getrow()
  3291. dw_child.AcceptText()
  3292. s_cmpl_qty s_cmpl
  3293. s_cmpl.addvalue = 1
  3294. s_cmpl.num = long(ddlb_weishu.text)
  3295. dw_uc.SetRedraw(false)
  3296. ld_qty = 0
  3297. IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
  3298. s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
  3299. s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
  3300. s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  3301. s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
  3302. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  3303. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  3304. s_cmpl.mxdscrp = dw_child.Object.u_saletaskmx_mxdscrp[i]
  3305. s_cmpl.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[i]
  3306. s_cmpl.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[i]
  3307. s_cmpl.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[i]
  3308. s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
  3309. s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
  3310. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  3311. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  3312. MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
  3313. goto ext
  3314. END IF
  3315. dw_child.Object.usaleqty[i] = ld_qty
  3316. END IF
  3317. ext:
  3318. dw_child.SetColumn('usaleqty')
  3319. dw_uc.SetRedraw(TRUE)
  3320. end event
  3321. event ue_copy_needqty();Long i
  3322. Decimal lde_rate
  3323. dw_child.AcceptText()
  3324. FOR i = 1 To dw_child.RowCount()
  3325. lde_rate = dw_child.Object.u_saletaskmx_rate[i]
  3326. IF lde_rate = 0 THEN
  3327. lde_rate = 1
  3328. dw_child.Object.u_saletaskmx_rate[i] = 1
  3329. END IF
  3330. dw_child.Object.u_saletaskmx_needbuyqty[i] = dw_child.Object.usaleqty[i] * lde_rate
  3331. NEXT
  3332. end event
  3333. public function integer wf_cusdetail ();////wf_cusdetail
  3334. //
  3335. //long ls_row,ls_cusid
  3336. //
  3337. //ls_row=dw_uc.getrow()
  3338. //if ls_row=0 then
  3339. // messagebox('系统提示','没有选定当前行!')
  3340. // if isvalid(w_cust_mtrlprice) then close(w_cust_mtrlprice)
  3341. // return 0
  3342. //else
  3343. // ls_cusid=dw_uc.object.cusid[ls_row]
  3344. // if isnull(ls_cusid) or ls_cusid<=0 then
  3345. // messagebox('系统提示','没有选定当前客户,请在编辑状态双击或按F9选择客户!')
  3346. // if isvalid(w_cust_mtrlprice) then close(w_cust_mtrlprice)
  3347. // return 0
  3348. // end if
  3349. //end if
  3350. //
  3351. //if isvalid(w_cust_mtrlprice) then
  3352. // Send(Handle(w_cust_mtrlprice), 274, 61728, 0)
  3353. //else
  3354. // open(w_cust_mtrlprice)
  3355. //end if
  3356. // w_cust_mtrlprice.wf_refresh(ls_cusid)
  3357. //
  3358. return 1
  3359. end function
  3360. public function integer wf_statusbtn_fc ();//wf_statusbtn_fc
  3361. IF dw_edit_mode THEN
  3362. cb_auditing_cancel.Enabled = False
  3363. cb_auditing.Enabled = False
  3364. RETURN 0
  3365. END IF
  3366. Long ls_row, li_status
  3367. ls_row = dw_pageretr.GetRow()
  3368. IF Not ls_row > 0 THEN
  3369. cb_auditing_cancel.Enabled = False
  3370. cb_auditing.Enabled = False
  3371. cb_auditing.Text = '审核&F'
  3372. cb_auditing_cancel.Text = '撤审'
  3373. RETURN 0
  3374. END IF
  3375. li_status = dw_pageretr.Object.u_saletask_status[ls_row]
  3376. CHOOSE CASE li_status
  3377. CASE 0
  3378. cb_auditing_cancel.Enabled = False
  3379. cb_auditing.Enabled = True
  3380. cb_auditing.Text = '审核&F'
  3381. cb_auditing_cancel.Text = '撤审'
  3382. CASE 1
  3383. cb_auditing_cancel.Enabled = True
  3384. cb_auditing.Enabled = False
  3385. IF sys_option_saletask_secaudit = 0 THEN
  3386. cb_auditing.Text = '审核&F'
  3387. cb_auditing_cancel.Text = '撤审'
  3388. ELSE
  3389. cb_auditing.Text = '二审&F'
  3390. cb_auditing_cancel.Text = '二撤'
  3391. END IF
  3392. CASE 2
  3393. cb_auditing_cancel.Enabled = False
  3394. cb_auditing.Enabled = False
  3395. cb_auditing.Text = '审核&F'
  3396. cb_auditing_cancel.Text = '撤审'
  3397. CASE 3
  3398. cb_auditing_cancel.Enabled = False
  3399. cb_auditing.Enabled = False
  3400. cb_auditing.Text = '审核&F'
  3401. cb_auditing_cancel.Text = '撤审'
  3402. CASE 4
  3403. cb_auditing_cancel.Enabled = True
  3404. cb_auditing.Enabled = True
  3405. cb_auditing.Text = '二审&F'
  3406. cb_auditing_cancel.Text = '撤审'
  3407. CASE 5
  3408. cb_auditing_cancel.Enabled = False
  3409. cb_auditing.Enabled = False
  3410. cb_auditing.Text = '审核&F'
  3411. cb_auditing_cancel.Text = '撤审'
  3412. CASE ELSE
  3413. cb_auditing_cancel.Enabled = True
  3414. cb_auditing.Enabled = True
  3415. cb_auditing.Text = '审核&F'
  3416. cb_auditing_cancel.Text = '撤审'
  3417. END CHOOSE
  3418. cb_auditing.TriggerEvent('ue_textchange')
  3419. cb_auditing_cancel.TriggerEvent('ue_textchange')
  3420. RETURN 0
  3421. end function
  3422. public function integer wf_refresh_curuc (long arg_scid, long arg_taskid);//wf_refresh_curuc
  3423. Int rslt = 1
  3424. IF arg_taskid <= 0 OR IsNull(arg_taskid) THEN
  3425. rslt = 0
  3426. GOTO ext
  3427. END IF
  3428. Long uc_row
  3429. uc_row = dw_pageretr.GetRow()
  3430. IF uc_row <= 0 THEN
  3431. rslt = 0
  3432. GOTO ext
  3433. END IF
  3434. Int Kind
  3435. DateTime requiredate
  3436. String assign_emp
  3437. String dscrp
  3438. String dscrp2
  3439. String paytype, transcode, carcode
  3440. String taskcode
  3441. Long cusid
  3442. DateTime accomplishdate
  3443. Int status
  3444. String operator, modemp, permit_emp,auditemp
  3445. DateTime opdate, moddate, permit_date,auditdate
  3446. String last_emp
  3447. String u_cust_name
  3448. String u_cust_cuscode
  3449. Long moneyid
  3450. Long banktypeid
  3451. Decimal mrate
  3452. String relcode
  3453. Decimal damt
  3454. Decimal otheramt
  3455. String cus_address
  3456. String cus_tele, cus_tele1
  3457. String freight
  3458. String cus_fax
  3459. String freight_tele
  3460. DateTime taskdate
  3461. string dscrp3
  3462. string rel_rep
  3463. dec msttakeamt, takeamt, takedamt, notakeamt
  3464. string freight_address
  3465. long priceflag
  3466. Dec stop_amt
  3467. SELECT u_saletask.kind,
  3468. u_saletask.requiredate,
  3469. u_saletask.assign_emp,
  3470. u_saletask.dscrp,
  3471. u_saletask.dscrp2,
  3472. u_saletask.paytype,
  3473. u_saletask.transcode,
  3474. u_saletask.carcode,
  3475. u_saletask.taskcode,
  3476. u_saletask.cusid,
  3477. u_saletask.accomplishdate,
  3478. u_saletask.status,
  3479. u_saletask.opemp,
  3480. u_saletask.opdate,
  3481. u_saletask.modemp,
  3482. u_saletask.moddate,
  3483. u_saletask.permit_emp,
  3484. u_saletask.permit_date,
  3485. u_cust.name,
  3486. u_cust.cuscode,
  3487. u_saletask.moneyid,
  3488. u_saletask.banktypeid,
  3489. u_saletask.mrate,
  3490. u_saletask.relcode,
  3491. u_saletask.damt,
  3492. u_saletask.otheramt,
  3493. u_saletask.cus_address,
  3494. u_saletask.cus_tele,
  3495. u_saletask.cus_tele1,
  3496. u_saletask.freight,
  3497. u_saletask.cus_fax,
  3498. u_saletask.freight_tele,
  3499. u_saletask.taskdate,
  3500. u_saletask.dscrp3,
  3501. u_saletask.rel_rep,
  3502. u_saletask.msttakeamt ,
  3503. u_saletask.takeamt,
  3504. u_saletask.takedamt,
  3505. u_saletask.msttakeamt - u_saletask.takeamt - u_saletask.takedamt as notakeamt,
  3506. u_saletask.freight_address,
  3507. priceflag,
  3508. u_saletask.auditemp,
  3509. u_saletask.auditdate,
  3510. u_SaleTaskmx.stop_amt
  3511. INTO :Kind,
  3512. :requiredate,
  3513. :assign_emp,
  3514. :dscrp,
  3515. :dscrp2,
  3516. :paytype,
  3517. :transcode,
  3518. :carcode,
  3519. :taskcode,
  3520. :cusid,
  3521. :accomplishdate,
  3522. :status,
  3523. :operator,
  3524. :opdate,
  3525. :modemp,
  3526. :moddate,
  3527. :permit_emp,
  3528. :permit_date,
  3529. :u_cust_name,
  3530. :u_cust_cuscode,
  3531. :moneyid,
  3532. :banktypeid,
  3533. :mrate,
  3534. :relcode,
  3535. :damt,
  3536. :otheramt,
  3537. :cus_address,
  3538. :cus_tele,
  3539. :cus_tele1,
  3540. :freight,
  3541. :cus_fax,
  3542. :freight_tele,
  3543. :taskdate,
  3544. :dscrp3,
  3545. :rel_rep,
  3546. :msttakeamt, :takeamt, :takedamt, :notakeamt,:freight_address,
  3547. :priceflag,
  3548. :auditemp,
  3549. :auditdate,
  3550. :stop_amt
  3551. FROM u_saletask left OUTER join u_cust on ( u_saletask.cusid = u_cust.cusid )
  3552. LEFT JOIN (
  3553. SELECT scid,taskid
  3554. ,sum((u_SaleTasKmx.usaleqty - u_SaleTasKmx.stopqty) * u_SaleTasKmx.enprice * u_SaleTasKmx.rebate) AS stop_amt
  3555. ,sum(u_saletaskmx.enamt_tax) as enamt_tax
  3556. FROM u_SaleTaskmx
  3557. GROUP BY scid,taskid
  3558. ) u_SaleTaskmx ON u_SaleTask.taskid = u_SaleTasKmx.taskid and u_SaleTask.scid = u_SaleTasKmx.scid
  3559. WHERE ( u_saletask.taskid = :arg_taskid )
  3560. And ( u_saletask.scid = :arg_scid );
  3561. IF sqlca.SQLCode <> 0 THEN
  3562. MessageBox('错误',"查询操作失败(错误订单唯一码)",stopsign!,OK!)
  3563. rslt = 0
  3564. GOTO ext
  3565. END IF
  3566. dw_pageretr.Object.u_saletask_scid [uc_row] = arg_scid
  3567. dw_pageretr.Object.taskid[uc_row] = arg_taskid
  3568. dw_pageretr.Object.Kind[uc_row] = Kind
  3569. dw_pageretr.Object.requiredate[uc_row] = requiredate
  3570. dw_pageretr.Object.assign_emp[uc_row] = assign_emp
  3571. dw_pageretr.Object.dscrp[uc_row] = dscrp
  3572. dw_pageretr.Object.u_saletask_dscrp2[uc_row] = dscrp2
  3573. dw_pageretr.Object.u_saletask_paytype[uc_row] = paytype
  3574. dw_pageretr.Object.u_saletask_transcode[uc_row] = transcode
  3575. dw_pageretr.Object.u_saletask_carcode[uc_row] = carcode
  3576. dw_pageretr.Object.taskcode[uc_row] = taskcode
  3577. dw_pageretr.Object.u_saletask_cusid[uc_row] = cusid
  3578. dw_pageretr.Object.accomplishdate[uc_row] = accomplishdate
  3579. dw_pageretr.Object.u_saletask_status[uc_row] = status
  3580. dw_pageretr.Object.u_saletask_opemp[uc_row] = operator
  3581. dw_pageretr.Object.u_saletask_opdate[uc_row] = opdate
  3582. dw_pageretr.Object.u_saletask_modemp[uc_row] = modemp
  3583. dw_pageretr.Object.u_saletask_moddate[uc_row] = moddate
  3584. dw_pageretr.Object.permit_emp[uc_row] = permit_emp
  3585. dw_pageretr.Object.u_saletask_permit_date[uc_row] = permit_date
  3586. dw_pageretr.Object.u_cust_name[uc_row] = u_cust_name
  3587. dw_pageretr.Object.u_cust_cuscode[uc_row] = u_cust_cuscode
  3588. dw_pageretr.Object.u_saletask_moneyid[uc_row] = moneyid
  3589. dw_pageretr.Object.u_saletask_banktypeid[uc_row] = banktypeid
  3590. dw_pageretr.Object.u_saletask_mrate[uc_row] = mrate
  3591. dw_pageretr.Object.u_saletask_relcode[uc_row] = relcode
  3592. dw_pageretr.Object.u_saletask_damt[uc_row] = damt
  3593. dw_pageretr.Object.u_saletask_otheramt[uc_row] = otheramt
  3594. dw_pageretr.Object.u_saletask_cus_address[uc_row] = cus_address
  3595. dw_pageretr.Object.u_saletask_cus_tele[uc_row] = cus_tele
  3596. dw_pageretr.Object.u_saletask_cus_tele1[uc_row] = cus_tele1
  3597. dw_pageretr.Object.u_saletask_freight[uc_row] = freight
  3598. dw_pageretr.Object.u_saletask_cus_fax[uc_row] = cus_fax
  3599. dw_pageretr.Object.u_saletask_freight_tele[uc_row] = freight_tele
  3600. dw_pageretr.Object.u_saletask_taskdate[uc_row] = taskdate
  3601. dw_pageretr.Object.dscrp3[uc_row] = dscrp3
  3602. dw_pageretr.Object.u_saletask_rel_rep[uc_row] = rel_rep
  3603. dw_pageretr.Object.u_saletask_msttakeamt[uc_row] = msttakeamt
  3604. dw_pageretr.Object.u_saletask_takeamt[uc_row] = takeamt
  3605. dw_pageretr.Object.u_saletask_takedamt[uc_row] = takedamt
  3606. dw_pageretr.Object.notakeamt[uc_row] = notakeamt
  3607. dw_pageretr.Object.u_saletask_freight_address[uc_row] = freight_address
  3608. dw_pageretr.Object.u_saletask_priceflag[uc_row] =priceflag
  3609. dw_pageretr.Object.u_saletask_auditemp[uc_row] =auditemp
  3610. dw_pageretr.Object.u_saletask_auditdate[uc_row] =auditdate
  3611. dw_pageretr.Object.stop_amt[uc_row] =stop_amt
  3612. dw_pageretr.ResetUpdate()
  3613. dw_pageretr.SetRedraw(TRUE)
  3614. dw_uc.Reset()
  3615. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  3616. dw_uc.ResetUpdate()
  3617. dw_uc.SetRedraw(TRUE)
  3618. THIS.PostEvent('retrieve_childdw')
  3619. ext:
  3620. wf_statusbtn_fc()
  3621. RETURN rslt
  3622. end function
  3623. public subroutine wf_check_billfj ();String arg_msg
  3624. Long ll_ConnectionID
  3625. Long cur_billtype
  3626. long ll_relid,ll_relid_mx,ll_scid
  3627. Long ls_filecount = 0
  3628. Int rslt = 1
  3629. uo_fj_mng_billtype ls_uo_fjbt
  3630. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  3631. Long row,uc_relid
  3632. row = dw_pageretr.GetRow()
  3633. IF row > 0 THEN
  3634. ll_relid = dw_pageretr.Object.taskid[row]
  3635. ll_scid = dw_pageretr.Object.u_saletask_scid[row]
  3636. ll_relid_mx = 0
  3637. ELSE
  3638. rslt = 0
  3639. GOTO ext
  3640. END IF
  3641. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  3642. rslt = 0
  3643. GOTO ext
  3644. END IF
  3645. cur_billtype = 102 //客户投拆单的 mainiD
  3646. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  3647. IF ls_filecount > 0 THEN
  3648. rslt = 1
  3649. GOTO ext
  3650. ELSE
  3651. rslt = 0
  3652. GOTO ext
  3653. END IF
  3654. ext:
  3655. wf_encl(rslt)
  3656. DESTROY ls_uo_fjbt
  3657. end subroutine
  3658. 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
  3659. LS_ROW = dw_pageretr.GetRow()
  3660. IF LS_ROW <= 0 THEN
  3661. arg_msg = '没有目标单据!'
  3662. RETURN 0
  3663. END IF
  3664. //修改点:获取 指定retriev参数
  3665. ll_id = dw_pageretr.Object.#1[LS_ROW]
  3666. ll_scid = dw_pageretr.Object.u_saletask_scid[LS_ROW]
  3667. //查询所选模版是否含有图片信息
  3668. Long ll_ifpic
  3669. Long ll_classid
  3670. SELECT ifpic
  3671. INTO :ll_ifpic
  3672. FROM U_XLS_Templates
  3673. Where id = :ll_xls_Templatesid;
  3674. IF sqlca.SQLCode <> 0 THEN
  3675. ll_ifpic = 0
  3676. END IF
  3677. Long ll_i,ll_j
  3678. Long ll_mtrlid
  3679. Long ll_fileid
  3680. Blob ls_filedata
  3681. SetNull(ls_filedata)
  3682. String Pathname,ls_filename,ls_filetype
  3683. String errmsg
  3684. uo_fj_mng_billtype ls_uo_fjbt
  3685. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  3686. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  3687. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  3688. SELECT classid
  3689. INTO :ll_classid
  3690. FROM u_billpic_fileclass
  3691. Where (billtype = 102);
  3692. IF sqlca.SQLCode <> 0 THEN
  3693. ll_classid = 0
  3694. END IF
  3695. if isnull(ll_classid) then ll_classid = 0
  3696. //如果没有明细附件就找 产品资料
  3697. if ll_classid = 0 then
  3698. SELECT classid
  3699. INTO :ll_classid
  3700. FROM u_billpic_fileclass
  3701. Where (billtype = 201);
  3702. IF sqlca.SQLCode <> 0 THEN
  3703. ll_classid = 0
  3704. END IF
  3705. end if
  3706. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  3707. FOR ll_i = 1 TO dw_child.RowCount()
  3708. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  3709. //取该附件类型中的第一个附件.
  3710. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  3711. FROM u_file
  3712. WHERE relid = :ll_mtrlid
  3713. AND classid = :ll_classid
  3714. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  3715. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  3716. USING sys_fileDB_sqlca;
  3717. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  3718. ll_fileid = 0
  3719. END IF
  3720. IF ll_fileid > 0 THEN
  3721. Pathname = sys_cur_path + ins_fjtemppath + '\' + String(Today(),'yymmdd') + String(Now(),'hhmmss') + '_' + ls_filename + '.' + ls_filetype
  3722. IF Trim(Pathname) <> '' THEN
  3723. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  3724. RETURN 0
  3725. END IF
  3726. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  3727. RETURN 0
  3728. ELSE
  3729. s_pic.path[ll_i] = Pathname
  3730. //记录临时文件位置,本窗口退出后删除
  3731. wf_addlog_tempfilepathname(Pathname)
  3732. END IF
  3733. ELSE
  3734. s_pic.path[ll_i] = ''
  3735. END IF
  3736. ELSE
  3737. s_pic.path[ll_i] = ''
  3738. END IF
  3739. NEXT
  3740. END IF
  3741. //
  3742. END IF
  3743. ////可选设置/ //
  3744. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  3745. IF sys_option_xls_ifuse_passwd = 1 THEN arg_obj_st.uo_const.pwd = Trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  3746. Boolean xls_locked
  3747. xls_locked = Not (sys_option_xls_lock = 1)
  3748. // Excel 的可选设置
  3749. IF arg_obj_st.of_setoption(arg_ationid, xls_locked,TRUE,arg_msg) <> 1 THEN
  3750. RETURN 0
  3751. END IF
  3752. FOR i = 1 TO arg_str_billlist.count
  3753. ////可选操作/ //
  3754. arg_str_billlist.bill[i].ds_data = CREATE datastore //
  3755. arg_str_billlist.bill[i].ds_data.DataObject = arg_str_billlist.bill[i].datawindow //
  3756. arg_str_billlist.bill[i].ds_data.SetTransObject(sqlca)
  3757. //修改点:注意retrieve 参数与上文对应
  3758. arg_str_billlist.bill[i].ds_data.Retrieve(ll_scid,ll_id)
  3759. IF ll_ifpic = 1 and ll_classid > 0 THEN
  3760. // IF arg_str_billlist.bill[i].datawindow = 'dw_xls_saletaskmx' AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径
  3761. IF pos(arg_str_billlist.bill[i].datawindow , 'dw_xls_saletaskmx') > 0 AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径
  3762. FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount()
  3763. arg_str_billlist.bill[i].ds_data.Object.pic[ll_j] = s_pic.path[ll_j]
  3764. NEXT
  3765. END IF
  3766. END IF
  3767. NEXT
  3768. DESTROY ls_uo_fjbt
  3769. RETURN 1
  3770. end function
  3771. 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
  3772. LS_ROW = dw_pageretr.GetRow()
  3773. IF LS_ROW <= 0 THEN
  3774. arg_msg = '没有目标单据!'
  3775. RETURN 0
  3776. END IF
  3777. //修改点:获取 指定retriev参数
  3778. ll_id = dw_pageretr.Object.#1[LS_ROW]
  3779. ll_scid = dw_pageretr.Object.u_saletask_scid[LS_ROW]
  3780. Long ll_i,ll_j
  3781. Long ll_mtrlid
  3782. Long ll_fileid
  3783. Blob ls_filedata
  3784. SetNull(ls_filedata)
  3785. String Pathname,ls_filename,ls_filetype
  3786. String errmsg
  3787. uo_fj_mng_billtype ls_uo_fjbt
  3788. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  3789. Long ll_classid
  3790. SELECT classid
  3791. INTO :ll_classid
  3792. FROM u_billpic_fileclass
  3793. Where (billtype = 201);
  3794. IF sqlca.SQLCode <> 0 THEN
  3795. ll_classid = 0
  3796. END IF
  3797. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  3798. FOR ll_i = 1 TO dw_child.RowCount()
  3799. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  3800. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  3801. //取该附件类型中的第一个附件.
  3802. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  3803. FROM u_file
  3804. WHERE relid = :ll_mtrlid
  3805. AND classid = :ll_classid
  3806. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  3807. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  3808. USING sys_fileDB_sqlca;
  3809. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  3810. ll_fileid = 0
  3811. END IF
  3812. IF ll_fileid > 0 THEN
  3813. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  3814. IF Trim(Pathname) <> '' THEN
  3815. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  3816. RETURN 0
  3817. END IF
  3818. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  3819. RETURN 0
  3820. ELSE
  3821. arg_s_pic.path[ll_i] = Pathname
  3822. //记录临时文件位置,本窗口退出后删除
  3823. wf_addlog_tempfilepathname(Pathname)
  3824. END IF
  3825. ELSE
  3826. arg_s_pic.path[ll_i] = ''
  3827. END IF
  3828. ELSE
  3829. arg_s_pic.path[ll_i] = ''
  3830. END IF
  3831. NEXT
  3832. END IF
  3833. RETURN 1
  3834. end function
  3835. public function integer wf_check_relcode (long arg_scid, long arg_taskid, string arg_relcode, ref string arg_msg);Int rslt = 1
  3836. //return 1 - 检查通过
  3837. //return 0 - 语法出错
  3838. //return 2 - 限制
  3839. //return 3 - 询问
  3840. Long cnt
  3841. IF Trim(arg_relcode) = '' THEN
  3842. IF sys_option_sale_relcode_repeat = 0 THEN
  3843. rslt = 1
  3844. GOTO ext
  3845. ELSE
  3846. rslt = 2
  3847. arg_msg = '请输入单据相关号'
  3848. GOTO ext
  3849. END IF
  3850. ELSE
  3851. SELECT count(*)
  3852. INTO :cnt
  3853. FROM u_SaleTask
  3854. WHERE (NOT EXISTS
  3855. (SELECT *
  3856. FROM u_saletask u_task
  3857. WHERE u_task.scid = u_saletask.scid AND u_task.taskid = u_saletask.taskid AND
  3858. u_task.scid = :arg_scid AND u_task.taskid = :arg_taskid))
  3859. And (relcode = :arg_relcode);
  3860. IF sqlca.SQLCode <> 0 THEN
  3861. rslt = 0
  3862. arg_msg = '查询单据相关号码是否重复失败,'+sqlca.SQLErrText
  3863. GOTO ext
  3864. END IF
  3865. IF cnt > 0 THEN
  3866. IF sys_option_sale_relcode_repeat = 0 THEN
  3867. arg_msg = '当前单据的相关号码与已有单据的重复,是否继续保存?'
  3868. rslt = 3
  3869. GOTO ext
  3870. ELSE
  3871. rslt = 2
  3872. arg_msg = '当前单据的相关号码与已有单据的重复,请修改'
  3873. GOTO ext
  3874. END IF
  3875. END IF
  3876. END IF
  3877. ext:
  3878. RETURN rslt
  3879. end function
  3880. public function integer wf_get_pricelist_price (long arg_pricelistid, long arg_moneyid, ref string arg_msg);int rslt = 1
  3881. long ls_row
  3882. long ll_pricelistid, ll_moneyid, ll_mtrlid
  3883. String ls_status,ls_pcode,ls_woodcode,ls_unit
  3884. String ls_msg
  3885. ll_pricelistid = arg_pricelistid
  3886. ll_moneyid = arg_moneyid
  3887. IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  3888. rslt = 0
  3889. goto ext
  3890. END IF
  3891. s_sale_price_mx s_mx
  3892. dw_child.AcceptText()
  3893. FOR ls_row = 1 To dw_child.RowCount()
  3894. ll_mtrlid = dw_child.Object.mtrlid[ls_row]
  3895. ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
  3896. ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
  3897. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
  3898. ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
  3899. IF sys_option_price_if_status = 0 THEN
  3900. ls_status = ''
  3901. ls_pcode = ''
  3902. ls_woodcode = ''
  3903. END IF
  3904. s_mx.mtrlid = ll_mtrlid
  3905. s_mx.status = ls_status
  3906. s_mx.woodcode = ls_woodcode
  3907. s_mx.pcode = ls_pcode
  3908. s_mx.unit = ls_unit
  3909. s_mx.moneyid = ll_moneyid
  3910. s_mx.pricelistid = ll_pricelistid
  3911. IF uo_cus_price.uof_get_pricelist_price(s_mx, ls_msg) = 0 THEN
  3912. arg_msg += "行:"+string(ls_row)+", "+String(dw_child.Object.mtrlname[ls_row])+" 的导入价格表售价失败或没有设置售价! ~n "
  3913. rslt = 0 //无标准价格表 或未审核
  3914. END IF
  3915. dw_child.Object.u_saletaskmx_enprice[ls_row] = s_mx.price
  3916. dw_child.Object.u_saletaskmx_rebate[ls_row] = s_mx.rebate
  3917. //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
  3918. NEXT
  3919. ext:
  3920. return rslt
  3921. end function
  3922. public function integer wf_get_price (long arg_row);IF arg_row <= 0 THEN RETURN 1
  3923. IF arg_row > dw_child.RowCount() THEN RETURN 1
  3924. Long rslt = 1
  3925. Long ll_cusid, ll_moneyid
  3926. Long ll_i,ll_mtrlid
  3927. String ls_msg
  3928. String ls_status,ls_woodcode,ls_pcode, ls_unit
  3929. String arg_msg
  3930. Decimal lde_price,lde_zqrate,lde_rate
  3931. decimal lde_usaleqty
  3932. dw_uc.AcceptText()
  3933. dw_child.AcceptText()
  3934. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  3935. IF ll_moneyid = 0 THEN RETURN 1
  3936. ll_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
  3937. IF ll_cusid = 0 THEN RETURN 1
  3938. lde_price = 0
  3939. lde_zqrate = 1
  3940. lde_rate = 1
  3941. ll_mtrlid = dw_child.Object.mtrlid[arg_row]
  3942. ls_unit = dw_child.Object.u_saletaskmx_unit[arg_row]
  3943. ls_status = dw_child.Object.u_saletaskmx_status[arg_row]
  3944. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[arg_row]
  3945. ls_pcode = dw_child.Object.u_saletaskmx_pcode[arg_row]
  3946. lde_usaleqty = dw_child.Object.usaleqty[arg_row]
  3947. //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
  3948. // lde_price = 0
  3949. // lde_zqrate = 1
  3950. //END IF
  3951. //价格表增加数量下限,数量上限
  3952. 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
  3953. lde_price = 0
  3954. lde_zqrate = 1
  3955. END IF
  3956. dw_child.Object.u_saletaskmx_enprice[arg_row] = lde_price
  3957. dw_child.Object.u_saletaskmx_rebate[arg_row] = lde_zqrate
  3958. RETURN rslt
  3959. end function
  3960. public function integer wf_lock_child ();long i
  3961. if dw_edit_mode then
  3962. for i = 1 to fy_column_int
  3963. dw_fymx.SetTabOrder(i, i * 10)
  3964. next
  3965. else
  3966. for i = 1 to fy_column_int
  3967. dw_fymx.SetTabOrder(i, 0)
  3968. next
  3969. end if
  3970. return super::wf_lock_child()
  3971. end function
  3972. 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
  3973. Long ll_status_check //配置
  3974. Long ll_woodcode_check //配置1
  3975. Long ll_pcode_check //配置2
  3976. IF arg_mtrlid = 0 THEN
  3977. rslt = 0
  3978. arg_msg = '错误的物料ID'
  3979. END IF
  3980. IF IsNull(arg_status_check) THEN arg_status_check = ''
  3981. IF IsNull(arg_woodcode_check) THEN arg_woodcode_check = ''
  3982. IF IsNull(arg_pcode_check) THEN arg_pcode_check = ''
  3983. SELECT status_check,woodcode_check,pcode_check INTO :ll_status_check,:ll_woodcode_check,:ll_pcode_check
  3984. From u_mtrldef Where u_mtrldef.mtrlid = :arg_mtrlid;
  3985. IF ll_status_check = 1 And arg_status_check = '' THEN
  3986. rslt = 0
  3987. arg_msg = '根据' + arg_mtrlcode + '的物料定义配置不能为空,请填写配置'
  3988. END IF
  3989. IF ll_woodcode_check = 1 And arg_woodcode_check = '' THEN
  3990. rslt = 0
  3991. arg_msg = '根据' + arg_mtrlcode + '的物料定义配置1不能为空,请填写配置1'
  3992. END IF
  3993. IF ll_pcode_check = 1 And arg_pcode_check = '' THEN
  3994. rslt = 0
  3995. arg_msg = '根据' + arg_mtrlcode + '的物料定义配置2不能为空,请填写配置2'
  3996. END IF
  3997. RETURN rslt
  3998. end function
  3999. public subroutine wf_cmpl_amt (integer row);If row <= 0 Then Return
  4000. If row > dw_child.RowCount() Then Return
  4001. dw_child.AcceptText()
  4002. Decimal lde_saleqty, lde_rebate ,lde_tax
  4003. lde_saleqty = dw_child.Object.usaleqty[row]
  4004. lde_rebate = dw_child.Object.u_saletaskmx_rebate[row]
  4005. lde_tax = dw_child.Object.u_saletaskmx_tax[row]
  4006. //由金额计算单价
  4007. If cbx_enamt_edit.Checked Then
  4008. If dw_child.Object.enamt[row] <> 0 Then
  4009. If lde_rebate <> 0 And lde_saleqty <> 0 Then
  4010. dw_child.Object.u_saletaskmx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
  4011. dw_child.Object.u_saletaskmx_enamt_tax[row] = Round(dw_child.Object.enamt[row]*lde_tax/(1+lde_tax), 2)
  4012. dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_saletaskmx_enamt_tax[row]
  4013. dw_child.Object.u_saletaskmx_enprice_notax[row] = dw_child.Object.u_saletaskmx_enprice[row] / (1 + lde_tax)
  4014. End If
  4015. End If
  4016. ElseIf cbx_enamt_notax_edit.Checked Then // 录入不含税单价
  4017. dw_child.Object.enamt_notax[row] = dw_child.Object.u_saletaskmx_enprice_notax[row] * lde_saleqty //录入的是不含税单价 单价 * 数量=金额
  4018. If dw_child.Object.enamt_notax[row] <> 0 Then
  4019. If lde_rebate <> 0 And lde_saleqty <> 0 Then
  4020. dw_child.Object.u_saletaskmx_enamt_tax[row] = Round(dw_child.Object.enamt_notax[row]*lde_tax, 2)
  4021. dw_child.Object.enamt[row] = dw_child.Object.u_saletaskmx_enamt_tax[row] + dw_child.Object.enamt_notax[row]
  4022. dw_child.Object.u_saletaskmx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
  4023. If dw_child.Object.u_saletaskmx_enprice_notax[row] = 0 Then
  4024. dw_child.Object.u_saletaskmx_enprice_notax[row] = dw_child.Object.u_saletaskmx_enprice[row] / (1 + lde_tax)
  4025. End If
  4026. End If
  4027. End If
  4028. ElseIf cbx_zk.Checked Then //录入金额计算折扣
  4029. If dw_child.Object.u_saletaskmx_enprice[row] <> 0 And lde_saleqty <> 0 Then
  4030. dw_child.Object.u_saletaskmx_rebate[row] = dw_child.Object.enamt[row] / dw_child.Object.u_saletaskmx_enprice[row] / lde_saleqty
  4031. End If
  4032. Else
  4033. dw_child.Object.enamt[row] = Round(dw_child.Object.u_saletaskmx_enprice[row]*lde_rebate*lde_saleqty, 2)
  4034. 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)
  4035. dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_saletaskmx_enamt_tax[row]
  4036. dw_child.Object.u_saletaskmx_enprice_notax[row] = dw_child.Object.u_saletaskmx_enprice[row] / (1 + lde_tax)
  4037. End If
  4038. Choose Case sys_option_outware_sale_amt_round
  4039. Case 0 //分
  4040. dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 2)
  4041. Case 1
  4042. dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 1)
  4043. Case 2
  4044. dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 0)
  4045. Case 3
  4046. dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 10, 2) * 10
  4047. Case 4
  4048. dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 100, 2) * 100
  4049. End Choose
  4050. end subroutine
  4051. public function integer wf_check_qtyandaddqty (ref string arg_msg);Int rslt = 1
  4052. Long i
  4053. Long lk_mtrlid,lk_ifcheckaddqty
  4054. String ls_strcheckaddqty
  4055. Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty
  4056. String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
  4057. FOR i = 1 To dw_child.RowCount()
  4058. lk_mtrlid = dw_child.Object.mtrlid[i]
  4059. dec_qty = dw_child.Object.usaleqty[i]
  4060. dec_addqty = dw_child.Object.u_saletaskmx_addqty[i]
  4061. ls_status = dw_child.Object.u_saletaskmx_status[i]
  4062. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  4063. ls_pcode = dw_child.Object.u_saletaskmx_pcode[i]
  4064. ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  4065. ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  4066. dec_danpackqty=0
  4067. dec_packqty=dw_child.Object.u_saletaskmx_packqty[i]
  4068. SELECT ifcheckaddqty,strcheckaddqty Into :lk_ifcheckaddqty,:ls_strcheckaddqty From u_mtrldef Where mtrlid = :lk_mtrlid;
  4069. //如果有填写数量 则 只检查数量和辅数的关系
  4070. IF lk_mtrlid > 0 And lk_ifcheckaddqty = 1 And dec_qty <> 0 THEN
  4071. 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
  4072. rslt = 0
  4073. arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty
  4074. GOTO ext
  4075. END IF
  4076. END IF
  4077. //如果没有填写数量 则 由辅数计算出数量
  4078. Decimal dec_tmp
  4079. IF lk_mtrlid > 0 And dec_qty = 0 THEN
  4080. 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)
  4081. IF dec_tmp = 0 THEN
  4082. rslt = 0
  4083. arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty
  4084. GOTO ext
  4085. ELSE
  4086. dw_child.Object.usaleqty[i] = dec_tmp
  4087. END IF
  4088. END IF
  4089. NEXT
  4090. dw_child.AcceptText()
  4091. ext:
  4092. RETURN rslt
  4093. end function
  4094. public function integer wf_refresh_interface ();//wf_refresh_interface
  4095. IF dw_edit_mode THEN
  4096. cb_retrieve.Enabled = FALSE
  4097. cb_delet.Enabled = FALSE
  4098. cb_print.Enabled = FALSE
  4099. cb_viewprint.Enabled = FALSE
  4100. cb_auditing.Enabled = FALSE
  4101. cb_auditing_cancel.Enabled = FALSE
  4102. dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
  4103. dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关
  4104. // dw_child.titleclick_sort_use = TRUE //单击标题排序功能开关
  4105. dw_child.RBUTTON_SETPOSITION_USE = FALSE //定位
  4106. // dw_child.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
  4107. cb_edit.Enabled = TRUE
  4108. cb_add.Enabled = TRUE
  4109. cb_xls.Enabled = FALSE
  4110. cb_edit.Text = "放弃&E"
  4111. cb_add.Text = "保存&S"
  4112. cb_edit.normalpicname = 'Undo.bmp'
  4113. cb_add.normalpicname = 'Save.bmp'
  4114. ELSE
  4115. cb_retrieve.Enabled = TRUE
  4116. cb_delet.Enabled = TRUE
  4117. cb_print.Enabled = TRUE
  4118. cb_viewprint.Enabled = TRUE
  4119. cb_auditing.Enabled = TRUE
  4120. cb_auditing_cancel.Enabled = TRUE
  4121. cb_add.Enabled = TRUE
  4122. cb_edit.Enabled = TRUE
  4123. cb_xls.Enabled = TRUE
  4124. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  4125. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  4126. // dw_child.titleclick_sort_use = FALSE //单击标题排序功能开关
  4127. dw_child.RBUTTON_SETPOSITION_USE = TRUE //定位
  4128. // dw_child.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  4129. cb_edit.Text = "修改&E"
  4130. cb_add.Text = "新建&S"
  4131. cb_edit.normalpicname = 'OPEN.bmp'
  4132. cb_add.normalpicname = 'new.bmp'
  4133. IF dw_pageretr.GetRow() <= 0 THEN
  4134. cb_edit.Enabled = FALSE
  4135. cb_delet.Enabled = FALSE
  4136. cb_addzy.Enabled = FALSE
  4137. cb_auditing.Enabled = FALSE
  4138. END IF
  4139. END IF
  4140. IF retrieve_all OR dw_edit_mode THEN
  4141. cb_nextpage.Enabled = FALSE
  4142. cb_retrieveall.Enabled = FALSE
  4143. em_pagerowno.Enabled = FALSE
  4144. cb_func.Enabled = FALSE
  4145. IF dw_edit_mode THEN
  4146. sle_usual_query.Enabled = FALSE
  4147. ELSE
  4148. sle_usual_query.Enabled = TRUE
  4149. END IF
  4150. ELSE
  4151. cb_nextpage.Enabled = TRUE
  4152. cb_retrieveall.Enabled = TRUE
  4153. em_pagerowno.Enabled = TRUE
  4154. sle_usual_query.Enabled = TRUE
  4155. cb_func.Enabled = TRUE
  4156. END IF
  4157. wf_lock_child()
  4158. //修改uc_taborder
  4159. IF dw_edit_mode THEN
  4160. dw_uc.TriggerEvent("ue_taborder")
  4161. IF dw_uc.ins_if_nomodify_uc_taborder THEN
  4162. Long ll_uc_int
  4163. //messagebox("",uc_column_int)
  4164. FOR ll_uc_int = 1 TO uc_column_int
  4165. dw_uc.SetTabOrder (ll_uc_int,ll_uc_int*10 )
  4166. NEXT
  4167. END IF
  4168. IF sys_option_saletask_requireday_mode = 1 THEN
  4169. dw_uc.SetTabOrder ('requiredate',0 )
  4170. ELSE
  4171. dw_child.SetTabOrder ('u_saletaskmx_requiredate',0 )
  4172. END IF
  4173. ELSE
  4174. dw_uc.TriggerEvent("ue_taborder_cancel")
  4175. END IF
  4176. cb_edit.of_init_draw()
  4177. cb_add.of_init_draw()
  4178. cb_edit.of_paint()
  4179. cb_add.of_paint()
  4180. cb_add.TriggerEvent('ue_textchange')
  4181. cb_edit.TriggerEvent('ue_textchange')
  4182. ll_lastrow = 0
  4183. THIS.TriggerEvent('refresh_interface')
  4184. RETURN 1
  4185. end function
  4186. public function integer wf_get_pricelist_price_buchong (long arg_pricelistid, long arg_moneyid, ref string arg_msg);
  4187. Int rslt = 1
  4188. Long ls_row
  4189. Long ll_pricelistid, ll_moneyid, ll_mtrlid
  4190. String ls_status,ls_pcode,ls_woodcode,ls_unit
  4191. String ls_msg
  4192. ll_pricelistid = arg_pricelistid
  4193. ll_moneyid = arg_moneyid
  4194. IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
  4195. rslt = 0
  4196. GOTO ext
  4197. END IF
  4198. s_sale_price_mx s_mx
  4199. dw_child.AcceptText()
  4200. FOR ls_row = 1 To dw_child.RowCount()
  4201. IF dw_child.Object.u_saletaskmx_enprice[ls_row] <> 0 THEN CONTINUE
  4202. ll_mtrlid = dw_child.Object.mtrlid[ls_row]
  4203. ls_status = dw_child.Object.u_saletaskmx_status[ls_row]
  4204. ls_pcode = dw_child.Object.u_saletaskmx_pcode[ls_row]
  4205. ls_woodcode = dw_child.Object.u_saletaskmx_woodcode[ls_row]
  4206. ls_unit = dw_child.Object.u_saletaskmx_unit[ls_row]
  4207. IF sys_option_price_if_status = 0 THEN
  4208. ls_status = ''
  4209. ls_pcode = ''
  4210. ls_woodcode = ''
  4211. END IF
  4212. s_mx.mtrlid = ll_mtrlid
  4213. s_mx.status = ls_status
  4214. s_mx.woodcode = ls_woodcode
  4215. s_mx.pcode = ls_pcode
  4216. s_mx.unit = ls_unit
  4217. s_mx.moneyid = ll_moneyid
  4218. s_mx.pricelistid = ll_pricelistid
  4219. IF uo_cus_price.uof_get_pricelist_price(s_mx, ls_msg) = 0 THEN
  4220. arg_msg += "行:"+String(ls_row)+", "+String(dw_child.Object.mtrlname[ls_row])+" 的导入价格表售价失败或没有设置售价! ~n "
  4221. rslt = 0 //无标准价格表 或未审核
  4222. END IF
  4223. dw_child.Object.u_saletaskmx_enprice[ls_row] = s_mx.price
  4224. dw_child.Object.u_saletaskmx_rebate[ls_row] = s_mx.rebate
  4225. //dw_child.Object.u_saletaskmx_rate[ls_row] = obj_rate
  4226. NEXT
  4227. ext:
  4228. RETURN rslt
  4229. end function
  4230. public subroutine wf_set_decimal_place ();Long i
  4231. IF sys_option_outware_price_amt_round = 99 THEN RETURN
  4232. //设置单价保留位数
  4233. dw_child.AcceptText()
  4234. FOR i = 1 To dw_child.RowCount()
  4235. CHOOSE CASE sys_option_outware_price_amt_round
  4236. CASE 0
  4237. dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0') )
  4238. CASE 1
  4239. dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.#') )
  4240. CASE 2
  4241. dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.##') )
  4242. CASE 3
  4243. dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.###') )
  4244. CASE 4
  4245. dw_child.Object.u_saletaskmx_enprice[i] = Dec(String(dw_child.Object.u_saletaskmx_enprice[i],'#,##0.####') )
  4246. END CHOOSE
  4247. NEXT
  4248. dw_child.AcceptText()
  4249. //设置单价保留位数
  4250. end subroutine
  4251. public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid);Int lst
  4252. Long i
  4253. String cstr = '',rstr = '',msg = ''
  4254. Decimal arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt
  4255. String ls_moneyname
  4256. Decimal ld_canamt
  4257. Decimal lde_billamt
  4258. Decimal ld_mrate
  4259. Long ll_outwareid
  4260. Long ll_taskid
  4261. //dw_child.accepttext()
  4262. SELECT name
  4263. INTO :ls_moneyname
  4264. FROM cw_currency
  4265. Where moneyid = :arg_moneyid;
  4266. IF sqlca.SQLCode <> 0 THEN
  4267. // st_msg.Text = '查询币种信息失败'
  4268. // st_msg.BackColor = RGB(255,255,255)
  4269. RETURN
  4270. END IF
  4271. //本单金额
  4272. // IF sys_option_mst_multimoney = 0 THEN
  4273. // ll_moneyid = f_moneyid_native()
  4274. // IF ll_moneyid = -1 THEN
  4275. // MessageBox('系统提示','查询本位币失败')
  4276. // RETURN
  4277. // END IF
  4278. // ld_mrate = dw_pageretr.Object.u_outware_mrate[dw_pageretr.GetRow()]
  4279. // ELSE
  4280. // ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
  4281. ld_mrate = 1
  4282. // END IF
  4283. dw_child.AcceptText()
  4284. lde_billamt = dw_child.Object.enamt_sm[1] //* ld_mrate - dw_uc.Object.u_outware_otheramt[dw_uc.GetRow()]
  4285. //MessageBox('',String(dw_child.Object.enamt_sm[1] ))
  4286. //IF lde_billamt = 0 THEN lde_billamt = wf_sum_mxamt()
  4287. //其他单未财审金额
  4288. dw_uc.AcceptText()
  4289. ll_outwareid = 0 //dw_uc.Object.u_outware_outwareid[dw_uc.GetRow()]
  4290. ll_taskid = dw_uc.Object.taskid[dw_uc.GetRow()]
  4291. IF IsNull(ll_taskid) THEN ll_taskid = 0
  4292. Decimal ld_notsecaudit_amt, ld_notsecaudit_enamt, ld_notsecaudit_billamt, ld_notsecaudit_otheramt, ld_notsecaudit_enotheramt
  4293. SELECT sum(round(u_outwaremx.saleqty * u_outwaremx.price,2)),
  4294. sum(round(u_outwaremx.saleqty * u_outwaremx.enprice * u_outwaremx.rebate,2))
  4295. INTO :ld_notsecaudit_amt,:ld_notsecaudit_enamt
  4296. FROM u_outware,u_outwaremx
  4297. WHERE u_outware.scid = u_outwaremx.scid
  4298. AND u_outware.outwareid = u_outwaremx.outwareid
  4299. AND u_outware.billtype = 1
  4300. AND u_outware.secflag = 0
  4301. AND u_outware.outwareid <> :ll_outwareid
  4302. AND u_outware.cusid = :arg_cusid
  4303. AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
  4304. And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
  4305. IF sqlca.SQLCode <> 0 THEN
  4306. ld_notsecaudit_amt = 0
  4307. ld_notsecaudit_enamt = 0
  4308. END IF
  4309. Decimal ld_notoutwaresale_amt
  4310. Long ll_scid
  4311. string ls_taskcode
  4312. //未发货部分
  4313. ld_notoutwaresale_amt = 0
  4314. ll_scid = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
  4315. ls_taskcode=dw_uc.Object.taskcode[dw_uc.GetRow()]
  4316. IF IsNull(ll_scid) THEN ll_scid = 0
  4317. if isnull(ls_taskcode) then ls_taskcode=''
  4318. SELECT sum( (usaleqty - consignedqty ) * enprice * rebate)
  4319. INTO :ld_notoutwaresale_amt
  4320. FROM u_saletaskmx INNER join
  4321. u_saletask on u_saletask.scid = u_saletaskmx.scid AND u_saletask.taskid = u_saletaskmx.taskid
  4322. WHERE u_saletask.cusid = :arg_cusid AND
  4323. (u_saletask.taskcode <> :ls_taskcode );
  4324. IF sqlca.SQLCode <> 0 THEN
  4325. ld_notoutwaresale_amt=0
  4326. END IF
  4327. IF IsNull(ld_notoutwaresale_amt) THEN ld_notoutwaresale_amt = 0
  4328. SELECT sum(round(u_outware.otheramt,2)),
  4329. sum(round(u_outware.otheramt * u_outware.mrate,2))
  4330. INTO :ld_notsecaudit_enotheramt,:ld_notsecaudit_otheramt
  4331. FROM u_outware
  4332. WHERE u_outware.billtype = 1
  4333. AND u_outware.secflag = 0
  4334. AND u_outware.outwareid <> :ll_outwareid
  4335. AND u_outware.cusid = :arg_cusid
  4336. AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
  4337. And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
  4338. IF sqlca.SQLCode <> 0 THEN
  4339. ld_notsecaudit_enotheramt = 0
  4340. ld_notsecaudit_otheramt = 0
  4341. END IF
  4342. IF IsNull(ld_notsecaudit_amt) THEN ld_notsecaudit_amt = 0
  4343. IF IsNull(ld_notsecaudit_enamt) THEN ld_notsecaudit_enamt = 0
  4344. IF IsNull(ld_notsecaudit_otheramt) THEN ld_notsecaudit_otheramt = 0
  4345. IF IsNull(ld_notsecaudit_enotheramt) THEN ld_notsecaudit_enotheramt = 0
  4346. IF sys_option_mst_multimoney = 1 THEN
  4347. ld_notsecaudit_billamt = ld_notsecaudit_enamt - ld_notsecaudit_enotheramt
  4348. ELSE
  4349. ld_notsecaudit_billamt = ld_notsecaudit_amt - ld_notsecaudit_otheramt
  4350. END IF
  4351. cur_cusrepamtflag = 0
  4352. //--------检查信用额
  4353. lst = f_getcusrepamt_info(arg_scid,arg_cusid,arg_moneyid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt)
  4354. IF lst < 0 THEN
  4355. msg = '提示:查询信用额及欠款失败!'
  4356. // st_msg.Text = msg
  4357. // st_msg.BackColor = RGB(255,255,255)
  4358. cur_cusrepamtflag = -1
  4359. cur_cusrepamtstr = msg
  4360. ELSE
  4361. //客户欠款
  4362. IF arg_cusmaxamt > 0 THEN
  4363. IF arg_cusbalcamt > arg_cusmaxamt THEN
  4364. cstr = ' 客户欠款超信用额! '
  4365. ELSEIF arg_cusbalcamt = arg_cusmaxamt THEN
  4366. cstr = ' 客户欠款平信用额! '
  4367. END IF
  4368. ELSE
  4369. IF arg_cusbalcamt > arg_cusmaxamt THEN cstr = ' 客户有欠款! '
  4370. END IF
  4371. //业务员欠款
  4372. IF arg_outrep_maxamt > 0 THEN
  4373. IF arg_outrep_balcamt > arg_outrep_maxamt THEN
  4374. rstr = ' 业务员欠款超信用额! '
  4375. ELSEIF arg_outrep_balcamt = arg_outrep_maxamt THEN
  4376. cstr = ' 业务员欠款平信用额! '
  4377. END IF
  4378. ELSE
  4379. IF arg_outrep_balcamt > arg_outrep_maxamt THEN rstr = ' 业务员有欠款! '
  4380. END IF
  4381. msg = '提示:~r~n~r~n币种:'+ls_moneyname+"~r~n~r~n"
  4382. IF arg_cusmaxamt > 0 THEN
  4383. IF arg_cusmaxamt - arg_cusbalcamt < 0 THEN
  4384. ld_canamt = 0
  4385. ELSE
  4386. ld_canamt = arg_cusmaxamt - arg_cusbalcamt
  4387. END IF
  4388. msg += '客户信用额:'+String(arg_cusmaxamt,'#,##0.00')+' 欠款:' + String(arg_cusbalcamt,'#,##0.00') + ' 可用额:' + String(ld_canamt ,'#,##0.00') + cstr + "~r~n~r~n"
  4389. ELSE
  4390. msg += '客户欠款:' + String(arg_cusbalcamt,'#,##0.00') + cstr + "~r~n~r~n"
  4391. END IF
  4392. //msg += '客户信用额-欠款:'+String(arg_cusmaxamt,'#0.0#')+'-'+String(arg_cusbalcamt,'#0.0#')+'='+String(arg_cusmaxamt - arg_cusbalcamt,'#0.0#')+cstr+"~r~n~r~n"
  4393. IF arg_outrep_maxamt > 0 THEN
  4394. IF arg_outrep_maxamt - arg_outrep_balcamt < 0 THEN
  4395. ld_canamt = 0
  4396. ELSE
  4397. ld_canamt = arg_outrep_maxamt - arg_outrep_balcamt
  4398. END IF
  4399. msg += '业务员信用额:'+String(arg_outrep_maxamt,'#,##0.00') +' 欠款'+String(arg_outrep_balcamt,'#,##0.00')+' 可用额:'+String(ld_canamt,'#,##0.00') + rstr
  4400. ELSE
  4401. msg += '业务员欠款:'+String(arg_outrep_balcamt,'#,##0.00') + rstr
  4402. END IF
  4403. //msg += '业务员信用额-欠款:'+String(arg_outrep_maxamt,'#0.0#')+'-'+String(arg_outrep_balcamt,'#0.0#')+'='+String(arg_outrep_maxamt - arg_outrep_balcamt,'#0.0#')+rstr
  4404. // st_msg.Text = msg
  4405. cur_cusrepamtstr = msg
  4406. IF arg_outrep_balcamt >= arg_outrep_maxamt &
  4407. Or arg_cusbalcamt >= arg_cusmaxamt THEN //有欠款
  4408. // st_msg.BackColor = RGB(255,200,200)
  4409. ELSE
  4410. // st_msg.BackColor = RGB(255,255,255)
  4411. END IF
  4412. IF arg_cusbalcamt + ld_notsecaudit_billamt + lde_billamt + ld_notoutwaresale_amt > arg_cusmaxamt THEN
  4413. cur_cusrepamtflag = -1
  4414. 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'
  4415. cur_cusrepamtstr += '超信用额:'+String(arg_cusbalcamt + ld_notsecaudit_billamt + lde_billamt + ld_notoutwaresale_amt - arg_cusmaxamt,'#,##0.00')
  4416. ELSE
  4417. cur_cusrepamtflag = 0
  4418. cur_cusrepamtstr = ""
  4419. END IF
  4420. END IF
  4421. //st_cusbalc.Text = ""
  4422. end subroutine
  4423. public function integer wf_openfile (datawindow arg_dw);
  4424. String str_savename,named,s_grxh
  4425. Int excelok,li_net
  4426. Long li_count,i,ll_hang
  4427. oleobject excelserver
  4428. excelserver = Create oleobject
  4429. excelok = excelserver.ConnectToNewObject("excel.application")
  4430. //检查返回值,以确保已成功地连接到了Excel
  4431. IF excelok <> 0 THEN
  4432. MessageBox("提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!", Information!, OK! )
  4433. RETURN -1
  4434. END IF
  4435. li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
  4436. IF li_net > 0 THEN
  4437. IF str_savename = "" THEN RETURN -1
  4438. arg_dw.SetTransObject(sqlca)
  4439. arg_dw.InsertRow(0)
  4440. arg_dw.Reset()
  4441. excelserver.workbooks.Open(str_savename)
  4442. excelserver.activesheet.cells.Copy
  4443. datastore ds_col30
  4444. /////////////建立映射//////////////////// //
  4445. ds_col30 = Create datastore
  4446. ds_col30.DataObject = 'dw_col30'
  4447. ds_col30.ImportClipboard(1)
  4448. Long ll_s_col_count = 30
  4449. Long ll_d_col_count
  4450. String ls_execltitlename,ls_filtername
  4451. s_dytitle_filter ss_dytitle_filter[]
  4452. Long k = 1,m
  4453. Long li_argcnt = 1
  4454. String ls_cmd,ls_arg[]
  4455. ll_d_col_count = Long(arg_dw.Object.datawindow.Column.Count)
  4456. Long ll_map[] // 目标表与原表的映射,0为没有映射
  4457. String ls_colType[] // 目标表列类型
  4458. Long col_d, col_s
  4459. SELECT Top 1 hang Into :ll_hang From u_dytitle_saletask;
  4460. FOR col_d = 1 To ll_d_col_count
  4461. String ls_col_title, ls_col_name
  4462. ls_col_name = arg_dw.Describe('#' + String(col_d) + '.Name')
  4463. ls_colType[col_d] = arg_dw.Describe('#' + String(col_d) + '.ColType')
  4464. ls_col_title = arg_dw.Describe(ls_col_name + '_t.Text') //数据窗口的标题名称
  4465. ll_map[col_d] = 0
  4466. FOR col_s = 1 To ll_s_col_count
  4467. String ls_s_title
  4468. ls_s_title = ds_col30.GetItemString(ll_hang , col_s) //execl表的标题名称
  4469. //
  4470. SELECT execltitlename,filtername Into :ls_execltitlename,:ls_filtername From u_dytitle_saletask Where Name = :ls_col_name;
  4471. //
  4472. // if lower(trim(ls_col_title)) = lower(trim(ls_s_title)) then
  4473. IF Lower(Trim(ls_execltitlename)) = Lower(Trim(ls_s_title)) THEN
  4474. ll_map[col_d] = col_s
  4475. IF ls_filtername <> '' THEN //记录过滤
  4476. ss_dytitle_filter[k].num = col_s
  4477. ss_dytitle_filter[k].filtername = ls_filtername
  4478. k++
  4479. END IF
  4480. EXIT
  4481. END IF
  4482. NEXT
  4483. NEXT
  4484. // TODO: 人工干预,设置映射
  4485. Long row_s, row_d
  4486. String lk_temp
  4487. FOR row_s = ll_hang + 1 To ds_col30.RowCount( ) //ll_hang + 1
  4488. //过滤
  4489. FOR k = 1 To UpperBound(ss_dytitle_filter)
  4490. lk_temp = String( Trim(ds_col30.GetItemString(row_s, ss_dytitle_filter[k].num)))
  4491. //
  4492. ls_cmd = ss_dytitle_filter[k].filtername
  4493. IF Pos(ls_cmd,',') > 0 THEN //如果是多少个过滤字眼
  4494. DO WHILE Len(ls_cmd) > 0
  4495. i = Pos( ls_cmd, ",")
  4496. IF i = 0 THEN i = Len(ls_cmd) + 1
  4497. ls_arg[li_argcnt] = Left(ls_cmd, i - 1)
  4498. li_argcnt = li_argcnt + 1
  4499. ls_cmd = Replace(ls_cmd, 1, i, "")
  4500. LOOP
  4501. FOR m = 1 To UpperBound(ls_arg)
  4502. IF Pos(lk_temp,ls_arg[m]) > 0 THEN
  4503. GOTO ext
  4504. END IF
  4505. NEXT
  4506. ELSE //一个过滤字眼
  4507. IF Pos(lk_temp,ss_dytitle_filter[k].filtername) > 0 THEN
  4508. GOTO ext
  4509. END IF
  4510. END IF
  4511. //
  4512. NEXT
  4513. //过滤
  4514. row_d = arg_dw.InsertRow(0)
  4515. FOR col_d = 1 To ll_d_col_count
  4516. IF ll_map[col_d] = 0 THEN CONTINUE
  4517. Any Value
  4518. String ls_value
  4519. ls_value = Trim(ds_col30.GetItemString(row_s, ll_map[col_d]))
  4520. IF Lower(Left(ls_colType[col_d], 4)) = 'char' THEN
  4521. Value = ls_value
  4522. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'long' &
  4523. Or Lower(Left(ls_colType[col_d], 3)) = 'int' &
  4524. Or Lower(Left(ls_colType[col_d], 3)) = 'num' &
  4525. Or Lower(Left(ls_colType[col_d], 5)) = 'ulong' THEN
  4526. Value = Long(ls_value)
  4527. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'deci' &
  4528. Or Lower(Left(ls_colType[col_d], 4)) = 'real' THEN
  4529. Value = Dec(ls_value)
  4530. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'date' THEN
  4531. Value = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 12)))
  4532. END IF
  4533. arg_dw.SetItem(row_d, col_d, Value)
  4534. NEXT
  4535. ext:
  4536. NEXT
  4537. Destroy ds_col30
  4538. ///////////////////////////////////// //
  4539. // li_count = arg_dw.ImportClipboard(2) //导入数据 (从第几行开始导入)
  4540. Clipboard("")
  4541. excelserver.quit()
  4542. excelserver.DisconnectObject()
  4543. Destroy excelserver
  4544. FOR i = 1 To arg_dw.RowCount( )
  4545. // arg_dw.Object.repeat[i] = 0
  4546. NEXT
  4547. arg_dw.AcceptText( )
  4548. RETURN 1
  4549. ELSE
  4550. MessageBox('提示','没有指定导入文件!', Information!, OK! )
  4551. RETURN -1
  4552. END IF
  4553. end function
  4554. public subroutine wf_enamt_facechg ();
  4555. IF ii_enamt_notax_edit = 0 THEN //录入不含税单价 为 false
  4556. dw_child.Modify('u_saletaskmx_enprice_notax.protect = 1~t u_saletaskmx_enprice_notax.Color = "0~trgb(0,0,0)"')
  4557. dw_child.Modify('u_saletaskmx_enprice_notax_t.Color = "0~trgb(0,0,0)"')
  4558. dw_child.Modify('enamt_notax.protect =1~t enamt_notax.Color = 0') //现在不录入 不含税金额
  4559. ELSEIF ii_enamt_notax_edit = 1 THEN
  4560. dw_child.Modify('u_saletaskmx_enprice_notax.protect = 0~t u_saletaskmx_enprice_notax.Color = "0~trgb(0,0,255)"')
  4561. dw_child.Modify('u_saletaskmx_enprice_notax_t.Color = "0~trgb(0,0,255)"')
  4562. dw_child.Modify('enamt_notax.protect =1~t enamt_notax.Color = 0') //现在不录入 不含税金额
  4563. END IF
  4564. end subroutine
  4565. public subroutine wf_cusbalc (long arg_scid, long arg_cusid, long arg_moneyid);IF NOT f_power_ind(1506) THEN
  4566. st_cusbalc.Text = ''
  4567. RETURN
  4568. END IF
  4569. IF dw_edit_mode THEN
  4570. st_cusbalc.Text = ''
  4571. RETURN
  4572. END IF
  4573. IF arg_cusid = 0 THEN RETURN
  4574. String ls_cusname,ls_moneyname
  4575. Decimal ld_cus_balcamt,ld_maxmtnum, ld_canamt
  4576. Decimal ld_notsecaudit_amt,ld_notsecaudit_enamt
  4577. Decimal ld_notsecaudit_billamt, ldt_cusmaxamt
  4578. Decimal ld_outrep_balcamt,ld_outrep_maxamt
  4579. SELECT name
  4580. INTO :ls_moneyname
  4581. FROM cw_currency
  4582. Where moneyid = :arg_moneyid;
  4583. IF sqlca.SQLCode <> 0 THEN
  4584. st_cusbalc.Text = '查询币种信息失败'
  4585. RETURN
  4586. END IF
  4587. SELECT u_cust.name,
  4588. u_cust.maxmtnum ,
  4589. isnull(v_cus_balcamt.cus_balcamt,0)
  4590. INTO :ls_cusname,:ld_maxmtnum,:ld_cus_balcamt
  4591. FROM u_cust left OUTER join
  4592. v_cus_balcamt on u_cust.cusid = v_cus_balcamt.cusid
  4593. WHERE u_cust.cusid = :arg_cusid
  4594. AND isnull(v_cus_balcamt.scid,0) = :arg_scid
  4595. AND IsNull(v_cus_balcamt.moneyid,0) = :arg_moneyid;
  4596. IF sqlca.SQLCode <> 0 THEN
  4597. st_cusbalc.Text = '查询客户信息失败'
  4598. RETURN
  4599. END IF
  4600. st_cusbalc.Text = "客户:"+ls_cusname + ' 币种:'+ls_moneyname+'~r~n'
  4601. IF ld_maxmtnum > 0 THEN
  4602. IF ld_maxmtnum - ld_cus_balcamt < 0 THEN
  4603. ld_canamt = 0
  4604. ELSE
  4605. ld_canamt = ld_maxmtnum - ld_cus_balcamt
  4606. END IF
  4607. st_cusbalc.Text += '信用额:'+String(ld_maxmtnum,'#,##0.00')+' 欠款:' + String(ld_cus_balcamt,'#,##0.00') + ' 可用额:' + String(ld_canamt ,'#,##0.00')
  4608. ELSE
  4609. st_cusbalc.Text += '欠款:'+ String(ld_cus_balcamt,'#,##0.00')
  4610. END IF
  4611. IF ld_maxmtnum < ld_cus_balcamt THEN
  4612. st_cusbalc.TextColor = RGB(255,0,0)
  4613. ELSE
  4614. st_cusbalc.TextColor = RGB(0,0,0)
  4615. END IF
  4616. //
  4617. wf_getcusrepamt_info_show(arg_scid,arg_cusid,arg_moneyid)
  4618. st_cusbalc.Text = ls_cusname+'['+ls_moneyname+'] ' + cur_cusrepamtstr_show
  4619. end subroutine
  4620. public subroutine wf_getcusrepamt_info_show (long arg_scid, long arg_cusid, long arg_moneyid);Int lst
  4621. long i
  4622. String cstr = '',rstr = '',msg = ''
  4623. Decimal arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt
  4624. String ls_moneyname
  4625. Decimal ld_canamt
  4626. Decimal lde_billamt
  4627. Decimal ld_mrate
  4628. Long ll_taskid
  4629. //dw_child.accepttext()
  4630. SELECT name
  4631. INTO :ls_moneyname
  4632. FROM cw_currency
  4633. Where moneyid = :arg_moneyid;
  4634. IF sqlca.SQLCode <> 0 THEN
  4635. // st_msg.Text = '查询币种信息失败'
  4636. // st_msg.BackColor = RGB(255,255,255)
  4637. RETURN
  4638. END IF
  4639. //本单金额
  4640. // IF sys_option_mst_multimoney = 0 THEN
  4641. // ll_moneyid = f_moneyid_native()
  4642. // IF ll_moneyid = -1 THEN
  4643. // MessageBox('系统提示','查询本位币失败')
  4644. // RETURN
  4645. // END IF
  4646. // ld_mrate = dw_pageretr.Object.u_outware_mrate[dw_pageretr.GetRow()]
  4647. // ELSE
  4648. // ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
  4649. ld_mrate = 1
  4650. // END IF
  4651. lde_billamt = dw_child.Object.enamt_sm[1] //* ld_mrate - dw_uc.Object.u_outware_otheramt[dw_uc.getrow()]
  4652. //其他单未财审金额
  4653. dw_uc.AcceptText()
  4654. ll_taskid = dw_uc.Object.taskid[dw_uc.GetRow()]
  4655. Decimal ld_notsecaudit_amt, ld_notsecaudit_enamt, ld_notsecaudit_billamt, ld_notsecaudit_otheramt, ld_notsecaudit_enotheramt
  4656. SELECT sum(round(u_outwaremx.saleqty * u_outwaremx.price,2)),
  4657. sum(round(u_outwaremx.saleqty * u_outwaremx.enprice * u_outwaremx.rebate,2))
  4658. INTO :ld_notsecaudit_amt,:ld_notsecaudit_enamt
  4659. FROM u_outware,u_outwaremx
  4660. WHERE u_outware.scid = u_outwaremx.scid
  4661. AND u_outware.outwareid = u_outwaremx.outwareid
  4662. AND u_outware.billtype = 1
  4663. AND u_outware.secflag = 0
  4664. AND u_outware.cusid = :arg_cusid
  4665. AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
  4666. And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
  4667. IF sqlca.SQLCode <> 0 THEN
  4668. ld_notsecaudit_amt = 0
  4669. ld_notsecaudit_enamt = 0
  4670. END IF
  4671. SELECT sum(round(u_outware.otheramt,2)),
  4672. sum(round(u_outware.otheramt * u_outware.mrate,2))
  4673. INTO :ld_notsecaudit_enotheramt,:ld_notsecaudit_otheramt
  4674. FROM u_outware
  4675. WHERE u_outware.billtype = 1
  4676. AND u_outware.secflag = 0
  4677. AND u_outware.cusid = :arg_cusid
  4678. AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
  4679. And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
  4680. IF sqlca.SQLCode <> 0 THEN
  4681. ld_notsecaudit_enotheramt = 0
  4682. ld_notsecaudit_otheramt = 0
  4683. END IF
  4684. IF IsNull(ld_notsecaudit_amt) THEN ld_notsecaudit_amt = 0
  4685. IF IsNull(ld_notsecaudit_enamt) THEN ld_notsecaudit_enamt = 0
  4686. IF IsNull(ld_notsecaudit_otheramt) THEN ld_notsecaudit_otheramt = 0
  4687. IF IsNull(ld_notsecaudit_enotheramt) THEN ld_notsecaudit_enotheramt = 0
  4688. IF sys_option_mst_multimoney = 1 THEN
  4689. ld_notsecaudit_billamt = ld_notsecaudit_enamt - ld_notsecaudit_enotheramt
  4690. ELSE
  4691. ld_notsecaudit_billamt = ld_notsecaudit_amt - ld_notsecaudit_otheramt
  4692. END IF
  4693. cur_cusrepamtflag = 0
  4694. //--------检查信用额
  4695. lst = f_getcusrepamt_info(arg_scid,arg_cusid,arg_moneyid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt)
  4696. //IF lst < 0 THEN
  4697. // msg = '提示:查询信用额及欠款失败!'
  4698. // st_msg.Text = msg
  4699. // st_msg.BackColor = RGB(255,255,255)
  4700. //
  4701. // cur_cusrepamtflag = -1
  4702. // cur_cusrepamtstr = msg
  4703. //ELSE
  4704. // //客户欠款
  4705. // IF arg_cusmaxamt > 0 THEN
  4706. // IF arg_cusbalcamt > arg_cusmaxamt THEN
  4707. // cstr = ' 客户欠款超信用额! '
  4708. // ELSEIF arg_cusbalcamt = arg_cusmaxamt THEN
  4709. // cstr = ' 客户欠款平信用额! '
  4710. // END IF
  4711. // ELSE
  4712. // IF arg_cusbalcamt > arg_cusmaxamt THEN cstr = ' 客户有欠款! '
  4713. // END IF
  4714. //
  4715. //end if
  4716. // cur_cusrepamtstr_show = '' //非编辑状态下 显示信息
  4717. 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')
  4718. If arg_cusmaxamt - arg_cusbalcamt - ld_notsecaudit_billamt >= 0 Then
  4719. st_cusbalc_sign.Visible = False
  4720. Else
  4721. st_cusbalc_sign.Visible = True
  4722. End If
  4723. end subroutine
  4724. public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid);////
  4725. decimal cusprice
  4726. SELECT
  4727. u_sale_price_mx.price
  4728. INTO :cusprice
  4729. from
  4730. u_cust left join u_sale_price_mx
  4731. on u_cust.pricelistid = u_sale_price_mx.pricelistid
  4732. where mtrlid = :arg_mtrlid and cusid = :arg_cusid ;
  4733. IF sqlca.SQLCode <> 0 THEN
  4734. cusprice = 0
  4735. END IF
  4736. return cusprice
  4737. end function
  4738. public function integer wf_formualprice_auto (ref string arg_msg);long rslt = 1
  4739. Long child_row
  4740. dw_child.AcceptText()
  4741. for child_row = 1 to dw_child.rowcount()
  4742. if dw_child.Object.u_saletaskmx_priceformula[child_row]<>'' then
  4743. String ls_msg
  4744. s_cmpl_qty arg_cmpl
  4745. decimal ld_qty
  4746. long mtrlid,cusid
  4747. mtrlid = dw_child.Object.mtrlid[child_row]
  4748. cusid = dw_uc.Object.cusid[dw_uc.getrow()]
  4749. arg_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[child_row]
  4750. arg_cmpl.price = dw_child.Object.u_saletaskmx_price[child_row]
  4751. arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  4752. arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
  4753. arg_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[child_row]
  4754. arg_cmpl.status = dw_child.Object.u_saletaskmx_status[child_row]
  4755. arg_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[child_row]
  4756. arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  4757. arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  4758. arg_cmpl.formula = dw_child.Object.u_saletaskmx_priceformula[child_row]
  4759. arg_cmpl.num = sys_option_outware_price_amt_round
  4760. arg_cmpl.flag = true
  4761. arg_cmpl.addvalue = 1
  4762. arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
  4763. ld_qty = 0
  4764. if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
  4765. rslt = 0
  4766. arg_msg ='行'+string(child_row)+':'+ ls_msg
  4767. goto ext
  4768. END IF
  4769. dw_child.Object.u_saletaskmx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
  4770. end if
  4771. next
  4772. ext:
  4773. return rslt
  4774. end function
  4775. public function integer wf_formualqty_auto (ref string arg_msg);
  4776. long rslt = 1
  4777. Long i
  4778. String ls_formula
  4779. String ls_msg
  4780. String ls_rs
  4781. String ls_num
  4782. Decimal ld_addqty
  4783. Decimal ld_price
  4784. Decimal ld_rebate
  4785. decimal ld_qty
  4786. dw_child.AcceptText()
  4787. s_cmpl_qty s_cmpl
  4788. s_cmpl.addvalue = 1
  4789. s_cmpl.num = long(ddlb_weishu.text)
  4790. dw_uc.SetRedraw(false)
  4791. FOR i = 1 TO dw_child.RowCount()
  4792. ld_qty = 0
  4793. IF dw_child.Object.u_saletaskmx_formula[i] <> '' THEN
  4794. s_cmpl.formula = dw_child.Object.u_saletaskmx_formula[i]
  4795. s_cmpl.status = dw_child.Object.u_saletaskmx_status[i]
  4796. s_cmpl.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  4797. s_cmpl.pcode = dw_child.Object.u_saletaskmx_pcode[i]
  4798. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  4799. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  4800. s_cmpl.addqty = dw_child.Object.u_saletaskmx_addqty[i]
  4801. s_cmpl.price = dw_child.Object.u_saletaskmx_enprice[i]
  4802. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  4803. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  4804. rslt = 0
  4805. arg_msg = '行'+string(i)+':'+ ls_msg
  4806. goto ext
  4807. END IF
  4808. dw_child.Object.usaleqty[i] = ld_qty
  4809. END IF
  4810. NEXT
  4811. ext:
  4812. return rslt
  4813. end function
  4814. on w_saletask.create
  4815. int iCurrent
  4816. call super::create
  4817. this.ddlb_scid=create ddlb_scid
  4818. this.st_2=create st_2
  4819. this.st_3=create st_3
  4820. this.cbx_quote=create cbx_quote
  4821. this.cbx_sc=create cbx_sc
  4822. this.cbx_list=create cbx_list
  4823. this.ddlb_status=create ddlb_status
  4824. this.cb_fhmx=create cb_fhmx
  4825. this.cb_tcmx=create cb_tcmx
  4826. this.cb_taskmx=create cb_taskmx
  4827. this.cb_tsmx=create cb_tsmx
  4828. this.cb_edit_tc=create cb_edit_tc
  4829. this.cb_fymx=create cb_fymx
  4830. this.dw_tsmx=create dw_tsmx
  4831. this.dw_fymx=create dw_fymx
  4832. this.dw_fhmx=create dw_fhmx
  4833. this.dw_dhmx=create dw_dhmx
  4834. this.dw_ywymx=create dw_ywymx
  4835. this.cbx_enamt_edit=create cbx_enamt_edit
  4836. this.cbx_1=create cbx_1
  4837. this.cbx_zk=create cbx_zk
  4838. this.ddlb_1=create ddlb_1
  4839. this.st_4=create st_4
  4840. this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit
  4841. this.st_cusbalc=create st_cusbalc
  4842. this.st_cusbalc_sign=create st_cusbalc_sign
  4843. this.cbx_auto_qty=create cbx_auto_qty
  4844. this.st_weishu=create st_weishu
  4845. this.ddlb_weishu=create ddlb_weishu
  4846. iCurrent=UpperBound(this.Control)
  4847. this.Control[iCurrent+1]=this.ddlb_scid
  4848. this.Control[iCurrent+2]=this.st_2
  4849. this.Control[iCurrent+3]=this.st_3
  4850. this.Control[iCurrent+4]=this.cbx_quote
  4851. this.Control[iCurrent+5]=this.cbx_sc
  4852. this.Control[iCurrent+6]=this.cbx_list
  4853. this.Control[iCurrent+7]=this.ddlb_status
  4854. this.Control[iCurrent+8]=this.cb_fhmx
  4855. this.Control[iCurrent+9]=this.cb_tcmx
  4856. this.Control[iCurrent+10]=this.cb_taskmx
  4857. this.Control[iCurrent+11]=this.cb_tsmx
  4858. this.Control[iCurrent+12]=this.cb_edit_tc
  4859. this.Control[iCurrent+13]=this.cb_fymx
  4860. this.Control[iCurrent+14]=this.dw_tsmx
  4861. this.Control[iCurrent+15]=this.dw_fymx
  4862. this.Control[iCurrent+16]=this.dw_fhmx
  4863. this.Control[iCurrent+17]=this.dw_dhmx
  4864. this.Control[iCurrent+18]=this.dw_ywymx
  4865. this.Control[iCurrent+19]=this.cbx_enamt_edit
  4866. this.Control[iCurrent+20]=this.cbx_1
  4867. this.Control[iCurrent+21]=this.cbx_zk
  4868. this.Control[iCurrent+22]=this.ddlb_1
  4869. this.Control[iCurrent+23]=this.st_4
  4870. this.Control[iCurrent+24]=this.cbx_enamt_notax_edit
  4871. this.Control[iCurrent+25]=this.st_cusbalc
  4872. this.Control[iCurrent+26]=this.st_cusbalc_sign
  4873. this.Control[iCurrent+27]=this.cbx_auto_qty
  4874. this.Control[iCurrent+28]=this.st_weishu
  4875. this.Control[iCurrent+29]=this.ddlb_weishu
  4876. end on
  4877. on w_saletask.destroy
  4878. call super::destroy
  4879. destroy(this.ddlb_scid)
  4880. destroy(this.st_2)
  4881. destroy(this.st_3)
  4882. destroy(this.cbx_quote)
  4883. destroy(this.cbx_sc)
  4884. destroy(this.cbx_list)
  4885. destroy(this.ddlb_status)
  4886. destroy(this.cb_fhmx)
  4887. destroy(this.cb_tcmx)
  4888. destroy(this.cb_taskmx)
  4889. destroy(this.cb_tsmx)
  4890. destroy(this.cb_edit_tc)
  4891. destroy(this.cb_fymx)
  4892. destroy(this.dw_tsmx)
  4893. destroy(this.dw_fymx)
  4894. destroy(this.dw_fhmx)
  4895. destroy(this.dw_dhmx)
  4896. destroy(this.dw_ywymx)
  4897. destroy(this.cbx_enamt_edit)
  4898. destroy(this.cbx_1)
  4899. destroy(this.cbx_zk)
  4900. destroy(this.ddlb_1)
  4901. destroy(this.st_4)
  4902. destroy(this.cbx_enamt_notax_edit)
  4903. destroy(this.st_cusbalc)
  4904. destroy(this.st_cusbalc_sign)
  4905. destroy(this.cbx_auto_qty)
  4906. destroy(this.st_weishu)
  4907. destroy(this.ddlb_weishu)
  4908. end on
  4909. event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  4910. Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  4911. cb_nextpage_enabled = cb_nextpage.Enabled
  4912. cb_retrieveall_enabled = cb_retrieveall.Enabled
  4913. cb_func_enabled = cb_func.Enabled
  4914. cb_nextpage.Enabled = FALSE
  4915. cb_retrieveall.Enabled = FALSE
  4916. cb_func.Enabled = FALSE
  4917. Int li_option_outrep, li_option_area,li_option_opemp
  4918. string ls_option_opemp
  4919. IF sys_power_issuper THEN
  4920. li_option_outrep = 0
  4921. ELSE
  4922. li_option_outrep = sys_option_outrep
  4923. END IF
  4924. IF sys_power_issuper THEN
  4925. li_option_area = 0
  4926. ELSE
  4927. li_option_area = sys_option_cusarea
  4928. END IF
  4929. IF sys_power_issuper or f_power_ind(1729) or f_power_ind(1730) THEN
  4930. li_option_opemp = 0
  4931. // ls_option_opemp = publ_operator
  4932. ELSE
  4933. li_option_opemp = sys_option_opemp_sale
  4934. ls_option_opemp = publ_operator
  4935. END IF
  4936. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  4937. 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)
  4938. IF dw_pageretr.RowCount() > 0 THEN
  4939. dw_pageretr.SetRow(1)
  4940. dw_pageretr.TriggerEvent(RowFocusChanged!)
  4941. END IF
  4942. THIS.TriggerEvent('retrieve_childdw')
  4943. //THIS.TriggerEvent('retrieve_fjnum')
  4944. cb_nextpage.Enabled = cb_nextpage_enabled
  4945. cb_retrieveall.Enabled = cb_retrieveall_enabled
  4946. cb_func.Enabled = cb_func_enabled
  4947. end event
  4948. event open;
  4949. This.TriggerEvent('ue_before_open')
  4950. wf_movetocenter()
  4951. ds_copy_bill = Create datastore
  4952. ds_copy_bill.DataObject = dw_child.DataObject
  4953. ds_copy_bill.SetTransObject(sqlca)
  4954. OLD_TITLE = This.Title
  4955. s_tran = Message.PowerObjectParm
  4956. IF Not IsNull(s_tran) THEN
  4957. retrieve_all = s_tran.if_retrieve_all
  4958. mode = s_tran.work_mode
  4959. arg_pkid = s_tran.arg_pkid
  4960. arg_string_code = s_tran.arg_string_code
  4961. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  4962. ds_share = s_tran.ds_share
  4963. END IF
  4964. dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关
  4965. dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关
  4966. dw_pageretr.SetTransObject (sqlca)
  4967. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  4968. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  4969. ls_newselect = ori_oldselect
  4970. ds_curquery = Create datastore
  4971. ds_curquery.DataObject = 'd_extr_find'
  4972. ds_curquery.SetTransObject (sqlca)
  4973. int rtncode // 保留联系人初始sql
  4974. DataWindowChild dw_child_dddw
  4975. rtncode = dw_uc.GetChild("u_saletask_rel_rep",dw_child_dddw)
  4976. old_rep_select = Lower(dw_child_dddw.GetSQLSelect())
  4977. wf_editindex_lockf()
  4978. IF s_tran.d_long = 2 THEN
  4979. cur_scid = s_tran.c_long
  4980. Int li_item
  4981. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  4982. IF li_item > 0 THEN
  4983. ddlb_scid.SelectItem(li_item)
  4984. END IF
  4985. END IF
  4986. sle_usual_query.Text = Trim(arg_string_code)
  4987. IF Not retrieve_all THEN
  4988. This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  4989. ELSE
  4990. IF if_sharedata THEN
  4991. ds_share.ShareData(dw_pageretr)
  4992. ELSE
  4993. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  4994. This.TriggerEvent('RETRIEVE_pageretr')
  4995. END IF
  4996. END IF
  4997. IF retrieve_all THEN
  4998. This.TriggerEvent("ue_usual_query_filt")
  4999. END IF
  5000. uc_column_int = 25 //uc dw前5列可以编辑
  5001. child_column_int =31 //子dw前22列可以编辑
  5002. obj_saletask = Create uo_saletask
  5003. obj_saletask.commit_transaction = sqlca
  5004. uo_cus_price = Create uo_cusprice
  5005. s_hide_col s_col_price
  5006. s_col_price.col_1 = 'u_saletaskmx_enprice'
  5007. s_col_price.col_2 = 'u_saletaskmx_rebate'
  5008. s_col_price.col_3 = 'u_saletaskmx_tax'
  5009. s_col_price.col_4 = 'enamt'
  5010. s_col_price.col_5 = 'u_saletaskmx_fprice'
  5011. s_col_price.col_6 = 'u_saletaskmx_enamt_tax'
  5012. s_col_price.col_7 = 'u_saletaskmx_dftsaleprice'
  5013. s_col_price.col_8 = 'u_saletaskmx_bsamt'
  5014. s_col_price.col_9 = 'u_saletaskmx_bsamt_tax'
  5015. s_col_price.col_10 = 'amt'
  5016. s_col_price.col_11 = 'u_saletaskmx_ware_fprice'
  5017. s_col_price.col_12 = 'enamt2'
  5018. f_hide_col(122,dw_child,s_col_price)
  5019. s_hide_col s_col_price_2
  5020. s_col_price_2.col_1 = 'stop_amt'
  5021. s_col_price_2.col_2 = 'u_saletaskmx_enprice_notax'
  5022. s_col_price_2.col_3 = 'enamt_notax'
  5023. s_col_price_2.col_4 = 'z_h_price'
  5024. s_col_price_2.col_5 = 'u_mtrldef_lmsaleprice'
  5025. s_col_price_2.col_6 = 'z_q_price'
  5026. s_col_price_2.col_7 = 'z_h_amt'
  5027. f_hide_col(122,dw_child,s_col_price_2)
  5028. s_hide_col s_col_mtrlsectype
  5029. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  5030. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  5031. s_hide_col s_col_zxmtrlmode
  5032. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  5033. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  5034. This.TriggerEvent('ue_billcache_check')
  5035. end event
  5036. event ue_f9;
  5037. IF Not dw_edit_mode THEN RETURN
  5038. Long child_row
  5039. child_row = dw_uc.GetRow()
  5040. IF child_row = 0 THEN
  5041. MessageBox('提示','请选定订单!',information!,OK!)
  5042. RETURN
  5043. END IF
  5044. Long ll_scid, ll_moneyid
  5045. String ls_address
  5046. dw_uc.AcceptText()
  5047. IF Not IsValid(W_cust_edit) THEN
  5048. s_edit_index_tran s_ch_tran //传递参数使用
  5049. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  5050. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  5051. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  5052. //查询列(物料编码)部分内容,用于初步筛选
  5053. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()]))
  5054. s_ch_tran.c_long = sys_option_cust_audit //0-不使用 1-使用
  5055. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  5056. s_custom S_INSCUST
  5057. S_INSCUST = Message.PowerObjectParm //接受返回结构
  5058. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  5059. dw_uc.Object.cusid[child_row] = S_INSCUST.cusid
  5060. dw_uc.Object.u_cust_name[child_row] = S_INSCUST.Name
  5061. dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  5062. dw_uc.Object.assign_emp[child_row] = S_INSCUST.bsntype
  5063. dw_uc.Object.u_saletask_freight[child_row] = S_INSCUST.freight
  5064. dw_uc.Object.u_saletask_freight_tele[child_row] = S_INSCUST.freight_tele
  5065. dw_uc.Object.u_saletask_cus_address[child_row] = S_INSCUST.Address
  5066. dw_uc.Object.u_saletask_cus_tele[child_row] = S_INSCUST.tele
  5067. dw_uc.Object.u_saletask_cus_tele1[child_row] = S_INSCUST.tele1
  5068. dw_uc.Object.u_saletask_cus_fax[child_row] = S_INSCUST.faxno
  5069. dw_uc.Object.u_saletask_rel_rep[child_row] = S_INSCUST.rep
  5070. IF Len(S_INSCUST.freight_address) > 0 THEN
  5071. dw_uc.Object.u_saletask_freight_address[child_row] = S_INSCUST.freight_address
  5072. ELSE
  5073. SELECT
  5074. Address Into :ls_address
  5075. From u_station
  5076. Where stationname = :S_INSCUST.freight;
  5077. dw_uc.Object.u_saletask_freight_address[child_row] = ls_address
  5078. END IF
  5079. IF S_INSCUST.banktypeid > 0 THEN
  5080. dw_uc.Object.u_saletask_banktypeid[child_row] = S_INSCUST.banktypeid
  5081. END IF
  5082. //刷新价格
  5083. dw_uc.SetRedraw(True)
  5084. dw_uc.SetFocus()
  5085. dw_uc.SetColumn("u_saletask_cus_address")
  5086. END IF
  5087. END IF
  5088. //this.enabled = true
  5089. end event
  5090. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  5091. IF Not dw_edit_mode THEN RETURN
  5092. Long child_row
  5093. Long ls_cusid,ll_moneyid
  5094. String ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode
  5095. Decimal ld_tax
  5096. child_row = dw_child.GetRow()
  5097. ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
  5098. IF IsNull(ls_cusid) Or ls_cusid = 0 THEN
  5099. This.TriggerEvent("ue_f9")
  5100. END IF
  5101. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  5102. IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
  5103. MessageBox('提示','请先选择币种',information!,OK!)
  5104. RETURN
  5105. END IF
  5106. IF Not IsValid(w_mtrlware_storageid_ch_saletask) THEN
  5107. s_edit_index_tran s_tranf8 //传递参数使用
  5108. s_tranf8.if_retrieve_all = This.retrieve_all //是否一次retrieve所有行
  5109. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  5110. s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
  5111. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  5112. s_tranf8.if_select_all = True //多选
  5113. s_tranf8.b_long = -2 //选产品 --20190401 暂时更改为记录上次选择
  5114. // s_tranf8.c_long = cur_scid //分部
  5115. s_tranf8.d_long = -1 //仓库
  5116. IF cur_scid < 0 THEN
  5117. s_tranf8.c_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
  5118. ELSE
  5119. s_tranf8.c_long = cur_scid
  5120. END IF
  5121. Long ls_j
  5122. IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  5123. // OpenWithParm(w_mtrlware_storageid_ch_saletask,s_tranf8) //调用
  5124. OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
  5125. s_mtrldef_array s_inscust
  5126. s_inscust = Message.PowerObjectParm //接受返回结构
  5127. FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
  5128. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  5129. IF dw_child.GetRow() > 0 THEN
  5130. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  5131. child_row = dw_child.InsertRow (0)
  5132. ELSE
  5133. child_row = dw_child.GetRow()
  5134. END IF
  5135. ELSE
  5136. child_row = dw_child.InsertRow (0)
  5137. END IF
  5138. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  5139. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  5140. dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  5141. dw_child.Object.saleqty[child_row] = 0
  5142. dw_child.Object.plprice[child_row] = s_inscust.planprice[ls_j]
  5143. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  5144. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  5145. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  5146. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  5147. dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
  5148. dw_child.Object.u_saletaskmx_rate[child_row] = 1
  5149. dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
  5150. dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
  5151. dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
  5152. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
  5153. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
  5154. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  5155. dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
  5156. dw_child.Object.u_mtrldef_lmsaleprice[child_row] = s_inscust.lmsaleprice[ls_j]
  5157. dw_child.Object.u_saletaskmx_packqty[child_row] = s_inscust.packqty[ls_j]
  5158. IF f_find_tax(ls_cusid,'u_cust',ld_tax) = 0 THEN
  5159. ld_tax = 0
  5160. ELSE
  5161. dw_child.Object.u_saletaskmx_tax[child_row] = ld_tax
  5162. END IF
  5163. IF f_find_cusmtrlname(ls_cusid,s_inscust.mtrlid[ls_j],ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode) = 0 THEN
  5164. ls_cusmtrlcode = ''
  5165. ls_cusmtrlname = ''
  5166. ls_cusmtrlmode = ''
  5167. ELSE
  5168. dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
  5169. dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
  5170. dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] = ls_cusmtrlmode
  5171. END IF
  5172. Long li_statusflag
  5173. Long li_woodcodeflag
  5174. Long li_pcodeflag
  5175. String ls_priceformula
  5176. String ls_qtyformula
  5177. s_mtrldef_array arg_s_mtrldef
  5178. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  5179. li_statusflag = 0
  5180. li_woodcodeflag = 0
  5181. li_pcodeflag = 0
  5182. ls_priceformula = ''
  5183. ELSE
  5184. li_statusflag = arg_s_mtrldef.statusflag[1]
  5185. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  5186. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  5187. ls_priceformula = arg_s_mtrldef.priceformula[1]
  5188. ls_qtyformula = arg_s_mtrldef.strcheckaddqty [1] //qtyformula
  5189. IF arg_s_mtrldef.saleunit[1] = 1 THEN
  5190. dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_buy[1]
  5191. dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_buy[1]
  5192. ELSEIF arg_s_mtrldef.saleunit[1] = 2 THEN
  5193. dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_scll[1]
  5194. dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_scll[1]
  5195. ELSEIF arg_s_mtrldef.saleunit[1] = 3 THEN
  5196. dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_sale[1]
  5197. dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_sale[1]
  5198. END IF
  5199. dw_child.Object.u_mtrldef_prdpackcode[child_row] = arg_s_mtrldef.prdpackcode[1]
  5200. END IF
  5201. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  5202. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  5203. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  5204. dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
  5205. dw_child.Object.u_saletaskmx_formula[child_row] = ls_qtyformula
  5206. IF li_statusflag = 4 Or li_statusflag = 2 THEN
  5207. dw_child.Object.u_saletaskmx_status[child_row] = arg_s_mtrldef.status[1]
  5208. END IF
  5209. IF li_woodcodeflag = 4 THEN
  5210. dw_child.Object.u_saletaskmx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  5211. END IF
  5212. IF li_pcodeflag = 4 THEN
  5213. dw_child.Object.u_saletaskmx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  5214. END IF
  5215. //3个属性默认值
  5216. String ls_status_default,ls_woodcode_default,ls_pcode_default
  5217. ls_status_default = ''
  5218. ls_woodcode_default = ''
  5219. ls_pcode_default = ''
  5220. 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];
  5221. IF Len(ls_status_default) > 0 THEN
  5222. dw_child.Object.u_saletaskmx_status[child_row] = Trim(ls_status_default)
  5223. END IF
  5224. IF Len(ls_woodcode_default) > 0 THEN
  5225. dw_child.Object.u_saletaskmx_woodcode[child_row] = Trim(ls_woodcode_default)
  5226. END IF
  5227. IF Len(ls_pcode_default) > 0 THEN
  5228. dw_child.Object.u_saletaskmx_pcode[child_row] = Trim(ls_pcode_default)
  5229. END IF
  5230. wf_get_price(child_row)
  5231. END IF
  5232. NEXT
  5233. This.TriggerEvent('ue_allowedit')
  5234. dw_child.SetColumn('usaleqty')
  5235. END IF
  5236. dw_child.SetFocus()
  5237. end event
  5238. event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = Not dw_edit_mode
  5239. cbx_enamt_edit.Enabled = Not dw_edit_mode
  5240. cbx_zk.Enabled = Not dw_edit_mode
  5241. cbx_enamt_notax_edit.Enabled = Not dw_edit_mode
  5242. //st_msg.Visible = dw_edit_mode
  5243. //st_msg.Visible = false
  5244. wf_statusbtn_fc()
  5245. //后面还有对金额的分权限处理
  5246. //IF ii_enamt_edit = 0 THEN
  5247. // dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
  5248. // dw_child.Modify('enamt_t.Color = 0')
  5249. //ELSEif ii_enamt_edit = 1 THEN
  5250. // dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
  5251. // dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
  5252. //END IF
  5253. //
  5254. IF cbx_enamt_edit.Checked = True Or cbx_zk.Checked = True THEN
  5255. dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
  5256. dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
  5257. ELSE
  5258. dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
  5259. dw_child.Modify('enamt_t.Color = 0')
  5260. END IF
  5261. IF sys_power_issuper Or Not f_power_ind(492) THEN //492 限制折扣
  5262. dw_child.Modify('u_saletaskmx_rebate.protect=0 ')
  5263. ELSE
  5264. dw_child.Modify('u_saletaskmx_rebate.protect=1 ')
  5265. END IF
  5266. IF sys_power_issuper Or Not f_power_ind(973) THEN //973 限制单价
  5267. dw_child.Modify('u_saletaskmx_enprice.protect=0 ')
  5268. ELSE
  5269. dw_child.Modify('u_saletaskmx_enprice.protect=1 ')
  5270. END IF
  5271. IF dw_edit_mode THEN
  5272. ddlb_scid.Enabled = False
  5273. IF sys_option_saletask_plan = 2 THEN
  5274. dw_child.Modify('u_saletaskmx_orderqty.protect=1 ')
  5275. dw_child.Modify('u_saletaskmx_needbuyqty.protect=0 ')
  5276. ELSEIF sys_option_saletask_plan = 3 THEN
  5277. dw_child.Modify('u_saletaskmx_orderqty.protect=0 ')
  5278. dw_child.Modify('u_saletaskmx_needbuyqty.protect=1 ')
  5279. ELSE
  5280. dw_child.Modify('u_saletaskmx_orderqty.protect=0 ')
  5281. dw_child.Modify('u_saletaskmx_needbuyqty.protect=0 ')
  5282. END IF
  5283. ELSE
  5284. dw_child.Modify('u_saletaskmx_orderqty.protect=0 ')
  5285. dw_child.Modify('u_saletaskmx_needbuyqty.protect=0 ')
  5286. IF sys_scid > 0 THEN
  5287. ddlb_scid.Enabled = False
  5288. ELSE
  5289. ddlb_scid.Enabled = True
  5290. END IF
  5291. END IF
  5292. IF dw_edit_mode THEN
  5293. IF sys_option_taskplancode_auto = 4 THEN
  5294. dw_child.Modify('u_saletaskmx_plancode.protect=0 ')
  5295. ELSE
  5296. dw_child.Modify('u_saletaskmx_plancode.protect=1 ')
  5297. END IF
  5298. ELSE
  5299. dw_child.Modify('u_saletaskmx_plancode.protect=0 ')
  5300. END IF
  5301. //IF Not dw_edit_mode THEN
  5302. // st_msg.Text = ''
  5303. //ELSE
  5304. // st_msg.x = dw_pageretr.x
  5305. // st_msg.y = dw_pageretr.y
  5306. // st_msg.Width = dw_pageretr.Width
  5307. // st_msg.Height = dw_pageretr.Height
  5308. //END IF
  5309. end event
  5310. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  5311. row = dw_pageretr.GetRow()
  5312. IF row > 0 THEN
  5313. ll_scid = dw_pageretr.Object.u_saletask_scid[row]
  5314. uc_relid = dw_pageretr.Object.taskid[row]
  5315. dw_child.SetRedraw (False)
  5316. dw_child.Retrieve(ll_scid,uc_relid)
  5317. dw_child.SetRedraw (True)
  5318. dw_ywymx.SetRedraw (False)
  5319. dw_ywymx.Retrieve(ll_scid,uc_relid)
  5320. dw_ywymx.SetRedraw (True)
  5321. dw_dhmx.SetRedraw (False)
  5322. dw_dhmx.Retrieve(ll_scid,uc_relid)
  5323. dw_dhmx.SetRedraw (True)
  5324. IF uc_relid > 0 THEN
  5325. dw_fhmx.SetRedraw (False)
  5326. dw_fhmx.Retrieve(ll_scid,uc_relid)
  5327. dw_fhmx.SetRedraw (True)
  5328. END IF
  5329. dw_tsmx.SetRedraw (False)
  5330. dw_tsmx.Retrieve(ll_scid,uc_relid)
  5331. dw_tsmx.SetRedraw (True)
  5332. dw_fymx.SetRedraw (False)
  5333. dw_fymx.Retrieve(ll_scid,uc_relid)
  5334. dw_fymx.SetRedraw (True)
  5335. this.TriggerEvent('ue_retrieve_his_pricemx')
  5336. ELSE
  5337. dw_child.Reset()
  5338. dw_ywymx.Reset()
  5339. dw_fhmx.Reset()
  5340. dw_tsmx.Reset()
  5341. dw_fymx.Reset()
  5342. END IF
  5343. //this.TriggerEvent('ue_mx_cmplnoallocqty')
  5344. end event
  5345. event close;//f_SetProfileString (sys_empid, "saletask", "status", string(cur_status))
  5346. wf_del_tempfilepathname()
  5347. DESTROY obj_saletask
  5348. DESTROY uo_cus_price
  5349. end event
  5350. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  5351. ls_newselect=lower(ori_oldselect)
  5352. if trim(sle_usual_query.text)<>'' then
  5353. if pos(trim(sle_usual_query.text),'%')=0 then
  5354. ls_querystrpart="(u_saletask.taskcode like '%"+trim(sle_usual_query.text)+"%')"
  5355. else
  5356. ls_querystrpart="(u_saletask.taskcode like '"+trim(sle_usual_query.text)+"')"
  5357. end if
  5358. if Pos(ls_newselect," where ") <> 0 then
  5359. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  5360. else
  5361. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  5362. end if
  5363. end if
  5364. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  5365. this.triggerevent('retrieve_pageretr')
  5366. end event
  5367. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  5368. if trim(sle_usual_query.text)<>'' then
  5369. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  5370. obj_expr=obj_expr+'( taskcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  5371. ELSE
  5372. obj_expr=obj_expr+'( taskcode LIKE "'+trim(sle_usual_query.text)+'" )'
  5373. END IF
  5374. end if
  5375. dw_pageretr.setfilter(obj_expr)
  5376. dw_pageretr.SetRedraw(False)
  5377. dw_pageretr.filter()
  5378. if dw_pageretr.rowcount()>=1 then
  5379. dw_pageretr.selectrow(0,false)
  5380. dw_pageretr.selectrow(1,true)
  5381. dw_pageretr.SetRow(1)
  5382. dw_pageretr.triggerevent(rowfocuschanged!)
  5383. end if
  5384. dw_pageretr.SetRedraw(TRUE)
  5385. end event
  5386. event ue_viewprint;call super::ue_viewprint;IF Not f_power_ind(7) THEN
  5387. MessageBox('提示',sys_msg_pow,information!,OK!)
  5388. RETURN
  5389. END IF
  5390. Long LS_ROW
  5391. LS_ROW = dw_pageretr.GetRow()
  5392. IF LS_ROW <= 0 THEN
  5393. MessageBox('提示','没有打印目标单据!',information!,OK!)
  5394. RETURN
  5395. END IF
  5396. Long ll_status
  5397. ll_status = dw_pageretr.Object.u_SaleTask_Status[LS_ROW]
  5398. //信用额 288
  5399. IF sys_option_cusrepamt_saletask_limit = 2 THEN
  5400. 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] )
  5401. IF cur_cusrepamtflag = -1 THEN
  5402. MessageBox('系统提示','系统选项288限制~r~n'+cur_cusrepamtstr)
  5403. RETURN
  5404. END IF
  5405. END IF
  5406. IF sys_option_auditprint_saletask = 1 THEN
  5407. IF sys_option_saletask_secaudit = 0 THEN
  5408. IF ll_status = 0 THEN
  5409. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5410. RETURN
  5411. END IF
  5412. ELSE
  5413. IF ll_status = 0 Or ll_status = 4 THEN
  5414. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5415. RETURN
  5416. END IF
  5417. END IF
  5418. END IF
  5419. S_print_MSG LS_PRMSG
  5420. LS_PRMSG.ifpic = ifpic
  5421. IF ls_newname <> '' THEN
  5422. IF li_auditprint = 1 THEN
  5423. IF sys_option_saletask_secaudit = 0 THEN
  5424. IF ll_status = 0 THEN
  5425. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5426. RETURN
  5427. END IF
  5428. ELSE
  5429. IF ll_status = 0 Or ll_status = 4 THEN
  5430. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5431. RETURN
  5432. END IF
  5433. END IF
  5434. END IF
  5435. LS_PRMSG.obj_dwNAME = ls_newname
  5436. ELSE
  5437. LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_print'
  5438. END IF
  5439. IF LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_day_print' THEN
  5440. DateTime ld_fdt,ld_edt
  5441. String ls_print_day
  5442. Open(w_saletask_print_day)
  5443. ls_print_day = Message.StringParm
  5444. IF ls_print_day = '1900-01-01' THEN RETURN
  5445. ld_fdt = DateTime(Date(ls_print_day),Time(0))
  5446. ld_edt = DateTime(Date(ls_print_day),Time('23:59:59'))
  5447. LS_PRMSG.TAG_TEXT = '销售订单'
  5448. LS_PRMSG.FILTER_STRING = ''
  5449. LS_PRMSG.retr_pram_falg = 6
  5450. LS_PRMSG.PAGECH_FLAG = 0
  5451. LS_PRMSG.retr_pramfdt = ld_fdt
  5452. LS_PRMSG.retr_pramedt = ld_edt
  5453. ELSE
  5454. LS_PRMSG.TAG_TEXT = '销售订单'
  5455. LS_PRMSG.FILTER_STRING = ''
  5456. LS_PRMSG.retr_pram_falg = 15
  5457. LS_PRMSG.PAGECH_FLAG = 0
  5458. LS_PRMSG.retr_scid = dw_pageretr.Object.u_saletask_scid[LS_ROW]
  5459. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[LS_ROW]
  5460. LS_PRMSG.rowcnt = dw_child.RowCount()
  5461. END IF
  5462. IF ifpic = 1 THEN
  5463. String ls_msg
  5464. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  5465. MessageBox('提示','下载图片失败!',information!,OK!)
  5466. RETURN
  5467. END IF
  5468. END IF
  5469. OpenWithParm(w_publ_preview,LS_PRMSG)
  5470. IF ifpic = 1 THEN
  5471. Long li
  5472. FOR li = 1 To UpperBound(LS_PRMSG.s_pic.path)
  5473. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  5474. FileDelete(LS_PRMSG.s_pic.path[li])
  5475. END IF
  5476. NEXT
  5477. END IF
  5478. //**更新打印次料
  5479. String arg_msg
  5480. printnum = Message.DoubleParm
  5481. f_update_printnum('u_saletask',printnum,dw_pageretr.Object.u_saletask_scid[LS_ROW],dw_pageretr.Object.taskid[LS_ROW],'','',arg_msg,True)
  5482. String ls_taskcode
  5483. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  5484. IF f_billevent_trigger (102, 1, ls_taskcode, arg_msg) = 0 THEN
  5485. MessageBox('Error',arg_msg)
  5486. END IF
  5487. end event
  5488. event ue_print;call super::ue_print;
  5489. //--直接打印
  5490. IF Not f_power_ind(7) THEN
  5491. MessageBox('提示',sys_msg_pow,information!,OK!)
  5492. RETURN
  5493. END IF
  5494. uo_print_preview uo_print
  5495. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  5496. S_print_MSG LS_PRMSG
  5497. Long LS_ROW
  5498. LS_ROW = dw_pageretr.GetRow()
  5499. IF LS_ROW <= 0 THEN
  5500. MessageBox('提示','没有打印目标单据!',information!,OK!)
  5501. RETURN
  5502. END IF
  5503. Long ll_status
  5504. ll_status = dw_pageretr.Object.u_SaleTask_Status[LS_ROW]
  5505. //信用额 288
  5506. IF sys_option_cusrepamt_saletask_limit = 2 THEN
  5507. 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] )
  5508. IF cur_cusrepamtflag = -1 THEN
  5509. MessageBox('系统提示','系统选项288限制~r~n'+cur_cusrepamtstr)
  5510. RETURN
  5511. END IF
  5512. END IF
  5513. IF sys_option_auditprint_saletask = 1 THEN
  5514. IF sys_option_saletask_secaudit = 0 THEN
  5515. IF ll_status = 0 THEN
  5516. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5517. RETURN
  5518. END IF
  5519. ELSE
  5520. IF ll_status = 0 Or ll_status = 4 THEN
  5521. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5522. RETURN
  5523. END IF
  5524. END IF
  5525. END IF
  5526. LS_PRMSG.retr_pram_falg = 15
  5527. LS_PRMSG.ifpic = ifpic
  5528. IF ls_newname <> '' THEN
  5529. IF li_auditprint = 1 THEN
  5530. IF sys_option_saletask_secaudit = 0 THEN
  5531. IF ll_status = 0 THEN
  5532. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5533. RETURN
  5534. END IF
  5535. ELSE
  5536. IF ll_status = 0 Or ll_status = 4 THEN
  5537. MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
  5538. RETURN
  5539. END IF
  5540. END IF
  5541. END IF
  5542. LS_PRMSG.obj_dwNAME = ls_newname
  5543. ELSE
  5544. LS_PRMSG.obj_dwNAME = 'dw_rp_saletask_print'
  5545. END IF
  5546. LS_PRMSG.TAG_TEXT = '销售订单'
  5547. LS_PRMSG.FILTER_STRING = ''
  5548. LS_PRMSG.PAGECH_FLAG = 0
  5549. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[LS_ROW]
  5550. IF ifpic = 1 THEN
  5551. String ls_msg
  5552. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  5553. MessageBox('提示','下载图片失败!',information!,OK!)
  5554. RETURN
  5555. END IF
  5556. END IF
  5557. uo_print.FACT_PRINT_MSG = LS_PRMSG
  5558. String arg_msg
  5559. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  5560. MessageBox("错误",arg_msg,stopsign!,OK!)
  5561. RETURN
  5562. END IF
  5563. uo_print.ds_print()
  5564. IF ifpic = 1 THEN
  5565. Long li
  5566. FOR li = 1 To UpperBound(LS_PRMSG.s_pic.path)
  5567. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  5568. FileDelete(LS_PRMSG.s_pic.path[li])
  5569. END IF
  5570. NEXT
  5571. END IF
  5572. //**更新打印次料
  5573. f_update_printnum('u_saletask',1,cur_scid,dw_pageretr.Object.taskid[dw_pageretr.GetRow()],'','',arg_msg,True)
  5574. String ls_taskcode
  5575. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  5576. IF f_billevent_trigger (102, 1, ls_taskcode, arg_msg) = 0 THEN
  5577. MessageBox('Error',arg_msg)
  5578. END IF
  5579. end event
  5580. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  5581. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  5582. RETURN
  5583. END IF
  5584. IF NOT f_power_ind(698) THEN
  5585. MessageBox('提示',sys_msg_pow,information!,OK!)
  5586. RETURN
  5587. END IF
  5588. String arg_msg = '',LS_STR
  5589. Long uc_row
  5590. s_inputbox S_SREU
  5591. uc_row = dw_pageretr.GetRow()
  5592. IF uc_row <= 0 THEN
  5593. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  5594. RETURN
  5595. END IF
  5596. S_SREU.Title = '请输入要补充到备注的内容'
  5597. S_SREU.OLD_TEXT = ''
  5598. OpenWithParm(w_inputbox,S_SREU)
  5599. LS_STR = Message.StringParm
  5600. IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN
  5601. 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
  5602. MessageBox('错误',arg_msg,stopsign!,OK!)
  5603. RETURN
  5604. ELSE
  5605. MessageBox('提示','添加备注操作成功!',information!,OK!)
  5606. wf_refresh_curuc(cur_scid,dw_pageretr.Object.taskid[uc_row])
  5607. END IF
  5608. end event
  5609. event ue_f11;call super::ue_f11;IF Not dw_edit_mode THEN RETURN
  5610. Long child_row
  5611. Long ls_outtypeid
  5612. child_row = dw_child.GetRow()
  5613. IF child_row <= 0 THEN RETURN
  5614. IF Not IsValid(w_outtype_edit) THEN
  5615. Open(w_outtype_edit)
  5616. ls_outtypeid = Message.DoubleParm
  5617. datawindowchild childdw
  5618. dw_child.GetChild("u_saletaskmx_outtype",childdw)
  5619. childdw.SetTransObject (sqlca)
  5620. IF childdw.Retrieve() = 0 THEN
  5621. childdw.InsertRow(0)
  5622. END IF
  5623. IF ls_outtypeid = 0 THEN RETURN
  5624. dw_child.Object.u_saletaskmx_outtype[child_row] = ls_outtypeid
  5625. dw_child.SetFocus()
  5626. END IF
  5627. end event
  5628. event ue_f12;call super::ue_f12;IF NOT IsValid(w_unit_ch) THEN
  5629. IF dw_child.GetRow() < 1 THEN RETURN
  5630. Long ll_mtrlid
  5631. ll_mtrlid = dw_child.Object.mtrlid[dw_child.GetRow()]
  5632. OpenWithParm(w_unit_ch,ll_mtrlid)
  5633. s_unit s_inscust
  5634. s_inscust = Message.PowerObjectParm //接受返回结构
  5635. IF s_inscust.unit <> '' THEN
  5636. dw_child.Object.u_saletaskmx_unit[dw_child.GetRow()] = s_inscust.unit
  5637. dw_child.Object.u_saletaskmx_rate[dw_child.GetRow()] = s_inscust.rate
  5638. wf_get_price(dw_child.GetRow())
  5639. END IF
  5640. END IF
  5641. end event
  5642. event ue_f6;call super::ue_f6;//用于选择销售历史
  5643. IF NOT dw_edit_mode THEN RETURN
  5644. Long child_row
  5645. Long ls_cusid,ll_moneyid
  5646. String ls_priceformula
  5647. s_mtrldef_array arg_s_mtrldef
  5648. child_row = dw_child.GetRow()
  5649. IF dw_uc.GetRow() = 0 THEN RETURN
  5650. dw_uc.AcceptText()
  5651. ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
  5652. IF IsNull(ls_cusid) OR ls_cusid = 0 THEN
  5653. THIS.TriggerEvent("ue_f9")
  5654. END IF
  5655. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  5656. IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
  5657. MessageBox('提示','请先选择币种',information!,OK!)
  5658. RETURN
  5659. END IF
  5660. IF NOT IsValid(w_saletask_mtrl_his_ch) THEN
  5661. s_edit_index_tran s_tranf8 //传递参数使用
  5662. // s_tranf8.if_retrieve_all = FALSE //是否一次retrieve所有行
  5663. s_tranf8.if_retrieve_all = this.retrieve_all //是否一次retrieve所有行
  5664. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  5665. s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
  5666. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  5667. s_tranf8.if_select_all = TRUE //多选
  5668. s_tranf8.b_long = 0
  5669. s_tranf8.d_long = ls_cusid
  5670. Long ls_j
  5671. OpenWithParm(w_saletask_mtrl_his_ch,s_tranf8) //调用
  5672. s_saletask_mtrl s_inscust
  5673. s_inscust = Message.PowerObjectParm //接受返回结构
  5674. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  5675. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  5676. IF dw_child.GetRow() > 0 THEN
  5677. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  5678. child_row = dw_child.InsertRow (0)
  5679. ELSE
  5680. child_row = dw_child.GetRow()
  5681. END IF
  5682. ELSE
  5683. child_row = dw_child.InsertRow (0)
  5684. END IF
  5685. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  5686. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  5687. dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  5688. dw_child.Object.saleqty[child_row] = 0
  5689. dw_child.Object.plprice[child_row] = s_inscust.planprice[ls_j]
  5690. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  5691. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  5692. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  5693. dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
  5694. dw_child.Object.u_saletaskmx_enprice[child_row] = s_inscust.price[ls_j]
  5695. dw_child.Object.u_saletaskmx_rebate[child_row] = s_inscust.rebate[ls_j]
  5696. dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
  5697. dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  5698. dw_child.Object.u_saletaskmx_pcode [child_row] = s_inscust.pcode[ls_j]
  5699. dw_child.Object.u_saletaskmx_mxdscrp [child_row] = s_inscust.mxdscrp[ls_j]
  5700. dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
  5701. dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
  5702. dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
  5703. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
  5704. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
  5705. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  5706. ls_priceformula = ''
  5707. ELSE
  5708. ls_priceformula = arg_s_mtrldef.priceformula[1]
  5709. END IF
  5710. dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
  5711. dw_child.SetColumn('usaleqty')
  5712. END IF
  5713. NEXT
  5714. END IF
  5715. dw_child.SetFocus()
  5716. end event
  5717. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT f_power_ind(7) THEN
  5718. MessageBox('提示',sys_msg_pow,information!,OK!)
  5719. RETURN
  5720. END IF
  5721. Long row,uc_relid,ll_scid
  5722. row = dw_pageretr.GetRow()
  5723. IF row = 0 THEN
  5724. RETURN
  5725. END IF
  5726. s_rpt_print_msg s_print
  5727. s_print.retr_pram_falg = 15
  5728. s_print.rpid = ls_msgprintid_rpt
  5729. s_print.retr_flag = TRUE
  5730. s_print.tag_text = THIS.Title
  5731. s_print.rpname = ls_rpname
  5732. s_print.retr_scid = dw_pageretr.Object.u_saletask_scid[row]
  5733. s_print.retr_pramnmb = dw_pageretr.Object.taskid[row]
  5734. s_print.rowcnt = dw_child.RowCount()
  5735. OpenWithParm(w_rpt_preview,s_print)
  5736. //**更新打印次料
  5737. String arg_msg
  5738. printnum = Message.DoubleParm
  5739. 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)
  5740. end event
  5741. event ue_rpt_print;call super::ue_rpt_print;IF NOT f_power_ind(7) THEN
  5742. MessageBox('提示',sys_msg_pow,information!,OK!)
  5743. RETURN
  5744. END IF
  5745. Long row,uc_relid,ll_scid
  5746. row = dw_pageretr.GetRow()
  5747. uo_rpt_print_preview uo_print
  5748. S_rpt_print_MSG LS_PRMSG
  5749. IF dw_uc.RowCount() = 0 THEN
  5750. MessageBox('提示','没有可打印的单据!',information!,OK!)
  5751. RETURN
  5752. END IF
  5753. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  5754. LS_PRMSG.retr_pram_falg = 15
  5755. LS_PRMSG.TAG_TEXT = '销售订单'
  5756. LS_PRMSG.rpname = ls_rpname
  5757. LS_PRMSG.FILTER_STRING = ''
  5758. LS_PRMSG.PAGECH_FLAG = 0
  5759. LS_PRMSG.rpid = ls_msgprintid_rpt
  5760. LS_PRMSG.retr_scid = dw_pageretr.Object.u_saletask_scid[dw_pageretr.GetRow()]
  5761. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.taskid[dw_pageretr.GetRow()]
  5762. LS_PRMSG.rowcnt = dw_child.RowCount()
  5763. uo_print.FACT_PRINT_MSG = LS_PRMSG
  5764. String arg_msg
  5765. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  5766. MessageBox("错误",arg_msg,stopsign!,OK!)
  5767. RETURN
  5768. END IF
  5769. uo_print.ds_print()
  5770. //**更新打印次料
  5771. printnum = Message.DoubleParm
  5772. f_update_printnum('u_saletask',1,cur_scid,dw_pageretr.Object.taskid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  5773. end event
  5774. event ue_jdview_ljfieb;call super::ue_jdview_ljfieb;long ll_row
  5775. ll_row = dw_pageretr.getrow()
  5776. if ll_row <= 0 then return
  5777. string ls_taskcode
  5778. ls_taskcode = dw_pageretr.object.u_saletask_fiebrelcode[ll_row]
  5779. openwithparm(w_ljfieb_buytask_hisview,ls_taskcode)
  5780. end event
  5781. event ue_allowedit;call super::ue_allowedit;IF sys_option_packqty_sale = 0 THEN
  5782. dw_child.Modify("u_saletaskmx_packqty.protect = 1")
  5783. ELSE
  5784. dw_child.Modify("u_saletaskmx_packqty.protect = 0")
  5785. END IF
  5786. end event
  5787. event resize;call super::resize;
  5788. cb_taskmx.Y = dw_uc.Y + dw_uc.Height
  5789. cb_tcmx.Y = cb_taskmx.Y
  5790. cb_fhmx.Y = cb_taskmx.Y
  5791. cb_tsmx.Y = cb_taskmx.Y
  5792. cb_edit_tc.Y = cb_taskmx.Y
  5793. cb_fymx.y=cb_taskmx.Y
  5794. dw_child.X = 0
  5795. dw_child.Y = cb_taskmx.Y + cb_taskmx.Height
  5796. dw_child.Width = this.workspacewidth() - dw_child.X
  5797. dw_child.Height = THIS.workspaceheight() - dw_child.Y
  5798. dw_ywymx.x = 0
  5799. dw_ywymx.y = dw_child.Y
  5800. dw_ywymx.width = dw_child.width * 0.3
  5801. dw_ywymx.height = dw_child.height
  5802. dw_dhmx.x = dw_ywymx.x + dw_ywymx.width
  5803. dw_dhmx.y = dw_child.Y
  5804. dw_dhmx.width = dw_child.width * 0.7
  5805. dw_dhmx.height = dw_child.height
  5806. dw_fhmx.x = 0
  5807. dw_fhmx.y = dw_child.Y
  5808. dw_fhmx.width = dw_child.width
  5809. dw_fhmx.height = dw_child.height
  5810. dw_tsmx.x = 0
  5811. dw_tsmx.y = dw_child.Y
  5812. dw_tsmx.width = dw_child.width
  5813. dw_tsmx.height = dw_child.height
  5814. dw_fymx.x = 0
  5815. dw_fymx.y = dw_child.Y
  5816. dw_fymx.width = dw_child.width
  5817. dw_fymx.height = dw_child.height
  5818. end event
  5819. event ue_before_open;call super::ue_before_open;dw_ywymx.SetTransObject (sqlca)
  5820. dw_dhmx.SetTransObject (sqlca)
  5821. dw_fhmx.SetTransObject (sqlca)
  5822. dw_tsmx.SetTransObject (sqlca)
  5823. dw_fymx.SetTransObject (sqlca)
  5824. cb_edit_tc.visible = false
  5825. if sys_version = 802001 then
  5826. //cb_tcmx.visible = true
  5827. else
  5828. cb_tcmx.visible = False
  5829. cb_tsmx.visible = False
  5830. cb_fhmx.x = cb_tcmx.x
  5831. cb_fymx.x=cb_fhmx.x + cb_fhmx.width
  5832. end if
  5833. s_hide_col s_col_mtrlsectype
  5834. s_hide_col s_col_zxmtrlmode
  5835. s_hide_col s_col, s_null
  5836. s_col = s_null
  5837. s_col.col_1 = 'u_outwaremx_enprice'
  5838. s_col.col_2 = 'u_outwaremx_rebate'
  5839. s_col.col_3 = 'u_outwaremx_tax'
  5840. s_col.col_4 = 'enamt'
  5841. s_col.col_5 = 'u_outwaremx_enamt_tax'
  5842. s_col.col_6 = 'u_outwaremx_fprice'
  5843. s_col.col_7 = 'u_outwaremx_bsamt'
  5844. s_col.col_8 = 'u_outwaremx_bsamt_tax'
  5845. s_col.col_9 = 'u_outwaremx_price'
  5846. f_hide_col(122,dw_fhmx,s_col) //隐藏销售价
  5847. s_col = s_null
  5848. s_col.col_1 = 'u_outwaremx_ware_fprice'
  5849. s_col.col_2 = 'enamt2'
  5850. s_col.col_3 = 'u_outwaremx_dftsaleprice'
  5851. f_hide_col(122,dw_fhmx,s_col) //隐藏销售价
  5852. s_col = s_null
  5853. s_col.col_1 = 'gpamt'
  5854. f_hide_col(843,dw_fhmx,s_col) //隐藏销售毛利
  5855. s_col = s_null
  5856. s_col.col_1 = 'u_outwaremx_cost'
  5857. s_col.col_1 = 'u_outwaremx_costamt'
  5858. f_hide_col(490,dw_fhmx,s_col) //隐藏 出仓成本价
  5859. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  5860. f_hide_col(1308,dw_dhmx,s_col_mtrlsectype)
  5861. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  5862. f_hide_col(1309,dw_dhmx,s_col_zxmtrlmode)
  5863. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  5864. f_hide_col(1308,dw_fhmx,s_col_mtrlsectype)
  5865. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  5866. f_hide_col(1309,dw_fhmx,s_col_zxmtrlmode)
  5867. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  5868. f_hide_col(1308,dw_tsmx,s_col_mtrlsectype)
  5869. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  5870. f_hide_col(1309,dw_tsmx,s_col_zxmtrlmode)
  5871. end event
  5872. event ue_addmx;IF Not dw_edit_mode THEN
  5873. MessageBox('系统提示','非编辑状态下不可用')
  5874. RETURN
  5875. END IF
  5876. IF ins_dw_select = 4 THEN
  5877. This.TriggerEvent('ue_add_fymx')
  5878. ELSE
  5879. This.TriggerEvent('ue_f8')
  5880. dw_child.SetFocus()
  5881. END IF
  5882. end event
  5883. event ue_deletemx;IF Not dw_edit_mode THEN
  5884. MessageBox('系统提示','非编辑状态下不可用')
  5885. RETURN
  5886. END IF
  5887. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  5888. IF dw_child.GetRow() = 0 THEN
  5889. MessageBox('提示','请选择删除的行对象!')
  5890. RETURN
  5891. END IF
  5892. if_del = True
  5893. Long ll_i
  5894. IF ins_dw_select = 4 THEN
  5895. IF dw_fymx.GetRow() = 0 THEN
  5896. MessageBox('提示','请选择删除的行对象!')
  5897. RETURN
  5898. END IF
  5899. dw_fymx.DeleteRow (dw_fymx.GetRow() )
  5900. IF dw_fymx.RowCount() = 0 THEN dw_fymx.InsertRow(0)
  5901. dw_fymx.TriggerEvent (RowFocusChanged!)
  5902. ELSE
  5903. dw_child.SetRedraw(False)
  5904. FOR ll_i = dw_child.RowCount() To 1 Step -1
  5905. IF dw_child.IsSelected(ll_i) THEN
  5906. dw_child.DeleteRow (ll_i)
  5907. END IF
  5908. NEXT
  5909. dw_child.SetRedraw(True)
  5910. if_del = False
  5911. IF dw_child.RowCount() = 0 THEN dw_child.InsertRow(0)
  5912. dw_child.TriggerEvent (RowFocusChanged!)
  5913. END IF
  5914. end event
  5915. event ue_f7;call super::ue_f7;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  5916. If Not dw_edit_mode Then Return
  5917. Long child_row
  5918. Long ls_cusid,ll_moneyid
  5919. child_row = dw_child.GetRow()
  5920. ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
  5921. If IsNull(ls_cusid) Or ls_cusid = 0 Then
  5922. This.TriggerEvent("ue_f9")
  5923. End If
  5924. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  5925. If ll_moneyid = 0 Or IsNull(ll_moneyid) Then
  5926. MessageBox('提示','请先选择币种',information!,OK!)
  5927. Return
  5928. End If
  5929. If Not IsValid(w_mtrlware_storageid_ch_saletask2) Then
  5930. s_edit_index_tran s_tranf8 //传递参数使用
  5931. s_tranf8.if_retrieve_all = This.retrieve_all //是否一次retrieve所有行
  5932. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  5933. s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
  5934. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  5935. s_tranf8.if_select_all = True //多选
  5936. s_tranf8.b_long = 0 //选产品
  5937. // s_tranf8.c_long = cur_scid //分部
  5938. s_tranf8.d_long = -1 //仓库
  5939. If cur_scid < 0 Then
  5940. s_tranf8.c_long = dw_uc.Object.u_saletask_scid[dw_uc.GetRow()]
  5941. Else
  5942. s_tranf8.c_long = cur_scid
  5943. End If
  5944. Long ls_j
  5945. If dw_child.GetRow() > 0 Then s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  5946. OpenWithParm(w_mtrlware_storageid_ch_saletask2,s_tranf8) //调用
  5947. s_mtrldef_array s_inscust
  5948. s_inscust = Message.PowerObjectParm //接受返回结构
  5949. For ls_j = 1 To UpperBound(s_inscust.mtrlid)
  5950. If s_inscust.mtrlid[ls_j] > 0 Then //正常返回值则可以取以下值
  5951. If dw_child.GetRow() > 0 Then
  5952. If dw_child.Object.mtrlid[child_row] <> 0 Then
  5953. child_row = dw_child.InsertRow (0)
  5954. Else
  5955. child_row = dw_child.GetRow()
  5956. End If
  5957. Else
  5958. child_row = dw_child.InsertRow (0)
  5959. End If
  5960. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  5961. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  5962. dw_child.Object.mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  5963. dw_child.Object.saleqty[child_row] = 0
  5964. dw_child.Object.plprice[child_row] = s_inscust.planprice[ls_j]
  5965. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  5966. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  5967. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  5968. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  5969. dw_child.Object.u_saletaskmx_unit[child_row] = s_inscust.unit[ls_j]
  5970. dw_child.Object.u_saletaskmx_rate[child_row] = 1
  5971. dw_child.Object.u_saletaskmx_net_weight[child_row] = s_inscust.net_weight[ls_j]
  5972. dw_child.Object.u_saletaskmx_gross_weight[child_row] = s_inscust.gross_weight[ls_j]
  5973. dw_child.Object.u_saletaskmx_cubage[child_row] = s_inscust.cubage[ls_j]
  5974. dw_child.Object.u_saletaskmx_status[child_row] = s_inscust.status[ls_j]
  5975. dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  5976. dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
  5977. dw_child.Object.u_saletaskmx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  5978. dw_child.Object.u_saletaskmx_pcode[child_row] = s_inscust.pcode[ls_j]
  5979. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j] //
  5980. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
  5981. If IsNull( s_inscust.plancode[ls_j]) Or s_inscust.plancode[ls_j] = '' Then
  5982. Else
  5983. dw_child.Object.u_saletaskmx_plancode[child_row] = s_inscust.plancode[ls_j]
  5984. End If
  5985. If IsNull( s_inscust.waredscrp[ls_j]) Or s_inscust.waredscrp[ls_j] = '' Then
  5986. Else
  5987. dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.waredscrp[ls_j]
  5988. End If
  5989. Long li_statusflag
  5990. Long li_woodcodeflag
  5991. Long li_pcodeflag
  5992. String ls_priceformula
  5993. s_mtrldef_array arg_s_mtrldef
  5994. If f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 Then
  5995. li_statusflag = 0
  5996. li_woodcodeflag = 0
  5997. li_pcodeflag = 0
  5998. ls_priceformula = ''
  5999. Else
  6000. li_statusflag = arg_s_mtrldef.statusflag[1]
  6001. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  6002. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  6003. ls_priceformula = arg_s_mtrldef.priceformula[1]
  6004. End If
  6005. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  6006. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  6007. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  6008. dw_child.Object.u_SaleTaskMx_priceformula[child_row] = ls_priceformula
  6009. wf_get_price(child_row)
  6010. End If
  6011. Next
  6012. This.TriggerEvent('ue_allowedit')
  6013. dw_child.SetColumn('usaleqty')
  6014. End If
  6015. dw_child.SetFocus()
  6016. end event
  6017. type cb_func from w_publ_1ton_share_detail`cb_func within w_saletask
  6018. integer taborder = 20
  6019. end type
  6020. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_saletask
  6021. integer x = 2560
  6022. integer taborder = 240
  6023. end type
  6024. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_saletask
  6025. integer x = 178
  6026. integer y = 188
  6027. integer width = 549
  6028. end type
  6029. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_saletask
  6030. integer x = 3045
  6031. integer taborder = 200
  6032. end type
  6033. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_saletask
  6034. integer x = 2729
  6035. integer width = 320
  6036. integer taborder = 180
  6037. end type
  6038. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_saletask
  6039. integer x = 2597
  6040. integer y = 308
  6041. integer width = 727
  6042. integer height = 1324
  6043. integer taborder = 30
  6044. string title = "销售订单摘要内容"
  6045. string dataobject = "dw_saletask_index"
  6046. boolean hscrollbar = false
  6047. boolean border = true
  6048. borderstyle borderstyle = stylebox!
  6049. end type
  6050. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_statusbtn_fc()
  6051. wf_check_billfj()
  6052. IF dw_edit_mode THEN RETURN
  6053. IF currentrow <= 0 THEN
  6054. dw_child.Reset()
  6055. RETURN
  6056. END IF
  6057. THIS.SelectRow(0,FALSE)
  6058. THIS.SelectRow(currentrow,TRUE)
  6059. dw_uc.SetRow(currentrow)
  6060. dw_uc.ScrollToRow (currentrow)
  6061. st_cusbalc.Text = ''
  6062. st_cusbalc_sign.visible = false
  6063. Long ll_scid,ll_cusid, ll_moneyid
  6064. IF NOT dw_edit_mode AND currentrow > 0 THEN
  6065. ll_scid = THIS.Object.u_saletask_scid[currentrow]
  6066. ll_cusid = THIS.Object.u_saletask_cusid[currentrow]
  6067. ll_moneyid = THIS.Object.u_saletask_moneyid[currentrow]
  6068. wf_cusbalc(ll_scid,ll_cusid,ll_moneyid)
  6069. END IF
  6070. end event
  6071. event dw_pageretr::retrieveend;wf_statusbtn_fc()
  6072. end event
  6073. type st_1 from w_publ_1ton_share_detail`st_1 within w_saletask
  6074. integer x = 0
  6075. integer y = 208
  6076. integer width = 178
  6077. alignment alignment = right!
  6078. end type
  6079. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_saletask
  6080. integer x = 3195
  6081. integer taborder = 230
  6082. end type
  6083. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_saletask
  6084. integer y = 308
  6085. integer width = 2368
  6086. integer height = 1764
  6087. integer taborder = 120
  6088. string dataobject = "dw_saletask_input"
  6089. end type
  6090. event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
  6091. IF Key = KeyDownArrow! THEN RETURN 1
  6092. IF dw_edit_mode THEN
  6093. IF dw_uc.GetColumnName ( ) = 'dscrp' And Key = KeyEnter! THEN
  6094. dw_child.ScrollToRow(1)
  6095. dw_child.SetFocus()
  6096. dw_child.SetColumn ('u_saletaskmx_outtype')
  6097. RETURN 1
  6098. ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' And Key = KeyEnter! THEN
  6099. String ls_code,ls_name,ls_custype,ls_find_code
  6100. String ls_freight,ls_freight_tele,ls_freight_address
  6101. String ls_cus_address,ls_cus_tele,ls_cus_tele1,ls_cus_fax
  6102. Long ls_cusid,ll_state
  6103. Long ll_scid, ll_moneyid
  6104. Long cnt = 0
  6105. Boolean if_find = False
  6106. Int li_banktypeid
  6107. String ls_rel_rep
  6108. dw_uc.AcceptText()
  6109. ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
  6110. //
  6111. long li_option_outrep
  6112. IF sys_power_issuper THEN
  6113. li_option_outrep = 0
  6114. ELSE
  6115. li_option_outrep = sys_option_outrep
  6116. END IF
  6117. SELECT u_cust.cusid,
  6118. u_cust.name,
  6119. u_cust.custype,
  6120. u_cust.cuscode,
  6121. u_cust.freight,
  6122. u_cust.freight_tele,
  6123. u_cust.address,
  6124. u_cust.tele,
  6125. u_cust.tele1,
  6126. u_cust.faxno,
  6127. u_cust.banktypeid,
  6128. u_cust.rep,
  6129. u_cust.state,
  6130. u_cust.freight_address
  6131. INTO :ls_cusid,:ls_name,:ls_custype,:ls_code,
  6132. :ls_freight,:ls_freight_tele,
  6133. :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:li_banktypeid,:ls_rel_rep,:ll_state,
  6134. :ls_freight_address
  6135. FROM u_cust
  6136. Where (cuscode = :ls_code Or Name = :ls_code) and
  6137. ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0')) and
  6138. ( :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' )) ;
  6139. IF sqlca.SQLCode <> 0 THEN
  6140. IF Pos(Trim(ls_code),'%') = 0 THEN
  6141. ls_find_code = '%'+ Trim(ls_code) + '%'
  6142. ELSE
  6143. ls_find_code = Trim(ls_code)
  6144. END IF
  6145. SELECT count(*) INTO :cnt
  6146. FROM u_cust
  6147. Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code ) and
  6148. ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0')) and
  6149. ( :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' )) ;
  6150. IF sqlca.SQLCode <> 0 THEN
  6151. Parent.TriggerEvent('ue_f9')
  6152. RETURN 1
  6153. END IF
  6154. IF cnt <> 1 THEN
  6155. Parent.TriggerEvent('ue_f9')
  6156. RETURN 1
  6157. ELSE
  6158. SELECT u_cust.cusid,
  6159. u_cust.cuscode,
  6160. u_cust.name,
  6161. u_cust.custype,
  6162. u_cust.freight,
  6163. u_cust.freight_tele,
  6164. u_cust.address,
  6165. u_cust.tele,
  6166. u_cust.tele1,
  6167. u_cust.faxno,
  6168. u_cust.rep,
  6169. u_cust.state,
  6170. u_cust.freight_address
  6171. INTO :ls_cusid,:ls_code,:ls_name,:ls_custype,
  6172. :ls_freight,:ls_freight_tele,
  6173. :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:ls_rel_rep,:ll_state,
  6174. :ls_freight_address
  6175. FROM u_cust
  6176. Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code );
  6177. IF sqlca.SQLCode <> 0 THEN
  6178. Parent.TriggerEvent('ue_f9')
  6179. RETURN 1
  6180. ELSE
  6181. if_find = True
  6182. END IF
  6183. END IF
  6184. ELSE
  6185. if_find = True
  6186. END IF
  6187. IF sys_option_cust_audit = 1 then
  6188. IF ll_state <> sys_option_cust_audit then
  6189. MessageBox('提示','该客户不是正式客户,请重新选择!', Information!, OK! )
  6190. Parent.TriggerEvent('ue_f9')
  6191. return 1
  6192. else
  6193. SELECT u_cust.cusid,
  6194. u_cust.name,
  6195. u_cust.custype,
  6196. u_cust.cuscode,
  6197. u_cust.freight,
  6198. u_cust.freight_tele,
  6199. u_cust.address,
  6200. u_cust.tele,
  6201. u_cust.tele1,
  6202. u_cust.faxno,
  6203. u_cust.banktypeid,
  6204. u_cust.rep,
  6205. u_cust.state,
  6206. u_cust.freight_address
  6207. INTO :ls_cusid,:ls_name,:ls_custype,:ls_code,
  6208. :ls_freight,:ls_freight_tele,
  6209. :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:li_banktypeid,:ls_rel_rep,:ll_state,
  6210. :ls_freight_address
  6211. FROM u_cust
  6212. Where (cuscode = :ls_code Or Name = :ls_code);
  6213. IF sqlca.SQLCode <> 0 THEN
  6214. Parent.TriggerEvent('ue_f9')
  6215. RETURN 1
  6216. ELSE
  6217. if_find = True
  6218. END IF
  6219. End if
  6220. End if
  6221. IF if_find THEN
  6222. dw_uc.SetRedraw(False)
  6223. dw_uc.Object.cusid[dw_uc.GetRow()] = ls_cusid
  6224. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code
  6225. dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_name
  6226. dw_uc.Object.assign_emp[dw_uc.GetRow()] = ls_custype
  6227. dw_uc.Object.u_saletask_freight[dw_uc.GetRow()] = ls_freight
  6228. dw_uc.Object.u_saletask_freight_tele[dw_uc.GetRow()] = ls_freight_tele
  6229. dw_uc.Object.u_saletask_freight_address[dw_uc.GetRow()] = ls_freight_address
  6230. dw_uc.Object.u_saletask_cus_address[dw_uc.GetRow()] = ls_cus_address
  6231. dw_uc.Object.u_saletask_cus_tele[dw_uc.GetRow()] = ls_cus_tele
  6232. dw_uc.Object.u_saletask_cus_tele1[dw_uc.GetRow()] = ls_cus_tele1
  6233. dw_uc.Object.u_saletask_cus_fax[dw_uc.GetRow()] = ls_cus_fax
  6234. IF li_banktypeid > 0 THEN
  6235. dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()] = li_banktypeid
  6236. END IF
  6237. dw_uc.Object.u_saletask_rel_rep[dw_uc.GetRow()] = ls_rel_rep
  6238. dw_uc.SetRedraw(True)
  6239. dw_uc.SetColumn("u_saletask_cus_address")
  6240. RETURN 1
  6241. END IF
  6242. ELSE
  6243. IF Key = KeyEnter! THEN //
  6244. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  6245. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  6246. RETURN 1
  6247. END IF
  6248. END IF
  6249. END IF
  6250. end event
  6251. event dw_uc::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  6252. dw_uc.accepttext()
  6253. if dw_uc.getrow() <= 0 then return
  6254. if dwo.name = 'u_saletask_moneyid' then
  6255. long ll_moneyid, ll_scid, ll_cusid
  6256. ll_moneyid = dw_uc.object.u_saletask_moneyid[dw_uc.getrow()]
  6257. dw_uc.setredraw(false)
  6258. dw_uc.object.u_saletask_mrate[dw_uc.getrow()]=f_get_mrate(ll_moneyid)
  6259. dw_uc.setredraw(true)
  6260. end if
  6261. if dwo.name = 'u_saletask_rel_rep' then
  6262. if data <> '' then
  6263. string ll_officetel,ll_handtel
  6264. long ls_cusid
  6265. ls_cusid = dw_uc.object.cusid[row]
  6266. select officetel,handtel into :ll_officetel,:ll_handtel from u_cust_rep where repname = :data and cusid = :ls_cusid;
  6267. if sqlca.sqlcode = 0 then
  6268. dw_uc.object.u_saletask_cus_tele[row] = ll_officetel
  6269. dw_uc.object.u_saletask_cus_tele1[row] = ll_handtel
  6270. end if
  6271. select tele,tele1 into :ll_officetel,:ll_handtel from u_cust where cusid = :ls_cusid and rep = :data;
  6272. if sqlca.sqlcode = 0 then
  6273. dw_uc.object.u_saletask_cus_tele[row] = ll_officetel
  6274. dw_uc.object.u_saletask_cus_tele1[row] = ll_handtel
  6275. end if
  6276. end if
  6277. end if
  6278. end event
  6279. event dw_uc::clicked;call super::clicked;
  6280. IF row <= 0 THEN RETURN
  6281. IF dwo.Name = 'p_dview1' THEN
  6282. Parent.TriggerEvent('ue_add_descp')
  6283. ELSEIF dwo.Name = 'p_dview2' THEN
  6284. Parent.TriggerEvent('ue_add_descp2')
  6285. ELSEIF dwo.Name = 'p_dview3' THEN
  6286. Parent.TriggerEvent('ue_add_descp3')
  6287. ELSEIF dwo.Name = 'p_dview4' THEN
  6288. Parent.TriggerEvent('ue_add_cus_address')
  6289. ELSEIF dwo.Name = 'p_dview5' THEN
  6290. Parent.TriggerEvent('ue_ch_station')
  6291. END IF
  6292. IF Not dw_edit_mode THEN RETURN
  6293. IF dwo.Name = 'p_p' THEN
  6294. Parent.TriggerEvent('ue_f9')
  6295. ELSEIF dwo.Name = 'p_money' THEN
  6296. Parent.TriggerEvent('ue_ch_money')
  6297. ELSEIF dwo.Name = 'p_banktype' THEN
  6298. Parent.TriggerEvent('ue_ch_banktype')
  6299. ELSEIF dwo.Name = 'p_emp' THEN
  6300. Parent.TriggerEvent('ue_ch_outrepdef')
  6301. ELSEIF dwo.Name = 'p_d' Or dwo.Name = 'choicesalehis_t' THEN //引入销售历史
  6302. Parent.TriggerEvent('ue_f6')
  6303. Parent.TriggerEvent('ue_setprice_forformula')
  6304. ELSEIF dwo.Name = 'p_1' Or dwo.Name = 'choicequote_t' THEN //引入报价单
  6305. Parent.TriggerEvent('ue_f15')
  6306. Parent.TriggerEvent('ue_setprice_forformula')
  6307. ELSEIF dwo.Name = 'p_2' Or dwo.Name = 'choicepricelist_t' THEN //引入价格表明细
  6308. Parent.TriggerEvent('ue_f18')
  6309. Parent.TriggerEvent('ue_setprice_forformula')
  6310. ELSEIF dwo.Name = 'p_3' Or dwo.Name = 'choiceware_t' THEN //引入库存
  6311. Parent.TriggerEvent('ue_f7')
  6312. Parent.TriggerEvent('ue_setprice_forformula')
  6313. END IF
  6314. end event
  6315. event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
  6316. IF dwo.Name = 'u_cust_cuscode' OR dwo.Name = 'u_cust_name' THEN
  6317. PARENT.TriggerEvent('ue_f9')
  6318. END IF
  6319. END IF
  6320. end event
  6321. event dw_uc::ue_dwndropdown;call super::ue_dwndropdown;IF Not dw_edit_mode THEN RETURN
  6322. String ls_col_pz,ls_col_mtrlid
  6323. String ls_pz_ch
  6324. String ls_col_value
  6325. Long ll_col_value
  6326. String ls_data_type
  6327. Long ll_row,ll_mtrlid
  6328. ll_row = This.GetRow()
  6329. IF ll_row > 0 THEN
  6330. ls_col_pz = This.GetColumnName( )
  6331. ls_data_type = dw_child.Describe(ls_col_pz+".ColType")
  6332. IF Left(Lower(ls_data_type),4 ) = "char" THEN
  6333. ls_col_value = This.GetItemString(ll_row,ls_col_pz)
  6334. ELSEIF Left(Lower(ls_data_type),4) = "long" THEN
  6335. ll_col_value = This.GetItemNumber(ll_row,ls_col_pz)
  6336. END IF
  6337. if ls_col_pz = 'u_saletask_rel_rep' then
  6338. int rtncode
  6339. string ls_sql
  6340. long ls_cusid
  6341. ls_cusid = dw_uc.object.cusid[dw_uc.getrow()]
  6342. DataWindowChild dw_child_dddw
  6343. rtncode = dw_uc.GetChild("u_saletask_rel_rep",dw_child_dddw)
  6344. dw_child_dddw.SetTransObject(SQLCA)
  6345. ls_sql = old_rep_select
  6346. ls_sql = ls_sql + " or cusid = "+string(ls_cusid);
  6347. dw_child_dddw.SetSQLSelect(ls_sql)
  6348. dw_child_dddw.Retrieve()
  6349. end if
  6350. This.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  6351. END IF
  6352. end event
  6353. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_saletask
  6354. end type
  6355. type dw_child from w_publ_1ton_share_detail`dw_child within w_saletask
  6356. integer y = 2292
  6357. integer width = 3570
  6358. integer height = 420
  6359. integer taborder = 160
  6360. string title = "销售订单明细"
  6361. string dataobject = "dw_saletaskmx"
  6362. end type
  6363. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  6364. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode
  6365. Long ls_mtrlid,ls_cusid
  6366. Dec ls_planprice,ls_lmsaleprice,ls_price,ls_rebate
  6367. Long li_statusflag
  6368. Long li_woodcodeflag
  6369. Long li_pcodeflag
  6370. s_mtrldef_array arg_s_mtrldef
  6371. Long child_row
  6372. Long ls_null,ll_moneyid
  6373. SetNull(ls_null)
  6374. String arg_msg = ''
  6375. string ls_woodcode,ls_status,ls_pcode
  6376. string ls_priceformula
  6377. IF dw_edit_mode THEN
  6378. dw_uc.AcceptText()
  6379. ls_cusid = dw_uc.Object.cusid[dw_uc.GetRow()]
  6380. IF IsNull(ls_cusid) OR ls_cusid = 0 THEN
  6381. parent.TriggerEvent("ue_f9")
  6382. END IF
  6383. ll_moneyid = dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]
  6384. IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
  6385. MessageBox('提示','请先选择币种',information!,OK!)
  6386. RETURN
  6387. END IF
  6388. IF KeyDown(keydownarrow!) THEN
  6389. Long li_row
  6390. IF dw_child.GetRow() = dw_child.RowCount() THEN
  6391. PARENT.TriggerEvent("insert_childrow")
  6392. END IF
  6393. ELSE
  6394. IF KeyDown(keyenter!) THEN
  6395. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  6396. dw_child.AcceptText()
  6397. child_row = dw_child.GetRow()
  6398. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  6399. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  6400. PARENT.TriggerEvent('ue_f8')
  6401. RETURN 1
  6402. ELSE
  6403. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  6404. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  6405. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  6406. ls_unit = arg_s_mtrldef.unit[1]
  6407. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  6408. ls_planprice = arg_s_mtrldef.planprice[1]
  6409. ls_lmsaleprice = arg_s_mtrldef.lmsaleprice[1]
  6410. ls_mtrlsectype=arg_s_mtrldef.mtrlsectype[1]
  6411. ls_zxmtrlmode=arg_s_mtrldef.zxmtrlmode[1]
  6412. li_statusflag = arg_s_mtrldef.statusflag[1]
  6413. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  6414. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  6415. ls_priceformula = arg_s_mtrldef.priceformula[1]
  6416. END IF
  6417. dw_child.Object.mtrlid[child_row] = ls_mtrlid
  6418. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  6419. dw_child.Object.mtrlname[child_row] = ls_mtrlname
  6420. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  6421. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  6422. dw_child.Object.u_saletaskmx_unit[child_row] = ls_unit
  6423. dw_child.Object.u_saletaskmx_rate[child_row] = 1
  6424. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  6425. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  6426. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  6427. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  6428. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  6429. dw_child.Object.u_saletaskmx_status[child_row] = arg_s_mtrldef.status[1]
  6430. dw_child.Object.u_saletaskmx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  6431. dw_child.Object.u_saletaskmx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  6432. dw_child.Object.u_SaleTaskMx_priceformula[child_row] = arg_s_mtrldef.priceformula[1]
  6433. dw_child.Object.u_saletaskmx_net_weight[child_row] = arg_s_mtrldef.net_weight[1]
  6434. dw_child.Object.u_saletaskmx_gross_weight[child_row] = arg_s_mtrldef.gross_weight[1]
  6435. dw_child.Object.u_saletaskmx_cubage[child_row] = arg_s_mtrldef.cubage[1]
  6436. dw_child.Object.u_saletaskmx_packqty[child_row] = arg_s_mtrldef.packqty[1]
  6437. dw_child.Object.u_mtrldef_prdpackcode[child_row] = arg_s_mtrldef.prdpackcode[1]
  6438. IF arg_s_mtrldef.saleunit[1] = 1 THEN
  6439. dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_buy[1]
  6440. dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_buy[1]
  6441. ELSEIF arg_s_mtrldef.saleunit[1] = 2 THEN
  6442. dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_scll[1]
  6443. dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_scll[1]
  6444. ELSEIF arg_s_mtrldef.saleunit[1] = 3 THEN
  6445. dw_child.Object.u_saletaskmx_unit[child_row] = arg_s_mtrldef.unit_sale[1]
  6446. dw_child.Object.u_saletaskmx_rate[child_row] = arg_s_mtrldef.rate_sale[1]
  6447. END IF
  6448. parent.triggerevent('ue_allowedit')
  6449. // IF sys_option_price_if_status = 0 THEN
  6450. // Decimal ls_1stnewprice,ls_1stzqrate,ls_1strate
  6451. // IF f_getmtrlcusprice(ll_moneyid,ls_mtrlid,ls_cusid,ls_unit,'','','',0,ls_1stnewprice,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  6452. // dw_child.Object.u_saletaskmx_enprice[child_row] = 0
  6453. // dw_child.Object.u_saletaskmx_rebate[child_row] = 1
  6454. // ELSE
  6455. // dw_child.Object.u_saletaskmx_enprice[child_row] = ls_1stnewprice
  6456. // dw_child.Object.u_saletaskmx_rebate[child_row] = ls_1stzqrate
  6457. // dw_child.Object.u_saletaskmx_rate[child_row] = ls_1strate
  6458. // END IF
  6459. // END IF
  6460. wf_get_price(child_row)
  6461. IF Key = keyenter! THEN
  6462. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  6463. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  6464. RETURN 1
  6465. END IF
  6466. ELSEIF dw_child.GetColumnName( ) = 'usaleqty' THEN
  6467. dw_child.AcceptText()
  6468. child_row = dw_child.GetRow()
  6469. wf_get_price(child_row)
  6470. RETURN 1
  6471. ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  6472. PARENT.TriggerEvent("insert_childrow")
  6473. RETURN 1
  6474. ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_status' OR dw_child.GetColumnName( ) = 'u_saletaskmx_woodcode' OR dw_child.GetColumnName( ) = 'u_saletaskmx_pcode' THEN
  6475. Parent.TriggerEvent('ue_setprice_forformula')
  6476. RETURN 1
  6477. ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_priceformula' THEN
  6478. PARENT.TriggerEvent("ue_setprice_forformula_1")
  6479. RETURN 1
  6480. ELSEIF dw_child.GetColumnName( ) = 'u_saletaskmx_formula' THEN
  6481. PARENT.TriggerEvent("ue_setqty_forformula_1")
  6482. RETURN 1
  6483. ELSE
  6484. IF Key = keyenter! THEN
  6485. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  6486. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  6487. RETURN 1
  6488. END IF
  6489. END IF
  6490. END IF
  6491. END IF
  6492. END IF
  6493. end event
  6494. event dw_child::doubleclicked;string ls_text
  6495. ls_text = ddlb_1.text
  6496. IF dw_edit_mode THEN
  6497. IF dwo.Name = 'u_saletaskmx_addqty' THEN
  6498. PARENT.TriggerEvent('ue_add_addqty')
  6499. ELSEIF dwo.Name = 'u_saletaskmx_outtype' THEN
  6500. PARENT.TriggerEvent('ue_f11')
  6501. ELSEIF dwo.Name = 'u_saletaskmx_unit' THEN
  6502. PARENT.TriggerEvent('ue_f12')
  6503. ELSEIF dwo.Name = 'usaleqty' OR dwo.Name = 'u_saletaskmx_formula' THEN
  6504. PARENT.TriggerEvent('ue_cmpl_qty')
  6505. ELSEIF dwo.Name = 'u_saletaskmx_priceformula' THEN
  6506. PARENT.TriggerEvent('ue_cmpl_price')
  6507. 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
  6508. string name
  6509. name =dwo.name
  6510. PARENT.trigger event ue_view_status(row,name)
  6511. ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp' THEN
  6512. PARENT.TriggerEvent('ue_view_mxdscrp')
  6513. RETURN
  6514. ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp2' THEN
  6515. PARENT.TriggerEvent('ue_view_mxdscrp2')
  6516. RETURN
  6517. ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp3' THEN
  6518. PARENT.TriggerEvent('ue_view_mxdscrp3')
  6519. RETURN
  6520. ELSEIF dwo.Name = 'u_saletaskmx_mxdscrp4' THEN
  6521. PARENT.TriggerEvent('ue_view_mxdscrp4')
  6522. RETURN
  6523. ELSE
  6524. // IF cbx_quote.Checked THEN
  6525. // PARENT.TriggerEvent('ue_f15')
  6526. // ELSEIF cbx_list.Checked THEN
  6527. // PARENT.TriggerEvent('ue_f18')
  6528. // ELSE
  6529. // PARENT.TriggerEvent('ue_f8')
  6530. // END IF
  6531. if ls_text = '报价单' then
  6532. PARENT.TriggerEvent('ue_f15')
  6533. elseif ls_text = '价格表' then
  6534. PARENT.TriggerEvent('ue_f18')
  6535. else
  6536. PARENT.TriggerEvent('ue_f8')
  6537. end if
  6538. Parent.TriggerEvent('ue_setprice_forformula')
  6539. Parent.TriggerEvent('ue_setqty_forformula')
  6540. END IF
  6541. END IF
  6542. end event
  6543. event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
  6544. This.AcceptText()
  6545. //IF sys_option_saletask_plan = 1 AND dwo.Name = 'usaleqty' THEN
  6546. // this.object.u_saletaskmx_orderqty[row] = this.object.usaleqty[row]
  6547. //END IF
  6548. 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 //价格表增加数量下限,数量上 
  6549. wf_get_price(row)
  6550. END IF
  6551. IF dwo.Name = 'u_saletaskmx_status' OR dwo.Name = 'u_saletaskmx_woodcode' OR dwo.Name = 'u_saletaskmx_pcode' or &
  6552. dwo.Name = 'u_saletaskmx_mxdscrp' OR dwo.Name = 'u_saletaskmx_mxdscrp2' OR dwo.Name = 'u_saletaskmx_mxdscrp3' OR dwo.Name = 'u_saletaskmx_mxdscrp4' THEN
  6553. Parent.TriggerEvent('ue_setprice_forformula')
  6554. Parent.TriggerEvent('ue_setqty_forformula')
  6555. END IF
  6556. 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
  6557. wf_cmpl_amt(row)
  6558. ELSEIF dwo.Name = 'u_saletaskmx_status' Or dwo.Name = 'u_saletaskmx_woodcode' Or dwo.Name = 'u_saletaskmx_pcode' THEN
  6559. IF row > 0 THEN
  6560. IF Object.u_mtrldef_statusflag[row] = 2 THEN
  6561. wf_get_price(row)
  6562. END IF
  6563. END IF
  6564. END IF
  6565. end event
  6566. event dw_child::ue_dwndropdown;IF Not dw_edit_mode THEN RETURN
  6567. String ls_col_pz,ls_col_mtrlid
  6568. String ls_pz_ch
  6569. String ls_col_value
  6570. String ls_data_type
  6571. Long ll_row,ll_mtrlid
  6572. s_pzwin_open arg_s_win
  6573. ll_row = This.GetRow()
  6574. IF ll_row > 0 THEN
  6575. ls_col_mtrlid = This.Describe("#1.Name")
  6576. IF Not Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
  6577. ll_mtrlid = This.GetItemNumber(ll_row,ls_col_mtrlid)
  6578. ls_col_pz = This.GetColumnName( )
  6579. ls_data_type = dw_child.Describe(ls_col_pz+".ColType")
  6580. IF Pos(Lower(ls_data_type),"char") > 0 THEN
  6581. ls_col_value = This.GetItemString(ll_row,ls_col_pz)
  6582. END IF
  6583. arg_s_win.arg_x = This.X + This.PointerX() + Parent.X
  6584. arg_s_win.arg_y = This.Y + This.PointerY() + Parent.Y
  6585. arg_s_win.arg_col = ls_col_pz
  6586. arg_s_win.arg_mtrlid = ll_mtrlid
  6587. arg_s_win.arg_col_value = ls_col_value
  6588. ls_pz_ch = f_mtrl_pz(arg_s_win)
  6589. IF isnull(ls_pz_ch) THEN RETURN
  6590. This.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  6591. IF ls_col_pz = 'u_saletaskmx_status' Or ls_col_pz = 'u_saletaskmx_woodcode' Or ls_col_pz = 'u_saletaskmx_pcode' THEN
  6592. IF ll_row > 0 THEN
  6593. IF This.Object.u_mtrldef_statusflag[ll_row] = 2 THEN
  6594. wf_get_price(ll_row)
  6595. END IF
  6596. END IF
  6597. END IF
  6598. END IF
  6599. end event
  6600. event dw_child::editchanged;call super::editchanged;////messagebox("",sys_option_saletask_plan)
  6601. //IF sys_option_saletask_plan <> 1 THEN RETURN
  6602. //IF This.GetColumnName() = 'enamt' THEN RETURN
  6603. //IF DATA= '' THEN RETURN
  6604. //this.accepttext()
  6605. ////IF DATA= '' THEN RETURN
  6606. //IF dwo.Name = 'usaleqty' then
  6607. // this.object.u_saletaskmx_orderqty[row] = this.object.usaleqty[row]
  6608. //end if
  6609. //this.accepttext()
  6610. //IF sys_option_saletask_plan = 1 AND dwo.Name = 'usaleqty' THEN
  6611. // IF DATA= '' THEN RETURN
  6612. // this.object.u_saletaskmx_orderqty[row] = this.object.usaleqty[row]
  6613. //END IF
  6614. end event
  6615. event dw_child::rowfocuschanged;call super::rowfocuschanged;Parent.TriggerEvent('ue_retrieve_his_pricemx')
  6616. end event
  6617. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_saletask
  6618. integer x = 1915
  6619. integer taborder = 40
  6620. end type
  6621. type cb_print from w_publ_1ton_share_detail`cb_print within w_saletask
  6622. integer x = 1723
  6623. integer taborder = 150
  6624. end type
  6625. type cb_add from w_publ_1ton_share_detail`cb_add within w_saletask
  6626. integer x = 297
  6627. integer taborder = 140
  6628. end type
  6629. event cb_add::clicked;IF Not f_power_ind(5) THEN
  6630. MessageBox('提示',sys_msg_pow,information!,OK!)
  6631. RETURN
  6632. END IF
  6633. String arg_msg = ''
  6634. Long uc_row,pagerert_row,i
  6635. Long relid_pageretr,reld_uc
  6636. Int rslt_chk
  6637. Long ll_scid
  6638. s_saletaskmx s_mx
  6639. s_saletask_itemmx s_item //费用项目
  6640. IF dw_edit_mode THEN
  6641. dw_uc.AcceptText()
  6642. dw_child.AcceptText()
  6643. dw_fymx.AcceptText()
  6644. uc_row = dw_uc.GetRow()
  6645. IF uc_row <= 0 THEN
  6646. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  6647. RETURN
  6648. END IF
  6649. IF dw_uc.Object.u_saletask_moneyid[uc_row] = 0 THEN
  6650. MessageBox('提示','请选择币种!',information!,OK!)
  6651. dw_uc.SetFocus()
  6652. dw_uc.SetColumn("u_saletask_moneyid")
  6653. RETURN
  6654. END IF
  6655. IF dw_uc.Object.u_saletask_banktypeid[uc_row] = 0 THEN
  6656. MessageBox('提示','请选择结算方式!',information!,OK!)
  6657. dw_uc.SetFocus()
  6658. dw_uc.SetColumn("u_saletask_banktypeid")
  6659. RETURN
  6660. END IF
  6661. IF sys_option_saletask_requireday_mode = 0 THEN
  6662. FOR i = 1 To dw_child.RowCount()
  6663. dw_child.Object.u_saletaskmx_requiredate[i] = dw_uc.Object.requiredate[uc_row]
  6664. NEXT
  6665. ELSE
  6666. DateTime MAX_RQ
  6667. MAX_RQ = DateTime(dw_child.Object.u_saletaskmx_requiredate[1])
  6668. FOR i = 1 To dw_child.RowCount()
  6669. IF DateTime(dw_child.Object.u_saletaskmx_requiredate[i]) <= DateTime('1900-01-01') Or IsNull(dw_child.Object.u_saletaskmx_requiredate[i]) THEN
  6670. MessageBox("提示","系统选项设定交期方式为明细录入,明细交货日期不能为空")
  6671. RETURN
  6672. END IF
  6673. IF MAX_RQ < DateTime(dw_child.Object.u_saletaskmx_requiredate[i]) THEN
  6674. MAX_RQ = DateTime(dw_child.Object.u_saletaskmx_requiredate[i])
  6675. END IF
  6676. NEXT
  6677. dw_uc.Object.requiredate[uc_row] = MAX_RQ
  6678. END IF
  6679. IF Year(Date(dw_uc.Object.requiredate[uc_row])) < 2000 THEN
  6680. MessageBox('提示','要求完成日期为空或不合理!',information!,OK!)
  6681. dw_uc.SetFocus()
  6682. dw_uc.SetColumn("requiredate")
  6683. RETURN
  6684. END IF
  6685. IF Date(dw_uc.Object.requiredate[uc_row]) < Date(dw_uc.Object.u_saletask_taskdate[uc_row]) THEN
  6686. MessageBox('提示','交货日期小于订货日期!',information!,OK!)
  6687. dw_uc.SetFocus()
  6688. dw_uc.SetColumn("requiredate")
  6689. RETURN
  6690. END IF
  6691. IF Not Len(String(dw_uc.Object.assign_emp[uc_row])) > 0 THEN
  6692. MessageBox('提示','请选择业务员!',information!,OK!)
  6693. dw_uc.SetFocus()
  6694. dw_uc.SetColumn("assign_emp")
  6695. RETURN
  6696. END IF
  6697. 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)
  6698. IF rslt_chk = 0 Or rslt_chk = 2 THEN
  6699. MessageBox('系统提示',arg_msg)
  6700. RETURN
  6701. ELSEIF rslt_chk = 3 THEN
  6702. IF MessageBox('询问',arg_msg,question!,yesno!) = 2 THEN RETURN
  6703. END IF
  6704. if cbx_auto_qty.Checked then
  6705. IF wf_formualprice_auto(arg_msg) =0 THEN
  6706. MessageBox('系统提示',arg_msg)
  6707. RETURN
  6708. END IF
  6709. IF wf_formualqty_auto(arg_msg) =0 THEN
  6710. MessageBox('系统提示',arg_msg)
  6711. RETURN
  6712. END IF
  6713. end if
  6714. //检查配置有没有填写
  6715. FOR i = 1 To dw_child.RowCount()
  6716. IF dw_child.Object.mtrlid[i] > 0 THEN
  6717. 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
  6718. MessageBox('系统提示',arg_msg)
  6719. RETURN
  6720. END IF
  6721. END IF
  6722. NEXT
  6723. IF Not sys_power_issuper And f_power_ind(977) THEN
  6724. arg_msg = ''
  6725. FOR i = 1 To dw_child.RowCount()
  6726. IF dw_child.Object.u_saletaskmx_outtype[i] > 0 And sys_option_saletask_price = 1 THEN
  6727. ELSE
  6728. IF dw_child.Object.u_saletaskmx_enprice[i] = 0 THEN
  6729. arg_msg = arg_msg + '第' + String(i) + '行,产品:' + dw_child.Object.u_mtrldef_mtrlcode[i] + ',单价为零!~n '
  6730. END IF
  6731. END IF
  6732. NEXT
  6733. IF arg_msg <> '' THEN
  6734. MessageBox('提示',arg_msg + '用户权限限制,不能保存!',information!,OK!)
  6735. RETURN
  6736. END IF
  6737. END IF
  6738. // IF cbx_sc.Checked THEN
  6739. // FOR i = 1 TO dw_child.RowCount()
  6740. // dw_child.Object.u_saletaskmx_orderqty[i] = dw_child.Object.usaleqty[i]
  6741. // NEXT
  6742. // END IF
  6743. IF Not sys_power_issuper And f_power_ind(2059) THEN //价格不能低于客户价格表价格
  6744. long ll_cusid,ll_mtrlid
  6745. longlong ll_price
  6746. arg_msg = ''
  6747. FOR i = 1 To dw_child.RowCount()
  6748. ll_cusid=dw_uc.Object.cusid[uc_row]
  6749. ll_mtrlid=dw_child.Object.mtrlid[i]
  6750. select u_sale_price_mx.price into :ll_price from u_cust left join u_sale_price_list
  6751. on u_cust.pricelistid=u_sale_price_list.pricelistid left join u_sale_price_mx
  6752. on u_sale_price_list.pricelistid=u_sale_price_mx.pricelistid left join u_mtrldef
  6753. on u_sale_price_mx.mtrlid=u_mtrldef.mtrlid
  6754. where u_sale_price_list.flag=1 and u_mtrldef.mtrlid=:ll_mtrlid and u_cust.cusid=:ll_cusid;
  6755. IF IsNull(ll_price) THEN ll_price = 0
  6756. IF dw_child.Object.u_saletaskmx_enprice[i] < ll_price and ll_price>0 THEN
  6757. arg_msg = arg_msg + '第' + String(i) + '行,产品:' + dw_child.Object.u_mtrldef_mtrlcode[i] + ',单价低于客户价格表单价!~n '
  6758. end if
  6759. NEXT
  6760. IF arg_msg <> '' THEN
  6761. MessageBox('提示',arg_msg + '用户权限限制,不能保存!',information!,OK!)
  6762. RETURN
  6763. END IF
  6764. END IF
  6765. // 自动按数量和单价公式计算数量和单价
  6766. if cbx_auto_qty.checked = true then
  6767. Parent.TriggerEvent('ue_setprice_forformula')
  6768. Parent.TriggerEvent('ue_setqty_forformula')
  6769. for i = 1 to dw_child.rowcount()
  6770. wf_cmpl_amt(i)
  6771. next
  6772. end if
  6773. dw_child.accepttext()
  6774. //检查明细 数量=0 的行
  6775. string ls_msg = ''
  6776. for i = 1 to dw_child.rowcount()
  6777. if dw_child.object.usaleqty[i] = 0 or isnull(dw_child.object.usaleqty[i] ) then
  6778. if ls_msg <> '' then
  6779. ls_msg = ls_msg + '第' + string(i) + '行,数量为0' + '~r~n'
  6780. else
  6781. ls_msg = '第' + string(i) + '行,数量为0' + '~r~n'
  6782. end if
  6783. end if
  6784. next
  6785. if ls_msg <> '' then
  6786. IF MessageBox ("询问",ls_msg + '~r~n' + "是否确定要继续吗,继续会删除数量为0的行。",Question!,YesNo! ) = 2 THEN RETURN
  6787. end if
  6788. //
  6789. //由金额计算折扣
  6790. IF cbx_zk.Checked THEN
  6791. FOR i = 1 To dw_child.RowCount()
  6792. IF dw_child.Object.enamt[i] <> 0 THEN
  6793. IF dw_child.Object.u_saletaskmx_enprice[i] > 0 THEN
  6794. ELSE
  6795. MessageBox('提示','第' + String(i) + '行请输入单价')
  6796. RETURN
  6797. END IF
  6798. IF dw_child.Object.u_saletaskmx_enprice[i] <> 0 And dw_child.Object.usaleqty[i] <> 0 THEN
  6799. dw_child.Object.u_saletaskmx_rebate[i] = dw_child.Object.enamt[i] / dw_child.Object.u_saletaskmx_enprice[i] / dw_child.Object.usaleqty[i]
  6800. END IF
  6801. END IF
  6802. NEXT
  6803. END IF
  6804. //信用额 288
  6805. IF sys_option_cusrepamt_saletask_limit = 1 THEN
  6806. 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] )
  6807. IF cur_cusrepamtflag = -1 THEN
  6808. MessageBox('系统提示','系统选项288限制~r~n' + cur_cusrepamtstr)
  6809. RETURN 0
  6810. END IF
  6811. END IF
  6812. //20200619 取消限制,改成界面检测
  6813. //保存前根据物料资料定义,检查数量和辅数的关系是否正确,如果辅数有填写 ,数量没有填写 ,会根据物料资料里的定义自动计算出数量
  6814. // IF wf_check_qtyandaddqty(arg_msg) = 0 THEN
  6815. // MessageBox('提示',arg_msg + ',不能保存!',information!,OK!)
  6816. // RETURN
  6817. // END IF
  6818. //系统选项280 设置单价小数位数
  6819. wf_set_decimal_place()
  6820. ll_scid = dw_uc.Object.u_saletask_scid[uc_row]
  6821. obj_saletask.requiredate = dw_uc.Object.requiredate[uc_row]
  6822. obj_saletask.assign_emp = dw_uc.Object.assign_emp[uc_row]
  6823. obj_saletask.Kind = dw_uc.Object.Kind[uc_row]
  6824. obj_saletask.cusid = dw_uc.Object.cusid[uc_row]
  6825. obj_saletask.dscrp = dw_uc.Object.dscrp[uc_row]
  6826. obj_saletask.dscrp2 = dw_uc.Object.u_saletask_dscrp2[uc_row]
  6827. obj_saletask.taskdate = dw_uc.Object.u_saletask_taskdate[uc_row]
  6828. obj_saletask.banktypeid = dw_uc.Object.u_saletask_banktypeid[uc_row]
  6829. obj_saletask.moneyid = dw_uc.Object.u_saletask_moneyid[uc_row]
  6830. obj_saletask.damt = dw_uc.Object.u_saletask_damt[uc_row]
  6831. obj_saletask.otheramt = dw_uc.Object.u_saletask_otheramt[uc_row]
  6832. obj_saletask.relcode = dw_uc.Object.u_saletask_relcode[uc_row]
  6833. obj_saletask.paytype = dw_uc.Object.u_saletask_paytype[uc_row]
  6834. obj_saletask.transcode = dw_uc.Object.u_saletask_transcode[uc_row]
  6835. obj_saletask.carcode = dw_uc.Object.u_saletask_carcode[uc_row]
  6836. obj_saletask.freight = dw_uc.Object.u_saletask_freight[uc_row]
  6837. obj_saletask.freight_tele = dw_uc.Object.u_saletask_freight_tele[uc_row]
  6838. obj_saletask.cus_address = dw_uc.Object.u_saletask_cus_address[uc_row]
  6839. obj_saletask.cus_tele = dw_uc.Object.u_saletask_cus_tele[uc_row]
  6840. obj_saletask.cus_tele1 = dw_uc.Object.u_saletask_cus_tele1[uc_row]
  6841. obj_saletask.cus_fax = dw_uc.Object.u_saletask_cus_fax[uc_row]
  6842. obj_saletask.mrate = dw_uc.Object.u_saletask_mrate[uc_row]
  6843. obj_saletask.dscrp3 = dw_uc.Object.u_saletask_dscrp3[uc_row]
  6844. obj_saletask.rel_rep = dw_uc.Object.u_saletask_rel_rep[uc_row]
  6845. obj_saletask.freight_address = dw_uc.Object.u_saletask_freight_address[uc_row]
  6846. FOR i = 1 To dw_child.RowCount()
  6847. IF dw_child.Object.mtrlid[i] > 0 THEN
  6848. s_mx.mtrlid = dw_child.Object.mtrlid[i]
  6849. s_mx.usaleqty = dw_child.Object.usaleqty[i]
  6850. s_mx.orderqty = dw_child.Object.u_saletaskmx_orderqty[i]
  6851. s_mx.needbuyqty = dw_child.Object.u_saletaskmx_needbuyqty[i]
  6852. s_mx.enprice = dw_child.Object.u_saletaskmx_enprice[i]
  6853. s_mx.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  6854. s_mx.planprice = dw_child.Object.plprice[i]
  6855. s_mx.dscrp = dw_child.Object.u_saletaskmx_mxdscrp[i]
  6856. s_mx.mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
  6857. s_mx.status = dw_child.Object.u_saletaskmx_status[i]
  6858. s_mx.woodcode = dw_child.Object.u_saletaskmx_woodcode[i]
  6859. s_mx.pcode = dw_child.Object.u_saletaskmx_pcode[i]
  6860. s_mx.mtrlcuscode = dw_child.Object.u_saletaskmx_mtrlcuscode[i]
  6861. s_mx.printid = dw_child.Object.pid[i]
  6862. s_mx.outtype = dw_child.Object.u_saletaskmx_outtype[i]
  6863. s_mx.unit = dw_child.Object.u_saletaskmx_unit[i]
  6864. s_mx.rate = dw_child.Object.u_saletaskmx_rate[i]
  6865. s_mx.formula = dw_child.Object.u_saletaskmx_formula[i]
  6866. s_mx.addqty = dw_child.Object.u_saletaskmx_addqty[i]
  6867. s_mx.mxdscrp2 = dw_child.Object.u_saletaskmx_mxdscrp2[i]
  6868. s_mx.needwfjgqty = dw_child.Object.u_saletaskmx_needwfjgqty[i]
  6869. s_mx.plancode = dw_child.Object.u_saletaskmx_plancode[i] //由系统选项236直接控制
  6870. s_mx.tax = dw_child.Object.u_saletaskmx_tax[i]
  6871. s_mx.packqty = dw_child.Object.u_saletaskmx_packqty[i]
  6872. s_mx.net_weight = dw_child.Object.u_saletaskmx_net_weight[i]
  6873. s_mx.gross_weight = dw_child.Object.u_saletaskmx_gross_weight[i]
  6874. s_mx.cubage = dw_child.Object.u_saletaskmx_cubage[i]
  6875. s_mx.mxdscrp3 = dw_child.Object.u_saletaskmx_mxdscrp3[i]
  6876. s_mx.mxdscrp4 = dw_child.Object.u_saletaskmx_mxdscrp4[i]
  6877. s_mx.requiredate = DateTime(dw_child.Object.u_saletaskmx_requiredate[i])
  6878. s_mx.priceformula = dw_child.Object.u_saletaskmx_priceformula[i]
  6879. s_mx.enprice_notax = dw_child.Object.u_saletaskmx_enprice_notax[i]
  6880. s_mx.enamt_tax = dw_child.Object.u_saletaskmx_enamt_tax[i]
  6881. s_mx.otherprice = dw_child.Object.u_saletaskmx_otherprice[i]
  6882. IF obj_saletask.acceptmx(s_mx, arg_msg) = 0 THEN
  6883. MessageBox('错误',arg_msg,stopsign!,OK!)
  6884. RETURN
  6885. END IF
  6886. END IF
  6887. NEXT
  6888. FOR i = 1 To dw_fymx.RowCount()
  6889. IF dw_fymx.Object.u_saletask_itemmx_itemid[i] > 0 THEN
  6890. s_item.printid = i
  6891. s_item.itemid = dw_fymx.Object.u_saletask_itemmx_itemid[i]
  6892. s_item.amt = dw_fymx.Object.u_saletask_itemmx_amt[i]
  6893. s_item.amtyfh = dw_fymx.Object.u_saletask_itemmx_amtyfh[i]
  6894. s_item.mxdscrp = dw_fymx.Object.u_saletask_itemmx_mxdscrp[i]
  6895. s_item.itype = dw_fymx.Object.u_saletask_itemmx_itype[i]
  6896. IF obj_saletask.acceptmx_item(s_item, arg_msg) = 0 THEN
  6897. MessageBox('Error!',arg_msg)
  6898. RETURN
  6899. END IF
  6900. END IF
  6901. NEXT
  6902. IF obj_saletask.savesubmit(publ_operator,arg_msg,False) = 0 THEN
  6903. MessageBox('错误',arg_msg,stopsign!,OK!)
  6904. RETURN
  6905. END IF
  6906. IF obj_saletask.save_end(arg_msg,True) = 0 THEN //保存费用项目
  6907. MessageBox('错误',arg_msg,stopsign!,OK!)
  6908. RETURN
  6909. END IF
  6910. // messagebox(publ_operator,'保存操作成功!')
  6911. //write ini
  6912. f_SetProfileString (sys_empid,publ_userid + '_' + dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()]))
  6913. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()]))
  6914. //
  6915. Long ll_row
  6916. ll_row = dw_pageretr.GetRow()
  6917. dw_pageretr.SelectRow(0,False)
  6918. dw_pageretr.SelectRow(ll_row,True)
  6919. wf_refresh_curuc(ll_scid,obj_saletask.taskid) //刷新uc
  6920. String ls_taskcode
  6921. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  6922. IF f_billevent_trigger (102, 2, ls_taskcode, arg_msg) = 0 THEN
  6923. MessageBox('Error',arg_msg)
  6924. END IF
  6925. ELSE
  6926. IF obj_saletask.newbegin(cur_scid,arg_msg) = 0 THEN //生产令领料
  6927. MessageBox('错误',arg_msg,stopsign!,OK!)
  6928. RETURN
  6929. END IF
  6930. END IF
  6931. CALL Super::Clicked
  6932. IF dw_edit_mode THEN
  6933. dw_fymx.Reset()
  6934. dw_fymx.InsertRow(0)
  6935. Parent.TriggerEvent("insert_childrow")
  6936. String ls_moneyid,ls_banktype
  6937. ls_moneyid = f_ProfileString (sys_empid,publ_userid + '_' + dw_uc.DataObject, "moneyid",'0')
  6938. ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  6939. dw_uc.SetRedraw(False)
  6940. dw_uc.Object.u_saletask_moneyid[dw_uc.GetRow()] = Long(ls_moneyid)
  6941. dw_uc.Object.u_saletask_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
  6942. dw_uc.Object.u_saletask_banktypeid[dw_uc.GetRow()] = Long(ls_banktype)
  6943. dw_uc.Object.u_saletask_scid[dw_uc.GetRow()] = cur_scid
  6944. dw_uc.Object.requiredate[dw_uc.GetRow()] = RelativeDate(Today(),sys_option_saletask_days)
  6945. dw_uc.SetColumn("u_saletask_moneyid")
  6946. dw_uc.SetRedraw(True)
  6947. ELSE
  6948. Parent.TriggerEvent("retrieve_childdw")
  6949. END IF
  6950. end event
  6951. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_saletask
  6952. integer taborder = 110
  6953. end type
  6954. event cb_edit::clicked;IF NOT f_power_ind(5) THEN
  6955. MessageBox('提示',sys_msg_pow,information!,OK!)
  6956. RETURN
  6957. END IF
  6958. String arg_msg = ''
  6959. Long uc_row
  6960. IF NOT dw_edit_mode THEN
  6961. uc_row = dw_pageretr.GetRow()
  6962. IF uc_row <= 0 THEN
  6963. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  6964. RETURN
  6965. END IF
  6966. IF obj_saletask.updatebegin(dw_pageretr.Object.u_saletask_scid[uc_row],dw_pageretr.Object.taskid[uc_row],arg_msg) = 0 THEN
  6967. MessageBox('错误',arg_msg,stopsign!,OK!)
  6968. RETURN
  6969. END IF
  6970. PARENT.TriggerEvent('ue_allowedit')
  6971. END IF
  6972. CALL SUPER::Clicked
  6973. end event
  6974. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_saletask
  6975. integer taborder = 170
  6976. end type
  6977. event cb_delet::clicked;call super::clicked;if not f_power_ind(579) then
  6978. messagebox('提示',sys_msg_pow,information!,OK!)
  6979. return
  6980. end if
  6981. if dw_edit_mode then return
  6982. string arg_msg=''
  6983. long uc_row
  6984. uc_row=dw_pageretr.getrow()
  6985. if uc_row<=0 then
  6986. messagebox('提示','请选定当前目标订单!',information!,OK!)
  6987. return
  6988. end if
  6989. IF MessageBox ("询问","是否确定要删除当前吗",Question!,YesNo! ) = 2 THEN RETURN
  6990. if obj_saletask.cancel(dw_pageretr.Object.u_saletask_scid[uc_row],dw_pageretr.object.taskid[uc_row],arg_msg,true)=0 then
  6991. messagebox('错误',arg_msg,stopsign!,OK!)
  6992. ELSE
  6993. //日志
  6994. long ls_id
  6995. string ls_code
  6996. ls_id=dw_pageretr.object.taskid[uc_row]
  6997. ls_code=dw_pageretr.object.taskCODE[uc_row]
  6998. f_setsysoplog('销售订单','删除,ID:'+string(LS_id)+',code:'+ls_code,arg_msg,true)
  6999. //--
  7000. MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.taskCODE[uc_row])+'成功!',information!,OK!)
  7001. dw_pageretr.deleterow(uc_row)
  7002. dw_pageretr.postevent(rowfocuschanged!)
  7003. end if
  7004. end event
  7005. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_saletask
  7006. integer x = 1221
  7007. end type
  7008. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  7009. String menustr
  7010. IF Not dw_edit_mode THEN
  7011. menustr += "|" + "Text=复制单据~tEvent=ue_bill_copy"
  7012. menustr += "|" + "Text=-"
  7013. menustr += "|" + "Text=增加备注~tEvent=ue_addzy"
  7014. menustr += "|" + "Text=修改相关号~tEvent=ue_update_relcode"
  7015. menustr += "|" + "Text=-"
  7016. menustr += "|" + "Text=确认~tEvent=ue_priceaudit"
  7017. menustr += "|" + "Text=反确认~tEvent=ue_cpriceaudit"
  7018. menustr += "|" + "Text=-"
  7019. IF sys_option_saletask_secaudit = 0 THEN
  7020. menustr += "|" + "Text=批审核订单~tEvent=ue_paudit_task"
  7021. menustr += "|" + "Text=批撤审订单~tEvent=ue_paudit_task_cancel"
  7022. ELSE
  7023. menustr += "|" + "Text=批审核订单~tEvent=ue_paudit1_task"
  7024. menustr += "|" + "Text=批撤审订单~tEvent=ue_paudit1_task_cancel"
  7025. menustr += "|" + "Text=批二审订单~tEvent=ue_paudit2_task"
  7026. menustr += "|" + "Text=批二审撤审订单~tEvent=ue_paudit2_task_cancel"
  7027. END IF
  7028. menustr += "|" + "Text=-"
  7029. menustr += "|" + "Text=暂停订单~tEvent=ue_tempstoptask"
  7030. menustr += "|" + "Text=取消暂停~tEvent=ue_ctempstoptask"
  7031. menustr += "|" + "Text=终止订单~tEvent=ue_stopsaletask"
  7032. menustr += "|" + "Text=取消终止~tEvent=ue_stopsaletask_cancel"
  7033. menustr += "|" + "Text=完成订单~tEvent=ue_finishtask"
  7034. menustr += "|" + "Text=取消完成~tEvent=ue_finishtask_cancel"
  7035. menustr += "|" + "Text=-"
  7036. menustr += "|" + "Text=查看附件~tEvent=ue_fj_view"
  7037. menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit"
  7038. menustr += "|" + "Text=刷新列表附件数~tEvent=retrieve_fjnum"
  7039. menustr += "|" + "Text=-"
  7040. menustr += "|" + "Text=按订单价格更新价格表~tEvent=ue_pricelist_update"
  7041. menustr += "|" + "Text=-"
  7042. menustr += "|" + "Text=辅助建立销售发货单~tEvent=ue_create_outware_sale"
  7043. menustr += "|" + "Text=辅助建立客户投诉单~tEvent=ue_create_oppose_cust"
  7044. menustr += "|" + "Text=辅助建立客户费用单~tEvent=ue_create_reissue"
  7045. menustr += "|" + "Text=辅助建立订单收款单~tEvent=ue_create_taskdamt"
  7046. menustr += "|" + "Text=辅助建立采购订单~tEvent=ue_create_buytask"
  7047. menustr += "|" + "Text=辅助建立生产进仓单~tEvent=ue_create_inware_cp"
  7048. menustr += "|" + "Text=-"
  7049. menustr += "|" + "Text=辅助生成采购订单~tEvent=ue_create_buytask_auto"
  7050. menustr += "|" + "Text=-"
  7051. menustr += "|" + "Text=界面属性选项设置方案~tEvent=ue_saletask_choose"
  7052. ELSE
  7053. menustr += "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  7054. menustr += "|" + "Text=-"
  7055. menustr += "|" + "Text=缓存单据~tEvent=ue_billcache_export"
  7056. menustr += "|" + "Text=导入缓存单据~tEvent=ue_billcache_import"
  7057. menustr += "|" + "Text=-"
  7058. menustr += "|" + "Text=导入单价~tEvent=ue_importseleprice"
  7059. menustr += "|" + "Text=补充导入单价~tEvent=ue_importseleprice_buchong"
  7060. menustr += "|" + "Text=导入客户单价~tEvent=ue_importcusseleprice"
  7061. IF sys_option_price_if_list = 0 THEN //取销售历史, 1时只能取价格表
  7062. menustr += "|" + "Text=导入客户历史售价~tEvent=ue_importcusseleprice_his"
  7063. END IF
  7064. menustr += "|" + "Text=计算优惠款~tEvent=ue_cmpl_otheramt"
  7065. END IF
  7066. IF Len(Trim(menustr)) <> 0 THEN
  7067. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  7068. dmPopupMenu.mf_BuildMenu(This, menustr)
  7069. dmPopupMenu.mf_PopMenu()
  7070. Destroy dmPopupMenu
  7071. END IF
  7072. end event
  7073. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_saletask
  7074. integer taborder = 190
  7075. end type
  7076. event cb_auditing::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  7077. String arg_msg = '', ls_msg
  7078. Long pagerert_row
  7079. Long ll_scid, ll_taskid
  7080. Int li_status
  7081. String ls_taskcode
  7082. Boolean lb_audit = False, lb_secaudit = False, lb_commit = False
  7083. pagerert_row = dw_pageretr.GetRow()
  7084. IF pagerert_row <= 0 THEN
  7085. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  7086. RETURN
  7087. END IF
  7088. ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
  7089. ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
  7090. li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
  7091. IF MessageBox ("询问","是否确定要对当前订单审核?",Question!,YesNo! ) = 2 THEN RETURN
  7092. //信用额 288
  7093. IF sys_option_cusrepamt_saletask_limit = 3 And li_status = 0 THEN
  7094. wf_getcusrepamt_info(ll_scid,dw_pageretr.Object.u_saletask_cusid[pagerert_row], dw_pageretr.Object.u_saletask_moneyid[pagerert_row] )
  7095. IF cur_cusrepamtflag = -1 THEN
  7096. MessageBox('系统提示','系统选项288限制~r~n'+cur_cusrepamtstr)
  7097. RETURN 0
  7098. END IF
  7099. END IF
  7100. IF li_status = 0 THEN
  7101. ls_msg = "审核"
  7102. IF sys_option_saletask_secaudit = 0 THEN
  7103. IF Not f_power_ind(6) THEN
  7104. MessageBox('提示',sys_msg_pow,information!,OK!)
  7105. RETURN
  7106. END IF
  7107. lb_commit = False
  7108. ELSE
  7109. IF Not f_power_ind(1729) THEN
  7110. MessageBox('提示',sys_msg_pow,information!,OK!)
  7111. RETURN
  7112. END IF
  7113. lb_commit = True
  7114. END IF
  7115. lb_audit = True
  7116. /*MEI:自动生成领料单 20160511*/
  7117. IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
  7118. MessageBox('错误',arg_msg,stopsign!,OK!)
  7119. RETURN
  7120. END IF
  7121. IF obj_saletask.audit(ll_scid,ll_taskid,publ_operator,arg_msg,lb_commit) = 0 THEN
  7122. MessageBox('错误',arg_msg,stopsign!,OK!)
  7123. RETURN
  7124. END IF
  7125. IF sys_option_saletask_secaudit = 0 THEN
  7126. lb_secaudit = True
  7127. IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
  7128. MessageBox('错误',arg_msg,stopsign!,OK!)
  7129. RETURN
  7130. END IF
  7131. END IF
  7132. ELSEIF li_status = 4 THEN
  7133. IF Not f_power_ind(6) THEN
  7134. MessageBox('提示',sys_msg_pow,information!,OK!)
  7135. RETURN
  7136. END IF
  7137. ls_msg = "二审"
  7138. lb_secaudit = True
  7139. IF obj_saletask.salepermit(ll_scid,ll_taskid,publ_operator,arg_msg,True) = 0 THEN
  7140. MessageBox('错误',arg_msg,stopsign!,OK!)
  7141. RETURN
  7142. END IF
  7143. END IF
  7144. MessageBox('提示','销售订单'+ls_msg+'成功!',information!,OK!)
  7145. ls_taskcode = dw_pageretr.Object.taskcode[dw_pageretr.GetRow()]
  7146. IF lb_audit THEN
  7147. IF f_billevent_trigger (102, 3, ls_taskcode, arg_msg) = 0 THEN
  7148. MessageBox('Error',arg_msg)
  7149. END IF
  7150. END IF
  7151. IF lb_secaudit THEN
  7152. IF f_billevent_trigger (102, 4, ls_taskcode, arg_msg) = 0 THEN
  7153. MessageBox('Error',arg_msg)
  7154. END IF
  7155. END IF
  7156. IF cur_status <> -1 THEN
  7157. dw_uc.DeleteRow(pagerert_row)
  7158. ELSE
  7159. wf_refresh_curuc(ll_scid,ll_taskid)
  7160. END IF
  7161. end event
  7162. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_saletask
  7163. integer x = 1472
  7164. integer taborder = 70
  7165. end type
  7166. event cb_xm::clicked;is_mx_menustr = ''
  7167. IF dw_edit_mode THEN
  7168. is_mx_menustr += "|" + "Text=批设定数量~tEvent=ue_p_saleqty"
  7169. is_mx_menustr += "|" + "Text=批设定折扣~tEvent=ue_p_rebate"
  7170. is_mx_menustr += "|" + "Text=批设定"+sys_option_change_status+"~tEvent=ue_p_status"
  7171. is_mx_menustr += "|" + "Text=批设定"+sys_option_change_woodcode+"~tEvent=ue_p_woodcode"
  7172. is_mx_menustr += "|" + "Text=批设定"+sys_option_change_pcode+"~tEvent=ue_p_pcode"
  7173. is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax"
  7174. is_mx_menustr += "|" + "Text=批设定税率~tEvent=ue_p_tax"
  7175. is_mx_menustr += "|" + "Text=批设定数量公式~tEvent=ue_p_formula_set"
  7176. is_mx_menustr += "|" + "Text=批设定单价公式~tEvent=ue_p_priceformula_set"
  7177. is_mx_menustr += "|" + "Text=批按数量公式计算数量~tEvent=ue_p_cmpl_qty"
  7178. is_mx_menustr += "|" + "Text=批按单价公式计算单价~tEvent=ue_p_cmpl_price"
  7179. is_mx_menustr += "|" + "Text=批按辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  7180. is_mx_menustr += "|" + "Text=-"
  7181. is_mx_menustr += "|" + "Text=批按订单数量计算需排产数~tEvent=ue_copy_qty"
  7182. is_mx_menustr += "|" + "Text=批按订单数量计算需订购数~tEvent=ue_copy_needqty"
  7183. is_mx_menustr += "|" + "Text=-"
  7184. is_mx_menustr += "|" + "Text=明细标题与execl标题对应关系设置~tEvent=ue_set_dytitle"
  7185. is_mx_menustr += "|" + "Text=从execl导入到订单明细~tEvent=ue_insert_execltodw"
  7186. ELSE
  7187. is_mx_menustr += "|" + "Text=修改明细终止数~tEvent=ue_stopqty"
  7188. is_mx_menustr += "|" + "Text=-"
  7189. is_mx_menustr += "|" + "Text=修改明细单价~tEvent=ue_mod_enprice"
  7190. is_mx_menustr += "|" + "Text=-"
  7191. is_mx_menustr += "|" + "Text=计算明细库存数量和不足数量~tEvent=ue_mx_cmplnoallocqty"
  7192. IF sys_option_saletask_requireday_mode = 1 THEN
  7193. is_mx_menustr += "|" + "Text=修改明细交货日期~tEvent=ue_mx_requiredate"
  7194. END IF
  7195. is_mx_menustr += "|" + "Text=查看销售历史价格~tEvent=ue_show_his_pricemx"
  7196. is_mx_menustr += "|" + "Text=辅助建立销售订单明细变更单~tEvent=ue_mx_alter"
  7197. END IF
  7198. CALL Super::Clicked
  7199. end event
  7200. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_saletask
  7201. integer taborder = 130
  7202. end type
  7203. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_saletask
  7204. integer x = 2107
  7205. end type
  7206. type cb_help from w_publ_1ton_share_detail`cb_help within w_saletask
  7207. integer x = 2409
  7208. integer taborder = 100
  7209. boolean enabled = true
  7210. end type
  7211. event cb_help::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  7212. String menustr
  7213. menustr = "Text=查看相关费用单~tEvent=ue_view_reissue"
  7214. IF Len(Trim(menustr)) <> 0 THEN
  7215. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  7216. dmPopupMenu.mf_BuildMenu(This, menustr)
  7217. dmPopupMenu.mf_PopMenu()
  7218. Destroy dmPopupMenu
  7219. END IF
  7220. end event
  7221. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_saletask
  7222. integer width = 192
  7223. end type
  7224. event cb_auditing_cancel::clicked;call super::clicked;
  7225. IF dw_edit_mode THEN RETURN
  7226. String arg_msg = '', ls_msg
  7227. Long pagerert_row
  7228. Long ll_scid, ll_taskid
  7229. Int li_status
  7230. Boolean lb_secaudit = False, lb_commit = False
  7231. pagerert_row = dw_pageretr.GetRow()
  7232. IF pagerert_row <= 0 THEN
  7233. MessageBox('提示','请选定当前目标订单!',information!,OK!)
  7234. RETURN
  7235. END IF
  7236. ll_scid = dw_pageretr.Object.u_saletask_scid[pagerert_row]
  7237. ll_taskid = dw_pageretr.Object.taskid[pagerert_row]
  7238. li_status = dw_pageretr.Object.u_saletask_status[pagerert_row]
  7239. IF MessageBox ("询问","是否确定要对当前订单取消审核?",Question!,YesNo! ) = 2 THEN RETURN
  7240. IF li_status = 1 THEN
  7241. IF Not f_power_ind(8) THEN
  7242. MessageBox('提示',sys_msg_pow,information!,OK!)
  7243. RETURN
  7244. END IF
  7245. IF sys_option_saletask_secaudit = 0 THEN
  7246. lb_commit = False
  7247. ls_msg = "撤审"
  7248. ELSE
  7249. lb_commit = True
  7250. ls_msg = "二撤"
  7251. END IF
  7252. /*MEI:自动生成领料单撤审 20160511*/
  7253. IF obj_saletask.getinfo(ll_scid,ll_taskid,arg_msg) = 0 THEN
  7254. MessageBox('错误',arg_msg,stopsign!,ok!)
  7255. RETURN
  7256. END IF
  7257. IF obj_saletask.cancelpermit(ll_scid,ll_taskid,arg_msg,lb_commit) = 0 THEN
  7258. MessageBox('错误',arg_msg,stopsign!,OK!)
  7259. RETURN
  7260. END IF
  7261. IF sys_option_saletask_secaudit = 0 THEN
  7262. IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
  7263. MessageBox('错误',arg_msg,stopsign!,OK!)
  7264. RETURN
  7265. END IF
  7266. END IF
  7267. ELSEIF li_status = 4 THEN
  7268. IF Not f_power_ind(1730) THEN
  7269. MessageBox('提示',sys_msg_pow,information!,OK!)
  7270. RETURN
  7271. END IF
  7272. ls_msg = "撤审"
  7273. IF obj_saletask.audit_cancel(ll_scid,ll_taskid,arg_msg,True) = 0 THEN
  7274. MessageBox('错误',arg_msg,stopsign!,OK!)
  7275. RETURN
  7276. END IF
  7277. END IF
  7278. MessageBox('提示','销售订单'+ls_msg+'成功!',information!,OK!)
  7279. //日志
  7280. String ls_code,ls_opemp,ls_relcode
  7281. ls_code = dw_pageretr.Object.taskcode[pagerert_row]
  7282. ls_opemp = dw_pageretr.Object.u_saletask_opemp[pagerert_row]
  7283. ls_relcode = dw_pageretr.Object.u_saletask_relcode[pagerert_row]
  7284. f_setsysoplog('销售订单',ls_msg+',code:'+ls_code+',相关号码:'+ls_relcode+',建立人:'+ls_opemp,arg_msg,True)
  7285. //--
  7286. IF cur_status <> -1 THEN
  7287. dw_uc.DeleteRow(pagerert_row)
  7288. ELSE
  7289. wf_refresh_curuc(ll_scid,ll_taskid)
  7290. END IF
  7291. end event
  7292. type p_msg from w_publ_1ton_share_detail`p_msg within w_saletask
  7293. integer x = 5298
  7294. integer y = 204
  7295. end type
  7296. type p_help from w_publ_1ton_share_detail`p_help within w_saletask
  7297. integer x = 5486
  7298. integer y = 204
  7299. end type
  7300. type p_encl from w_publ_1ton_share_detail`p_encl within w_saletask
  7301. integer x = 5390
  7302. integer y = 204
  7303. end type
  7304. event p_encl::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  7305. String menustr
  7306. menustr = "Text=添加附件~tEvent=ue_fj_edit"
  7307. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  7308. menustr = menustr + "|" + "Text=-"
  7309. menustr = menustr + "|" + "Text=添加明细附件~tEvent=ue_fj_edit_mx"
  7310. menustr = menustr + "|" + "Text=查看明细附件~tEvent=ue_fj_view_mx"
  7311. menustr = menustr + "|" + "Text=产品附件另存为明细附件~tEvent=ue_fj_mx_add_p"
  7312. menustr = menustr + "|" + "Text=-"
  7313. menustr = menustr + "|" + "Text=打开副本~tEvent=ue_copyself"
  7314. IF Len(Trim(menustr)) <> 0 THEN
  7315. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  7316. dmPopupMenu.mf_BuildMenu(This, menustr)
  7317. dmPopupMenu.mf_PopMenu()
  7318. Destroy dmPopupMenu
  7319. END IF
  7320. end event
  7321. type p_other from w_publ_1ton_share_detail`p_other within w_saletask
  7322. integer x = 5582
  7323. integer y = 204
  7324. boolean originalsize = false
  7325. end type
  7326. event p_other::clicked;if sys_option_if_ljfieb = 0 then return
  7327. m_Dfc_Control_PopupMenu dmPopupMenu
  7328. string menustr
  7329. menustr="Text=订单交期确认~tEvent=ue_redate_ljfieb"
  7330. menustr=menustr + "|" + "Text=-"
  7331. menustr = menustr + "|" + "Text=查看电子商务记录~tEvent=ue_jdview_ljfieb"
  7332. menustr=menustr + "|" + "Text=-"
  7333. menustr = menustr + "|" + "Text=发送订单进度~tEvent=ue_send_jd_ljfieb"
  7334. if len(trim(menustr))<>0 then
  7335. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  7336. dmPopupMenu.mf_BuildMenu(This, menustr)
  7337. dmPopupMenu.mf_PopMenu()
  7338. Destroy dmPopupMenu
  7339. end if
  7340. end event
  7341. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_saletask
  7342. end type
  7343. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_saletask
  7344. end type
  7345. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_saletask
  7346. end type
  7347. type r_bar from w_publ_1ton_share_detail`r_bar within w_saletask
  7348. integer height = 172
  7349. end type
  7350. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_saletask
  7351. integer beginy = 300
  7352. integer endx = 3227
  7353. integer endy = 300
  7354. end type
  7355. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_saletask
  7356. integer beginy = 304
  7357. integer endx = 3227
  7358. integer endy = 304
  7359. end type
  7360. type ddlb_scid from uo_ddlb_scid within w_saletask
  7361. integer x = 919
  7362. integer y = 196
  7363. integer width = 549
  7364. integer height = 620
  7365. integer taborder = 50
  7366. boolean bringtotop = true
  7367. end type
  7368. event constructor;call super::constructor;cur_scid=this.uo_scid
  7369. cur_scid_arr = THIS.uo_scid_arr
  7370. end event
  7371. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  7372. cur_scid_arr = THIS.uo_scid_arr
  7373. parent.triggerevent("retrieve_pageretr")
  7374. end event
  7375. type st_2 from statictext within w_saletask
  7376. integer x = 741
  7377. integer y = 208
  7378. integer width = 178
  7379. integer height = 48
  7380. boolean bringtotop = true
  7381. integer textsize = -9
  7382. integer weight = 400
  7383. fontcharset fontcharset = gb2312charset!
  7384. fontpitch fontpitch = variable!
  7385. string facename = "宋体"
  7386. long textcolor = 33554432
  7387. long backcolor = 134217739
  7388. string text = "分 部"
  7389. alignment alignment = right!
  7390. boolean focusrectangle = false
  7391. end type
  7392. type st_3 from statictext within w_saletask
  7393. integer x = 1477
  7394. integer y = 208
  7395. integer width = 178
  7396. integer height = 48
  7397. boolean bringtotop = true
  7398. integer textsize = -9
  7399. integer weight = 400
  7400. fontcharset fontcharset = gb2312charset!
  7401. fontpitch fontpitch = variable!
  7402. string facename = "宋体"
  7403. long textcolor = 33554432
  7404. long backcolor = 134217739
  7405. string text = "状 态"
  7406. alignment alignment = right!
  7407. boolean focusrectangle = false
  7408. end type
  7409. type cbx_quote from checkbox within w_saletask
  7410. boolean visible = false
  7411. integer x = 2030
  7412. integer y = 176
  7413. integer width = 603
  7414. integer height = 60
  7415. boolean bringtotop = true
  7416. integer textsize = -9
  7417. integer weight = 400
  7418. fontcharset fontcharset = gb2312charset!
  7419. fontpitch fontpitch = variable!
  7420. string facename = "宋体"
  7421. long textcolor = 33554432
  7422. long backcolor = 134217739
  7423. string text = "双击明细选择报价单"
  7424. end type
  7425. event clicked;int li_quote
  7426. if this.checked then
  7427. li_quote = 1
  7428. cbx_list.Checked = FALSE
  7429. else
  7430. li_quote = 0
  7431. end if
  7432. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", string(li_quote))
  7433. end event
  7434. event constructor;Int li_quote
  7435. li_quote = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", '0'))
  7436. IF li_quote = 0 THEN
  7437. THIS.Checked = FALSE
  7438. ELSE
  7439. THIS.Checked = TRUE
  7440. cbx_list.Checked = FALSE
  7441. END IF
  7442. end event
  7443. type cbx_sc from checkbox within w_saletask
  7444. boolean visible = false
  7445. integer x = 3223
  7446. integer y = 76
  7447. integer width = 411
  7448. integer height = 84
  7449. boolean bringtotop = true
  7450. integer textsize = -9
  7451. integer weight = 400
  7452. fontcharset fontcharset = gb2312charset!
  7453. fontpitch fontpitch = variable!
  7454. string facename = "宋体"
  7455. long textcolor = 33554432
  7456. long backcolor = 67108864
  7457. string text = "保存默认排产"
  7458. end type
  7459. event clicked;int li_sc
  7460. if this.checked then
  7461. li_sc = 1
  7462. else
  7463. li_sc = 0
  7464. end if
  7465. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_sc", string(li_sc))
  7466. end event
  7467. event constructor;this.backcolor = 14215660
  7468. int li_sc
  7469. li_sc=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "li_sc", '0'))
  7470. if li_sc =0 then
  7471. this.checked=false
  7472. else
  7473. this.checked=true
  7474. end if
  7475. end event
  7476. type cbx_list from checkbox within w_saletask
  7477. boolean visible = false
  7478. integer x = 2030
  7479. integer y = 236
  7480. integer width = 603
  7481. integer height = 60
  7482. boolean bringtotop = true
  7483. integer textsize = -9
  7484. integer weight = 400
  7485. fontcharset fontcharset = gb2312charset!
  7486. fontpitch fontpitch = variable!
  7487. string facename = "宋体"
  7488. long textcolor = 33554432
  7489. long backcolor = 134217739
  7490. string text = "双击明细选择价格表"
  7491. end type
  7492. event clicked;int li_list
  7493. if this.checked then
  7494. li_list = 1
  7495. cbx_quote.Checked = FALSE
  7496. else
  7497. li_list = 0
  7498. end if
  7499. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_list", string(li_list))
  7500. end event
  7501. event constructor;IF NOT f_power_ind(1476) THEN
  7502. cbx_list.Enabled = FALSE
  7503. cbx_list.Checked = FALSE
  7504. cbx_list.Visible = FALSE
  7505. RETURN
  7506. END IF
  7507. Int li_list
  7508. li_list = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_list", '0'))
  7509. IF li_list = 0 THEN
  7510. THIS.Checked = FALSE
  7511. ELSE
  7512. THIS.Checked = TRUE
  7513. cbx_quote.Checked = FALSE
  7514. END IF
  7515. end event
  7516. type ddlb_status from uo_ddlb_status within w_saletask
  7517. integer x = 1682
  7518. integer y = 196
  7519. integer width = 338
  7520. integer height = 812
  7521. integer taborder = 90
  7522. boolean bringtotop = true
  7523. string item[] = {"[全部]","待审核[0]","待二审[4]","在进行[1]","已暂停[2]","已终止[3]","已完成[5]","手动完成[6]"}
  7524. end type
  7525. event selectionchanged;call super::selectionchanged;parent.triggerevent("retrieve_pageretr")
  7526. end event
  7527. event uof_getvalue;call super::uof_getvalue;cur_status = this.uo_status
  7528. end event
  7529. type cb_fhmx from commandbutton within w_saletask
  7530. integer x = 640
  7531. integer y = 2076
  7532. integer width = 315
  7533. integer height = 84
  7534. integer taborder = 130
  7535. boolean bringtotop = true
  7536. integer textsize = -9
  7537. integer weight = 400
  7538. fontcharset fontcharset = gb2312charset!
  7539. fontpitch fontpitch = variable!
  7540. string facename = "宋体"
  7541. boolean underline = true
  7542. string text = "发货"
  7543. end type
  7544. event clicked;cb_taskmx.Underline = False
  7545. cb_tcmx.Underline = False
  7546. cb_fhmx.Underline = True
  7547. cb_tsmx.Underline = False
  7548. cb_taskmx.weight = 400
  7549. cb_tcmx.weight = 400
  7550. cb_fhmx.weight = 700
  7551. cb_tsmx.weight = 400
  7552. cb_edit_tc.visible = false
  7553. dw_fhmx.BringToTop = True
  7554. ins_dw_select = 2
  7555. end event
  7556. type cb_tcmx from commandbutton within w_saletask
  7557. integer x = 320
  7558. integer y = 2076
  7559. integer width = 315
  7560. integer height = 84
  7561. integer taborder = 140
  7562. boolean bringtotop = true
  7563. integer textsize = -9
  7564. integer weight = 400
  7565. fontcharset fontcharset = gb2312charset!
  7566. fontpitch fontpitch = variable!
  7567. string facename = "宋体"
  7568. boolean underline = true
  7569. string text = "提成"
  7570. end type
  7571. event clicked;cb_taskmx.Underline = False
  7572. cb_tcmx.Underline = True
  7573. cb_fhmx.Underline = False
  7574. cb_tsmx.Underline = False
  7575. cb_taskmx.weight = 400
  7576. cb_tcmx.weight = 700
  7577. cb_fhmx.weight = 400
  7578. cb_tsmx.weight = 400
  7579. if sys_version = 802001 then
  7580. cb_edit_tc.visible = true
  7581. else
  7582. cb_edit_tc.visible = False
  7583. end if
  7584. dw_ywymx.BringToTop = True
  7585. dw_dhmx.BringToTop = True
  7586. ins_dw_select = 1
  7587. end event
  7588. type cb_taskmx from commandbutton within w_saletask
  7589. integer y = 2076
  7590. integer width = 315
  7591. integer height = 84
  7592. integer taborder = 140
  7593. boolean bringtotop = true
  7594. integer textsize = -9
  7595. integer weight = 700
  7596. fontcharset fontcharset = gb2312charset!
  7597. fontpitch fontpitch = variable!
  7598. string facename = "宋体"
  7599. boolean underline = true
  7600. string text = "订单明细"
  7601. end type
  7602. event clicked;cb_taskmx.Underline = True
  7603. cb_tcmx.Underline = False
  7604. cb_fhmx.Underline = False
  7605. cb_tsmx.Underline = False
  7606. cb_taskmx.weight = 700
  7607. cb_tcmx.weight = 400
  7608. cb_fhmx.weight = 400
  7609. cb_tsmx.weight = 400
  7610. cb_edit_tc.visible = false
  7611. dw_child.BringToTop = True
  7612. ins_dw_select = 0
  7613. end event
  7614. type cb_tsmx from commandbutton within w_saletask
  7615. integer x = 969
  7616. integer y = 2076
  7617. integer width = 315
  7618. integer height = 84
  7619. integer taborder = 140
  7620. boolean bringtotop = true
  7621. integer textsize = -9
  7622. integer weight = 400
  7623. fontcharset fontcharset = gb2312charset!
  7624. fontpitch fontpitch = variable!
  7625. string facename = "宋体"
  7626. boolean underline = true
  7627. string text = "投诉"
  7628. end type
  7629. event clicked;cb_taskmx.Underline = False
  7630. cb_fhmx.Underline = False
  7631. cb_taskmx.Underline = False
  7632. cb_tsmx.Underline = True
  7633. cb_taskmx.weight = 400
  7634. cb_fhmx.weight = 400
  7635. cb_taskmx.weight = 400
  7636. cb_tsmx.weight = 700
  7637. cb_edit_tc.visible = false
  7638. dw_tsmx.BringToTop = True
  7639. ins_dw_select = 3
  7640. end event
  7641. type cb_edit_tc from commandbutton within w_saletask
  7642. integer x = 1298
  7643. integer y = 2076
  7644. integer width = 315
  7645. integer height = 84
  7646. integer taborder = 140
  7647. boolean bringtotop = true
  7648. integer textsize = -9
  7649. integer weight = 400
  7650. fontcharset fontcharset = gb2312charset!
  7651. fontpitch fontpitch = variable!
  7652. string facename = "宋体"
  7653. string text = "编辑提成"
  7654. end type
  7655. event clicked;IF NOT f_power_ind(1725,sys_msg_pow) THEN
  7656. MessageBox(publ_operator,sys_msg_pow)
  7657. RETURN
  7658. END IF
  7659. Long scid,taskid
  7660. s_edit_index_tran s_tranf8
  7661. Long row,uc_relid,ll_scid
  7662. row = dw_pageretr.GetRow()
  7663. IF row <= 0 THEN
  7664. MessageBox('提示','请选择单据!',information!,OK!)
  7665. RETURN
  7666. END IF
  7667. ll_scid = dw_pageretr.Object.u_saletask_scid[row]
  7668. uc_relid = dw_pageretr.Object.taskid[row]
  7669. s_tranf8.b_long = ll_scid
  7670. s_tranf8.c_long = uc_relid
  7671. OpenWithParm(w_saletask_tc_edit,s_tranf8)
  7672. end event
  7673. type cb_fymx from commandbutton within w_saletask
  7674. integer x = 1623
  7675. integer y = 2076
  7676. integer width = 315
  7677. integer height = 84
  7678. integer taborder = 50
  7679. boolean bringtotop = true
  7680. integer textsize = -9
  7681. integer weight = 400
  7682. fontcharset fontcharset = gb2312charset!
  7683. fontpitch fontpitch = variable!
  7684. string facename = "宋体"
  7685. boolean underline = true
  7686. string text = "费用明细"
  7687. end type
  7688. event clicked;//cb_fhmx.Underline = False
  7689. //cb_fymx.Underline = True
  7690. //cb_bjmx.Underline = False
  7691. //
  7692. //cb_fhmx.weight = 400
  7693. //cb_fymx.weight = 700
  7694. //cb_bjmx.weight = 400
  7695. //
  7696. //dw_fymx.BringToTop = True
  7697. //ins_dw_select = 1
  7698. cb_taskmx.Underline = False
  7699. cb_tcmx.Underline = False
  7700. cb_fhmx.Underline = False
  7701. cb_tsmx.Underline = False
  7702. cb_fymx.Underline = true
  7703. cb_taskmx.weight = 400
  7704. cb_tcmx.weight = 400
  7705. cb_fhmx.weight = 700
  7706. cb_tsmx.weight = 400
  7707. cb_edit_tc.visible = false
  7708. dw_fymx.BringToTop = True
  7709. ins_dw_select = 4
  7710. end event
  7711. type dw_tsmx from u_dw_rbtnfilter within w_saletask
  7712. integer x = 1952
  7713. integer y = 2160
  7714. integer taborder = 40
  7715. boolean titlebar = true
  7716. string title = "投诉明细"
  7717. string dataobject = "dw_saletaskmx_tsmx"
  7718. boolean maxbox = true
  7719. boolean hscrollbar = true
  7720. boolean vscrollbar = true
  7721. boolean resizable = true
  7722. boolean hsplitscroll = true
  7723. boolean rbutton_setposition_use = true
  7724. end type
  7725. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
  7726. IF currentrow <= 0 THEN RETURN
  7727. This.SelectRow(currentrow,True)
  7728. end event
  7729. event doubleclicked;call super::doubleclicked;IF row > 0 THEN
  7730. String ls_code
  7731. Long ll_scid
  7732. ll_scid = 0 //THIS.Object.u_outware_scid[row]
  7733. ls_code = THIS.Object.billcode[row]
  7734. f_open_win(ll_scid,ls_code)
  7735. END IF
  7736. end event
  7737. type dw_fymx from u_dw_rbtnfilter within w_saletask
  7738. integer x = 1458
  7739. integer y = 2160
  7740. integer taborder = 30
  7741. boolean titlebar = true
  7742. string title = "费用明细"
  7743. string dataobject = "dw_saletask_itemmx_edit_1"
  7744. boolean maxbox = true
  7745. boolean hscrollbar = true
  7746. boolean vscrollbar = true
  7747. boolean resizable = true
  7748. boolean hsplitscroll = true
  7749. boolean rbutton_setposition_use = true
  7750. end type
  7751. event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
  7752. Parent.TriggerEvent('ue_add_fymx')
  7753. END IF
  7754. end event
  7755. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
  7756. IF currentrow <= 0 THEN RETURN
  7757. This.SelectRow(currentrow,True)
  7758. end event
  7759. event dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key')
  7760. String ls_itemcode,ls_itemname,ls_itemtype
  7761. Long ll_itemid
  7762. Long child_row
  7763. IF dw_edit_mode THEN
  7764. IF KeyDown(keydownarrow!) THEN
  7765. Long li_row
  7766. IF dw_fymx.GetRow() = dw_fymx.RowCount() THEN
  7767. Parent.TriggerEvent("insert_childrow_fymx")
  7768. END IF
  7769. ELSE
  7770. IF KeyDown(keyenter!) And Not KeyDown(keycontrol!) And Not KeyDown(keyshift!) THEN
  7771. IF dw_fymx.GetColumnName() = 'u_itemdef_itemcode' THEN
  7772. dw_fymx.AcceptText()
  7773. child_row = dw_fymx.GetRow()
  7774. ls_itemcode = dw_fymx.Object.u_itemdef_itemcode[child_row]
  7775. SELECT itemid,
  7776. itemname,
  7777. itemtype
  7778. INTO :ll_itemid,
  7779. :ls_itemname,
  7780. :ls_itemtype
  7781. FROM u_itemdef
  7782. Where itemcode = :ls_itemcode;
  7783. IF sqlca.SQLCode <> 0 THEN
  7784. Parent.TriggerEvent('ue_f11')
  7785. RETURN
  7786. END IF
  7787. dw_fymx.Object.u_itemdef_itemname[child_row] = ls_itemname
  7788. dw_fymx.Object.u_itemdef_itemtype[child_row] = ls_itemtype
  7789. dw_fymx.Object.u_outware_itemmx_itemid[child_row] = ll_itemid
  7790. dw_fymx.accepttext()
  7791. IF Key = keyenter! THEN
  7792. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  7793. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  7794. RETURN 1
  7795. END IF
  7796. ELSEIF dw_fymx.GetColumnName( ) = 'u_outware_itemmx_mxdscrp' And dw_fymx.GetRow() = dw_fymx.RowCount() THEN
  7797. Parent.TriggerEvent("insert_childrow_fymx")
  7798. RETURN 1
  7799. ELSE
  7800. IF Key = keyenter! THEN
  7801. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  7802. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  7803. RETURN 1
  7804. END IF
  7805. END IF
  7806. END IF
  7807. END IF
  7808. END IF
  7809. end event
  7810. event clicked;call super::clicked;IF row > 0 THEN
  7811. This.SelectRow(0,False)
  7812. This.SelectRow(row,True)
  7813. This.SetRow(row)
  7814. END IF
  7815. end event
  7816. event rbuttondown;call super::rbuttondown;IF Not dw_edit_mode THEN RETURN
  7817. m_dwchild_rbotton m_print
  7818. m_print = Create m_dwchild_rbotton
  7819. m_print.m_0.PopMenu(This.X + This.PointerX() + 50,This.Y + This.PointerY() + 50)
  7820. end event
  7821. type dw_fhmx from u_dw_rbtnfilter within w_saletask
  7822. integer x = 974
  7823. integer y = 2160
  7824. integer taborder = 30
  7825. boolean titlebar = true
  7826. string title = "发货明细"
  7827. string dataobject = "dw_saletaskmx_fhmx"
  7828. boolean maxbox = true
  7829. boolean hscrollbar = true
  7830. boolean vscrollbar = true
  7831. boolean resizable = true
  7832. boolean hsplitscroll = true
  7833. boolean rbutton_setposition_use = true
  7834. end type
  7835. event doubleclicked;call super::doubleclicked;IF row > 0 THEN
  7836. String ls_code
  7837. Long ll_scid
  7838. ll_scid = THIS.Object.u_outware_scid[row]
  7839. ls_code = THIS.Object.u_outware_outwarecode[row]
  7840. f_open_win(ll_scid,ls_code)
  7841. END IF
  7842. end event
  7843. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
  7844. IF currentrow <= 0 THEN RETURN
  7845. This.SelectRow(currentrow,True)
  7846. end event
  7847. type dw_dhmx from u_dw_rbtnfilter within w_saletask
  7848. integer x = 489
  7849. integer y = 2160
  7850. integer taborder = 40
  7851. boolean titlebar = true
  7852. string title = "订货明细"
  7853. string dataobject = "dw_saletaskmx_dhmx"
  7854. boolean maxbox = true
  7855. boolean hscrollbar = true
  7856. boolean vscrollbar = true
  7857. boolean resizable = true
  7858. boolean hsplitscroll = true
  7859. boolean rbutton_setposition_use = true
  7860. end type
  7861. event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
  7862. Parent.TriggerEvent('ue_add_fymx')
  7863. END IF
  7864. end event
  7865. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
  7866. IF currentrow <= 0 THEN RETURN
  7867. This.SelectRow(currentrow,True)
  7868. end event
  7869. type dw_ywymx from u_dw_rbtnfilter within w_saletask
  7870. integer y = 2160
  7871. integer taborder = 40
  7872. boolean titlebar = true
  7873. string title = "业务员明细"
  7874. string dataobject = "dw_saletaskmx_ywymx"
  7875. boolean maxbox = true
  7876. boolean hscrollbar = true
  7877. boolean vscrollbar = true
  7878. boolean resizable = true
  7879. boolean hsplitscroll = true
  7880. boolean rbutton_setposition_use = true
  7881. end type
  7882. event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
  7883. Parent.TriggerEvent('ue_add_fymx')
  7884. END IF
  7885. end event
  7886. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
  7887. IF currentrow <= 0 THEN RETURN
  7888. This.SelectRow(currentrow,True)
  7889. end event
  7890. type cbx_enamt_edit from checkbox within w_saletask
  7891. boolean visible = false
  7892. integer x = 3465
  7893. integer y = 8
  7894. integer width = 677
  7895. integer height = 80
  7896. boolean bringtotop = true
  7897. integer textsize = -9
  7898. integer weight = 400
  7899. fontcharset fontcharset = gb2312charset!
  7900. fontpitch fontpitch = variable!
  7901. string facename = "宋体"
  7902. long textcolor = 33554432
  7903. long backcolor = 134217739
  7904. string text = "录入金额计算单价"
  7905. end type
  7906. event clicked;IF THIS.Checked THEN
  7907. ii_enamt_edit = 1
  7908. this.weight = 700
  7909. this.textcolor = 255
  7910. ELSE
  7911. ii_enamt_edit = 0
  7912. this.weight = 400
  7913. this.textcolor = 0
  7914. END IF
  7915. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit))
  7916. IF ii_enamt_edit = 0 THEN
  7917. dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
  7918. dw_child.Modify('enamt_t.Color = 0')
  7919. ELSE
  7920. dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
  7921. dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
  7922. END IF
  7923. end event
  7924. event constructor;this.backcolor = 14215660
  7925. ii_enamt_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",'0'))
  7926. IF ii_enamt_edit = 1 THEN
  7927. THIS.Checked = TRUE
  7928. this.weight = 700
  7929. this.textcolor = 255
  7930. ELSE
  7931. THIS.Checked = FALSE
  7932. this.weight = 400
  7933. this.textcolor = 0
  7934. END IF
  7935. end event
  7936. type cbx_1 from checkbox within w_saletask
  7937. integer x = 2962
  7938. integer y = 212
  7939. integer width = 233
  7940. integer height = 60
  7941. boolean bringtotop = true
  7942. integer textsize = -9
  7943. integer weight = 400
  7944. fontcharset fontcharset = gb2312charset!
  7945. fontpitch fontpitch = variable!
  7946. string facename = "宋体"
  7947. long textcolor = 33554432
  7948. long backcolor = 134217739
  7949. string text = "全选"
  7950. end type
  7951. event clicked;Long i
  7952. dw_pageretr.SetRedraw(False)
  7953. FOR i = 1 To dw_pageretr.RowCount()
  7954. IF dw_pageretr.Object.u_saletask_status[i] <> 0 And &
  7955. dw_pageretr.Object.u_saletask_status[i] <> 1 And &
  7956. dw_pageretr.Object.u_saletask_status[i] <> 4 THEN
  7957. dw_pageretr.Object.ch[i] = 0
  7958. ELSE
  7959. IF Checked THEN
  7960. dw_pageretr.Object.ch[i] = 1
  7961. ELSE
  7962. dw_pageretr.Object.ch[i] = 0
  7963. END IF
  7964. END IF
  7965. NEXT
  7966. dw_pageretr.SetRedraw(True)
  7967. end event
  7968. type cbx_zk from checkbox within w_saletask
  7969. boolean visible = false
  7970. integer x = 4178
  7971. integer y = 8
  7972. integer width = 677
  7973. integer height = 80
  7974. boolean bringtotop = true
  7975. integer textsize = -9
  7976. integer weight = 400
  7977. fontcharset fontcharset = gb2312charset!
  7978. fontpitch fontpitch = variable!
  7979. string facename = "宋体"
  7980. long textcolor = 33554432
  7981. long backcolor = 134217739
  7982. string text = "录入金额计算折扣"
  7983. end type
  7984. event constructor;this.backcolor = 14215660
  7985. ii_enamt_edit_1 = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit_1",'0'))
  7986. IF ii_enamt_edit_1 = 1 THEN
  7987. THIS.Checked = TRUE
  7988. this.weight = 700
  7989. this.textcolor = 255
  7990. ELSE
  7991. THIS.Checked = FALSE
  7992. this.weight = 400
  7993. this.textcolor = 0
  7994. END IF
  7995. //this.y = cbx_enamt_edit.y
  7996. //this.x = 4921
  7997. //
  7998. end event
  7999. event clicked;this.backcolor = 14215660
  8000. IF THIS.Checked THEN
  8001. ii_enamt_edit_1 = 1
  8002. this.weight = 700
  8003. this.textcolor = 255
  8004. ELSE
  8005. ii_enamt_edit_1= 0
  8006. this.weight = 400
  8007. this.textcolor = 0
  8008. END IF
  8009. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit_1",String(ii_enamt_edit_1))
  8010. IF ii_enamt_edit_1 = 0 THEN
  8011. dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
  8012. dw_child.Modify('enamt_t.Color = 0')
  8013. ELSE
  8014. dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
  8015. dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
  8016. END IF
  8017. end event
  8018. type ddlb_1 from dropdownlistbox within w_saletask
  8019. integer x = 2464
  8020. integer y = 196
  8021. integer width = 480
  8022. integer height = 300
  8023. integer taborder = 100
  8024. boolean bringtotop = true
  8025. integer textsize = -9
  8026. integer weight = 400
  8027. fontcharset fontcharset = gb2312charset!
  8028. fontpitch fontpitch = variable!
  8029. string facename = "宋体"
  8030. long textcolor = 33554432
  8031. string text = "产品资料"
  8032. string item[] = {"产品资料","报价单"}
  8033. borderstyle borderstyle = stylelowered!
  8034. end type
  8035. event selectionchanged;string ls_text
  8036. int li_quote = 0, li_list=0
  8037. ls_text = this.text
  8038. if ls_text = '报价单' then
  8039. li_quote = 1
  8040. elseif ls_text = '价格表' then
  8041. li_list = 1
  8042. else
  8043. // 产品资料
  8044. end if
  8045. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", string(li_quote))
  8046. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "li_list", string(li_list))
  8047. end event
  8048. event constructor;Int li_list
  8049. Int li_quote
  8050. li_list = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_list", '0'))
  8051. li_quote = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "li_quote", '0'))
  8052. THIS.text = '产品资料'
  8053. IF li_quote = 0 THEN
  8054. ELSE
  8055. THIS.text ='报价单'
  8056. END IF
  8057. IF NOT f_power_ind(1476) THEN
  8058. RETURN
  8059. else
  8060. THIS.AddItem ('价格表')
  8061. END IF
  8062. IF li_list = 0 THEN
  8063. ELSE
  8064. THIS.text = '价格表'
  8065. END IF
  8066. end event
  8067. type st_4 from statictext within w_saletask
  8068. integer x = 2057
  8069. integer y = 208
  8070. integer width = 398
  8071. integer height = 48
  8072. boolean bringtotop = true
  8073. integer textsize = -9
  8074. integer weight = 400
  8075. fontcharset fontcharset = gb2312charset!
  8076. fontpitch fontpitch = variable!
  8077. string facename = "宋体"
  8078. long textcolor = 33554432
  8079. long backcolor = 134217739
  8080. string text = "双击明细行选择"
  8081. alignment alignment = right!
  8082. boolean focusrectangle = false
  8083. end type
  8084. type cbx_enamt_notax_edit from checkbox within w_saletask
  8085. boolean visible = false
  8086. integer x = 3465
  8087. integer y = 92
  8088. integer width = 677
  8089. integer height = 80
  8090. boolean bringtotop = true
  8091. integer textsize = -9
  8092. integer weight = 400
  8093. fontcharset fontcharset = gb2312charset!
  8094. fontpitch fontpitch = variable!
  8095. string facename = "宋体"
  8096. long textcolor = 33554432
  8097. long backcolor = 134217739
  8098. string text = "录入不含税单价"
  8099. end type
  8100. event clicked;IF THIS.Checked THEN
  8101. ii_enamt_notax_edit = 1
  8102. this.weight = 700
  8103. this.textcolor = 255
  8104. ELSE
  8105. ii_enamt_notax_edit = 0
  8106. this.weight = 400
  8107. this.textcolor = 0
  8108. END IF
  8109. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit))
  8110. wf_enamt_facechg()
  8111. end event
  8112. event constructor;this.backcolor = 14215660
  8113. ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0'))
  8114. IF ii_enamt_notax_edit = 1 THEN
  8115. THIS.Checked = TRUE
  8116. this.weight = 700
  8117. this.textcolor = 255
  8118. ELSE
  8119. THIS.Checked = FALSE
  8120. this.weight = 400
  8121. this.textcolor = 0
  8122. END IF
  8123. wf_enamt_facechg()
  8124. //
  8125. //this.y = cbx_enamt_edit.y
  8126. //this.x = cbx_enamt_edit.x + cbx_enamt_edit.width +10
  8127. end event
  8128. type st_cusbalc from statictext within w_saletask
  8129. integer x = 3474
  8130. integer y = 196
  8131. integer width = 1806
  8132. integer height = 92
  8133. boolean bringtotop = true
  8134. integer textsize = -9
  8135. integer weight = 400
  8136. fontcharset fontcharset = gb2312charset!
  8137. fontpitch fontpitch = variable!
  8138. string facename = "宋体"
  8139. long textcolor = 33554432
  8140. long backcolor = 134217739
  8141. string text = "客户信用额信息"
  8142. boolean focusrectangle = false
  8143. end type
  8144. event constructor;this.x = cbx_1.x + cbx_1.width + 300
  8145. end event
  8146. type st_cusbalc_sign from statictext within w_saletask
  8147. boolean visible = false
  8148. integer x = 3182
  8149. integer y = 196
  8150. integer width = 279
  8151. integer height = 76
  8152. boolean bringtotop = true
  8153. integer textsize = -11
  8154. integer weight = 700
  8155. fontcharset fontcharset = gb2312charset!
  8156. fontpitch fontpitch = variable!
  8157. string facename = "宋体"
  8158. long textcolor = 255
  8159. long backcolor = 134217739
  8160. string text = "超信用!"
  8161. boolean focusrectangle = false
  8162. end type
  8163. type cbx_auto_qty from checkbox within w_saletask
  8164. boolean visible = false
  8165. integer x = 4905
  8166. integer y = 8
  8167. integer width = 1015
  8168. integer height = 80
  8169. boolean bringtotop = true
  8170. integer textsize = -9
  8171. integer weight = 400
  8172. fontcharset fontcharset = gb2312charset!
  8173. fontpitch fontpitch = variable!
  8174. string facename = "宋体"
  8175. long textcolor = 33554432
  8176. long backcolor = 134217739
  8177. string text = "自动按数量和单价公式计算数量和单价"
  8178. end type
  8179. event clicked;this.backcolor = 14215660
  8180. long ll_auto_qty
  8181. IF THIS.Checked THEN
  8182. ll_auto_qty = 1
  8183. // this.weight = 700
  8184. this.textcolor = 255
  8185. //ddlb_weishu.visible=true //改成用单据功能
  8186. //st_weishu.visible=true
  8187. ELSE
  8188. ll_auto_qty= 0
  8189. // this.weight = 400
  8190. this.textcolor = 0
  8191. ddlb_weishu.visible=false
  8192. st_weishu.visible=false
  8193. END IF
  8194. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",String(ll_auto_qty))
  8195. end event
  8196. event constructor;this.backcolor = 14215660
  8197. long ll_auto_qty
  8198. ll_auto_qty = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",'0'))
  8199. IF ll_auto_qty = 1 THEN
  8200. THIS.Checked = TRUE
  8201. // this.weight = 700
  8202. this.textcolor = 255
  8203. //ddlb_weishu.visible=true //改成用单据功能
  8204. //st_weishu.visible=true
  8205. ELSE
  8206. THIS.Checked = FALSE
  8207. // this.weight = 400
  8208. this.textcolor = 0
  8209. ddlb_weishu.visible=false
  8210. st_weishu.visible=false
  8211. END IF
  8212. end event
  8213. type st_weishu from statictext within w_saletask
  8214. boolean visible = false
  8215. integer x = 4901
  8216. integer y = 92
  8217. integer width = 672
  8218. integer height = 68
  8219. boolean bringtotop = true
  8220. integer textsize = -9
  8221. integer weight = 400
  8222. fontcharset fontcharset = gb2312charset!
  8223. fontpitch fontpitch = variable!
  8224. string facename = "宋体"
  8225. long textcolor = 33554432
  8226. long backcolor = 134217739
  8227. string text = "自动计算数量保留小数位数"
  8228. boolean focusrectangle = false
  8229. end type
  8230. event constructor;this.backcolor = 14215660
  8231. end event
  8232. type ddlb_weishu from dropdownlistbox within w_saletask
  8233. boolean visible = false
  8234. integer x = 5586
  8235. integer y = 84
  8236. integer width = 251
  8237. integer height = 568
  8238. integer taborder = 100
  8239. boolean bringtotop = true
  8240. integer textsize = -9
  8241. integer weight = 400
  8242. fontcharset fontcharset = gb2312charset!
  8243. fontpitch fontpitch = variable!
  8244. string facename = "宋体"
  8245. long textcolor = 33554432
  8246. string text = "2"
  8247. string item[] = {"0","1","2","3","4","5"}
  8248. borderstyle borderstyle = stylelowered!
  8249. end type
  8250. event constructor;dec li_autobj
  8251. li_autobj = dec(f_ProfileString (sys_empid,dw_uc.DataObject, "weishu", '2'))
  8252. IF li_autobj > 0 THEN
  8253. This.Text = String(li_autobj)
  8254. ELSE
  8255. This.Text = String('2')
  8256. END IF
  8257. end event
  8258. event destructor;f_SetProfileString (sys_empid,dw_uc.DataObject, "weishu", String(this.text))
  8259. end event