1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127 |
- $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
- ,sum(otherprice) AS otherprice
- 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,
- u_saletaskmx.otherprice
- 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],
- :arg_s_rqmtrl.otherprice[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],
- :arg_s_rqmtrl.otherprice[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,
- u_saletaskmx.otherprice
- 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],
- :arg_s_rqmtrl.otherprice[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_child.Object.u_outwaremx_otherprice[child_row] = arg_mx.otherprice[i]
-
-
- //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
- dw_child.Object.u_outwaremx_otherprice[child_row] = arg_mx.otherprice[i]
-
- //计算单价
- 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]
- s_mx.otherprice = dw_child.Object.u_outwaremx_otherprice[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
|