12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117 |
- $PBExportHeader$w_outware_sale.srw
- forward
- global type w_outware_sale from w_publ_1ton_share_detail
- end type
- type ddlb_scid from uo_ddlb_scid within w_outware_sale
- end type
- type st_3 from statictext within w_outware_sale
- end type
- type st_2 from statictext within w_outware_sale
- end type
- type st_msg from statictext within w_outware_sale
- end type
- type cbx_ifmtrlware from checkbox within w_outware_sale
- end type
- type cbx_enamt_edit from checkbox within w_outware_sale
- end type
- type ddlb_status from uo_ddlb_status within w_outware_sale
- end type
- type cb_fhmx from commandbutton within w_outware_sale
- end type
- type cb_fymx from commandbutton within w_outware_sale
- end type
- type cb_bjmx from commandbutton within w_outware_sale
- end type
- type dw_bjmx from u_dw_rbtnfilter within w_outware_sale
- end type
- type dw_fymx from u_dw_rbtnfilter within w_outware_sale
- end type
- type cbx_packqty_cmpl from checkbox within w_outware_sale
- end type
- type cbx_enamt_notax_edit from checkbox within w_outware_sale
- end type
- type cb_scanbill from commandbutton within w_outware_sale
- end type
- type cbx_zk from checkbox within w_outware_sale
- end type
- type cb_new_scanbill from commandbutton within w_outware_sale
- end type
- type st_cusbalc from statictext within w_outware_sale
- end type
- type st_cusbalc_sign from statictext within w_outware_sale
- end type
- type cbx_all from checkbox within w_outware_sale
- end type
- end forward
- global type w_outware_sale from w_publ_1ton_share_detail
- integer width = 4581
- integer height = 2780
- string title = "销售发货单"
- boolean maxbox = true
- windowstate windowstate = maximized!
- long ls_powerid = 24665208
- boolean if_chkmtrlinfo = true
- event insert_childrow ( )
- event ue_priceaudit ( )
- event ue_cpriceaudit ( )
- event ue_importseleprice ( )
- event ue_cmpdi ( )
- event ue_di ( )
- event ue_importcusseleprice_his ( )
- event ue_importcusseleprice ( )
- event ue_cmpdi_all ( )
- event ue_di_auto ( )
- event ue_fj_edit ( )
- event ue_fj_view ( )
- event ue_cmpl_addqty ( )
- event ue_cmpl_qty ( )
- event ue_p_cmpl_qty ( )
- event ue_cmpl_status_qty ( )
- event ue_view_mxdscrp ( )
- event ue_p_formula_set ( )
- event ue_view_mxdscrp2 ( )
- event ue_ch_station ( )
- event ue_ch_outrepdef ( )
- event ue_ch_banktype ( )
- event ue_ch_money ( )
- event ue_csecpriceaudit ( )
- event ue_secpriceaudit ( )
- event ue_ch_dscrp ( )
- event ue_ch_rel_address ( )
- event ue_add_fymx ( )
- event insert_childrow_fymx ( )
- event ue_importlmsaleprice ( )
- event ue_ch_outtype ( )
- event ue_add_addqty ( )
- event ue_di_auto_del ( )
- event ue_ch_mtrlware ( )
- event ue_all_choice ( )
- event ue_allnot_choice ( )
- event ue_all_audit ( )
- event ue_allnot_audit ( )
- event ue_all_delete ( )
- event ue_p_rebate ( )
- event ue_fj_edit_mx ( )
- event ue_fj_mx_add ( )
- event ue_fj_mx_add_p ( )
- event ue_fj_view_mx ( )
- event ue_ch_dscrp2 ( )
- event ue_ch_dscrp3 ( )
- event ue_view_status ( long arg_row, string arg_status )
- event ue_view_mxdscrp3 ( )
- event ue_view_mxdscrp4 ( )
- event ue_cmpl_set0 ( )
- event ue_importcusseleprice_buchong ( )
- event ue_retrieve_fifo_cbmx ( )
- event ue_show_fifo_cbmx ( )
- event ue_ch_relstr_3 ( )
- event ue_set_tax ( )
- event ue_show_his_pricemx ( )
- event ue_retrieve_his_pricemx ( )
- event ue_mx_cmplnoallocqty ( )
- event ue_choose_mtrlware_plancode ( )
- event ue_create_bmstamt ( )
- event ue_bill_mod ( )
- event ue_cmpl_price ( )
- event ue_setprice_forformula ( )
- event retrieve_fjnum ( )
- event ue_all_c_secaudit ( integer arg )
- event ue_cmpl_tax ( )
- event ue_mod_outdate ( )
- event ue_price_mod ( )
- event ue_outware_choose ( )
- event ue_setqty_forformula ( )
- event ue_setqty_forformula_1 ( )
- event ue_setprice_forformula_1 ( )
- ddlb_scid ddlb_scid
- st_3 st_3
- st_2 st_2
- st_msg st_msg
- cbx_ifmtrlware cbx_ifmtrlware
- cbx_enamt_edit cbx_enamt_edit
- ddlb_status ddlb_status
- cb_fhmx cb_fhmx
- cb_fymx cb_fymx
- cb_bjmx cb_bjmx
- dw_bjmx dw_bjmx
- dw_fymx dw_fymx
- cbx_packqty_cmpl cbx_packqty_cmpl
- cbx_enamt_notax_edit cbx_enamt_notax_edit
- cb_scanbill cb_scanbill
- cbx_zk cbx_zk
- cb_new_scanbill cb_new_scanbill
- st_cusbalc st_cusbalc
- st_cusbalc_sign st_cusbalc_sign
- cbx_all cbx_all
- end type
- global w_outware_sale w_outware_sale
- type variables
- uo_outware_sale uo_ware
- uo_ljfieb uo_fieb
- uo_cusprice uo_cus_price
- long cur_scid //分店ID
- long cur_scid_arr[]
- int cur_editfocus=0 //1:新建2:修改
- string cur_outrepcode='' //当前供销编号
- long cur_flag= -1 //-1:全部,0仓库未审,1仓库已审核
- long cur_secflag= -1 //-1:全部,0财务未审
- long cur_priceflag= -1 //-1:全部,0未确认
- long flag= 0
- long secflag= 0
- long priceflag = 0
- string ol_cdw_str = ''
- long ifmtrlware = 0
- int ii_enamt_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
- int ii_enamt_edit_1 = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
- int ii_enamt_notax_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
- int ii_packqty_cmpl = 0
- //信用额管理
- Int cur_cusrepamtflag = 0
- String cur_cusrepamtstr = ''
- string cur_cusrepamtstr_show = '' //非编辑状态下 显示信息
-
- long ins_dw_select = 0
- long fy_column_int = 4 // 费用明细可修改的列数
- string old_rep_select=''//保留原有下拉sql
-
- end variables
- forward prototypes
- public function integer wf_flagstatus_rf ()
- public function integer wf_refresh_curuc (long arg_scid, long arg_wareid)
- public subroutine wf_check_billfj ()
- public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
- public function integer wf_saletaskmtrltoarr (long arg_scid, long arg_taskid, ref s_saletask_mtrl arg_s_rqmtrl, ref long arg_p_rqmtrl, ref string arg_msg)
- public function integer wf_autoaddmx (long arg_scid, long arg_saletaskid, string arg_taskcode, long arg_storageid, long arg_cusid, long arg_ifzeromtrlware, ref string arg_msg)
- public function integer wf_saletaskmtrltoarr_salemx (long arg_scid, ref s_saletask_mtrl arg_s_rqmtrl, ref string arg_msg)
- public function integer wf_autoaddmx_salemx (long arg_scid, s_saletask_mtrl arg_s_rqmtrli, long arg_storageid, long arg_cusid, long arg_ifzeromtrlware, ref string arg_msg)
- public function integer wf_refresh_interface ()
- public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
- public subroutine wf_cusbalc (long arg_scid, long arg_cusid, long arg_moneyid)
- public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid)
- public function integer wf_get_pricelist_price (long arg_pricelistid, long arg_moneyid, ref string arg_msg)
- public function integer wf_get_price (long arg_row)
- public function integer wf_get_mtrlwareid (long arg_row)
- public function integer wf_lock_child ()
- public subroutine wf_ue_f7 (s_saletask_ch s_saletask)
- public function integer wf_set_outwaremx_bk (long arg_cusid, long arg_storageid, s_saletask_mtrl arg_mx, string arg_msg)
- public function integer wf_set_outwaremx (long arg_scid, long arg_cusid, long arg_storageid, s_saletask_mtrl arg_mx, string arg_msg)
- public function integer wf_set_outware_itemmx (integer arg_scid, long arg_taskid)
- public function integer wf_change_cusid (long arg_cusid)
- public function integer wf_get_cusid (ref long arg_cusid)
- public subroutine wf_cusprice_mtrlware (ref s_mtrlware_noalloc_array ins_rt_stru)
- public subroutine wf_cusprice_in (s_mtrlware_noalloc_array ins_rt_stru)
- public subroutine wf_cusprice_mtrl (ref s_mtrldef_array ins_rt_stru)
- public subroutine wf_cusprice_in (s_mtrldef_array ins_rt_stru)
- public function integer wf_check_qtyandaddqty (ref string arg_msg)
- public function integer wf_enamt_facechg ()
- public function integer wf_ck_taobao (string arg_outwarecode)
- public subroutine wf_check_ware (long arg_scid, long arg_billid)
- public function string wf_check_sys_option_check_scanqty ()
- public function integer wf_get_pricelist_price_buchong (long arg_pricelistid, long arg_moneyid, ref string arg_msg)
- public subroutine wf_set_barcode ()
- public subroutine wf_cmpl_amt (long row)
- public subroutine wf_getcusrepamt_info_show (long arg_scid, long arg_cusid, long arg_moneyid)
- public subroutine wf_set_decimal_place ()
- public function decimal wf_sum_mxamt ()
- public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid)
- public subroutine wf_price (integer arg_row)
- public function integer wf_autoaddmx_rp (s_edit_index_tran arg_s_tran, ref string arg_msg)
- end prototypes
- event insert_childrow();long li_row
- li_row=dw_child.insertrow(0)
- dw_child.scrolltorow(li_row)
- dw_child.SetColumn ('u_mtrldef_mtrlcode')
- end event
- event ue_priceaudit();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- IF Not f_power_ind(491) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg
- Long pagerert_row
- String ls_taskcode
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF uo_ware.priceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],True,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
- IF f_billevent_trigger (104, 4, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- MessageBox('提示','确认成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row])
- end event
- event ue_cpriceaudit();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- return
- END IF
- IF NOT f_power_ind(1779) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF uo_ware.c_priceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- //日志
- Long ls_id
- String ls_code
- ls_id = dw_pageretr.Object.u_outware_outwareid[pagerert_row]
- ls_code = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
- f_setsysoplog('销售发货单','反确认,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
- //--
- MessageBox('提示','反确认成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row])
- end event
- event ue_importseleprice();IF NOT dw_edit_mode THEN
- MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!)
- RETURN
- END IF
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate,obj_rate
- String err_str = ''
- Boolean if_exist_price = TRUE
- Long ll_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- //直接查询价格表
- // IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN
- Open(w_sale_price_list_ch)
- s_pricelist = Message.PowerObjectParm
- IF s_pricelist.pricelistid <= 0 THEN RETURN
- ll_pricelistid = s_pricelist.pricelistid
- IF wf_get_pricelist_price(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- MessageBox('提示',arg_msg,information!,OK!)
- RETURN
- END IF
- //FOR ls_row = 1 TO dw_child.RowCount()
- // ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row]
- // ls_status = dw_child.Object.u_outwaremx_status[ls_row]
- // ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row]
- // ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row]
- // ls_unit = dw_child.Object.u_outwaremx_unit[ls_row]
- //
- // IF sys_option_price_if_status = 0 THEN
- // ls_status = ''
- // ls_pcode = ''
- // ls_woodcode = ''
- // END IF
- //
- // SELECT u_sale_price_mx.price
- // INTO :obj_price
- // FROM u_sale_price_mx
- // WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND
- // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
- // ( u_sale_price_mx.status = :ls_status ) AND
- // ( u_sale_price_mx.pcode = :ls_pcode ) AND
- // ( u_sale_price_mx.woodcode = :ls_woodcode ) AND
- // ( u_sale_price_mx.unit = :ls_unit);
- // IF sqlca.SQLCode <> 0 THEN
- // err_str = err_str + "当前价格表的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n"
- // ELSE
- // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price
- // END IF
- //NEXT
- //
- //
- //IF err_str <> '' THEN
- // MessageBox('提示',err_str,information!,OK!)
- //END IF
- end event
- event ue_cmpdi();Long ll_mtrlid,ll_storageid
- String ls_status_uc,arg_msg,arg_lsg
- Long uc_row,child_row
- Decimal ld_ref_qty
- dw_uc.AcceptText()
- uc_row = dw_pageretr.GetRow()
- child_row = dw_child.GetRow()
- if uc_row <= 0 then return
- if child_row <= 0 then return
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- ll_storageid = dw_pageretr.Object.u_outware_storageid[uc_row]
- ls_status_uc = dw_child.Object.u_outwaremx_status[child_row]
- IF ll_storageid <= 0 THEN
- MessageBox('提示','请选择仓库',information!,OK!)
- RETURN
- END IF
- IF f_cmp_di_qty(ll_mtrlid,ll_storageid,ls_status_uc,ld_ref_qty,arg_lsg,arg_msg) = 0 THEN
- MessageBox('错误','计算失败,'+arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示',arg_lsg,information!,OK!)
- END IF
- end event
- event ue_di();Long ll_row
- Long ll_mtrlwareid
- IF Not f_power_ind(288) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ll_row = dw_child.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择资料',information!,OK!)
- RETURN
- END IF
- ll_mtrlwareid = dw_child.Object.u_outwaremx_mtrlwareid[ll_row]
- s_edit_index_tran s_tran_open //翻页功能窗口 传递参数使用
- s_tran_open.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行
- s_tran_open.work_mode = 0 //0-单纯编辑模式, 1-选择模式
- s_tran_open.arg_pkid = 0 //目标定位PKID (备用)
- s_tran_open.arg_string_code = '' //查询列部分内容,用于初步筛选
- s_tran_open.d_long = 1
- s_tran_open.e_long = 0
- s_tran_open.e_string = '装'
- s_tran_open.f_long = ll_mtrlwareid
- OpenWithParm(w_dismantle_install,s_tran_open)
- end event
- event ue_importcusseleprice_his();// //导入客户历史售价
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate,obj_rate
- String err_str = ''
- Boolean if_exist_price = TRUE
- Long ls_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- uc_row = dw_uc.GetRow()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF dw_uc.Object.u_outware_cusid[uc_row] = 0 OR IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN
- MessageBox('提示',"请选择销售客户!",information!,OK!)
- RETURN
- END IF
- ls_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- ls_cuscode = dw_uc.Object.u_cust_cuscode[uc_row]
- ls_cusname = dw_uc.Object.u_cust_name[uc_row]
- IF dw_child.RowCount() <= 0 THEN
- MessageBox('提示',"请选择产品!",information!,OK!)
- RETURN
- END IF
- FOR ls_row = 1 TO dw_child.RowCount()
- ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row]
- ls_status = dw_child.Object.u_outwaremx_status[ls_row]
- ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row]
- ls_unit = dw_child.Object.u_outwaremx_unit[ls_row]
-
- IF f_getmtrlcusprice(ll_moneyid,ls_mtrlid,ls_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,obj_price,obj_rebate,obj_rate,arg_msg) <> 1 THEN
- err_str = err_str + "导入客户["+ls_cuscode+ls_cusname+"]的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的最新售价失败,或没有最新售价! ~n "
- ELSE
- dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price
- //dw_child.Object.u_outwaremx_rebate[ls_row] = obj_rebate
- dw_child.Object.u_outwaremx_rate[ls_row] = obj_rate
- END IF
- NEXT
- IF err_str <> '' THEN
- MessageBox('错误',err_str,stopsign!,OK!)
- END IF
- end event
- event ue_importcusseleprice();
- //查询客户价格表
- //如果客户无价格表则提示是否直接查询价格表
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate,obj_rate
- String err_str = ''
- Boolean if_exist_price = TRUE
- Long ll_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- uc_row = dw_uc.GetRow()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF dw_uc.Object.u_outware_cusid[uc_row] = 0 OR IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN
- MessageBox('提示',"请选择销售客户!",information!,OK!)
- RETURN
- END IF
- ls_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- SELECT u_cust.pricelistid INTO :ll_pricelistid FROM u_cust Where u_cust.cusid = :ls_cusid;
- IF sqlca.SQLCode <> 0 OR ll_pricelistid <= 0 THEN
- if_exist_price = FALSE
- END IF
- IF if_exist_price = FALSE THEN
- IF MessageBox('询问',"当前客户的计划售价尚未设定!是否查询价格列表?",Question!,YesNo!) = 2 THEN RETURN
- Open(w_sale_price_list_ch)
- s_pricelist = Message.PowerObjectParm
- IF s_pricelist.pricelistid <= 0 THEN RETURN
- ll_pricelistid = s_pricelist.pricelistid
- END IF
- IF wf_get_pricelist_price(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- MessageBox('提示',arg_msg,information!,OK!)
- RETURN
- END IF
- //FOR ls_row = 1 TO dw_child.RowCount()
- // ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row]
- // ls_status = dw_child.Object.u_outwaremx_status[ls_row]
- // ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row]
- // ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row]
- // ls_unit = dw_child.Object.u_outwaremx_unit[ls_row]
- //
- // IF sys_option_price_if_status = 0 THEN
- // ls_status = ''
- // ls_pcode = ''
- // ls_woodcode = ''
- // END IF
- //
- //
- // IF if_exist_price THEN //查询客户价格表
- // IF Not (IsNull(ls_mtrlid) OR ls_mtrlid = 0 ) THEN
- // SELECT u_sale_price_mx.price
- // INTO :obj_price
- // FROM u_sale_price_list ,u_cust,u_sale_price_mx
- // WHERE (u_sale_price_list.pricelistid = u_cust.pricelistid) AND
- // (u_sale_price_mx.pricelistid = u_sale_price_list.pricelistid) AND
- // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
- // ( u_cust.cusid = :ls_cusid ) AND
- // ( u_sale_price_mx.status = :ls_status ) AND
- // ( u_sale_price_mx.pcode = :ls_pcode ) AND
- // ( u_sale_price_mx.woodcode = :ls_woodcode ) and
- // ( u_sale_price_mx.unit = :ls_unit);
- // IF sqlca.SQLCode <> 0 THEN
- // err_str = err_str + "当前客户的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n"
- // ELSE
- // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price
- // END IF
- // END IF
- // ELSE //查询价格列表
- // SELECT u_sale_price_mx.price
- // INTO :obj_price
- // FROM u_sale_price_mx
- // WHERE ( u_sale_price_mx.pricelistid = :s_pricelist.pricelistid ) AND
- // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
- // ( u_sale_price_mx.status = :ls_status ) AND
- // ( u_sale_price_mx.pcode = :ls_pcode ) AND
- // ( u_sale_price_mx.woodcode = :ls_woodcode ) and
- // ( u_sale_price_mx.unit = :ls_unit);
- // IF sqlca.SQLCode <> 0 THEN
- // err_str = err_str + "当前价格表的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n"
- // ELSE
- // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price
- // END IF
- // END IF
- //NEXT
- //IF err_str <> '' THEN
- // MessageBox('错误',err_str,stopsign!,OK!)
- //END IF
- //
- end event
- event ue_cmpdi_all();Long ll_mtrlid,ll_storageid
- String ls_status_uc,arg_msg,arg_lsg
- Long uc_row,child_row
- Decimal ld_ref_qty
- dw_uc.AcceptText()
- uc_row = dw_pageretr.GetRow()
- child_row = dw_child.GetRow()
- if uc_row <= 0 then return
- if child_row <= 0 then return
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- ll_storageid = dw_pageretr.Object.u_outware_storageid[uc_row]
- ls_status_uc = dw_child.Object.u_outwaremx_status[child_row]
- ll_storageid = -1
- IF f_cmp_di_qty(ll_mtrlid,ll_storageid,ls_status_uc,ld_ref_qty,arg_lsg,arg_msg) = 0 THEN
- MessageBox('错误','计算失败,'+arg_msg,information!,OK!)
- ELSE
- MessageBox('提示',arg_lsg,information!,OK!)
- END IF
- end event
- event ue_di_auto();IF sys_option_outware_if_di <> 0 THEN
- MessageBox('提示','系统选项[084]已设置仓审自动组装,不能手动操作',information!,OK!)
- RETURN
- END IF
- IF Not f_power_ind(288) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Long ll_row,ll_ucrow, ll_j,ll_i,rslt = 1,it_mxt = 1,i
- String ls_mtrlcode, ls_plancode,ls_status,ls_woodcode,ls_pcode
- Long ls_mtrlwareid,ls_mtrlid,ls_storageid
- Dec ls_noallocqty,ls_planprice,ls_cost,ld_qty,ld_saleqty
- String arg_msg
- String ls_outwarecode
- String ls_reason
- Long ll_cnt
- ll_ucrow = dw_uc.GetRow()
- IF ll_ucrow <= 0 THEN
- MessageBox('系统提示','请先选择单据')
- RETURN
- END IF
- ls_outwarecode = dw_uc.Object.u_outware_outwarecode[ll_ucrow]
- ls_reason = '销售发货单:'+ls_outwarecode+'自动组装'
- ll_row = dw_child.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择资料',information!,OK!)
- RETURN
- END IF
- SELECT count(*)
- INTO :ll_cnt
- FROM u_dismantle_install
- WHERE reason = :ls_reason
- And billtype = 0;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询单据是否有自动组装失败!',information!,OK!)
- RETURN
- END IF
- IF ll_cnt > 0 THEN
- MessageBox('系统提示','当前单据已经有自动组装,不能重复组装!',information!,OK!)
- RETURN
- END IF
- s_edit_index_tran s_tran88
- s_tran.b_long = dw_uc.Object.u_outware_scid[ll_ucrow]
- s_tran.c_long = dw_uc.Object.u_outware_outwareid[ll_ucrow]
- s_tran.c_string = dw_uc.Object.u_outware_outwarecode[ll_ucrow]
- OpenWithParm(w_outware_sale_mx4di, s_tran)
- //uo_dismantle_install uo_ware_install
- //uo_ware_install = Create uo_dismantle_install
- //
- //FOR ll_j = 1 To dw_child.RowCount()
- // ls_mtrlwareid = dw_child.Object.u_outwaremx_mtrlwareid[ll_j]
- // ld_saleqty = dw_child.Object.u_outwaremx_qty[ll_j]
- //
- // SELECT u_mtrlware.mtrlwareid ,
- // u_mtrlware.mtrlid,
- // u_mtrlware.noallocqty,
- // u_mtrlware.planprice,
- // u_mtrlware.storageid,
- // u_mtrlware.plancode,
- // u_mtrlware.status,
- // u_mtrlware.woodcode,
- // u_mtrlware.pcode,
- // u_mtrldef.mtrlcode
- // INTO :ls_mtrlwareid,
- // :ls_mtrlid,
- // :ls_noallocqty,
- // :ls_planprice,
- // :ls_storageid,
- // :ls_plancode,
- // :ls_status,
- // :ls_woodcode,
- // :ls_pcode,
- // :ls_mtrlcode
- // FROM u_mtrldef,
- // u_mtrlware
- // WHERE ( u_mtrldef.mtrlid = u_mtrlware.mtrlid )
- // And ( u_mtrlware.mtrlwareid = :ls_mtrlwareid );
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = '第'+String(ll_j)+'行,查询物料库存信息失败.'+sqlca.SQLErrText
- // GOTO ext
- // END IF
- //
- // //计算组装结构
- // Long ll_SonMtrlid[]
- // String ls_pf_status[]
- // Decimal ld_Sonscale[]
- // String ls_mtrlname,ls_status_find
- // Decimal ld_noallocqty,ld_allqty,ld_maxqty
- //
- // DECLARE cur_pf CURSOR FOR
- // SELECT u_PrdPF.SonMtrlid,
- // u_PrdPF.Sonscale,
- // u_PrdPF.status
- // FROM u_PrdPF
- // Where u_PrdPF.mtrlid = :ls_mtrlid;
- //
- // OPEN cur_pf;
- // FETCH cur_pf Into :ll_SonMtrlid[it_mxt],:ld_Sonscale[it_mxt],:ls_pf_status[it_mxt];
- // DO WHILE sqlca.SQLCode = 0
- // it_mxt++
- // FETCH cur_pf Into :ll_SonMtrlid[it_mxt],:ld_Sonscale[it_mxt],:ls_pf_status[it_mxt];
- // LOOP
- // it_mxt = it_mxt - 1
- // CLOSE cur_pf;
- //
- // IF it_mxt = 0 THEN
- // rslt = 0
- // arg_msg = '第'+String(ll_j)+'行,该产品没有建立组装结构,不能计算'
- // GOTO ext
- // END IF
- //
- // ld_maxqty = 1000000
- // FOR ll_i = 1 To it_mxt
- // SELECT mtrlname INTO :ls_mtrlname
- // FROM u_mtrldef
- // Where mtrlid = :ll_SonMtrlid[ll_i];
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = '第'+String(ll_j)+'行,查询产品资料失败,'+sqlca.SQLErrText
- // GOTO ext
- // END IF
- //
- // IF sys_option_if_color = 1 THEN
- // ls_status_find = ls_status
- // ELSE
- // ls_status_find = ls_pf_status[ll_i]
- // END IF
- //
- // ld_noallocqty = 0
- // ld_allqty = 0
- // SELECT sum(noallocqty) INTO :ld_noallocqty
- // FROM u_mtrlware
- // WHERE storageid = :ls_storageid
- // AND mtrlid = :ll_SonMtrlid[ll_i]
- // And status = :ls_status_find;
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = '第'+String(ll_j)+'行,查询该产品组装材料'+ls_mtrlname+'的库存资料失败'
- // GOTO ext
- // END IF
- //
- // ld_allqty = ld_noallocqty/ld_Sonscale[ll_i]
- //
- // ld_maxqty = Min(ld_maxqty,ld_allqty)
- //
- // IF IsNull(ld_maxqty) THEN ld_maxqty = 0
- // NEXT
- // ld_qty = Truncate ( ld_maxqty, 0 )
- //
- // IF ld_saleqty > ld_qty THEN
- // rslt = 0
- // arg_msg = '第'+String(ll_j)+'行,产品没有足够的组装材料库存~n'+'发货单组装数量:'+String(ld_saleqty,'#,###0.##')+',库存最大可装数:'+String(ld_qty,'#,###0.##')
- // GOTO ext
- // END IF
- //
- // String mx_status,mx_woodcode,mx_plancode,mx_pcode,mx_mtrlcode
- // Dec mx_noallocqty,mx_cost
- // Long mx_mtrlwareid,mx_dxflag,mx_sptid
- //
- // IF uo_ware_install.newbegin(0,arg_msg) = 0 THEN //新建
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // uo_ware_install.billdate = DateTime(Today(),Now()) // 发生时间
- // uo_ware_install.rep = publ_operator // 经手人
- // uo_ware_install.dscrp = ls_reason //备注
- // uo_ware_install.reason = ls_reason
- // uo_ware_install.storageid = ls_storageid
- // uo_ware_install.mtrlid = ls_mtrlid
- // uo_ware_install.mtrlwareid = ls_mtrlwareid
- // uo_ware_install.status = ls_status
- // uo_ware_install.plancode = ls_pcode
- // uo_ware_install.woodcode = ls_woodcode
- // uo_ware_install.qty = ld_saleqty
- // uo_ware_install.addqty = 0
- // uo_ware_install.price = ls_planprice
- // uo_ware_install.buildtype = 0
- // uo_ware_install.mtrlcode = ls_mtrlcode
- //
- // FOR ll_i = 1 To it_mxt
- // IF sys_option_if_color = 1 THEN
- // ls_status_find = ls_status
- // ELSE
- // ls_status_find = ls_pf_status[ll_i]
- // END IF
- //
- // SELECT mtrlwareid,
- // status,
- // woodcode,
- // plancode,
- // pcode,
- // noallocqty,
- // cost = case u_mtrlware.noallocqty when 0 then 0 else u_mtrlware.wareamt/u_mtrlware.noallocqty END,
- // dxflag,
- // sptid,
- // mtrlcode
- // INTO :mx_mtrlwareid,
- // :mx_status,
- // :mx_woodcode,
- // :mx_plancode,
- // :mx_pcode,
- // :mx_noallocqty,
- // :mx_cost,
- // :mx_dxflag,
- // :mx_sptid,
- // :mx_mtrlcode
- // FROM u_mtrlware,u_mtrldef
- // WHERE u_mtrlware.mtrlid = u_mtrldef.mtrlid
- // AND u_mtrlware.mtrlid = :ll_SonMtrlid[ll_i]
- // AND u_mtrlware.storageid = :ls_storageid
- // And u_mtrlware.status = :ls_status_find;
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // arg_msg = '第'+String(ll_j)+'行,查询该产品组装材料的库存资料失败>>'+sqlca.SQLErrText
- // GOTO ext
- // END IF
- //
- // IF uo_ware_install.acceptmx(ll_i,&
- // ls_storageid,&
- // mx_mtrlwareid,&
- // ll_SonMtrlid[ll_i],&
- // ld_saleqty * ld_Sonscale[ll_i],&
- // 0,&
- // mx_cost,&
- // mx_status,&
- // mx_plancode,&
- // mx_woodcode,&
- // '',&
- // mx_mtrlcode,&
- // mx_pcode,&
- // mx_dxflag,&
- // mx_sptid,&
- // arg_msg,&
- // ld_Sonscale[ll_i]) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- // NEXT
- //
- // IF uo_ware_install.Save(arg_msg,False) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // IF uo_ware_install.getinfo(uo_ware_install.billid,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // IF uo_ware_install.auditing(publ_operator,False,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- // END IF
- //NEXT
- //
- //
- //ext:
- //IF rslt = 0 THEN
- // ROLLBACK Using sqlca;
- // MessageBox('错误',arg_msg,stopsign!,OK!)
- //ELSEIF rslt = 1 THEN
- // COMMIT Using sqlca;
- // MessageBox('提示','自动组装成功',information!,OK!)
- //END IF
- end event
- event ue_fj_edit();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用',information!,OK!)
- RETURN
- END IF
- //IF NOT f_power_ind(1098) THEN
- // MessageBox(publ_operator,sys_msg_pow)
- // RETURN
- //END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
- RETURN
- END IF
- s_pic.f_long = 104 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_mng,s_pic)
- wf_check_billfj()
- end event
- event ue_fj_view();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用',information!,OK!)
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
- RETURN
- END IF
- s_pic.f_long = 104 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_view,s_pic)
- end event
- event ue_cmpl_addqty();Int ll_flag
- Decimal ll_value
- long ll_num
- String ls_qty[]
- Decimal ld_qty
- Long i,j,k
- String ls_mtrlmode
- s_cmpl_addqty s_cmpl
- dw_child.AcceptText()
- IF dw_edit_mode THEN
- Open(w_cmpl_addqty_ch_sale)
- s_cmpl = Message.PowerObjectParm
- ll_flag = s_cmpl.flag
- ll_value = s_cmpl.addvalue
- ll_num = s_cmpl.num
- IF ll_value <= 0 THEN RETURN
- IF dw_child.RowCount() <= 0 THEN RETURN
- FOR i = 1 TO dw_child.RowCount()
-
- IF IsNull(ls_mtrlmode) THEN
- CONTINUE
- ELSE
- ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
- IF Pos(ls_mtrlmode,'*') = 0 THEN
- CONTINUE
- ELSE
- j = 0
- DO WHILE Pos(ls_mtrlmode,'*') > 0
- j++
- ls_qty[j] = Mid(ls_mtrlmode,1,Pos(ls_mtrlmode,'*') - 1)
- ls_mtrlmode = Mid(ls_mtrlmode,Pos(ls_mtrlmode,'*') + 1)
- LOOP
- j++
- ls_qty[j] = ls_mtrlmode
- END IF
-
- ld_qty = 1
- FOR k = 1 TO j
- ld_qty = ld_qty * Dec(ls_qty[k])
- NEXT
-
- IF ll_flag = 0 THEN
- dw_child.Object.u_outwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_outwaremx_uqty[i] * ll_value,ll_num)
- ELSE
- dw_child.Object.u_outwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_outwaremx_uqty[i] / ll_value,ll_num)
- END IF
- END IF
- NEXT
-
- END IF
- end event
- event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
- Long child_row
- Long uc_row
- Long li_cusid,li_mtrlid
- Decimal ld_cusprice
- uc_row = dw_uc.GetRow()
- li_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- s_cmpl_qty s_cmpl,s_return
- s_cmpl.qty = dw_child.Object.u_outwaremx_uqty[child_row]
- s_cmpl.formula = dw_child.Object.u_outwaremx_formula[child_row]
- s_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- s_cmpl.price = dw_child.Object.u_outwaremx_enprice[child_row]
- s_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
- s_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- s_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- s_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- s_cmpl.packqty = dw_child.Object.u_outwaremx_packqty[child_row]
- s_cmpl.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row]
- s_cmpl.mxdscrp2 = dw_child.Object.mxdscrp2[child_row]
- s_cmpl.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[child_row]
- s_cmpl.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[child_row]
- li_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- SELECT price
- INTO :ld_cusprice
- FROM u_cust
- INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- WHERE u_sale_price_mx.mtrlid = :li_mtrlid
- AND u_cust.cusid = :li_cusid;
- IF SQLCA.SQLCODE <> 0 THEN
- ld_cusprice = 0
- END IF
- s_cmpl.cusprice = ld_cusprice
- IF NOT IsValid(w_cmpl_qty_ch) THEN
- OpenWithParm(w_cmpl_qty_ch,s_cmpl)
- s_return = Message.PowerObjectParm
- IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
- dw_child.Object.u_outwaremx_uqty[child_row] = s_return.qty
- dw_child.Object.u_outwaremx_formula[child_row] = s_return.formula
- END IF
- END IF
- end event
- event ue_p_cmpl_qty();IF not dw_edit_mode THEN return
- IF dw_child.RowCount() = 0 THEN RETURN
- Long i
- String ls_formula
- String ls_msg
- String ls_rs
- String ls_num
- Decimal ld_addqty
- Decimal ld_price
- Decimal ld_rebate
- Decimal ld_qty
- dw_child.AcceptText()
- s_cmpl_qty s_cmpl
- Open(w_cmpl_qty_ch_son)
- s_cmpl = Message.PowerObjectParm
- dw_uc.SetRedraw(FALSE)
- FOR i = 1 TO dw_child.RowCount()
- ld_qty = 0
- IF dw_child.Object.u_outwaremx_formula[i] <> '' THEN
- s_cmpl.formula = dw_child.Object.u_outwaremx_formula[i]
- s_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[i]
- s_cmpl.price = dw_child.Object.u_outwaremx_enprice[i]
- s_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[i]
-
- s_cmpl.status = dw_child.Object.u_outwaremx_status[i]
- s_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[i]
- s_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[i]
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
-
- IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
- MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! )
- GOTO ext
- END IF
- dw_child.Object.u_outwaremx_uqty[i] = ld_qty
- dw_child.Object.u_outwaremx_saleqty[i] = ld_qty
- END IF
- NEXT
- ext:
- if sys_option_outware_if_saleqty = 0 then
- dw_child.SetColumn('u_outwaremx_uqty')
- else
- dw_child.SetColumn('u_outwaremx_saleqty')
- end if
- dw_uc.SetRedraw(TRUE)
- end event
- event ue_cmpl_status_qty();Int ll_flag
- Decimal ll_value
- Long ll_num
- Long i,j,k
- String ls_mtrlmode
- String ls_status
- Decimal ld_qty
- Decimal ld_addqty
- String ls_msg
- Long ll_type
- s_cmpl_addqty s_cmpl
- dw_child.AcceptText()
- dw_uc.SetRedraw(FALSE)
- IF dw_edit_mode THEN
- Open(w_cmpl_status_qty_ch)
- s_cmpl = Message.PowerObjectParm
- ll_flag = s_cmpl.flag
- ll_value = s_cmpl.addvalue
- ll_num = s_cmpl.num
- ll_type = s_cmpl.cmptype
- IF ll_value <= 0 THEN RETURN
- IF dw_child.RowCount() <= 0 THEN RETURN
- FOR i = 1 TO dw_child.RowCount()
- ld_addqty = dw_child.Object.u_outwaremx_addqty[i]
-
- CHOOSE CASE ll_type
- CASE 0
- ls_status = dw_child.Object.u_outwaremx_status[i]
- CASE 1
- ls_status = dw_child.Object.u_outwaremx_woodcode[i]
- CASE 2
- ls_status = dw_child.Object.u_outwaremx_pcode[i]
- CASE 3
- ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
- CASE 4
- ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
- END CHOOSE
-
- IF ld_addqty = 0 OR ls_status = '' THEN
-
- ELSE
- ld_qty = 0
- IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
- MessageBox('错误',ls_msg,stopsign!,OK!)
- GOTO ext
- END IF
-
- IF ll_flag = 0 THEN
- dw_child.Object.u_outwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num)
- ELSE
- dw_child.Object.u_outwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num)
- END IF
- END IF
- NEXT
-
- END IF
- ext:
- dw_uc.SetRedraw(TRUE)
- end event
- event ue_view_mxdscrp();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_outwaremx_mxdscrp[dw_child.GetRow()]
- s_view.Title = '销售发货单明细备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_outwaremx_mxdscrp[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN
- RETURN
- END IF
- Long ll_i
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 1 TO dw_child.RowCount()
- IF ll_i = 1 THEN CONTINUE
- dw_child.Object.u_outwaremx_formula[ll_i] = dw_child.Object.u_outwaremx_formula[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_view_mxdscrp2();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.mxdscrp2[dw_child.GetRow()]
- s_view.Title = '销售发货单明细备注2'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.mxdscrp2[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_ch_station();IF dw_edit_mode THEN
-
- Long ll_row
- s_station s_station_2
- String arg_msg
-
- dw_uc.AcceptText()
- ll_row = dw_uc.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请先选择客户',information!,OK!)
- RETURN
- END IF
-
- IF NOT IsValid(w_station_edit) THEN
- s_edit_index_tran s_ch_tran
- s_ch_tran.if_retrieve_all = FALSE
- s_ch_tran.work_mode = 1
- s_ch_tran.arg_pkid = 0
- s_ch_tran.arg_string_code = ''
- s_ch_tran.if_select_all = FALSE
-
- OpenWithParm(w_station_edit,s_ch_tran) //调用
-
- s_station_2 = Message.PowerObjectParm //接受返回结构
-
- IF s_station_2.stationid = 0 THEN RETURN
- dw_uc.Object.u_outware_relstr_1[ll_row] = s_station_2.stationname
- dw_uc.Object.u_outware_relstr_2[ll_row] = s_station_2.tele
- dw_uc.Object.u_outware_relstr_3[ll_row] = s_station_2.address
- END IF
- END IF
- end event
- event ue_ch_outrepdef();IF NOT IsValid(w_outrepdef_edit_ch) THEN
- OPEN(w_outrepdef_edit_ch)
- s_outrepdef s_outrep_ch
- s_outrep_ch = Message.PowerObjectParm
- IF s_outrep_ch.outrepname <> '' THEN
- dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = s_outrep_ch.outrepname
- END IF
- END IF
- end event
- event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN
- s_edit_index_tran s_open //传递参数使用
- s_open.work_mode = 1
- s_open.c_long = 0
- Openwithparm(w_banktype_edit_ch, s_open)
- s_banktype s_ch
- s_ch = Message.PowerObjectParm
- IF s_ch.banktypeid > 0 THEN
- dw_uc.Object.u_outware_relint_1[dw_uc.GetRow()] = s_ch.banktypeid
- END IF
-
- datawindowchild childdw
- dw_uc.GetChild("u_outware_relint_1",childdw)
- childdw.SetTransObject (sqlca)
- childdw.Retrieve()
- END IF
- end event
- event ue_ch_money();IF NOT IsValid(w_currency_edit_ch) THEN
- Open(w_currency_edit_ch)
- s_currency s_ch
- s_ch = Message.PowerObjectParm
- IF s_ch.moneyid > 0 THEN
- dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] = s_ch.moneyid
- dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = s_ch.rate
- END IF
-
- datawindowchild childdw
- dw_uc.GetChild("u_outware_relint_2",childdw)
- childdw.SetTransObject (sqlca)
- childdw.Retrieve()
- END IF
- end event
- event ue_csecpriceaudit();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- return
- END IF
- IF NOT f_power_ind(1633) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF uo_ware.c_secpriceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- //日志
- Long ls_id
- String ls_code
- ls_id = dw_pageretr.Object.u_outware_outwareid[pagerert_row]
- ls_code = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
- f_setsysoplog('销售发货单','反回单,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
- //--
- MessageBox('提示','反回单成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row])
- end event
- event ue_secpriceaudit();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- return
- END IF
- IF NOT f_power_ind(1632) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF uo_ware.secpriceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- MessageBox('提示','回单成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row])
- end event
- event ue_ch_dscrp();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_outware_dscrp[dw_uc.GetRow()]
- s_view.Title = '销售发货单备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_outware_dscrp[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_ch_rel_address();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()]
- s_view.Title = '客户地址'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_add_fymx();//用于选择明细内容,被f8[默认]\dw_fymx.doubleclicked调用
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.GetRow() <= 0 THEN
- MessageBox('系统提示','请先选择单据')
- RETURN
- END IF
- Long child_row
- Long ls_cusid,ll_moneyid
- Decimal ld_mrate
- Long ls_j
- s_edit_index_tran s_tran88
- child_row = dw_fymx.GetRow()
- IF Not IsValid(w_itemdef_ch) THEN
-
- This.Enabled = False
- s_tran88.work_mode = 1
-
- Openwithparm(w_itemdef_ch, s_tran88) //调用
- This.Enabled = True
-
- s_itemdef s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
-
- dw_fymx.SetRedraw(False)
- IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值
-
- IF dw_fymx.Find('u_outware_itemmx_itemid = '+String(s_inscust.itemid),1,dw_fymx.RowCount()) > 0 THEN
- dw_fymx.SetRedraw(True)
- dw_fymx.SetFocus()
- RETURN
- END IF
-
- IF dw_fymx.GetRow() > 0 THEN
- IF dw_fymx.Object.u_outware_itemmx_itemid[child_row] <> 0 THEN
- child_row = dw_fymx.InsertRow (0)
- ELSE
- child_row = dw_fymx.GetRow()
- END IF
- ELSE
- child_row = dw_fymx.InsertRow (0)
- END IF
-
- dw_fymx.Object.u_outware_itemmx_itemid[child_row] = s_inscust.itemid
- dw_fymx.Object.u_itemdef_itemcode[child_row] = s_inscust.itemcode
- dw_fymx.Object.u_itemdef_itemname[child_row] = s_inscust.itemname
- dw_fymx.Object.u_itemdef_itemtype[child_row] = s_inscust.itemtype
- dw_fymx.Object.u_outware_itemmx_itype[child_row] = s_inscust.itemflag
- dw_fymx.SetColumn('u_outware_itemmx_amt')
- END IF
-
- dw_fymx.SetRedraw(True)
- dw_fymx.SetFocus()
- END IF
- end event
- event insert_childrow_fymx();Long li_row
- li_row = dw_fymx.InsertRow(0)
- dw_fymx.ScrollToRow(li_row)
- dw_fymx.SetColumn ('u_itemdef_itemcode')
- end event
- event ue_importlmsaleprice();// //导入设定售价
- Long ls_row,ls_cusid,ll_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate,obj_rate
- String err_str = ''
- Boolean if_exist_price = True
- Long ls_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- uc_row = dw_uc.GetRow()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF dw_uc.Object.u_outware_cusid[uc_row] = 0 Or IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN
- MessageBox('提示',"请选择销售客户!",information!,OK!)
- RETURN
- END IF
- ls_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- ls_cuscode = dw_uc.Object.u_cust_cuscode[uc_row]
- ls_cusname = dw_uc.Object.u_cust_name[uc_row]
- IF dw_child.RowCount() <= 0 THEN
- MessageBox('提示',"请选择产品!",information!,OK!)
- RETURN
- END IF
- FOR ls_row = 1 To dw_child.RowCount()
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row]
-
- SELECT lmsaleprice
- INTO :obj_price
- FROM u_mtrldef
- Where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- obj_price = 0
- END IF
-
- obj_rebate = 1
-
- dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price
- dw_child.Object.u_outwaremx_rebate[ls_row] = obj_rebate
- NEXT
- IF err_str <> '' THEN
- MessageBox('错误',err_str,stopsign!,OK!)
- END IF
- end event
- event ue_ch_outtype();IF Not dw_edit_mode THEN RETURN
- Long child_row
- Long ls_outtypeid
- child_row = dw_child.GetRow()
- IF child_row <= 0 THEN RETURN
- IF Not IsValid(w_outtype_edit) THEN
- Open(w_outtype_edit)
- ls_outtypeid = Message.DoubleParm
-
- datawindowchild childdw
- dw_child.GetChild("u_outwaremx_outtype",childdw)
- childdw.SetTransObject (sqlca)
- IF childdw.Retrieve() = 0 THEN
- childdw.InsertRow(0)
- END IF
-
- IF ls_outtypeid = 0 THEN RETURN
- dw_child.Object.u_outwaremx_outtype[child_row] = ls_outtypeid
- dw_child.SetFocus()
- END IF
- end event
- event ue_add_addqty();IF NOT dw_edit_mode THEN RETURN
- IF flag = 1 THEN RETURN
- Long child_row
- Int if_addmxdscrp
- String ls_mxdscrp
- s_addqty_input s_input
- dw_child.AcceptText( )
- child_row = dw_child.GetRow()
- IF child_row <= 0 THEN RETURN
- IF dw_child.Object.u_outwaremx_mtrlid[child_row] <= 0 THEN RETURN
- ls_mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row]
- IF NOT IsValid(w_addqty_input) THEN
- OpenWithParm(w_addqty_input,ls_mxdscrp)
-
- s_input = Message.PowerObjectParm
-
- IF s_input.addqty = -1 THEN RETURN
-
- dw_child.Object.u_outwaremx_addqty[child_row] = s_input.addqty
-
- IF s_input.addqtystr <> '' THEN
- dw_child.Object.u_outwaremx_mxdscrp[child_row] = s_input.addqtystr
- END IF
-
- IF s_input.formula <> '' THEN
- dw_child.Object.u_outwaremx_formula[child_row] = s_input.formula
- END IF
-
- IF s_input.flag = 1 THEN
- dw_child.Object.u_outwaremx_saleqty[child_row] = s_input.qty
- dw_child.Object.u_outwaremx_uqty[child_row] = s_input.qty
- END IF
-
- END IF
- end event
- event ue_di_auto_del();IF sys_option_outware_if_di <> 0 THEN
- MessageBox('提示','系统选项[084]已设置仓审自动组装,不能手动操作',information!,OK!)
- RETURN
- END IF
- IF Not f_power_ind(288) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- IF MessageBox('提示','是否确定要删除相应组装单?',question!,YesNo!) = 2 THEN return
- Long ll_ucrow, ll_j,rslt = 1
- String arg_msg
- String ls_outwarecode
- String ls_reason
- Long ll_cnt
- long ll_billid, ll_billid_arr[]
- string ls_billcode, ls_billcode_arr[]
- ll_ucrow = dw_uc.GetRow()
- IF ll_ucrow <= 0 THEN
- MessageBox('系统提示','请先选择单据')
- RETURN
- END IF
- ls_outwarecode = dw_uc.Object.u_outware_outwarecode[ll_ucrow]
- ls_reason = '销售发货单:'+ls_outwarecode+'自动组装'
- uo_dismantle_install uo_ware_install
- uo_ware_install = Create uo_dismantle_install
- //uo_ware_install.sysautobuild = true
- //读取单据
- DECLARE cur_getdi CURSOR FOR
- SELECT billid , billcode
- FROM u_dismantle_install
- WHERE billtype = 0
- AND reason = :ls_reason
- Using sqlca;
- OPEN cur_getdi;
- DO WHILE sqlca.SQLCode = 0
- FETCH cur_getdi Into :ll_billid, :ls_billcode;
- IF sqlca.SQLCode <> 0 THEN EXIT
- ll_cnt++
- ll_billid_arr[ll_cnt] = ll_billid
- ls_billcode_arr[ll_cnt] = ls_billcode
- LOOP
- CLOSE cur_getdi;
- FOR ll_j = 1 To ll_cnt
- IF uo_ware_install.getinfo(ll_billid_arr[ll_j],arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF uo_ware_install.c_auditing(False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF uo_ware_install.del(ll_billid_arr[ll_j],False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- NEXT
- ext:
- destroy uo_ware_install
- IF rslt = 0 THEN
- ROLLBACK Using sqlca;
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSEIF rslt = 1 THEN
- COMMIT Using sqlca;
- MessageBox('提示','删除自动组装成功',information!,OK!)
- END IF
- end event
- event ue_ch_mtrlware();//用于选择订单的库存id\dw_child.doubleclicked调用
- If Not dw_edit_mode Then Return
- If dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 Then Return
- If flag = 1 Then Return
- Long child_row,ll_storageid = 0, select_cnt
- Long ll_moneyid
- dw_uc.AcceptText()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- If ll_moneyid = 0 Or IsNull(ll_moneyid) Then
- MessageBox('提示','请先选择币种',information!,OK!)
- Return
- End If
- ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- If ll_storageid = 0 Or IsNull(ll_storageid) Then
- MessageBox('提示','请先选择仓库',information!,OK!)
- Return
- End If
- Int li_if_cus_mtrlware,li_inwaretype
- Select balctype ,
- inwaretype
- Into :li_if_cus_mtrlware,
- :li_inwaretype
- From u_storage
- Where storageid = :ll_storageid;
- If sqlca.SQLCode <> 0 Then
- MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!)
- Return
- End If
- Long ls_null
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.b_long = 0
- Long chc = 1,ls_j,ll_cusid
- SetNull(ls_null)
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- If IsNull(ll_cusid) Or ll_cusid = 0 Then
- This.TriggerEvent("ue_f9")
- End If
- child_row = dw_child.GetRow()
- If child_row <= 0 Then
- MessageBox('错误','请选择按订单的明细行',stopsign!,OK!)
- Return
- End If
- dw_uc.AcceptText()
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- If li_if_cus_mtrlware = 1 Then
- s_tranf8.c_long = ll_cusid
- Else
- s_tranf8.c_long = -1
- End If
- If li_inwaretype = 3 Then //批号类型
- s_tranf8.f_long = 1
- Else
- s_tranf8.f_long = 0
- End If
- If Not IsValid(w_mtrlware_storageid_ch_outware_sale_ml) Then
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.d_long = ll_storageid
- s_tranf8.e_long = dw_child.Object.u_outwaremx_mtrlid[child_row]
- s_tranf8.c_string = dw_child.Object.u_outwaremx_status[child_row]
- s_tranf8.d_string = dw_child.Object.u_outwaremx_woodcode[child_row]
- s_tranf8.e_string = dw_child.Object.u_outwaremx_pcode[child_row]
- s_tranf8.f_string = dw_child.Object.u_outwaremx_plancode[child_row] //批号
-
-
- dw_child.AcceptText()
- If dw_child.GetRow() > 0 Then s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- OpenWithParm(w_mtrlware_storageid_ch_outware_sale_ml,s_tranf8)
-
- s_mtrlware_noalloc_array S_INSCUST
- S_INSCUST = Message.PowerObjectParm
-
- For ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
- If S_INSCUST.mtrlwareid[ls_j] > 0 Then
- select_cnt++
- If select_cnt > 1 Then
- //child_row = 0
- dw_child.RowsCopy (child_row,child_row,Primary!,dw_child,child_row+1,Primary!)
- child_row += 1
- End If
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
- dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
- If select_cnt = 1 Then
-
- Else
- dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- dw_child.Object.u_outwaremx_uqty[child_row] = 0 //S_INSCUST.noallocqty[ls_j] - S_INSCUST.noauditingqty[ls_j]
- End If
- dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST.planprice[ls_j]
- dw_child.Object.u_outwaremx_storageid[child_row] = S_INSCUST.storageid[ls_j]
- dw_child.Object.u_outwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j]
- dw_child.Object.u_outwaremx_dxflag[child_row] = S_INSCUST.dxflag[ls_j]
-
- dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST.status[ls_j]
- dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
- dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
-
- dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
-
-
- Decimal lde_rate
- f_find_unitrate(S_INSCUST.mtrlid[ls_j], S_INSCUST.u_mtrldef_unit[ls_j], lde_rate)
- dw_child.Object.u_outwaremx_rate[child_row] = lde_rate
- //
- // //查询单价
- // wf_get_price(child_row)
- //
- // dw_child.Object.u_mtrldef_curware_qty[child_row] = S_INSCUST.noallocqty[ls_j]
- // dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null
- // dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null
- // dw_child.Object.u_outwaremx_addqty[child_row] = S_INSCUST.noallocaddqty[ls_j]
-
- End If
- Next
- End If
- If sys_option_outware_if_saleqty = 0 Then
- dw_child.SetColumn('u_outwaremx_uqty')
- Else
- dw_child.SetColumn('u_outwaremx_saleqty')
- End If
- dw_child.SetRedraw(True)
- dw_child.SetFocus()
- ////////////////////////////////// //
- end event
- event ue_all_choice();Long i
- FOR i = 1 To dw_pageretr.RowCount()
-
- dw_pageretr.Object.if_ch[i] = 1
-
- NEXT
- cbx_all.checked = true
- end event
- event ue_allnot_choice();Long i
- FOR i = 1 To dw_pageretr.RowCount()
-
- dw_pageretr.Object.if_ch[i] = 0
- NEXT
- cbx_all.checked = false
-
- end event
- event ue_all_audit();Long ll_billid,ll_scid,li_flag,li_secflag,ll_i,ll_fail
- String arg_msg,arg_msg1,ls_taskcode
- IF Not (f_power_ind(65) Or f_power_ind(369)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
- FOR ll_i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.if_ch[ll_i] = 0 THEN CONTINUE
-
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[ll_i] + " 正在审核..." //进度信息
-
- ll_billid = dw_pageretr.Object.u_outware_outwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_outware_scid[ll_i]
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.secflag[ll_i]
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[ll_i]
-
- IF li_flag = 0 And li_secflag = 0 THEN //仓审
-
-
- IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
- ll_fail++
- arg_msg1=arg_msg1 + ' ' + ls_taskcode
- CONTINUE
- END IF
- IF uo_ware.auditing(True,arg_msg) = 0 THEN
- ll_fail++
- arg_msg1=arg_msg1 + ' ' + ls_taskcode
- CONTINUE
- END IF
-
-
- END IF
- w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- Close(w_sys_wait_jdt)
- if ll_fail<>0 then
- MessageBox('提示','审核失败数 '+string(ll_fail) + ' '+ '失败单号:' + arg_msg1 ,information!,OK!)
- end if
- This.TriggerEvent('retrieve_pageretr')
- end event
- event ue_allnot_audit();Long ll_billid,ll_scid,li_flag,li_secflag,ll_i,ll_fail
- String arg_msg,arg_msg1,ls_taskcode
- IF Not (f_power_ind(869) Or f_power_ind(868) ) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
- FOR ll_i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.if_ch[ll_i] = 0 THEN CONTINUE
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[ll_i] + " 正在撤审..." //进度信息
-
- ll_billid = dw_pageretr.Object.u_outware_outwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_outware_scid[ll_i]
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.secflag[ll_i]
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[ll_i]
-
- IF li_flag = 1 And li_secflag = 0 THEN //仓撤
-
-
- IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
- ll_fail++
- arg_msg1 = arg_msg1 + ' ' + ls_taskcode
- CONTINUE
- END IF
- IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
- ll_fail++
- arg_msg1 = arg_msg1 + ' ' + ls_taskcode
- CONTINUE
- END IF
-
-
-
-
- END IF
- w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- Close(w_sys_wait_jdt)
- IF ll_fail <> 0 THEN
- MessageBox('提示','撤审失败数 '+String(ll_fail) + ' '+ '失败单号:' + arg_msg1 ,information!,OK!)
- END IF
- This.TriggerEvent('retrieve_pageretr')
- end event
- event ue_all_delete();Long ll_billid,ll_scid,li_flag,li_secflag,ll_i,ll_fail
- String arg_msg,arg_msg1,ls_taskcode
- IF Not (f_power_ind(580) Or f_power_ind(583)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
- FOR ll_i = 1 To dw_pageretr.RowCount()
- IF dw_pageretr.Object.if_ch[ll_i] = 0 THEN CONTINUE
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[ll_i] + " 正在删除..." //进度信息
-
- ll_billid = dw_pageretr.Object.u_outware_outwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_outware_scid[ll_i]
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.secflag[ll_i]
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[ll_i]
-
- IF li_flag = 0 And li_secflag = 0 THEN //删除
-
-
-
-
- IF uo_ware.del(ll_scid,ll_billid,arg_msg,True) = 0 THEN
- ll_fail++
- arg_msg1 = arg_msg1 + ' ' + ls_taskcode
- CONTINUE
- END IF
-
-
- END IF
- w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- Close(w_sys_wait_jdt)
- IF ll_fail <> 0 THEN
- MessageBox('提示','删除失败数 '+String(ll_fail) + ' '+ '失败单号:' + arg_msg1 ,information!,OK!)
- END IF
- This.TriggerEvent('retrieve_pageretr')
- end event
- event ue_p_rebate();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定折扣', question!, YesNo!, 2) = 2 THEN
- RETURN
- END IF
- Long ll_i
- dw_child.AcceptText()
- dw_child.SetRedraw(FALSE)
- FOR ll_i = 2 TO dw_child.RowCount()
- dw_child.Object.u_outwaremx_rebate[ll_i] = dw_child.Object.u_outwaremx_rebate[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_fj_edit_mx();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- //IF NOT f_power_ind(1098) THEN
- // MessageBox(publ_operator,sys_msg_pow)
- // RETURN
- //END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row,ll_mxrow
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- ll_mxrow = dw_child.GetRow()
- IF ll_mxrow <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.f_long = 9104 //销售订单明细
- s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row]
- s_pic.d_long = dw_child.Object.u_outwaremx_printid[ll_mxrow]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_mng,s_pic)
- end event
- event ue_fj_mx_add();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- IF NOT f_power_ind(1098) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_saletaskmx_fileadd,s_pic)
- end event
- event ue_fj_mx_add_p();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- IF NOT f_power_ind(1098,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.g_long = dw_pageretr.Object.taskid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_saletask_scid[ls_row]
- s_pic.f_string = dw_pageretr.Object.taskcode[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_saletaskmx_fileadd_p,s_pic)
- end event
- event ue_fj_view_mx();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用')
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row,ll_mxrow
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- ll_mxrow = dw_child.GetRow()
- IF ll_mxrow <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg)
- RETURN
- END IF
- s_pic.f_long = 9104 //销售订单明细
- s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row]
- s_pic.d_long = dw_child.Object.u_outwaremx_printid[ll_mxrow]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_view,s_pic)
- end event
- event ue_ch_dscrp2();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_outware_dscrp2[dw_uc.GetRow()]
- s_view.Title = '销售发货单备注2'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_outware_dscrp2[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_ch_dscrp3();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_outware_dscrp3[dw_uc.GetRow()]
- s_view.Title = '销售发货单备注3'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_outware_dscrp3[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return
- String ls_dscrp
- long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag
- dw_child.AcceptText()
- ll_mtrlid = dw_child.object.u_outwaremx_mtrlid[arg_row]
- SELECT
- statusflag,
- woodcodeflag,
- pcodeflag
- into
- :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag
- FROM U_MTRLDEF
- where mtrlid = :ll_mtrlid;
- IF arg_status = 'u_outwaremx_status' THEN
- IF ll_statusflag<>5 THEN RETURN
- ELSEIF arg_status = 'u_outwaremx_woodcode' THEN
- IF ll_woodcodeflag<>5 THEN RETURN
- ELSEIF arg_status = 'u_outwaremx_pcode' then
- IF ll_pcodeflag<>5 THEN RETURN
- ELSE
- RETURN
- END IF
-
- ls_dscrp = dw_child.GetItemString(arg_row, arg_status)
- s_view.Title = '配置内容'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_status,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.setitem(arg_row,arg_status,s_return.dscrp)
- END IF
- end event
- event ue_view_mxdscrp3();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_outwaremx_mxdscrp3[dw_child.GetRow()]
- s_view.Title = '销售发货单明细备注3'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_outwaremx_mxdscrp3[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_view_mxdscrp4();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_outwaremx_mxdscrp4[dw_child.GetRow()]
- s_view.Title = '销售发货单明细备注4'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp2,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_outwaremx_mxdscrp4[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_cmpl_set0();//
- long i
- for i=1 to dw_child.rowcount()
- dw_child.object.u_outwaremx_uqty[i]=0
- next
- end event
- event ue_importcusseleprice_buchong();
- //查询客户价格表
- //如果客户无价格表则提示是否直接查询价格表
- Long ls_row,ls_cusid,ls_mtrlid
- String ls_cuscode,ls_cusname,arg_msg
- Long uc_row
- Decimal obj_price ,obj_rebate,obj_rate
- String err_str = ''
- Boolean if_exist_price = TRUE
- Long ll_pricelistid,ll_moneyid
- String ls_status,ls_pcode,ls_woodcode,ls_unit
- s_pricelist_ch s_pricelist
- uc_row = dw_uc.GetRow()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF dw_uc.Object.u_outware_cusid[uc_row] = 0 OR IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN
- MessageBox('提示',"请选择销售客户!",information!,OK!)
- RETURN
- END IF
- ls_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- SELECT u_cust.pricelistid INTO :ll_pricelistid FROM u_cust Where u_cust.cusid = :ls_cusid;
- IF sqlca.SQLCode <> 0 OR ll_pricelistid <= 0 THEN
- if_exist_price = FALSE
- END IF
- IF if_exist_price = FALSE THEN
- IF MessageBox('询问',"当前客户的计划售价尚未设定!是否查询价格列表?",Question!,YesNo!) = 2 THEN RETURN
- Open(w_sale_price_list_ch)
- s_pricelist = Message.PowerObjectParm
- IF s_pricelist.pricelistid <= 0 THEN RETURN
- ll_pricelistid = s_pricelist.pricelistid
- END IF
- IF wf_get_pricelist_price_buchong(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- MessageBox('提示',arg_msg,information!,OK!)
- RETURN
- END IF
- //FOR ls_row = 1 TO dw_child.RowCount()
- // ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row]
- // ls_status = dw_child.Object.u_outwaremx_status[ls_row]
- // ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row]
- // ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row]
- // ls_unit = dw_child.Object.u_outwaremx_unit[ls_row]
- //
- // IF sys_option_price_if_status = 0 THEN
- // ls_status = ''
- // ls_pcode = ''
- // ls_woodcode = ''
- // END IF
- //
- //
- // IF if_exist_price THEN //查询客户价格表
- // IF Not (IsNull(ls_mtrlid) OR ls_mtrlid = 0 ) THEN
- // SELECT u_sale_price_mx.price
- // INTO :obj_price
- // FROM u_sale_price_list ,u_cust,u_sale_price_mx
- // WHERE (u_sale_price_list.pricelistid = u_cust.pricelistid) AND
- // (u_sale_price_mx.pricelistid = u_sale_price_list.pricelistid) AND
- // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
- // ( u_cust.cusid = :ls_cusid ) AND
- // ( u_sale_price_mx.status = :ls_status ) AND
- // ( u_sale_price_mx.pcode = :ls_pcode ) AND
- // ( u_sale_price_mx.woodcode = :ls_woodcode ) and
- // ( u_sale_price_mx.unit = :ls_unit);
- // IF sqlca.SQLCode <> 0 THEN
- // err_str = err_str + "当前客户的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n"
- // ELSE
- // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price
- // END IF
- // END IF
- // ELSE //查询价格列表
- // SELECT u_sale_price_mx.price
- // INTO :obj_price
- // FROM u_sale_price_mx
- // WHERE ( u_sale_price_mx.pricelistid = :s_pricelist.pricelistid ) AND
- // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
- // ( u_sale_price_mx.status = :ls_status ) AND
- // ( u_sale_price_mx.pcode = :ls_pcode ) AND
- // ( u_sale_price_mx.woodcode = :ls_woodcode ) and
- // ( u_sale_price_mx.unit = :ls_unit);
- // IF sqlca.SQLCode <> 0 THEN
- // err_str = err_str + "当前价格表的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n"
- // ELSE
- // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price
- // END IF
- // END IF
- //NEXT
- //IF err_str <> '' THEN
- // MessageBox('错误',err_str,stopsign!,OK!)
- //END IF
- //
- end event
- event ue_retrieve_fifo_cbmx();
- String ls_mtrlcode,ls_mtrlname
- Long ll_row
- Long ll_scid
- Long ll_outwareid
- Long ll_printid
- Long ll_mtrlwareid
- Decimal dec_uqty
- ll_row = dw_child.GetRow()
- IF ll_row <= 0 THEN
- RETURN
- END IF
- ll_scid = cur_scid
- ll_outwareid = dw_child.Object.u_outwaremx_outwareid[ll_row]
- ll_printid = dw_child.Object.u_outwaremx_printid[ll_row]
- ll_mtrlwareid= dw_child.Object.u_outwaremx_mtrlwareid[ll_row]
- dec_uqty = dw_child.Object.u_outwaremx_uqty[ll_row]
- ls_mtrlname= dw_child.Object.u_mtrldef_mtrlname[ll_row]
- IF IsValid(w_fifo_mtrlware_cb) THEN
- w_fifo_mtrlware_cb.WindowState = Normal!
- w_fifo_mtrlware_cb.cur_scid = ll_scid
- w_fifo_mtrlware_cb.cur_outwareid = ll_outwareid
- w_fifo_mtrlware_cb.cur_printid = ll_printid
- w_fifo_mtrlware_cb.cur_mtrlwareid = ll_mtrlwareid
- w_fifo_mtrlware_cb.cur_dec_uqty = dec_uqty
- w_fifo_mtrlware_cb.cur_mtrlname = ls_mtrlname
-
- w_fifo_mtrlware_cb.wf_retrieve_cbmx()
- w_fifo_mtrlware_cb.wf_retrieve_allmtrlware()
- w_fifo_mtrlware_cb.wf_retrieve_allmtrlware_mx()
- END IF
- end event
- event ue_show_fifo_cbmx();
- s_edit_index_tran s_ch_tran //传递参数使用
- long ll_row
- long ll_scid
- long ll_outwareid
- long ll_printid
- long ll_mtrlwareid
- decimal dec_uqty
- string ls_mtrlname
- ll_row = dw_child.GetRow()
- IF ll_row = 0 THEN RETURN
- ll_scid = cur_scid
- ll_outwareid = dw_child.Object.u_outwaremx_outwareid[ll_row]
- ll_printid = dw_child.Object.u_outwaremx_printid[ll_row]
- ll_mtrlwareid= dw_child.Object.u_outwaremx_mtrlwareid[ll_row]
- dec_uqty = dw_child.Object.u_outwaremx_uqty[ll_row]
- ls_mtrlname= dw_child.Object.u_mtrldef_mtrlname[ll_row]
- s_ch_tran.b_long=ll_scid //cur_scid
- s_ch_tran.c_long=ll_outwareid //cur_outwareid
- s_ch_tran.d_long=ll_printid //cur_printid
- s_ch_tran.e_long=ll_mtrlwareid //cur_mtrlwareid
- s_ch_tran.b_decimal=dec_uqty //cur_dec_uqty
- s_ch_tran.b_string=ls_mtrlname //cur_mtrlname
- IF IsValid(w_fifo_mtrlware_cb) THEN
- w_fifo_mtrlware_cb.WindowState = Normal!
- w_fifo_mtrlware_cb.cur_scid =ll_scid
- w_fifo_mtrlware_cb.cur_outwareid =ll_outwareid
- w_fifo_mtrlware_cb.cur_printid = ll_printid
- w_fifo_mtrlware_cb.cur_mtrlwareid = ll_mtrlwareid
- w_fifo_mtrlware_cb.cur_dec_uqty = dec_uqty
- w_fifo_mtrlware_cb.cur_mtrlname = ls_mtrlname
-
- w_fifo_mtrlware_cb.wf_retrieve_cbmx()
- ELSE
- OpenWithParm(w_fifo_mtrlware_cb,s_ch_tran)
- END IF
- end event
- event ue_ch_relstr_3();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.u_outware_relstr_3[dw_uc.GetRow()]
- s_view.Title = '货运部地址'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.u_outware_relstr_3[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_set_tax();//
- dw_child.AcceptText()
- IF dw_child.RowCount() < 1 THEN RETURN
- Long i
- FOR i = 1 To dw_child.RowCount()
- dw_child.Object.u_outwaremx_tax[i] = dw_child.Object.u_outwaremx_tax[1]
- wf_cmpl_amt(i)
- NEXT
- end event
- event ue_show_his_pricemx();
- s_edit_index_tran s_ch_tran //传递参数使用
- long ll_row
- long ll_scid
- long ll_outwareid
- long ll_printid
- long ll_mtrlwareid
- decimal dec_uqty
- string ls_mtrlname
- long ll_cusid
- long ll_mtrlid
- string ls_status,ls_woodcode,ls_pcode,ls_plancode,ls_mtrlcode
- ll_row = dw_child.GetRow()
- IF ll_row = 0 THEN RETURN
- long uc_row
- uc_row = dw_uc.GetRow()
- IF uc_row = 0 THEN RETURN
- ll_scid = cur_scid
- ll_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ll_row]
- ls_status= dw_child.Object.u_outwaremx_status[ll_row]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ll_row]
- ls_pcode= dw_child.Object.u_outwaremx_pcode[ll_row]
- ls_plancode= dw_child.Object.u_outwaremx_plancode[ll_row]
- ls_mtrlcode= dw_child.Object.u_mtrldef_mtrlcode[ll_row]
- s_ch_tran.b_long=ll_scid //cur_scid
- s_ch_tran.c_long=ll_cusid //cur_cusid
- s_ch_tran.d_long=ll_mtrlid //cur_mtrlid
- s_ch_tran.b_string=ls_mtrlcode
- s_ch_tran.c_string=ls_status
- s_ch_tran.d_string=ls_woodcode
- s_ch_tran.e_string=ls_pcode
- s_ch_tran.f_string=ls_plancode
- IF IsValid(w_outware_sale_show_his_pricemx) THEN
- w_outware_sale_show_his_pricemx.WindowState = Normal!
- w_outware_sale_show_his_pricemx.cur_scid =ll_scid
- w_outware_sale_show_his_pricemx.cur_cusid =ll_cusid
- w_outware_sale_show_his_pricemx.cur_mtrlid = ll_mtrlid
- w_outware_sale_show_his_pricemx.cur_status = ls_status
- w_outware_sale_show_his_pricemx.cur_woodcode = ls_woodcode
- w_outware_sale_show_his_pricemx.cur_pcode = ls_pcode
- w_outware_sale_show_his_pricemx.cur_plancode = ls_plancode
- w_outware_sale_show_his_pricemx.cur_mtrlname = ls_mtrlcode
-
- w_outware_sale_show_his_pricemx.wf_retrieve_cbmx()
- ELSE
- OpenWithParm(w_outware_sale_show_his_pricemx,s_ch_tran)
- END IF
- end event
- event ue_retrieve_his_pricemx();
- s_edit_index_tran s_ch_tran //传递参数使用
- long ll_row
- long ll_scid
- long ll_outwareid
- long ll_printid
- long ll_mtrlwareid
- decimal dec_uqty
- string ls_mtrlname
- long ll_cusid
- long ll_mtrlid
- string ls_status,ls_woodcode,ls_pcode,ls_plancode,ls_mtrlcode
- ll_row = dw_child.GetRow()
- IF ll_row = 0 THEN RETURN
- long uc_row
- uc_row = dw_uc.GetRow()
- IF uc_row = 0 THEN RETURN
- ll_scid = cur_scid
- ll_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ll_row]
- ls_status= dw_child.Object.u_outwaremx_status[ll_row]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ll_row]
- ls_pcode= dw_child.Object.u_outwaremx_pcode[ll_row]
- ls_plancode= dw_child.Object.u_outwaremx_plancode[ll_row]
- ls_mtrlcode= dw_child.Object.u_mtrldef_mtrlcode[ll_row]
- s_ch_tran.b_long=ll_scid //cur_scid
- s_ch_tran.c_long=ll_cusid //cur_cusid
- s_ch_tran.d_long=ll_mtrlid //cur_mtrlid
- s_ch_tran.b_string=ls_mtrlcode
- s_ch_tran.c_string=ls_status
- s_ch_tran.d_string=ls_woodcode
- s_ch_tran.e_string=ls_pcode
- s_ch_tran.f_string=ls_plancode
- IF IsValid(w_outware_sale_show_his_pricemx) THEN
- w_outware_sale_show_his_pricemx.WindowState = Normal!
- w_outware_sale_show_his_pricemx.cur_scid =ll_scid
- w_outware_sale_show_his_pricemx.cur_cusid =ll_cusid
- w_outware_sale_show_his_pricemx.cur_mtrlid = ll_mtrlid
- w_outware_sale_show_his_pricemx.cur_status = ls_status
- w_outware_sale_show_his_pricemx.cur_woodcode = ls_woodcode
- w_outware_sale_show_his_pricemx.cur_pcode = ls_pcode
- w_outware_sale_show_his_pricemx.cur_plancode = ls_plancode
- w_outware_sale_show_his_pricemx.cur_mtrlname = ls_mtrlcode
-
- w_outware_sale_show_his_pricemx.wf_retrieve_cbmx()
- END IF
- end event
- event ue_mx_cmplnoallocqty();Long i,j,ll_mtrlid,ll_scid,ll_mtrlwareid,ll_storageid
- String ls_status,ls_woodcode,ls_pcode
- Decimal ld_notsaleqty,ld_noallocqty,ld_cqty,ld_qty,ld_mtrlqty
- string arg_lsg,arg_msg
- dw_child.AcceptText()
- dw_child.SetRedraw(False)
- dw_uc.accepttext( )
- IF cur_scid = -1 THEN
- IF dw_pageretr.GetRow() > 0 THEN
- ll_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()]
- IF IsNull(ll_scid) THEN ll_scid = 0
- END IF
- ELSE
- ll_scid = cur_scid
- END IF
- ll_storageid = dw_uc.object.u_outware_storageid[1]
- FOR i = 1 To dw_child.RowCount()
- ll_mtrlwareid = 0
- ld_notsaleqty = dw_child.Object.u_outwaremx_uqty[i]
- ll_mtrlwareid = dw_child.Object.u_outwaremx_mtrlwareid[i]
-
- ld_noallocqty = 0
- SELECT sum(noallocqty)
- INTO :ld_noallocqty
- FROM u_mtrlware,u_storage
- WHERE u_mtrlware.storageid = u_storage.storageid
- AND u_mtrlware.scid = :ll_scid
- AND u_mtrlware.mtrlwareid = :ll_mtrlwareid
- ;
- IF sqlca.SQLCode <> 0 THEN
- ld_noallocqty = 0
- END IF
-
-
- IF f_cmp_di_qty(ll_mtrlid,ll_storageid,ls_status,ld_mtrlqty,arg_lsg,arg_msg) = 0 THEN
- // ls_mesage = ls_mesage + string(ll_mtrlid)+arg_msg
- ld_mtrlqty =0
- else
- END IF
-
- dw_child.Object.mtrlqty[i] = ld_mtrlqty
- dw_child.Object.noallocqty[i] = ld_noallocqty
- ld_qty = ld_notsaleqty - ( ld_noallocqty + ld_mtrlqty)
- if ld_qty < 0 then ld_qty = 0
- dw_child.Object.cqty[i] =ld_qty
- // IF ld_notsaleqty - ld_noallocqty < 0 THEN
- // dw_child.Object.cqty[i] = 0
- // ELSE
- //
- // dw_child.Object.cqty[i] = ld_notsaleqty - ld_noallocqty
- // END IF
- NEXT
- dw_child.SetRedraw(True)
- //////////////////////////////
- IF sys_option_outware_if_di <> 0 THEN
- s_saletask_mtrl mxlist
- FOR j = 1 To dw_child.RowCount()
- mxlist.mtrlid[j] = dw_child.Object.u_outwaremx_mtrlid[j]
- mxlist.qty[j] = dw_child.Object.u_outwaremx_uqty[j]
- NEXT
-
- openwithparm(w_outware_sale_mx4_noallocqty,mxlist)//传入需求数以及物料ID
- END IF
- end event
- event ue_choose_mtrlware_plancode();IF sys_option_saletask_chuange_plancode = 0 THEN RETURN
- //用于选择订单的库存id\dw_child.doubleclicked调用
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 THEN RETURN
- IF flag = 1 THEN RETURN
- Long child_row,ll_storageid = 0, select_cnt
- Long ll_moneyid
- dw_uc.AcceptText()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- IF ll_storageid = 0 Or IsNull(ll_storageid) THEN
- MessageBox('提示','请先选择仓库',information!,OK!)
- RETURN
- END IF
- Int li_if_cus_mtrlware,li_inwaretype
- SELECT balctype ,
- inwaretype
- INTO :li_if_cus_mtrlware,
- :li_inwaretype
- FROM u_storage
- Where storageid = :ll_storageid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!)
- RETURN
- END IF
- Long ls_null
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.b_long = 0
- Long chc = 1,ls_j,ll_cusid
- SetNull(ls_null)
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF IsNull(ll_cusid) Or ll_cusid = 0 THEN
- This.TriggerEvent("ue_f9")
- END IF
- child_row = dw_child.GetRow()
- IF child_row <= 0 THEN
- MessageBox('错误','请选择按订单的明细行',stopsign!,OK!)
- RETURN
- END IF
- dw_uc.AcceptText()
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF li_if_cus_mtrlware = 1 THEN
- s_tranf8.c_long = ll_cusid
- ELSE
- s_tranf8.c_long = -1
- END IF
- IF li_inwaretype = 3 THEN //批号类型
- s_tranf8.f_long = 1
- ELSE
- s_tranf8.f_long = 0
- END IF
- IF Not IsValid(w_mtrlware_ch_plancode_chuange) THEN
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.d_long = ll_storageid
- s_tranf8.e_long = dw_child.Object.u_outwaremx_mtrlid[child_row]
- s_tranf8.c_string = dw_child.Object.u_outwaremx_status[child_row]
- s_tranf8.d_string = dw_child.Object.u_outwaremx_woodcode[child_row]
- s_tranf8.e_string = dw_child.Object.u_outwaremx_pcode[child_row]
- s_tranf8.f_string = '' //dw_child.Object.u_outwaremx_plancode[child_row] //批号
-
-
- dw_child.AcceptText()
- OpenWithParm(w_mtrlware_ch_plancode_chuange,s_tranf8)
-
- s_mtrlware_noalloc_array S_INSCUST
- S_INSCUST = Message.PowerObjectParm
-
- FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
- IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
- select_cnt++
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
- dw_child.Object.u_outwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j]
- dw_child.Object.u_mtrldef_waredscrp[child_row] = S_INSCUST.waredscrp[ls_j]
-
- END IF
- NEXT
- END IF
- dw_child.SetRedraw(True)
- dw_child.SetFocus()
- end event
- event ue_create_bmstamt();Long ll_secflag,ll_scid
- Long ll_mtrlwareid
- Int i,j
- s_outware_ch s_outware
- If Not f_power_ind(1647) Then
- MessageBox('提示',sys_msg_pow,information!,OK!)
- Return
- End If
- dw_pageretr.AcceptText()
- i = dw_pageretr.GetRow()
- If i <= 0 Then
- MessageBox('系统提示','请选定当前目标订单!',information!,OK!)
- Return
- End If
- ll_secflag = dw_pageretr.Object.secflag[i]
- If ll_secflag <> 1 Then
- MessageBox('提示','只能对已财审的单据进行操作',information!,OK!)
- Return
- End If
- s_outware.outwareid = dw_pageretr.Object.u_outware_outwareid[i]
- s_outware.scid = dw_pageretr.Object.u_outware_scid[i]
- s_outware.cusid = dw_pageretr.Object.u_outware_cusid[i]
- s_outware.cuscode = dw_pageretr.Object.u_cust_cuscode[i]
- s_outware.cusname = dw_pageretr.Object.u_cust_name[i]
- s_outware.banktypeid = dw_pageretr.Object.u_outware_relint_1[i]
- s_outware.moneyid = dw_pageretr.Object.u_outware_relint_2[i]
- s_outware.billcode = dw_pageretr.Object.u_outware_outwarecode[i]
- s_outware.mrate = dw_pageretr.Object.u_outware_mrate[i]
- s_outware.billamt = dw_pageretr.Object.billamt[i]
- s_outware.takeamt = dw_pageretr.Object.takeamt[i]
- s_outware.balcamt = dw_pageretr.Object.balcamt[i]
- s_outware.takedate = dw_pageretr.Object.u_outware_outdate[i]
- s_outware.zqamt = dw_child.Object.compute_17[i]
- s_edit_index_tran s_tran_open //翻页功能窗口 传递参数使用
- s_tran_open.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行
- s_tran_open.work_mode = 0 //0-单纯编辑模式, 1-选择模式
- s_tran_open.arg_pkid = 0 //目标定位PKID (备用)
- s_tran_open.arg_string_code = '' //查询列部分内容,用于初步筛选
- s_tran_open.d_long = 1
- s_tran_open.e_long = dw_pageretr.Object.u_outware_cusid[i]
- s_tran_open.c_long = dw_pageretr.Object.u_outware_scid[i]
- ll_scid = dw_pageretr.Object.u_outware_scid[i]
- If Not IsValid(w_bmstamt_edit) Then
- OpenWithParm(w_bmstamt_edit,s_tran_open)
-
- // w_bmstamt_edit.ddlb_scid.uf_selectsc(ll_scid)
- w_bmstamt_edit.wf_ue_f7(s_outware)
- End If
- end event
- event ue_bill_mod();IF Not (f_power_ind(370,sys_msg_pow)) THEN
- MessageBox(publ_operator,'你没有使用权限!')
- RETURN
- END IF
- IF dw_edit_mode THEN RETURN
- Long uc_row,ll_outwareid,ll_scid
- Int li_flag,li_secflag,li_priceflag
- s_edit_index_tran s_open
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标单据!')
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_outware_scid[uc_row]
- ll_outwareid = dw_pageretr.Object.u_outware_outwareid[uc_row]
- SELECT flag,secflag,priceflag
- INTO :li_flag,:li_secflag,:li_priceflag
- From u_outware Where scid = :ll_scid And outwareid = :ll_outwareid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询单据审核标记失败,操作取消!')
- RETURN
- END IF
- IF li_flag <> 1 then
- MessageBox('系统提示','单据未仓审,操作取消!')
- RETURN
- END IF
- IF li_secflag = 1 THEN
- MessageBox('系统提示','单据已财审,操作取消!')
- RETURN
- END IF
- s_open.b_long = ll_scid
- s_open.c_long = ll_outwareid
- OpenWithParm(w_outware_sale_mod,s_open)
- wf_refresh_curuc(ll_scid,ll_outwareid)
- end event
- event ue_cmpl_price();IF dw_child.GetRow() = 0 THEN RETURN
- Long child_row
- Long uc_row
- Long li_cusid,li_mtrlid
- Decimal ld_cusprice
- uc_row = dw_uc.GetRow()
- li_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- s_cmpl_qty s_cmpl,s_return
- s_cmpl.qty = dw_child.Object.u_outwaremx_enprice[child_row]
- s_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[child_row]
- s_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- s_cmpl.price = dw_child.Object.u_outwaremx_enprice[child_row]
- s_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
- s_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- s_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- s_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- s_cmpl.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row]
- s_cmpl.mxdscrp2 = dw_child.Object.mxdscrp2[child_row]
- s_cmpl.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[child_row]
- s_cmpl.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[child_row]
- li_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- SELECT price
- INTO :ld_cusprice
- FROM u_cust
- INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- WHERE u_sale_price_mx.mtrlid = :li_mtrlid
- AND u_cust.cusid = :li_cusid;
- IF SQLCA.SQLCODE <> 0 THEN
- ld_cusprice = 0
- END IF
- s_cmpl.cusprice = ld_cusprice
- IF NOT IsValid(w_cmpl_qty_ch) THEN
- OpenWithParm(w_cmpl_qty_ch,s_cmpl)
- s_return = Message.PowerObjectParm
- IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
- dw_child.Object.u_outwaremx_enprice[child_row] = s_return.qty
- dw_child.Object.u_outwaremx_priceformula[child_row] = s_return.formula
- END IF
- END IF
- end event
- event ue_setprice_forformula();Long child_row
- dw_child.AcceptText()
- for child_row = 1 to dw_child.rowcount()
- if dw_child.Object.u_outwaremx_priceformula[child_row]<>'' and dw_child.Object.u_outwaremx_ifrel[child_row] = 0 then
- String ls_msg
- s_cmpl_qty arg_cmpl
- decimal ld_qty
- long cusid,mtrlid
-
- mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- cusid = dw_uc.Object.u_outware_cusid[dw_uc.getrow()]
-
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_price[child_row]
- arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
- arg_cmpl.packqty = dw_child.Object.u_outwaremx_packqty[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- arg_cmpl.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row]
- arg_cmpl.mxdscrp2 = dw_child.Object.mxdscrp2[child_row]
- arg_cmpl.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[child_row]
- arg_cmpl.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[child_row]
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.flag = true
- arg_cmpl.addvalue = 1
- ld_qty = 0
- if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
- MessageBox('提示',ls_msg, Information!, OK! )
- RETURN
- END IF
- dw_child.Object.u_outwaremx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
- end if
- next
- end event
- event retrieve_fjnum();
- Long i,ls_filecount
- string arg_billcode
- dw_pageretr.SetRedraw(False)
- FOR i = 1 To dw_pageretr.RowCount()
-
- arg_billcode = dw_pageretr.Object.u_outware_outwarecode[i]
-
- ls_filecount = 0
- SELECT count(*) INTO :ls_filecount
- FROM u_file
- WHERE relcode = :arg_billcode
-
- AND scid = 0
- AND billtype =104
- Using sys_filedb_sqlca;
-
- IF ls_filecount <> 0 then
- dw_pageretr.Object.fj_num[i] = String(ls_filecount)
- end if
-
- NEXT
- dw_pageretr.SetRedraw(true)
- end event
- event ue_all_c_secaudit(integer arg);IF dw_edit_mode THEN RETURN
- long row_count = 0
- String ls_msg = ''
- Long i,rslt
- Long ll_suc,ll_fail,ll_i
- IF Not f_power_ind(870) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
- for i = 1 to dw_pageretr.rowcount()
- if dw_pageretr.object.if_ch[i] = 1 then row_count++
- next
- IF row_count <= 0 THEN
- MessageBox('提示','请勾选目标单据!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要批财撤当前选择单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
- for i = 1 to dw_pageretr.rowcount()
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[i] + " 正在确认..." //进度信息
- IF dw_pageretr.object.if_ch[i] = 1 then
- rslt = 1
- string arg_msg = '',ls_code,ls_opemp,ls_outpart
- long ll_billid, ll_scid,ls_id
- Int li_priceflag, li_flag, li_secflag
-
- ll_scid = dw_pageretr.Object.u_outware_scid[i]
- ll_billid = dw_pageretr.Object.u_outware_outwareid[i]
- li_priceflag = dw_pageretr.Object.u_outware_priceflag[i]
- li_flag = dw_pageretr.Object.flag[i]
- li_secflag = dw_pageretr.Object.secflag[i]
-
- IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
- ll_fail++
- ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
- CONTINUE
- ELSE
- IF li_secflag = 1 THEN
- IF uo_ware.c_secauditing(True,arg_msg) = 0 THEN
- ll_fail++
- ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
- CONTINUE
- ELSE
- ll_suc++
- ls_code = dw_pageretr.Object.u_outware_outwarecode[i]
- ls_opemp = dw_pageretr.Object.u_outware_opemp[i]
- ls_outpart = dw_pageretr.Object.u_outware_part[i]
- f_setsysoplog('销售发货单','财务撤审,code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
- END IF
- ELSE
- arg_msg = '此单据未进行财审,不能财撤'
- ll_fail++
- ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
- CONTINUE
- END IF
- END IF
- w_sys_wait_jdt.wf_inc(i) //进度
- end if
- next
- Close(w_sys_wait_jdt)
- ls_msg = '批财撤成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)+'~r~n'+ls_msg
- IF ls_msg <> '' THEN
- OpenWithParm(w_message_err,ls_msg)
- ELSE
- MessageBox('提示','全部财撤成功!')
- END IF
- this.triggerevent('retrieve_pageretr')
- end event
- event ue_cmpl_tax();If dw_child.GetRow() = 0 Then Return
- Long child_row
- child_row = dw_child.GetRow()
- Decimal lde_saleqty, lde_rebate ,lde_taxamt,lde_enprice,lde_enprice_notax
- lde_saleqty = dw_child.Object.u_outwaremx_saleqty[child_row]
- lde_rebate = dw_child.Object.u_outwaremx_rebate[child_row]
- lde_enprice = dw_child.Object.u_outwaremx_enprice[child_row]
- lde_enprice_notax = dw_child.Object.enprice_notax[child_row]
- If lde_saleqty = 0 Then
- MessageBox('提示','请填写数量!')
- Return
- End If
- If lde_enprice = 0 And lde_enprice_notax = 0 Then
- MessageBox('提示','请填写含税单价或者不含税单价')
- Return
- End If
- If Not IsValid(w_ware_cmpl_taxamt) Then
- s_edit_index_tran s_tran_tax
- s_tran_tax.b_string = dw_child.Object.u_outwaremx_unit[child_row] //单位
-
- OpenWithParm(w_ware_cmpl_taxamt,s_tran_tax)
-
- s_edit_index_tran s_return
- s_return = Message.PowerObjectParm
-
- If Not IsNull(s_return) Then
- If s_return.b_decimal = 0 Then Return
- lde_taxamt = s_return.b_decimal
- dw_child.Object.u_outwaremx_enamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金
-
- If lde_enprice <> 0 Then
- dw_child.Object.enamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额
- dw_child.Object.enamt_notax[child_row] = dw_child.Object.enamt[child_row] - dw_child.Object.u_outwaremx_enamt_tax[child_row] //不含税总金额
- dw_child.Object.enprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价
- dw_child.Object.u_outwaremx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率
- elseif lde_enprice_notax <> 0 then
- dw_child.Object.enamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额
- dw_child.Object.enamt[child_row] = dw_child.Object.enamt_notax[child_row] + dw_child.Object.u_outwaremx_enamt_tax[child_row] //总金额
- dw_child.Object.u_outwaremx_enprice[child_row] = lde_enprice_notax + lde_taxamt //单价
- dw_child.Object.u_outwaremx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率
-
- End If
-
-
- End If
- End If
- end event
- event ue_mod_outdate();//
- IF NOT f_power_ind(2003) THEN
- MessageBox('提示',sys_msg_pow)
- RETURN
- END IF
- IF priceflag = 1 OR flag = 1 THEN
- IF NOT f_power_ind(1294) THEN
- //MessageBox('提示','你没有仓审或确认后修改权限!',information!,OK!)
- MessageBox('提示',sys_msg_pow)
- RETURN
- END IF
- ELSE
- IF Not (f_power_ind(11) OR f_power_ind(371)) THEN
- MessageBox('提示',sys_msg_pow)
- RETURN
- END IF
- END IF
- int row,count = 0
- for row = 1 to dw_pageretr.rowcount()
- if dw_pageretr.object.if_ch[row] = 1 then
- count++
- end if
- next
- if count = 0 then
- MessageBox('提示','请勾选目标单据')
- return
- end if
-
- open(w_mod_outdate)
- s_edit_index_tran s_time
- long i,ll_fail = 0,ll_suc = 0
- string arg_msg,ls_msg = ''
- long ls_outwareid
- string mod_time
- s_time = Message.PowerObjectParm
- if s_time.b_long = 1 then
- mod_time = string(s_time.b_datetime)
- for i = 1 to dw_pageretr.rowcount()
- if dw_pageretr.object.if_ch[i] = 1 then
- if uo_ware.updatebegin(dw_pageretr.Object.u_outware_scid[i],dw_pageretr.Object.u_outware_outwareid[i],1,arg_msg) = 0 then
- ll_fail++
- ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
- CONTINUE
- end if
- ls_outwareid = dw_pageretr.Object.u_outware_outwareid[i]
- update u_outware set outdate = :mod_time where outwareid = :ls_outwareid;
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK;
- ll_fail++
- ls_msg += dw_pageretr.Object.u_outware_outwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
- CONTINUE
- else
- COMMIT;
- ll_suc++
- END IF
- end if
- next
- ls_msg = '批修改销售时间成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)+'~r~n'+ls_msg
- IF ls_msg <> '' THEN
- OpenWithParm(w_message_err,ls_msg)
- ELSE
- MessageBox('提示','全部修改成功!')
- END IF
-
- this.triggerevent('retrieve_pageretr')
- end if
- end event
- event ue_price_mod();IF Not f_power_ind(2013) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Open(w_outware_sale_mod_price)
- end event
- event ue_outware_choose();s_choose s_c
- OpenWithParm(w_choose_outware,s_c)
- s_c = Message.PowerObjectParm
- IF NOT s_c.ifok THEN RETURN
- cbx_enamt_edit.Checked=s_c.amt_pprice_out
- cbx_packqty_cmpl.Checked=s_c.packqty_out
- cbx_enamt_notax_edit.Checked=s_c.notax_price_out
- cbx_zk.Checked=s_c.zk_out
-
- cbx_enamt_edit.TriggerEvent(Clicked!)
- cbx_packqty_cmpl.TriggerEvent(Clicked!)
- cbx_enamt_notax_edit.TriggerEvent(Clicked!)
- cbx_zk.TriggerEvent(Clicked!)
-
-
-
- end event
- event ue_setqty_forformula();Long child_row
- dw_child.AcceptText()
- for child_row = 1 to dw_child.rowcount()
- if dw_child.Object.u_outwaremx_formula[child_row]<>'' and dw_child.Object.u_outwaremx_ifrel[child_row] = 0 then
- String ls_msg
- s_cmpl_qty arg_cmpl
- decimal ld_qty
- long cusid,mtrlid
-
- mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- cusid = dw_uc.Object.u_outware_cusid[dw_uc.getrow()]
-
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_price[child_row]
- arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
- arg_cmpl.packqty = dw_child.Object.u_outwaremx_packqty[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- arg_cmpl.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row]
- arg_cmpl.mxdscrp2 = dw_child.Object.mxdscrp2[child_row]
- arg_cmpl.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[child_row]
- arg_cmpl.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_formula[child_row]
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.flag = true
- arg_cmpl.addvalue = 1
- ld_qty = 0
- if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
- MessageBox('提示',ls_msg, Information!, OK! )
- RETURN
- END IF
- dw_child.Object.u_outwaremx_uqty[child_row] = dec(String(ld_qty,'###,####,###0.######'))
- end if
- next
- end event
- event ue_setqty_forformula_1();Long child_row
- child_row = dw_child.getrow()
- dw_child.AcceptText()
- if dw_child.Object.u_outwaremx_formula[child_row]<>'' and dw_child.Object.u_outwaremx_ifrel[child_row] = 0 then
- String ls_msg
- s_cmpl_qty arg_cmpl
- decimal ld_qty
- long cusid,mtrlid
-
- mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- cusid = dw_uc.Object.u_outware_cusid[dw_uc.getrow()]
-
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_price[child_row]
- arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
- arg_cmpl.packqty = dw_child.Object.u_outwaremx_packqty[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- arg_cmpl.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row]
- arg_cmpl.mxdscrp2 = dw_child.Object.mxdscrp2[child_row]
- arg_cmpl.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[child_row]
- arg_cmpl.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_formula[child_row]
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.flag = true
- arg_cmpl.addvalue = 1
- ld_qty = 0
- if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
- MessageBox('提示',ls_msg, Information!, OK! )
- RETURN
- END IF
- dw_child.Object.u_outwaremx_uqty[child_row] = dec(String(ld_qty,'###,####,###0.######'))
- end if
- end event
- event ue_setprice_forformula_1();Long child_row
- child_row = dw_child.getrow()
- dw_child.AcceptText()
- if dw_child.Object.u_outwaremx_priceformula[child_row]<>'' and dw_child.Object.u_outwaremx_ifrel[child_row] = 0 then
- String ls_msg
- s_cmpl_qty arg_cmpl
- decimal ld_qty
- long cusid,mtrlid
-
- mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- cusid = dw_uc.Object.u_outware_cusid[dw_uc.getrow()]
-
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_price[child_row]
- arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
- arg_cmpl.packqty = dw_child.Object.u_outwaremx_packqty[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
- arg_cmpl.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[child_row]
- arg_cmpl.mxdscrp2 = dw_child.Object.mxdscrp2[child_row]
- arg_cmpl.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[child_row]
- arg_cmpl.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[child_row]
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.flag = true
- arg_cmpl.addvalue = 1
- ld_qty = 0
- if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
- MessageBox('提示',ls_msg, Information!, OK! )
- RETURN
- END IF
- dw_child.Object.u_outwaremx_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
- end if
- end event
- public function integer wf_flagstatus_rf ();//wf_flagstatus_rf()
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- IF sys_option_confirmaudit_sale = 1 THEN
- cb_auditing.Text = '确认&F'
- cb_auditing_cancel.Text = '反确认'
- ELSE
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- END IF
- cb_auditing.Enabled = False
- cb_auditing_cancel.Enabled = False
- flag = -1
- secflag = -1
- priceflag = -1
- GOTO ext
-
- END IF
- flag = dw_pageretr.Object.flag[pagerert_row]
- secflag = dw_pageretr.Object.secflag[pagerert_row]
- priceflag = dw_pageretr.Object.u_outware_priceflag[pagerert_row]
- IF dw_edit_mode THEN
- IF sys_option_confirmaudit_sale = 1 THEN
- cb_auditing.Text = '确认&F'
- cb_auditing_cancel.Text = '反确认'
- ELSE
- IF sys_option_hide_ware = 0 THEN
- cb_auditing.Text = '仓审&F'
- cb_auditing_cancel.Text = '仓撤'
- ELSE
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- END IF
- END IF
- cb_auditing.Enabled = False
- cb_auditing_cancel.Enabled = False
- IF cur_editfocus = 1 THEN
- flag = -1
- secflag = -1
- priceflag = -1
- END IF
- ELSE
- IF sys_option_hide_ware = 0 THEN
- IF sys_option_confirmaudit_sale = 1 THEN
-
- IF priceflag = 0 THEN
- cb_auditing.Text = '确认&F'
- cb_auditing.Enabled = True
- cb_auditing_cancel.Text = '反确认'
- cb_auditing_cancel.Enabled = False
- ELSEIF priceflag = 1 And flag = 0 THEN
- cb_auditing.Text = '仓审&F'
- cb_auditing.Enabled = True
- cb_auditing_cancel.Text = '反确认'
- cb_auditing_cancel.Enabled = True
- ELSEIF flag = 1 And secflag = 0 THEN
- cb_auditing.Enabled = True
- cb_auditing.Text = '财审&F'
- cb_auditing_cancel.Enabled = True
- cb_auditing_cancel.Text = '仓撤'
- ELSE
- cb_auditing.Text = '财审&F'
- cb_auditing.Enabled = False
-
- cb_auditing_cancel.Enabled = True
- cb_auditing_cancel.Text = '财撤'
- END IF
-
- ELSE
- IF flag = 0 THEN
- cb_auditing.Enabled = True
- cb_auditing.Text = '仓审&F'
- cb_auditing_cancel.Enabled = False
- ELSEIF flag = 1 And secflag = 0 THEN
- cb_auditing.Enabled = True
- cb_auditing.Text = '财审&F'
- cb_auditing_cancel.Enabled = True
- cb_auditing_cancel.Text = '仓撤'
- ELSE
- cb_auditing.Text = '财审&F'
- cb_auditing.Enabled = False
-
- cb_auditing_cancel.Enabled = True
- cb_auditing_cancel.Text = '财撤'
- END IF
- END IF
- ELSE
- IF sys_option_confirmaudit_sale = 1 THEN
- IF priceflag = 0 THEN
- cb_auditing.Text = '确认&F'
- cb_auditing.Enabled = True
- cb_auditing_cancel.Text = '反确认'
- cb_auditing_cancel.Enabled = False
- ELSEIF priceflag = 1 And flag = 0 THEN
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '反确认'
- cb_auditing.Enabled = True
- cb_auditing_cancel.Enabled = True
- ELSE
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- cb_auditing.Enabled = False
- cb_auditing_cancel.Enabled = True
- END IF
- ELSE
- IF flag = 0 THEN
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- cb_auditing.Enabled = True
- cb_auditing_cancel.Enabled = False
- ELSE
- cb_auditing.Text = '审核&F'
- cb_auditing_cancel.Text = '撤审'
- cb_auditing.Enabled = False
- cb_auditing_cancel.Enabled = True
- END IF
- END IF
- END IF
- END IF
- cb_auditing.TriggerEvent('ue_textchange')
- cb_auditing_cancel.TriggerEvent('ue_textchange')
- ext:
- RETURN 0
- end function
- public function integer wf_refresh_curuc (long arg_scid, long arg_wareid);//====================================================================
- // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
- //--------------------------------------------------------------------
- // Description: 刷新dw_uc
- //--------------------------------------------------------------------
- // Arguments:
- // value long arg_scid
- // value long arg_inwareid
- //--------------------------------------------------------------------
- // Returns: integer
- //--------------------------------------------------------------------
- // Author: yyx Date: 2003.11.14
- //--------------------------------------------------------------------
- // Modify History:
- //
- //====================================================================
- //wf_refresh_curuc
- IF arg_wareid <= 0 OR IsNull(arg_wareid) THEN RETURN 0
- Long uc_row
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN RETURN 0
- Long outwareid,cusid
- DateTime outdate
- String part,cuscode,cusname
- String outrep
- String dscrp,dscrp2,dscrp3
- Int planflag
- Int balcflag
- String outwarecode
- DateTime opdate
- String operator
- Int li_flag ,li_secflag ,li_priceflag
- DateTime auditingdate ,secauditingdate ,moddate,pricedate
- String Auditingrep ,secAuditingrep ,modemp,priceemp
- String storagename
- Int thflag
- Decimal mrate
- Decimal otheramt
- Decimal deposit
- String rel_address
- String rel_rep
- String rel_tele, rel_tele1
- String rel_fax
- String relstr_1
- String relstr_2, relstr_3
- long relint_1
- long relint_2
- long storageid
- long ll_printnum
- datetime secpdate
- int secpflag
- string secpemp
- string transcode
- string carcode
- string paytype
- long typeid
- datetime viewdate
- Decimal enamt_tax
- Long ifenamt_tax
- SELECT u_outware.outdate,
- u_outware.outrep,
- u_outware.part,
- u_outware.dscrp,
- u_outware.dscrp2,
- u_outware.dscrp3,
- u_outware.outwarecode,
- u_outware.opdate,
- u_outware.opemp,
- u_outware.auditingdate,
- u_outware.flag,
- u_outware.auditingrep,
- u_outware.secauditingdate,
- u_outware.secflag,
- u_outware.secauditingrep,
- u_outware.balcflag,
- u_outware.cusid,
- u_cust.cuscode,
- u_cust.name,
- u_storage.storagename ,
- u_outware.thflag,
- u_outware.modemp,
- u_outware.moddate,
- u_outware.priceflag,
- u_outware.priceemp,
- u_outware.pricedate,
- u_outware.mrate,
- u_outware.otheramt,
- u_outware.deposit,
- u_outware.rel_address,
- u_outware.rel_rep,
- u_outware.rel_tele,
- u_outware.rel_tele1,
- u_outware.rel_fax,
- u_outware.relstr_1,
- u_outware.relstr_2,
- u_outware.relstr_3,
- u_outware.relint_1,
- u_outware.relint_2,
- u_outware.storageid,
- u_outware.printnum,
- u_outware.secpdate ,
- u_outware.secpflag,
- u_outware.secpemp,
- u_outware.transcode,
- u_outware.carcode,
- u_outware.paytype,
- u_outware.typeid,
- u_outware.viewdate,
- mxout.enamt_tax,
- case when mxout.enamt_tax > 0 then 1 else 0 end ifenamt_tax
- INTO :outdate,
- :outrep,
- :part,
- :dscrp,
- :dscrp2,
- :dscrp3,
- :outwarecode,
- :opdate,
- :operator,
- :Auditingdate,
- :li_flag,
- :Auditingrep,
- :secAuditingdate,
- :li_secflag,
- :secAuditingrep,
- :balcflag,
- :cusid,
- :cuscode,
- :cusname,
- :storagename,
- :thflag,
- :modemp,
- :moddate,
- :li_priceflag,
- :priceemp,
- :pricedate,
- :mrate,
- :otheramt,
- :deposit,
- :rel_address,
- :rel_rep,
- :rel_tele,
- :rel_tele1,
- :rel_fax,
- :relstr_1,
- :relstr_2,
- :relstr_3,
- :relint_1,
- :relint_2,
- :storageid,
- :ll_printnum,
- :secpdate ,
- :secpflag,
- :secpemp,
- :transcode,
- :carcode,
- :paytype,
- :typeid,
- :viewdate,
- :enamt_tax,
- :ifenamt_tax
- FROM u_outware
- INNER JOIN u_cust ON u_outware.cusid = u_cust.cusid
- INNER JOIN u_storage ON u_outware.StorageID = u_storage.storageid
- LEFT OUTER JOIN (
- SELECT u_outwaremx.scid
- ,u_outwaremx.outwareid
- ,sum(enamt_tax) AS enamt_tax
- FROM u_outwaremx
- GROUP BY u_outwaremx.scid
- ,u_outwaremx.outwareid
- ) AS mxout ON mxout.scid = u_outware.scid
- AND mxout.outwareid = u_outware.outwareid
- WHERE ( u_outware.outwareid = :arg_wareid ) AND
- ( u_outware.scid = :arg_scid);
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误',"查询操作失败(错误单据唯一码)",stopsign!,OK!)
- RETURN 0
- END IF
- dw_pageretr.Object.u_outware_storageid[uc_row] = storageid
- dw_pageretr.Object.u_outware_scid[uc_row] = arg_scid
- dw_pageretr.Object.u_outware_outwareid[uc_row] = arg_wareid
- dw_pageretr.Object.u_outware_outdate[uc_row] = outdate
- dw_pageretr.Object.u_outware_part[uc_row] = part
- dw_pageretr.Object.u_outware_outrep[uc_row] = outrep
- dw_pageretr.Object.u_outware_dscrp[uc_row] = dscrp
- dw_pageretr.Object.u_outware_dscrp2[uc_row] = dscrp2
- dw_pageretr.Object.u_outware_dscrp3[uc_row] = dscrp3
- dw_pageretr.Object.u_outware_balcflag[uc_row] = balcflag
- dw_pageretr.Object.u_outware_outwarecode[uc_row] = outwarecode
- dw_pageretr.Object.u_outware_opdate[uc_row] = opdate
- dw_pageretr.Object.u_outware_opemp[uc_row] = operator
- dw_pageretr.Object.flag[uc_row] = li_flag
- dw_pageretr.Object.u_outware_Auditingdate[uc_row] = auditingdate
- dw_pageretr.Object.u_outware_Auditingrep[uc_row] = Auditingrep
- dw_pageretr.Object.u_outware_cusid[uc_row] = cusid
- dw_pageretr.Object.u_cust_cuscode[uc_row] = cuscode
- dw_pageretr.Object.u_cust_name[uc_row] = cusname
- dw_pageretr.Object.u_storage_storagename[uc_row] = storagename
- dw_pageretr.Object.u_outware_thflag[uc_row] = thflag
- dw_pageretr.Object.secflag[uc_row] = li_secflag
- dw_pageretr.Object.u_outware_secAuditingdate[uc_row] = secauditingdate
- dw_pageretr.Object.u_outware_secAuditingrep[uc_row] = secAuditingrep
- dw_pageretr.Object.u_outware_moddate[uc_row] = moddate
- dw_pageretr.Object.u_outware_modemp[uc_row] = modemp
- dw_pageretr.Object.u_outware_priceflag[uc_row] = li_priceflag
- dw_pageretr.Object.u_outware_pricedate[uc_row] = pricedate
- dw_pageretr.Object.u_outware_priceemp[uc_row] = priceemp
- dw_pageretr.Object.u_outware_secpflag[uc_row] = secpflag
- dw_pageretr.Object.u_outware_secpdate[uc_row] = secpdate
- dw_pageretr.Object.u_outware_secpemp[uc_row] = secpemp
- dw_pageretr.Object.u_outware_mrate[uc_row] = mrate
- dw_pageretr.Object.u_outware_otheramt[uc_row] = otheramt
- dw_pageretr.Object.u_outware_deposit[uc_row] = deposit
- dw_pageretr.Object.u_outware_rel_address[uc_row] = rel_address
- dw_pageretr.Object.u_outware_rel_rep[uc_row] = rel_rep
- dw_pageretr.Object.u_outware_rel_tele[uc_row] = rel_tele
- dw_pageretr.Object.u_outware_rel_tele1[uc_row] = rel_tele1
- dw_pageretr.Object.u_outware_rel_fax[uc_row] = rel_fax
- dw_pageretr.Object.u_outware_relstr_1[uc_row] = relstr_1
- dw_pageretr.Object.u_outware_relstr_2[uc_row] = relstr_2
- dw_pageretr.Object.u_outware_relstr_3[uc_row] = relstr_3
- dw_pageretr.Object.u_outware_relint_1[uc_row] = relint_1
- dw_pageretr.Object.u_outware_relint_2[uc_row] = relint_2
- dw_pageretr.Object.u_outware_printnum[uc_row] = ll_printnum
- dw_pageretr.Object.u_outware_transcode[uc_row] = transcode
- dw_pageretr.Object.u_outware_carcode[uc_row] = carcode
- dw_pageretr.Object.u_outware_paytype[uc_row] = paytype
- dw_pageretr.Object.typeid[uc_row] = typeid
- dw_pageretr.Object.viewdate[uc_row] = viewdate
- dw_pageretr.Object.enamt_tax[uc_row] = enamt_tax
- dw_pageretr.Object.ifenamt_tax[uc_row] = ifenamt_tax
- dw_pageretr.ResetUpdate()
- dw_pageretr.SetRedraw(TRUE)
- dw_uc.Reset()
- dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
- dw_uc.ResetUpdate()
- dw_uc.SetRedraw(TRUE)
- wf_flagstatus_rf()
- RETURN 1
- end function
- public subroutine wf_check_billfj ();String arg_msg
- Long ll_ConnectionID
- Long cur_billtype
- long ll_relid,ll_relid_mx,ll_scid
- Long ls_filecount = 0
- Int rslt = 1
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
-
- Long row,uc_relid
- row = dw_pageretr.GetRow()
- IF row > 0 THEN
- ll_relid = dw_pageretr.Object.u_outware_outwareid[row]
- ll_scid = dw_pageretr.Object.u_outware_scid[row]
- ll_relid_mx = 0
- ELSE
- rslt = 0
- GOTO ext
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- cur_billtype = 104 //客户投拆单的 mainiD
- ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
- IF ls_filecount > 0 THEN
- rslt = 1
- GOTO ext
- ELSE
- rslt = 0
- GOTO ext
- END IF
- ext:
- wf_encl(rslt)
- DESTROY ls_uo_fjbt
- end subroutine
- public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//==============================================================================
- // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
- //------------------------------------------------------------------------------
- // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
- //------------------------------------------------------------------------------
- Long LS_ROW,ll_id,i,ll_scid
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- ll_id = dw_pageretr.Object.#1[LS_ROW]
- ll_scid = dw_pageretr.Object.U_outware_scid[LS_ROW]
- //查询所选模版是否含有图片信息
- Long ll_ifpic
- Long ll_classid
- SELECT ifpic
- INTO :ll_ifpic
- FROM U_XLS_Templates
- Where id = :ll_xls_Templatesid;
- IF sqlca.SQLCode <> 0 THEN
- ll_ifpic = 0
- END IF
- Long ll_i,ll_j
- Long ll_mtrlid, ll_relid, ll_relid_mx
- Long ll_fileid
- Blob ls_filedata
- SetNull(ls_filedata)
- String Pathname,ls_filename,ls_filetype
- String errmsg
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = Create uo_fj_mng_billtype
- s_xls_pic_list s_pic //结构数组-用于保存图片路径
- IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 102);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
-
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- FOR ll_i = 1 To dw_child.RowCount()
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ll_i]
- // ll_relid = dw_child.Object.u_outwaremx_outwareid[ll_i]
- // ll_relid_mx = dw_child.Object.u_outwaremx_printid[ll_i]
- //取该附件类型中的第一个附件.
- SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
- FROM u_file
- WHERE relid = :ll_mtrlid
- AND classid = :ll_classid
- AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
- OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
- Using sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- ll_fileid = 0
- END IF
- IF ll_fileid > 0 THEN
- Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
- IF Trim(Pathname) <> '' THEN
- IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
- RETURN 0
- END IF
-
- IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
- RETURN 0
- ELSE
-
- s_pic.path[ll_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
-
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- //
- END IF
- ////可选设置/ //
- arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
- IF sys_option_xls_ifuse_passwd = 1 THEN arg_obj_st.uo_const.pwd = Trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
- Boolean xls_locked
- xls_locked = Not (sys_option_xls_lock = 1)
- // Excel 的可选设置
- IF arg_obj_st.of_setoption(arg_ationid, xls_locked,True,arg_msg) <> 1 THEN
- RETURN 0
- END IF
- FOR i = 1 To arg_str_billlist.count
- ////可选操作/ //
- arg_str_billlist.bill[i].ds_data = Create datastore //
- arg_str_billlist.bill[i].ds_data.DataObject = arg_str_billlist.bill[i].datawindow //
- arg_str_billlist.bill[i].ds_data.SetTransObject(sqlca)
-
- //修改点:注意retrieve 参数与上文对应
- arg_str_billlist.bill[i].ds_data.Retrieve(ll_scid,ll_id)
-
- IF ll_ifpic = 1 and ll_classid > 0 THEN
- IF arg_str_billlist.bill[i].datawindow = 'dw_xls_outwaremx' AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径
- FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount()
- arg_str_billlist.bill[i].ds_data.Object.pic[ll_j] = s_pic.path[ll_j]
- NEXT
- END IF
- END IF
-
- NEXT
- RETURN 1
- end function
- public function integer wf_saletaskmtrltoarr (long arg_scid, long arg_taskid, ref s_saletask_mtrl arg_s_rqmtrl, ref long arg_p_rqmtrl, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long arg_p_rqmtrl,ref string arg_msg)
- //查询合同物料资料
- //把物料资料写入数组
- Long rslt = 1
- Long i
- //查询合同物料
- DECLARE pf_cur CURSOR FOR
- SELECT u_saletaskmx.mtrlid,
- u_saletaskmx.uSaleQty - u_saletaskmx.consignedqty - u_saletaskmx.stopqty - ISNULL(uv_outware_sale_noaudit_qty.qty,0),
- u_saletaskmx.enprice,
- u_saletaskmx.fprice,
- u_saletaskmx.rebate,
- u_saletaskmx.mxdscrp,
- u_saletaskmx.status,
- u_saletaskmx.woodcode,
- u_saletaskmx.pcode,
- u_saletaskmx.unit,
- u_saletaskmx.rate,
- u_saletaskmx.mtrlcuscode,
- u_saletaskmx.outtype,
- u_saletaskmx.formula,
- u_saletaskmx.addqty,
- convert(text,u_SaleTaskMx.mxdscrp2) as mxdscrp2,
- u_saletask.taskdate,
- u_saletaskmx.printid,
- u_saletaskmx.taskid,
- u_saletask.taskcode,
- u_saletaskmx.plancode,
- u_saletaskmx.packqty,
- u_saletaskmx.net_weight,
- u_saletaskmx.gross_weight,
- u_saletaskmx.cubage,
- u_saletaskmx.tax,
- u_saletaskmx.mxdscrp3,
- u_saletaskmx.mxdscrp4,
- u_saletaskmx.priceformula
- FROM u_saletaskmx LEFT OUTER JOIN
- uv_outware_sale_noaudit_qty ON
- u_SaleTaskMx.scid = uv_outware_sale_noaudit_qty.scid AND
- u_SaleTaskMx.TaskID = uv_outware_sale_noaudit_qty.relid AND
- u_SaleTaskMx.printid = uv_outware_sale_noaudit_qty.relprintid ,
- u_mtrldef,u_saletask
- WHERE u_saletaskmx.mtrlid = u_mtrldef.mtrlid AND
- ( u_saletaskmx.taskid = :arg_taskid )
- AND ( u_saletaskmx.uSaleQty - u_saletaskmx.consignedqty - u_saletaskmx.stopqty <> 0 )
- And ( u_saletaskmx.scid = :arg_scid )
- and u_saletask.taskid = u_saletaskmx.taskid
- and u_saletask.scid = u_saletaskmx.scid;
- OPEN pf_cur;
- arg_p_rqmtrl = 1
- FETCH pf_cur INTO :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl],
- :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],
- :arg_s_rqmtrl.rebate[arg_p_rqmtrl],:arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],
- :arg_s_rqmtrl.status[arg_p_rqmtrl],:arg_s_rqmtrl.woodcode[arg_p_rqmtrl],
- :arg_s_rqmtrl.pcode[arg_p_rqmtrl],:arg_s_rqmtrl.unit[arg_p_rqmtrl],
- :arg_s_rqmtrl.rate[arg_p_rqmtrl],:arg_s_rqmtrl.mtrlcuscode[arg_p_rqmtrl],
- :arg_s_rqmtrl.outtype[arg_p_rqmtrl],:arg_s_rqmtrl.formula[arg_p_rqmtrl],
- :arg_s_rqmtrl.addqty[arg_p_rqmtrl],:arg_s_rqmtrl.mxdscrp2[arg_p_rqmtrl],
- :arg_s_rqmtrl.taskdate[arg_p_rqmtrl],
- :arg_s_rqmtrl.printid[arg_p_rqmtrl],
- :arg_s_rqmtrl.taskid[arg_p_rqmtrl],
- :arg_s_rqmtrl.taskcode[arg_p_rqmtrl],
- :arg_s_rqmtrl.plancode[arg_p_rqmtrl],
- :arg_s_rqmtrl.packqty[arg_p_rqmtrl],
- :arg_s_rqmtrl.net_weight[arg_p_rqmtrl],
- :arg_s_rqmtrl.gross_weight[arg_p_rqmtrl],
- :arg_s_rqmtrl.cubage[arg_p_rqmtrl],
- :arg_s_rqmtrl.tax[arg_p_rqmtrl],
- :arg_s_rqmtrl.mxdscrp3[arg_p_rqmtrl],
- :arg_s_rqmtrl.mxdscrp4[arg_p_rqmtrl],
- :arg_s_rqmtrl.priceformula[arg_p_rqmtrl]
- ;
- DO WHILE sqlca.SQLCode = 0
- arg_p_rqmtrl++
- FETCH pf_cur INTO :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl],
- :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],
- :arg_s_rqmtrl.rebate[arg_p_rqmtrl],:arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],
- :arg_s_rqmtrl.status[arg_p_rqmtrl],:arg_s_rqmtrl.woodcode[arg_p_rqmtrl],
- :arg_s_rqmtrl.pcode[arg_p_rqmtrl],:arg_s_rqmtrl.unit[arg_p_rqmtrl],
- :arg_s_rqmtrl.rate[arg_p_rqmtrl],:arg_s_rqmtrl.mtrlcuscode[arg_p_rqmtrl],
- :arg_s_rqmtrl.outtype[arg_p_rqmtrl],:arg_s_rqmtrl.formula[arg_p_rqmtrl],
- :arg_s_rqmtrl.addqty[arg_p_rqmtrl],:arg_s_rqmtrl.mxdscrp2[arg_p_rqmtrl],
- :arg_s_rqmtrl.taskdate[arg_p_rqmtrl],
- :arg_s_rqmtrl.printid[arg_p_rqmtrl],
- :arg_s_rqmtrl.taskid[arg_p_rqmtrl],
- :arg_s_rqmtrl.taskcode[arg_p_rqmtrl],
- :arg_s_rqmtrl.plancode[arg_p_rqmtrl],
- :arg_s_rqmtrl.packqty[arg_p_rqmtrl],
- :arg_s_rqmtrl.net_weight[arg_p_rqmtrl],
- :arg_s_rqmtrl.gross_weight[arg_p_rqmtrl],
- :arg_s_rqmtrl.cubage[arg_p_rqmtrl],
- :arg_s_rqmtrl.tax[arg_p_rqmtrl],
- :arg_s_rqmtrl.mxdscrp3[arg_p_rqmtrl],
- :arg_s_rqmtrl.mxdscrp4[arg_p_rqmtrl],
- :arg_s_rqmtrl.priceformula[arg_p_rqmtrl]
- ;
- LOOP
- arg_p_rqmtrl = arg_p_rqmtrl - 1
- CLOSE pf_cur;
- RETURN rslt
- end function
- public function integer wf_autoaddmx (long arg_scid, long arg_saletaskid, string arg_taskcode, long arg_storageid, long arg_cusid, long arg_ifzeromtrlware, ref string arg_msg);//淘汰 //引入订单
- //wf_autoaddmx(arg_saletaskid,arg_storageid,arg_msg)
- //查询合同物料于数组中
- //循环数组
- //查询物料库存总额
- //查询库存批/插入明细记录
- IF Not dw_edit_mode THEN RETURN 0
- long rslt = 1
- //s_saletask_mtrl arg_s_rqmtrlI
- //long P_rqmtrl
- //
- ////Long lrow,li
- ////Decimal mtrlwaresum_qty,sumqty,i_qty,ins_qty,ins_planprice,ins_price,noallocqty,allocqty,r_qty
- ////Long ins_storageid,count = 0,ins_mtrlwareid = 0,child_llrow
- ////String ins_prdpackcode,ins_mtrlcode,ins_mtrlname,ins_plancode,ins_unit,ins_mtrlsectype,ins_zxmtrlmode,ins_mtrlmode
- ////Boolean lb_find = True
- ////Long storageid
- ////Long mtrlwareid
- ////String plancode
- ////Decimal planprice
- ////
- ////Date l_rqdate
- ////l_rqdate = Today()
- //
- ////Int li_if_cus_mtrlware,li_noallocflag,li_inwaretype
- ////Long ls_sptid
- ////SELECT balctype,noallocflag,inwaretype
- //// INTO :li_if_cus_mtrlware,:li_noallocflag,:li_inwaretype
- //// FROM u_storage
- //// Where storageid = :arg_storageid;
- ////IF sqlca.SQLCode <> 0 THEN
- //// arg_msg = '查询仓库是否使用客户库存失败'
- //// rslt = 0
- //// GOTO ext
- ////END IF
- ////
- ////IF li_if_cus_mtrlware = 1 THEN
- //// ls_sptid = arg_cusid
- ////ELSE
- //// ls_sptid = -1
- ////END IF
- //
- //IF wf_saletaskmtrltoarr(arg_scid,arg_saletaskid,arg_s_rqmtrlI,P_rqmtrl,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- //END IF
- //
- //IF wf_set_outwaremx(arg_cusid, arg_storageid, arg_s_rqmtrlI,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- //END IF
- //
- ////FOR li = 1 To P_rqmtrl
- //// sumqty = 0
- //// ins_mtrlcode = ''
- //// ins_mtrlname = ''
- //// lb_find = True
- //// allocqty = 0
- //// noallocqty = 0
- //// i_qty = 0
- //// r_qty = 0
- ////
- //// SELECT u_mtrldef.mtrlcode,
- //// u_mtrldef.mtrlname,
- //// u_mtrldef.unit,
- //// u_mtrldef.mtrlmode,
- //// u_mtrldef.mtrlsectype,
- //// u_mtrldef.zxmtrlmode
- //// INTO :ins_mtrlcode,
- //// :ins_mtrlname,
- //// :ins_unit,
- //// :ins_mtrlmode,
- //// :ins_mtrlsectype,
- //// :ins_zxmtrlmode
- //// FROM u_mtrldef
- //// Where u_mtrldef.mtrlid = :arg_s_rqmtrlI.mtrlid[li];
- //// IF sqlca.SQLCode <> 0 THEN
- //// arg_msg = '查询物料资料失败[错误物料唯一码]>'+sqlca.SQLErrText
- //// rslt = 0
- //// GOTO ext
- //// END IF
- ////
- //// SELECT ISNULL(SUM(u_mtrlware.noallocqty), 0) AS sum_qty
- //// INTO :mtrlwaresum_qty
- //// FROM u_mtrlware
- //// WHERE u_mtrlware.mtrlid = :arg_s_rqmtrlI.mtrlid[li]
- //// AND u_mtrlware.storageid = :arg_storageid
- //// AND u_mtrlware.status = :arg_s_rqmtrlI.status[li]
- //// AND u_mtrlware.pcode = :arg_s_rqmtrlI.pcode[li]
- //// AND u_mtrlware.woodcode = :arg_s_rqmtrlI.woodcode[li]
- //// AND u_mtrlware.scid = :cur_scid
- //// AND ( u_mtrlware.sptid = :ls_sptid OR :ls_sptid = -1 )
- //// And (plancode = :arg_s_rqmtrlI.plancode[li] Or :arg_s_rqmtrlI.plancode[li] = '');
- //// // and ( (:ifmtrlware = 1 and plancode = :arg_taskcode ) or :ifmtrlware = 0);
- //// IF sqlca.SQLCode = 0 THEN
- ////
- //// ELSEIF sqlca.SQLCode = 100 THEN
- //// mtrlwaresum_qty = -100000
- //// ELSE
- //// arg_msg = '查询库存量失败>'+sqlca.SQLErrText
- //// MessageBox('提示',String(arg_s_rqmtrlI.mtrlid[li] )+'颜色:'+arg_s_rqmtrlI.status[li]+' '+arg_msg,stopsign!,OK!)
- //// rslt = 0
- //// GOTO ext
- //// END IF
- ////
- //// IF li_noallocflag = 1 And mtrlwaresum_qty = 0 Or mtrlwaresum_qty = -100000 THEN
- //// IF dw_child.GetRow() <= 0 THEN
- //// child_llrow = dw_child.InsertRow(0)
- //// ELSE
- //// IF dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] > 0 THEN
- //// child_llrow = dw_child.InsertRow(0)
- //// ELSE
- //// child_llrow = dw_child.GetRow()
- //// END IF
- //// END IF
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1
- //// dw_child.Object.u_outwaremx_relid[child_llrow] = arg_saletaskid
- //// dw_child.Object.u_outwaremx_relprintid[child_llrow] = arg_s_rqmtrlI.printid[li]
- //// dw_child.Object.taskcode[child_llrow] = arg_taskcode
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = 0
- //// dw_child.Object.u_outwaremx_mtrlid[child_llrow] = 0
- //// dw_child.Object.u_outwaremx_enprice[child_llrow] = arg_s_rqmtrlI.enprice[li]
- //// dw_child.Object.u_outwaremx_fprice[child_llrow] = arg_s_rqmtrlI.fprice[li]
- //// dw_child.Object.u_outwaremx_rebate[child_llrow] = arg_s_rqmtrlI.rebate[li]
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = 0
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = 0
- ////
- //// dw_child.Object.u_outwaremx_unit[child_llrow] = arg_s_rqmtrlI.unit[li]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
- //// dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
- //// dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = arg_s_rqmtrlI.mxdscrp[li]
- //// dw_child.Object.mxdscrp2[child_llrow] = arg_s_rqmtrlI.mxdscrp2[li]
- //// dw_child.Object.u_outwaremx_status[child_llrow] = arg_s_rqmtrlI.status[li]
- //// dw_child.Object.u_outwaremx_woodcode[child_llrow] = arg_s_rqmtrlI.woodcode[li]
- //// dw_child.Object.u_outwaremx_pcode[child_llrow] = arg_s_rqmtrlI.pcode[li]
- //// dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
- //// dw_child.Object.u_mtrldef_curware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_llrow] = arg_s_rqmtrlI.mtrlcuscode[li]
- //// dw_child.Object.u_outwaremx_rate[child_llrow] = arg_s_rqmtrlI.rate[li]
- //// dw_child.Object.u_outwaremx_outtype[child_llrow] = arg_s_rqmtrlI.outtype[li]
- //// dw_child.Object.u_outwaremx_formula[child_llrow] = arg_s_rqmtrlI.formula[li]
- //// dw_child.Object.u_outwaremx_addqty[child_llrow] = arg_s_rqmtrlI.addqty[li]
- //// dw_child.Object.u_mtrldef_taskdate[child_llrow] = arg_s_rqmtrlI.taskdate[li]
- //// GOTO nextmtrl
- //// END IF
- ////
- //// child_llrow = dw_child.GetRow()
- ////
- //// IF mtrlwaresum_qty = 0 THEN
- //// IF dw_child.GetRow() > 0 THEN
- //// IF dw_child.Object.u_outwaremx_mtrlid[child_llrow] <> 0 THEN
- //// child_llrow = dw_child.InsertRow (0)
- //// ELSE
- //// child_llrow = dw_child.GetRow()
- //// END IF
- //// ELSE
- //// child_llrow = dw_child.InsertRow (0)
- //// END IF
- ////
- //// mtrlwareid = 0
- //// plancode = ''
- //// noallocqty = 0
- //// planprice = 0
- ////
- //// SELECT top 1
- //// u_mtrlware.mtrlwareid,
- //// u_mtrlware.plancode,
- //// u_mtrlware.noallocqty,
- //// u_mtrlware.planprice
- //// INTO
- //// :mtrlwareid,
- //// :plancode,
- //// :noallocqty,
- //// :planprice
- //// FROM u_mtrlware
- //// WHERE ( u_mtrlware.mtrlid = :arg_s_rqmtrlI.mtrlid[li] ) AND
- //// ( u_mtrlware.storageid = :arg_storageid ) AND
- //// ( u_mtrlware.status = :arg_s_rqmtrlI.status[li] ) AND
- //// ( u_mtrlware.pcode = :arg_s_rqmtrlI.pcode[li] ) AND
- //// ( u_mtrlware.woodcode = :arg_s_rqmtrlI.woodcode[li] ) AND
- //// ( u_mtrlware.scid = :cur_scid ) AND
- //// ( u_mtrlware.sptid = :ls_sptid OR :ls_sptid = -1 )
- //// AND (plancode = :arg_s_rqmtrlI.plancode[li] OR :arg_s_rqmtrlI.plancode[li] = '')
- //// Order By u_mtrlware.mtrlwareid Desc ;
- //// IF sqlca.SQLCode = -1 THEN
- //// arg_msg = '查询库存量失败>'+sqlca.SQLErrText
- //// MessageBox('提示',String(arg_s_rqmtrlI.mtrlid[li] )+'颜色:'+arg_s_rqmtrlI.status[li]+' '+arg_msg,stopsign!,OK!)
- //// rslt = 0
- //// GOTO ext
- //// END IF
- ////
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1
- //// dw_child.Object.u_outwaremx_relid[child_llrow] = arg_saletaskid
- //// dw_child.Object.u_outwaremx_relprintid[child_llrow] = arg_s_rqmtrlI.printid[li]
- //// dw_child.Object.taskcode[child_llrow] = arg_taskcode
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = mtrlwareid
- //// dw_child.Object.u_outwaremx_mtrlid[child_llrow] = arg_s_rqmtrlI.mtrlid[li]
- ////
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- ////
- //// dw_child.Object.u_outwaremx_storageid[child_llrow] = arg_storageid
- //// dw_child.Object.u_outwaremx_plancode[child_llrow] = plancode
- //// dw_child.Object.u_outwaremx_planprice[child_llrow] = planprice
- //// dw_child.Object.u_outwaremx_unit[child_llrow] = arg_s_rqmtrlI.unit[li]
- //// dw_child.Object.u_outwaremx_enprice[child_llrow] = arg_s_rqmtrlI.enprice[li]
- //// dw_child.Object.u_outwaremx_fprice[child_llrow] = arg_s_rqmtrlI.fprice[li]
- //// dw_child.Object.u_outwaremx_rebate[child_llrow] = arg_s_rqmtrlI.rebate[li]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
- //// dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
- //// dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
- //// dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = arg_s_rqmtrlI.mxdscrp[li]
- //// dw_child.Object.mxdscrp2[child_llrow] = arg_s_rqmtrlI.mxdscrp2[li]
- //// dw_child.Object.u_outwaremx_status[child_llrow] = arg_s_rqmtrlI.status[li]
- //// dw_child.Object.u_outwaremx_woodcode[child_llrow] = arg_s_rqmtrlI.woodcode[li]
- //// dw_child.Object.u_outwaremx_pcode[child_llrow] = arg_s_rqmtrlI.pcode[li]
- //// dw_child.Object.u_mtrldef_curware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_llrow] = arg_s_rqmtrlI.mtrlcuscode[li]
- //// dw_child.Object.u_outwaremx_rate[child_llrow] = arg_s_rqmtrlI.rate[li]
- //// dw_child.Object.u_outwaremx_outtype[child_llrow] = arg_s_rqmtrlI.outtype[li]
- //// dw_child.Object.u_outwaremx_formula[child_llrow] = arg_s_rqmtrlI.formula[li]
- //// dw_child.Object.u_outwaremx_addqty[child_llrow] = arg_s_rqmtrlI.addqty[li]
- //// dw_child.Object.u_mtrldef_taskdate[child_llrow] = arg_s_rqmtrlI.taskdate[li]
- //// ELSE
- //// DECLARE pf_cur CURSOR FOR
- //// SELECT u_mtrlware.storageid,
- //// u_mtrlware.mtrlwareid,
- //// u_mtrlware.plancode,
- //// u_mtrlware.noallocqty,
- //// u_mtrlware.planprice
- //// FROM u_mtrlware
- //// WHERE ( u_mtrlware.mtrlid = :arg_s_rqmtrlI.mtrlid[li] ) AND
- //// ( u_mtrlware.storageid = :arg_storageid ) AND
- //// ( u_mtrlware.status = :arg_s_rqmtrlI.status[li] ) AND
- //// ( u_mtrlware.pcode = :arg_s_rqmtrlI.pcode[li] ) AND
- //// ( u_mtrlware.woodcode = :arg_s_rqmtrlI.woodcode[li] ) AND
- //// ( u_mtrlware.scid = :cur_scid ) AND
- //// ( u_mtrlware.sptid = :ls_sptid OR :ls_sptid = -1 ) AND
- //// ( u_mtrlware.noallocqty > 0)
- //// AND (plancode = :arg_s_rqmtrlI.plancode[li] OR :arg_s_rqmtrlI.plancode[li] = '')
- //// Order By u_mtrlware.noallocqty Desc ;
- ////
- //// OPEN pf_cur;
- //// count = 1
- //// FETCH pf_cur INTO :ins_storageid,:ins_mtrlwareid,:ins_plancode,&
- //// :ins_qty,:ins_planprice ;
- //// DO WHILE sqlca.SQLCode = 0 And r_qty < arg_s_rqmtrlI.qty[li]
- //// count++
- //// i_qty = ins_qty
- //// r_qty = r_qty+i_qty
- //// IF r_qty > arg_s_rqmtrlI.qty[li] THEN
- //// i_qty = ins_qty - ( r_qty - arg_s_rqmtrlI.qty[li] )
- ////
- //// END IF
- ////
- //// IF dw_child.GetRow() > 0 THEN
- //// IF dw_child.Object.u_outwaremx_mtrlid[child_llrow] <> 0 THEN
- //// child_llrow = dw_child.InsertRow (0)
- //// ELSE
- //// child_llrow = dw_child.GetRow()
- //// END IF
- //// ELSE
- //// child_llrow = dw_child.InsertRow (0)
- //// END IF
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1
- //// dw_child.Object.u_outwaremx_relid[child_llrow] = arg_saletaskid
- //// dw_child.Object.u_outwaremx_relprintid[child_llrow] = arg_s_rqmtrlI.printid[li]
- //// dw_child.Object.taskcode[child_llrow] = arg_taskcode
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = ins_mtrlwareid
- //// dw_child.Object.u_outwaremx_mtrlid[child_llrow] = arg_s_rqmtrlI.mtrlid[li]
- //// dw_child.Object.u_outwaremx_storageid[child_llrow] = ins_storageid
- //// dw_child.Object.u_outwaremx_plancode[child_llrow] = ins_plancode
- //// dw_child.Object.u_outwaremx_planprice[child_llrow] = ins_planprice
- //// dw_child.Object.u_outwaremx_unit[child_llrow] = arg_s_rqmtrlI.unit[li]
- //// dw_child.Object.u_outwaremx_enprice[child_llrow] = arg_s_rqmtrlI.enprice[li]
- //// dw_child.Object.u_outwaremx_fprice[child_llrow] = arg_s_rqmtrlI.fprice[li]
- //// dw_child.Object.u_outwaremx_rebate[child_llrow] = arg_s_rqmtrlI.rebate[li]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
- //// dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
- //// dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
- //// dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = arg_s_rqmtrlI.mxdscrp[li]
- //// dw_child.Object.mxdscrp2[child_llrow] = arg_s_rqmtrlI.mxdscrp2[li]
- //// dw_child.Object.u_outwaremx_status[child_llrow] = arg_s_rqmtrlI.status[li]
- //// dw_child.Object.u_outwaremx_woodcode[child_llrow] = arg_s_rqmtrlI.woodcode[li]
- //// dw_child.Object.u_outwaremx_pcode[child_llrow] = arg_s_rqmtrlI.pcode[li]
- //// dw_child.Object.u_mtrldef_curware_qty[child_llrow] = ins_qty
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = mtrlwaresum_qty
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_llrow] = arg_s_rqmtrlI.mtrlcuscode[li]
- //// dw_child.Object.u_outwaremx_rate[child_llrow] = arg_s_rqmtrlI.rate[li]
- //// dw_child.Object.u_outwaremx_outtype[child_llrow] = arg_s_rqmtrlI.outtype[li]
- //// dw_child.Object.u_outwaremx_formula[child_llrow] = arg_s_rqmtrlI.formula[li]
- //// dw_child.Object.u_outwaremx_addqty[child_llrow] = arg_s_rqmtrlI.addqty[li]
- //// dw_child.Object.u_mtrldef_taskdate[child_llrow] = arg_s_rqmtrlI.taskdate[li]
- //// IF ins_qty <= arg_s_rqmtrlI.qty[li] THEN
- //// IF li_noallocflag = 0 THEN
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// ELSE
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = i_qty
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = i_qty
- //// END IF
- //// ELSE
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// END IF
- ////
- ////
- //// FETCH pf_cur INTO :ins_storageid,:ins_mtrlwareid,:ins_plancode,&
- //// :ins_qty,:ins_planprice ;
- ////
- //// LOOP
- //// count = count - 1
- //// CLOSE pf_cur;
- //// END IF
- //// nextmtrl:
- ////NEXT
- //
- //
- //ext:
- RETURN rslt
- end function
- public function integer wf_saletaskmtrltoarr_salemx (long arg_scid, ref s_saletask_mtrl arg_s_rqmtrl, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long i,ref string arg_msg)
- //查询合同物料资料
- //把物料资料写入数组
- Long rslt = 1
- Long i
- FOR i = 1 To UpperBound(arg_s_rqmtrl.taskid)
- SELECT u_saletaskmx.mtrlid,
- u_saletaskmx.uSaleQty - u_saletaskmx.consignedqty - u_saletaskmx.stopqty - isnull(uv_outware_sale_noaudit_qty.qty,0),
- u_saletaskmx.enprice,
- u_saletaskmx.fprice,
- u_saletaskmx.rebate,
- u_saletaskmx.mxdscrp,
- u_saletaskmx.status,
- u_saletaskmx.woodcode,
- u_saletaskmx.pcode,
- u_saletaskmx.unit,
- u_saletaskmx.rate,
- u_saletaskmx.mtrlcuscode,
- u_saletaskmx.outtype,
- u_saletaskmx.formula,
- u_saletaskmx.addqty,
- convert(text,u_SaleTaskMx.mxdscrp2) as mxdscrp2,
- u_saletask.taskdate,
- u_saletaskmx.plancode,
- u_saletaskmx.packqty,
- u_saletaskmx.net_weight,
- u_saletaskmx.gross_weight,
- u_saletaskmx.cubage,
- u_saletaskmx.tax,
- u_saletaskmx.mxdscrp3,
- u_saletaskmx.mxdscrp4,
- u_saletaskmx.priceformula
- INTO :arg_s_rqmtrl.mtrlid[i],
- :arg_s_rqmtrl.qty[i],
- :arg_s_rqmtrl.enprice[i],
- :arg_s_rqmtrl.fprice[i],
- :arg_s_rqmtrl.rebate[i],
- :arg_s_rqmtrl.mxdscrp[i],
- :arg_s_rqmtrl.status[i],
- :arg_s_rqmtrl.woodcode[i],
- :arg_s_rqmtrl.pcode[i],
- :arg_s_rqmtrl.unit[i],
- :arg_s_rqmtrl.rate[i],
- :arg_s_rqmtrl.mtrlcuscode[i],
- :arg_s_rqmtrl.outtype[i],
- :arg_s_rqmtrl.formula[i],
- :arg_s_rqmtrl.addqty[i],
- :arg_s_rqmtrl.mxdscrp2[i],
- :arg_s_rqmtrl.taskdate[i],
- :arg_s_rqmtrl.plancode[i],
- :arg_s_rqmtrl.packqty[i],
- :arg_s_rqmtrl.net_weight[i],
- :arg_s_rqmtrl.gross_weight[i],
- :arg_s_rqmtrl.cubage[i],
- :arg_s_rqmtrl.tax[i],
- :arg_s_rqmtrl.mxdscrp3[i],
- :arg_s_rqmtrl.mxdscrp4[i],
- :arg_s_rqmtrl.priceformula[i]
- FROM u_SaleTaskMx INNER JOIN
- u_SaleTask ON u_SaleTaskMx.TaskID = u_SaleTask.TaskID AND
- u_SaleTaskMx.scid = u_SaleTask.scid LEFT OUTER JOIN
- uv_outware_sale_noaudit_qty ON
- u_SaleTaskMx.scid = uv_outware_sale_noaudit_qty.scid AND
- u_SaleTaskMx.TaskID = uv_outware_sale_noaudit_qty.relid AND
- u_SaleTaskMx.printid = uv_outware_sale_noaudit_qty.relprintid
- WHERE ( u_saletaskmx.scid = :arg_scid )
- AND ( u_saletaskmx.taskid = :arg_s_rqmtrl.taskid[i] )
- And u_saletaskmx.printid = :arg_s_rqmtrl.printid[i]
- And ( u_saletaskmx.uSaleQty - u_saletaskmx.consignedqty - u_saletaskmx.stopqty <> 0 );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询订单明细信息失败!'+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
- ext:
- RETURN rslt
- end function
- public function integer wf_autoaddmx_salemx (long arg_scid, s_saletask_mtrl arg_s_rqmtrli, long arg_storageid, long arg_cusid, long arg_ifzeromtrlware, ref string arg_msg);//淘汰 //引入订单明细
- //wf_autoaddmx(arg_taskid,arg_storageid,arg_msg)
- //查询合同物料于数组中
- //循环数组
- //查询物料库存总额
- //查询库存批/插入明细记录
- IF NOT dw_edit_mode THEN RETURN 0
- Long li,rslt = 1
- ////Long count = 0,child_llrow
- ////
- ////Decimal mtrlwaresum_qty,sumqty,i_qty,ins_qty,ins_planprice,noallocqty,allocqty,r_qty
- ////Long ins_storageid,ins_mtrlwareid = 0
- ////String ins_mtrlcode,ins_mtrlname,ins_plancode,ins_unit,ins_mtrlsectype,ins_zxmtrlmode,ins_mtrlmode
- ////Long mtrlwareid
- ////String plancode
- ////Decimal planprice
- ////
- ////Boolean lb_find = TRUE
- //
- ////Int li_if_cus_mtrlware,li_noallocflag
- ////Long ll_sptid
- ////
- //////客户库存, 未开单库存
- ////SELECT balctype, noallocflag
- //// INTO :li_if_cus_mtrlware, :li_noallocflag
- //// FROM u_storage
- //// Where storageid = :arg_storageid;
- ////IF sqlca.SQLCode <> 0 THEN
- //// arg_msg = '查询仓库是否使用客户库存失败'
- //// rslt = 0
- //// GOTO ext
- ////END IF
- ////
- ////IF li_if_cus_mtrlware = 1 THEN
- //// ll_sptid = arg_cusid
- ////ELSE
- //// ll_sptid = -1
- ////END IF
- //
- //IF wf_saletaskmtrltoarr_salemx(arg_scid,arg_s_rqmtrlI,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- //END IF
- //
- //IF wf_set_outwaremx(arg_cusid, arg_storageid, arg_s_rqmtrlI,arg_msg) = 0 THEN
- // rslt = 0
- // GOTO ext
- //END IF
- //
- ////FOR li = 1 TO UpperBound(arg_s_rqmtrlI.taskid)
- //// sumqty = 0
- //// ins_mtrlcode = ''
- //// ins_mtrlname = ''
- //// lb_find = TRUE
- //// allocqty = 0
- //// noallocqty = 0
- //// i_qty = 0
- //// r_qty = 0
- ////
- //// SELECT u_mtrldef.mtrlcode,
- //// u_mtrldef.mtrlname,
- //// u_mtrldef.unit,
- //// u_mtrldef.mtrlmode,
- //// u_mtrldef.mtrlsectype,
- //// u_mtrldef.zxmtrlmode
- //// INTO :ins_mtrlcode,
- //// :ins_mtrlname,
- //// :ins_unit,
- //// :ins_mtrlmode,
- //// :ins_mtrlsectype,
- //// :ins_zxmtrlmode
- //// FROM u_mtrldef
- //// Where u_mtrldef.mtrlid = :arg_s_rqmtrlI.mtrlid[li];
- //// IF sqlca.SQLCode <> 0 THEN
- //// arg_msg = '查询物料资料失败[错误物料唯一码]>'+sqlca.SQLErrText
- //// rslt = 0
- //// GOTO ext
- //// END IF
- ////
- //// SELECT ISNULL(SUM(u_mtrlware.noallocqty), 0) AS sum_qty
- //// INTO :mtrlwaresum_qty
- //// FROM u_mtrlware
- //// WHERE u_mtrlware.scid = :cur_scid
- //// AND u_mtrlware.mtrlid = :arg_s_rqmtrlI.mtrlid[li]
- //// AND u_mtrlware.storageid = :arg_storageid
- //// AND u_mtrlware.status = :arg_s_rqmtrlI.status[li]
- //// AND u_mtrlware.pcode = :arg_s_rqmtrlI.pcode[li]
- //// AND u_mtrlware.woodcode = :arg_s_rqmtrlI.woodcode[li]
- //// AND ( u_mtrlware.sptid = :ll_sptid OR :ll_sptid = -1 )
- //// And (plancode = :arg_s_rqmtrlI.plancode[li] Or :arg_s_rqmtrlI.plancode[li] = '');
- ////// And ( (:ifmtrlware = 1 AND plancode = :arg_s_rqmtrlI.taskcode[li] ) OR :ifmtrlware = 0) ;
- ////
- //// IF sqlca.SQLCode = 0 THEN
- ////
- //// ELSEIF sqlca.SQLCode = 100 THEN
- //// mtrlwaresum_qty = -100000
- //// ELSE
- //// arg_msg = '查询库存量失败>'+sqlca.SQLErrText
- //// MessageBox('错误',String(arg_s_rqmtrlI.mtrlid[li] )+'颜色:'+arg_s_rqmtrlI.status[li]+' '+arg_msg,stopsign!,OK!)
- //// rslt = 0
- //// GOTO ext
- //// END IF
- ////
- //// IF li_noallocflag = 1 AND mtrlwaresum_qty = 0 OR mtrlwaresum_qty = -100000 THEN
- //// IF dw_child.GetRow() <= 0 THEN
- //// child_llrow = dw_child.InsertRow(0)
- //// ELSE
- //// IF dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] > 0 THEN
- //// child_llrow = dw_child.InsertRow(0)
- //// ELSE
- //// child_llrow = dw_child.GetRow()
- //// END IF
- //// END IF
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1
- //// dw_child.Object.u_outwaremx_relid[child_llrow] = arg_s_rqmtrlI.taskid[li]
- //// dw_child.Object.u_outwaremx_relprintid[child_llrow] = arg_s_rqmtrlI.printid[li]
- //// dw_child.Object.taskcode[child_llrow] = arg_s_rqmtrlI.taskcode[li]
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = 0
- //// dw_child.Object.u_outwaremx_mtrlid[child_llrow] = 0
- //// dw_child.Object.u_outwaremx_enprice[child_llrow] = arg_s_rqmtrlI.enprice[li]
- //// dw_child.Object.u_outwaremx_fprice[child_llrow] = arg_s_rqmtrlI.fprice[li]
- //// dw_child.Object.u_outwaremx_rebate[child_llrow] = arg_s_rqmtrlI.rebate[li]
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = 0
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = 0
- //// dw_child.Object.u_outwaremx_unit[child_llrow] = arg_s_rqmtrlI.unit[li]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
- //// dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
- //// dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = arg_s_rqmtrlI.mxdscrp[li]
- //// dw_child.Object.mxdscrp2[child_llrow] = arg_s_rqmtrlI.mxdscrp2[li]
- //// dw_child.Object.u_outwaremx_status[child_llrow] = arg_s_rqmtrlI.status[li]
- //// dw_child.Object.u_outwaremx_woodcode[child_llrow] = arg_s_rqmtrlI.woodcode[li]
- //// dw_child.Object.u_outwaremx_pcode[child_llrow] = arg_s_rqmtrlI.pcode[li]
- //// dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
- //// dw_child.Object.u_mtrldef_curware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_llrow] = arg_s_rqmtrlI.mtrlcuscode[li]
- //// dw_child.Object.u_outwaremx_rate[child_llrow] = arg_s_rqmtrlI.rate[li]
- //// dw_child.Object.u_outwaremx_outtype[child_llrow] = arg_s_rqmtrlI.outtype[li]
- //// dw_child.Object.u_outwaremx_formula[child_llrow] = arg_s_rqmtrlI.formula[li]
- //// dw_child.Object.u_outwaremx_addqty[child_llrow] = arg_s_rqmtrlI.addqty[li]
- //// dw_child.Object.u_mtrldef_taskdate[child_llrow] = arg_s_rqmtrlI.taskdate[li]
- //// GOTO nextmtrl
- //// END IF
- ////
- //// child_llrow = dw_child.GetRow()
- ////
- //// IF mtrlwaresum_qty = 0 THEN
- //// IF dw_child.GetRow() > 0 THEN
- //// IF dw_child.Object.u_outwaremx_mtrlid[child_llrow] <> 0 THEN
- //// child_llrow = dw_child.InsertRow (0)
- //// ELSE
- //// child_llrow = dw_child.GetRow()
- //// END IF
- //// ELSE
- //// child_llrow = dw_child.InsertRow (0)
- //// END IF
- ////
- //// mtrlwareid = 0
- //// plancode = ''
- //// noallocqty = 0
- //// planprice = 0
- ////
- //// SELECT top 1
- //// u_mtrlware.mtrlwareid,
- //// u_mtrlware.plancode,
- //// u_mtrlware.noallocqty,
- //// u_mtrlware.planprice
- //// INTO
- //// :mtrlwareid,
- //// :plancode,
- //// :noallocqty,
- //// :planprice
- //// FROM u_mtrlware
- //// WHERE ( u_mtrlware.mtrlid = :arg_s_rqmtrlI.mtrlid[li] ) AND
- //// ( u_mtrlware.storageid = :arg_storageid ) AND
- //// ( u_mtrlware.status = :arg_s_rqmtrlI.status[li] ) AND
- //// ( u_mtrlware.pcode = :arg_s_rqmtrlI.pcode[li] ) AND
- //// ( u_mtrlware.woodcode = :arg_s_rqmtrlI.woodcode[li] ) AND
- //// ( u_mtrlware.scid = :cur_scid ) AND
- //// ( u_mtrlware.sptid = :ll_sptid OR :ll_sptid = -1 )
- //// And (plancode = :arg_s_rqmtrlI.plancode[li] Or :arg_s_rqmtrlI.plancode[li] = '')
- //// Order By u_mtrlware.mtrlwareid Desc ;
- //// IF sqlca.SQLCode = -1 THEN
- //// arg_msg = '查询库存信息失败>'+sqlca.SQLErrText
- //// MessageBox('错误',String(arg_s_rqmtrlI.mtrlid[li] )+'颜色:'+arg_s_rqmtrlI.status[li]+' '+arg_msg,information!,OK!)
- //// rslt = 0
- //// GOTO ext
- //// END IF
- ////
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1
- //// dw_child.Object.u_outwaremx_relid[child_llrow] = arg_s_rqmtrlI.taskid[li]
- //// dw_child.Object.u_outwaremx_relprintid[child_llrow] = arg_s_rqmtrlI.printid[li]
- //// dw_child.Object.taskcode[child_llrow] = arg_s_rqmtrlI.taskcode[li]
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = mtrlwareid
- //// dw_child.Object.u_outwaremx_mtrlid[child_llrow] = arg_s_rqmtrlI.mtrlid[li]
- //// dw_child.Object.u_outwaremx_storageid[child_llrow] = arg_storageid
- //// dw_child.Object.u_outwaremx_plancode[child_llrow] = plancode
- //// dw_child.Object.u_outwaremx_planprice[child_llrow] = planprice
- //// dw_child.Object.u_outwaremx_unit[child_llrow] = arg_s_rqmtrlI.unit[li]
- //// dw_child.Object.u_outwaremx_enprice[child_llrow] = arg_s_rqmtrlI.enprice[li]
- //// dw_child.Object.u_outwaremx_fprice[child_llrow] = arg_s_rqmtrlI.fprice[li]
- //// dw_child.Object.u_outwaremx_rebate[child_llrow] = arg_s_rqmtrlI.rebate[li]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
- //// dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
- //// dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
- //// dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = arg_s_rqmtrlI.mxdscrp[li]
- //// dw_child.Object.mxdscrp2[child_llrow] = arg_s_rqmtrlI.mxdscrp2[li]
- //// dw_child.Object.u_outwaremx_status[child_llrow] = arg_s_rqmtrlI.status[li]
- //// dw_child.Object.u_outwaremx_woodcode[child_llrow] = arg_s_rqmtrlI.woodcode[li]
- //// dw_child.Object.u_outwaremx_pcode[child_llrow] = arg_s_rqmtrlI.pcode[li]
- //// dw_child.Object.u_mtrldef_curware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = 0
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_llrow] = arg_s_rqmtrlI.mtrlcuscode[li]
- //// dw_child.Object.u_outwaremx_rate[child_llrow] = arg_s_rqmtrlI.rate[li]
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_outwaremx_outtype[child_llrow] = arg_s_rqmtrlI.outtype[li]
- //// dw_child.Object.u_outwaremx_formula[child_llrow] = arg_s_rqmtrlI.formula[li]
- //// dw_child.Object.u_outwaremx_addqty[child_llrow] = arg_s_rqmtrlI.addqty[li]
- //// dw_child.Object.u_mtrldef_taskdate[child_llrow] = arg_s_rqmtrlI.taskdate[li]
- //// ELSE
- //// DECLARE pf_cur CURSOR FOR
- //// SELECT u_mtrlware.storageid,
- //// u_mtrlware.mtrlwareid,
- //// u_mtrlware.plancode,
- //// u_mtrlware.noallocqty,
- //// u_mtrlware.planprice
- //// FROM u_mtrlware
- //// WHERE ( u_mtrlware.mtrlid = :arg_s_rqmtrlI.mtrlid[li] ) AND
- //// ( u_mtrlware.storageid = :arg_storageid ) AND
- //// ( u_mtrlware.status = :arg_s_rqmtrlI.status[li] ) AND
- //// ( u_mtrlware.pcode = :arg_s_rqmtrlI.pcode[li] ) AND
- //// ( u_mtrlware.woodcode = :arg_s_rqmtrlI.woodcode[li] ) AND
- //// ( u_mtrlware.scid = :cur_scid ) AND
- //// ( u_mtrlware.sptid = :ll_sptid OR :ll_sptid = -1 ) AND
- //// ( u_mtrlware.noallocqty > 0)
- //// And (plancode = :arg_s_rqmtrlI.plancode[li] Or :arg_s_rqmtrlI.plancode[li] = '')
- //// Order By u_mtrlware.noallocqty Desc ;
- ////
- //// OPEN pf_cur;
- //// count = 1
- //// FETCH pf_cur INTO :ins_storageid,:ins_mtrlwareid,:ins_plancode,&
- //// :ins_qty,:ins_planprice ;
- //// DO WHILE sqlca.SQLCode = 0 AND r_qty < arg_s_rqmtrlI.qty[li]
- //// count++
- //// i_qty = ins_qty
- //// r_qty = r_qty+i_qty
- //// IF r_qty > arg_s_rqmtrlI.qty[li] THEN
- //// i_qty = ins_qty - ( r_qty - arg_s_rqmtrlI.qty[li] )
- ////
- //// END IF
- ////
- //// IF dw_child.GetRow() > 0 THEN
- //// IF dw_child.Object.u_outwaremx_mtrlid[child_llrow] <> 0 THEN
- //// child_llrow = dw_child.InsertRow (0)
- //// ELSE
- //// child_llrow = dw_child.GetRow()
- //// END IF
- //// ELSE
- //// child_llrow = dw_child.InsertRow (0)
- //// END IF
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1
- //// dw_child.Object.u_outwaremx_relid[child_llrow] = arg_s_rqmtrlI.taskid[li]
- //// dw_child.Object.u_outwaremx_relprintid[child_llrow] = arg_s_rqmtrlI.printid[li]
- //// dw_child.Object.taskcode[child_llrow] = arg_s_rqmtrlI.taskcode[li]
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = ins_mtrlwareid
- //// dw_child.Object.u_outwaremx_mtrlid[child_llrow] = arg_s_rqmtrlI.mtrlid[li]
- //// dw_child.Object.u_outwaremx_storageid[child_llrow] = ins_storageid
- //// dw_child.Object.u_outwaremx_plancode[child_llrow] = ins_plancode
- //// dw_child.Object.u_outwaremx_planprice[child_llrow] = ins_planprice
- //// dw_child.Object.u_outwaremx_unit[child_llrow] = arg_s_rqmtrlI.unit[li]
- //// dw_child.Object.u_outwaremx_enprice[child_llrow] = arg_s_rqmtrlI.enprice[li]
- //// dw_child.Object.u_outwaremx_fprice[child_llrow] = arg_s_rqmtrlI.fprice[li]
- //// dw_child.Object.u_outwaremx_rebate[child_llrow] = arg_s_rqmtrlI.rebate[li]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname
- //// dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode
- //// dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit
- //// dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = arg_s_rqmtrlI.mxdscrp[li]
- //// dw_child.Object.mxdscrp2[child_llrow] = arg_s_rqmtrlI.mxdscrp2[li]
- //// dw_child.Object.u_outwaremx_status[child_llrow] = arg_s_rqmtrlI.status[li]
- //// dw_child.Object.u_outwaremx_woodcode[child_llrow] = arg_s_rqmtrlI.woodcode[li]
- //// dw_child.Object.u_outwaremx_pcode[child_llrow] = arg_s_rqmtrlI.pcode[li]
- //// dw_child.Object.u_mtrldef_curware_qty[child_llrow] = ins_qty
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = mtrlwaresum_qty
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_llrow] = arg_s_rqmtrlI.mtrlcuscode[li]
- //// dw_child.Object.u_outwaremx_rate[child_llrow] = arg_s_rqmtrlI.rate[li]
- //// dw_child.Object.u_outwaremx_outtype[child_llrow] = arg_s_rqmtrlI.outtype[li]
- //// dw_child.Object.u_outwaremx_formula[child_llrow] = arg_s_rqmtrlI.formula[li]
- //// dw_child.Object.u_outwaremx_addqty[child_llrow] = arg_s_rqmtrlI.addqty[li]
- //// dw_child.Object.u_mtrldef_taskdate[child_llrow] = arg_s_rqmtrlI.taskdate[li]
- //// IF ins_qty <= arg_s_rqmtrlI.qty[li] THEN
- //// IF li_noallocflag = 0 THEN
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// ELSE
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = i_qty
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = i_qty
- //// END IF
- //// ELSE
- //// dw_child.Object.u_outwaremx_saleqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// dw_child.Object.u_outwaremx_uqty[child_llrow] = arg_s_rqmtrlI.qty[li]
- //// END IF
- ////
- ////
- //// FETCH pf_cur INTO :ins_storageid,:ins_mtrlwareid,:ins_plancode,&
- //// :ins_qty,:ins_planprice ;
- ////
- //// LOOP
- //// count = count - 1
- //// CLOSE pf_cur;
- //// END IF
- ////nextmtrl:
- ////NEXT
- //
- //
- //ext:
- RETURN rslt
- end function
- public function integer wf_refresh_interface ();//wf_refresh_interface
- IF dw_edit_mode THEN
- cb_retrieve.Enabled = FALSE
- cb_delet.Enabled = FALSE
- cb_print.Enabled = FALSE
- cb_viewprint.Enabled = FALSE
- cb_auditing.Enabled = FALSE
- cb_auditing_cancel.Enabled = FALSE
-
- dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
- dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关
- dw_child.RBUTTON_SETPOSITION_USE = FALSE //定位
-
- cb_edit.Enabled = TRUE
- cb_add.Enabled = TRUE
- // cbx_ifmtrlware.Enabled = TRUE
-
- cb_xls.Enabled = FALSE
-
- cb_edit.Text = "放弃&E"
- cb_add.Text = "保存&S"
- cb_edit.normalpicname = 'Undo.bmp'
- cb_add.normalpicname = 'Save.bmp'
- ELSE
- cb_retrieve.Enabled = TRUE
- cb_delet.Enabled = TRUE
- cb_print.Enabled = TRUE
- cb_viewprint.Enabled = TRUE
- cb_auditing.Enabled = TRUE
- cb_auditing_cancel.Enabled = TRUE
-
- // cbx_ifmtrlware.Enabled = FALSE
- cb_add.Enabled = TRUE
- cb_edit.Enabled = TRUE
-
- cb_xls.Enabled = TRUE
-
- dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
- dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
- dw_child.RBUTTON_SETPOSITION_USE = TRUE //定位
-
- cb_edit.Text = "修改&E"
- cb_add.Text = "新建&S"
- cb_edit.normalpicname = 'OPEN.bmp'
- cb_add.normalpicname = 'new.bmp'
-
- IF dw_pageretr.GetRow() <= 0 THEN
- cb_edit.Enabled = FALSE
- cb_delet.Enabled = FALSE
- cb_addzy.Enabled = FALSE
- cb_auditing.Enabled = FALSE
- END IF
- END IF
- IF retrieve_all OR dw_edit_mode THEN
- cb_nextpage.Enabled = FALSE
- cb_retrieveall.Enabled = FALSE
- em_pagerowno.Enabled = FALSE
- cb_func.Enabled = FALSE
- sle_usual_query.Enabled = not dw_edit_mode
- ELSE
- cb_nextpage.Enabled = TRUE
- cb_retrieveall.Enabled = TRUE
- em_pagerowno.Enabled = TRUE
- sle_usual_query.Enabled = TRUE
- cb_func.Enabled = TRUE
- END IF
- wf_lock_child()
- //修改uc_taborder
- IF dw_edit_mode THEN
- dw_uc.TriggerEvent("ue_taborder")
-
- IF dw_uc.ins_if_nomodify_uc_taborder THEN
- Long ll_uc_int
- FOR ll_uc_int = 1 TO uc_column_int
- dw_uc.SetTabOrder (ll_uc_int,ll_uc_int*10 )
- NEXT
- END IF
- ELSE
- dw_uc.TriggerEvent("ue_taborder_cancel")
- END IF
- cb_edit.of_init_draw()
- cb_add.of_init_draw()
- cb_edit.of_paint()
- cb_add.of_paint()
- cb_add.TriggerEvent('ue_textchange')
- cb_edit.TriggerEvent('ue_textchange')
- ll_lastrow = 0
- THIS.TriggerEvent('refresh_interface')
- RETURN 1
- end function
- public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- ll_id = dw_pageretr.Object.#1[LS_ROW]
- ll_scid = dw_pageretr.Object.U_outware_scid[LS_ROW]
- Long ll_i,ll_j
- Long ll_mtrlid
- Long ll_fileid
- Blob ls_filedata
- SetNull(ls_filedata)
- String Pathname,ls_filename,ls_filetype
- String errmsg
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
- Long ll_classid
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 102);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- FOR ll_i = 1 TO dw_child.RowCount()
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ll_i]
- arg_s_pic.mtrlid[ll_i] = ll_mtrlid
- //取该附件类型中的第一个附件.
- SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
- FROM u_file
- WHERE relid = :ll_mtrlid
- AND classid = :ll_classid
- AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
- OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
- USING sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- ll_fileid = 0
- END IF
- IF ll_fileid > 0 THEN
- Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
- IF Trim(Pathname) <> '' THEN
- IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
- RETURN 0
- END IF
-
- IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
- RETURN 0
- ELSE
-
- arg_s_pic.path[ll_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- RETURN 1
- end function
- public subroutine wf_cusbalc (long arg_scid, long arg_cusid, long arg_moneyid);IF NOT f_power_ind(1506) THEN
- st_cusbalc.Text = ''
- RETURN
- END IF
- IF dw_edit_mode THEN
- st_cusbalc.Text = ''
- RETURN
- END IF
- IF arg_cusid = 0 THEN RETURN
- String ls_cusname,ls_moneyname
- Decimal ld_cus_balcamt,ld_maxmtnum, ld_canamt
- Decimal ld_notsecaudit_amt,ld_notsecaudit_enamt
- Decimal ld_notsecaudit_billamt, ldt_cusmaxamt
- Decimal ld_outrep_balcamt,ld_outrep_maxamt
- SELECT name
- INTO :ls_moneyname
- FROM cw_currency
- Where moneyid = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- st_cusbalc.Text = '查询币种信息失败'
- RETURN
- END IF
- SELECT u_cust.name,
- u_cust.maxmtnum ,
- isnull(v_cus_balcamt.cus_balcamt,0)
- INTO :ls_cusname,:ld_maxmtnum,:ld_cus_balcamt
- FROM u_cust left OUTER join
- v_cus_balcamt on u_cust.cusid = v_cus_balcamt.cusid
- WHERE u_cust.cusid = :arg_cusid
- AND isnull(v_cus_balcamt.scid,0) = :arg_scid
- AND IsNull(v_cus_balcamt.moneyid,0) = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- st_cusbalc.Text = '查询客户信息失败'
- RETURN
- END IF
- st_cusbalc.Text = "客户:"+ls_cusname + ' 币种:'+ls_moneyname+'~r~n'
- IF ld_maxmtnum > 0 THEN
- IF ld_maxmtnum - ld_cus_balcamt < 0 THEN
- ld_canamt = 0
- ELSE
- ld_canamt = ld_maxmtnum - ld_cus_balcamt
- END IF
- st_cusbalc.Text += '信用额:'+String(ld_maxmtnum,'#,##0.00')+' 欠款:' + String(ld_cus_balcamt,'#,##0.00') + ' 可用额:' + String(ld_canamt ,'#,##0.00')
- ELSE
- st_cusbalc.Text += '欠款:'+ String(ld_cus_balcamt,'#,##0.00')
- END IF
- IF ld_maxmtnum < ld_cus_balcamt THEN
- st_cusbalc.TextColor = RGB(255,0,0)
- ELSE
- st_cusbalc.TextColor = RGB(0,0,0)
- END IF
- //
- wf_getcusrepamt_info_show(arg_scid,arg_cusid,arg_moneyid)
- st_cusbalc.Text = ls_cusname+'['+ls_moneyname+'] ' + cur_cusrepamtstr_show
- end subroutine
- public subroutine wf_getcusrepamt_info (long arg_scid, long arg_cusid, long arg_moneyid);Int lst
- Long i
- String cstr = '',rstr = '',msg = ''
- Decimal arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt
- String ls_moneyname
- Decimal ld_canamt
- Decimal lde_billamt
- Decimal ld_mrate
- Long ll_outwareid
- //dw_child.accepttext()
- SELECT name
- INTO :ls_moneyname
- FROM cw_currency
- Where moneyid = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- st_msg.Text = '查询币种信息失败'
- st_msg.BackColor = RGB(255,255,255)
- RETURN
- END IF
- //本单金额
- // IF sys_option_mst_multimoney = 0 THEN
- // ll_moneyid = f_moneyid_native()
- // IF ll_moneyid = -1 THEN
- // MessageBox('系统提示','查询本位币失败')
- // RETURN
- // END IF
- // ld_mrate = dw_pageretr.Object.u_outware_mrate[dw_pageretr.GetRow()]
- // ELSE
- // ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
- ld_mrate = 1
- // END IF
- dw_child.AcceptText()
- //lde_billamt = dw_child.Object.enamt_sm[1] * ld_mrate - dw_uc.Object.u_outware_otheramt[dw_uc.GetRow()]
- ////MessageBox('',String(dw_child.Object.enamt_sm[1] ))
- //IF lde_billamt = 0 THEN lde_billamt = wf_sum_mxamt()
- //IF lde_billamt < 0 THEN
- lde_billamt = wf_sum_mxamt() - dw_uc.Object.u_outware_otheramt[dw_uc.GetRow()]
- //End if
- //其他单未财审金额
- dw_uc.AcceptText()
- ll_outwareid = dw_uc.Object.u_outware_outwareid[dw_uc.GetRow()]
- Decimal ld_notsecaudit_amt, ld_notsecaudit_enamt, ld_notsecaudit_billamt, ld_notsecaudit_otheramt, ld_notsecaudit_enotheramt
- SELECT sum(round(u_outwaremx.saleqty * u_outwaremx.price,2)),
- sum(round(u_outwaremx.saleqty * u_outwaremx.enprice * u_outwaremx.rebate,2))
- INTO :ld_notsecaudit_amt,:ld_notsecaudit_enamt
- FROM u_outware,u_outwaremx
- WHERE u_outware.scid = u_outwaremx.scid
- AND u_outware.outwareid = u_outwaremx.outwareid
- AND u_outware.billtype = 1
- AND u_outware.secflag = 0
- AND u_outware.outwareid <> :ll_outwareid
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_amt = 0
- ld_notsecaudit_enamt = 0
- END IF
- SELECT sum(round(u_outware.otheramt,2)),
- sum(round(u_outware.otheramt * u_outware.mrate,2))
- INTO :ld_notsecaudit_enotheramt,:ld_notsecaudit_otheramt
- FROM u_outware
- WHERE u_outware.billtype = 1
- AND u_outware.secflag = 0
- AND u_outware.outwareid <> :ll_outwareid
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_enotheramt = 0
- ld_notsecaudit_otheramt = 0
- END IF
- IF IsNull(ld_notsecaudit_amt) THEN ld_notsecaudit_amt = 0
- IF IsNull(ld_notsecaudit_enamt) THEN ld_notsecaudit_enamt = 0
- IF IsNull(ld_notsecaudit_otheramt) THEN ld_notsecaudit_otheramt = 0
- IF IsNull(ld_notsecaudit_enotheramt) THEN ld_notsecaudit_enotheramt = 0
- IF sys_option_mst_multimoney = 1 THEN
- ld_notsecaudit_billamt = ld_notsecaudit_enamt - ld_notsecaudit_enotheramt
- ELSE
- ld_notsecaudit_billamt = ld_notsecaudit_amt - ld_notsecaudit_otheramt
- END IF
- cur_cusrepamtflag = 0
- //--------检查信用额
- lst = f_getcusrepamt_info(arg_scid,arg_cusid,arg_moneyid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt)
- IF lst < 0 THEN
- msg = '提示:查询信用额及欠款失败!'
- st_msg.Text = msg
- st_msg.BackColor = RGB(255,255,255)
-
- cur_cusrepamtflag = -1
- cur_cusrepamtstr = msg
- ELSE
- //客户欠款
- IF arg_cusmaxamt > 0 THEN
- IF arg_cusbalcamt > arg_cusmaxamt THEN
- cstr = ' 客户欠款超信用额! '
- ELSEIF arg_cusbalcamt = arg_cusmaxamt THEN
- cstr = ' 客户欠款平信用额! '
- END IF
- ELSE
- IF arg_cusbalcamt > arg_cusmaxamt THEN cstr = ' 客户有欠款! '
- END IF
- //业务员欠款
- IF arg_outrep_maxamt > 0 THEN
- IF arg_outrep_balcamt > arg_outrep_maxamt THEN
- rstr = ' 业务员欠款超信用额! '
- ELSEIF arg_outrep_balcamt = arg_outrep_maxamt THEN
- cstr = ' 业务员欠款平信用额! '
- END IF
- ELSE
- IF arg_outrep_balcamt > arg_outrep_maxamt THEN rstr = ' 业务员有欠款! '
- END IF
- msg = '提示:~r~n~r~n币种:'+ls_moneyname+"~r~n~r~n"
- IF arg_cusmaxamt > 0 THEN
- IF arg_cusmaxamt - arg_cusbalcamt < 0 THEN
- ld_canamt = 0
- ELSE
- ld_canamt = arg_cusmaxamt - arg_cusbalcamt
- END IF
-
- msg += '客户信用额:'+String(arg_cusmaxamt,'#,##0.00')+' 欠款:' + String(arg_cusbalcamt,'#,##0.00') + ' 可用额:' + String(ld_canamt ,'#,##0.00') + cstr + "~r~n~r~n"
- ELSE
- msg += '客户欠款:' + String(arg_cusbalcamt,'#,##0.00') + cstr + "~r~n~r~n"
- END IF
- //msg += '客户信用额-欠款:'+String(arg_cusmaxamt,'#0.0#')+'-'+String(arg_cusbalcamt,'#0.0#')+'='+String(arg_cusmaxamt - arg_cusbalcamt,'#0.0#')+cstr+"~r~n~r~n"
- IF arg_outrep_maxamt > 0 THEN
- IF arg_outrep_maxamt - arg_outrep_balcamt < 0 THEN
- ld_canamt = 0
- ELSE
- ld_canamt = arg_outrep_maxamt - arg_outrep_balcamt
- END IF
- msg += '业务员信用额:'+String(arg_outrep_maxamt,'#,##0.00') +' 欠款'+String(arg_outrep_balcamt,'#,##0.00')+' 可用额:'+String(ld_canamt,'#,##0.00') + rstr
- ELSE
- msg += '业务员欠款:'+String(arg_outrep_balcamt,'#,##0.00') + rstr
- END IF
- //msg += '业务员信用额-欠款:'+String(arg_outrep_maxamt,'#0.0#')+'-'+String(arg_outrep_balcamt,'#0.0#')+'='+String(arg_outrep_maxamt - arg_outrep_balcamt,'#0.0#')+rstr
-
- st_msg.Text = msg
- cur_cusrepamtstr = msg
- IF arg_outrep_balcamt >= arg_outrep_maxamt &
- Or arg_cusbalcamt >= arg_cusmaxamt THEN //有欠款
- st_msg.BackColor = RGB(255,200,200)
- ELSE
- st_msg.BackColor = RGB(255,255,255)
- END IF
-
- IF arg_cusbalcamt + ld_notsecaudit_billamt + lde_billamt > arg_cusmaxamt THEN
- cur_cusrepamtflag = -1
- cur_cusrepamtstr = '客户信用额:'+String(arg_cusmaxamt,'#,##0.00')+' 欠款:' + String(arg_cusbalcamt,'#,##0.00')+' 本单金额:'+ String(lde_billamt,'#,##0.00')+' 其他未财审金额:'+ String(ld_notsecaudit_billamt,'#,##0.00')+'~r~n'
- cur_cusrepamtstr += '超信用额:'+String(arg_cusbalcamt + ld_notsecaudit_billamt + lde_billamt - arg_cusmaxamt,'#,##0.00')
- ELSE
- cur_cusrepamtflag = 0
- cur_cusrepamtstr = ""
- END IF
- END IF
- st_cusbalc.Text = ""
- end subroutine
- public function integer wf_get_pricelist_price (long arg_pricelistid, long arg_moneyid, ref string arg_msg);Int rslt = 1
- Long ll_row
- Long ll_pricelistid, ll_moneyid, ll_mtrlid
- String ls_status,ls_pcode,ls_woodcode,ls_unit, ls_mtrlname
- String ls_msg
- ll_pricelistid = arg_pricelistid
- ll_moneyid = arg_moneyid
- IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- s_sale_price_mx s_mx
- dw_child.AcceptText()
- FOR ll_row = 1 To dw_child.RowCount()
-
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ll_row]
- ls_status = dw_child.Object.u_outwaremx_status[ll_row]
- ls_pcode = dw_child.Object.u_outwaremx_pcode[ll_row]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ll_row]
- ls_unit = dw_child.Object.u_outwaremx_unit[ll_row]
- ls_mtrlname = dw_child.Object.u_mtrldef_mtrlname[ll_row]
-
- IF sys_option_price_if_status = 0 THEN
- ls_status = ''
- ls_pcode = ''
- ls_woodcode = ''
- END IF
-
- s_mx.mtrlid = ll_mtrlid
- s_mx.status = ls_status
- s_mx.woodcode = ls_woodcode
- s_mx.pcode = ls_pcode
- s_mx.unit = ls_unit
- s_mx.moneyid = ll_moneyid
- s_mx.pricelistid = ll_pricelistid
-
- IF uo_cus_price.uof_get_pricelist_price(s_mx, ls_msg) = 0 THEN
- arg_msg += "行:"+String(ll_row)+", "+ls_mtrlname+" ~n"
- rslt = 0 //无标准价格表 或未审核
- END IF
-
- dw_child.Object.u_outwaremx_enprice[ll_row] = s_mx.price
- dw_child.Object.u_outwaremx_rebate[ll_row] = s_mx.rebate
- //dw_child.Object.u_saletaskmx_rate[ll_row] = obj_rate
- NEXT
- IF rslt = 0 THEN
- arg_msg += "导入价格表售价失败或没有设置售价! ~n "
- END IF
- ext:
- RETURN rslt
- end function
- public function integer wf_get_price (long arg_row);IF arg_row <= 0 THEN RETURN 1
- IF arg_row > dw_child.RowCount() THEN RETURN 1
- Long rslt = 1
- Long ll_cusid, ll_moneyid
- Long ll_i,ll_mtrlid
- String ls_msg
- String ls_status,ls_woodcode,ls_pcode, ls_unit
- String arg_msg
- Decimal lde_enprice,lde_rebate,lde_rate
- decimal lde_usaleqty
- dw_uc.AcceptText()
- dw_child.AcceptText()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 THEN RETURN 1
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF ll_cusid = 0 THEN RETURN 1
- lde_enprice = 0
- lde_rebate = 1
- lde_rate = 1
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[arg_row]
- ls_status = dw_child.Object.u_outwaremx_status[arg_row]
- ls_pcode = dw_child.Object.u_outwaremx_pcode[arg_row]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[arg_row]
- ls_unit = dw_child.Object.u_outwaremx_unit[arg_row]
- lde_usaleqty = dw_child.Object.u_outwaremx_uqty[arg_row]
- //IF f_getmtrlcusprice(ll_moneyid,ll_mtrlid,ll_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,lde_enprice,lde_rebate,lde_rate,arg_msg) <> 1 THEN
- // lde_enprice = 0
- // lde_rebate = 1
- //END IF
- IF f_getmtrlcusprice_qty(ll_moneyid,ll_mtrlid,ll_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,lde_enprice,lde_rebate,lde_rate,lde_usaleqty,arg_msg) <> 1 THEN
- lde_enprice = 0
- lde_rebate = 1
- END IF
- IF sys_option_price_if_list = 0 AND sys_option_saletask_rebate = 1 THEN
- lde_rebate = 1
- END IF
- dw_child.Object.u_outwaremx_enprice[arg_row] = lde_enprice
- dw_child.Object.u_outwaremx_rebate[arg_row] = lde_rebate
- RETURN rslt
- end function
- public function integer wf_get_mtrlwareid (long arg_row);IF arg_row <= 0 THEN RETURN 1
- IF arg_row > dw_child.RowCount() THEN RETURN 1
- Long rslt = 1
- Long ll_cusid
- Long ll_i,ll_mtrlid, ll_mtrlwareid, ll_storageid,ll_sptid
- String ls_mtrlcode
- String ls_msg
- String ls_status,ls_woodcode,ls_pcode, ls_unit,ls_plancode
- String arg_msg
- Decimal lde_price,lde_zqrate,lde_rate
- dw_child.AcceptText()
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[arg_row]
- ls_status = dw_child.Object.u_outwaremx_status[arg_row]
- ls_pcode = dw_child.Object.u_outwaremx_pcode[arg_row]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[arg_row]
- ls_plancode = dw_child.Object.u_outwaremx_plancode[arg_row]
- ls_unit = dw_child.Object.u_outwaremx_unit[arg_row]
- ll_sptid = dw_child.Object.u_outwaremx_sptid[arg_row]
- Int li_if_cus_mtrlware,li_noallocflag,li_if_plancode
- //客户库存
- SELECT balctype
- INTO :li_if_cus_mtrlware
- FROM u_storage
- Where storageid = :ll_storageid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询仓库是否使用客户库存失败'
- rslt = 0
-
- END IF
- IF li_if_cus_mtrlware = 1 And ll_sptid = 0 THEN
- ll_sptid = ll_cusid
- END IF
- IF f_insert_0_mtrlware(ll_mtrlwareid,ll_mtrlid,ls_mtrlcode,ll_storageid,ll_sptid,ls_status,ls_woodcode, ls_pcode,ls_plancode,0,arg_msg) = 0 THEN
- rslt = 0
- ll_mtrlwareid = 0
- END IF
- dw_child.Object.u_outwaremx_mtrlwareid[arg_row] = ll_mtrlwareid
- RETURN rslt
- end function
- public function integer wf_lock_child ();
- long i
- if dw_edit_mode then
- for i = 1 to fy_column_int
- dw_fymx.SetTabOrder(i, i * 10)
- next
- else
- for i = 1 to fy_column_int
- dw_fymx.SetTabOrder(i, 0)
- next
- end if
- return super::wf_lock_child()
- end function
- public subroutine wf_ue_f7 (s_saletask_ch s_saletask);long rslt = 1
- string arg_msg
- Long ll_storageid
- Long ll_scid
- Long ll_taskid
- String ls_taskcode
- dw_uc.SetRedraw(False)
- dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] = s_saletask.cusid
- dw_uc.Object.u_cust_name[dw_uc.GetRow()] = s_saletask.cusname
- dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = s_saletask.cuscode
- dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = s_saletask.assign_emp
- dw_uc.Object.u_outware_dscrp[dw_uc.GetRow()] = s_saletask.dscrp
- dw_uc.Object.u_outware_dscrp2[dw_uc.GetRow()] = s_saletask.dscrp2
- dw_uc.Object.u_outware_dscrp3[dw_uc.GetRow()] = s_saletask.dscrp3
- dw_uc.Object.u_outware_paytype[dw_uc.GetRow()] = s_saletask.paytype
- dw_uc.Object.u_outware_relint_1[dw_uc.GetRow()] = s_saletask.banktypeid
- dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] = s_saletask.moneyid
- dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(s_saletask.moneyid)
- dw_uc.Object.u_outware_relstr_1[dw_uc.GetRow()] = s_saletask.freight
- dw_uc.Object.u_outware_relstr_2[dw_uc.GetRow()] = s_saletask.freight_tele
- dw_uc.Object.u_outware_relstr_3[dw_uc.GetRow()] = s_saletask.freight_address
- dw_uc.Object.u_outware_deposit[dw_uc.GetRow()] = s_saletask.damt
- dw_uc.Object.u_outware_otheramt[dw_uc.GetRow()] = s_saletask.otheramt
- dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] = s_saletask.Address
- dw_uc.Object.u_outware_rel_tele[dw_uc.GetRow()] = s_saletask.tele
- dw_uc.Object.u_outware_rel_tele1[dw_uc.GetRow()] = s_saletask.tele1
- dw_uc.Object.u_outware_rel_fax[dw_uc.GetRow()] = s_saletask.fax
- dw_uc.Object.u_outware_rel_rep[dw_uc.GetRow()] = s_saletask.rel_rep
- dw_uc.Object.u_outware_transcode[dw_uc.GetRow()] = s_saletask.transcode
- dw_uc.Object.u_outware_carcode[dw_uc.GetRow()] = s_saletask.carcode
- //dw_uc.Object.u_outware_rel_rep[dw_uc.GetRow()] = s_saletask.rep
- dw_uc.Object.u_outware_part[dw_uc.GetRow()] = s_saletask.relcode
- ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()]
- ll_taskid = s_saletask.taskid
- ls_taskcode = s_saletask.taskcode
- ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- IF s_saletask.lsflag = 1 THEN
- dw_uc.Object.u_outware_dscrp[dw_uc.GetRow()] = s_saletask.dscrp2
- END IF
- //String errmsg = ''
- //wf_autoaddmx(ll_scid,ll_taskid,ls_taskcode,ll_storageid,s_saletask.cusid,s_saletask.if_zeromtrlware,errmsg)
- //引入订单
- //查询合同物料于数组中
- //循环数组
- //查询物料库存总额
- //查询库存批/插入明细记录
- s_saletask_mtrl arg_s_rqmtrlI
- long P_rqmtrl
- IF wf_saletaskmtrltoarr(ll_scid,ll_taskid,arg_s_rqmtrlI,P_rqmtrl,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- //带出订单明细费用项目dw_cost.Reset()
- IF wf_set_outware_itemmx(ll_scid,ll_taskid) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF wf_set_outwaremx(ll_scid,s_saletask.cusid, ll_storageid, arg_s_rqmtrlI,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ext:
- dw_uc.SetRedraw(True)
- dw_uc.SetColumn("u_outware_rel_address")
- return
- end subroutine
- public function integer wf_set_outwaremx_bk (long arg_cusid, long arg_storageid, s_saletask_mtrl arg_mx, string arg_msg);//备份用,以后可删
- //由订单明细结构插入dw_child
- //li_if_cus_mtrlware 0:不使用客户库存 ; 1:使用客户库存;
- //li_noallocflag 0:不使用未开单库存; 1:使用未开单库存;
- //li_if_plancode 0:不使用批号; 1:使用批号;
- //sys_option_outware_ifpublware 0:不使用公共库存; 1:使用公共库存
- Long i, j, rslt = 1
- //Long ll_rowcnt = 0,child_row, count
- //
- //Decimal lde_taskqty_rest, lde_qty_add, lde_uqty_add, lde_noallocqty, lde_mtrlwaresum_qty
- //Long ll_mtrlwareid = 0
- //Decimal i_qty, r_qty
- //String ls_plancode
- //Decimal lde_planprice
- //
- //String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrlmode
- //
- //
- ////Boolean lb_find = TRUE
- //
- //Int li_if_cus_mtrlware,li_noallocflag,li_if_plancode
- //
- //Long ll_sptid, ll_sptid_mx
- //
- //datastore ds
- //ds = Create datastore
- //ds.DataObject = "ds_outware_sale_taskmx"
- //ds.SetTransObject(sqlca)
- //
- ////客户库存, 未开单库存
- //SELECT balctype, noallocflag, if_plancode
- // INTO :li_if_cus_mtrlware, :li_noallocflag, :li_if_plancode
- // FROM u_storage
- // Where storageid = :arg_storageid;
- //IF sqlca.SQLCode <> 0 THEN
- // arg_msg = '查询仓库是否使用客户库存失败'
- // rslt = 0
- // GOTO ext
- //END IF
- //
- ////li_noallocflag = 0 , 不使用未开单库存, 即只需要找的一条库存,将订单所有数量都挂在此库存id就可以了
- //
- //IF li_if_cus_mtrlware = 1 THEN
- // ll_sptid = arg_cusid
- // ll_sptid_mx = ll_sptid
- //ELSE
- // ll_sptid = -1
- // ll_sptid_mx = 0
- //END IF
- //
- //FOR i = 1 To UpperBound(arg_mx.taskid)
- //// sumqty = 0
- // ls_mtrlcode = ''
- // ls_mtrlname = ''
- //// lb_find = True
- //// allocqty = 0
- // lde_noallocqty = 0
- // i_qty = 0
- // r_qty = 0
- //
- // SELECT u_mtrldef.mtrlcode,
- // u_mtrldef.mtrlname,
- // u_mtrldef.unit,
- // u_mtrldef.mtrlmode,
- // u_mtrldef.mtrlsectype,
- // u_mtrldef.zxmtrlmode
- // INTO :ls_mtrlcode,
- // :ls_mtrlname,
- // :ls_unit,
- // :ls_mtrlmode,
- // :ls_mtrlsectype,
- // :ls_zxmtrlmode
- // FROM u_mtrldef
- // Where u_mtrldef.mtrlid = :arg_mx.mtrlid[i];
- // IF sqlca.SQLCode <> 0 THEN
- // arg_msg = '查询物料资料失败[错误物料唯一码]>'+sqlca.SQLErrText
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // SELECT ISNULL(SUM(u_mtrlware.noallocqty), 0) AS sum_qty
- // INTO :lde_mtrlwaresum_qty
- // FROM u_mtrlware
- // WHERE u_mtrlware.mtrlid = :arg_mx.mtrlid[i]
- // AND u_mtrlware.storageid = :arg_storageid
- // AND u_mtrlware.status = :arg_mx.status[i]
- // AND u_mtrlware.pcode = :arg_mx.pcode[i]
- // AND u_mtrlware.woodcode = :arg_mx.woodcode[i]
- // AND u_mtrlware.scid = :cur_scid
- // AND ( u_mtrlware.sptid = :ll_sptid OR :ll_sptid = -1 )
- // And (:li_if_plancode = 0 or plancode = :arg_mx.plancode[i] );
- // IF sqlca.SQLCode = 0 THEN
- //
- // ELSEIF sqlca.SQLCode = 100 THEN
- // lde_mtrlwaresum_qty = -100000
- // ELSE
- // arg_msg = '查询库存量失败>'+sqlca.SQLErrText
- // MessageBox('提示',String(arg_mx.mtrlid[i] )+'颜色:'+arg_mx.status[i]+' '+arg_msg,stopsign!,OK!)
- // rslt = 0
- // GOTO ext
- // END IF
- //
- // //没有库存记录, 且使用未开单库存
- // IF li_noallocflag = 1 And lde_mtrlwaresum_qty = 0 Or lde_mtrlwaresum_qty = -100000 THEN
- // IF dw_child.GetRow() <= 0 THEN
- // child_row = dw_child.InsertRow(0)
- // ELSE
- // IF dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] > 0 THEN
- // child_row = dw_child.InsertRow(0)
- // ELSE
- // child_row = dw_child.GetRow()
- // END IF
- // END IF
- //
- // dw_child.Object.u_outwaremx_ifrel[child_row] = 1
- // dw_child.Object.u_outwaremx_relid[child_row] = arg_mx.taskid[i]
- // dw_child.Object.u_outwaremx_relprintid[child_row] = arg_mx.printid[i]
- // dw_child.Object.taskcode[child_row] = arg_mx.taskcode[i]
- //
- // dw_child.Object.u_outwaremx_mtrlwareid[child_row] = 0
- // dw_child.Object.u_outwaremx_mtrlid[child_row] = arg_mx.mtrlid[i]
- // dw_child.Object.u_outwaremx_enprice[child_row] = arg_mx.enprice[i]
- // dw_child.Object.u_outwaremx_fprice[child_row] = arg_mx.fprice[i]
- // dw_child.Object.u_outwaremx_rebate[child_row] = arg_mx.rebate[i]
- // dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- // dw_child.Object.u_outwaremx_uqty[child_row] = 0
- //
- // dw_child.Object.u_outwaremx_unit[child_row] = arg_mx.unit[i]
- // dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- // dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- // dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- // dw_child.Object.u_outwaremx_mxdscrp[child_row] = arg_mx.mxdscrp[i]
- // dw_child.Object.mxdscrp2[child_row] = arg_mx.mxdscrp2[i]
- // dw_child.Object.u_outwaremx_status[child_row] = arg_mx.status[i]
- // dw_child.Object.u_outwaremx_woodcode[child_row] = arg_mx.woodcode[i]
- // dw_child.Object.u_outwaremx_pcode[child_row] = arg_mx.pcode[i]
- // dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- // dw_child.Object.u_mtrldef_curware_qty[child_row] = 0
- // dw_child.Object.u_mtrldef_sumneed_qty[child_row] = arg_mx.qty[i]
- // dw_child.Object.u_mtrldef_sumware_qty[child_row] = 0
- // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- // dw_child.Object.u_outwaremx_mtrlcuscode[child_row] = arg_mx.mtrlcuscode[i]
- // dw_child.Object.u_outwaremx_rate[child_row] = arg_mx.rate[i]
- // dw_child.Object.u_outwaremx_outtype[child_row] = arg_mx.outtype[i]
- // dw_child.Object.u_outwaremx_formula[child_row] = arg_mx.formula[i]
- // dw_child.Object.u_outwaremx_addqty[child_row] = arg_mx.addqty[i]
- // dw_child.Object.u_mtrldef_taskdate[child_row] = arg_mx.taskdate[i]
- // GOTO nextmtrl
- // END IF
- //
- // child_row = dw_child.GetRow()
- //
- // //没有库存记录, 且不使用未开单库存
- // IF lde_mtrlwaresum_qty = 0 THEN
- // IF dw_child.GetRow() > 0 THEN
- // IF dw_child.Object.u_outwaremx_mtrlid[child_row] <> 0 THEN
- // child_row = dw_child.InsertRow (0)
- // ELSE
- // child_row = dw_child.GetRow()
- // END IF
- // ELSE
- // child_row = dw_child.InsertRow (0)
- // END IF
- //
- // ll_mtrlwareid = 0
- // ls_plancode = ''
- // lde_noallocqty = 0
- // lde_planprice = 0
- //
- // SELECT top 1
- // u_mtrlware.mtrlwareid,
- // u_mtrlware.plancode,
- // u_mtrlware.noallocqty,
- // u_mtrlware.planprice,
- // u_mtrlware.plancode
- // INTO
- // :ll_mtrlwareid,
- // :ls_plancode,
- // :lde_noallocqty,
- // :lde_planprice,
- // :ls_plancode
- // FROM u_mtrlware
- // WHERE ( u_mtrlware.mtrlid = :arg_mx.mtrlid[i] ) AND
- // ( u_mtrlware.storageid = :arg_storageid ) AND
- // ( u_mtrlware.status = :arg_mx.status[i] ) AND
- // ( u_mtrlware.pcode = :arg_mx.pcode[i] ) AND
- // ( u_mtrlware.woodcode = :arg_mx.woodcode[i] ) AND
- // ( u_mtrlware.scid = :cur_scid ) AND
- // ( u_mtrlware.sptid = :ll_sptid OR :ll_sptid = -1 )
- // AND (:li_if_plancode = 0 or plancode = :arg_mx.plancode[i] )
- // Order By u_mtrlware.mtrlwareid Desc ;
- // IF sqlca.SQLCode = -1 THEN
- // arg_msg = '查询库存量失败>'+sqlca.SQLErrText
- // MessageBox('提示',String(arg_mx.mtrlid[i] )+'颜色:'+arg_mx.status[i]+' '+arg_msg,stopsign!,OK!)
- // rslt = 0
- // GOTO ext
- // END IF
- //
- //
- // dw_child.Object.u_outwaremx_ifrel[child_row] = 1
- // dw_child.Object.u_outwaremx_relid[child_row] = arg_mx.taskid[i]
- // dw_child.Object.u_outwaremx_relprintid[child_row] = arg_mx.printid[i]
- // dw_child.Object.taskcode[child_row] = arg_mx.taskcode[i]
- //
- // dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ll_mtrlwareid
- // dw_child.Object.u_outwaremx_mtrlid[child_row] = arg_mx.mtrlid[i]
- //
- // dw_child.Object.u_outwaremx_saleqty[child_row] = arg_mx.qty[i]
- // dw_child.Object.u_outwaremx_uqty[child_row] = arg_mx.qty[i]
- //
- // dw_child.Object.u_outwaremx_storageid[child_row] = arg_storageid
- // dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode
- // dw_child.Object.u_outwaremx_planprice[child_row] = lde_planprice
- // dw_child.Object.u_outwaremx_unit[child_row] = arg_mx.unit[i]
- // dw_child.Object.u_outwaremx_enprice[child_row] = arg_mx.enprice[i]
- // dw_child.Object.u_outwaremx_fprice[child_row] = arg_mx.fprice[i]
- // dw_child.Object.u_outwaremx_rebate[child_row] = arg_mx.rebate[i]
- // dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- // dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- // dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- // dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- // dw_child.Object.u_outwaremx_mxdscrp[child_row] = arg_mx.mxdscrp[i]
- // dw_child.Object.mxdscrp2[child_row] = arg_mx.mxdscrp2[i]
- // dw_child.Object.u_outwaremx_status[child_row] = arg_mx.status[i]
- // dw_child.Object.u_outwaremx_woodcode[child_row] = arg_mx.woodcode[i]
- // dw_child.Object.u_outwaremx_pcode[child_row] = arg_mx.pcode[i]
- //
- // dw_child.Object.u_mtrldef_curware_qty[child_row] = 0
- // dw_child.Object.u_mtrldef_sumneed_qty[child_row] = arg_mx.qty[i]
- // dw_child.Object.u_mtrldef_sumware_qty[child_row] = 0
- //
- // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- // dw_child.Object.u_outwaremx_mtrlcuscode[child_row] = arg_mx.mtrlcuscode[i]
- // dw_child.Object.u_outwaremx_rate[child_row] = arg_mx.rate[i]
- // dw_child.Object.u_outwaremx_outtype[child_row] = arg_mx.outtype[i]
- // dw_child.Object.u_outwaremx_formula[child_row] = arg_mx.formula[i]
- // dw_child.Object.u_outwaremx_addqty[child_row] = arg_mx.addqty[i]
- // dw_child.Object.u_mtrldef_taskdate[child_row] = arg_mx.taskdate[i]
- // ELSE
- // DECLARE pf_cur CURSOR FOR
- // SELECT
- // u_mtrlware.mtrlwareid,
- // u_mtrlware.plancode,
- // u_mtrlware.noallocqty,
- // u_mtrlware.planprice,
- // u_mtrlware.plancode
- // FROM u_mtrlware
- // WHERE ( u_mtrlware.mtrlid = :arg_mx.mtrlid[i] ) AND
- // ( u_mtrlware.storageid = :arg_storageid ) AND
- // ( u_mtrlware.status = :arg_mx.status[i] ) AND
- // ( u_mtrlware.pcode = :arg_mx.pcode[i] ) AND
- // ( u_mtrlware.woodcode = :arg_mx.woodcode[i] ) AND
- // ( u_mtrlware.scid = :cur_scid ) AND
- // ( u_mtrlware.sptid = :ll_sptid OR :ll_sptid = -1 ) AND
- // ( u_mtrlware.noallocqty > 0)
- // AND (:li_if_plancode = 0 or plancode = :arg_mx.plancode[i] )
- // Order By u_mtrlware.noallocqty Desc ;
- //
- // OPEN pf_cur;
- // count = 1
- // FETCH pf_cur INTO :ll_mtrlwareid,:ls_plancode,&
- // :lde_noallocqty,:lde_planprice,:ls_plancode ;
- // DO WHILE sqlca.SQLCode = 0 And r_qty < arg_mx.qty[i]
- // count++
- // i_qty = lde_noallocqty
- // r_qty = r_qty+i_qty
- // IF r_qty > arg_mx.qty[i] THEN
- // i_qty = lde_noallocqty - ( r_qty - arg_mx.qty[i] )
- // END IF
- //
- // IF dw_child.GetRow() > 0 THEN
- // IF dw_child.Object.u_outwaremx_mtrlid[child_row] <> 0 THEN
- // child_row = dw_child.InsertRow (0)
- // ELSE
- // child_row = dw_child.GetRow()
- // END IF
- // ELSE
- // child_row = dw_child.InsertRow (0)
- // END IF
- //
- // dw_child.Object.u_outwaremx_ifrel[child_row] = 1
- // dw_child.Object.u_outwaremx_relid[child_row] = arg_mx.taskid[i]
- // dw_child.Object.u_outwaremx_relprintid[child_row] = arg_mx.printid[i]
- // dw_child.Object.taskcode[child_row] = arg_mx.taskcode[i]
- //
- // dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ll_mtrlwareid
- // dw_child.Object.u_outwaremx_mtrlid[child_row] = arg_mx.mtrlid[i]
- //
- // IF lde_noallocqty <= arg_mx.qty[i] THEN
- // IF li_noallocflag = 0 THEN
- // dw_child.Object.u_outwaremx_saleqty[child_row] = arg_mx.qty[i]
- // dw_child.Object.u_outwaremx_uqty[child_row] = arg_mx.qty[i]
- // ELSE
- // dw_child.Object.u_outwaremx_saleqty[child_row] = i_qty
- // dw_child.Object.u_outwaremx_uqty[child_row] = i_qty
- // END IF
- // ELSE
- // dw_child.Object.u_outwaremx_saleqty[child_row] = arg_mx.qty[i]
- // dw_child.Object.u_outwaremx_uqty[child_row] = arg_mx.qty[i]
- // END IF
- //
- // dw_child.Object.u_outwaremx_storageid[child_row] = arg_storageid
- // dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode
- // dw_child.Object.u_outwaremx_planprice[child_row] = lde_planprice
- // dw_child.Object.u_outwaremx_unit[child_row] = arg_mx.unit[i]
- // dw_child.Object.u_outwaremx_enprice[child_row] = arg_mx.enprice[i]
- // dw_child.Object.u_outwaremx_fprice[child_row] = arg_mx.fprice[i]
- // dw_child.Object.u_outwaremx_rebate[child_row] = arg_mx.rebate[i]
- // dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- // dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- // dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- // dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- // dw_child.Object.u_outwaremx_mxdscrp[child_row] = arg_mx.mxdscrp[i]
- // dw_child.Object.mxdscrp2[child_row] = arg_mx.mxdscrp2[i]
- // dw_child.Object.u_outwaremx_status[child_row] = arg_mx.status[i]
- // dw_child.Object.u_outwaremx_woodcode[child_row] = arg_mx.woodcode[i]
- // dw_child.Object.u_outwaremx_pcode[child_row] = arg_mx.pcode[i]
- //
- // dw_child.Object.u_mtrldef_curware_qty[child_row] = lde_noallocqty
- // dw_child.Object.u_mtrldef_sumneed_qty[child_row] = arg_mx.qty[i]
- // dw_child.Object.u_mtrldef_sumware_qty[child_row] = lde_mtrlwaresum_qty
- //
- // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- // dw_child.Object.u_outwaremx_mtrlcuscode[child_row] = arg_mx.mtrlcuscode[i]
- // dw_child.Object.u_outwaremx_rate[child_row] = arg_mx.rate[i]
- // dw_child.Object.u_outwaremx_outtype[child_row] = arg_mx.outtype[i]
- // dw_child.Object.u_outwaremx_formula[child_row] = arg_mx.formula[i]
- // dw_child.Object.u_outwaremx_addqty[child_row] = arg_mx.addqty[i]
- // dw_child.Object.u_mtrldef_taskdate[child_row] = arg_mx.taskdate[i]
- //
- //
- // FETCH pf_cur INTO :ll_mtrlwareid,:ls_plancode,&
- // :lde_noallocqty,:lde_planprice,:ls_plancode ;
- //
- // LOOP
- // count = count - 1
- // CLOSE pf_cur;
- // END IF
- // nextmtrl:
- //NEXT
- //
- //
- ////FOR i = 1 To UpperBound(arg_mx.taskid)
- //// ls_mtrlcode = ''
- //// ls_mtrlname = ''
- ////
- //// lde_taskqty_rest = arg_mx.qty[i] //库存单位
- //// lde_qty_add = 0
- ////
- //// // lb_find = TRUE
- //// // i_qty = 0
- //// // r_qty = 0
- ////
- ////
- //// //查找物料资料
- //// SELECT u_mtrldef.mtrlcode,
- //// u_mtrldef.mtrlname,
- //// u_mtrldef.mtrlmode,
- //// u_mtrldef.unit,
- //// u_mtrldef.mtrlsectype,
- //// u_mtrldef.zxmtrlmode
- //// INTO :ls_mtrlcode,
- //// :ls_mtrlname,
- //// :ls_mtrlmode,
- //// :ls_unit,
- //// :ls_mtrlsectype,
- //// :ls_zxmtrlmode
- //// FROM u_mtrldef
- //// Where u_mtrldef.mtrlid = :arg_mx.mtrlid[i];
- //// IF sqlca.SQLCode <> 0 THEN
- //// arg_msg = '查询物料资料失败,错误物料ID['+String(arg_mx.mtrlid[i])+'],~r~n'+sqlca.SQLErrText
- //// rslt = 0
- //// GOTO ext
- //// END IF
- ////
- ////
- ////
- ////
- //// ll_rowcnt = ds.Retrieve(cur_scid, arg_storageid, arg_mx.mtrlid[i],&
- //// arg_mx.status[i], arg_mx.woodcode[i], arg_mx.pcode[i],&
- //// ll_sptid, arg_mx.plancode[i])
- ////
- //// FOR j = 1 To ll_rowcnt
- //// ll_mtrlwareid = ds.Object.mtrlwareid[j]
- //// ls_plancode = ds.Object.plancode[j]
- ////
- //// IF li_noallocflag = 0 THEN
- //// //li_noallocflag = 0 , 不使用未开单库存, 即只需要找的一条库存,将订单所有数量都挂在此库存id就可以了
- //// //lde_noallocqty = ds.Object.noallocqty[j]
- //// lde_noallocqty = lde_taskqty_rest
- //// ELSE
- //// lde_noallocqty = ds.Object.noallocqty[j] - ds.Object.noauditingqty[j]
- //// END IF
- //// IF lde_noallocqty <= 0 THEN CONTINUE
- ////
- //// IF lde_taskqty_rest > lde_noallocqty THEN
- //// lde_qty_add = lde_noallocqty
- //// lde_taskqty_rest -= lde_qty_add
- //// ELSE
- //// lde_qty_add = lde_taskqty_rest
- //// lde_taskqty_rest = 0
- //// END IF
- ////
- //// lde_uqty_add = lde_qty_add * arg_mx.rate[i] //销售单位
- ////
- //// IF lde_uqty_add > 0 THEN
- ////
- //// IF dw_child.GetRow() > 0 THEN
- //// IF dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] <> 0 THEN
- //// child_row = dw_child.InsertRow (0)
- //// ELSE
- //// child_row = dw_child.GetRow()
- //// END IF
- //// ELSE
- //// child_row = dw_child.InsertRow (0)
- //// END IF
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_row] = 1
- //// dw_child.Object.u_outwaremx_relid[child_row] = arg_mx.taskid[i]
- //// dw_child.Object.u_outwaremx_relprintid[child_row] = arg_mx.printid[i]
- //// dw_child.Object.taskcode[child_row] = arg_mx.taskcode[i]
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ll_mtrlwareid
- //// dw_child.Object.u_outwaremx_storageid[child_row] = arg_storageid
- //// dw_child.Object.u_outwaremx_mtrlid[child_row] = arg_mx.mtrlid[i]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- //// dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- //// dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- //// dw_child.Object.u_outwaremx_status[child_row] = arg_mx.status[i]
- //// dw_child.Object.u_outwaremx_woodcode[child_row] = arg_mx.woodcode[i]
- //// dw_child.Object.u_outwaremx_pcode[child_row] = arg_mx.pcode[i]
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- ////
- //// dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode
- //// dw_child.Object.u_outwaremx_sptid[child_row] = ll_sptid_mx
- ////
- //// dw_child.Object.u_outwaremx_planprice[child_row] = lde_planprice
- ////
- ////
- //// dw_child.Object.u_outwaremx_saleqty[child_row] = lde_uqty_add
- //// dw_child.Object.u_outwaremx_uqty[child_row] = lde_uqty_add
- //// dw_child.Object.u_outwaremx_qty[child_row] = lde_qty_add
- //// dw_child.Object.u_outwaremx_addqty[child_row] = arg_mx.addqty[i]
- //// dw_child.Object.u_outwaremx_packqty[child_row] = arg_mx.packqty[i]
- ////
- //// dw_child.Object.u_outwaremx_rate[child_row] = arg_mx.rate[i]
- //// dw_child.Object.u_outwaremx_unit[child_row] = arg_mx.unit[i]
- ////
- //// dw_child.Object.u_outwaremx_enprice[child_row] = arg_mx.enprice[i]
- //// dw_child.Object.u_outwaremx_fprice[child_row] = arg_mx.fprice[i]
- //// dw_child.Object.u_outwaremx_rebate[child_row] = arg_mx.rebate[i]
- //// dw_child.Object.u_outwaremx_mxdscrp[child_row] = arg_mx.mxdscrp[i]
- //// dw_child.Object.mxdscrp2[child_row] = arg_mx.mxdscrp2[i]
- ////
- //// dw_child.Object.u_mtrldef_curware_qty[child_row] = lde_noallocqty
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_row] = arg_mx.qty[i]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_row] = lde_noallocqty
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_row] = arg_mx.mtrlcuscode[i]
- //// dw_child.Object.u_outwaremx_outtype[child_row] = arg_mx.outtype[i]
- //// dw_child.Object.u_outwaremx_formula[child_row] = arg_mx.formula[i]
- //// dw_child.Object.u_mtrldef_taskdate[child_row] = arg_mx.taskdate[i]
- //// END IF
- //// //IF li_noallocflag = 0 THEN EXIT //不使用为开单库存,显示总出仓数,所以只取一条记录,否则重复数量 //????????
- //// IF lde_taskqty_rest = 0 THEN EXIT
- //// NEXT
- ////
- ////
- //// IF lde_taskqty_rest > 0 THEN
- //// ll_mtrlwareid = 0
- //// ls_plancode = ''
- //// lde_noallocqty = 0
- //// lde_qty_add = lde_taskqty_rest
- //// lde_uqty_add = lde_qty_add * arg_mx.rate[i] //销售单位
- ////
- //// // SELECT top 1
- //// // u_mtrlware.mtrlwareid,
- //// // u_mtrlware.plancode,
- //// // u_mtrlware.noallocqty,
- //// // u_mtrlware.planprice
- //// // INTO
- //// // :ll_mtrlwareid,
- //// // :ls_plancode,
- //// // :lde_noallocqty,
- //// // :lde_planprice
- //// // FROM u_mtrlware
- //// // WHERE ( u_mtrlware.mtrlid = :arg_mx.mtrlid[i] ) AND
- //// // ( u_mtrlware.storageid = :arg_storageid ) AND
- //// // ( u_mtrlware.status = :arg_mx.status[i] ) AND
- //// // ( u_mtrlware.pcode = :arg_mx.pcode[i] ) AND
- //// // ( u_mtrlware.woodcode = :arg_mx.woodcode[i] ) AND
- //// // ( u_mtrlware.scid = :cur_scid ) AND
- //// // ( u_mtrlware.sptid = :ll_sptid OR :ll_sptid = -1 )
- //// // And (plancode = :arg_mx.plancode[i] Or :arg_mx.plancode[i] = '')
- //// // Order By u_mtrlware.mtrlwareid Desc ;
- //// // IF sqlca.SQLCode = -1 THEN
- //// // arg_msg = '查询库存信息失败>'+sqlca.SQLErrText
- //// // MessageBox('错误',String(arg_mx.mtrlid[i] )+'颜色:'+arg_mx.status[i]+' '+arg_msg,information!,OK!)
- //// // rslt = 0
- //// // GOTO ext
- //// // END IF
- ////
- //// IF dw_child.GetRow() > 0 THEN
- //// IF dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] <> 0 THEN
- //// child_row = dw_child.InsertRow (0)
- //// ELSE
- //// child_row = dw_child.GetRow()
- //// END IF
- //// ELSE
- //// child_row = dw_child.InsertRow (0)
- //// END IF
- ////
- //// dw_child.Object.u_outwaremx_ifrel[child_row] = 1
- //// dw_child.Object.u_outwaremx_relid[child_row] = arg_mx.taskid[i]
- //// dw_child.Object.u_outwaremx_relprintid[child_row] = arg_mx.printid[i]
- //// dw_child.Object.taskcode[child_row] = arg_mx.taskcode[i]
- ////
- //// dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ll_mtrlwareid
- //// dw_child.Object.u_outwaremx_storageid[child_row] = arg_storageid
- //// dw_child.Object.u_outwaremx_mtrlid[child_row] = arg_mx.mtrlid[i]
- //// dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- //// dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- //// dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- //// dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- //// dw_child.Object.u_outwaremx_status[child_row] = arg_mx.status[i]
- //// dw_child.Object.u_outwaremx_woodcode[child_row] = arg_mx.woodcode[i]
- //// dw_child.Object.u_outwaremx_pcode[child_row] = arg_mx.pcode[i]
- //// dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- //// dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- ////
- //// dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode
- //// dw_child.Object.u_outwaremx_sptid[child_row] = ll_sptid_mx
- ////
- //// dw_child.Object.u_outwaremx_planprice[child_row] = lde_planprice
- ////
- ////
- //// dw_child.Object.u_outwaremx_saleqty[child_row] = lde_uqty_add
- //// dw_child.Object.u_outwaremx_uqty[child_row] = lde_uqty_add
- //// dw_child.Object.u_outwaremx_qty[child_row] = lde_qty_add
- //// dw_child.Object.u_outwaremx_addqty[child_row] = arg_mx.addqty[i]
- ////
- //// dw_child.Object.u_outwaremx_rate[child_row] = arg_mx.rate[i]
- //// dw_child.Object.u_outwaremx_unit[child_row] = arg_mx.unit[i]
- ////
- //// dw_child.Object.u_outwaremx_enprice[child_row] = arg_mx.enprice[i]
- //// dw_child.Object.u_outwaremx_fprice[child_row] = arg_mx.fprice[i]
- //// dw_child.Object.u_outwaremx_rebate[child_row] = arg_mx.rebate[i]
- //// dw_child.Object.u_outwaremx_mxdscrp[child_row] = arg_mx.mxdscrp[i]
- //// dw_child.Object.mxdscrp2[child_row] = arg_mx.mxdscrp2[i]
- ////
- //// dw_child.Object.u_mtrldef_curware_qty[child_row] = lde_noallocqty
- //// dw_child.Object.u_mtrldef_sumneed_qty[child_row] = arg_mx.qty[i]
- //// dw_child.Object.u_mtrldef_sumware_qty[child_row] = lde_noallocqty
- //// dw_child.Object.u_outwaremx_mtrlcuscode[child_row] = arg_mx.mtrlcuscode[i]
- //// dw_child.Object.u_outwaremx_outtype[child_row] = arg_mx.outtype[i]
- //// dw_child.Object.u_outwaremx_formula[child_row] = arg_mx.formula[i]
- //// dw_child.Object.u_mtrldef_taskdate[child_row] = arg_mx.taskdate[i]
- //// END IF
- ////
- ////NEXT
- ////
- //
- //ext:
- RETURN rslt
- end function
- public function integer wf_set_outwaremx (long arg_scid, long arg_cusid, long arg_storageid, s_saletask_mtrl arg_mx, string arg_msg);//由订单明细结构插入dw_child
- //li_noallocflag 0:不使用未开单库存; 1:使用未开单库存;
- //li_if_cus_mtrlware 0:不使用客户库存 ; 1:使用客户库存;
- //sys_option_outware_ifpublware 0:不使用公共库存; 1:使用公共库存
- //li_if_plancode 0:不使用批号; 1:使用批号;
- //如果1.库存使用未开单库存, 按总库存数安排;即发货总数=Min(库存总数,总未完成数);
- //如果1.库存不使用未开单库存,按总未完成数安排,即发货总数=总未完成数;多出库存部分安排在最后一条库存;
- //如果1.订单不使用批号;2.库存使用批号,且使用客户库存; 按生产进仓单找对应订单的进仓记录先安排,再按其他订单,该客户库存安排;
- Long i, j, rslt = 1
- Long ll_rowcnt = 0,child_row, count, ll_addmxcnt
- Decimal lde_taskqty_rest, lde_qty_add, lde_uqty_add, lde_noallocqty, lde_noallocqty_sum
- Long ll_mtrlwareid = 0
- String ls_plancode
- Decimal lde_planprice
- String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrlmode,ls_mtrltype,ls_mtrlengname,ls_barcode
- Boolean lb_find = False
- Int li_if_cus_mtrlware,li_noallocflag,li_if_plancode
- Long ll_sptid, ll_sptid_mx
- String ls_msg
- s_cmpl_qty arg_cmpl,null_cmpl
- Decimal ld_qty,ld_LMsaleprice
- Int li_mtrlid,li_cusid
- dec ld_cusprice
- string ls_cusmtrlcode,ls_cusmtrlname,ls_cusmtrlmode
- //客户库存, 未开单库存
- Select balctype, noallocflag, if_plancode
- Into :li_if_cus_mtrlware, :li_noallocflag, :li_if_plancode
- From u_storage
- Where storageid = :arg_storageid;
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询仓库是否使用客户库存失败'
- rslt = 0
- Goto ext
- End If
- //li_noallocflag = 0 , 不使用未开单库存, 即只需要找的一条库存,将订单所有数量都挂在此库存id就可以了
- //sys_option_outware_if_di = 0 //销售发货单仓审自动组装 084 Or (li_noallocflag = 1 And sys_option_outware_if_di = 1)
- If li_if_cus_mtrlware = 1 Then
- ll_sptid = arg_cusid
- ll_sptid_mx = ll_sptid
- Else
- ll_sptid = -1
- ll_sptid_mx = 0
- End If
- For i = 1 To UpperBound(arg_mx.taskid)
- If arg_mx.taskid[i] = 0 Then Continue
- lde_noallocqty = 0
-
- li_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]//客户物料名称
- Select isnull(cusmtrlcode,''), isnull(cusmtrlname,''), isnull(cusmtrlmode,'')
- Into :ls_cusmtrlcode, :ls_cusmtrlname, :ls_cusmtrlmode
- From u_cusmtrlname
- Where mtrlid= :arg_mx.mtrlid[i] and cusid= :li_cusid ;
-
- Select u_mtrldef.mtrlcode,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.mtrlmode,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- u_mtrldef.mtrltype,
- u_mtrldef.LMsaleprice,
- u_mtrldef.mtrlengname,
- u_mtrldef.barcode
- Into :ls_mtrlcode,
- :ls_mtrlname,
- :ls_unit,
- :ls_mtrlmode,
- :ls_mtrlsectype,
- :ls_zxmtrlmode,
- :ls_mtrltype,
- :ld_LMsaleprice,
- :ls_mtrlengname,
- :ls_barcode
- From u_mtrldef
- Where u_mtrldef.mtrlid = :arg_mx.mtrlid[i];
- If sqlca.SQLCode <> 0 Then
- arg_msg = '查询物料:'+String(arg_mx.mtrlid[i] )+'资料失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
- Select SUM(u_mtrlware.noallocqty)
- Into :lde_noallocqty_sum
- From u_mtrlware
- Where u_mtrlware.mtrlid = :arg_mx.mtrlid[i]
- And u_mtrlware.storageid = :arg_storageid
- And u_mtrlware.status = :arg_mx.status[i]
- And u_mtrlware.pcode = :arg_mx.pcode[i]
- And u_mtrlware.woodcode = :arg_mx.woodcode[i]
- And u_mtrlware.scid = :arg_scid
- And ( u_mtrlware.sptid = :ll_sptid Or :ll_sptid = -1 Or (:sys_option_outware_ifpublware = 1 And u_mtrlware.sptid = 0) )
- And (:li_if_plancode = 0 Or plancode = :arg_mx.plancode[i] );
- If sqlca.SQLCode <> 0 Then
- lde_noallocqty_sum = 0
- End If
- If IsNull(lde_noallocqty_sum) Then lde_noallocqty_sum = 0
-
- //没有库存记录 或者 不考虑未开单库存?
- If lde_noallocqty_sum = 0 Then
- ll_mtrlwareid = 0
- ls_plancode = ''
- lde_noallocqty = 0
- lde_planprice = 0
-
- If dw_child.GetRow() > 0 Then
- If dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] <> 0 Then
- child_row = dw_child.InsertRow (0)
- Else
- child_row = dw_child.GetRow()
- End If
- Else
- child_row = dw_child.InsertRow (0)
- End If
-
- If li_noallocflag = 1 Then //没有库存记录, 且使用未开单库存
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = 0
-
- dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- dw_child.Object.u_outwaremx_uqty[child_row] = 0
- dw_child.Object.u_outwaremx_qty[child_row] = 0
-
-
- Else //没有库存记录, 且不使用未开单库存, 取 top 1
- //
- // SELECT top 1 mtrlwareid, plancode, noallocqty, planprice
- // INTO :ll_mtrlwareid, :ls_plancode, :lde_noallocqty, :lde_planprice
- // FROM u_mtrlware
- // WHERE ( mtrlid = :arg_mx.mtrlid[i] )
- // AND ( storageid = :arg_storageid )
- // AND ( status = :arg_mx.status[i] )
- // AND ( pcode = :arg_mx.pcode[i] )
- // AND ( woodcode = :arg_mx.woodcode[i] )
- // AND ( scid = :arg_scid )
- // AND ( sptid = :ll_sptid OR :ll_sptid = -1 )
- // AND (:li_if_plancode = 0 OR plancode = :arg_mx.plancode[i] OR (:sys_option_outware_ifpublware = 1 AND u_mtrlware.sptid = 0) )
- // Order By CASE when u_mtrlware.sptid = :ll_sptid THEN 1 ELSE 0 END Desc,mtrlwareid Desc ;
- // IF sqlca.SQLCode = -1 THEN
- // arg_msg = '查询物料:'+String(arg_mx.mtrlid[i] )+'库存信息失败,'+sqlca.SQLErrText
- // rslt = 0
- // GOTO ext
- // END IF
-
-
- Select top 1 mtrlwareid, plancode, noallocqty, planprice
- Into :ll_mtrlwareid, :ls_plancode, :lde_noallocqty, :lde_planprice
- From u_mtrlware
- Where ( mtrlid = :arg_mx.mtrlid[i] )
- And ( storageid = :arg_storageid )
- And ( status = :arg_mx.status[i] )
- And ( pcode = :arg_mx.pcode[i] )
- And ( woodcode = :arg_mx.woodcode[i] )
- And ( scid = :arg_scid )
- And ( sptid = :ll_sptid Or :ll_sptid = -1 )
- And (:li_if_plancode = 0 Or plancode = :arg_mx.plancode[i] )
- And (:sys_option_outware_ifpublware = 1 And u_mtrlware.sptid = 0)
- Order By Case when u_mtrlware.sptid = :ll_sptid Then 1 Else 0 End Desc,mtrlwareid Desc ;
- If sqlca.SQLCode = -1 Then
- arg_msg = '查询物料:'+String(arg_mx.mtrlid[i] )+'库存信息失败,'+sqlca.SQLErrText
- rslt = 0
- Goto ext
- End If
-
-
-
-
-
-
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ll_mtrlwareid
-
- dw_child.Object.u_outwaremx_saleqty[child_row] = arg_mx.qty[i]
- dw_child.Object.u_outwaremx_uqty[child_row] = arg_mx.qty[i]
- dw_child.Object.u_outwaremx_qty[child_row] = arg_mx.qty[i] * arg_mx.rate[i]
- End If
-
-
- dw_child.Object.u_outwaremx_addqty[child_row] = arg_mx.addqty[i]
- dw_child.Object.u_outwaremx_packqty[child_row] = arg_mx.packqty[i]
-
- dw_child.Object.u_outwaremx_ifrel[child_row] = 1
- dw_child.Object.u_outwaremx_relid[child_row] = arg_mx.taskid[i]
- dw_child.Object.u_outwaremx_relprintid[child_row] = arg_mx.printid[i]
- dw_child.Object.taskcode[child_row] = arg_mx.taskcode[i]
-
- dw_child.Object.u_outwaremx_storageid[child_row] = arg_storageid
- dw_child.Object.u_outwaremx_mtrlid[child_row] = arg_mx.mtrlid[i]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- dw_child.Object.u_mtrldef_lmsaleprice[child_row] = ld_LMsaleprice
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = ls_mtrlengname
- dw_child.Object.u_mtrldef_barcode[child_row] = ls_barcode
-
- dw_child.Object.u_outwaremx_rate[child_row] = arg_mx.rate[i]
- dw_child.Object.u_outwaremx_unit[child_row] = arg_mx.unit[i]
- dw_child.Object.u_outwaremx_status[child_row] = arg_mx.status[i]
- dw_child.Object.u_outwaremx_woodcode[child_row] = arg_mx.woodcode[i]
- dw_child.Object.u_outwaremx_pcode[child_row] = arg_mx.pcode[i]
- dw_child.Object.u_outwaremx_plancode[child_row] = arg_mx.plancode[i] // ls_plancode
- dw_child.Object.u_outwaremx_planprice[child_row] = lde_planprice
-
- dw_child.Object.u_outwaremx_enprice[child_row] = arg_mx.enprice[i]
- dw_child.Object.u_outwaremx_fprice[child_row] = arg_mx.fprice[i]
- dw_child.Object.u_outwaremx_rebate[child_row] = arg_mx.rebate[i]
-
- dw_child.Object.u_outwaremx_mxdscrp[child_row] = arg_mx.mxdscrp[i]
- dw_child.Object.mxdscrp2[child_row] = arg_mx.mxdscrp2[i]
- dw_child.Object.u_outwaremx_mxdscrp3[child_row] = arg_mx.mxdscrp3[i]
- dw_child.Object.u_outwaremx_mxdscrp4[child_row] = arg_mx.mxdscrp4[i]
- dw_child.Object.u_mtrldef_curware_qty[child_row] = 0
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = arg_mx.qty[i] * arg_mx.rate[i]
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = 0
-
- dw_child.Object.u_outwaremx_mtrlcuscode[child_row] = arg_mx.mtrlcuscode[i]
- dw_child.Object.u_outwaremx_outtype[child_row] = arg_mx.outtype[i]
- dw_child.Object.u_outwaremx_formula[child_row] = arg_mx.formula[i]
- dw_child.Object.u_mtrldef_taskdate[child_row] = arg_mx.taskdate[i]
-
- dw_child.Object.u_outwaremx_net_weight[child_row] = arg_mx.net_weight[i]
- dw_child.Object.u_outwaremx_gross_weight[child_row] = arg_mx.gross_weight[i]
- dw_child.Object.u_outwaremx_cubage[child_row] = arg_mx.cubage[i]
-
- dw_child.Object.u_outwaremx_tax[child_row] = arg_mx.tax[i]
- dw_child.Object.u_outwaremx_priceformula[child_row] = arg_mx.priceformula[i]
-
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] =ls_cusmtrlname
-
- //dw_
-
- //计算单价
- If arg_mx.priceformula[i] <> '' and dw_child.Object.u_outwaremx_ifrel[child_row] = 0 Then
- arg_cmpl = null_cmpl
- arg_cmpl.qty = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[child_row]
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
-
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
-
- li_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- li_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- Select price
- Into :ld_cusprice
- From u_cust
- Inner JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- Where u_sale_price_mx.mtrlid = :li_mtrlid
- And u_cust.cusid = :li_cusid;
- If sqlca.SQLCode <> 0 Then
- ld_cusprice = 0
- End If
-
- arg_cmpl.cusprice = ld_cusprice
- arg_cmpl.num = 2
- arg_cmpl.addvalue = 1
- arg_cmpl.flag = True
- ld_qty = 0
- If f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 Then
- arg_msg = arg_msg + "~r~n" + ls_msg
- rslt = 0
- Goto ext
- End If
- dw_child.Object.u_outwaremx_enprice[child_row] = ld_qty
- End If
-
- Else //IF lde_noallocqty_sum = 0 THEN 有库存数
- lde_taskqty_rest = arg_mx.qty[i] * arg_mx.rate[i]
-
- Declare pf_cur Cursor For
- Select
- u_mtrlware.mtrlwareid,
- u_mtrlware.plancode,
- u_mtrlware.noallocqty,
- u_mtrlware.planprice
- From u_mtrlware
- Where ( u_mtrlware.mtrlid = :arg_mx.mtrlid[i] ) And
- ( u_mtrlware.scid = :arg_scid ) And
- ( u_mtrlware.storageid = :arg_storageid ) And
- ( u_mtrlware.status = :arg_mx.status[i] ) And
- ( u_mtrlware.pcode = :arg_mx.pcode[i] ) And
- ( u_mtrlware.woodcode = :arg_mx.woodcode[i] ) And
- ( u_mtrlware.sptid = :ll_sptid Or :ll_sptid = -1 Or (:sys_option_outware_ifpublware = 1 And u_mtrlware.sptid = 0) ) And
- ( u_mtrlware.noallocqty > 0)
- And (:li_if_plancode = 0 Or plancode = :arg_mx.plancode[i] )
- Order By Case when u_mtrlware.sptid = :ll_sptid Then 1 Else 0 End Desc, u_mtrlware.noallocqty Desc ;
-
- Open pf_cur;
- count = 1
- Fetch pf_cur Into :ll_mtrlwareid,:ls_plancode, :lde_noallocqty,:lde_planprice ;
- Do While sqlca.SQLCode = 0
- count++
-
- If lde_taskqty_rest <= lde_noallocqty Then
- lde_qty_add = lde_taskqty_rest
- Else
- lde_qty_add = lde_noallocqty
- End If
- lde_taskqty_rest -= lde_qty_add
-
- lde_uqty_add = lde_qty_add / arg_mx.rate[i]
-
- If dw_child.GetRow() > 0 Then
- If dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] <> 0 Then
- child_row = dw_child.InsertRow (0)
- Else
- child_row = dw_child.GetRow()
- End If
- Else
- child_row = dw_child.InsertRow (0)
- End If
-
- dw_child.Object.u_outwaremx_ifrel[child_row] = 1
- dw_child.Object.u_outwaremx_relid[child_row] = arg_mx.taskid[i]
- dw_child.Object.u_outwaremx_relprintid[child_row] = arg_mx.printid[i]
- dw_child.Object.taskcode[child_row] = arg_mx.taskcode[i]
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ll_mtrlwareid
- dw_child.Object.u_outwaremx_storageid[child_row] = arg_storageid
- dw_child.Object.u_outwaremx_mtrlid[child_row] = arg_mx.mtrlid[i]
-
-
- dw_child.Object.u_outwaremx_saleqty[child_row] = lde_uqty_add
- dw_child.Object.u_outwaremx_uqty[child_row] = lde_uqty_add
- dw_child.Object.u_outwaremx_qty[child_row] = lde_qty_add
- dw_child.Object.u_outwaremx_addqty[child_row] = arg_mx.addqty[i]
-
- dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode
- dw_child.Object.u_outwaremx_planprice[child_row] = lde_planprice
-
- dw_child.Object.u_outwaremx_rate[child_row] = arg_mx.rate[i]
- dw_child.Object.u_outwaremx_unit[child_row] = arg_mx.unit[i]
-
- dw_child.Object.u_outwaremx_enprice[child_row] = arg_mx.enprice[i]
- dw_child.Object.u_outwaremx_fprice[child_row] = arg_mx.fprice[i]
- dw_child.Object.u_outwaremx_rebate[child_row] = arg_mx.rebate[i]
-
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- dw_child.Object.u_mtrldef_lmsaleprice[child_row] = ld_LMsaleprice
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = ls_mtrlengname
- dw_child.Object.u_mtrldef_barcode[child_row] = ls_barcode
-
- dw_child.Object.u_outwaremx_status[child_row] = arg_mx.status[i]
- dw_child.Object.u_outwaremx_woodcode[child_row] = arg_mx.woodcode[i]
- dw_child.Object.u_outwaremx_pcode[child_row] = arg_mx.pcode[i]
-
- dw_child.Object.u_outwaremx_mxdscrp[child_row] = arg_mx.mxdscrp[i]
- dw_child.Object.mxdscrp2[child_row] = arg_mx.mxdscrp2[i]
-
- dw_child.Object.u_outwaremx_mxdscrp3[child_row] = arg_mx.mxdscrp3[i] //新加
- dw_child.Object.u_outwaremx_mxdscrp4[child_row] = arg_mx.mxdscrp4[i] //新加
-
-
- dw_child.Object.u_mtrldef_curware_qty[child_row] = lde_noallocqty
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = arg_mx.qty[i] * arg_mx.rate[i]
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = lde_noallocqty_sum
-
- dw_child.Object.u_outwaremx_mtrlcuscode[child_row] = arg_mx.mtrlcuscode[i]
- dw_child.Object.u_outwaremx_outtype[child_row] = arg_mx.outtype[i]
- dw_child.Object.u_outwaremx_formula[child_row] = arg_mx.formula[i]
- dw_child.Object.u_mtrldef_taskdate[child_row] = arg_mx.taskdate[i]
-
- dw_child.Object.u_outwaremx_net_weight[child_row] = arg_mx.net_weight[i]
- dw_child.Object.u_outwaremx_gross_weight[child_row] = arg_mx.gross_weight[i]
- dw_child.Object.u_outwaremx_cubage[child_row] = arg_mx.cubage[i]
-
- dw_child.Object.u_outwaremx_tax[child_row] = arg_mx.tax[i]
- dw_child.Object.u_outwaremx_priceformula[child_row] = arg_mx.priceformula[i]
-
- dw_child.Object.u_outwaremx_packqty[child_row] = arg_mx.packqty[i]
-
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] =ls_cusmtrlname
-
- //计算单价
- If arg_mx.priceformula[i] <> '' and dw_child.Object.u_outwaremx_ifrel[child_row] = 0 Then
- arg_cmpl = null_cmpl
- arg_cmpl.qty = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[child_row]
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
-
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
-
- li_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- li_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- Select price
- Into :ld_cusprice
- From u_cust
- Inner JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- Where u_sale_price_mx.mtrlid = :li_mtrlid
- And u_cust.cusid = :li_cusid;
- If sqlca.SQLCode <> 0 Then
- ld_cusprice = 0
- End If
-
- arg_cmpl.cusprice = ld_cusprice
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.addvalue = 1
- arg_cmpl.flag = True
- ld_qty = 0
- If f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 Then
- arg_msg = arg_msg + "~r~n" + ls_msg
- rslt = 0
- Goto ext
- End If
- dw_child.Object.u_outwaremx_enprice[child_row] = ld_qty
- End If
-
- If lde_taskqty_rest <= 0 Then Exit //跳出循环
- Fetch pf_cur Into :ll_mtrlwareid,:ls_plancode, :lde_noallocqty,:lde_planprice ;
-
- Loop
- count = count - 1
- Close pf_cur;
-
-
- If lde_taskqty_rest > 0 Then //如果还有未分配的数
- If li_noallocflag = 0 Then //不使用未开单库存, 将剩余数安排在最后一条记录
- If count > 0 And child_row > 0 Then
-
- lde_qty_add = lde_taskqty_rest
- lde_taskqty_rest -= lde_qty_add
-
- lde_uqty_add = lde_qty_add / arg_mx.rate[i]
-
- dw_child.Object.u_outwaremx_saleqty[child_row] = dw_child.Object.u_outwaremx_saleqty[child_row] + lde_uqty_add
- dw_child.Object.u_outwaremx_uqty[child_row] = dw_child.Object.u_outwaremx_uqty[child_row] + lde_uqty_add
- dw_child.Object.u_outwaremx_qty[child_row] = dw_child.Object.u_outwaremx_qty[child_row] + lde_qty_add
-
- End If
- End If
- End If
- End If
- Next
- //计算明细库存数和不足数
- This.TriggerEvent('ue_mx_cmplnoallocqty')
- ext:
- Return rslt
- end function
- public function integer wf_set_outware_itemmx (integer arg_scid, long arg_taskid);
- Long i, j, rslt = 1
- Long ll_rowcnt = 0,child_row, count, ll_addmxcnt,ll_itemid
- String ls_itemcode,ls_itemname,ls_itemtype
- dw_fymx.Reset()
- datastore dw_itemmx
- dw_itemmx = Create datastore
- dw_itemmx.DataObject = 'dw_saletask_itemmx_edit_1'
- dw_itemmx.SetTransObject(sqlca)
- dw_itemmx.Retrieve(arg_scid,arg_taskid)
- FOR i = 1 To dw_itemmx.RowCount()
- child_row = dw_fymx.InsertRow (0)
- dw_fymx.Object.u_outware_itemmx_scid[child_row] = dw_itemmx.Object.u_saletask_itemmx_scid[i]
- dw_fymx.Object.u_outware_itemmx_itemid[child_row] = dw_itemmx.Object.u_saletask_itemmx_itemid[i]
- dw_fymx.Object.u_outware_itemmx_amt[child_row] = dw_itemmx.Object.u_saletask_itemmx_amt[i] - abs(dw_itemmx.Object.u_saletask_itemmx_amtyfh[i])
- dw_fymx.Object.u_outware_itemmx_mxdscrp[child_row] = dw_itemmx.Object.u_saletask_itemmx_mxdscrp[i]
- dw_fymx.Object.u_outware_itemmx_saletaskid[child_row] = dw_itemmx.Object.u_saletask_itemmx_saletaskid[i]
- dw_fymx.Object.u_outware_itemmx_saletaskprintid[child_row] = dw_itemmx.Object.u_saletask_itemmx_printid[i]
- dw_fymx.Object.u_outware_itemmx_itype[child_row] = dw_itemmx.Object.u_saletask_itemmx_itype[i]
- dw_fymx.Object.u_outware_itemmx_printid[child_row] = i
- NEXT
- dw_fymx.AcceptText()
- FOR i = 1 To dw_fymx.RowCount()
- ll_itemid = dw_fymx.Object.u_outware_itemmx_itemid[i]
- SELECT Top 1 itemcode,itemname,itemtype Into :ls_itemcode,:ls_itemname,:ls_itemtype From u_itemdef Where u_itemdef.itemid = :ll_itemid;
- dw_fymx.Object.u_itemdef_itemcode[i] = ls_itemcode
- dw_fymx.Object.u_itemdef_itemname[i] = ls_itemname
- dw_fymx.Object.u_itemdef_itemtype[i] = ls_itemtype
- NEXT
- Destroy dw_itemmx
- RETURN rslt
- end function
- public function integer wf_change_cusid (long arg_cusid);Long rslt = 1,ll_row,i
- Long ll_mtrlcus,ll_scid = 0,ll_outwareid = 0,ll_mtrlwareid = 0
- Boolean for_buytask = False //是否按订单
- s_mtrlware_noalloc_array INS_RT_STRU
- s_mtrldef_array S_INSCUST2
- ll_row = dw_uc.GetRow()
- ll_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()]
- ll_outwareid = dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()]
- IF ll_row <= 0 THEN RETURN rslt
- IF dw_uc.Object.u_outware_cusid[ll_row] > 0 And dw_uc.Object.u_outware_cusid[ll_row] <> arg_cusid THEN
-
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_outwaremx_relid[i] <> 0 THEN
- for_buytask = True
- EXIT
- END IF
- NEXT
-
- FOR i = 1 To dw_child.RowCount()
- ll_mtrlwareid = dw_child.Object.u_outwaremx_mtrlwareid[i]
- SELECT top 1 u_mtrlware.sptid INTO :ll_mtrlcus FROM u_outwaremx
- INNER join u_mtrlware on u_outwaremx.scid = u_mtrlware.scid AND
- u_outwaremx.mtrlwareid = u_mtrlware.mtrlwareid WHERE u_outwaremx.scid = :ll_scid AND
- u_outwaremx.outwareid = :ll_outwareid And u_outwaremx.mtrlwareid = :ll_mtrlwareid ;
- IF ll_mtrlcus <> 0 THEN
- for_buytask = True
- EXIT
- END IF
- NEXT
-
- IF for_buytask = True THEN //按订单
- IF MessageBox('询问','由于发货单按订单收货 或者 使用客户库存,更换客户会删除全部明细,是否继续?',question!,yesno!) = 2 THEN
- rslt = 0
- RETURN rslt
- END IF
- dw_child.Reset()
- This.TriggerEvent("insert_childrow")
-
- ELSE //不按订单
- IF sys_option_hide_ware = 0 THEN //如果隐藏仓库的,直接选物料
- wf_cusprice_mtrlware(INS_RT_STRU)
- wf_cusprice_in(INS_RT_STRU)
- ELSE
- wf_cusprice_mtrl(S_INSCUST2)
- wf_cusprice_in(S_INSCUST2)
- END IF
-
- END IF
- END IF
- RETURN rslt
- end function
- public function integer wf_get_cusid (ref long arg_cusid);Long ll_cusid
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF IsNull(ll_cusid) Or ll_cusid = 0 THEN
- This.TriggerEvent("ue_f9")
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF IsNull(ll_cusid) Or ll_cusid = 0 THEN
- MessageBox('提示','请先选择客户',information!,OK!)
- RETURN 0
- END IF
- END IF
- arg_cusid = ll_cusid
- RETURN 1
- end function
- public subroutine wf_cusprice_mtrlware (ref s_mtrlware_noalloc_array ins_rt_stru);datastore dw_mtrlwaremx
- Long i,ls_i,chC,ll_mtrlwareid[]
- //s_mtrlware_noalloc_array INS_RT_STRU wf_cusprice_mtrlware
- dw_mtrlwaremx = Create datastore
- dw_mtrlwaremx.DataObject = 'dw_mtrlware_noalloc_storageid_ch_cusprice'
- dw_mtrlwaremx.SetTransObject(sqlca)
- FOR i = 1 To dw_child.RowCount()
- ll_mtrlwareid[i] = dw_child.Object.u_outwaremx_mtrlwareid[i]
- NEXT
- dw_mtrlwaremx.Retrieve(ll_mtrlwareid)
- FOR i = 1 To dw_mtrlwaremx.RowCount()
- dw_mtrlwaremx.SelectRow(i,True)
- NEXT
- FOR ls_i = 1 To dw_mtrlwaremx.RowCount()
- IF dw_mtrlwaremx.IsSelected(ls_i) THEN
- chC++
- INS_RT_STRU.mtrlwareid[chC] = dw_mtrlwaremx.Object.mtrlwareid[ls_i]
- INS_RT_STRU.mtrlid[chC] = dw_mtrlwaremx.Object.mtrlid[ls_i]
- INS_RT_STRU.u_mtrldef_mtrlcode[chC] = dw_mtrlwaremx.Object.u_mtrldef_mtrlcode[ls_i]
- INS_RT_STRU.u_mtrldef_mtrlname[chC] = dw_mtrlwaremx.Object.u_mtrldef_mtrlname[ls_i]
- INS_RT_STRU.u_mtrldef_mtrlmode[chC] = dw_mtrlwaremx.Object.mtrlmode[ls_i]
- INS_RT_STRU.u_mtrldef_unit[chC] = dw_mtrlwaremx.Object.u_mtrldef_unit[ls_i]
- INS_RT_STRU.u_mtrldef_prdpackcode[chC] = dw_mtrlwaremx.Object.u_mtrldef_prdpackcode[ls_i]
- INS_RT_STRU.u_mtrldef_packqty[chC] = dw_mtrlwaremx.Object.u_mtrldef_packqty[ls_i]
-
- INS_RT_STRU.noallocqty[chC] = dw_mtrlwaremx.Object.noallocqty[ls_i]
- INS_RT_STRU.cost[chC] = dw_mtrlwaremx.Object.cost[ls_i]
- INS_RT_STRU.planprice[chC] = dw_mtrlwaremx.Object.planprice[ls_i]
- INS_RT_STRU.storageid[chC] = dw_mtrlwaremx.Object.storageid[ls_i]
- INS_RT_STRU.plancode[chC] = dw_mtrlwaremx.Object.plancode[ls_i]
- INS_RT_STRU.status[chC] = dw_mtrlwaremx.Object.u_mtrlware_status[ls_i]
- INS_RT_STRU.sptid[chC] = dw_mtrlwaremx.Object.u_mtrlware_sptid[ls_i]
- INS_RT_STRU.dxflag[chC] = dw_mtrlwaremx.Object.u_mtrlware_dxflag[ls_i]
- INS_RT_STRU.noauditingqty[chC] = dw_mtrlwaremx.Object.noauditingqty[ls_i]
- INS_RT_STRU.woodcode[chC] = dw_mtrlwaremx.Object.u_mtrlware_woodcode[ls_i]
- INS_RT_STRU.pcode[chC] = dw_mtrlwaremx.Object.u_mtrlware_pcode[ls_i]
- INS_RT_STRU.u_mtrldef_mtrlsectype[chC] = dw_mtrlwaremx.Object.u_mtrldef_mtrlsectype[ls_i]
- INS_RT_STRU.u_mtrldef_zxmtrlmode[chC] = dw_mtrlwaremx.Object.u_mtrldef_zxmtrlmode[ls_i]
- INS_RT_STRU.sptcode[chC] = dw_mtrlwaremx.Object.sptcode[ls_i]
- INS_RT_STRU.sptname[chC] = dw_mtrlwaremx.Object.sptname[ls_i]
- INS_RT_STRU.noallocaddqty[chC] = dw_mtrlwaremx.Object.noallocaddqty[ls_i]
- INS_RT_STRU.noauditingaddqty[chC] = dw_mtrlwaremx.Object.noauditingaddqty[ls_i]
- INS_RT_STRU.wareamt[chC] = dw_mtrlwaremx.Object.wareamt[ls_i]
- INS_RT_STRU.barcode[chC] = dw_mtrlwaremx.Object.u_mtrldef_barcode[ls_i]
- IF IsNull(INS_RT_STRU.noauditingqty[chC]) THEN INS_RT_STRU.noauditingqty[ls_i] = 0
- IF IsNull(INS_RT_STRU.noauditingaddqty[chC]) THEN INS_RT_STRU.noauditingaddqty[ls_i] = 0
-
-
-
-
-
-
-
-
-
- END IF
- NEXT
- Destroy dw_mtrlwaremx
- end subroutine
- public subroutine wf_cusprice_in (s_mtrlware_noalloc_array ins_rt_stru);//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
- Long i
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 THEN RETURN
- //IF flag = 1 THEN RETURN
- Long child_row,ins_storageid = 0,cnt_childdw
- Long ll_moneyid
- Long ls_null
- Long chc = 1,ls_j,ll_custid
- Decimal lde_rate
- s_edit_index_tran s_tranf8 //传递参数使用
- SetNull(ls_null)
- dw_uc.AcceptText()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF wf_get_cusid(ll_custid) = 0 THEN
- RETURN
- END IF
- dw_uc.AcceptText()
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- IF sys_option_hide_ware = 0 THEN //如果隐藏仓库的,直接选物料
- ins_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- IF ins_storageid = 0 Or IsNull(ins_storageid) THEN
- MessageBox('提示','请先选择仓库',information!,OK!)
- RETURN
- END IF
-
- Int li_if_cus_mtrlware
- SELECT balctype INTO :li_if_cus_mtrlware
- FROM u_storage
- Where storageid = :ins_storageid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!)
- RETURN
- END IF
-
- //ll_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
-
-
- //初始化参数
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.b_long = 0
- IF li_if_cus_mtrlware = 1 THEN
- s_tranf8.c_long = ll_custid
- ELSE
- s_tranf8.c_long = -1
- END IF
-
- IF Not IsValid(w_mtrlware_storageid_ch) THEN
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.d_long = ins_storageid
-
-
- IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- // OpenWithParm(w_mtrlware_storageid_ch,s_tranf8)
-
- s_mtrlware_noalloc_array S_INSCUST
- S_INSCUST = ins_rt_stru
-
- FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
- IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
-
- FOR i = 1 To dw_child.RowCount()
- IF S_INSCUST.mtrlwareid[ls_j] = dw_child.Object.u_outwaremx_mtrlwareid[i] THEN
- child_row = i
- EXIT
- END IF
- NEXT
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
- dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
-
- IF sys_option_outware_Sale_ware = 0 THEN
- // dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- // dw_child.Object.u_outwaremx_uqty[child_row] = 0
- // dw_child.Object.u_outwaremx_addqty[child_row] = 0
- ELSEIF sys_option_outware_Sale_ware = 1 THEN
- dw_child.Object.u_outwaremx_saleqty[child_row] = S_INSCUST.noallocqty[ls_j]- S_INSCUST.noauditingqty[ls_j]
- dw_child.Object.u_outwaremx_uqty[child_row] = S_INSCUST.noallocqty[ls_j]- S_INSCUST.noauditingqty[ls_j]
- dw_child.Object.u_outwaremx_addqty[child_row] = S_INSCUST.noallocaddqty[ls_j]- S_INSCUST.noauditingaddqty[ls_j]
- ELSE
- dw_child.Object.u_outwaremx_saleqty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_outwaremx_uqty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_outwaremx_addqty[child_row] = S_INSCUST.noallocaddqty[ls_j]
- END IF
-
-
- dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST.planprice[ls_j]
- dw_child.Object.u_outwaremx_storageid[child_row] = S_INSCUST.storageid[ls_j]
- dw_child.Object.u_outwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j]
- dw_child.Object.u_outwaremx_dxflag[child_row] = S_INSCUST.dxflag[ls_j]
-
- dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST.status[ls_j]
- dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
- dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
- dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
-
-
- f_find_unitrate(S_INSCUST.mtrlid[ls_j], S_INSCUST.u_mtrldef_unit[ls_j], lde_rate)
- dw_child.Object.u_outwaremx_rate[child_row] = lde_rate
-
- wf_get_price(child_row)
-
- dw_child.Object.u_mtrldef_curware_qty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null
-
- END IF
- NEXT
- END IF
-
- ELSE
-
-
- END IF
- IF sys_option_outware_if_saleqty = 0 THEN
- dw_child.SetColumn('u_outwaremx_uqty')
- ELSE
- dw_child.SetColumn('u_outwaremx_saleqty')
- END IF
- dw_child.SetRedraw(True)
- dw_child.SetFocus()
- ////////////////////////////////// //
- end subroutine
- public subroutine wf_cusprice_mtrl (ref s_mtrldef_array ins_rt_stru);datastore dw_mtrlmx
- Long i,ls_i,chC,ll_mtrl[]
- dw_mtrlmx = Create datastore
- dw_mtrlmx.DataObject = 'dw_mtrl_index_sptprice'
- dw_mtrlmx.SetTransObject(sqlca)
- if dw_child.RowCount() > 0 then
- FOR i = 1 To dw_child.RowCount()
- IF sys_option_hide_ware = 0 THEN //隐藏仓库
- ll_mtrl[i] = dw_child.Object.u_outwaremx_mtrlid[i]
- ELSE
- ll_mtrl[i] = dw_child.Object.u_outwaremx_mtrlid[i]
- END IF
- NEXT
- end if
- dw_mtrlmx.Retrieve(ll_mtrl)
- FOR i = 1 To dw_mtrlmx.RowCount()
- dw_mtrlmx.SelectRow(i,True)
- NEXT
- FOR ls_i = 1 To dw_mtrlmx.RowCount()
- IF dw_mtrlmx.IsSelected(ls_i) THEN
-
- chC++
- ins_rt_stru.mtrlid[chC] = dw_mtrlmx.Object.mtrlid[ls_i]
- ins_rt_stru.mtrlname[chC] = dw_mtrlmx.Object.mtrlname[ls_i]
- ins_rt_stru.mtrlengname[chC] = dw_mtrlmx.Object.mtrlengname[ls_i]
- ins_rt_stru.mtrlcode[chC] = dw_mtrlmx.Object.mtrlcode[ls_i]
- ins_rt_stru.mtrltype[chC] = dw_mtrlmx.Object.mtrltype[ls_i]
- ins_rt_stru.mtrlmode[chC] = dw_mtrlmx.Object.mtrlmode[ls_i]
- ins_rt_stru.unit[chC] = dw_mtrlmx.Object.unit[ls_i]
- ins_rt_stru.storageid[chC] = dw_uc.Object.storageid[dw_uc.GetRow()]
- ins_rt_stru.planprice[chC] = dw_mtrlmx.Object.planprice[ls_i]
- ins_rt_stru.dscrp[chC] = dw_mtrlmx.Object.dscrp[ls_i]
- ins_rt_stru.mtrlsectype[chC] = dw_mtrlmx.Object.mtrlsectype[ls_i]
- ins_rt_stru.lmbuyprice[chC] = dw_mtrlmx.Object.lmbuyprice[ls_i]
- ins_rt_stru.lmsaleprice[chC] = dw_mtrlmx.Object.lmsaleprice[ls_i]
- ins_rt_stru.prdpackcode[chC] = dw_mtrlmx.Object.prdpackcode[ls_i]
- ins_rt_stru.packqty[chC] = dw_mtrlmx.Object.packqty[ls_i]
- ins_rt_stru.zxmtrlmode[chC] = dw_mtrlmx.Object.zxmtrlmode[ls_i]
- ins_rt_stru.unit_buy[chC] = dw_mtrlmx.Object.u_mtrldef_unit_buy[ls_i]
- ins_rt_stru.rate_buy[chC] = dw_mtrlmx.Object.u_mtrldef_rate_buy[ls_i]
- ins_rt_stru.unit_scll[chC] = dw_mtrlmx.Object.u_mtrldef_unit_scll[ls_i]
- ins_rt_stru.rate_scll[chC] = dw_mtrlmx.Object.u_mtrldef_rate_scll[ls_i]
- ins_rt_stru.unit_sale[chC] = dw_mtrlmx.Object.u_mtrldef_unit_sale[ls_i]
- ins_rt_stru.rate_sale[chC] = dw_mtrlmx.Object.u_mtrldef_rate_sale[ls_i]
-
-
- IF dw_mtrlmx.Object.u_mtrldef_unit_buy[chC] = '' THEN
- ins_rt_stru.unit_buy[chC] = dw_mtrlmx.Object.unit[ls_i]
- ins_rt_stru.rate_buy[chC] = 1
- ELSE
- ins_rt_stru.unit_buy[ls_i] = dw_mtrlmx.Object.u_mtrldef_unit_buy[ls_i]
- ins_rt_stru.rate_buy[chC] = dw_mtrlmx.Object.u_mtrldef_rate_buy[ls_i]
- END IF
-
-
- IF dw_mtrlmx.Object.u_mtrldef_unit_scll[chC] = '' THEN
- ins_rt_stru.unit_scll[chC] = dw_mtrlmx.Object.unit[ls_i]
- ins_rt_stru.rate_scll[chC] = 1
- ELSE
- ins_rt_stru.unit_scll[chC] = dw_mtrlmx.Object.u_mtrldef_unit_scll[ls_i]
- ins_rt_stru.rate_scll[chC] = dw_mtrlmx.Object.u_mtrldef_rate_scll[ls_i]
- END IF
-
- IF dw_mtrlmx.Object.u_mtrldef_unit_sale[chC] = '' THEN
- ins_rt_stru.unit_sale[chC] = dw_mtrlmx.Object.unit[ls_i]
- ins_rt_stru.rate_sale[chC] = 1
- ELSE
- ins_rt_stru.unit_sale[chC] = dw_mtrlmx.Object.u_mtrldef_unit_sale[ls_i]
- ins_rt_stru.rate_sale[chC] = dw_mtrlmx.Object.u_mtrldef_rate_sale[ls_i]
- END IF
-
-
- ins_rt_stru.ifcustom[chC] = dw_mtrlmx.Object.u_mtrldef_ifcustom[ls_i]
- ins_rt_stru.statusflag[chC] = dw_mtrlmx.Object.statusflag[ls_i]
- ins_rt_stru.woodcodeflag[chC] = dw_mtrlmx.Object.woodcodeflag[ls_i]
- ins_rt_stru.pcodeflag[chC] = dw_mtrlmx.Object.pcodeflag[ls_i]
- ins_rt_stru.statustype[chC] = dw_mtrlmx.Object.u_mtrldef_statustype[ls_i]
- ins_rt_stru.woodcodetype[chC] = dw_mtrlmx.Object.u_mtrldef_woodcodetype[ls_i]
- ins_rt_stru.pcodetype[chC] = dw_mtrlmx.Object.u_mtrldef_pcodetype[ls_i]
- ins_rt_stru.status_check[chC] = dw_mtrlmx.Object.u_mtrldef_status_check[ls_i]
- ins_rt_stru.woodcode_check[chC] = dw_mtrlmx.Object.u_mtrldef_woodcode_check[ls_i]
- ins_rt_stru.pcode_check[chC] = dw_mtrlmx.Object.u_mtrldef_pcode_check[ls_i]
-
- ins_rt_stru.configcode[chC] = dw_mtrlmx.Object.u_mtrldef_configcode[ls_i]
- ins_rt_stru.configname[chC] = dw_mtrlmx.Object.u_mtrldef_configname[ls_i]
- ins_rt_stru.configcodetype[chC] = dw_mtrlmx.Object.u_mtrldef_configcodetype[ls_i]
- ins_rt_stru.mtrlcolor[chC] = dw_mtrlmx.Object.u_mtrldef_mtrlcolor[ls_i]
-
- ins_rt_stru.status_config[chC] = dw_mtrlmx.Object.u_mtrldef_status_config[ls_i]
- ins_rt_stru.woodcode_config[chC] = dw_mtrlmx.Object.u_mtrldef_woodcode_config[ls_i]
- ins_rt_stru.pcode_config[chC] = dw_mtrlmx.Object.u_mtrldef_pcode_config[ls_i]
-
- IF ins_rt_stru.statusflag[chC] = 4 THEN
- ins_rt_stru.status[chC] = dw_mtrlmx.Object.u_mtrldef_status_config[ls_i]
- ELSE
- ins_rt_stru.status[chC] = ""
- END IF
- IF ins_rt_stru.woodcodeflag[chC] = 4 THEN
- ins_rt_stru.woodcode[chC] = dw_mtrlmx.Object.u_mtrldef_woodcode_config[ls_i]
- ELSE
- ins_rt_stru.woodcode[chC] = ""
- END IF
- IF ins_rt_stru.pcodeflag[chC] = 4 THEN
- ins_rt_stru.pcode[chC] = dw_mtrlmx.Object.u_mtrldef_pcode_config[ls_i]
- ELSE
- ins_rt_stru.pcode[chC] = ""
- END IF
-
- ins_rt_stru.usermtrlmode[chC] = dw_mtrlmx.Object.u_mtrldef_usermtrlmode[ls_i]
- ins_rt_stru.buyunit[chC] = dw_mtrlmx.Object.u_mtrldef_buyunit[ls_i]
- ins_rt_stru.wfjgunit[chC] = dw_mtrlmx.Object.u_mtrldef_wfjgunit[ls_i]
- ins_rt_stru.scllunit[chC] = dw_mtrlmx.Object.u_mtrldef_scllunit[ls_i]
- ins_rt_stru.saleunit[chC] = dw_mtrlmx.Object.u_mtrldef_saleunit[ls_i]
- ins_rt_stru.buydec[chC] = dw_mtrlmx.Object.u_mtrldef_buydec[ls_i]
- ins_rt_stru.wfjgdec[chC] = dw_mtrlmx.Object.u_mtrldef_wfjgdec[ls_i]
- ins_rt_stru.sclldec[chC] = dw_mtrlmx.Object.u_mtrldef_sclldec[ls_i]
- ins_rt_stru.saledec[chC] = dw_mtrlmx.Object.u_mtrldef_saledec[ls_i]
- ins_rt_stru.ifpack[chC] = dw_mtrlmx.Object.u_mtrldef_ifpack[ls_i]
- ins_rt_stru.ifpackpro[chC] = dw_mtrlmx.Object.u_mtrldef_ifpackpro[ls_i]
- ins_rt_stru.ifpackpz[chC] = dw_mtrlmx.Object.u_mtrldef_ifpackpz[ls_i]
- ins_rt_stru.ifpackpro2[chC] = dw_mtrlmx.Object.u_mtrldef_ifpackpro2[ls_i]
- ins_rt_stru.ifpacktype[chC] = dw_mtrlmx.Object.u_mtrldef_ifpacktype[ls_i]
-
-
- ins_rt_stru.net_weight[chC] = dw_mtrlmx.Object.net_weight[ls_i]
- ins_rt_stru.gross_weight[chC] = dw_mtrlmx.Object.gross_weight[ls_i]
- ins_rt_stru.cubage[chC] = dw_mtrlmx.Object.cubage[ls_i]
- ins_rt_stru.handtype[chC] = dw_mtrlmx.Object.handtype[ls_i]
- ins_rt_stru.mtrltypeid[chC] = dw_mtrlmx.Object.mtrltypeid[ls_i]
- ins_rt_stru.mtrlorigin[chC] = dw_mtrlmx.Object.mtrlorigin[ls_i]
- ins_rt_stru.mtrlprp[chC] = dw_mtrlmx.Object.mtrlprp[ls_i]
-
-
- END IF
- NEXT
- Destroy dw_mtrlmx
- end subroutine
- public subroutine wf_cusprice_in (s_mtrldef_array ins_rt_stru);//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
- Long i
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 THEN RETURN
- //IF flag = 1 THEN RETURN
- Long child_row,ins_storageid = 0,cnt_childdw
- Long ll_moneyid
- Long ls_null
- Long chc = 1,ls_j,ll_custid
- Decimal lde_rate
- s_edit_index_tran s_tranf8 //传递参数使用
- SetNull(ls_null)
- dw_uc.AcceptText()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF wf_get_cusid(ll_custid) = 0 THEN
- RETURN
- END IF
- dw_uc.AcceptText()
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- IF sys_option_hide_ware = 0 THEN //如果隐藏仓库的,直接选物料
-
- ELSE
- IF Not IsValid(W_mtrldef_edit) THEN
- //传递参数使用
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.if_select_all = True //多选
- s_tranf8.b_long = -1 //选采购
- s_tranf8.c_long = -1
-
-
- IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- // OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
-
- s_mtrldef_array S_INSCUST2
- S_INSCUST2 = ins_rt_stru //接受返回结构
- FOR ls_j = 1 To UpperBound(S_INSCUST2.mtrlid)
- IF S_INSCUST2.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
-
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = 0
- dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST2.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST2.mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST2.mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST2.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST2.unit[ls_j]
-
- dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- dw_child.Object.u_outwaremx_uqty[child_row] = 0
- dw_child.Object.u_outwaremx_addqty[child_row] = 0
-
- dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST2.planprice[ls_j]
- dw_child.Object.u_outwaremx_storageid[child_row] = 0
- dw_child.Object.u_outwaremx_plancode[child_row] = ''
- //dw_child.Object.u_outwaremx_dxflag[child_row] = 0
-
- dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST2.status[ls_j]
- dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST2.woodcode[ls_j]
- dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST2.pcode[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST2.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST2.mtrlsectype[ls_j]
-
- dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST2.unit[ls_j]
-
- f_find_unitrate(S_INSCUST2.mtrlid[ls_j], S_INSCUST2.unit[ls_j], lde_rate)
- dw_child.Object.u_outwaremx_rate[child_row] = lde_rate
-
- wf_get_price(child_row)
-
- dw_child.Object.u_mtrldef_curware_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null
-
- END IF
-
- NEXT
-
- END IF
- END IF
- IF sys_option_outware_if_saleqty = 0 THEN
- dw_child.SetColumn('u_outwaremx_uqty')
- ELSE
- dw_child.SetColumn('u_outwaremx_saleqty')
- END IF
- dw_child.SetRedraw(True)
- dw_child.SetFocus()
- ////////////////////////////////// //
- end subroutine
- public function integer wf_check_qtyandaddqty (ref string arg_msg);Long i
- Int rslt = 1
- Long lk_mtrlid,lk_ifcheckaddqty
- String ls_strcheckaddqty,ls_mtrlmode
- Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty,dec_rebate
- String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
- Long num
- s_cmpl_qty s_cmpl
- s_cmpl.addvalue = 1
- String ls_msg
- dw_child.AcceptText()
- FOR i = 1 To dw_child.RowCount()
- lk_mtrlid = dw_child.Object.u_outwaremx_mtrlid[i]
- dec_qty = dw_child.Object.u_outwaremx_uqty[i]
- dec_addqty = dw_child.Object.u_outwaremx_addqty[i]
- ls_status = dw_child.Object.u_outwaremx_status[i]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[i]
- ls_pcode = dw_child.Object.u_outwaremx_pcode[i]
- ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
- ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
- dec_danpackqty=dw_child.Object.u_mtrldef_packqty[i]
- dec_packqty=dw_child.Object.u_outwaremx_packqty[i]
- dec_rebate = dw_child.Object.u_outwaremx_rebate[i]
-
- SELECT ifcheckaddqty,strcheckaddqty,strcheck_digit Into :lk_ifcheckaddqty,:ls_strcheckaddqty,:num From u_mtrldef Where mtrlid = :lk_mtrlid;
-
- s_cmpl.formula = ls_strcheckaddqty
- s_cmpl.status = ls_status
- s_cmpl.woodcode = ls_woodcode
- s_cmpl.pcode = ls_pcode
- s_cmpl.mtrlsectype = ls_mtrlsectype
- s_cmpl.zxmtrlmode = ls_zxmtrlmode
- s_cmpl.addqty = dec_addqty
- s_cmpl.num = num
- s_cmpl.oldqty = dec_qty
- s_cmpl.mtrlsectype = ls_mtrlsectype
- s_cmpl.zxmtrlmode = ls_zxmtrlmode
- s_cmpl.packqty = dec_packqty
- s_cmpl.rebate = dec_rebate
-
- //如果有填写数量 则 只检查数量和辅数的关系
- Decimal dec_tmp
- IF lk_mtrlid > 0 And dec_qty <> 0 THEN
- IF f_cmpl_qty_check(s_cmpl,dec_tmp,ls_msg) <> TRUE THEN
- rslt = 0
- arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty
- GOTO ext
- END IF
- END IF
-
- //如果没有填写数量 则 由辅数计算出数量
- IF lk_mtrlid > 0 And dec_qty = 0 THEN
- IF f_cmpl_qty(s_cmpl,dec_tmp,ls_msg) = 0 THEN
- rslt = 0
- arg_msg += '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty
- goto ext
- END IF
- dw_child.Object.u_outwaremx_uqty[i] = dec_tmp
- END IF
- NEXT
- dw_child.AcceptText()
- ext:
- RETURN rslt
- end function
- public function integer wf_enamt_facechg ();//IF ii_enamt_edit = 0 THEN //金额计算单价 为 false
- // dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- // dw_child.Modify('enamt_t.Color = 0')
- //
- //
- //
- //
- //ELSEIF ii_enamt_edit = 1 THEN
- //
- // dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- // dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- //
- //
- //
- //END IF
- IF cbx_enamt_edit.Checked = True Or cbx_zk.Checked = True THEN
- dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- ELSE
- dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- dw_child.Modify('enamt_t.Color = 0')
- END IF
- IF ii_enamt_notax_edit = 0 THEN //录入不含税单价 为 false
- dw_child.Modify('enprice_notax.protect = 1~t enprice_notax.Color = "0~trgb(0,0,0)"')
- dw_child.Modify('enprice_notax_t.Color = "0~trgb(0,0,0)"')
- dw_child.Modify('enamt_notax.protect =1~t enamt_notax.Color = 0') //现在不录入 不含税金额
-
-
-
-
-
- ELSEIF ii_enamt_notax_edit = 1 THEN
-
- dw_child.Modify('enprice_notax.protect = 0~t enprice_notax.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('enprice_notax_t.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('enamt_notax.protect =1~t enamt_notax.Color = 0') //现在不录入 不含税金额
-
-
-
-
-
- END IF
- RETURN 1
- end function
- public function integer wf_ck_taobao (string arg_outwarecode);Int rslt = 1
- Long cnt
- String ls_msg
- IF Mid(sys_pwrstr,1794,1) = '0' THEN
- rslt = 1
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_outwaremx INNER JOIN
- u_outware ON u_outwaremx.scid = u_outware.scid AND u_outwaremx.outwareid = u_outware.outwareid INNER JOIN
- u_SaleTaskMx ON u_outwaremx.relid = u_SaleTaskMx.TaskID AND u_outwaremx.scid = u_SaleTaskMx.scid AND
- u_outwaremx.relprintid = u_SaleTaskMx.printid INNER JOIN
- u_SaleTask ON u_SaleTaskMx.scid = u_SaleTask.scid AND u_SaleTaskMx.TaskID = u_SaleTask.TaskID INNER JOIN
- eb_saletask_import ON u_SaleTask.TaskCode = eb_saletask_import.taskcode LEFT OUTER JOIN
- tb_trade ON eb_saletask_import.tid = tb_trade.tid
- WHERE (tb_trade.status NOT IN ('TRADE_FINISHED', 'WAIT_BUYER_CONFIRM_GOODS'))
- And u_outware.outwarecode = :arg_outwarecode;
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = '查询发货单淘宝已发货标志失败,操作取消。~n'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- ls_msg = '发货单淘宝未发货,操作取消。'
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- MessageBox('提示',ls_msg)
- END IF
- RETURN rslt
- end function
- public subroutine wf_check_ware (long arg_scid, long arg_billid);IF sys_option_outware_ware_check = 0 THEN RETURN
- LONG CNT
- //IF THEN
- select
- count(*) into :cnt
- from (select
- scid,
- outwareid,
- mtrlid,
- status,
- pcode,
- woodcode
- from u_outwaremx
- group by scid,
- outwareid,
- mtrlid,
- status,
- pcode,
- woodcode) as u_outwaremx
- inner join u_mtrldef on u_mtrldef.mtrlid = u_outwaremx.mtrlid
- left outer join u_mtrldef_maxminqty on u_mtrldef_maxminqty.mtrlid = u_outwaremx.mtrlid
- and u_mtrldef_maxminqty.status = u_outwaremx.status
- and u_mtrldef_maxminqty.woodcode = u_outwaremx.woodcode
- and u_mtrldef_maxminqty.pcode = u_outwaremx.pcode
- left outer join (select
- mtrlid,
- status,
- pcode,
- woodcode,
- sum(noallocqty) as noallocqty
- from u_mtrlware
- group by mtrlid,
- status,
- pcode,
- woodcode) as u_mtrlware_a
- on u_mtrldef_maxminqty.mtrlid = u_mtrlware_a.mtrlid
- and u_mtrldef_maxminqty.status = u_mtrlware_a.status
- and u_mtrldef_maxminqty.woodcode = u_mtrlware_a.woodcode
- and u_mtrldef_maxminqty.pcode = u_mtrlware_a.pcode
- where u_outwaremx.scid = :arg_scid and u_outwaremx.outwareid = :arg_billid
- and ( isnull(u_mtrlware_a.noallocqty,0) - isnull(u_mtrldef_maxminqty.minqty,0)<=0);
- IF CNT>0 THEN
- s_edit_index_tran s_tran1
- s_tran1.c_long = arg_scid
- s_tran1.d_long = arg_billid
- OPENWITHPARM(w_check_ware,s_tran1)
- END IF
- //END IF
- end subroutine
- public function string wf_check_sys_option_check_scanqty ();string arg_msg
- long i
- FOR i = 1 To dw_child.RowCount()
-
- IF dw_child.Object.u_outwaremx_uqty[i] <> dw_child.Object.u_outwaremx_scanqty[i] THEN
-
-
-
- arg_msg = arg_msg + '第' + String(i) + '~n '
- END IF
-
- NEXT
- IF arg_msg <> '' THEN
- arg_msg='系统选项267,销售发货单,销售退货单 扫描数不等于出仓数不能审核,~n'
- END IF
-
- RETURN arg_msg
- end function
- public function integer wf_get_pricelist_price_buchong (long arg_pricelistid, long arg_moneyid, ref string arg_msg);
- Int rslt = 1
- Long ll_row
- Long ll_pricelistid, ll_moneyid, ll_mtrlid
- String ls_status,ls_pcode,ls_woodcode,ls_unit, ls_mtrlname
- String ls_msg
- ll_pricelistid = arg_pricelistid
- ll_moneyid = arg_moneyid
- IF uo_cus_price.uof_chk_pricelistid(ll_pricelistid, ll_moneyid, arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- s_sale_price_mx s_mx
- dw_child.AcceptText()
- FOR ll_row = 1 To dw_child.RowCount()
- IF dw_child.Object.u_outwaremx_enprice[ll_row] <> 0 THEN CONTINUE
- ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ll_row]
- ls_status = dw_child.Object.u_outwaremx_status[ll_row]
- ls_pcode = dw_child.Object.u_outwaremx_pcode[ll_row]
- ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ll_row]
- ls_unit = dw_child.Object.u_outwaremx_unit[ll_row]
- ls_mtrlname = dw_child.Object.u_mtrldef_mtrlname[ll_row]
-
- IF sys_option_price_if_status = 0 THEN
- ls_status = ''
- ls_pcode = ''
- ls_woodcode = ''
- END IF
-
- s_mx.mtrlid = ll_mtrlid
- s_mx.status = ls_status
- s_mx.woodcode = ls_woodcode
- s_mx.pcode = ls_pcode
- s_mx.unit = ls_unit
- s_mx.moneyid = ll_moneyid
- s_mx.pricelistid = ll_pricelistid
-
- IF uo_cus_price.uof_get_pricelist_price(s_mx, ls_msg) = 0 THEN
- arg_msg += "行:"+String(ll_row)+", "+ls_mtrlname+" ~n"
- rslt = 0 //无标准价格表 或未审核
- END IF
-
- dw_child.Object.u_outwaremx_enprice[ll_row] = s_mx.price
- dw_child.Object.u_outwaremx_rebate[ll_row] = s_mx.rebate
- //dw_child.Object.u_saletaskmx_rate[ll_row] = obj_rate
- NEXT
- IF rslt = 0 THEN
- arg_msg += "导入价格表售价失败或没有设置售价! ~n "
- END IF
- ext:
- RETURN rslt
- end function
- public subroutine wf_set_barcode ();long i,ll_mtrlid
- string ls_barcode
- dw_child.accepttext()
- for i=1 to dw_child.rowcount()
- ll_mtrlid=0
- ls_barcode=''
- ll_mtrlid=dw_child.object.u_outwaremx_mtrlid[i]
- select barcode into :ls_barcode from u_mtrldef where mtrlid=:ll_mtrlid;
- dw_child.object.u_mtrldef_barcode[i]=ls_barcode
- next
- end subroutine
- public subroutine wf_cmpl_amt (long row);IF row <= 0 THEN RETURN
- IF row > dw_child.RowCount() THEN RETURN
- dw_child.AcceptText()
- Decimal lde_saleqty, lde_rebate, lde_tax, lde_enamt, lde_enamt_tax, lde_enamt_notax
- IF sys_option_outware_if_saleqty = 0 THEN
- lde_saleqty = dw_child.Object.u_outwaremx_uqty[row]
- ELSE
- lde_saleqty = dw_child.Object.u_outwaremx_saleqty[row]
- END IF
- lde_rebate = dw_child.Object.u_outwaremx_rebate[row]
- lde_tax = dw_child.Object.u_outwaremx_tax[row]
- //由金额计算单价
- IF cbx_enamt_edit.Checked THEN
-
-
-
-
- IF dw_child.Object.enamt[row] <> 0 THEN
- IF lde_rebate <> 0 And lde_saleqty <> 0 THEN
- dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
- dw_child.Object.u_outwaremx_enamt_tax[row] = Round(dw_child.Object.enamt[row]*lde_tax/(1+lde_tax), 2)
- dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_outwaremx_enamt_tax[row]
- dw_child.Object.enprice_notax[row] = dw_child.Object.u_outwaremx_enprice[row] / (1 + lde_tax)
-
-
- END IF
- END IF
-
-
-
-
-
- ELSEIF cbx_enamt_notax_edit.Checked THEN // 录入不含税单价
-
- dw_child.Object.enamt_notax[row] = dw_child.Object.enprice_notax[row] * lde_saleqty //录入的是不含税单价 单价 * 数量=金额
- IF dw_child.Object.enamt_notax[row] <> 0 THEN
-
- IF lde_rebate <> 0 And lde_saleqty <> 0 THEN
- dw_child.Object.u_outwaremx_enamt_tax[row] = Round(dw_child.Object.enamt_notax[row]*lde_tax, 2)
- dw_child.Object.enamt[row] = dw_child.Object.u_outwaremx_enamt_tax[row] + dw_child.Object.enamt_notax[row]
- dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
- IF dw_child.Object.enprice_notax[row] = 0 THEN
- dw_child.Object.enprice_notax[row] = dw_child.Object.u_outwaremx_enprice[row] / (1 + lde_tax)
- END IF
- END IF
-
- END IF
-
-
-
-
- ELSEIF cbx_zk.Checked THEN //录入金额计算折扣
- IF dw_child.Object.u_outwaremx_enprice[row] <> 0 And dw_child.Object.u_outwaremx_saleqty[row] <> 0 THEN
- dw_child.Object.u_outwaremx_rebate[row] = dw_child.Object.enamt[row] / dw_child.Object.u_outwaremx_enprice[row] / dw_child.Object.u_outwaremx_saleqty[row]
- END IF
-
- ELSE
- dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*lde_rebate*lde_saleqty, 2)
- dw_child.Object.u_outwaremx_enamt_tax[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*lde_rebate*lde_saleqty*lde_tax/(1+lde_tax), 2)
- dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_outwaremx_enamt_tax[row]
- dw_child.Object.enprice_notax[row] = dw_child.Object.u_outwaremx_enprice[row] / (1 + lde_tax)
- END IF
- CHOOSE CASE sys_option_outware_sale_amt_round
- CASE 0 //分
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 2)
- CASE 1
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 1)
- CASE 2
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row], 0)
- CASE 3
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 10, 2) * 10
- CASE 4
- dw_child.Object.enamt[row] = Round(dw_child.Object.enamt[row] / 100, 2) * 100
- END CHOOSE
- //20180103
- // //由金额计算单价
- //IF cbx_enamt_edit.Checked THEN
- // IF Not cbx_enamt_notax_edit.Checked THEN
- // IF dw_child.Object.enamt[row] <> 0 THEN
- // IF lde_rebate <> 0 And lde_saleqty <> 0 THEN
- // dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
- // dw_child.Object.u_outwaremx_enamt_tax[row] = Round(dw_child.Object.enamt[row]*lde_tax/(1+lde_tax), 2)
- // dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_outwaremx_enamt_tax[row]
- // END IF
- // END IF
- //
- //
- // ELSE
- // IF dw_child.Object.enamt_notax[row] <> 0 THEN
- // IF lde_rebate <> 0 And lde_saleqty <> 0 THEN
- // dw_child.Object.u_outwaremx_enamt_tax[row] = Round(dw_child.Object.enamt_notax[row]*lde_tax, 2)
- // dw_child.Object.enamt[row] = dw_child.Object.u_outwaremx_enamt_tax[row] + dw_child.Object.enamt_notax[row]
- // dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / lde_rebate / lde_saleqty
- // // dw_child.Object.u_outwaremx_enamt_tax[row] = Round(dw_child.Object.enamt[row]*lde_tax/(1+lde_tax), 2)
- // // dw_child.Object.enamt_notax[row] = dw_child.Object.enamt[row] - dw_child.Object.u_outwaremx_enamt_tax[row]
- // END IF
- // END IF
- // END IF
- //20180103
- //IF sys_option_outware_if_saleqty = 0 THEN
- // IF cbx_enamt_edit.Checked THEN
- // IF dw_child.Object.enamt[row] <> 0 THEN
- // IF dw_child.Object.u_outwaremx_rebate[row] <> 0 And dw_child.Object.u_outwaremx_uqty[row] <> 0 THEN
- // dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / dw_child.Object.u_outwaremx_rebate[row] / dw_child.Object.u_outwaremx_uqty[row]
- // END IF
- // END IF
- // ELSE
- // dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*dw_child.Object.u_outwaremx_rebate[row]*dw_child.Object.u_outwaremx_uqty[row], 2)
- // END IF
- //ELSE
- // IF cbx_enamt_edit.Checked THEN
- //// if dw_child.GetColumnName() = 'u_outwaremx_enprice' or dw_child.GetColumnName() = 'u_outwaremx_rebate' then
- //// dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*dw_child.Object.u_outwaremx_rebate[row]*dw_child.Object.u_outwaremx_saleqty[row], 2)
- //// else
- // IF dw_child.Object.enamt[row] <> 0 THEN
- // IF dw_child.Object.u_outwaremx_rebate[row] <> 0 And dw_child.Object.u_outwaremx_saleqty[row] <> 0 THEN
- // dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / dw_child.Object.u_outwaremx_rebate[row] / dw_child.Object.u_outwaremx_saleqty[row]
- // END IF
- // END IF
- //// end if
- // ELSE
- // dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*dw_child.Object.u_outwaremx_rebate[row]*dw_child.Object.u_outwaremx_saleqty[row], 2)
- // END IF
- //END IF
- //
- //
- //
- end subroutine
- public subroutine wf_getcusrepamt_info_show (long arg_scid, long arg_cusid, long arg_moneyid);Int lst
- long i
- String cstr = '',rstr = '',msg = ''
- Decimal arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt
- String ls_moneyname
- Decimal ld_canamt
- Decimal lde_billamt
- Decimal ld_mrate
- Long ll_outwareid
- //dw_child.accepttext()
- SELECT name
- INTO :ls_moneyname
- FROM cw_currency
- Where moneyid = :arg_moneyid;
- IF sqlca.SQLCode <> 0 THEN
- st_msg.Text = '查询币种信息失败'
- st_msg.BackColor = RGB(255,255,255)
- RETURN
- END IF
- //本单金额
- // IF sys_option_mst_multimoney = 0 THEN
- // ll_moneyid = f_moneyid_native()
- // IF ll_moneyid = -1 THEN
- // MessageBox('系统提示','查询本位币失败')
- // RETURN
- // END IF
- // ld_mrate = dw_pageretr.Object.u_outware_mrate[dw_pageretr.GetRow()]
- // ELSE
- // ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
- ld_mrate = 1
- // END IF
- lde_billamt = dw_child.Object.enamt_sm[1] * ld_mrate - dw_uc.Object.u_outware_otheramt[dw_uc.getrow()]
- //其他单未财审金额
- dw_uc.AcceptText()
- ll_outwareid = dw_uc.Object.u_outware_outwareid[dw_uc.GetRow()]
- Decimal ld_notsecaudit_amt, ld_notsecaudit_enamt, ld_notsecaudit_billamt, ld_notsecaudit_otheramt, ld_notsecaudit_enotheramt
- SELECT sum(round(u_outwaremx.saleqty * u_outwaremx.price,2)),
- sum(round(u_outwaremx.saleqty * u_outwaremx.enprice * u_outwaremx.rebate,2))
- INTO :ld_notsecaudit_amt,:ld_notsecaudit_enamt
- FROM u_outware,u_outwaremx
- WHERE u_outware.scid = u_outwaremx.scid
- AND u_outware.outwareid = u_outwaremx.outwareid
- AND u_outware.billtype = 1
- AND u_outware.secflag = 0
-
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_amt = 0
- ld_notsecaudit_enamt = 0
- END IF
- SELECT sum(round(u_outware.otheramt,2)),
- sum(round(u_outware.otheramt * u_outware.mrate,2))
- INTO :ld_notsecaudit_enotheramt,:ld_notsecaudit_otheramt
- FROM u_outware
- WHERE u_outware.billtype = 1
- AND u_outware.secflag = 0
-
- AND u_outware.cusid = :arg_cusid
- AND (:sys_option_scid_msttake_mstpay = 1 AND u_outware.scid = :arg_scid OR :sys_option_scid_msttake_mstpay = 0 )
- And (:sys_option_mst_multimoney = 1 And u_outware.relint_2 = :arg_moneyid Or :sys_option_mst_multimoney = 0);
- IF sqlca.SQLCode <> 0 THEN
- ld_notsecaudit_enotheramt = 0
- ld_notsecaudit_otheramt = 0
- END IF
- IF IsNull(ld_notsecaudit_amt) THEN ld_notsecaudit_amt = 0
- IF IsNull(ld_notsecaudit_enamt) THEN ld_notsecaudit_enamt = 0
- IF IsNull(ld_notsecaudit_otheramt) THEN ld_notsecaudit_otheramt = 0
- IF IsNull(ld_notsecaudit_enotheramt) THEN ld_notsecaudit_enotheramt = 0
- IF sys_option_mst_multimoney = 1 THEN
- ld_notsecaudit_billamt = ld_notsecaudit_enamt - ld_notsecaudit_enotheramt
- ELSE
- ld_notsecaudit_billamt = ld_notsecaudit_amt - ld_notsecaudit_otheramt
- END IF
- cur_cusrepamtflag = 0
- //--------检查信用额
- lst = f_getcusrepamt_info(arg_scid,arg_cusid,arg_moneyid,arg_cusbalcamt,arg_cusmaxamt,arg_outrep_balcamt,arg_outrep_maxamt)
- //IF lst < 0 THEN
- // msg = '提示:查询信用额及欠款失败!'
- // st_msg.Text = msg
- // st_msg.BackColor = RGB(255,255,255)
- //
- // cur_cusrepamtflag = -1
- // cur_cusrepamtstr = msg
- //ELSE
- // //客户欠款
- // IF arg_cusmaxamt > 0 THEN
- // IF arg_cusbalcamt > arg_cusmaxamt THEN
- // cstr = ' 客户欠款超信用额! '
- // ELSEIF arg_cusbalcamt = arg_cusmaxamt THEN
- // cstr = ' 客户欠款平信用额! '
- // END IF
- // ELSE
- // IF arg_cusbalcamt > arg_cusmaxamt THEN cstr = ' 客户有欠款! '
- // END IF
- //
- //end if
- // cur_cusrepamtstr_show = '' //非编辑状态下 显示信息
- cur_cusrepamtstr_show='信用额度-欠款-未财审金额:'+'~r~n' + '(' + String(arg_cusmaxamt,'###0.00') + ')' + ' - ' + '(' + String(arg_cusbalcamt,'###0.00') + ')' + ' - ' + '(' + String(ld_notsecaudit_billamt,'###0.00') + ')' + ' = ' + String(arg_cusmaxamt - arg_cusbalcamt - ld_notsecaudit_billamt ,'###0.00')
- If arg_cusmaxamt - arg_cusbalcamt - ld_notsecaudit_billamt >= 0 Then
- st_cusbalc_sign.Visible = False
- Else
- st_cusbalc_sign.Visible = True
- End If
- end subroutine
- public subroutine wf_set_decimal_place ();Long i
- IF sys_option_outware_price_amt_round = 99 THEN RETURN
- //设置单价保留位数
- dw_child.AcceptText()
- FOR i = 1 To dw_child.RowCount()
- CHOOSE CASE sys_option_outware_price_amt_round
- CASE 0
- dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0') )
- CASE 1
- dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.#') )
- CASE 2
- dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.##') )
- CASE 3
- dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.###') )
- CASE 4
- dw_child.Object.u_outwaremx_enprice[i] = Dec(String(dw_child.Object.u_outwaremx_enprice[i],'#,##0.####') )
- END CHOOSE
- NEXT
- dw_child.AcceptText()
- //设置单价保留位数
- end subroutine
- public function decimal wf_sum_mxamt ();//
- dw_child.AcceptText()
- Long i
- Decimal dec_sum
- dec_sum = 0
- FOR i = 1 To dw_child.RowCount()
-
- dec_sum = dec_sum + Dec(dw_child.Object.u_outwaremx_uqty[i]) * Dec(dw_child.Object.u_outwaremx_enprice[i]) * Dec(dw_child.Object.u_outwaremx_rebate[i])
- NEXT
- IF IsNull(dec_sum) THEN dec_sum = 0
- RETURN dec_sum
- end function
- public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid);////
- decimal cusprice
- SELECT
- u_sale_price_mx.price
- INTO :cusprice
- from
- u_cust left join u_sale_price_mx
- on u_cust.pricelistid = u_sale_price_mx.pricelistid
- where mtrlid = :arg_mtrlid and cusid = :arg_cusid
- order by u_sale_price_mx.sys_changetime desc;
- IF sqlca.SQLCode <> 0 THEN
- cusprice = 0
- END IF
-
- return cusprice
- end function
- public subroutine wf_price (integer arg_row);s_cmpl_qty arg_cmpl,null_cmpl
- decimal ld_cusprice,ld_qty
- int li_mtrlid,li_cusid
- string ls_msg
- if li_mtrlid = 0 or li_cusid = 0 then return
- arg_cmpl = null_cmpl
- arg_cmpl.qty = dw_child.Object.u_outwaremx_enprice[arg_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[arg_row]
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[arg_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_enprice[arg_row]
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[arg_row]
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[arg_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[arg_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[arg_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[arg_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[arg_row]
- li_mtrlid = dw_child.Object.u_outwaremx_mtrlid[arg_row]
- li_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- Select price
- Into :ld_cusprice
- From u_cust
- Inner JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- Where u_sale_price_mx.mtrlid = :li_mtrlid
- And u_cust.cusid = :li_cusid;
- If sqlca.SQLCode <> 0 Then
- ld_cusprice = 0
- End If
- arg_cmpl.cusprice = ld_cusprice
- arg_cmpl.num = 2
- arg_cmpl.addvalue = 1
- arg_cmpl.flag = True
- ld_qty = 0
- If f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 Then
- MessageBox('提示',ls_msg, information!, OK! )
- Return
- End If
- dw_child.Object.u_outwaremx_enprice[arg_row] = ld_qty
- end subroutine
- public function integer wf_autoaddmx_rp (s_edit_index_tran arg_s_tran, ref string arg_msg);IF Not dw_edit_mode THEN RETURN 0
- long cusid,storageid,scid
- string Name,cuscode,bsntype,freight,freight_tele,freight_address,Address,tele,tele1,faxno,rep,custype
- int rslt = 1 ,i,child_llrow
- scid = arg_s_tran.c_long
- long uc_row
- cusid = arg_s_tran.g_long
- storageid = arg_s_tran.f_long
- select
- Name,
- cuscode,
- freight,
- freight_tele,
- freight_address,
- Address,
- tele,
- tele1,
- faxno,
- rep,
- custype
- into
- :Name,
- :cuscode,
- :freight,
- :freight_tele,
- :freight_address,
- :Address,
- :tele,
- :tele1,
- :faxno,
- :rep,
- :custype
- from u_cust
- where cusid = :cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败>'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- uc_row = dw_uc.rowcount()
- uc_row = dw_uc.getrow()
- dw_uc.Object.u_outware_cusid[uc_row] = cusid
- dw_uc.Object.u_cust_name[uc_row] = Name
- dw_uc.Object.u_cust_cuscode[uc_row] = cuscode
- dw_uc.Object.u_outware_outrep[uc_row] = custype
- dw_uc.Object.u_outware_relstr_1[uc_row] = freight
- dw_uc.Object.u_outware_relstr_2[uc_row] = freight_tele
- dw_uc.Object.u_outware_relstr_3[uc_row] = freight_address
- dw_uc.Object.u_outware_rel_address[uc_row] = Address
- dw_uc.Object.u_outware_rel_tele[uc_row] = tele
- dw_uc.Object.u_outware_rel_tele1[uc_row] = tele1
- dw_uc.Object.u_outware_rel_fax[uc_row] = faxno
- dw_uc.Object.u_outware_rel_rep[uc_row] = rep
- dw_uc.Object.u_outware_storageid[uc_row] = storageid
- //
- s_saletask_mtrl s_saletask
- for i = 1 to upperbound(arg_s_tran.arr_long)
- s_saletask.TaskID[i] = arg_s_tran.arr_long[i]
- s_saletask.printid[i] = arg_s_tran.arr_long2[i]
- s_saletask.mtrlid[i] = arg_s_tran.arr_long3[i]
- s_saletask.TaskCode[i] = arg_s_tran.arr_string[i]
- next
- IF wf_saletaskmtrltoarr_salemx(scid,s_saletask,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF wf_set_outwaremx(scid,cusid, storageid, s_saletask,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- ext:
- return rslt
- end function
- on w_outware_sale.create
- int iCurrent
- call super::create
- this.ddlb_scid=create ddlb_scid
- this.st_3=create st_3
- this.st_2=create st_2
- this.st_msg=create st_msg
- this.cbx_ifmtrlware=create cbx_ifmtrlware
- this.cbx_enamt_edit=create cbx_enamt_edit
- this.ddlb_status=create ddlb_status
- this.cb_fhmx=create cb_fhmx
- this.cb_fymx=create cb_fymx
- this.cb_bjmx=create cb_bjmx
- this.dw_bjmx=create dw_bjmx
- this.dw_fymx=create dw_fymx
- this.cbx_packqty_cmpl=create cbx_packqty_cmpl
- this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit
- this.cb_scanbill=create cb_scanbill
- this.cbx_zk=create cbx_zk
- this.cb_new_scanbill=create cb_new_scanbill
- this.st_cusbalc=create st_cusbalc
- this.st_cusbalc_sign=create st_cusbalc_sign
- this.cbx_all=create cbx_all
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.ddlb_scid
- this.Control[iCurrent+2]=this.st_3
- this.Control[iCurrent+3]=this.st_2
- this.Control[iCurrent+4]=this.st_msg
- this.Control[iCurrent+5]=this.cbx_ifmtrlware
- this.Control[iCurrent+6]=this.cbx_enamt_edit
- this.Control[iCurrent+7]=this.ddlb_status
- this.Control[iCurrent+8]=this.cb_fhmx
- this.Control[iCurrent+9]=this.cb_fymx
- this.Control[iCurrent+10]=this.cb_bjmx
- this.Control[iCurrent+11]=this.dw_bjmx
- this.Control[iCurrent+12]=this.dw_fymx
- this.Control[iCurrent+13]=this.cbx_packqty_cmpl
- this.Control[iCurrent+14]=this.cbx_enamt_notax_edit
- this.Control[iCurrent+15]=this.cb_scanbill
- this.Control[iCurrent+16]=this.cbx_zk
- this.Control[iCurrent+17]=this.cb_new_scanbill
- this.Control[iCurrent+18]=this.st_cusbalc
- this.Control[iCurrent+19]=this.st_cusbalc_sign
- this.Control[iCurrent+20]=this.cbx_all
- end on
- on w_outware_sale.destroy
- call super::destroy
- destroy(this.ddlb_scid)
- destroy(this.st_3)
- destroy(this.st_2)
- destroy(this.st_msg)
- destroy(this.cbx_ifmtrlware)
- destroy(this.cbx_enamt_edit)
- destroy(this.ddlb_status)
- destroy(this.cb_fhmx)
- destroy(this.cb_fymx)
- destroy(this.cb_bjmx)
- destroy(this.dw_bjmx)
- destroy(this.dw_fymx)
- destroy(this.cbx_packqty_cmpl)
- destroy(this.cbx_enamt_notax_edit)
- destroy(this.cb_scanbill)
- destroy(this.cbx_zk)
- destroy(this.cb_new_scanbill)
- destroy(this.st_cusbalc)
- destroy(this.st_cusbalc_sign)
- destroy(this.cbx_all)
- end on
- event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
- Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
- cb_nextpage_enabled = cb_nextpage.Enabled
- cb_retrieveall_enabled = cb_retrieveall.Enabled
- cb_func_enabled = cb_func.Enabled
- cb_nextpage.Enabled = False
- cb_retrieveall.Enabled = False
- cb_func.Enabled = False
- //只显未自已管的仓库
- datawindowchild childdw
- String new_sqlstr,modify_str
- dw_uc.SetTransObject (sqlca)
- dw_uc.GetChild("u_outware_storageid",childdw)
- childdw.SetTransObject (sqlca)
- new_sqlstr = childdw.Describe("DataWindow.Table.Select")
- IF Len(ol_cdw_str) = 0 THEN ol_cdw_str = new_sqlstr
- new_sqlstr = f_modify_selectstr(ol_cdw_str)
- modify_str = "DataWindow.Table.Select='" + new_sqlstr +"'"
- childdw.Modify ( modify_str )
- IF childdw.Retrieve(cur_scid) = 0 THEN
- childdw.InsertRow(0)
- END IF
- ///////////// //
- Int li_option_outrep, li_option_area,li_option_opemp
- string ls_option_opemp
- IF sys_power_issuper THEN
- li_option_outrep = 0
- ELSE
- li_option_outrep = sys_option_outrep
- END IF
- IF sys_power_issuper THEN
- li_option_area = 0
- ELSE
- li_option_area = sys_option_cusarea
- END IF
- IF sys_power_issuper or f_power_ind(369) or f_power_ind(868) or f_power_ind(370) or f_power_ind(870) THEN
- li_option_opemp = 0
- // ls_option_opemp = publ_operator
- ELSE
- li_option_opemp = sys_option_opemp_sale
- ls_option_opemp = publ_operator
- END IF
- long ll_row
- ll_row = dw_pageretr.getrow()
- dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
- dw_pageretr.Retrieve(cur_scid_arr,sys_user_storageid,sys_showsaledata_mindt,cur_flag,cur_secflag,sys_areaid,li_option_area,sys_user_outrep, li_option_outrep, cur_priceflag,ls_option_opemp,li_option_opemp)
- IF dw_pageretr.RowCount() > 0 and ll_row = 1 THEN
- dw_pageretr.SetRow(1)
- dw_pageretr.TriggerEvent(RowFocusChanged!)
- END IF
- wf_flagstatus_rf()
- This.TriggerEvent('retrieve_childdw')
- //改为独立触发
- //THIS.TriggerEvent('retrieve_fjnum')
- cb_nextpage.Enabled = cb_nextpage_enabled
- cb_retrieveall.Enabled = cb_retrieveall_enabled
- cb_func.Enabled = cb_func_enabled
- //childdw.retrieve()
- end event
- event ue_usual_query_filt;string obj_expr=''
- if trim(sle_usual_query.text)<>'' then
- IF POS(trim(sle_usual_query.text),'%')=0 THEN
- obj_expr=obj_expr+'( u_outware_outwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
- ELSE
- obj_expr=obj_expr+'( u_outware_outwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
- END IF
- end if
- dw_pageretr.setfilter(obj_expr)
- dw_pageretr.SetRedraw(False)
- dw_pageretr.filter()
- if dw_pageretr.rowcount()>=1 then
- dw_pageretr.selectrow(0,false)
- dw_pageretr.selectrow(1,true)
- dw_pageretr.SetRow(1)
- dw_pageretr.triggerevent(rowfocuschanged!)
- end if
- dw_pageretr.SetRedraw(TRUE)
- end event
- event ue_usual_query_retr;string ls_querystrpart=''
- ls_newselect=lower(ori_oldselect)
- if trim(sle_usual_query.text)<>'' then
- if pos(trim(sle_usual_query.text),'%')=0 then
- ls_querystrpart="(u_outware.outwarecode like '%"+trim(sle_usual_query.text)+"%')"
- else
- ls_querystrpart="(u_outware.outwarecode like '"+trim(sle_usual_query.text)+"')"
- end if
- if Pos(ls_newselect," where ") <> 0 then
- ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
- else
- ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
- end if
- end if
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- this.triggerevent('retrieve_pageretr')
- end event
- event open;THIS.TriggerEvent('ue_before_open')
- wf_movetocenter()
- ds_copy_bill = CREATE datastore
- ds_copy_bill.DataObject = dw_child.dataobject
- ds_copy_bill.SetTransObject(sqlca)
- OLD_TITLE = THIS.Title
- s_tran = Message.PowerObjectParm
- IF NOT IsNull(s_tran) THEN
- retrieve_all = s_tran.if_retrieve_all
- mode = s_tran.work_mode
- arg_pkid = s_tran.arg_pkid
- arg_string_code = s_tran.arg_string_code
- if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
- ds_share = s_tran.ds_share
- END IF
- dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
- dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
- dw_pageretr.SetTransObject (sqlca)
- pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
- ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
- //====================================================================
- // Script - w_outware_sale inherited from w_publ_1ton_share_detail for open
- // Reason:
- //--------------------------------------------------------------------
- // Modified By: yyx Date: 2003.12.01
- //--------------------------------------------------------------------
- ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
- //====================================================================
- ls_newselect = ori_oldselect
- ds_curquery = CREATE DATASTORE
- ds_curquery.DataObject = 'd_extr_find'
- ds_curquery.SetTransObject (sqlca)
- int rtncode // 保留联系人初始sql
- DataWindowChild dw_child_dddw
- rtncode = dw_uc.GetChild("u_outware_rel_rep",dw_child_dddw)
- old_rep_select = Lower(dw_child_dddw.GetSQLSelect())
- wf_editindex_lockf()
- IF s_tran.d_long = 2 THEN
- cur_scid = s_tran.c_long
- Int li_item
- li_item = ddlb_scid.FindItem(s_tran.d_string,0)
- IF li_item > 0 THEN
- ddlb_scid.SelectItem(li_item)
- END IF
- END IF
- sle_usual_query.Text = Trim(arg_string_code)
- IF NOT retrieve_all THEN
- THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
- ELSE
- IF if_sharedata THEN
- ds_share.ShareData(dw_pageretr)
- ELSE
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- THIS.TriggerEvent('RETRIEVE_pageretr')
- END IF
- END IF
- IF retrieve_all THEN
- THIS.TriggerEvent("ue_usual_query_filt")
- END IF
- uc_column_int = 27 //uc dw前7列可以编辑
- child_column_int = 31 //子dw前18列可以编辑
- uo_ware = CREATE uo_outware_sale
- uo_ware.commit_transaction = sqlca
- IF sys_option_outwaresale_rateedit = 1 THEN
- dw_child.Modify ("u_outwaremx_rate_t.color=16711680")
- dw_child.Modify ("u_outwaremx_rate.color=16711680")
- dw_child.Modify ("u_outwaremx_rate.protect=0")
-
- ELSE
- dw_child.Modify ("u_outwaremx_rate.protect=1")
- END IF
- if sys_option_hide_ware = 1 then
- dw_child.Modify ("u_outwaremx_status_t.color=16711680")
- dw_child.Modify ("u_outwaremx_status.color=16711680")
- dw_child.Modify ("u_outwaremx_status.protect=0")
-
- dw_child.Modify ("u_outwaremx_woodcode_t.color=16711680")
- dw_child.Modify ("u_outwaremx_woodcode.color=16711680")
- dw_child.Modify ("u_outwaremx_woodcode.protect=0")
-
- dw_child.Modify ("u_outwaremx_pcode_t.color=16711680")
- dw_child.Modify ("u_outwaremx_pcode.color=16711680")
- dw_child.Modify ("u_outwaremx_pcode.protect=0")
-
- ELSE
- dw_child.Modify ("u_outwaremx_status.protect=1")
- dw_child.Modify ("u_outwaremx_woodcode.protect=1")
- dw_child.Modify ("u_outwaremx_pcode.protect=1")
- end if
- uo_fieb = create uo_ljfieb
- uo_fieb.commit_transaction = sys_email_sqlca
- uo_cus_price = CREATE uo_cusprice
- s_hide_col s_col, s_null
- s_col = s_null
- s_col.col_1 = 'billamt'
- f_hide_col(122,dw_uc,s_col) //隐藏销售价
- s_col = s_null
- s_col.col_1 = 'u_outwaremx_enprice'
- s_col.col_2 = 'u_outwaremx_rebate'
- s_col.col_3 = 'u_outwaremx_tax'
- s_col.col_4 = 'enamt'
- s_col.col_5 = 'u_outwaremx_enamt_tax'
- s_col.col_6 = 'u_outwaremx_fprice'
- s_col.col_7 = 'u_outwaremx_bsamt'
- s_col.col_8 = 'u_outwaremx_bsamt_tax'
- s_col.col_9 = 'u_outwaremx_price'
- s_col.col_10 = 'u_outwaremx_otherprice'
- f_hide_col(122,dw_child,s_col) //隐藏销售价
- s_col = s_null
- s_col.col_1 = 'u_outwaremx_ware_fprice'
- s_col.col_2 = 'enamt2'
- s_col.col_3 = 'u_outwaremx_dftsaleprice'
- s_col.col_4 = 'enamt_notax'
- s_col.col_5 = 'enamt2o'
- s_col.col_6 = 'enprice_notax'
- s_col.col_7 = 'z_h_price'
- s_col.col_8 = 'z_h_amt'
- f_hide_col(122,dw_child,s_col) //隐藏销售价
- s_col = s_null
- s_col.col_1 = 'gpamt'
- f_hide_col(843,dw_child,s_col) //隐藏销售毛利
- s_col = s_null
- s_col.col_1 = 'u_outwaremx_cost'
- s_col.col_2 = 'u_outwaremx_costamt'
- f_hide_col(490,dw_child,s_col) //隐藏 出仓成本价
- s_col = s_null
- s_col.col_2 = 'u_outwaremx_cost_notax'
- f_hide_col(123,dw_child,s_col)
- s_hide_col s_col_mtrlsectype
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_child,s_col_mtrlsectype)
- s_hide_col s_col_zxmtrlmode
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_child,s_col_zxmtrlmode)
- //if sys_option_outware_if_saleqty = 0 then
- // dw_child.modify( "u_outwaremx_uqty_t.text = '数量'")
- // dw_child.modify( "destroy u_outwaremx_saleqty ")
- //else
- // dw_child.modify( "u_outwaremx_uqty_t.text = '出仓数量'")
- // dw_child.modify( "u_outwaremx_saleqty.visible = 1 ")
- //end if
- //String arg_msg
- //IF s_tran.e_long = 1 And UpperBound(s_tran.arr_long) > 0 THEN
- // cb_add.TriggerEvent(Clicked!)
- // wf_autoaddmx_rp(s_tran,arg_msg)
- //END IF
- end event
- event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = Not dw_edit_mode
- ddlb_scid.Enabled = Not dw_edit_mode
- cbx_enamt_edit.Enabled = Not dw_edit_mode
- cbx_enamt_notax_edit.Enabled = Not dw_edit_mode
- cbx_packqty_cmpl.Enabled = Not dw_edit_mode
- cbx_zk.Enabled = Not dw_edit_mode
- IF dw_edit_mode THEN
- ddlb_scid.Enabled = False
- ELSE
- IF sys_scid > 0 THEN
- ddlb_scid.Enabled = False
- ELSE
- ddlb_scid.Enabled = True
- END IF
- END IF
- st_msg.X = dw_pageretr.X
- st_msg.Y = dw_pageretr.Y
- st_msg.Width = dw_pageretr.Width
- st_msg.Height = dw_pageretr.Height
- st_msg.Visible = dw_edit_mode
- IF Not dw_edit_mode THEN
- st_msg.Text = ''
- END IF
- wf_flagstatus_rf()
- String ls_sqlstr
- //编缉状态明细不选择
- IF dw_edit_mode THEN
- dw_child.SelectRow(0,False)
- END IF
- IF Not dw_edit_mode THEN cur_editfocus = 0
- Long ls_sit = 0
- //后面还有对金额的分权限处理
- wf_enamt_facechg()
- //IF ii_enamt_edit = 0 THEN
- // dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- // dw_child.Modify('enamt_t.Color = 0')
- //ELSE
- // dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- // dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- //END IF
- //973-限制销售价,折扣(只能按价格表、报价、限价,不能手动录入)
- //866-仓审后修改单价
- //销售数量使用
- IF sys_option_outware_if_saleqty = 0 THEN //不分离
- dw_child.Modify('u_outwaremx_saleqty.protect = 1~t u_outwaremx_saleqty.Color = 0')
- dw_child.Modify('u_outwaremx_saleqty_t.Color = 0')
- ELSE
- dw_child.Modify('u_outwaremx_saleqty.protect = 0~t u_outwaremx_saleqty.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('u_outwaremx_saleqty_t.Color = "0~trgb(0,0,255)"')
- END IF
- IF Not dw_edit_mode THEN
- dw_child.Modify('u_mtrldef_sumneed_qty.visible=0 ~n u_mtrldef_sumware_qty.visible=0 ~n u_mtrldef_curware_qty.visible=0')
-
- ELSE
-
- dw_child.Modify('u_mtrldef_sumneed_qty_t.visible=1 ~n u_mtrldef_sumware_qty_t.visible=1 ~n u_mtrldef_curware_qty_t.visible=1')
- dw_child.Modify('u_mtrldef_sumneed_qty.visible=1 ~n u_mtrldef_sumware_qty.visible=1 ~n u_mtrldef_curware_qty.visible=1')
-
- ls_sit = Long(dw_child.Describe('u_outwaremx_mxdscrp.X'))+Long(dw_child.Describe('u_outwaremx_mxdscrp.width'))
- dw_child.Modify('u_mtrldef_curware_qty.x='+String(ls_sit))
-
- ls_sit = Long(dw_child.Describe('u_mtrldef_curware_qty.X'))+Long(dw_child.Describe('u_mtrldef_curware_qty.width'))
- dw_child.Modify('u_mtrldef_sumware_qty.x='+String(ls_sit))
-
- ls_sit = Long(dw_child.Describe('u_mtrldef_sumware_qty.X'))+Long(dw_child.Describe('u_mtrldef_sumware_qty.width'))
- dw_child.Modify('u_mtrldef_sumneed_qty.x='+String(ls_sit))
- END IF
- IF dw_edit_mode THEN
- IF cur_editfocus = 1 Or cur_editfocus = 0 THEN //新建 or 非编辑
- dw_uc.Modify('u_outware_storageid.protect=0 ~n u_cust_cuscode.protect=0 ~n u_outware_relint_2.protect=0 ~n u_outware_mrate.protect=0')
- dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n u_outwaremx_ifrel.protect=0')
- cb_xm.Enabled = True
- ELSE //修改
- IF sys_option_confirmaudit_sale = 1 THEN
- IF priceflag = 1 THEN
- dw_uc.Modify('u_outware_storageid.protect=1 ~n u_cust_cuscode.protect=1 ~n u_outware_relint_2.protect=1 ~n u_outware_mrate.protect=1')
- IF flag = 0 THEN
- dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n u_outwaremx_ifrel.protect=1')
- ELSEIF flag = 1 And secflag = 0 THEN
- dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_outwaremx_uqty.protect=1 ~n u_outwaremx_addqty.protect=1 ~n u_outwaremx_ifrel.protect=1 ~n u_outwaremx_outtype.protect=1')
- IF Not f_power_ind(866) THEN
- dw_child.Modify('u_outwaremx_enprice.protect=1 ~n u_outwaremx_rebate.protect=1 ~n enamt.protect=1 ~n ')
- END IF
- END IF
- cb_xm.Enabled = False
- ELSE
- dw_uc.Modify('u_outware_storageid.protect=0 ~n u_cust_cuscode.protect=0 ~n u_outware_relint_2.protect=0 ~n u_outware_mrate.protect=0')
- dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n u_outwaremx_ifrel.protect=0')
- cb_xm.Enabled = True
- END IF
- ELSE
- IF flag = 1 And secflag = 0 THEN
- dw_uc.Modify('u_outware_storageid.protect=1 ~n u_cust_cuscode.protect=1 ~n u_outware_relint_2.protect=1 ~n u_outware_mrate.protect=1')
-
- dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_outwaremx_uqty.protect=1 ~n u_outwaremx_addqty.protect=1 ~n u_outwaremx_ifrel.protect=1 ~n u_outwaremx_outtype.protect=1')
-
- IF Not f_power_ind(866) THEN
- dw_child.Modify('u_outwaremx_enprice.protect=1 ~n u_outwaremx_rebate.protect=1 ~n enamt.protect=1 ~n ')
- END IF
-
- cb_xm.Enabled = False
- ELSE
- dw_uc.Modify('u_outware_storageid.protect=0 ~n u_cust_cuscode.protect=0 ~n u_outware_relint_2.protect=0 ~n u_outware_mrate.protect=0')
- dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n u_outwaremx_ifrel.protect=0 ~n u_outwaremx_outtype.protect=0')
- cb_xm.Enabled = True
- END IF
- END IF
- END IF
-
- ELSE
- dw_uc.Modify('u_outware_storageid.protect=0')
- dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_uqty.protect=0 ~n u_outwaremx_addqty.protect=0 ~n ')
- END IF
- IF sys_power_issuper Or Not f_power_ind(973) THEN
- IF sys_power_issuper Or Not f_power_ind(1710) THEN
- IF ii_enamt_edit = 0 THEN
- // dw_child.Modify('u_outwaremx_enprice.protect=0 ~n u_outwaremx_rebate.protect=0 ')
- dw_child.Modify('u_outwaremx_enprice.protect=0 ') //973 限制单价
- ELSE
- dw_child.Modify('u_outwaremx_enprice.protect=1 ')
- // IF ii_enamt_notax_edit = 0 THEN
- // dw_child.Modify('enamt.protect=0 ~n ')
- // ELSE
- // // dw_child.Modify('enamt_notax.protect=0 ~n ')
- // END IF
- END IF
- ELSE
- dw_child.Modify('u_outwaremx_enprice.protect=1 ')
- // IF ii_enamt_edit = 0 THEN
- // dw_child.Modify('u_outwaremx_enprice.protect="0~tif (u_outwaremx_ifrel =1 , 1 ,0)" ~n u_outwaremx_rebate.protect="0~tif (u_outwaremx_ifrel =1 , 1 ,0) "')
- // ELSE
- //
- // IF ii_enamt_notax_edit = 0 THEN
- // dw_child.Modify('enamt.protect="0~tif (u_outwaremx_ifrel =1 , 1 ,0)" ~n ')
- // ELSE
- // // dw_child.Modify('enamt_notax.protect="0~tif (u_outwaremx_ifrel =1 , 1 ,0)" ~n ')
- // END IF
- // END IF
- END IF
- ELSE
- // dw_child.Modify('u_outwaremx_enprice.protect=1 ~n u_outwaremx_rebate.protect=1 ~n enamt.protect=1 ~n enamt_notax.protect=1 ~n ')
- dw_child.Modify('u_outwaremx_enprice.protect=1 ')
- END IF
- IF sys_power_issuper Or Not f_power_ind(492) THEN //492 限制折扣
- dw_child.Modify('u_outwaremx_rebate.protect=0 ')
- ELSE
- dw_child.Modify('u_outwaremx_rebate.protect=1 ')
- END IF
- IF sys_power_issuper Or not f_power_ind(1710) THEN //1710 销售订单限制单价
- dw_child.Modify('u_outwaremx_enprice.protect=0 ')
- ELSE
- dw_child.Modify('u_outwaremx_enprice.protect="0~tif (u_outwaremx_ifrel =1 , 1 ,0)"')
- END IF
- IF sys_option_packqty_sale = 0 THEN
- dw_child.Modify('u_outwaremx_packqty.protect=1 ')
- ELSE
- dw_child.Modify('u_outwaremx_packqty.protect=0 ')
- END IF
- end event
- event close;call super::close;destroy uo_ware
- destroy uo_fieb
- DESTROY uo_cus_price
- wf_del_tempfilepathname()
- end event
- event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
- If Not dw_edit_mode Then Return
- If dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 Then Return
- //IF flag = 1 THEN RETURN
- Long child_row,ll_storageid = 0,cnt_childdw
- Long ll_moneyid
- Long ls_null
- Long chc = 1,ls_j,ll_custid
- Decimal lde_rate,ld_tax
- String ls_msg
- s_cmpl_qty arg_cmpl,null_cmpl
- Decimal ld_qty
- Int li_mtrlid,li_cusid
- Dec ld_cusprice
- string ls_cusmtrlcode,ls_cusmtrlname,ls_cusmtrlmode
- s_edit_index_tran s_tranf8 //传递参数使用
- SetNull(ls_null)
- dw_uc.AcceptText()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- If ll_moneyid = 0 Or IsNull(ll_moneyid) Then
- MessageBox('提示','请先选择币种',information!,OK!)
- Return
- End If
- If wf_get_cusid(ll_custid) = 0 Then
- Return
- End If
- dw_uc.AcceptText()
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
- If sys_option_hide_ware = 0 Then //如果隐藏仓库的,直接选物料
- ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- If ll_storageid = 0 Or IsNull(ll_storageid) Then
- MessageBox('提示','请先选择仓库',information!,OK!)
- Return
- End If
-
- Int li_if_cus_mtrlware
- Select balctype Into :li_if_cus_mtrlware
- From u_storage
- Where storageid = :ll_storageid;
- If sqlca.SQLCode <> 0 Then
- MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!)
- Return
- End If
-
- //初始化参数
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.b_long = 0
- If li_if_cus_mtrlware = 1 Then ///////////// //
- s_tranf8.c_long = ll_custid
- Else
- s_tranf8.c_long = -1
- End If
-
- If Not IsValid(w_mtrlware_storageid_ch) Then
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.d_long = ll_storageid
-
-
- If dw_child.GetRow() > 0 Then s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- OpenWithParm(w_mtrlware_storageid_ch,s_tranf8)
-
- s_mtrlware_noalloc_array S_INSCUST
- S_INSCUST = Message.PowerObjectParm
-
- For ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
- If S_INSCUST.mtrlwareid[ls_j] > 0 Then
-
- If dw_child.GetRow() > 0 Then
- If dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] <> 0 Then
- child_row = dw_child.InsertRow (0)
- Else
- child_row = dw_child.GetRow()
- End If
- Else
- child_row = dw_child.InsertRow (0)
- End If
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
- dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
-
- If sys_option_outware_Sale_ware = 0 Then
- dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- dw_child.Object.u_outwaremx_uqty[child_row] = 0
- dw_child.Object.u_outwaremx_addqty[child_row] = 0
- ElseIf sys_option_outware_Sale_ware = 1 Then
- dw_child.Object.u_outwaremx_saleqty[child_row] = S_INSCUST.noallocqty[ls_j]- S_INSCUST.noauditingqty[ls_j]
- dw_child.Object.u_outwaremx_uqty[child_row] = S_INSCUST.noallocqty[ls_j]- S_INSCUST.noauditingqty[ls_j]
- dw_child.Object.u_outwaremx_addqty[child_row] = S_INSCUST.noallocaddqty[ls_j]- S_INSCUST.noauditingaddqty[ls_j]
- Else
- dw_child.Object.u_outwaremx_saleqty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_outwaremx_uqty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_outwaremx_addqty[child_row] = S_INSCUST.noallocaddqty[ls_j]
- End If
- dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST.planprice[ls_j]
- dw_child.Object.u_outwaremx_storageid[child_row] = S_INSCUST.storageid[ls_j]
- dw_child.Object.u_outwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j]
- dw_child.Object.u_outwaremx_dxflag[child_row] = S_INSCUST.dxflag[ls_j]
-
- dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST.status[ls_j]
- dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
- dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.u_mtrldef_mtrltype[ls_j]
- dw_child.Object.u_outwaremx_net_weight[child_row] = S_INSCUST.u_mtrldef_net_weight[ls_j]
- dw_child.Object.u_outwaremx_gross_weight[child_row] = S_INSCUST.u_mtrldef_gross_weight[ls_j]
- dw_child.Object.u_outwaremx_cubage[child_row] = S_INSCUST.u_mtrldef_cubage[ls_j]
- dw_child.Object.u_mtrldef_lmsaleprice[child_row] = S_INSCUST.lmsaleprice[ls_j]
-
- f_find_unitrate(S_INSCUST.mtrlid[ls_j], S_INSCUST.u_mtrldef_unit[ls_j], lde_rate)
- dw_child.Object.u_outwaremx_rate[child_row] = lde_rate
- dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
-
- String ls_priceformula
- s_mtrldef_array arg_s_mtrldef
- If f_find_mtrl(S_INSCUST.u_mtrldef_mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 Then
- ls_priceformula = ''
- Else
- ls_priceformula = arg_s_mtrldef.priceformula[1]
- IF arg_s_mtrldef.saleunit[1] = 1 THEN
- dw_child.Object.u_outwaremx_unit[child_row] = arg_s_mtrldef.unit_buy[1]
- dw_child.Object.u_outwaremx_rate[child_row] = arg_s_mtrldef.rate_buy[1]
- ELSEIF arg_s_mtrldef.saleunit[1] = 2 THEN
- dw_child.Object.u_outwaremx_unit[child_row] = arg_s_mtrldef.unit_scll[1]
- dw_child.Object.u_outwaremx_rate[child_row] = arg_s_mtrldef.rate_scll[1]
- ELSEIF arg_s_mtrldef.saleunit[1] = 3 THEN
- dw_child.Object.u_outwaremx_unit[child_row] = arg_s_mtrldef.unit_sale[1]
- dw_child.Object.u_outwaremx_rate[child_row] = arg_s_mtrldef.rate_sale[1]
- END IF
- End If
- dw_child.Object.u_outwaremx_priceformula[child_row] = ls_priceformula
-
- wf_get_price(child_row)
-
- dw_child.Object.u_mtrldef_curware_qty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null
-
- dw_child.Object.u_mtrldef_handtype[child_row] = S_INSCUST.u_mtrldef_handtype[ls_j]
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = S_INSCUST.u_mtrldef_mtrlengname[ls_j]
- dw_child.Object.u_mtrldef_barcode[child_row] = S_INSCUST.barcode[ls_j]
-
- li_mtrlid=S_INSCUST.mtrlid[ls_j] //客户物料名称
- li_cusid=dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- Select isnull(cusmtrlcode,''), isnull(cusmtrlname,''), isnull(cusmtrlmode,'')
- Into :ls_cusmtrlcode, :ls_cusmtrlname, :ls_cusmtrlmode From u_cusmtrlname Where mtrlid= :li_mtrlid and cusid= :li_cusid ;
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] =ls_cusmtrlmode
-
-
- //计算单价
- If ls_priceformula <> '' Then
- arg_cmpl = null_cmpl
- arg_cmpl.qty = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[child_row]
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
-
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
-
- li_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- li_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- Select price
- Into :ld_cusprice
- From u_cust
- Inner JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- Where u_sale_price_mx.mtrlid = :li_mtrlid
- And u_cust.cusid = :li_cusid
- order by u_sale_price_mx.sys_changetime desc;
- If sqlca.SQLCode <> 0 Then
- ld_cusprice = 0
- End If
-
- arg_cmpl.cusprice = ld_cusprice
- arg_cmpl.num = sys_option_outware_price_amt_round
- arg_cmpl.addvalue = 1
- arg_cmpl.flag = True
- ld_qty = 0
- If f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 Then
- MessageBox('提示',ls_msg, information!, OK! )
- Return
- End If
- dw_child.Object.u_outwaremx_enprice[child_row] = ld_qty
- End If
-
- If f_find_tax(ll_custid,'u_cust',ld_tax) = 0 Then
- ld_tax = 0
- Else
- dw_child.Object.u_outwaremx_tax[child_row] = ld_tax
- End If
-
- End If
- Next
- End If
-
- Else
- If Not IsValid(W_mtrldef_edit) Then
- //传递参数使用
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.if_select_all = True //多选
- s_tranf8.b_long = -1 //选采购
- s_tranf8.c_long = -1
-
-
- If dw_child.GetRow() > 0 Then s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
-
- s_mtrldef_array S_INSCUST2
- S_INSCUST2 = Message.PowerObjectParm //接受返回结构
- For ls_j = 1 To UpperBound(S_INSCUST2.mtrlid)
- If S_INSCUST2.mtrlid[ls_j] > 0 Then //正常返回值则可以取以下值
-
- If dw_child.GetRow() > 0 Then
- If dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] <> 0 Then
- child_row = dw_child.InsertRow (0)
- Else
- child_row = dw_child.GetRow()
- End If
- Else
- child_row = dw_child.InsertRow (0)
- End If
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = 0
- dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST2.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST2.mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST2.mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST2.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST2.unit[ls_j]
-
- dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- dw_child.Object.u_outwaremx_uqty[child_row] = 0
- dw_child.Object.u_outwaremx_addqty[child_row] = 0
-
- dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST2.planprice[ls_j]
- dw_child.Object.u_outwaremx_storageid[child_row] = 0
- dw_child.Object.u_outwaremx_plancode[child_row] = ''
- //dw_child.Object.u_outwaremx_dxflag[child_row] = 0
-
- dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST2.status[ls_j]
- dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST2.woodcode[ls_j]
- dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST2.pcode[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST2.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST2.mtrlsectype[ls_j]
-
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = S_INSCUST2.mtrlengname[ls_j]//
- dw_child.Object.u_mtrldef_barcode[child_row] = S_INSCUST2.barcode[ls_j]
- dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST2.unit[ls_j]
- f_find_unitrate(S_INSCUST2.mtrlid[ls_j], S_INSCUST2.unit[ls_j], lde_rate)
- dw_child.Object.u_outwaremx_rate[child_row] = lde_rate
- s_mtrldef_array arg_s_mtrldef_1
- If f_find_mtrl(S_INSCUST2.mtrlcode[ls_j],-1,arg_s_mtrldef_1) <> 0 Then
- IF arg_s_mtrldef_1.saleunit[1] = 1 THEN
- dw_child.Object.u_outwaremx_unit[child_row] = arg_s_mtrldef_1.unit_buy[1]
- dw_child.Object.u_outwaremx_rate[child_row] = arg_s_mtrldef_1.rate_buy[1]
- ELSEIF arg_s_mtrldef_1.saleunit[1] = 2 THEN
- dw_child.Object.u_outwaremx_unit[child_row] = arg_s_mtrldef_1.unit_scll[1]
- dw_child.Object.u_outwaremx_rate[child_row] = arg_s_mtrldef_1.rate_scll[1]
- ELSEIF arg_s_mtrldef_1.saleunit[1] = 3 THEN
- dw_child.Object.u_outwaremx_unit[child_row] = arg_s_mtrldef_1.unit_sale[1]
- dw_child.Object.u_outwaremx_rate[child_row] = arg_s_mtrldef_1.rate_sale[1]
- END IF
- End If
- wf_get_price(child_row)
-
- dw_child.Object.u_mtrldef_curware_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null
-
- li_mtrlid=S_INSCUST2.mtrlid[ls_j] //客户物料名称
- li_cusid=dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- Select isnull(cusmtrlcode,''), isnull(cusmtrlname,''), isnull(cusmtrlmode,'')
- Into :ls_cusmtrlmode, :ls_cusmtrlname, :ls_cusmtrlcode
- From u_cusmtrlname
- Where mtrlid= :li_mtrlid and cusid= :li_cusid ;
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] =ls_cusmtrlmode
-
- If f_find_tax(ll_custid,'u_cust',ld_tax) = 0 Then
- ld_tax = 0
- Else
- dw_child.Object.u_outwaremx_tax[child_row] = ld_tax
- End If
-
- dw_child.Object.u_outwaremx_priceformula[child_row] = S_INSCUST2.priceformula[ls_j]
-
- //计算单价
- If S_INSCUST2.priceformula[ls_j] <> '' Then
- arg_cmpl = null_cmpl
- arg_cmpl.qty = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.formula = dw_child.Object.u_outwaremx_priceformula[child_row]
- arg_cmpl.addqty = dw_child.Object.u_outwaremx_addqty[child_row]
- arg_cmpl.price = dw_child.Object.u_outwaremx_enprice[child_row]
- arg_cmpl.rebate = dw_child.Object.u_outwaremx_rebate[child_row]
-
- arg_cmpl.status = dw_child.Object.u_outwaremx_status[child_row]
- arg_cmpl.woodcode = dw_child.Object.u_outwaremx_woodcode[child_row]
- arg_cmpl.pcode = dw_child.Object.u_outwaremx_pcode[child_row]
- arg_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
- arg_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
-
- li_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row]
- li_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- Select price
- Into :ld_cusprice
- From u_cust
- Inner JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
- Where u_sale_price_mx.mtrlid = :li_mtrlid
- And u_cust.cusid = :li_cusid
- order by u_sale_price_mx.sys_changetime desc;
- If sqlca.SQLCode <> 0 Then
- ld_cusprice = 0
- End If
-
- arg_cmpl.cusprice = ld_cusprice
- arg_cmpl.num = 2
- arg_cmpl.addvalue = 1
- arg_cmpl.flag = True
- ld_qty = 0
- If f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 Then
- MessageBox('提示',ls_msg, information!, OK! )
- Return
- End If
- dw_child.Object.u_outwaremx_enprice[child_row] = ld_qty
- End If
-
-
- End If
-
- Next
-
- End If
- End If
- If sys_option_outware_if_saleqty = 0 Then
- If ii_packqty_cmpl = 1 Then
- dw_child.SetColumn('u_outwaremx_packqty')
- Else
- dw_child.SetColumn('u_outwaremx_uqty')
- End If
- // dw_child.SetColumn('u_outwaremx_uqty')
- Else
- dw_child.SetColumn('u_outwaremx_saleqty')
- End If
- dw_child.SetRedraw(True)
- dw_child.SetFocus()
- ////////////////////////////////// //
- end event
- event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
- row = dw_pageretr.GetRow()
- IF row > 0 THEN
- ll_scid = dw_pageretr.Object.u_outware_scid[row]
- uc_relid = dw_pageretr.Object.u_outware_outwareid[row]
- dw_child.SetRedraw (False)
- dw_child.Retrieve(ll_scid,uc_relid)
- dw_child.SetRedraw (True)
-
- dw_fymx.SetRedraw (False)
- dw_fymx.Retrieve(ll_scid,uc_relid)
- dw_fymx.SetRedraw (True)
-
- dw_bjmx.SetRedraw (False)
- dw_bjmx.Retrieve(ll_scid,uc_relid)
- dw_bjmx.SetRedraw (True)
- this.TriggerEvent('ue_retrieve_his_pricemx')
- ELSE
- dw_child.Reset()
- dw_fymx.Reset()
- dw_bjmx.Reset()
- END IF
- end event
- event ue_f9;call super::ue_f9;IF Not dw_edit_mode THEN RETURN
- Long child_row
- child_row = dw_uc.GetRow()
- IF child_row = 0 THEN
- MessageBox('提示','请选定出仓单!',information!,OK!)
- RETURN
- END IF
- Long ll_ori_cusid
- Long ll_scid, ll_moneyid
- String ls_address
- ll_ori_cusid = dw_uc.Object.u_outware_cusid[child_row]
- IF Not IsValid(W_cust_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
- //查询列(物料编码)部分内容,用于初步筛选
-
- dw_uc.AcceptText()
- s_ch_tran.arg_string_code = Trim(dw_uc.Object.u_cust_cuscode[child_row])
-
- OpenWithParm(W_cust_edit,s_ch_tran) //调用
-
- s_custom S_INSCUST
- S_INSCUST = Message.PowerObjectParm //接受返回结构
- Long li_ifrel,ll_i
- IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
- // IF S_INSCUST.cusid <> ll_ori_cusid And ll_ori_cusid <> 0 THEN
- // FOR ll_i = 1 To dw_child.RowCount()
- // IF dw_child.Object.u_outwaremx_relid[ll_i] > 0 THEN
- // li_ifrel = 1
- // EXIT
- // END IF
- // NEXT
- //
- // IF li_ifrel = 1 THEN
- // IF MessageBox('询问','客户将要改变,明细内容已有原客户的订单内容,是否断续?',Question!,YesNo!) = 2 THEN
- // RETURN
- // ELSE
- // FOR ll_i = 1 To dw_child.RowCount()
- // dw_child.Object.u_outwaremx_ifrel[ll_i] = 0
- // dw_child.Object.u_outwaremx_relid[ll_i] = 0
- // dw_child.Object.u_outwaremx_relcode[ll_i] = ''
- // NEXT
- // END IF
- // END IF
- // END IF
- //重置dw_child
- IF wf_change_cusid(S_INSCUST.cusid) = 0 THEN RETURN
-
- dw_uc.SetRedraw(False)
- dw_uc.Object.u_outware_cusid[child_row] = S_INSCUST.cusid
- dw_uc.Object.u_cust_name[child_row] = S_INSCUST.Name
- dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
- dw_uc.Object.u_outware_outrep[child_row] = S_INSCUST.bsntype
- dw_uc.Object.u_outware_relstr_1[child_row] = S_INSCUST.freight
- dw_uc.Object.u_outware_relstr_2[child_row] = S_INSCUST.freight_tele
- dw_uc.Object.u_outware_relstr_3[child_row] = S_INSCUST.freight_address
- dw_uc.Object.u_outware_rel_address[child_row] = S_INSCUST.Address
- dw_uc.Object.u_outware_rel_tele[child_row] = S_INSCUST.tele
- dw_uc.Object.u_outware_rel_tele1[child_row] = S_INSCUST.tele1
- dw_uc.Object.u_outware_rel_fax[child_row] = S_INSCUST.faxno
- dw_uc.Object.u_outware_rel_rep[child_row] = S_INSCUST.rep
-
-
- IF S_INSCUST.banktypeid > 0 THEN
- dw_uc.Object.u_outware_relint_1[child_row] = S_INSCUST.banktypeid
- END IF
-
-
- IF Len(S_INSCUST.freight_address) > 0 THEN
- dw_uc.Object.u_outware_relstr_3[child_row] = S_INSCUST.freight_address
- ELSE
-
- SELECT
- Address Into :ls_address
- From u_station
- Where stationname = :S_INSCUST.freight;
- dw_uc.Object.u_outware_relstr_3[child_row] = ls_address
- END IF
-
-
-
- dw_uc.SetRedraw(True)
-
- ll_scid = dw_uc.Object.u_outware_scid[child_row]
- ll_moneyid = dw_uc.Object.u_outware_relint_2[child_row]
- wf_getcusrepamt_info(ll_scid,S_INSCUST.cusid,ll_moneyid)
-
- dw_uc.SetColumn("u_outware_rel_address")
- END IF
- END IF
- end event
- event ue_f7;call super::ue_f7;//引入销售订单
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 THEN RETURN
- Long ll_storageid
- Long ll_scid
- Long ll_taskid
- String ls_taskcode
- long ll_cusid
- dw_uc.AcceptText()
- ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()]
- IF sys_option_hide_ware = 0 THEN
- ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- IF ll_storageid = 0 Or IsNull(ll_storageid) THEN
- MessageBox('提示','请先选择仓库',information!,OK!)
- RETURN
- END IF
- END IF
- s_saletask_find s_find
- s_find.scid = ll_scid
- s_find.areaid = sys_areaid
- s_find.cusid= dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- //THIS.Enabled = FALSE
- IF Not IsValid(w_saletask_ch) THEN
- s_saletask_ch s_saletask
- OpenWithParm(w_saletask_ch,s_find)
-
- s_saletask = Message.PowerObjectParm
-
- IF s_saletask.taskid > 0 THEN
- wf_ue_f7(s_saletask)
- if IsNull(s_saletask.relcode) or s_saletask.relcode = '' then
- dw_uc.Object.u_outware_part[dw_uc.GetRow()] = s_saletask.taskcode
- else
- dw_uc.Object.u_outware_part[dw_uc.GetRow()] = s_saletask.relcode
- end if
- END IF
- END IF
- //THIS.Enabled = TRUE
- end event
- event ue_viewprint;call super::ue_viewprint;//IF Not (f_power_ind(18) or f_power_ind(472)) THEN
- IF Not (f_power_ind(18) ) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- s_print_msg ls_prmsg
- ls_prmsg.retr_pram_falg = 15
- IF dw_pageretr.RowCount() = 0 THEN
- MessageBox('提示','没有可打印的单据!',information!,OK!)
- RETURN
- END IF
- IF sys_option_confirmprint_sale = 1 THEN
- IF dw_pageretr.Object.u_outware_priceflag[dw_pageretr.GetRow()] <> 1 THEN
- MessageBox('提示','单据还未确认,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- IF sys_option_auditprint_sale = 1 THEN
- IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] <> 1 THEN
- MessageBox('提示','单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- IF sys_option_print_one = 1 THEN
- IF dw_pageretr.Object.u_outware_printnum[dw_pageretr.GetRow()] > 0 THEN
- MessageBox('提示','根据系统选项275设置,发货单只能打印一次!',information!,OK!)
- RETURN
- END IF
- END IF
- If f_power_ind(2002,sys_msg_pow) And Not sys_power_issuper Then
- If dw_pageretr.Object.u_outware_printnum[dw_pageretr.GetRow()] > 0 Then
- MessageBox('系统提示','目标单据已打印,你当前权限不能重复打印单据!')
- Return
- End If
- End If
- long ll_scid, ll_outwareid, ll_cusid, ll_moneyid
- ll_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()]
- ll_outwareid = dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()]
- ll_cusid = dw_pageretr.Object.u_outware_cusid[dw_pageretr.GetRow()]
- ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
- IF sys_option_cusrepamt_limit = 2 THEN
- wf_getcusrepamt_info(ll_scid,ll_cusid,ll_moneyid)
- IF cur_cusrepamtflag = -1 THEN
- MessageBox('系统提示','系统选项080限制~r~n'+cur_cusrepamtstr)
- RETURN
- END IF
- END IF
- IF ls_newname <> '' THEN
- IF li_auditprint = 1 THEN
- IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
- MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
-
- ls_prmsg.obj_dwNAME = ls_newname
- ELSE
- ls_prmsg.obj_dwNAME = 'dw_rp_outware_sale_edit'
- END IF
- ls_prmsg.tag_text = '销售发货单'
- ls_prmsg.filter_string = ''
- ls_prmsg.pagech_flag = 0
- ls_prmsg.retr_scid = ll_scid
- ls_prmsg.retr_pramnmb = ll_outwareid
- ls_prmsg.rowcnt = dw_child.RowCount()
- IF ifpic = 1 THEN
- String ls_msg
- IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
- MessageBox('提示','下载图片失败!',information!,OK!)
- RETURN
- END IF
- END IF
- OpenWithParm(w_publ_preview,ls_prmsg)
- IF ifpic = 1 THEN
- Long li
- FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
- IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
- FileDelete(LS_PRMSG.s_pic.path[li])
- END IF
- NEXT
- END IF
- //**更新打印次料
- String arg_msg
- printnum = Message.DoubleParm
- f_update_printnum('u_outware',printnum,ll_scid,ll_outwareid,'','',arg_msg,TRUE)
- wf_refresh_curuc(ll_scid,ll_outwareid)
- string ls_code
- ls_code = dw_pageretr.Object.u_outware_outwarecode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (104, 1, ls_code, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- end event
- event ue_print;call super::ue_print;//--直接打印
- IF Not (f_power_ind(18) ) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- uo_print_preview uo_print
- S_print_MSG LS_PRMSG
- IF dw_pageretr.RowCount() = 0 THEN
- MessageBox('提示','没有可打印的单据!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- IF sys_option_confirmprint_sale = 1 THEN
- IF dw_pageretr.Object.u_outware_priceflag[dw_pageretr.GetRow()] <> 1 THEN
- MessageBox('提示','单据还未确认,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- IF sys_option_auditprint_sale = 1 THEN
- IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] <> 1 THEN
- MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- IF sys_option_print_one = 1 THEN
- IF dw_pageretr.Object.u_outware_printnum[dw_pageretr.GetRow()] > 0 THEN
- MessageBox('提示','根据系统选项275设置,发货单只能打印一次!',information!,OK!)
- RETURN
- END IF
- END IF
- If f_power_ind(2002,sys_msg_pow) And Not sys_power_issuper Then
- If dw_pageretr.Object.u_outware_printnum[dw_pageretr.GetRow()] > 0 Then
- MessageBox('系统提示','目标单据已打印,你当前权限不能重复打印单据!')
- Return
- End If
- End If
- long ll_scid, ll_outwareid, ll_cusid, ll_moneyid
- ll_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()]
- ll_outwareid = dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()]
- ll_cusid = dw_pageretr.Object.u_outware_cusid[dw_pageretr.GetRow()]
- ll_moneyid = dw_pageretr.Object.u_outware_relint_2[dw_pageretr.GetRow()]
- IF sys_option_cusrepamt_limit = 2 THEN
- wf_getcusrepamt_info(ll_scid,ll_cusid,ll_moneyid)
- IF cur_cusrepamtflag = -1 THEN
- MessageBox('系统提示','系统选项080限制~r~n'+cur_cusrepamtstr)
- RETURN
- END IF
- END IF
- LS_PRMSG.retr_pram_falg = 15
- IF ls_newname <> '' THEN
- IF li_auditprint = 1 THEN
- IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
- MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- LS_PRMSG.obj_dwNAME = ls_newname
- ELSE
- LS_PRMSG.obj_dwNAME = 'dw_rp_outware_sale_edit'
- END IF
- LS_PRMSG.TAG_TEXT = '销售单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_scid = ll_scid
- LS_PRMSG.retr_pramnmb = ll_outwareid
- LS_PRMSG.rowcnt = dw_child.RowCount()
- IF ifpic = 1 THEN
- String ls_msg
- IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
- MessageBox('提示','下载图片失败!',information!,OK!)
- RETURN
- END IF
- END IF
- uo_print.FACT_PRINT_MSG = LS_PRMSG
- String arg_msg
- IF uo_print.uof_print_begin(arg_msg) = 0 THEN
- MessageBox("错误",arg_msg,stopsign!,OK!)
- RETURN
- END IF
- uo_print.ds_print()
- IF ifpic = 1 THEN
- Long li
- FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
- IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
- FileDelete(LS_PRMSG.s_pic.path[li])
- END IF
- NEXT
- END IF
- f_update_printnum('u_outware',1,ll_scid,ll_outwareid,'','',arg_msg,TRUE)
- wf_refresh_curuc(ll_scid,ll_outwareid)
- string ls_code
- ls_code = dw_pageretr.Object.u_outware_outwarecode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (104, 1, ls_code, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- end event
- event ue_addzy;call super::ue_addzy;IF Not (f_power_ind(699) OR f_power_ind(766)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- IF dw_edit_mode THEN RETURN
- String arg_msg = ''
- String ls_str
- Long uc_row
- s_inputbox s_sreu
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- s_sreu.Title = '请输入要补充到备注的内容'
- s_sreu.old_text = ''
- OpenWithParm(w_inputbox,s_sreu)
- ls_str = Message.StringParm
- IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
- IF uo_ware.add_dscrp(dw_pageretr.Object.u_outware_scid[uc_row],dw_pageretr.Object.u_outware_outwareid[uc_row],ls_str,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- ELSE
- MessageBox('提示','添加备注操作成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[uc_row],dw_pageretr.Object.u_outware_outwareid[uc_row])
- END IF
- end event
- event resize;call super::resize;st_msg.width = this.width - (3600 - 1170)
- st_cusbalc.width = this.width / 2
- cb_fhmx.Y = dw_uc.Y + dw_uc.Height
- cb_fymx.Y = cb_fhmx.Y
- cb_bjmx.Y = cb_fhmx.Y
- cb_scanbill.Y= cb_fhmx.Y
- cb_new_scanbill.y= cb_fhmx.Y
- dw_child.X = 0
- dw_child.Y = cb_fhmx.Y + cb_fhmx.Height
- dw_child.Width = this.workspacewidth() - dw_child.X
- dw_child.Height = THIS.workspaceheight() - dw_child.Y
- dw_fymx.x = 0
- dw_fymx.y = dw_child.Y
- dw_fymx.width = dw_child.width
- dw_fymx.height = dw_child.height
- dw_bjmx.x = 0
- dw_bjmx.y = dw_child.Y
- dw_bjmx.width = dw_child.width
- dw_bjmx.height = dw_child.height
- end event
- event ue_f12;call super::ue_f12;IF NOT IsValid(w_unit_ch) THEN
- IF dw_child.GetRow() < 1 THEN RETURN
- Long ls_mtrlid //,ls_cusid,ls_moneyid
- // String ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode
- // Decimal rtn_price,rtn_zqrate,rtn_rate
- // ls_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- // ls_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- //
- // IF IsNull(ls_cusid) OR ls_cusid = 0 THEN
- // THIS.TriggerEvent("ue_f9")
- // END IF
-
- ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()]
- // ls_status = dw_child.Object.u_outwaremx_status[dw_child.GetRow()]
- // ls_woodcode = dw_child.Object.u_outwaremx_woodcode[dw_child.GetRow()]
- // ls_pcode = dw_child.Object.u_outwaremx_pcode[dw_child.GetRow()]
-
- OpenWithParm(w_unit_ch,ls_mtrlid)
- s_unit s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
-
- IF s_inscust.unit <> '' THEN
- dw_child.Object.u_outwaremx_unit[dw_child.GetRow()] = s_inscust.unit
- dw_child.Object.u_outwaremx_rate[dw_child.GetRow()] = s_inscust.rate
-
- wf_get_price(dw_child.GetRow())
- END IF
- END IF
- end event
- event ue_addmx;IF Not dw_edit_mode THEN RETURN
- Long uc_row,ll_flag,ll_priceflag
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据',information!,OK!)
- RETURN
- END IF
- dw_uc.AcceptText()
- IF ins_dw_select = 0 THEN
-
- ll_priceflag = dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()]
- IF ll_priceflag = 1 THEN
- MessageBox('提示','单据已确认,不能增加明细内容',information!,OK!)
- RETURN
- END IF
-
- ll_flag = dw_pageretr.Object.flag[uc_row]
- IF ll_flag = 1 THEN
- MessageBox('提示','单据已仓审,不能增加明细内容',information!,OK!)
- RETURN
- END IF
-
- This.TriggerEvent('ue_f8')
- dw_child.SetFocus()
-
- ELSE
- This.TriggerEvent('ue_add_fymx')
- dw_fymx.SetFocus()
- END IF
- end event
- event ue_deletemx;IF Not dw_edit_mode THEN RETURN
- Long uc_row,ll_flag,ll_priceflag
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据',information!,OK!)
- RETURN
- END IF
- ll_flag = dw_pageretr.Object.flag[uc_row]
- IF ll_flag = 1 THEN
- MessageBox('提示','单据已仓审,不能删除明细内容',information!,OK!)
- RETURN
- END IF
- ll_priceflag = dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()]
- IF ll_priceflag = 1 THEN
- MessageBox('提示','单据已确认,不能删除明细内容',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
- IF ins_dw_select = 0 THEN
-
- IF dw_child.GetRow() = 0 THEN
- MessageBox('提示','请选择删除的行对象!',information!,OK!)
- RETURN
- END IF
- dw_child.DeleteRow (0)
- dw_child.TriggerEvent (RowFocusChanged!)
-
- ELSE
- IF dw_fymx.GetRow() = 0 THEN
- MessageBox('提示','请选择删除的行对象!')
- RETURN
- END IF
-
- dw_fymx.DeleteRow (dw_fymx.GetRow() )
- IF dw_fymx.RowCount() = 0 THEN dw_fymx.InsertRow(0)
- dw_fymx.TriggerEvent (RowFocusChanged!)
-
- END IF
- end event
- event ue_copyrow;Long uc_row,ll_flag,ll_priceflag
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据',information!,OK!)
- RETURN
- END IF
- ll_priceflag = dw_uc.object.u_outware_priceflag[dw_uc.GetRow()]
- IF ll_priceflag = 1 THEN
- MessageBox('提示','单据已确认,不能复制明细内容',information!,OK!)
- RETURN
- END IF
- ll_flag = dw_pageretr.Object.flag[uc_row]
- IF ll_flag = 1 THEN
- MessageBox('提示','单据已仓审,不能复制明细内容',information!,OK!)
- RETURN
- END IF
- long ll_childrow
- ll_childrow = dw_child.GETROW()
- IF ll_childrow=0 THEN
- MESSAGEBOX('提示','请选择复制对象!',information!,OK!)
- RETURN
- END IF
- dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
- ds_copypaste.RowsCopy (1,1,Primary!,dw_child,dw_child.rowcount() + 1,Primary!)
- ds_copypaste.reset()
- dw_child.selectrow(0,false)
- dw_child.setrow(dw_child.rowcount())
- dw_child.scrolltorow(dw_child.rowcount())
- dw_child.selectrow(dw_child.rowcount(),true)
- end event
- event ue_insertmx;Long uc_row,ll_flag,ll_priceflag
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据',information!,OK!)
- RETURN
- END IF
- ll_priceflag = dw_uc.object.u_outware_priceflag[dw_uc.GetRow()]
- IF ll_priceflag = 1 THEN
- MessageBox('提示','单据已确认,不能增加明细内容',information!,OK!)
- RETURN
- END IF
- ll_flag = dw_pageretr.Object.flag[uc_row]
- IF ll_flag = 1 THEN
- MessageBox('提示','单据已仓审,不能增加明细内容',information!,OK!)
- RETURN
- END IF
- long ll_childrow,li_row
- ll_childrow = dw_child.getrow()
- li_row = dw_child.insertrow(ll_childrow)
- dw_child.selectrow(0,false)
- dw_child.setrow(li_row)
- dw_child.scrolltorow(li_row)
- dw_child.selectrow(li_row,true)
- end event
- event ue_before_open;call super::ue_before_open;dw_fymx.SetTransObject(sqlca)
- dw_bjmx.SetTransObject(sqlca)
- IF sys_option_allow_edit_outrep = 1 THEN
- dw_uc.Modify( 'b_1.visible = '+'"1"')
- END IF
- end event
- event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF Not (f_power_ind(18) ) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Long row,uc_relid,ll_scid
- row = dw_pageretr.GetRow()
- IF row = 0 THEN RETURN
- IF ls_rpname = '' THEN RETURN
- IF li_auditprint = 1 THEN
- IF dw_pageretr.Object.flag[row] = 0 THEN
- MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- s_rpt_print_msg s_print
- s_print.retr_pram_falg = 15
- s_print.rpid = ls_msgprintid_rpt
- s_print.retr_flag = TRUE
- s_print.tag_text = THIS.Title
- s_print.rpname = ls_rpname
- s_print.retr_scid = dw_pageretr.Object.u_outware_scid[row]
- s_print.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[row]
- s_print.rowcnt = dw_child.RowCount()
- OpenWithParm(w_rpt_preview,s_print)
- //**更新打印次料
- String arg_msg
- printnum = Message.DoubleParm
- f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
- end event
- event ue_rpt_print;call super::ue_rpt_print;IF Not (f_power_ind(18) ) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- Long row,uc_relid,ll_scid
- row = dw_pageretr.GetRow()
- IF row = 0 THEN RETURN
- uo_rpt_print_preview uo_print
- S_rpt_print_MSG LS_PRMSG
- IF dw_pageretr.RowCount() = 0 THEN
- MessageBox('提示','没有可打印的单据!',information!,OK!)
- RETURN
- END IF
- IF ls_rpname = '' THEN RETURN
- IF li_auditprint = 1 THEN
- IF dw_pageretr.Object.flag[row] = 0 THEN
- MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- LS_PRMSG.retr_pram_falg = 15
- LS_PRMSG.TAG_TEXT = THIS.Title
- LS_PRMSG.rpname = ls_rpname
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.rpid = ls_msgprintid_rpt
- LS_PRMSG.retr_scid = dw_pageretr.Object.u_outware_scid[row]
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[row]
- LS_PRMSG.rowcnt = dw_child.RowCount()
- uo_print.FACT_PRINT_MSG = LS_PRMSG
- String arg_msg
- IF uo_print.uof_print_begin(arg_msg) = 0 THEN
- MessageBox("错误",arg_msg,stopsign!,OK!)
- RETURN
- END IF
- uo_print.ds_print()
- //**更新打印次料
- printnum = Message.DoubleParm
- f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
- end event
- event ue_allowedit;call super::ue_allowedit;
- IF sys_option_packqty_sale = 0 THEN
- dw_child.Modify("u_outwaremx_packqty.protect = 1")
- ELSE
- dw_child.Modify("u_outwaremx_packqty.protect = 0")
- END IF
- end event
- event ue_send_ljfieb;call super::ue_send_ljfieb;IF Not f_power_ind(3152) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- IF dw_edit_mode THEN RETURN
- IF sys_email_sqlca.DBHandle() = 0 THEN
- MessageBox('Error','电子商务数据库连接失败,请检查')
- RETURN
- END IF
- IF MessageBox('询问','是否确认要发送单据给客户?',question!,yesno!) = 2 THEN RETURN
- Long ll_scid,ll_outwareid
- String ls_taskcode
- Long ll_row
- Int li_ifecomm
- String arg_summary,arg_postscript,arg_remark
- String arg_msg
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选择要发送的单据')
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_outware_scid[ll_row]
- ll_outwareid = dw_pageretr.Object.u_outware_outwareid[ll_row]
- SELECT u_cust.ifecomm
- INTO :li_ifecomm
- FROM u_outware INNER JOIN
- u_cust ON u_outware.cusid = u_cust.cusid
- WHERE u_outware.scid = :ll_scid
- And u_outware.outwareid = :ll_outwareid Using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询销售发货单相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText)
- RETURN
- END IF
- IF li_ifecomm = 0 THEN
- MessageBox('系统提示','客户没有使用电子商务,不能发送单据')
- RETURN
- END IF
- s_packet_ljfieb s_pack,s_return
- OpenWithParm(w_dscrp_edit_ljfieb,s_pack)
- s_return = Message.PowerObjectParm
- if s_return.returnflag <> 1 then return
- arg_postscript = s_return.postscript
- arg_remark = s_return.remark
- IF uo_fieb.send_outware(ll_scid,ll_outwareid,arg_postscript,arg_remark,arg_msg,True) = 0 THEN
- MessageBox('Erorr',arg_msg)
- RETURN
- END IF
- MessageBox('系统提示','提交成功!')
- end event
- event ue_f11;call super::ue_f11;//引入销售发货历史, 用于选择明细内容
- IF Not dw_edit_mode THEN RETURN
- IF flag = 1 THEN RETURN
- Long child_row,ins_storageid = 0,cnt_childdw
- Long ll_moneyid
- decimal ld_tax
- dw_uc.AcceptText()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 Or IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
- IF dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 THEN RETURN
- ins_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- IF ins_storageid = 0 Or IsNull(ins_storageid) THEN
- MessageBox('提示','请先选择仓库',information!,OK!)
- RETURN
- END IF
- Int li_if_cus_mtrlware
- SELECT balctype INTO :li_if_cus_mtrlware
- FROM u_storage
- Where storageid = :ins_storageid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!)
- RETURN
- END IF
- Long ls_null
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.b_long = 0
- Long chc = 1,ls_j,ls_custid
- SetNull(ls_null)
- ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF IsNull(ls_custid) Or ls_custid = 0 THEN
- This.TriggerEvent("ue_f9")
- END IF
- child_row = dw_child.GetRow()
- cnt_childdw = dw_child.RowCount()
- dw_uc.AcceptText()
- ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF li_if_cus_mtrlware = 1 THEN //是否客户库存
- s_tranf8.c_long = ls_custid
- ELSE
- s_tranf8.c_long = -1
- END IF
- IF Not IsValid(w_mtrlware_storageid_ch_2) THEN
- s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.d_long = ins_storageid
- s_tranf8.e_long = ls_custid
-
- dw_child.AcceptText()
- IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
- OpenWithParm(w_mtrlware_storageid_ch_2,s_tranf8)
-
- s_mtrlware_noalloc_array S_INSCUST
- S_INSCUST = Message.PowerObjectParm
-
- FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
- IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
-
-
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.u_outwaremx_mtrlid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
-
- string ls_cusmtrlcode,ls_cusmtrlname,ls_cusmtrlmode//客户物料名称
- long ls_cusid,ls_mtrlid
- ls_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- ls_mtrlid =S_INSCUST.mtrlid[ls_j]
- Select isnull(cusmtrlcode,''), isnull(cusmtrlname,''), isnull(cusmtrlmode,'')
- Into :ls_cusmtrlcode, :ls_cusmtrlname, :ls_cusmtrlmode
- From u_cusmtrlname
- Where mtrlid= :ls_mtrlid and cusid= :ls_cusid ;
-
- dw_child.Object.u_cusmtrlname_cusmtrlname[child_row] = ls_cusmtrlname
- dw_child.Object.u_cusmtrlname_cusmtrlcode[child_row] = ls_cusmtrlcode
- dw_child.Object.u_cusmtrlname_cusmtrlmode[child_row] =ls_cusmtrlmode
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
- dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
-
- IF sys_option_outware_Sale_ware = 0 THEN
- dw_child.Object.u_outwaremx_saleqty[child_row] = 0
- dw_child.Object.u_outwaremx_uqty[child_row] = 0
- dw_child.Object.u_outwaremx_addqty[child_row] = 0
- ELSEIF sys_option_outware_Sale_ware = 1 THEN
- dw_child.Object.u_outwaremx_saleqty[child_row] = S_INSCUST.noallocqty[ls_j]- S_INSCUST.noauditingqty[ls_j]
- dw_child.Object.u_outwaremx_uqty[child_row] = S_INSCUST.noallocqty[ls_j]- S_INSCUST.noauditingqty[ls_j]
- dw_child.Object.u_outwaremx_addqty[child_row] = S_INSCUST.noallocaddqty[ls_j]- S_INSCUST.noauditingaddqty[ls_j]
- ELSE
- dw_child.Object.u_outwaremx_saleqty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_outwaremx_uqty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_outwaremx_addqty[child_row] = S_INSCUST.noallocaddqty[ls_j]
- END IF
- dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST.planprice[ls_j]
- dw_child.Object.u_outwaremx_storageid[child_row] = S_INSCUST.storageid[ls_j]
- dw_child.Object.u_outwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j]
- dw_child.Object.u_outwaremx_dxflag[child_row] = S_INSCUST.dxflag[ls_j]
-
- dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST.status[ls_j]
- dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
- dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_lmsaleprice[child_row] = S_INSCUST.lmsaleprice[ls_j]
-
-
- //查询单位
- dw_child.Object.u_outwaremx_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
-
- decimal lde_rate
- f_find_unitrate(s_inscust.mtrlid[ls_j], s_inscust.u_mtrldef_unit[ls_j], lde_rate)
- dw_child.Object.u_outwaremx_rate[child_row] = lde_rate
-
- //查询单价
- wf_get_price(child_row)
-
- dw_child.Object.u_mtrldef_curware_qty[child_row] = S_INSCUST.noallocqty[ls_j]
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null
- // dw_child.SetColumn('u_outwaremx_uqty')
- dw_child.Object.u_outwaremx_net_weight[child_row] = S_INSCUST.u_mtrldef_net_weight[ls_j]
- dw_child.Object.u_outwaremx_gross_weight[child_row] = S_INSCUST.u_mtrldef_gross_weight[ls_j]
- dw_child.Object.u_outwaremx_cubage[child_row] = S_INSCUST.u_mtrldef_cubage[ls_j]
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = S_INSCUST.u_mtrldef_mtrlengname[ls_j]
- dw_child.Object.u_mtrldef_barcode[child_row] = S_INSCUST.barcode[ls_j]
-
- if f_find_tax(ls_custid,'u_cust',ld_tax) = 0 then
- ld_tax = 0
- else
- dw_child.Object.u_outwaremx_tax[child_row] = ld_tax
- end if
- END IF
- NEXT
- END IF
- IF sys_option_outware_if_saleqty = 0 THEN
- dw_child.SetColumn('u_outwaremx_uqty')
- ELSE
- dw_child.SetColumn('u_outwaremx_saleqty')
- END IF
- dw_child.SetRedraw(True)
- dw_child.SetFocus()
- ////////////////////////////////// //
- end event
- event ue_f10;call super::ue_f10;//引入销售订单明细
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.Object.u_outware_priceflag[dw_uc.GetRow()] = 1 Or dw_uc.Object.flag[dw_uc.GetRow()] = 1 THEN RETURN
- Int rslt = 1
- String arg_msg
- Long ll_scid
- Long ll_storageid
- Long ls_taskid
- Long ll_cusid
- String ls_taskcode
- String errmsg
- dw_uc.AcceptText()
- ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()]
- ll_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF ll_storageid = 0 Or IsNull(ll_storageid) THEN
- MessageBox('提示','请先选择仓库',information!,OK!)
- RETURN
- END IF
- IF ll_cusid = 0 Or IsNull(ll_cusid) THEN
- MessageBox('提示','请先选择客户',information!,OK!)
- RETURN
- END IF
- s_saletask_find s_find
- s_find.scid = ll_scid
- s_find.areaid = sys_areaid
- s_find.cusid = ll_cusid
- //s_find.if_retrieve_all = local_retrieve_all
- //THIS.Enabled = FALSE
- IF Not IsValid(w_saletask_outware_ch) THEN
-
- s_saletask_mtrl s_saletask
- OpenWithParm(w_saletask_outware_ch,s_find)
-
- s_saletask = Message.PowerObjectParm
- IF UpperBound(s_saletask.taskid ) > 0 THEN
-
- // wf_autoaddmx_salemx(ll_scid, s_saletask, ll_storageid, ll_cusid, s_saletask.if_zeromtrlware, errmsg)
-
- IF wf_saletaskmtrltoarr_salemx(ll_scid,s_saletask,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- IF wf_set_outwaremx(ll_scid,ll_cusid, ll_storageid, s_saletask,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
-
- END IF
- END IF
- //THIS.Enabled = TRUE
- ext:
- dw_uc.SetColumn("u_outware_rel_address")
- dw_uc.SetRedraw(True)
- RETURN
- end event
- type cb_func from w_publ_1ton_share_detail`cb_func within w_outware_sale
- end type
- type cb_exit from w_publ_1ton_share_detail`cb_exit within w_outware_sale
- integer x = 2560
- integer taborder = 230
- end type
- type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_outware_sale
- integer x = 183
- integer width = 503
- boolean autohscroll = true
- end type
- type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_outware_sale
- integer x = 2981
- integer taborder = 190
- end type
- type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_outware_sale
- integer x = 2738
- integer y = 36
- integer width = 251
- integer taborder = 180
- end type
- type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_outware_sale
- integer x = 2825
- integer y = 300
- integer width = 754
- integer height = 1324
- integer taborder = 90
- string dataobject = "dw_outware_sale_index"
- string old_dwobject = "0"
- string curdw_colfilter = "0"
- end type
- event dw_pageretr::rowfocuschanged;wf_flagstatus_rf()
- wf_check_billfj()
- IF dw_edit_mode THEN RETURN
- IF currentrow <= 0 THEN
- dw_child.Reset()
- RETURN
- END IF
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(currentrow,TRUE)
- dw_uc.SetRow(currentrow)
- dw_uc.ScrollToRow (currentrow)
- st_cusbalc.Text = ''
- st_cusbalc_sign.visible = false
- IF NOT dw_edit_mode THEN
- PARENT.TriggerEvent('retrieve_childdw_uc')
- PARENT.TriggerEvent('retrieve_childdw')
- END IF
- IF if_ChkMtrlInfo THEN
- Parent.TriggerEvent('ue_mtrl_info_retr')
- END IF
- Long ll_scid,ll_cusid, ll_moneyid
- IF NOT dw_edit_mode AND currentrow > 0 THEN
- ll_scid = THIS.Object.u_outware_scid[currentrow]
- ll_cusid = THIS.Object.u_outware_cusid[currentrow]
- ll_moneyid = THIS.Object.u_outware_relint_2[currentrow]
- wf_cusbalc(ll_scid,ll_cusid,ll_moneyid)
- END IF
- IF if_ChkMtrlInfo THEN
- Parent.TriggerEvent('ue_mtrl_info_retr')
- END IF
- end event
- type st_1 from w_publ_1ton_share_detail`st_1 within w_outware_sale
- end type
- type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_outware_sale
- integer x = 3131
- integer taborder = 220
- end type
- type dw_uc from w_publ_1ton_share_detail`dw_uc within w_outware_sale
- integer width = 2752
- integer height = 1420
- integer taborder = 170
- string dataobject = "dw_outware_sale_edit"
- end type
- event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
- Long li_option_outrep
- IF Key = KeyDownArrow! THEN RETURN 1
- IF dw_edit_mode THEN
- IF dw_uc.GetColumnName ( ) = 'u_outware_dscrp' And Key = KeyEnter! THEN
- dw_child.SetFocus()
- dw_child.ScrollToRow(dw_child.RowCount())
- dw_child.SetColumn ('u_mtrldef_mtrlcode')
- RETURN 1
- ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' And Key = KeyEnter! THEN
- s_custom s_cus
- String ls_code
- // String ls_code,ls_name,ls_custype,ls_find_code
- // String ls_freight,ls_freight_tele
- // String ls_rel_address,ls_rel_tele,ls_rel_fax,ls_rel_rep
- Long ls_cusid,ll_ori_cusid
- // Long cnt = 0
- // Boolean if_find = False
- // Int li_banktypeid,li_ifrel,ll_i
- String ls_ori_cuscode
- Long ll_scid, ll_moneyid
-
- dw_uc.AcceptText()
- ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
- ll_ori_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- ls_ori_cuscode = dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()]
-
- IF f_find_cust(ls_code, s_cus) = 0 THEN
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- END IF
- // if_find = True
- //
- //
- // IF if_find THEN
-
- //重置dw_child
- IF wf_change_cusid(s_cus.cusid) = 0 THEN RETURN
-
- dw_uc.SetRedraw(False)
- dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] = s_cus.cusid
- dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = s_cus.cuscode
- dw_uc.Object.u_cust_name[dw_uc.GetRow()] = s_cus.Name
- dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = s_cus.custype
- dw_uc.Object.u_outware_relstr_1[dw_uc.GetRow()] = s_cus.freight
- dw_uc.Object.u_outware_relstr_2[dw_uc.GetRow()] = s_cus.freight_tele
- dw_uc.Object.u_outware_relstr_3[dw_uc.GetRow()] = s_cus.freight_address
-
- dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] = s_cus.Address
- dw_uc.Object.u_outware_rel_tele[dw_uc.GetRow()] = s_cus.tele
- dw_uc.Object.u_outware_rel_tele1[dw_uc.GetRow()] = s_cus.tele1
- dw_uc.Object.u_outware_rel_fax[dw_uc.GetRow()] = s_cus.faxno
- dw_uc.Object.u_outware_rel_rep[dw_uc.GetRow()] = s_cus.rep
- IF s_cus.banktypeid > 0 THEN
- dw_uc.Object.u_outware_relint_1[dw_uc.GetRow()] = s_cus.banktypeid
- END IF
- dw_uc.SetRedraw(True)
- dw_uc.AcceptText()
- ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()]
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
-
- wf_getcusrepamt_info(ll_scid,s_cus.cusid,ll_moneyid)
-
- dw_uc.SetColumn("u_outware_rel_address")
- // dw_child.Reset()
- // Parent.TriggerEvent("insert_childrow")
- RETURN 1
- // END IF
-
- // IF sys_power_issuper THEN
- // li_option_outrep = 0
- // ELSE
- // li_option_outrep = sys_option_outrep
- // END IF
- //
- //
- //
- // SELECT u_cust.cusid,
- // u_cust.name,
- // u_cust.custype,
- // u_cust.cuscode,
- // u_cust.freight,
- // u_cust.freight_tele,
- // u_cust.address,
- // u_cust.tele,
- // u_cust.faxno,
- // u_cust.rep,
- // u_cust.banktypeid
- // INTO :ls_cusid,:ls_name,:ls_custype,:ls_code,
- // :ls_freight,:ls_freight_tele,
- // :ls_rel_address,:ls_rel_tele,:ls_rel_fax,:ls_rel_rep,:li_banktypeid
- // FROM u_cust
- // Where ( cuscode = :ls_code Or Name = :ls_code ) and
- // ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0'));
- // IF sqlca.SQLCode <> 0 THEN
- //
- // IF Pos(Trim(ls_code),'%') = 0 THEN
- // ls_find_code = '%'+ Trim(ls_code) + '%'
- // ELSE
- // ls_find_code = Trim(ls_code)
- // END IF
- //
- // SELECT count(*) INTO :cnt
- // FROM u_cust
- // Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code ) and
- // ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0'));
- // IF sqlca.SQLCode <> 0 THEN
- // Parent.TriggerEvent('ue_f9')
- // RETURN 1
- // END IF
- // IF cnt <> 1 THEN
- // Parent.TriggerEvent('ue_f9')
- // RETURN 1
- // END IF
- //
- // SELECT u_cust.cusid,
- // u_cust.cuscode,
- // u_cust.name,
- // u_cust.custype,
- // u_cust.freight,
- // u_cust.freight_tele,
- // u_cust.address,
- // u_cust.tele,
- // u_cust.faxno,
- // u_cust.rep
- // INTO :ls_cusid,:ls_code,:ls_name,:ls_custype,
- // :ls_freight,:ls_freight_tele,
- // :ls_rel_address,:ls_rel_tele,:ls_rel_fax,:ls_rel_rep
- // FROM u_cust
- // Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code );
- // IF sqlca.SQLCode <> 0 THEN
- // Parent.TriggerEvent('ue_f9')
- // RETURN 1
- // END IF
- //
- // END IF
- // if_find = True
- //
- //
- // IF if_find THEN
- //
- // //重置dw_child
- // wf_change_cusid(ls_cusid)
- //
- // dw_uc.SetRedraw(False)
- // dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] = ls_cusid
- // dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code
- // dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_name
- // dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = ls_custype
- // dw_uc.Object.u_outware_relstr_1[dw_uc.GetRow()] = ls_freight
- // dw_uc.Object.u_outware_relstr_2[dw_uc.GetRow()] = ls_freight_tele
- // dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] = ls_rel_address
- // dw_uc.Object.u_outware_rel_tele[dw_uc.GetRow()] = ls_rel_tele
- // dw_uc.Object.u_outware_rel_fax[dw_uc.GetRow()] = ls_rel_fax
- // dw_uc.Object.u_outware_rel_rep[dw_uc.GetRow()] = ls_rel_rep
- // IF li_banktypeid > 0 THEN
- // dw_uc.Object.u_outware_relint_1[dw_uc.GetRow()] = li_banktypeid
- // END IF
- // dw_uc.SetRedraw(True)
- //
- // ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()]
- // ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- //
- // wf_getcusrepamt_info(ll_scid,ls_cusid,ll_moneyid)
- //
- // dw_uc.SetColumn("u_outware_rel_address")
- // dw_child.Reset()
- // Parent.TriggerEvent("insert_childrow")
- // RETURN 1
- // END IF
- ELSE
- IF Key = KeyEnter! THEN //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- END IF
- END IF
- end event
- event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
- IF dwo.Name = 'u_outware_storageid' THEN
- dw_child.Reset()
- PARENT.TriggerEvent("insert_childrow")
- ELSEIF dwo.Name = 'u_outware_relint_2' THEN
- Long ll_moneyid,ll_scid,ll_cusid
- dw_uc.accepttext()
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- dw_uc.SetRedraw(FALSE)
- dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid)
- dw_uc.SetRedraw(TRUE)
-
- ll_scid = dw_uc.Object.u_outware_scid[dw_uc.GetRow()]
- ll_cusid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- wf_getcusrepamt_info(ll_scid,ll_cusid,ll_moneyid)
- elseif dwo.name = 'u_outware_rel_rep' then
- if data <> '' then
- string ll_officetel,ll_handtel
- long ls_cusid
-
- ls_cusid = dw_uc.object.u_outware_cusid[row]
- select officetel,handtel into :ll_officetel,:ll_handtel from u_cust_rep where repname = :data and cusid = :ls_cusid;
- if sqlca.sqlcode = 0 then
- dw_uc.object.u_outware_rel_tele[row] = ll_officetel
- dw_uc.object.u_outware_rel_tele1[row] = ll_handtel
- end if
-
- select tele,tele1 into :ll_officetel,:ll_handtel from u_cust where cusid = :ls_cusid and rep = :data;
- if sqlca.sqlcode = 0 then
- dw_uc.object.u_outware_rel_tele[row] = ll_officetel
- dw_uc.object.u_outware_rel_tele1[row] = ll_handtel
- end if
- end if
- END IF
- end event
- event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
- IF dwo.Name = 'u_cust_cuscode' OR dwo.Name = 'u_cust_name' THEN
- PARENT.TriggerEvent('ue_f9')
- END IF
- END IF
- end event
- event dw_uc::clicked;call super::clicked;
- IF row <= 0 THEN RETURN
- IF dwo.Name = 'p_dview' THEN
- Parent.TriggerEvent('ue_ch_dscrp')
- ELSEIF dwo.Name = 'p_dview2' THEN
- Parent.TriggerEvent('ue_ch_dscrp2')
- ELSEIF dwo.Name = 'p_dview3' THEN
- Parent.TriggerEvent('ue_ch_dscrp3')
- ELSEIF dwo.Name = 'p_dview4' THEN
- Parent.TriggerEvent('ue_ch_rel_address')
- ELSEIF dwo.Name = 'p_dview5' THEN
- Parent.TriggerEvent('ue_ch_station')
- ELSEIF dwo.Name = 'p_relstr_3' THEN
- Parent.TriggerEvent('ue_ch_relstr_3')
-
- END IF
- IF Not dw_edit_mode THEN RETURN
- IF dw_uc.Object.u_outware_thflag[row] = 1 THEN RETURN
- IF dwo.Name = 'p_b' Or dwo.Name = 'choicesaletask_t' THEN
- Parent.TriggerEvent('ue_f7')
- Parent.TriggerEvent('ue_setprice_forformula')
- ELSEIF dwo.Name = 'p_c' Or dwo.Name = 'choicesaletaskmx_t' THEN
- Parent.TriggerEvent('ue_f10')
- Parent.TriggerEvent('ue_setprice_forformula')
- ELSEIF dwo.Name = 'p_d' Or dwo.Name = 'choicesalehis_t' THEN
- Parent.TriggerEvent('ue_f11')
- Parent.TriggerEvent('ue_setprice_forformula')
- ELSEIF dwo.Name = 'p_ware' Or dwo.Name = 'choiceware_t' THEN
- Parent.TriggerEvent('ue_f8')
- Parent.TriggerEvent('ue_setprice_forformula')
- ELSEIF dwo.Name = 'p_p' THEN
- Parent.TriggerEvent('ue_f9')
- ELSEIF dwo.Name = 'p_emp' THEN
- Parent.TriggerEvent('ue_ch_outrepdef')
- ELSEIF dwo.Name = 'p_money' THEN
- Parent.TriggerEvent('ue_ch_money')
- ELSEIF dwo.Name = 'p_banktype' THEN
- Parent.TriggerEvent('ue_ch_banktype')
- END IF
- end event
- event dw_uc::constructor;call super::constructor;this.object.p_emp.visible = (sys_option_allow_edit_outrep = 1)
- end event
- event dw_uc::ue_dwndropdown;IF Not dw_edit_mode THEN RETURN
- String ls_col_pz,ls_col_mtrlid
- String ls_pz_ch
- String ls_col_value
- Long ll_col_value
- String ls_data_type
- Long ll_row,ll_mtrlid
- ll_row = This.GetRow()
- IF ll_row > 0 THEN
-
- ls_col_pz = This.GetColumnName( )
-
- ls_data_type = dw_child.Describe(ls_col_pz+".ColType")
- IF Left(Lower(ls_data_type),4 ) = "char" THEN
- ls_col_value = This.GetItemString(ll_row,ls_col_pz)
- ELSEIF Left(Lower(ls_data_type),4) = "long" THEN
- ll_col_value = This.GetItemNumber(ll_row,ls_col_pz)
- END IF
-
- if ls_col_pz = 'u_outware_rel_rep' then
- int rtncode
- string ls_sql
- long ls_cusid
-
- ls_cusid = dw_uc.object.u_outware_cusid[dw_uc.getrow()]
- DataWindowChild dw_child_dddw
- rtncode = dw_uc.GetChild("u_outware_rel_rep",dw_child_dddw)
-
- dw_child_dddw.SetTransObject(SQLCA)
- ls_sql = old_rep_select
- ls_sql = ls_sql + " or cusid = "+string(ls_cusid);
-
- dw_child_dddw.SetSQLSelect(ls_sql)
- dw_child_dddw.Retrieve()
- end if
- This.SetItem(ll_row,ls_col_pz,ls_pz_ch)
- END IF
- end event
- type gb_2 from w_publ_1ton_share_detail`gb_2 within w_outware_sale
- end type
- type dw_child from w_publ_1ton_share_detail`dw_child within w_outware_sale
- integer y = 1964
- integer width = 3543
- integer height = 748
- integer taborder = 40
- string dataobject = "dw_outwaremx_sale_edit"
- boolean minbox = true
- string old_dwobject = "0"
- string curdw_colfilter = "0"
- end type
- event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
- //THIS.TriggerEvent('user_key')
- IF NOT dw_edit_mode THEN RETURN
- IF flag = 1 THEN RETURN
- String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrltype
- String ls_plancode,ls_status,ls_woodcode,ls_pcode
- Long ls_mtrlwareid,ls_mtrlid,ls_storageid,ll_moneyid
- Dec ls_noallocqty,ls_noauditingqty,ls_planprice,ls_cost,ls_lmsaleprice
- s_mtrlware_noalloc_array arg_s_mtrlware
- Long child_row
- Long ls_null
- String arg_msg
- Long ls_custid,ls_sptid
- Decimal ls_1stnewprice,ls_1stzqrate,ls_1strate
- SetNull(ls_null)
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
-
- ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]
- IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN
- MessageBox('提示','请先选择币种',information!,OK!)
- RETURN
- END IF
-
- ls_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
- MessageBox('提示','请先选择仓库',information!,OK!)
- RETURN
- END IF
-
- Int li_if_cus_mtrlware
- SELECT balctype INTO :li_if_cus_mtrlware
- FROM u_storage
- Where storageid = :ls_storageid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('提示','查询仓库是否使用客户库存失败',information!,OK!)
- RETURN
- END IF
-
- ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- IF IsNull(ls_custid) OR ls_custid = 0 THEN
- THIS.TriggerEvent("ue_f9")
- ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()]
- END IF
-
- IF KeyDown(Keydownarrow!) THEN
- Long li_row
- IF dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- END IF
- ELSE
- IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
- IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN
-
- dw_child.AcceptText()
- child_row = dw_child.GetRow()
-
- ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
- IF li_if_cus_mtrlware = 1 THEN
- ls_sptid = ls_custid
- ELSE
- ls_sptid = -1
- END IF
-
- IF f_find_mtrlware(ls_mtrlcode,ls_storageid,ls_sptid,arg_s_mtrlware) = 0 THEN
- PARENT.TriggerEvent('ue_f8')
- RETURN 1
- ELSE
- ls_mtrlwareid = arg_s_mtrlware.mtrlwareid[1]
- ls_mtrlid = arg_s_mtrlware.mtrlid[1]
- ls_mtrlcode = arg_s_mtrlware.u_mtrldef_mtrlcode[1]
- ls_mtrlname = arg_s_mtrlware.u_mtrldef_mtrlname[1]
- ls_unit = arg_s_mtrlware.u_mtrldef_unit[1]
- ls_mtrlmode = arg_s_mtrlware.u_mtrldef_mtrlmode[1]
- ls_planprice = arg_s_mtrlware.planprice[1]
- ls_noallocqty = arg_s_mtrlware.noallocqty[1]
- ls_storageid = arg_s_mtrlware.storageid[1]
- ls_plancode = arg_s_mtrlware.plancode[1]
- ls_noauditingqty = arg_s_mtrlware.noauditingqty[1]
- ls_lmsaleprice = arg_s_mtrlware.lmsaleprice[1]
- ls_status = arg_s_mtrlware.status[1]
- ls_woodcode = arg_s_mtrlware.woodcode[1]
- ls_pcode = arg_s_mtrlware.pcode[1]
- ls_mtrlsectype = arg_s_mtrlware.u_mtrldef_mtrlsectype[1]
- ls_zxmtrlmode = arg_s_mtrlware.u_mtrldef_zxmtrlmode[1]
- ls_mtrltype = arg_s_mtrlware.u_mtrldef_mtrltype[1]
- END IF
-
- dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ls_mtrlwareid
- dw_child.Object.u_outwaremx_mtrlid[child_row] = ls_mtrlid
- dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- dw_child.Object.u_outwaremx_uqty[child_row] = 0
- dw_child.Object.u_outwaremx_planprice[child_row] = ls_planprice
- dw_child.Object.u_outwaremx_storageid[child_row] = ls_storageid
- dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode
- dw_child.Object.u_outwaremx_status[child_row] = ls_status
- dw_child.Object.u_outwaremx_woodcode[child_row] = ls_woodcode
- dw_child.Object.u_outwaremx_pcode[child_row] = ls_pcode
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
- dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype
- dw_child.Object.u_outwaremx_unit[child_row] = ls_unit
-
- //导入单价
- wf_get_price(child_row)
-
-
- dw_child.Object.u_mtrldef_curware_qty[child_row] = ls_noallocqty
- dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null
- dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null
-
- IF Key = KeyEnter! THEN //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- // ELSEIF dw_child.GetColumnName( ) = 'u_outwaremx_rebate' AND dw_child.GetRow() = dw_child.RowCount() THEN
- // Long i_mtrlid
- // String i_mtrlcode
- // Decimal i_price,i_zqrate
- // Int i_thflag = 0
- // dw_child.AcceptText()
- //
- // i_mtrlid = dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()]
- // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
- // i_price = dw_child.Object.u_outwaremx_fprice[dw_child.GetRow()]
- // i_zqrate = dw_child.Object.u_outwaremx_rebate[dw_child.GetRow()]
- //
- // IF Key = KeyEnter! THEN //
- // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- // keybd_event ( 9, 0, 2, 0 ) // 释放tab
- // RETURN 1
- // END IF
- ELSEIF dw_child.GetColumnName( ) = 'u_outwaremx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- RETURN 1
- ELSEIF dw_child.GetColumnName( ) = 'u_outwaremx_priceformula' THEN
- PARENT.TriggerEvent("ue_setprice_forformula_1")
- RETURN 1
- ELSEIF dw_child.GetColumnName( ) = 'u_outwaremx_formula' THEN
- PARENT.TriggerEvent("ue_setqty_forformula_1")
- RETURN 1
- ELSE
- IF Key = KeyEnter! THEN //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- END IF
- END IF
- END IF
- END IF
- end event
- event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
- This.AcceptText()
- IF row > 0 THEN
- IF dw_child.Object.u_outwaremx_relid[row] > 0 THEN
- ELSE
- IF dwo.Name = 'u_outwaremx_uqty' And sys_option_price_if_list = 1 and (dw_child.Object.u_outwaremx_enprice[row]=0 or isnull(dw_child.Object.u_outwaremx_enprice[row])) THEN //价格表增加数量下限,数量上
- wf_get_price(row)
- END IF
- END IF
- END IF
- IF dwo.Name = 'u_outwaremx_ifrel' THEN
- IF This.Object.u_outwaremx_ifrel[row] = 0 THEN
- dw_child.Object.u_outwaremx_relid[row] = 0
- dw_child.Object.taskcode[row] = ''
- END IF
-
- ELSEIF dwo.Name = 'u_outwaremx_saleqty' THEN
- String ls_protect
-
- ls_protect = This.Describe( 'u_outwaremx_uqty.protect')
-
- IF ls_protect = '0' THEN
- This.Object.u_outwaremx_uqty[row] = This.Object.u_outwaremx_saleqty[row]
-
- wf_cmpl_amt(row)
- END IF
- ELSEIF dwo.Name = 'u_outwaremx_uqty' Or dwo.Name = 'enamt' Or dwo.Name = 'enamt_notax' Or dwo.Name = 'u_outwaremx_enprice' Or dwo.Name = 'u_outwaremx_rebate' Or dwo.Name = 'enprice_notax' Or dwo.Name = 'u_outwaremx_tax' THEN
- // MessageBox('',String(dwo.Name))
-
- wf_cmpl_amt(row)
- ELSEIF dwo.Name = 'u_outwaremx_packqty' THEN
- Long ll_mtrlid
- Decimal lde_packqty_single, lde_packqty, lde_rate
- IF ii_packqty_cmpl = 1 THEN
- ll_mtrlid = This.Object.u_outwaremx_mtrlid[row]
- lde_packqty_single = f_get_packqty(ll_mtrlid)
- lde_packqty = This.Object.u_outwaremx_packqty[row]
- lde_rate = This.Object.u_outwaremx_rate[row]
- IF lde_rate = 0 THEN lde_rate = 1
- This.Object.u_outwaremx_qty[row] = lde_packqty * lde_packqty_single
- This.Object.u_outwaremx_uqty[row] = lde_packqty * lde_packqty_single / lde_rate
- This.Object.u_outwaremx_saleqty[row] = lde_packqty * lde_packqty_single / lde_rate
- END IF
-
- END IF
- end event
- event dw_child::doubleclicked;long i
- IF dw_edit_mode And row > 0 THEN
- IF dwo.Name = 'u_outwaremx_addqty' THEN
- Parent.TriggerEvent('ue_add_addqty')
- ELSEIF dwo.Name = 'u_outwaremx_outtype' THEN
- Parent.TriggerEvent('ue_ch_outtype')
- ELSEIF dwo.Name = 'u_outwaremx_unit' THEN
- Parent.TriggerEvent('ue_f12')
- ELSEIF dwo.Name = 'u_outwaremx_formula' Or dwo.Name = 'u_outwaremx_uqty' THEN
- Parent.TriggerEvent('ue_cmpl_qty')
- ELSEIF dwo.Name = 'u_outwaremx_priceformula' THEN
- Parent.TriggerEvent('ue_cmpl_price')
- ELSEIF dwo.name = 'u_outwaremx_status' or dwo.name = 'u_outwaremx_woodcode' or dwo.name = 'u_outwaremx_pcode' then
- string name
- name =dwo.name
- PARENT.trigger event ue_view_status(row,name)
- ELSEIF dwo.Name = 'u_outwaremx_mxdscrp' THEN
- Parent.TriggerEvent('ue_view_mxdscrp')
- RETURN
- ELSEIF dwo.Name = 'mxdscrp2' THEN
- Parent.TriggerEvent('ue_view_mxdscrp2')
- RETURN
- ELSEIF dwo.Name = 'u_outwaremx_mxdscrp3' THEN
- Parent.TriggerEvent('ue_view_mxdscrp3')
- RETURN
- ELSEIF dwo.Name = 'u_outwaremx_mxdscrp4' THEN
- Parent.TriggerEvent('ue_view_mxdscrp4')
- RETURN
- ELSEIF dwo.Name = 'u_outwaremx_plancode' THEN
- Parent.TriggerEvent('ue_choose_mtrlware_plancode')
- RETURN
- ELSE
- IF this.Object.u_outwaremx_ifrel[row] = 1 THEN //选订单
- IF this.Object.u_outwaremx_relid[row] = 0 THEN
- Parent.TriggerEvent('ue_f7') //选订单
- ELSE
- Parent.TriggerEvent('ue_ch_mtrlware') //选库存
- END IF
- ELSE //选库存
- Parent.TriggerEvent('ue_f8')
- END IF
- Parent.TriggerEvent('ue_setprice_forformula')
- wf_set_barcode()
- END IF
- for i = 1 to dw_child.rowcount()
- round(dw_child.Object.u_outwaremx_enprice[i],sys_option_outware_price_amt_round)
- next
- END IF
- end event
- event dw_child::itemfocuschanged;call super::itemfocuschanged;dw_child.AcceptText()
- end event
- event dw_child::losefocus;call super::losefocus;//long row
- //row = this.getrow()
- //IF row > 0 THEN
- // dw_child.AcceptText()
- //
- // //由金额计算单价
- // IF cbx_enamt_edit.Checked THEN
- // IF dw_child.Object.enamt[row] <> 0 THEN
- // IF dw_child.Object.u_outwaremx_rebate[row] <> 0 And dw_child.Object.u_outwaremx_uqty[row] <> 0 THEN
- // dw_child.Object.u_outwaremx_enprice[row] = dw_child.Object.enamt[row] / dw_child.Object.u_outwaremx_rebate[row] / dw_child.Object.u_outwaremx_uqty[row]
- // END IF
- // END IF
- // ELSE
- // dw_child.Object.enamt[row] = Round(dw_child.Object.u_outwaremx_enprice[row]*dw_child.Object.u_outwaremx_rebate[row]*dw_child.Object.u_outwaremx_uqty[row], 2)
- // END IF
- //
- //END IF
- end event
- event dw_child::rowfocuschanged;call super::rowfocuschanged;Parent.TriggerEvent('ue_retrieve_fifo_cbmx')
- Parent.TriggerEvent('ue_retrieve_his_pricemx')
- end event
- event dw_child::ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN
- String ls_col_pz,ls_col_mtrlid
- String ls_pz_ch
- String ls_col_value
- String ls_data_type
- Long ll_row,ll_mtrlid
- long statusflag
- s_pzwin_open arg_s_win
- ll_row = THIS.GetRow()
- IF ll_row > 0 THEN
- ls_col_mtrlid = THIS.Describe("#1.Name")
-
- IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
-
- ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
-
- ls_col_pz = THIS.GetColumnName( )
-
- ls_data_type = dw_child.Describe(ls_col_pz+".ColType")
- IF Pos(Lower(ls_data_type),"char") > 0 THEN
- ls_col_value = THIS.GetItemString(ll_row,ls_col_pz)
- END IF
-
- arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X
- arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y
-
- arg_s_win.arg_col = ls_col_pz
- arg_s_win.arg_mtrlid = ll_mtrlid
- arg_s_win.arg_col_value = ls_col_value
-
- ls_pz_ch = f_mtrl_pz(arg_s_win)
-
- IF isnull(ls_pz_ch) THEN RETURN
-
- THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
-
- IF ls_col_pz = 'u_outwaremx_status' Or ls_col_pz = 'u_outwaremx_woodcode' Or ls_col_pz = 'u_outwaremx_pcode' THEN
- IF ll_row > 0 THEN
-
- if isnull(This.Object.u_mtrldef_statusflag[ll_row]) then
- select statusflag into :statusflag from u_mtrldef where mtrlid = :ll_mtrlid;
- if sqlca.sqlcode <> 0 then
- return
- end if
- else
- statusflag = This.Object.u_mtrldef_statusflag[ll_row]
- end if
-
- IF statusflag = 2 or statusflag = 4 THEN
- wf_get_price(ll_row)
- END IF
- return 1
- END IF
- END IF
- END IF
- end event
- type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_outware_sale
- integer x = 1915
- integer taborder = 60
- end type
- type cb_print from w_publ_1ton_share_detail`cb_print within w_outware_sale
- integer x = 1723
- integer taborder = 70
- end type
- type cb_add from w_publ_1ton_share_detail`cb_add within w_outware_sale
- event ue_cmpl_qty ( )
- integer taborder = 240
- end type
- event cb_add::ue_cmpl_qty();//IF dw_child.GetRow() = 0 THEN RETURN
- //Long child_row
- //dw_child.AcceptText()
- //child_row = dw_child.GetRow()
- //s_cmpl_qty s_cmpl,s_return
- //
- //s_cmpl.qty = dw_child.Object.u_outwaremx_uqty[child_row]
- //s_cmpl.formula = dw_child.Object.u_outwaremx_formula[child_row]
- //
- //IF NOT IsValid(w_cmpl_qty_ch) THEN
- // OpenWithParm(w_cmpl_qty_ch,s_cmpl)
- // s_return = Message.PowerObjectParm
- // IF s_return.formula <> s_cmpl.formula THEN
- // dw_child.Object.u_outwaremx_uqty[child_row] = s_return.qty
- // dw_child.Object.u_outwaremx_formula[child_row] = s_return.formula
- // END IF
- //END IF
- //
- end event
- event cb_add::clicked;IF Not (f_power_ind(11) Or f_power_ind(371)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row,pagerert_row
- Long relid_pageretr,reld_uc,i
- Long ll_printid,ll_outwareid,ll_scid, ll_cusid, ll_moneyid
- Int li_flag,li_secflag,li_priceflag
- Decimal ld_packqty
- Decimal lde_billamt, lde_mrate
- String ls_taskcode
- s_outwaremx s_mx
- s_outware_itemmx s_item
- IF dw_edit_mode THEN
-
- dw_uc.AcceptText()
- dw_child.AcceptText()
- dw_fymx.AcceptText()
-
-
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
-
- IF Not dw_uc.Object.u_outware_outdate[uc_row] > DateTime(2000-01-01,Now()) THEN
- MessageBox('提示','不合理发生时间',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_outware_outrep")
- RETURN
- END IF
- IF Not Len(String(dw_uc.Object.u_outware_outrep[uc_row])) > 0 THEN
- MessageBox('提示','请填写业务员',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_outware_outrep")
- RETURN
- END IF
- IF dw_uc.Object.u_outware_relint_1[uc_row] = 0 THEN
- MessageBox('提示','请选择结算方式',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_outware_relint_1")
- RETURN
- END IF
- IF dw_uc.Object.u_outware_relint_2[uc_row] = 0 THEN
- MessageBox('提示','请选择币种',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_outware_relint_2")
- RETURN
- END IF
-
- //处理一次数量
- IF sys_option_outware_if_saleqty = 0 THEN //不分离
- FOR i = 1 To dw_child.RowCount()
- dw_child.Object.u_outwaremx_saleqty[i] = dw_child.Object.u_outwaremx_uqty[i]
- NEXT
- ELSE
-
- END IF
-
- //由金额计算单价
- IF cbx_enamt_edit.Checked THEN
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.enamt[i] <> 0 THEN
- IF dw_child.Object.u_outwaremx_rebate[i] <> 0 And dw_child.Object.u_outwaremx_uqty[i] <> 0 THEN
- dw_child.Object.u_outwaremx_enprice[i] = dw_child.Object.enamt[i] / dw_child.Object.u_outwaremx_rebate[i] / dw_child.Object.u_outwaremx_uqty[i]
-
- END IF
- END IF
- NEXT
- END IF
-
- //录入不含税单价
- IF cbx_enamt_notax_edit.Checked THEN
- FOR i = 1 To dw_child.RowCount()
- wf_cmpl_amt(i)
- NEXT
- END IF
-
-
-
-
-
- //由金额计算折扣
- IF cbx_zk.Checked THEN
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.enamt[i] <> 0 THEN
- IF dw_child.Object.u_outwaremx_enprice[i] > 0 THEN
- ELSE
- MessageBox('提示','第' + String(i) + '行请输入单价')
- RETURN
- END IF
- IF dw_child.Object.u_outwaremx_enprice[i] <> 0 And dw_child.Object.u_outwaremx_saleqty[i] <> 0 THEN
- dw_child.Object.u_outwaremx_rebate[i] = dw_child.Object.enamt[i] / dw_child.Object.u_outwaremx_enprice[i] / dw_child.Object.u_outwaremx_saleqty[i]
- END IF
- END IF
- NEXT
- END IF
-
-
-
- //检查库存ID, 生成0库存
- // IF sys_option_hide_ware = 1 THEN
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_outwaremx_mtrlwareid[i] = 0 THEN
- IF dw_child.Object.u_outwaremx_uqty[i] <> 0 THEN
- wf_get_mtrlwareid(i)
- END IF
- END IF
- NEXT
- // END IF
-
- //
- IF Not sys_power_issuper And f_power_ind(978) THEN
- arg_msg = ''
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_outwaremx_mtrlwareid[i] > 0 THEN
- IF dw_child.Object.u_outwaremx_uqty[i] > 0 THEN
- IF dw_child.Object.u_outwaremx_outtype[i] > 0 And sys_option_saletask_price = 1 THEN
-
- ELSE
- IF dw_child.Object.u_outwaremx_enprice[i] = 0 THEN
- arg_msg = arg_msg + '第' + String(i) + '行,产品:' + dw_child.Object.u_mtrldef_mtrlcode[i] + ',单价为零!~n '
- END IF
- END IF
- END IF
- END IF
- NEXT
- IF arg_msg <> '' THEN
- MessageBox('提示',arg_msg + '用户权限限制,不能保存!',information!,OK!)
- RETURN
- END IF
- END IF
-
- IF Not f_power_ind(520) THEN
- arg_msg = ''
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_outwaremx_mtrlwareid[i] > 0 THEN
- IF dw_child.Object.u_outwaremx_uqty[i] > 0 THEN
- IF dw_child.Object.u_outwaremx_outtype[i] = 0 THEN //一般发货
-
- If (dw_child.Object.u_outwaremx_ifrel[i] = 1 &
- And dw_child.Object.u_outwaremx_relid[i] = 0) &
- Or dw_child.Object.u_outwaremx_ifrel[i] = 0 THEN
- arg_msg = arg_msg + '第' + String(i) + '行,产品:' + dw_child.Object.u_mtrldef_mtrlcode[i] + ',请选择订单!~n '
- END IF
- END IF
- END IF
- END IF
- NEXT
- IF arg_msg <> '' THEN
- MessageBox('提示',arg_msg + '用户权限限制,不能保存!',information!,OK!)
- RETURN
- END IF
- END IF
-
- ll_scid = dw_uc.Object.u_outware_scid[uc_row]
- ll_outwareid = dw_uc.Object.u_outware_outwareid[uc_row]
- ll_cusid = dw_uc.Object.u_outware_cusid[uc_row]
- ll_moneyid = dw_uc.Object.u_outware_relint_2[uc_row]
-
- IF sys_option_cusrepamt_limit = 1 THEN
-
- wf_getcusrepamt_info(ll_scid,ll_cusid,ll_moneyid)
-
- IF cur_cusrepamtflag = -1 THEN
- MessageBox('系统提示','系统选项080限制~r~n'+cur_cusrepamtstr)
- RETURN 0
- END IF
- END IF
-
-
- //保存前根据物料资料定义,检查数量和辅数的关系是否正确,如果辅数有填写 ,数量没有填写 ,会根据物料资料里的定义自动计算出数量
- IF wf_check_qtyandaddqty(arg_msg) = 0 THEN
- MessageBox('提示',arg_msg + ',不能保存!',information!,OK!)
- RETURN
- END IF
-
- //系统选项280 设置单价小数位数
- wf_set_decimal_place()
-
-
-
- uo_ware.outdate = dw_uc.Object.u_outware_outdate[uc_row] // 发生时间
- uo_ware.outrep = dw_uc.Object.u_outware_outrep[uc_row] // 经手人
- uo_ware.part = dw_uc.Object.u_outware_part[uc_row] //相关部门
- uo_ware.dscrp = dw_uc.Object.u_outware_dscrp[uc_row] //备注
- uo_ware.dscrp2 = dw_uc.Object.u_outware_dscrp2[uc_row] //备注
- uo_ware.dscrp3 = dw_uc.Object.u_outware_dscrp3[uc_row] //备注
- uo_ware.cusid = dw_uc.Object.u_outware_cusid[uc_row]
- uo_ware.storageid = dw_uc.Object.u_outware_storageid[uc_row]
- uo_ware.relid = dw_uc.Object.u_outware_relid[uc_row]
- uo_ware.relint_1 = dw_uc.Object.u_outware_relint_1[uc_row] //结算方式
- uo_ware.relint_2 = dw_uc.Object.u_outware_relint_2[uc_row] //币种
- uo_ware.relstr_1 = dw_uc.Object.u_outware_relstr_1[uc_row]
- uo_ware.relstr_2 = dw_uc.Object.u_outware_relstr_2[uc_row]
- uo_ware.relstr_3 = dw_uc.Object.u_outware_relstr_3[uc_row]
- uo_ware.mrate = dw_uc.Object.u_outware_mrate[uc_row]
- uo_ware.thflag = 0
- uo_ware.otheramt = dw_uc.Object.u_outware_otheramt[uc_row]
- uo_ware.deposit = dw_uc.Object.u_outware_deposit[uc_row]
- uo_ware.rel_address = dw_uc.Object.u_outware_rel_address[uc_row]
- uo_ware.rel_tele = dw_uc.Object.u_outware_rel_tele[uc_row]
- uo_ware.rel_tele1 = dw_uc.Object.u_outware_rel_tele1[uc_row]
- uo_ware.rel_fax = dw_uc.Object.u_outware_rel_fax[uc_row]
- uo_ware.rel_rep = dw_uc.Object.u_outware_rel_rep[uc_row]
- uo_ware.deposit = dw_uc.Object.u_outware_deposit[uc_row]
- uo_ware.transcode = dw_uc.Object.u_outware_transcode[uc_row]
- uo_ware.carcode = dw_uc.Object.u_outware_carcode[uc_row]
- uo_ware.paytype = dw_uc.Object.u_outware_paytype[uc_row]
- uo_ware.typeid = dw_uc.Object.u_outware_typeid[uc_row]
- uo_ware.viewdate = dw_uc.Object.u_outware_viewdate[uc_row] // 预收款时间
-
- IF ll_outwareid > 0 THEN
- SELECT flag,secflag,priceflag
- INTO :li_flag,:li_secflag,:li_priceflag
- FROM u_outware
- WHERE scid = :ll_scid
- And outwareid = :ll_outwareid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误','查询销售单审核标记失败',stopsign!,OK!)
- RETURN
- END IF
- END IF
-
-
- ll_printid = 0
- dw_child.AcceptText()
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_outwaremx_mtrlwareid[i] > 0 THEN
- IF li_priceflag = 0 And li_flag = 0 THEN
- ll_printid ++
- ELSE
- ll_printid = dw_child.Object.u_outwaremx_printid[i]
- END IF
-
- s_mx.mtrlwareid = dw_child.Object.u_outwaremx_mtrlwareid[i]
- s_mx.saleqty = dw_child.Object.u_outwaremx_saleqty[i]
- s_mx.qty = dw_child.Object.u_outwaremx_uqty[i]
- s_mx.addqty = dw_child.Object.u_outwaremx_addqty[i]
- s_mx.tax = dw_child.Object.u_outwaremx_tax[i]
- s_mx.fprice = dw_child.Object.u_outwaremx_enprice[i]
- s_mx.rebate = dw_child.Object.u_outwaremx_rebate[i]
- s_mx.mxdscrp = dw_child.Object.u_outwaremx_mxdscrp[i]
- s_mx.printid = ll_printid
- s_mx.ifrel = dw_child.Object.u_outwaremx_ifrel[i]
- s_mx.relid = dw_child.Object.u_outwaremx_relid[i]
- s_mx.relprintid = dw_child.Object.u_outwaremx_relprintid[i]
- s_mx.relid2 = 0
- s_mx.olmtrlid = 0
- s_mx.packqty = dw_child.Object.u_outwaremx_packqty[i]
- s_mx.outtype = dw_child.Object.u_outwaremx_outtype[i]
- s_mx.unit = dw_child.Object.u_outwaremx_unit[i]
- s_mx.rate = dw_child.Object.u_outwaremx_rate[i]
- s_mx.mtrlcuscode = dw_child.Object.u_outwaremx_mtrlcuscode[i]
- s_mx.formula = dw_child.Object.u_outwaremx_formula[i]
- s_mx.mxdscrp2 = dw_child.Object.mxdscrp2[i]
- s_mx.net_weight = dw_child.Object.u_outwaremx_net_weight[i]
- s_mx.gross_weight = dw_child.Object.u_outwaremx_gross_weight[i]
- s_mx.cubage = dw_child.Object.u_outwaremx_cubage[i]
- s_mx.mxdscrp3 = dw_child.Object.u_outwaremx_mxdscrp3[i]
- s_mx.mxdscrp4 = dw_child.Object.u_outwaremx_mxdscrp4[i]
- s_mx.enprice_notax = dw_child.Object.enprice_notax[i] //不含税单价
- s_mx.priceformula = dw_child.Object.u_outwaremx_priceformula[i]
- s_mx.enamt_tax = dw_child.Object.u_outwaremx_enamt_tax[i]
- s_mx.status = dw_child.Object.u_outwaremx_status[i]
- s_mx.woodcode = dw_child.Object.u_outwaremx_woodcode[i]
- s_mx.pcode = dw_child.Object.u_outwaremx_pcode[i]
-
- IF uo_ware.acceptmx(s_mx, arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
-
- END IF
- NEXT
-
- IF uo_ware.createmxmx(arg_msg) <> 1 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
-
- FOR i = 1 To dw_fymx.RowCount()
- IF dw_fymx.Object.u_outware_itemmx_itemid[i] > 0 THEN
- s_item.printid = i
- s_item.itemid = dw_fymx.Object.u_outware_itemmx_itemid[i]
- s_item.amt = dw_fymx.Object.u_outware_itemmx_amt[i]
- s_item.mxdscrp = dw_fymx.Object.u_outware_itemmx_mxdscrp[i]
- s_item.saletaskid = dw_fymx.Object.u_outware_itemmx_saletaskid[i]
- s_item.saletaskprintid = dw_fymx.Object.u_outware_itemmx_saletaskprintid[i]
- s_item.itype = dw_fymx.Object.u_outware_itemmx_itype[i]
-
-
-
-
- IF uo_ware.acceptmx_item(s_item, arg_msg) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
- END IF
- NEXT
-
- IF uo_ware.Save(True,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
-
- // MessageBox(publ_operator,'保存操作成功!')
- //write ini
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]))
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()]))
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "banktypeid",String(dw_uc.Object.u_outware_relint_1[dw_uc.GetRow()]))
-
- Long ll_row
- ll_row = dw_pageretr.GetRow()
- dw_pageretr.SelectRow(0,False)
- dw_pageretr.SelectRow(ll_row,True)
- wf_refresh_curuc(ll_scid,uo_ware.outwareid) //刷新uc
- ls_taskcode = dw_uc.Object.u_outware_outwarecode[uc_row]
- IF f_billevent_trigger (104, 2, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
-
- ELSE
- IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- cur_editfocus = 1
- flag = -1
- secflag = -1
- END IF
- CALL Super::Clicked
- //read ini
- IF dw_edit_mode THEN
-
- dw_fymx.Reset()
-
- Parent.TriggerEvent("insert_childrow")
- String ls_storageid,ls_moneyid,ls_banktypeid
- IF sys_option_hide_ware = 1 THEN
- ls_storageid = '11'
- ELSE
- ls_storageid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ddlb_storageid",'0')
- IF f_find_storageid(ls_storageid) = '' THEN
- ls_storageid = '0'
- END IF
- END IF
-
- ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'0')
- ls_banktypeid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "banktypeid",'0')
- dw_uc.SetRedraw(False)
- dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] = Long(ls_storageid)
- dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] = Long(ls_moneyid)
- dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
- dw_uc.Object.u_outware_relint_1[dw_uc.GetRow()] = Long(ls_banktypeid)
- dw_uc.Object.u_outware_scid[dw_uc.GetRow()] = cur_scid
- dw_uc.Object.u_outware_viewdate[dw_uc.GetRow()] = relativedate(today(), 1 - day(today()))
-
-
- IF sys_option_hide_ware = 0 THEN
- dw_uc.SetColumn("u_outware_storageid")
- ELSE
- dw_uc.SetColumn("u_cust_cuscode")
- END IF
- dw_uc.SetRedraw(True)
- ELSE
- Parent.TriggerEvent("retrieve_childdw")
- END IF
- //
- end event
- type cb_edit from w_publ_1ton_share_detail`cb_edit within w_outware_sale
- integer taborder = 100
- end type
- event cb_edit::clicked;IF priceflag = 1 OR flag = 1 THEN
- IF NOT f_power_ind(1294) THEN
- //MessageBox('提示','你没有仓审或确认后修改权限!',information!,OK!)
- MessageBox('提示',sys_msg_pow)
- RETURN
- END IF
- ELSE
- IF Not (f_power_ind(11) OR f_power_ind(371)) THEN
- MessageBox('提示',sys_msg_pow)
- RETURN
- END IF
- END IF
- String arg_msg = ''
- Long uc_row,ll_flag
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF NOT dw_edit_mode THEN
- IF uo_ware.updatebegin(dw_pageretr.Object.u_outware_scid[uc_row],dw_pageretr.Object.u_outware_outwareid[uc_row],1,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- cur_editfocus = 2
- ELSE
- cur_editfocus = 0
- END IF
- CALL SUPER::Clicked
- THIS.TriggerEvent('refresh_interface')
- end event
- type cb_delet from w_publ_1ton_share_detail`cb_delet within w_outware_sale
- integer taborder = 110
- end type
- event cb_delet::clicked;call super::clicked;if not (f_power_ind(580) or f_power_ind(583)) then
- messagebox('提示',sys_msg_pow,information!,OK!)
- return
- end if
- string arg_msg=''
- if dw_edit_mode then return
- long uc_row
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then
- messagebox('提示','请选定当前目标单据!',information!,OK!)
- return
- end if
- if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return
- if uo_ware.del(dw_pageretr.object.u_outware_scid[uc_row],dw_pageretr.object.u_outware_outwareid[uc_row],arg_msg,true)=0 then
- messagebox('错误',arg_msg,stopsign!,OK!)
- else
- //日志
- long ls_id
- string ls_code
- ls_id=dw_pageretr.object.u_outware_outwareid[uc_row]
- ls_code=dw_pageretr.object.u_outware_outwarecode[uc_row]
- f_setsysoplog('销售发货单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
- //--
- messagebox('提示','删除单据'+string(dw_pageretr.object.u_outware_outwarecode[uc_row])+'成功!',information!,OK!)
-
- dw_pageretr.deleterow(uc_row)
- dw_pageretr.postevent(rowfocuschanged!)
- end if
- end event
- type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_outware_sale
- integer x = 1221
- end type
- event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- IF dw_edit_mode THEN
-
- menustr = menustr + "|" + "Text=导入单价~tEvent=ue_importseleprice"
- menustr = menustr + "|" + "Text=补充导入单价~tEvent=ue_importcusseleprice_buchong"
- menustr = menustr + "|" + "Text=导入客户单价~tEvent=ue_importcusseleprice"
- IF sys_option_price_if_list = 3 THEN //取设定售价, 1时只能取价格表
- menustr = menustr + "|" + "Text=导入设定售价~tEvent=ue_importlmsaleprice"
- END IF
- IF sys_option_price_if_list = 0 THEN //取销售历史, 1时只能取价格表
- menustr = menustr + "|" + "Text=导入客户历史售价~tEvent=ue_importcusseleprice_his"
- END IF
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=辅助计算辅数~tEvent=ue_cmpl_addqty"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
-
- ELSE
- menustr = "Text=增加备注~tEvent=ue_addzy"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=确认~tEvent=ue_priceaudit"
- menustr = menustr + "|" + "Text=反确认~tEvent=ue_cpriceaudit"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=回单~tEvent=ue_secpriceaudit"
- menustr = menustr + "|" + "Text=反回单~tEvent=ue_csecpriceaudit"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=计算(所属仓库)可装数~tEvent=ue_cmpdi"
- menustr = menustr + "|" + "Text=计算(全部仓库)可装数~tEvent=ue_cmpdi_all"
- menustr = menustr + "|" + "Text=辅助建立拆装单~tEvent=ue_di"
- menustr = menustr + "|" + "Text=自动组装~tEvent=ue_di_auto"
- menustr = menustr + "|" + "Text=删除自动组装~tEvent=ue_di_auto_del"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
- menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
- menustr = menustr + "|" + "Text=刷新列表附件数~tEvent=retrieve_fjnum"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=全选~tEvent=ue_all_choice"
- menustr = menustr + "|" + "Text=全不选~tEvent=ue_allnot_choice"
- menustr = menustr + "|" + "Text=批仓审核(选中的)~tEvent=ue_all_audit"
- menustr = menustr + "|" + "Text=批仓撤审(选中的)~tEvent=ue_allnot_audit"
- menustr = menustr + "|" + "Text=批删除(选中的)~tEvent=ue_all_delete"
- menustr = menustr + "|" + "Text=批财撤(选中的)~tEvent=ue_all_c_secaudit"
- menustr = menustr + "|" + "Text=批修改销售时间(选中的)~tEvent=ue_mod_outdate"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=辅助建立客户收款结算单~tEvent=ue_create_bmstamt"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=仓审后修改结算方式~tEvent=ue_bill_mod"
- menustr = menustr + "|" + "Text=按物料批修改单价~tEvent=ue_price_mod"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=界面属性选项设置方案~tEvent=ue_outware_choose"
- END IF
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- END IF
- end event
- type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_outware_sale
- integer taborder = 120
- string text = "仓审&F"
- end type
- event cb_auditing::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
- String ls_taskcode,ls_outwarecode
- String ls_msg = ''
- Long rslt = 1
- Int li_priceflag, li_flag, li_secflag
- Long ll_i,ll_billid, ll_scid,ll_peg
- IF Not KeyDown(KeyControl!) THEN
- String arg_msg = '',ls_code
- Long pagerert_row,ls_id
-
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_outware_scid[pagerert_row]
- ll_billid = dw_pageretr.Object.u_outware_outwareid[pagerert_row]
- li_priceflag = dw_pageretr.Object.u_outware_priceflag[pagerert_row]
- li_flag = dw_pageretr.Object.flag[pagerert_row]
- li_secflag = dw_pageretr.Object.secflag[pagerert_row]
- ls_outwarecode = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
-
- ls_msg = '审核'
- IF sys_option_confirmaudit_sale = 1 And li_priceflag = 0 THEN ls_msg = '确认'
-
- IF MessageBox ("询问","是否确定要"+This.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
-
-
- IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF sys_option_confirmaudit_sale = 1 And li_priceflag = 0 THEN
- IF Not f_power_ind(491) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- IF uo_ware.priceaudit(ll_scid,ll_billid,True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
- IF f_billevent_trigger (104, 4, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- ELSE
- IF sys_option_hide_ware = 0 THEN
- IF li_flag = 0 THEN
- IF Not (f_power_ind(65) Or f_power_ind(369)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
-
- //系统选项267销售发货单,销售退货单 扫描数不等于出仓数不能仓审
- IF sys_option_check_scanqty = 1 THEN
- ls_msg = wf_check_sys_option_check_scanqty()
- IF ls_msg <> '' THEN
- MessageBox('NO',ls_msg)
- RETURN
- END IF
- END IF
-
-
-
- //检查淘宝发货标记yyx20151118
- IF wf_ck_taobao(ls_outwarecode) = 0 THEN
- RETURN
- END IF
- //检查淘宝发货标记yyx20151118_end
-
- ls_msg = '仓库审核'
- IF uo_ware.auditing(True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- ELSE
- ll_peg = 1
- END IF
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
- IF f_billevent_trigger (104, 3, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
-
-
-
- ELSEIF li_flag = 1 And li_secflag = 0 THEN
- IF Not (f_power_ind(137) Or f_power_ind(370)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ls_msg = '财务审核'
- IF uo_ware.secauditing(True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
- IF f_billevent_trigger (104, 5, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
-
-
- END IF
- ELSE
- IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
- IF Not (f_power_ind(137) Or f_power_ind(370)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
-
- //检查淘宝发货标记yyx20151118
- IF wf_ck_taobao(ls_outwarecode) = 0 THEN
- RETURN
- END IF
- //检查淘宝发货标记yyx20151118_end
-
- IF uo_ware.auditing(False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF uo_ware.secauditing(True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示',ls_msg+'成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row])
-
- IF ll_peg = 1 THEN
- wf_check_ware(ll_scid,ll_billid)
- END IF
- END IF
-
- ELSE
-
- Int li_type
- Long ll_suc,ll_fail
- dw_pageretr.AcceptText()
-
- li_flag = dw_pageretr.Object.flag[dw_pageretr.GetRow()]
- li_secflag = dw_pageretr.Object.secflag[dw_pageretr.GetRow()]
-
- IF li_flag = 0 And li_secflag = 0 THEN
- li_type = 0
- ls_msg = '审核'
- IF Not (f_power_ind(65) Or f_power_ind(369)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
-
- ELSEIF li_flag = 1 And li_secflag = 0 THEN
- li_type = 1
- ls_msg = '财审'
- IF Not (f_power_ind(137) Or f_power_ind(370)) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ELSE
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要批"+ls_msg+"列表中未"+ls_msg+"的单据?",Question!,YesNo! ) = 2 THEN RETURN
-
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
-
-
-
- FOR ll_i = 1 To dw_pageretr.RowCount()
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[ll_i] + " 正在审核..." //进度信息
-
- ll_billid = dw_pageretr.Object.u_outware_outwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_outware_scid[ll_i]
- ls_taskcode = dw_pageretr.Object.u_outware_outwarecode[ll_i]
-
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.secflag[ll_i]
- IF li_type = 0 THEN //仓审
- IF li_flag = 1 THEN CONTINUE
-
- IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
- ll_fail++
- CONTINUE
- END IF
- IF uo_ware.auditing(True,arg_msg) = 0 THEN
- ll_fail++
- CONTINUE
- END IF
- ll_suc++
- IF f_billevent_trigger (104, 3, ls_taskcode, arg_msg) = 0 THEN
- ls_msg = ls_msg + arg_msg + '~r~n'
- END IF
- ELSEIF li_type = 1 THEN //财审
- IF li_flag = 0 Or li_secflag = 1 THEN CONTINUE
-
- IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
- ll_fail++
- CONTINUE
- END IF
- IF uo_ware.secauditing(True,arg_msg) = 0 THEN
- ll_fail++
- CONTINUE
- END IF
- ll_suc++
- IF f_billevent_trigger (104, 5, ls_taskcode, arg_msg) = 0 THEN
- ls_msg = ls_msg + arg_msg + '~r~n'
- END IF
-
- END IF
- w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- Close(w_sys_wait_jdt)
- MessageBox('提示','批'+ls_msg+'审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail) + ls_msg,information!,OK!)
- Parent.TriggerEvent('retrieve_pageretr')
- END IF
- end event
- type cb_xm from w_publ_1ton_share_detail`cb_xm within w_outware_sale
- integer x = 1472
- integer taborder = 140
- end type
- event cb_xm::clicked;//
- is_mx_menustr = ''
- Long ll_storageid,uc_row
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
-
- RETURN
- END IF
- ll_storageid = dw_pageretr.Object.u_outware_storageid[uc_row]
- Long li_if_fifo = 0
- SELECT if_fifo
- INTO :li_if_fifo
- FROM u_storage
- Where storageid = :ll_storageid Using sqlca;
-
- IF dw_edit_mode THEN
- is_mx_menustr += "|" + "Text=批设定折扣~tEvent=ue_p_rebate"
- is_mx_menustr += "|" + "Text=批设定公式~tEvent=ue_p_formula_set"
- is_mx_menustr += "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty"
- is_mx_menustr += "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
- is_mx_menustr += "|" + "Text=批设数量为0~tEvent=ue_cmpl_set0"
- is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax"
- is_mx_menustr += "|" + "Text=按第一行批设税率~tEvent=ue_set_tax"
- ELSE
- IF li_if_fifo = 1 THEN
- is_mx_menustr += "|" + "Text=查看成本组成明细~tEvent=ue_show_fifo_cbmx"
- is_mx_menustr += "|" + "Text=查看销售历史价格~tEvent=ue_show_his_pricemx"
- END IF
- is_mx_menustr += "|" + "Text=计算明细库存数量和不足数量~tEvent=ue_mx_cmplnoallocqty"
- END IF
- CALL Super::Clicked
- end event
- type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_outware_sale
- integer taborder = 50
- end type
- type cb_xls from w_publ_1ton_share_detail`cb_xls within w_outware_sale
- integer x = 2107
- end type
- type cb_help from w_publ_1ton_share_detail`cb_help within w_outware_sale
- integer x = 2409
- integer taborder = 160
- end type
- type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_outware_sale
- integer width = 192
- end type
- event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
- String arg_msg = '',ls_code,ls_opemp,ls_outpart
- Long pagerert_row,ls_id
- Long rslt = 1
- String ls_msg
- Int li_priceflag, li_flag, li_secflag
- Long ll_i,ll_billid, ll_scid
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.Object.u_outware_scid[pagerert_row]
- ll_billid = dw_pageretr.Object.u_outware_outwareid[pagerert_row]
- li_priceflag = dw_pageretr.Object.u_outware_priceflag[pagerert_row]
- li_flag = dw_pageretr.Object.flag[pagerert_row]
- li_secflag = dw_pageretr.Object.secflag[pagerert_row]
- ls_msg = "撤审"
- IF sys_option_confirmaudit_sale = 1 And li_priceflag = 1 And li_flag = 0 THEN ls_msg = '反确认'
- IF MessageBox ("询问","是否确定要"+This.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF sys_option_hide_ware = 0 THEN
- //两级审
- IF li_secflag = 1 THEN
- IF Not f_power_ind(870) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ls_msg = '财务撤审'
-
- IF uo_ware.c_secauditing(True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
-
-
- ELSEIF li_flag = 1 And li_secflag = 0 THEN
- IF Not (f_power_ind(869) Or f_power_ind(868) ) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ls_msg = '仓库撤审'
- IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ELSEIF li_priceflag = 1 And li_flag = 0 THEN
- IF sys_option_confirmaudit_sale = 1 THEN
- IF Not f_power_ind(1779) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ls_msg = '反确认'
-
- IF uo_ware.c_priceaudit(ll_scid,ll_billid,True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- END IF
-
- ELSE
- IF li_secflag = 1 THEN
- IF Not f_power_ind(870) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- IF uo_ware.c_secauditing(False,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ELSEIF li_priceflag = 1 And li_flag = 0 THEN
- IF sys_option_confirmaudit_sale = 1 THEN
- IF Not f_power_ind(491) THEN
- MessageBox('提示',sys_msg_pow,information!,OK!)
- RETURN
- END IF
- ls_msg = '反确认'
-
- IF uo_ware.c_priceaudit(ll_scid,ll_billid,True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示',ls_msg+'成功!',information!,OK!)
-
- //日志
- ls_code = dw_pageretr.Object.u_outware_outwarecode[pagerert_row]
- ls_opemp = dw_pageretr.Object.u_outware_opemp[pagerert_row]
- ls_outpart = dw_pageretr.Object.u_outware_part[pagerert_row]
- f_setsysoplog('销售发货单',ls_msg+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
- //--
- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row])
- END IF
- end event
- type p_msg from w_publ_1ton_share_detail`p_msg within w_outware_sale
- integer x = 4174
- end type
- type p_help from w_publ_1ton_share_detail`p_help within w_outware_sale
- integer x = 4361
- end type
- type p_encl from w_publ_1ton_share_detail`p_encl within w_outware_sale
- integer x = 4265
- end type
- event p_encl::clicked;call super::clicked;//m_Dfc_Control_PopupMenu dmPopupMenu
- //String menustr
- //
- //
- //menustr = "Text=添加附件~tEvent=ue_fj_edit"
- //menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
- //menustr = menustr + "|" + "Text=-"
- //menustr = menustr + "|" + "Text=添加明细附件~tEvent=ue_fj_edit_mx"
- //menustr = menustr + "|" + "Text=查看明细附件~tEvent=ue_fj_view_mx"
- ////menustr = menustr + "|" + "Text=产品附件另存为明细附件~tEvent=ue_fj_mx_add_p"
- //menustr = menustr + "|" + "Text=-"
- //menustr = menustr + "|" + "Text=打开副本~tEvent=ue_copyself"
- //
- //
- //
- //IF Len(Trim(menustr)) <> 0 THEN
- // dmPopupMenu = Create m_Dfc_Control_PopupMenu
- // dmPopupMenu.mf_BuildMenu(This, menustr)
- // dmPopupMenu.mf_PopMenu()
- // Destroy dmPopupMenu
- //END IF
- //
- end event
- type p_other from w_publ_1ton_share_detail`p_other within w_outware_sale
- integer x = 4457
- end type
- type gb_3 from w_publ_1ton_share_detail`gb_3 within w_outware_sale
- end type
- type ln_bar from w_publ_1ton_share_detail`ln_bar within w_outware_sale
- end type
- type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_outware_sale
- end type
- type r_bar from w_publ_1ton_share_detail`r_bar within w_outware_sale
- end type
- type ln_1 from w_publ_1ton_share_detail`ln_1 within w_outware_sale
- end type
- type ln_2 from w_publ_1ton_share_detail`ln_2 within w_outware_sale
- end type
- type ddlb_scid from uo_ddlb_scid within w_outware_sale
- integer x = 827
- integer y = 188
- integer width = 489
- integer height = 468
- integer taborder = 20
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_scid = THIS.uo_scid
- cur_scid_arr = THIS.uo_scid_arr
- end event
- event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
- cur_scid_arr = THIS.uo_scid_arr
- parent.triggerevent("retrieve_pageretr")
- end event
- type st_3 from statictext within w_outware_sale
- integer x = 1330
- integer y = 204
- integer width = 137
- integer height = 48
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "状态"
- boolean focusrectangle = false
- end type
- type st_2 from statictext within w_outware_sale
- integer x = 704
- integer y = 204
- integer width = 123
- integer height = 48
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "分部"
- boolean focusrectangle = false
- end type
- type st_msg from statictext within w_outware_sale
- integer x = 2377
- integer y = 432
- integer width = 1170
- integer height = 892
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long backcolor = 15793151
- boolean border = true
- borderstyle borderstyle = styleraised!
- boolean focusrectangle = false
- end type
- type cbx_ifmtrlware from checkbox within w_outware_sale
- boolean visible = false
- integer x = 3168
- integer width = 795
- integer height = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "引入订单时优先考虑订单库存"
- end type
- event clicked;if this.checked then
- ifmtrlware = 1
- else
- ifmtrlware = 0
- end if
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ifmtrlware",String(ifmtrlware))
-
- end event
- event constructor;this.backcolor = 14215660
- ifmtrlware = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "ifmtrlware",'0'))
- IF ifmtrlware = 1 THEN
- THIS.Checked = TRUE
- ELSE
- THIS.Checked = FALSE
- END IF
- end event
- type cbx_enamt_edit from checkbox within w_outware_sale
- boolean visible = false
- integer x = 3214
- integer y = 44
- integer width = 617
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "录入金额计算单价"
- end type
- event clicked;IF THIS.Checked THEN
- ii_enamt_edit = 1
- this.weight = 700
- this.textcolor = 255
- ELSE
- ii_enamt_edit = 0
- // cbx_enamt_notax_edit.checked = false
- this.weight = 400
- this.textcolor = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit))
- wf_enamt_facechg()
- //IF ii_enamt_edit = 0 THEN
- // dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- // dw_child.Modify('enamt_t.Color = 0')
- //ELSE
- // dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- // dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- //END IF
- end event
- event constructor;this.backcolor = 14215660
- ii_enamt_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",'0'))
- IF ii_enamt_edit = 1 THEN
- THIS.Checked = TRUE
- this.weight = 700
- this.textcolor = 255
- cbx_zk.Checked = FALSE
- ELSE
- THIS.Checked = FALSE
- // cbx_enamt_notax_edit.enabled = FALSE
- this.weight = 400
- this.textcolor = 0
- END IF
- wf_enamt_facechg()
- end event
- type ddlb_status from uo_ddlb_status within w_outware_sale
- integer x = 1458
- integer y = 188
- integer width = 370
- integer height = 812
- integer taborder = 30
- boolean bringtotop = true
- string item[] = {"[全部]","待确认","待仓审","待财审","已审核"}
- end type
- event selectionchanged;call super::selectionchanged;PARENT.TriggerEvent('retrieve_pageretr')
- end event
- event uof_getvalue;IF this.text = "[全部]" THEN
- cur_flag = -1
- cur_secflag = -1
- cur_priceflag = -1
- ELSEIF this.text = "待确认" THEN
- cur_flag = -1
- cur_secflag = -1
- cur_priceflag = 0
- ELSEIF this.text = "待仓审" THEN
- cur_flag = 0
- cur_secflag = -1
- cur_priceflag = -1
- ELSEIF this.text = "待财审" THEN
- cur_flag = 1
- cur_secflag = 0
- cur_priceflag = -1
- ELSEIF this.text = "已审核" THEN
- cur_flag = 1
- cur_secflag = 1
- cur_priceflag = -1
- END IF
- end event
- type cb_fhmx from commandbutton within w_outware_sale
- integer x = 37
- integer y = 1840
- integer width = 315
- integer height = 84
- integer taborder = 100
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "发货明细"
- end type
- event clicked;cb_fhmx.Underline = True
- cb_fymx.Underline = False
- cb_bjmx.Underline = False
- cb_fhmx.weight = 700
- cb_fymx.weight = 400
- cb_bjmx.weight = 400
- dw_child.BringToTop = True
- ins_dw_select = 0
- end event
- type cb_fymx from commandbutton within w_outware_sale
- integer x = 357
- integer y = 1840
- integer width = 315
- integer height = 84
- integer taborder = 110
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "费用明细"
- end type
- event clicked;cb_fhmx.Underline = False
- cb_fymx.Underline = True
- cb_bjmx.Underline = False
- cb_fhmx.weight = 400
- cb_fymx.weight = 700
- cb_bjmx.weight = 400
- dw_fymx.BringToTop = True
- ins_dw_select = 1
- end event
- type cb_bjmx from commandbutton within w_outware_sale
- integer x = 677
- integer y = 1840
- integer width = 315
- integer height = 84
- integer taborder = 120
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "包件明细"
- end type
- event clicked;cb_fhmx.Underline = False
- cb_fymx.Underline = False
- cb_bjmx.Underline = True
- cb_fhmx.weight = 400
- cb_fymx.weight = 400
- cb_bjmx.weight = 700
- dw_bjmx.BringToTop = True
- end event
- type dw_bjmx from u_dw_rbtnfilter within w_outware_sale
- integer x = 2565
- integer y = 1856
- integer taborder = 30
- boolean titlebar = true
- string title = "包件明细"
- string dataobject = "dw_outwaremx_mx_edit"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- string old_dwobject = "0"
- string curdw_colfilter = "0"
- end type
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
- IF currentrow <= 0 THEN RETURN
- This.SelectRow(currentrow,True)
- end event
- type dw_fymx from u_dw_rbtnfilter within w_outware_sale
- integer x = 1929
- integer y = 1852
- integer taborder = 20
- boolean titlebar = true
- string title = "费用明细"
- string dataobject = "dw_outware_itemmx_edit"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- boolean rbutton_setposition_use = true
- string old_dwobject = "0"
- string curdw_colfilter = "0"
- end type
- event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0,False)
- IF currentrow <= 0 THEN RETURN
- This.SelectRow(currentrow,True)
- end event
- event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
-
- Parent.TriggerEvent('ue_add_fymx')
-
- END IF
- end event
- event dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key')
- String ls_itemcode,ls_itemname,ls_itemtype
- Long ll_itemid
- Long child_row
- IF dw_edit_mode THEN
-
- IF KeyDown(keydownarrow!) THEN
- Long li_row
- IF dw_fymx.GetRow() = dw_fymx.RowCount() THEN
- Parent.TriggerEvent("insert_childrow_fymx")
- END IF
- ELSE
- IF KeyDown(keyenter!) And Not KeyDown(keycontrol!) And Not KeyDown(keyshift!) THEN
- IF dw_fymx.GetColumnName() = 'u_itemdef_itemcode' THEN
- dw_fymx.AcceptText()
- child_row = dw_fymx.GetRow()
-
- ls_itemcode = dw_fymx.Object.u_itemdef_itemcode[child_row]
-
- SELECT itemid,
- itemname,
- itemtype
- INTO :ll_itemid,
- :ls_itemname,
- :ls_itemtype
- FROM u_itemdef
- Where itemcode = :ls_itemcode;
- IF sqlca.SQLCode <> 0 THEN
- Parent.TriggerEvent('ue_f11')
- RETURN
- END IF
-
- dw_fymx.Object.u_itemdef_itemname[child_row] = ls_itemname
- dw_fymx.Object.u_itemdef_itemtype[child_row] = ls_itemtype
- dw_fymx.Object.u_outware_itemmx_itemid[child_row] = ll_itemid
-
- dw_fymx.accepttext()
-
- IF Key = keyenter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- ELSEIF dw_fymx.GetColumnName( ) = 'u_outware_itemmx_mxdscrp' And dw_fymx.GetRow() = dw_fymx.RowCount() THEN
- Parent.TriggerEvent("insert_childrow_fymx")
- RETURN 1
- ELSE
- IF Key = keyenter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- END IF
- END IF
- END IF
- END IF
- end event
- type cbx_packqty_cmpl from checkbox within w_outware_sale
- boolean visible = false
- integer x = 3950
- integer y = 28
- integer width = 690
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "录入包装数计算数量"
- end type
- event clicked;IF THIS.Checked THEN
- ii_packqty_cmpl = 1
- this.textcolor = 255
- this.weight = 700
- ELSE
- ii_packqty_cmpl = 0
- this.textcolor = 0
- this.weight = 400
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",String(ii_packqty_cmpl))
- end event
- event constructor;this.backcolor = 14215660
- ii_packqty_cmpl = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",'0'))
- IF ii_packqty_cmpl = 1 THEN
- THIS.Checked = TRUE
- this.weight = 700
- this.textcolor = 255
- ELSE
- THIS.Checked = FALSE
- this.weight = 400
- this.textcolor = 0
- END IF
- this.y = cbx_enamt_edit.y
- this.x = cbx_zk.x + cbx_zk.width + cbx_enamt_notax_edit.width
-
- end event
- type cbx_enamt_notax_edit from checkbox within w_outware_sale
- boolean visible = false
- integer x = 3214
- integer y = 100
- integer width = 539
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "录入不含税单价"
- end type
- event clicked;IF THIS.Checked THEN
- ii_enamt_notax_edit = 1
- this.weight = 700
- this.textcolor = 255
- ELSE
- ii_enamt_notax_edit = 0
- this.weight = 400
- this.textcolor = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit))
- wf_enamt_facechg()
- //IF ii_enamt_notax_edit = 0 THEN
- // dw_child.Modify('enamt.protect = 1~t enamt.Color = 0')
- // dw_child.Modify('enamt_t.Color = 0')
- //ELSE
- // dw_child.Modify('enamt.protect = 0~t enamt.Color = "0~trgb(0,0,255)"')
- // dw_child.Modify('enamt_t.Color = "0~trgb(0,0,255)"')
- //END IF
- end event
- event constructor;this.backcolor = 14215660
- ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0'))
- IF ii_enamt_notax_edit = 1 THEN
- THIS.Checked = TRUE
- this.weight = 700
- this.textcolor = 255
- ELSE
- THIS.Checked = FALSE
- this.weight = 400
- this.textcolor = 0
- END IF
- //wf_enamt_facechg()
- //
- this.y = cbx_enamt_edit.y
- this.x = cbx_enamt_edit.x + cbx_enamt_edit.width + 10
- end event
- type cb_scanbill from commandbutton within w_outware_sale
- integer x = 997
- integer y = 1840
- integer width = 384
- integer height = 84
- integer taborder = 40
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "条码扫描检测"
- end type
- event clicked;String em,ls_str
- Long this_parrow
- Long i,ll_row,ll_ucrow
- long ll_scid,ll_outwareid
- this_parrow = dw_pageretr.GetRow()
- IF dw_edit_mode THEN
- MessageBox('NO','请在非编辑状态操作!')
- return
- end if
- IF this_parrow <= 0 THEN
- MessageBox('NO','请选择单据!')
- RETURN
- END IF
- ll_scid=dw_pageretr.object.u_outware_scid[this_parrow]
- ll_outwareid=dw_pageretr.object.u_outware_outwareid[this_parrow]
- s_edit_index_tran s_tran_mod
- s_tran_mod.b_long = ll_scid
- s_tran_mod.c_long = ll_outwareid
- s_tran_mod.d_long = 0
- s_tran_mod.c_string = ''
- OpenWithParm(w_outwaremx_p_scanqty,s_tran_mod)
- parent.TriggerEvent('retrieve_childdw')
- //String em,ls_str
- //Long this_parrow
- //Long i,ll_row,ll_ucrow
- //this_parrow = dw_pageretr.GetRow()
- //IF this_parrow <= 0 THEN
- // MessageBox('NO','请选择单据!')
- // RETURN
- //END IF
- //
- //TRY
- // s_edit_index_tran s_ch_tran //传递参数使用
- //
- // OpenWithParm(w_scanbill,s_ch_tran )
- //
- //
- // w_scanbill.cb_add.TriggerEvent('clicked')
- // w_scanbill.cur_thflag = 0
- // ll_ucrow = w_scanbill.dw_uc.GetRow()
- // IF ll_ucrow <= 0 THEN RETURN
- // w_scanbill.dw_uc.object.billtype[ll_ucrow]=0 //0 表示发货退货 1 表示盘点单
- // w_scanbill.dw_uc.object.scid[ll_ucrow]=dw_pageretr.object.u_outware_scid[this_parrow]
- // w_scanbill.dw_uc.object.outwareid[ll_ucrow]=dw_pageretr.object.u_outware_outwareid[this_parrow]
- // w_scanbill.dw_uc.object.outwarecode[ll_ucrow]=dw_pageretr.object.u_outware_outwarecode[this_parrow]
- //
- // FOR i = 1 To dw_child.RowCount()
- // w_scanbill.dw_child.Reset()
- // ll_row = w_scanbill.dw_child.InsertRow(0)
- // w_scanbill.dw_child.Object.u_outwaremx_mtrlid[ll_row] = dw_child.Object.u_outwaremx_mtrlid[i]
- // w_scanbill.dw_child.Object.u_mtrldef_mtrlcode[ll_row] = dw_child.Object.u_mtrldef_mtrlcode[i]
- // w_scanbill.dw_child.Object.u_mtrldef_mtrlname[ll_row] = dw_child.Object.u_mtrldef_mtrlname[i]
- // w_scanbill.dw_child.Object.u_mtrldef_mtrlmode[ll_row] = dw_child.Object.u_mtrldef_mtrlmode[i]
- // w_scanbill.dw_child.Object.u_mtrldef_unit[ll_row] = dw_child.Object.u_outwaremx_unit[i]
- // w_scanbill.dw_child.Object.u_outwaremx_uqty[ll_row] = dw_child.Object.u_outwaremx_uqty[i]
- // w_scanbill.dw_child.Object.u_scanbillmx_scanqty[ll_row] = 0
- //
- //
- // NEXT
- //
- //
- //
- //
- //
- //Catch (RuntimeError rrrr)
- // RETURN
- //END TRY
- //
- //
- //
- end event
- event constructor;//系统选项267销售发货单,销售退货单 扫描数不等于出仓数不能仓审
- IF sys_option_check_scanqty = 1 THEN
- This.Visible = True
- ELSE
- This.Visible = False
- END IF
- end event
- type cbx_zk from checkbox within w_outware_sale
- boolean visible = false
- integer x = 3922
- integer y = 108
- integer width = 645
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "录入金额计算折扣"
- end type
- event clicked;IF THIS.Checked THEN
- ii_enamt_edit_1 = 1
- this.weight = 700
- this.textcolor = 255
- ELSE
- ii_enamt_edit_1 = 0
- this.weight = 400
- this.textcolor = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit_1",String(ii_enamt_edit_1))
- wf_enamt_facechg()
- //IF THIS.Checked THEN
- // ii_enamt_edit = 1
- //
- //ELSE
- // ii_enamt_edit = 0
- //// cbx_enamt_notax_edit.checked = false
- //
- //END IF
- //
- //f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit))
- //
- //wf_enamt_facechg()
- end event
- event constructor;This.BackColor = 14215660
- Long li_cbx_zk
- ii_enamt_edit_1 = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit_1",'0'))
- IF ii_enamt_edit_1 = 1 THEN
- This.Checked = True
- this.weight = 700
- this.textcolor = 255
-
- ELSE
- This.Checked = False
- this.weight =400
- this.textcolor = 0
- END IF
- wf_enamt_facechg()
- this.y = cbx_enamt_edit.y
- this.x = cbx_enamt_notax_edit.x + cbx_enamt_notax_edit.width + 10
-
- end event
- type cb_new_scanbill from commandbutton within w_outware_sale
- integer x = 1385
- integer y = 1840
- integer width = 384
- integer height = 84
- integer taborder = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- boolean underline = true
- string text = "条码扫描开单"
- end type
- event clicked;String em,ls_str
- Long this_parrow
- Long i,ll_row,ll_ucrow
- Long ll_scid,ll_outwareid
- IF Not dw_edit_mode THEN
- MessageBox('NO','请在编辑状态操作!')
- RETURN
- END IF
- this_parrow = dw_pageretr.GetRow()
- IF this_parrow <= 0 THEN
- MessageBox('NO','请选择单据!')
- RETURN
- END IF
- dw_uc.AcceptText()
-
- //ll_scid=dw_pageretr.object.u_outware_scid[this_parrow]
- //ll_outwareid=dw_pageretr.object.u_outware_outwareid[this_parrow]
- s_edit_index_tran s_tran_mod
- //s_tran_mod.b_long = ll_scid
- s_tran_mod.c_long = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()]
- //s_tran_mod.d_long = 0
- //s_tran_mod.c_string = ''
- OpenWithParm(w_outwaremx_p_new_scanqty,s_tran_mod)
-
-
- dw_child.AcceptText()
- FOR i = 1 To dw_child.RowCount()
- wf_get_price(i)
- NEXT
- wf_set_barcode()
-
-
-
-
-
-
-
-
-
- end event
- event constructor;//系统选项267销售发货单,销售退货单 扫描数不等于出仓数不能仓审
- IF sys_option_check_scanqty = 1 THEN
- This.Visible = True
- ELSE
- This.Visible = False
- END IF
- end event
- type st_cusbalc from statictext within w_outware_sale
- integer x = 2112
- integer y = 188
- integer width = 1851
- integer height = 92
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "客户信用额信息"
- boolean focusrectangle = false
- end type
- type st_cusbalc_sign from statictext within w_outware_sale
- boolean visible = false
- integer x = 1847
- integer y = 188
- integer width = 261
- integer height = 76
- boolean bringtotop = true
- integer textsize = -11
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 255
- long backcolor = 134217739
- string text = "超信用!"
- boolean focusrectangle = false
- end type
- type cbx_all from checkbox within w_outware_sale
- integer x = 3968
- integer y = 196
- integer width = 197
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "全选"
- end type
- event clicked;Int i
- If This.Checked = True Then
- For i = 1 To dw_pageretr.RowCount()
- dw_pageretr.Object.if_ch[i] = 1
- Next
- Else
- For i = 1 To dw_pageretr.RowCount()
- dw_pageretr.Object.if_ch[i] = 0
- Next
- End If
- end event
- event constructor;
- this.y = p_msg.y
- this.x = st_cusbalc.x + st_cusbalc.width +5
- end event
|