1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577 |
- $PBExportHeader$w_inware_buy.srw
- forward
- global type w_inware_buy from w_publ_1ton_share_detail
- end type
- type ddlb_scid from uo_ddlb_scid within w_inware_buy
- end type
- type st_3 from statictext within w_inware_buy
- end type
- type st_2 from statictext within w_inware_buy
- end type
- type cbx_enamt_edit from checkbox within w_inware_buy
- end type
- type ddlb_status from uo_ddlb_status within w_inware_buy
- end type
- type cbx_packqty_cmpl from checkbox within w_inware_buy
- end type
- type cbx_enamt_notax_edit from checkbox within w_inware_buy
- end type
- type cbx_all from checkbox within w_inware_buy
- end type
- end forward
- global type w_inware_buy from w_publ_1ton_share_detail
- integer width = 4183
- string title = "采购收货单"
- boolean maxbox = true
- windowstate windowstate = maximized!
- boolean if_chkmtrlinfo = true
- event insert_childrow ( )
- event ue_secauditing ( )
- event ue_csecauditing ( )
- event ue_fj_edit ( )
- event ue_fj_view ( )
- event ue_cpml_qty ( )
- event ue_cmpl_addqty ( )
- event ue_mod_banktype ( )
- event ue_mod_price ( )
- event ue_cmpl_status_qty ( )
- event ue_cmpl_qty ( )
- event ue_p_cmpl_qty ( )
- event ue_p_formula_set ( )
- event ue_import_price ( )
- event ue_ch_banktype ( )
- event ue_ch_money ( )
- event ue_p_cus_set ( )
- event ue_add_dscrp ( )
- event ue_ch_cust ( )
- event ue_mod_buyqty ( )
- event ue_all_choice ( )
- event ue_allnot_choice ( )
- event ue_all_audit ( )
- event ue_allnot_audit ( )
- event ue_all_delete ( )
- event ue_set_dytitle ( )
- event ue_insert_execltodw ( )
- event ue_create_spt_price_change ( )
- event ue_mod_otheramt ( )
- event ue_view_status ( long arg_row, string arg_status )
- event ue_cmpl_set0 ( )
- event ue_set_tax ( )
- event ue_create_bmstamt ( )
- event retrieve_fjnum ( )
- event ue_all_c_secaudit ( )
- event ue_cmpl_tax ( )
- event ue_mod_relcode ( )
- event ue_view_mxdscrp ( )
- event ue_view_mxdscrp2 ( )
- event ue_view_mxdscrp3 ( )
- event ue_view_mxdscrp4 ( )
- event ue_editzy ( )
- event ue_get_maxprice ( )
- event ue_priceaudit ( )
- event ue_cpriceaudit ( )
- ddlb_scid ddlb_scid
- st_3 st_3
- st_2 st_2
- cbx_enamt_edit cbx_enamt_edit
- ddlb_status ddlb_status
- cbx_packqty_cmpl cbx_packqty_cmpl
- cbx_enamt_notax_edit cbx_enamt_notax_edit
- cbx_all cbx_all
- end type
- global w_inware_buy w_inware_buy
- type variables
- Long cur_scid
- long cur_scid_arr[]
- Int cur_flag = -1
- Int cur_secflag = -1
- uo_inware_buy uo_ware
- uo_spt_price uo_sptprice
- Long cur_id = 0
- Int cur_editfocus = 0
- Long aflag = 0
- String ol_cdw_str = ''
- Long flag = 0
- Long secflag = 0
- int ii_enamt_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
- int ii_packqty_cmpl = 0
- long ii_enamt_notax_edit=0 //录入不含税单价
- end variables
- forward prototypes
- public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
- public function integer wf_flagstatus_rf ()
- public function integer wf_check_print (ref string arg_msg)
- public function integer wf_check_over (ref string arg_msg)
- 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_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, string arg_msg)
- public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
- public function integer wf_check_part (long arg_scid, long arg_inwareid, string arg_part, ref string arg_msg)
- public subroutine wf_cmpl_amt (long row)
- public function integer wf_change_sptid (long arg_sptid)
- public subroutine wf_sptprice_mtrl (ref s_mtrldef_array ins_rt_stru)
- public subroutine wf_sptprice_in (s_mtrldef_array ss_inscust)
- public function integer wf_openfile (datawindow arg_dw)
- public function integer wf_check_qtyandaddqty (ref string arg_msg)
- public function integer wf_check_planprice (ref string arg_msg)
- public subroutine wf_enamt_facechg ()
- public subroutine wf_ue_f7 (s_mtrldef_buytask_array s_inscust)
- end prototypes
- event insert_childrow();long li_row
- li_row=dw_child.insertrow(0)
- dw_child.scrolltorow(li_row)
- dw_child.object.u_inwaremx_ifrel[li_row] = sys_option_autoyes
- dw_child.SetColumn ('u_mtrldef_mtrlcode')
- end event
- event ue_secauditing();//IF dw_edit_mode THEN
- // MessageBox('系统提示',"编辑状态下不可以使用!")
- // return
- //END IF
- //
- //IF NOT f_power_ind(813) THEN
- // MessageBox(publ_operator,sys_msg_pow)
- // RETURN
- //END IF
- //
- //string arg_msg=''
- //
- //if messagebox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 then return
- //long pagerert_row
- //
- //pagerert_row=dw_uc.getrow()
- //if pagerert_row<=0 then
- // messagebox('系统提示','请选定当前目标单据!')
- // return
- //end if
- //
- ////====================================================================
- //if uo_ware.getinfo(cur_scid,dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then
- // messagebox('error!',arg_msg)
- // return
- //end if
- //
- //if uo_ware.secauditing(true,arg_msg)=0 then
- // messagebox('error!',arg_msg)
- //else
- // messagebox(publ_operator,'审核成功!')
- // wf_refresh_curuc(cur_scid,dw_uc.object.inwareid[pagerert_row])
- // sle_usual_query.setfocus()
- // sle_usual_query.selecttext(1,len(sle_usual_query.text))
- //
- //end if
- end event
- event ue_csecauditing();//IF dw_edit_mode THEN
- // MessageBox('系统提示',"编辑状态下不可以使用!")
- // return
- //END IF
- //
- //IF NOT f_power_ind(814) THEN
- // MessageBox(publ_operator,sys_msg_pow)
- // RETURN
- //END IF
- //
- //string arg_msg=''
- //long pagerert_row
- //
- //pagerert_row=dw_pageretr.getrow()
- //if pagerert_row<=0 then
- // messagebox('系统提示','请选定当前目标单据!')
- // return
- //end if
- //IF MessageBox ("IF","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- //
- //if uo_ware.getinfo(cur_scid,dw_pageretr.object.inwareid [pagerert_row],arg_msg)=0 then
- // messagebox('Error!',arg_msg)
- // return
- //end if
- //
- //if dw_pageretr.object.u_inware_secflag[pagerert_row]=1 then
- // if uo_ware.c_secauditing(true,arg_msg)=0 then
- // messagebox('Error!',arg_msg)
- // else
- // //日志
- // long ls_id
- // string ls_code
- // ls_id=dw_uc.object.inwareid[pagerert_row]
- // ls_code=dw_uc.object.inwarecode[pagerert_row]
- // f_setsysoplog('采购收货单','财务撤审,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
- // //--
- // messagebox(publ_operator,'撤审成功!')
- // wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[pagerert_row])
- // end if
- //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 = 403 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_inware_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 = 403 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
- s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_view,s_pic)
- end event
- event ue_cpml_qty();//ue_cpml_qty
- string ls_rate,ls_status,ls_qty[]
- decimal ll_rate,ll_qty[],ld_qty = 1
- long i,j,k
- long ll_cmp1,ll_cmp2
- s_changerate s_rate
- dw_child.accepttext()
- if dw_edit_mode then
- open(w_changerate_ch)
- s_rate = message.powerobjectparm
- ll_rate = dec(s_rate.rate)
- ll_cmp1 = s_rate.cmp1
- ll_cmp2 = s_rate.cmp2
-
- if ll_rate <= 0 then return
- if dw_child.rowcount() <= 0 then return
-
- for i= 1 to dw_child.rowcount()
- if ll_cmp1 = 1 then
- if isnull(dw_child.object.u_inwaremx_status[i]) then
- continue
- else
- ls_status = dw_child.object.u_inwaremx_status[i]
- end if
- elseif ll_cmp1 = 2 then
- if isnull(dw_child.object.u_inwaremx_woodcode[i]) then
- continue
- else
- ls_status = dw_child.object.u_inwaremx_woodcode[i]
- end if
- else
- if isnull(dw_child.object.u_inwaremx_pcode[i]) then
- continue
- else
- ls_status = dw_child.object.u_inwaremx_pcode[i]
- end if
- end if
-
- if ll_cmp2 = 1 then
- if dw_child.object.u_inwaremx_addqty[i] = 0 then
-
- else
- ls_status = ls_status + '*' + string(dw_child.object.u_inwaremx_addqty[i])
- end if
- end if
-
-
- if isnull(ls_status) then
- continue
- else
- // ls_status = dw_child.object.u_inwaremx_status[i]
- if pos(ls_status,'*') = 0 then
- continue
- else
- j = 0
- do while pos(ls_status,'*') > 0
- j++
- ls_qty[j] = mid(ls_status,1,pos(ls_status,'*') - 1)
- ls_status = mid(ls_status,pos(ls_status,'*') + 1)
- loop
- j++
- ls_qty[j] = ls_status
- end if
-
- ld_qty = 1
- for k =1 to j
- ld_qty = ld_qty * dec(ls_qty[k])
- next
-
- dw_child.object.u_inwaremx_uqty[i] = round(ld_qty / ll_rate,10)
- dw_child.object.u_inwaremx_buyqty[i] = round(ld_qty / ll_rate,10)
- end if
- next
- end if
- 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)
- 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_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] * ll_value,ll_num)
- ELSE
- dw_child.Object.u_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] / ll_value,ll_num)
- END IF
- END IF
- NEXT
-
- END IF
- end event
- event ue_mod_banktype();//更新结算方式
- IF Not f_power_ind(974) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- IF dw_edit_mode THEN RETURN
- dw_pageretr.AcceptText()
- Long ll_row
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择单据', Information!, OK! )
- RETURN
- END IF
- IF dw_pageretr.Object.flag[ll_row] = 1 AND dw_pageretr.Object.u_inware_secflag[ll_row] = 0 THEN
- s_inware_banktype s_banktype
- s_banktype.scid = dw_pageretr.Object.u_inware_scid[ll_row]
- s_banktype.inwareid = dw_pageretr.Object.inwareid[ll_row]
- s_banktype.banktypeid = dw_pageretr.Object.u_inware_relint_1[ll_row]
- openwithparm(w_inware_buy_mod_banktype,s_banktype)
- wf_refresh_curuc(s_banktype.scid,s_banktype.inwareid) //刷新uc
- ELSE
- MessageBox('提示','此功能只能在仓审后财审前应用', Information!, OK! )
- END IF
- end event
- event ue_mod_price();IF NOT f_power_ind(979) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可使用', Information!, OK! )
- RETURN
- END IF
- Long uc_row//,child_row
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选择单据', Information!, OK! )
- RETURN
- END IF
- //child_row = dw_child.GetRow()
- //IF child_row <= 0 THEN
- // MessageBox('提示','请选择明细内容', Information!, OK! )
- // RETURN
- //END IF
- Long ll_flag ,ll_secflag,ll_balcflag
- Long ll_scid,ll_inwareid,ll_printid
- ll_flag = dw_pageretr.Object.flag[uc_row]
- ll_secflag = dw_pageretr.Object.u_inware_secflag[uc_row]
- ll_balcflag = dw_pageretr.Object.balcflag[uc_row]
- ll_scid = dw_pageretr.Object.u_inware_scid[uc_row]
- ll_inwareid = dw_pageretr.Object.inwareid[uc_row]
- //ll_printid = dw_child.Object.u_inwaremx_printid[child_row]
- IF ll_flag = 0 THEN
- MessageBox('提示','进仓单待审核状态下不能执行修改单价功能', Information!, OK! )
- RETURN
- END IF
- IF ll_secflag = 1 THEN
- MessageBox('提示','单据已财审,不能执行修改单价功能', Information!, OK! )
- RETURN
- END IF
- IF ll_balcflag = 1 THEN
- MessageBox('提示','单据已结存,不能执行修改单价功能', Information!, OK! )
- RETURN
- END IF
- s_edit_index_tran s_tran_mod
- s_tran_mod.b_long = ll_scid
- s_tran_mod.c_long = ll_inwareid
- s_tran_mod.c_string = ''
- s_tran_mod.d_long = ii_enamt_edit
- OpenWithParm(w_inwaremx_buy_mod_price_p,s_tran_mod)
- THIS.TriggerEvent('retrieve_childdw')
- 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_inwaremx_addqty[i]
-
- CHOOSE CASE ll_type
- CASE 0
- ls_status = dw_child.Object.u_inwaremx_status[i]
- CASE 1
- ls_status = dw_child.Object.u_inwaremx_woodcode[i]
- CASE 2
- ls_status = dw_child.Object.u_inwaremx_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, Information!, OK! )
- GOTO ext
- END IF
-
- IF ll_flag = 0 THEN
- dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num)
- dw_child.Object.u_inwaremx_buyqty[i] = Round(ld_qty * ll_value,ll_num)
- ELSE
- dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num)
- dw_child.Object.u_inwaremx_buyqty[i] = Round(ld_qty / ll_value,ll_num)
- END IF
- END IF
- NEXT
-
- END IF
- ext:
- dw_uc.SetRedraw(TRUE)
- end event
- event 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_inwaremx_uqty[child_row]
- s_cmpl.formula = dw_child.Object.u_inwaremx_formula[child_row]
- s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[child_row]
- s_cmpl.price = dw_child.Object.u_inwaremx_uprice[child_row]
- s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[child_row]
- s_cmpl.status = dw_child.Object.u_inwaremx_status[child_row]
- s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
- s_cmpl.pcode = dw_child.Object.u_inwaremx_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_inwaremx_packqty[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 or s_return.qty <> s_cmpl.qty THEN
- dw_child.Object.u_inwaremx_uqty[child_row] = s_return.qty
- dw_child.Object.u_inwaremx_formula[child_row] = s_return.formula
- END IF
- END IF
- end event
- event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
- Long i
- String ls_formula
- String ls_msg
- String ls_rs
- String ls_num
- Decimal ld_addqty
- Decimal ld_price
- Decimal ld_rebate
- Decimal ld_qty
- dw_child.AcceptText()
- s_cmpl_qty s_cmpl
- Open(w_cmpl_qty_ch_son)
- s_cmpl = Message.PowerObjectParm
- dw_uc.SetRedraw(FALSE)
- FOR i = 1 TO dw_child.RowCount()
- ld_qty = 0
- IF dw_child.Object.u_inwaremx_formula[i] <> '' THEN
-
- s_cmpl.formula = dw_child.Object.u_inwaremx_formula[i]
- s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[i]
- s_cmpl.price = dw_child.Object.u_inwaremx_uprice[i]
- s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[i]
- s_cmpl.status = dw_child.Object.u_inwaremx_status[i]
- s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
- s_cmpl.pcode = dw_child.Object.u_inwaremx_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_inwaremx_uqty[i] = ld_qty
- END IF
- NEXT
- ext:
- dw_child.SetColumn('u_inwaremx_uqty')
- dw_uc.SetRedraw(TRUE)
- 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_inwaremx_formula[ll_i] = dw_child.Object.u_inwaremx_formula[1]
- NEXT
- dw_child.SetRedraw(TRUE)
- end event
- event ue_import_price();//////////
- Long i,ls_sptid,ll_mtrlid
- String ls_1stunit,arg_msg
- Decimal ls_1stnewcost
- Decimal ls_1stzqrate
- Decimal ls_1strate
- String ls_status
- String ls_woodcode
- String ls_pcode
- dw_child.AcceptText()
- dw_uc.AcceptText()
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- FOR i = 1 TO dw_child.RowCount()
- ls_1stunit = ''
- ls_1stnewcost = 0
- ls_1stzqrate = 0
- ls_1strate = 0
- ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
- IF ll_mtrlid > 0 THEN
- ls_status = dw_child.Object.u_inwaremx_status[i]
- ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
- ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
- ls_1stunit = dw_child.Object.u_inwaremx_unit[i]
- IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ll_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
- Int Mtrlorigin
- Decimal lmbuyprice
- SELECT u_mtrldef.Mtrlorigin,
- u_mtrldef.lmbuyprice
- INTO :Mtrlorigin,
- :lmbuyprice
- FROM u_mtrldef
- Where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[i] = 0
- ELSE
- IF Mtrlorigin > 0 THEN
- dw_child.Object.u_inwaremx_uprice[i] = lmbuyprice
- ELSE
- dw_child.Object.u_inwaremx_uprice[i] = 0
- END IF
- END IF
-
- ELSE
- dw_child.Object.u_inwaremx_uprice[i] = ls_1stnewcost
- IF ls_1stzqrate = 0 THEN
- dw_child.Object.u_inwaremx_rebate[i] = 1
- ELSE
- dw_child.Object.u_inwaremx_rebate[i] = ls_1stzqrate
- END IF
-
- dw_child.Object.u_inwaremx_rate[i] = ls_1strate
- dw_child.Object.u_inwaremx_unit[i] = ls_1stunit
- END IF
- END IF
- NEXT
- 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 = 1
- 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_inware_relint_1[dw_uc.GetRow()] = s_ch.banktypeid
- END IF
-
- datawindowchild childdw
- dw_uc.GetChild("u_inware_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_inware_relint_3[dw_uc.GetRow()] = s_ch.moneyid
- dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = s_ch.rate
- END IF
-
- datawindowchild childdw
- dw_uc.GetChild("u_inware_relint_3",childdw)
- childdw.SetTransObject (sqlca)
- childdw.Retrieve()
- END IF
- end event
- event ue_p_cus_set();IF NOT dw_edit_mode THEN RETURN
- IF MessageBox('提示','是否要确定要批设定客户', question!, YesNo!, 2) = 2 THEN
- RETURN
- END IF
- IF dw_child.RowCount() < 2 THEN RETURN
- Long i
- dw_child.SetRedraw (FALSE)
- FOR i = 2 TO dw_child.RowCount()
- dw_child.Object.u_cust_cuscode[i] = dw_child.Object.u_cust_cuscode[1]
- dw_child.Object.u_cust_name[i] = dw_child.Object.u_cust_name[1]
- dw_child.Object.u_inwaremx_if_mtrlware[i] = dw_child.Object.u_inwaremx_if_mtrlware[1]
- dw_child.Object.u_inwaremx_sptid_cusid[i] = dw_child.Object.u_inwaremx_sptid_cusid[1]
- NEXT
- dw_child.SetRedraw (TRUE)
- end event
- event ue_add_dscrp();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_uc.AcceptText()
- ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
- s_view.Title = '采购收货单备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_ch_cust();IF Not dw_edit_mode THEN RETURN
- long uc_row
- Long child_row
- uc_row = dw_uc.getrow()
- IF uc_row = 0 THEN
- MessageBox('提示','请选定单据!',information!,OK!)
- RETURN
- END IF
- long ll_storageid
- ll_storageid = dw_uc.object.storageid[uc_row]
- Int li_if_cus_mtrlware, li_if_plancode, li_inwaretype
- SELECT balctype
- INTO :li_if_cus_mtrlware
- FROM u_storage
- Where storageid = :ll_storageid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('提示','查询仓库是否使用客户库存失败!',information!,OK!)
- RETURN
- END IF
- IF li_if_cus_mtrlware = 0 THEN
- MessageBox('提示','当前进仓仓库不使用客户库存,不能保存所属客户!',information!,OK!)
- RETURN
- end if
- child_row = dw_child.GetRow()
- IF child_row = 0 THEN
- MessageBox('提示','请选定明细!',information!,OK!)
- RETURN
- END IF
- 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_child.AcceptText()
- s_ch_tran.arg_string_code = Trim(dw_child.Object.u_cust_cuscode[child_row])
-
- OpenWithParm(W_cust_edit,s_ch_tran) //调用
-
- s_custom S_INSCUST
- S_INSCUST = Message.PowerObjectParm //接受返回结构
- IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
- dw_child.SetRedraw(False)
-
- dw_child.Object.u_inwaremx_if_mtrlware[child_row] = 1
- dw_child.Object.u_inwaremx_sptid_cusid[child_row] = S_INSCUST.cusid
- dw_child.Object.u_cust_name[child_row] = S_INSCUST.Name
- dw_child.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
-
- dw_child.SetRedraw(True)
- END IF
- END IF
- end event
- event ue_mod_buyqty();IF Not f_power_ind(979) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可使用', Information!, OK! )
- RETURN
- END IF
- IF sys_option_outware_if_buyqty = 0 THEN
- MessageBox('提示','系统选项[085]限制,功能不能使用', Information!, OK! )
- RETURN
- END IF
- Long uc_row //,child_row
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选择单据', Information!, OK! )
- RETURN
- END IF
- Long ll_flag ,ll_secflag,ll_balcflag
- Long ll_scid,ll_inwareid,ll_printid
- ll_flag = dw_pageretr.Object.flag[uc_row]
- ll_secflag = dw_pageretr.Object.u_inware_secflag[uc_row]
- ll_balcflag = dw_pageretr.Object.balcflag[uc_row]
- ll_scid = dw_pageretr.Object.u_inware_scid[uc_row]
- ll_inwareid = dw_pageretr.Object.inwareid[uc_row]
- IF ll_flag = 0 THEN
- MessageBox('提示','进仓单待审核状态下不能执行修改收货数量功能', Information!, OK! )
- RETURN
- END IF
- IF ll_secflag = 1 THEN
- MessageBox('提示','单据已财审,不能执行修改收货数量功能', Information!, OK! )
- RETURN
- END IF
- IF ll_balcflag = 1 THEN
- MessageBox('提示','单据已结存,不能执行修改收货数量功能', Information!, OK! )
- RETURN
- END IF
- s_edit_index_tran s_tran_mod
- s_tran_mod.b_long = ll_scid
- s_tran_mod.c_long = ll_inwareid
- s_tran_mod.c_string = ''
- OpenWithParm(w_inwaremx_buy_mod_buyqty_p,s_tran_mod)
- This.TriggerEvent('retrieve_childdw')
- end event
- event ue_all_choice();Long i
- FOR i = 1 To dw_pageretr.RowCount()
-
- dw_pageretr.Object.ch[i] = 1
-
- NEXT
- end event
- event ue_allnot_choice();Long i
- FOR i = 1 To dw_pageretr.RowCount()
-
- dw_pageretr.Object.ch[i] = 0
-
- NEXT
- 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(66) Or f_power_ind(103)) 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.ch[ll_i] = 0 THEN CONTINUE
-
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
-
- ll_billid = dw_pageretr.Object.inwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
- ls_taskcode = dw_pageretr.Object.inwarecode[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(877) Or f_power_ind(878)) 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.ch[ll_i] = 0 THEN CONTINUE
-
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在撤审..." //进度信息
-
- ll_billid = dw_pageretr.Object.inwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
- ls_taskcode = dw_pageretr.Object.inwarecode[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(592) OR f_power_ind(584)) 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.ch[ll_i] = 0 THEN CONTINUE
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在删除..." //进度信息
-
- ll_billid = dw_pageretr.Object.inwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
- ls_taskcode = dw_pageretr.Object.inwarecode[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_set_dytitle();Long ll_d_col_count,i,j = 1
- String ls_col_name
- s_dytitle_inwarebuy ss_dytitle_inwarebuy //col_name
- ll_d_col_count = Long(dw_child.Object.datawindow.Column.Count)
- FOR i = 1 To ll_d_col_count
-
- ls_col_name = dw_child.Describe('#' + String(i) + '.Name')
- IF Long(dw_child.Describe(ls_col_name + '.TabSequence ')) > 0 THEN
- ss_dytitle_inwarebuy.col_name[j] = ls_col_name
- ss_dytitle_inwarebuy.title_name[j] = dw_child.describe(ls_col_name + '_t.Text')
- j++
- END IF
- NEXT
- openwithparm(w_dytitle_inwarebuy,ss_dytitle_inwarebuy)
- end event
- event ue_insert_execltodw();Long i,ll_cnt,j
- SELECT count(*) Into :ll_cnt From u_dytitle_inwarebuy;
- IF ll_cnt = 0 THEN
- MessageBox('Error','明细标题与execl标题对应关系没有设置,请先执行设置')
- This.TriggerEvent('ue_set_dytitle')
- RETURN
- END IF
- dw_child.setredraw(false)
- wf_openfile(dw_child)
- dw_child.AcceptText()
- String ls_mtrlcode,ls_unit
- Long ll_mtrlid
- String arg_msg
- For j = dw_child.RowCount() to 1 step -1
- ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[j]
- IF ls_mtrlcode = '' THEN
- dw_child.deleterow(j)
- end if
- Next
- FOR i = 1 To dw_child.RowCount()
- ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
- IF ls_mtrlcode <> '' THEN
- ll_mtrlid = 0
- SELECT mtrlid,unit Into :ll_mtrlid,:ls_unit From u_mtrldef Where mtrlcode = :ls_mtrlcode;
- IF ll_mtrlid <> 0 THEN
- dw_child.Object.u_inwaremx_printid[i] = i
- dw_child.Object.u_inwaremx_mtrlid[i] = ll_mtrlid
- IF dw_child.Object.u_inwaremx_unit[i] = '' Or IsNull(dw_child.Object.u_inwaremx_unit[i]) THEN
- dw_child.Object.u_inwaremx_unit[i] = ls_unit
- END IF
- ELSE
- arg_msg = arg_msg + ',' +ls_mtrlcode
-
- END IF
-
- END IF
- NEXT
- dw_child.setredraw(true)
- IF arg_msg <> '' THEN
- MessageBox('Error',arg_msg + ' 没有定义,请先定义物料')
- END IF
- end event
- event ue_create_spt_price_change();//辅助生成报价单
- IF Not f_power_ind(114) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- Long ll_row
- long ll_sptid, ll_moneyid
- string ls_sptcode, ls_sptname
- Long ll_scid, ll_inwareid
- dw_pageretr.AcceptText()
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标单据!',Information!,OK!)
- RETURN
- END IF
- IF (dw_pageretr.Object.flag[ll_row] = 1 ) THEN
- MessageBox('系统提示','当前选定单据非待仓审状态!',Information!,OK!)
- RETURN
- END IF
- ll_scid = dw_pageretr.object.u_inware_scid[ll_row]
- ll_inwareid = dw_pageretr.object.inwareid[ll_row]
- ll_sptid = dw_pageretr.object.sptid[ll_row]
- ll_moneyid = dw_pageretr.object.u_inware_relint_3[ll_row]
- ls_sptcode = dw_pageretr.object.u_spt_sptcode[ll_row]
- ls_sptname = dw_pageretr.object.u_spt_name[ll_row]
-
- s_edit_index_tran s_open
- IF Not IsValid(w_spt_price_change) THEN
- OpenWithParm(w_spt_price_change,s_open)
- w_spt_price_change.cb_add.TriggerEvent(Clicked!)
- ll_row = w_spt_price_change.dw_uc.GetRow()
- w_spt_price_change.dw_uc.Object.u_spt_price_change_sptid[ll_row] = ll_sptid
- w_spt_price_change.dw_uc.Object.u_spt_name[ll_row] = ls_sptname
- w_spt_price_change.dw_uc.Object.u_spt_sptcode[ll_row] = ls_sptcode
- w_spt_price_change.dw_uc.Object.u_spt_price_change_moneyid[ll_row] = ll_moneyid
- w_spt_price_change.wf_set_mx(ll_scid, ll_inwareid)
-
- END IF
- end event
- event ue_mod_otheramt();//更新优惠款
- IF Not f_power_ind(974) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- IF dw_edit_mode THEN RETURN
- dw_pageretr.AcceptText()
- Long ll_row,ll_scid,ll_inwareid
- decimal ld_otheramt
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择单据', Information!, OK! )
- RETURN
- END IF
- IF dw_pageretr.Object.flag[ll_row] = 1 AND dw_pageretr.Object.u_inware_secflag[ll_row] = 0 THEN
- ll_scid = dw_pageretr.Object.u_inware_scid[ll_row]
- ll_inwareid = dw_pageretr.Object.inwareid[ll_row]
- ld_otheramt = dw_pageretr.Object.u_inware_otheramt[ll_row]
- openwithparm(w_inware_buy_mod_otheramt,ld_otheramt)
-
- ld_otheramt = Message.DoubleParm
- update u_inware set otheramt = :ld_otheramt
- where inwareid = :ll_inwareid and scid = :ll_scid;
- IF SQLCA.SQLCODE <>0 THEN
- MESSAGEBOX("提示","更新失败"+sqlca.sqlerrtext)
- rollback;
- return
- else
- commit;
- END IF
- wf_refresh_curuc(ll_scid,ll_inwareid) //刷新uc
- ELSE
- MessageBox('提示','此功能只能在仓审后财审前应用', Information!, OK! )
- 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_inwaremx_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_inwaremx_status' THEN
- IF ll_statusflag<>5 THEN RETURN
- ELSEIF arg_status = 'u_inwaremx_woodcode' THEN
- IF ll_woodcodeflag<>5 THEN RETURN
- ELSEIF arg_status = 'u_inwaremx_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_cmpl_set0();long i
- for i=1 to dw_child.rowcount()
- dw_child.object.u_inwaremx_uqty[i]=0
- next
- 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_inwaremx_tax[i] = dw_child.Object.u_inwaremx_tax[1]
- wf_cmpl_amt(i)
- NEXT
- end event
- event ue_create_bmstamt();Long ll_secflag,ll_scid
- Long ll_mtrlwareid
- Int i,j
- decimal lde_zqamt
- s_inwarebuy_ch s_inware
- If Not f_power_ind(1752) 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.u_inware_secflag[i]
- If ll_secflag <> 1 Then
- MessageBox('提示','只能对已财审的单据进行操作',information!,OK!)
- Return
- End If
- s_inware.inwareid = dw_pageretr.Object.inwareid[i]
- s_inware.scid = dw_pageretr.Object.u_inware_scid[i]
- s_inware.sptid = dw_pageretr.Object.sptid[i]
- s_inware.sptcode = dw_pageretr.Object.u_spt_sptcode[i]
- s_inware.sptname = dw_pageretr.Object.u_spt_name[i]
- s_inware.banktypeid = dw_pageretr.Object.u_inware_relint_1[i]
- s_inware.moneyid = dw_pageretr.Object.u_inware_relint_3[i]
- s_inware.billcode = dw_pageretr.Object.inwarecode[i]
- s_inware.mrate = dw_pageretr.Object.u_inware_mrate[i]
- s_inware.billamt = dw_child.Object.compute_8[i] //应付
- s_inware.takeamt = dw_pageretr.Object.payamt[i] //已付
- s_inware.balcamt = dw_pageretr.Object.balcamt[i] //未付
- s_inware.indate = dw_pageretr.Object.indate[i]
- s_inware.storageid = dw_pageretr.Object.storageid[i]
- //折扣金额
- lde_zqamt = 0
- for j = 1 to dw_child.rowcount()
- lde_zqamt = lde_zqamt + (dw_child.Object.u_inwaremx_uprice[j] * dw_child.Object.u_inwaremx_uqty[j] * ( 1 - dw_child.Object.u_inwaremx_rebate[j]))
- next
- s_inware.zqamt = lde_zqamt
- 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.c_long = dw_pageretr.Object.u_inware_scid[i]
- ll_scid = dw_pageretr.Object.u_inware_scid[i]
- If Not IsValid(w_bmstamt_spt_edit) Then
- OpenWithParm(w_bmstamt_spt_edit,s_tran_open)
-
- // w_bmstamt_edit.ddlb_scid.uf_selectsc(ll_scid)
- w_bmstamt_spt_edit.wf_ue_f7(s_inware)
- End If
- 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.inwarecode[i]
-
- ls_filecount = 0
- SELECT count(*) INTO :ls_filecount
- FROM u_file
- WHERE relcode = :arg_billcode
-
- AND scid = 0
- AND billtype =403
- 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();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(881) ) THEN
- MessageBox('提示',sys_msg_pow,Information!,OK!)
- RETURN
- END IF
- for i = 1 to dw_pageretr.rowcount()
- if dw_pageretr.object.ch[i] = 1 then 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.inwarecode[i] + " 正在确认..." //进度信息
- if dw_pageretr.object.ch[i] = 1 then
- rslt = 1
- String ls_code,ls_opemp,ls_outpart
- string arg_msg = ''
- IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[i],dw_pageretr.Object.inwareid [i],arg_msg) = 0 THEN
- ll_fail++
- ls_msg += dw_pageretr.Object.inwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
- CONTINUE
- ELSE
- IF uo_ware.c_secauditing(False,arg_msg) = 0 THEN
- ll_fail++
- ls_msg += dw_pageretr.Object.inwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
- CONTINUE
- ELSE
- ll_suc++
- ls_code = dw_pageretr.Object.inwarecode[i]
- ls_opemp = dw_pageretr.Object.u_inware_opemp[i]
- ls_outpart = dw_pageretr.Object.part[i]
- f_setsysoplog('采购收货单','财务撤审,code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
- 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_inwaremx_uqty[child_row]
- lde_rebate = dw_child.Object.u_inwaremx_rebate[child_row]
- lde_enprice = dw_child.Object.u_inwaremx_uprice[child_row]
- lde_enprice_notax = dw_child.Object.u_inwaremx_uprice_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_inwaremx_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_inwaremx_uamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金
-
- If lde_enprice <> 0 Then
- dw_child.Object.u_inwaremx_uamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额
- // dw_child.Object.uamt_notax[child_row] = dw_child.Object.u_inwaremx_uamt[child_row] - dw_child.Object.u_inwaremx_uamt_tax[child_row] //不含税总金额
- dw_child.Object.u_inwaremx_uprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价
- dw_child.Object.u_inwaremx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率
- elseif lde_enprice_notax <> 0 then
- // dw_child.Object.uamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额
- dw_child.Object.u_inwaremx_uamt[child_row] = dw_child.Object.uamt_notax[child_row] + dw_child.Object.u_inwaremx_uamt_tax[child_row] //总金额
- dw_child.Object.u_inwaremx_uprice[child_row] = lde_enprice_notax + lde_taxamt //单价
- dw_child.Object.u_inwaremx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率
-
- End If
-
-
- End If
- End If
- end event
- event ue_mod_relcode();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
- return
- END IF
- IF NOT (f_power_ind(2050)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- 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= dw_pageretr.object.part[uc_row]
- openwithparm(w_inputbox,s_sreu)
- ls_str=message.stringparm
- if trim(ls_str)='' or isnull(ls_str) then return
- if uo_ware.mod_part(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],ls_str,arg_msg)=0 then
- messagebox('error!',arg_msg)
- return
- else
- messagebox('提示','修改相关号操作成功!', Information!, OK! )
- wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
- end if
- 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_inwaremx_mxdscrp[dw_child.GetRow()]
- s_view.Title = '采购收货单明细备注'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp_buy,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_inwaremx_mxdscrp[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_view_mxdscrp2();s_view_dscrp s_view,s_return
- String ls_dscrp
- dw_child.AcceptText()
- ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp2[dw_child.GetRow()]
- s_view.Title = '采购收货单明细备注2'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp_buy,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_inwaremx_mxdscrp2[dw_child.GetRow()] = 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_inwaremx_mxdscrp3[dw_child.GetRow()]
- s_view.Title = '采购收货单明细备注3'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp_buy,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_inwaremx_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_inwaremx_mxdscrp4[dw_child.GetRow()]
- s_view.Title = '采购收货单明细备注4'
- s_view.dscrp = ls_dscrp
- s_view.editmode = dw_edit_mode
- OpenWithParm(w_view_dscrp_buy,s_view)
- IF dw_edit_mode THEN
- s_return = Message.PowerObjectParm
- dw_child.Object.u_inwaremx_mxdscrp4[dw_child.GetRow()] = s_return.dscrp
- END IF
- end event
- event ue_editzy();IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
- return
- END IF
- IF NOT (f_power_ind(778) or f_power_ind(781)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- 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
- long ll_scid,ll_inwareid
- ll_scid = dw_pageretr.object.u_inware_scid[uc_row]
- ll_inwareid = dw_pageretr.object.inwareid[uc_row]
- UPDATE u_inware set dscrp = :ls_str
- where scid = :ll_scid and inwareid = :ll_inwareid;
- IF SQLCA.SQLCode <> 0 THEN
- messagebox('error!','更新单据备注失败!')
- return
- END IF
- messagebox('提示','修改备注操作成功!', Information!, OK! )
- wf_refresh_curuc(ll_scid,ll_inwareid)
- end event
- event ue_get_maxprice();IF Not dw_edit_mode THEN RETURN
- dw_uc.AcceptText()
- IF dw_uc.GetRow() = 0 THEN RETURN
- long i ,ls_mtrlid , ls_sptid
- string ls_unit,ls_status,ls_woodcode,ls_pcode
- datetime ls_opdate,ls_opdatemax
- decimal ls_maxprice
- FOR i = 1 To dw_child.rowcount()
- ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- ls_unit = dw_child.Object.u_inwaremx_unit[i]
- ls_status = dw_child.Object.u_inwaremx_status[i]
- ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
- ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
- IF dw_uc.Object.inwareid[dw_uc.GetRow()] = 0 THEN
- ls_opdate = DateTime(Date(Today()),Time(Now()))
- ELSE
- ls_opdate = dw_uc.Object.opdate[dw_uc.GetRow()]
- END IF
-
-
- Select MAX(opdate)as opdate Into:ls_opdatemax from u_spt_price_MX
- where buildtype=0 and Opdate<=:ls_opdate and sptid=:ls_sptid and mtrlid=:ls_mtrlid and unit=:ls_unit and status=:ls_status and woodcode=:ls_woodcode and pcode=:ls_pcode
- group by sptid,mtrlid,status,unit,woodcode,pcode;
- IF sqlca.SQLCode <> 0 THEN
- ls_maxprice = 0
- ELSE
- Select Top 1 price into :ls_maxprice from u_spt_price_MX
- where buildtype=0 and Opdate<=:ls_opdate and sptid=:ls_sptid and mtrlid=:ls_mtrlid and unit=:ls_unit
- and status=:ls_status and woodcode=:ls_woodcode and pcode=:ls_pcode and opdate = :ls_opdatemax;
- IF sqlca.SQLCode <> 0 THEN
- ls_maxprice = 0
- END IF
- END IF
-
- dw_child.Object.maxprice[i] = ls_maxprice
- NEXT
- 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_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[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_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
- end event
- event ue_cpriceaudit();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.c_priceaudit(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[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_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
- end event
- public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//====================================================================
- // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
- //--------------------------------------------------------------------
- // Description: 刷新dw_pageretr
- //--------------------------------------------------------------------
- // Arguments:
- // value long arg_scid
- // value long arg_inwareid
- //--------------------------------------------------------------------
- // Returns: integer
- //--------------------------------------------------------------------
- // Author: yyx Date: 2003.11.14
- //--------------------------------------------------------------------
- // Modify History:
- //
- //====================================================================
- if arg_inwareid<=0 or isnull(arg_inwareid) then return 0
- long uc_row
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then return 0
- long storageid
- datetime indate
- string inrep
- string part
- string dscrp
- int balcflag
- string inwarecode
- string sptname
- datetime opdate
- string opemp
- string modemp
- datetime moddate
- int li_flag
- datetime Auditingdate
- string Auditingrep
- int li_secflag
- datetime secAuditingdate
- string secAuditingrep
- string storagename
- int thflag
- int relint_1
- string sptcode
- long sptid
- Long priceflag
- datetime pricedate
- string priceemp
- Decimal sumuamt_tax
- Long ifsumuamt_tax
- DateTime viewdate
- dec otheramt
- long relint_3
- decimal mrate
- long amt
- SELECT u_inware.storageid
- ,u_inware.indate
- ,u_inware.inrep
- ,u_inware.part
- ,u_inware.dscrp
- ,u_inware.opdate
- ,u_inware.opemp
- ,u_inware.flag
- ,u_inware.auditingdate
- ,u_inware.auditingrep
- ,u_inware.secflag
- ,u_inware.secauditingdate
- ,u_inware.secauditingrep
- ,u_inware.inwarecode
- ,u_inware.balcflag
- ,u_inware.sptname
- ,u_storage.storagename
- ,u_inware.modemp
- ,u_inware.moddate
- ,u_inware.thflag
- ,u_inware.relint_1
- ,u_spt.sptcode
- ,u_spt.name
- ,u_inware.otheramt
- ,u_inware.sptid
- ,u_inware.relint_3
- ,u_inware.mrate
- ,samt.amt
- ,priceflag
- ,pricedate
- ,priceemp
- ,mxin.sumuamt_tax
- ,case when mxin.sumuamt_tax > 0 then 1 else 0 end as ifsumuamt_tax
- ,u_inware.viewdate
- INTO :storageid
- ,:indate
- ,:inrep
- ,:part
- ,:dscrp
- ,:opdate
- ,:opemp
- ,:li_flag
- ,:Auditingdate
- ,:Auditingrep
- ,:li_secflag
- ,:secAuditingdate
- ,:secAuditingrep
- ,:inwarecode
- ,:balcflag
- ,:sptname
- ,:storagename
- ,:modemp
- ,:moddate
- ,:thflag
- ,:relint_1
- ,:sptcode
- ,:sptname
- ,:otheramt
- ,:sptid
- ,:relint_3
- ,:mrate
- ,:amt
- ,:priceflag
- ,:pricedate
- ,:priceemp
- ,:sumuamt_tax
- ,:ifsumuamt_tax
- ,:viewdate
- FROM u_inware
- INNER JOIN u_spt ON u_inware.sptid = u_spt.sptid
- INNER JOIN u_storage ON u_inware.storageid = u_storage.storageid
- LEFT JOIN (
- SELECT scid
- ,inwareid
- ,sum(uamt) AS amt
- FROM u_inwaremx
- WHERE scid = :arg_scid
- AND inwareid = :arg_inwareid
- GROUP BY scid
- ,inwareid
- ) samt ON samt.scid = u_inware.scid
- AND samt.inwareid = u_inware.inwareid
- LEFT OUTER JOIN (
- SELECT scid
- ,inwareid
- ,sum(uamt_tax) AS sumuamt_tax
- FROM u_inwaremx
- GROUP BY scid
- ,inwareid
- ) AS mxin ON mxin.scid = u_inware.scid
- AND mxin.inwareid = u_inware.inwareid
- WHERE (u_inware.scid = :arg_scid)
- AND (u_inware.inwareid = :arg_inwareid);
- if sqlca.sqlcode<>0 then
- messagebox('提示',"查询操作失败(错误单据唯一码)", Information!, OK! )
- return 0
- end if
- dw_pageretr.object.u_inware_scid[uc_row]=arg_scid
- dw_pageretr.object.inwareid[uc_row]=arg_inwareid
- dw_pageretr.object.indate[uc_row]=indate
- dw_pageretr.object.part[uc_row]= part
- dw_pageretr.object.inrep[uc_row]= inrep
- dw_pageretr.object.storageid[uc_row]=storageid
- dw_pageretr.object.u_spt_name[uc_row]=sptname
- dw_pageretr.object.dscrp[uc_row]= dscrp
- dw_pageretr.object.balcflag[uc_row]= balcflag
- dw_pageretr.object.inwarecode[uc_row]=inwarecode
- dw_pageretr.object.opdate[uc_row]= opdate
- dw_pageretr.object.u_inware_opemp[uc_row]= opemp
- dw_pageretr.object.u_inware_moddate[uc_row]= moddate
- dw_pageretr.object.u_inware_modemp[uc_row]= modemp
- dw_pageretr.object.flag[uc_row]= li_flag
- dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
- dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
- dw_pageretr.object.u_inware_secflag[uc_row]= li_secflag
- dw_pageretr.object.u_inware_secAuditingdate[uc_row]= secAuditingdate
- dw_pageretr.object.u_inware_secAuditingrep[uc_row]=secAuditingrep
- dw_pageretr.object.u_storage_storagename[uc_row]=storagename
- dw_pageretr.object.u_inware_thflag[uc_row]=thflag
- dw_pageretr.object.u_inware_relint_1[uc_row]=relint_1
- dw_pageretr.object.u_spt_sptcode[uc_row]=sptcode
- dw_pageretr.object.u_spt_name[uc_row]=sptname
- dw_pageretr.object.u_inware_otheramt[uc_row]=otheramt
- dw_pageretr.object.sptid[uc_row]=sptid
- dw_pageretr.object.u_inware_relint_3[uc_row]=relint_3
- dw_pageretr.object.u_inware_mrate[uc_row]=mrate
- dw_pageretr.object.amt[uc_row]=amt
- dw_pageretr.object.priceflag[uc_row]=priceflag
- dw_pageretr.object.pricedate[uc_row]=pricedate
- dw_pageretr.object.priceemp[uc_row]=priceemp
- dw_pageretr.object.sumuamt_tax[uc_row]=sumuamt_tax
- dw_pageretr.object.ifsumuamt_tax[uc_row]=ifsumuamt_tax
- dw_pageretr.Object.viewdate[uc_row]=viewdate
- 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 function integer wf_flagstatus_rf ();//wf_flagstatus_rf()
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- cb_auditing.Text = '审核&F'
- cb_auditing.Enabled = False
- cb_auditing_cancel.Text = '撤审'
- cb_auditing_cancel.Enabled = False
- flag = -1
- secflag = -1
-
- GOTO ext
-
- END IF
- flag = dw_pageretr.Object.flag[pagerert_row]
- secflag = dw_pageretr.Object.u_inware_secflag[pagerert_row]
- IF dw_edit_mode THEN
- 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
- cb_auditing.Enabled = False
- cb_auditing_cancel.Enabled = False
- IF cur_editfocus = 1 THEN
- flag = -1
- secflag = -1
- END IF
- ELSE
- IF sys_option_hide_ware = 0 THEN
- 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
- 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
- cb_auditing.TriggerEvent('ue_textchange')
- cb_auditing_cancel.TriggerEvent('ue_textchange')
- ext:
- RETURN 0
- end function
- public function integer wf_check_print (ref string arg_msg);long cnt
- int rslt = 1
- string ls_msg
- string str_dwSQl,str_SyntaxFromSQL
- datastore ds_maxid
- datetime ld_cur_dt
- ld_cur_dt = datetime(today(),time(0))
- if sys_option_mustprint = 0 then
- rslt = 1
- goto ext
- end if
- string ls_storagestr,tmp_str
- ls_storagestr = sys_user_storagestr
- if ls_storagestr <> '0' and ls_storagestr <> '-1' then
- ls_storagestr = mid(ls_storagestr,2)
- ls_storagestr = left(ls_storagestr,len(ls_storagestr) - 1 )
- end if
- ds_maxid= create datastore
- str_dwSQl="select count(*) as countnum from u_inware where indate < '" +string(ld_cur_dt,'yyyy-mm-dd hh:mm:ss')+ "' and billtype = 1 and flag = 0 and "
- if pos(ls_storagestr,',') > 0 or long(ls_storagestr) > 0 then
- tmp_str = '(' + 'storageid in (' + ls_storagestr + '))'
- else
- tmp_str = '(' + ls_storagestr + ' = 0 or storageid in (' + ls_storagestr + '))'
- end if
- str_dwSQl=str_dwSQl + tmp_str
- //messagebox("",str_dwSQl)
- str_SyntaxFromSQL =sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg)
- if ls_msg>'' then
- arg_msg="dw语法生成失败"
- rslt = 0
- goto ext
- end if
-
- ds_maxid.Create(str_SyntaxFromSQL,ls_msg)
- if ls_msg>'' then
- arg_msg="建立相关DW失败"
- rslt=0
- goto ext
- end if
- ds_maxid.settransobject(sqlca)
- ds_maxid.retrieve()
- cnt=ds_maxid.GetItemNumber(1,1)
- if isnull(cnt) then cnt = 0
- destroy ds_maxid
- if cnt > 0 then
- arg_msg = '仓库还有收货单未打印,不能新建'
- rslt = 0
- goto ext
- end if
- ext:
- return rslt
- end function
- public function integer wf_check_over (ref string arg_msg);Int rslt = 1
- Long ll_i
- long ll_taskid,ll_mtrlid,ll_orderid,ll_scid
- string ls_status,ls_unit,ls_mtrlcode
- decimal ld_addqty,ld_buyqty,ld_consignedqty
- string ls_msg
- Decimal ld_upqty,ld_uprate
- //0不允许,1允许,2不允许超比例
- IF sys_option_ifovertask = 1 THEN
- rslt = 1
- GOTO ext
- END IF
- dw_child.accepttext()
- FOR ll_i = 1 TO dw_child.RowCount()
- ll_scid = cur_scid
- ll_taskid = dw_child.object.u_inwaremx_relid[ll_i]
- ll_mtrlid = dw_child.object.u_inwaremx_mtrlid[ll_i]
- ll_orderid = dw_child.object.u_inwaremx_sptid_cusid[ll_i]
-
- ls_status = dw_child.object.u_inwaremx_status[ll_i]
- ls_unit = dw_child.object.u_inwaremx_unit[ll_i]
- ls_mtrlcode = dw_child.object.u_mtrldef_mtrlcode[ll_i]
- ld_addqty = dw_child.object.u_inwaremx_uqty[ll_i]
-
- if ld_addqty = 0 then continue
- if ll_mtrlid = 0 then continue
-
-
- SELECT upqty,uprate
- INTO :ld_upqty,:ld_uprate
- FROM u_mtrldef
- where mtrlid = :ll_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或错误物料编码["+ls_mtrlcode+"]导致查询物料资料属性失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- SELECT sum(u_buytaskmx.uqty),
- sum(u_buytaskmx.consignedqty)
- INTO :ld_buyqty,
- :ld_consignedqty
- FROM u_buytaskmx
- WHERE ( u_buytaskmx.taskid = :ll_taskid ) AND
- ( u_buytaskmx.mtrlid = :ll_mtrlid ) AND
- ( u_buytaskmx.orderid = :ll_orderid ) AND
- ( u_buytaskmx.status = :ls_status ) AND
- ( u_buytaskmx.unit = :ls_unit ) AND
- ( u_buytaskmx.scid = :ll_scid);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "因网络或错误物料编码["+ls_mtrlcode+"]导致查询采购订单已完成数量操作失败"+"~n"+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF sys_option_ifovertask = 0 THEN
- IF ld_buyqty < ld_consignedqty + ld_addqty THEN
- ls_msg = "物料["+ls_mtrlcode+"]的未完成数量只有"+String(ld_buyqty - ld_consignedqty,'#,##0.0###')+',本次进:'+String(ld_addqty,'#,##0.0#')+",已超订货数,是否要继续入库?"
- if messagebox ("询问",ls_msg,question!,yesno! ) = 2 then
- arg_msg = '超订货数进仓,操作取消'
- rslt = 0
- goto ext
- end if
- END IF
- ELSEIF sys_option_ifovertask = 1 THEN
- IF ld_buyqty * (1 + ld_uprate) + ld_upqty < ld_consignedqty + ld_addqty THEN
- ls_msg = "物料["+ls_mtrlcode+"]的未完成数量只有"+String(ld_buyqty - ld_consignedqty,'#,##0.0###')+',本次进:'+String(ld_addqty,'#,##0.0#')+",已超订货数,是否要继续入库?"
- if messagebox ("询问",ls_msg,question!,yesno! ) = 2 then
- arg_msg = '超订货数进仓,操作取消'
- rslt = 0
- goto ext
- end if
- END IF
- END IF
- NEXT
- ext:
- RETURN rslt
- end function
- public subroutine wf_check_billfj ();String arg_msg
- Long ll_ConnectionID
- Long cur_billtype
- long ll_relid,ll_relid_mx,ll_scid
- Long ls_filecount = 0
- Int rslt = 1
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
-
- Long row,uc_relid
- row = dw_pageretr.GetRow()
- IF row > 0 THEN
- ll_relid = dw_pageretr.Object.inwareid[row]
- ll_scid = dw_pageretr.Object.u_inware_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 = 403 //客户投拆单的 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_uc.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- ll_id = dw_uc.Object.#1[LS_ROW]
- ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
- //查询所选模版是否含有图片信息
- Long ll_ifpic
- Long ll_classid
- SELECT ifpic
- INTO :ll_ifpic
- FROM U_XLS_Templates
- Where id = :ll_xls_Templatesid;
- IF sqlca.SQLCode <> 0 THEN
- ll_ifpic = 0
- END IF
- Long ll_i,ll_j
- Long ll_mtrlid
- Long ll_fileid
- Blob ls_filedata
- SetNull(ls_filedata)
- String Pathname,ls_filename,ls_filetype
- String errmsg
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
- s_xls_pic_list s_pic //结构数组-用于保存图片路径
- IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 403);
- 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_inwaremx_mtrlid[ll_i]
- //取该附件类型中的第一个附件.
- SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
- FROM u_file
- WHERE relid = :ll_mtrlid
- AND classid = :ll_classid
- AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
- OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
- USING sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- ll_fileid = 0
- END IF
- IF ll_fileid > 0 THEN
- Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
- IF Trim(Pathname) <> '' THEN
- IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
- RETURN 0
- END IF
-
- IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
- RETURN 0
- ELSE
-
- s_pic.path[ll_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
-
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- //
- END IF
- ////可选设置///
- arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
- if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
- boolean xls_locked
- xls_locked = not (sys_option_xls_lock = 1)
- /// Excel 的可选设置
- if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
- return 0
- end if
- for i = 1 to arg_str_billlist.count
- ////可选操作///
- arg_str_billlist.bill[i].ds_data = create datastore //
- arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
- arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
-
- //修改点:注意retrieve 参数与上文对应
- arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
- next
- return 1
- end function
- public function integer wf_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, string arg_msg);Long cur_storageid
- Decimal ld_wareqty
- IF dw_uc.GetRow() = 0 THEN RETURN 1
- dw_uc.AcceptText()
- cur_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
- IF cur_storageid = 0 THEN RETURN 1
- ld_wareqty = 0
- SELECT sum(u_mtrlware.noallocqty)
- INTO :ld_wareqty
- FROM u_mtrlware
- WHERE mtrlid = :arg_mtrlid AND
- storageid = :cur_storageid;
- IF sqlca.SQLCode = -1 THEN
- arg_msg = arg_mtrlcode + ',查询库存数量失败!'
- RETURN 0
- ELSEIF IsNull(ld_wareqty) THEN
- ld_wareqty = 0
- END IF
- arg_wareqty = ld_wareqty
- 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_inware_scid[LS_ROW]
- Long ll_i,ll_j
- Long ll_mtrlid
- Long ll_fileid
- Blob ls_filedata
- SetNull(ls_filedata)
- String Pathname,ls_filename,ls_filetype
- String errmsg
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
- Long ll_classid
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 201);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- FOR ll_i = 1 TO dw_child.RowCount()
- ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
- arg_s_pic.mtrlid[ll_i] = ll_mtrlid
- //取该附件类型中的第一个附件.
- SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
- FROM u_file
- WHERE relid = :ll_mtrlid
- AND classid = :ll_classid
- AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
- OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
- USING sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- ll_fileid = 0
- END IF
- IF ll_fileid > 0 THEN
- Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
- IF Trim(Pathname) <> '' THEN
- IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
- RETURN 0
- END IF
-
- IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
- RETURN 0
- ELSE
-
- arg_s_pic.path[ll_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- RETURN 1
- end function
- public function integer wf_check_part (long arg_scid, long arg_inwareid, string arg_part, ref string arg_msg);Int rslt = 1
- //return 1 - 检查通过
- //return 0 - 语法出错
- //return 2 - 限制
- //return 3 - 询问
- Long cnt
- IF Trim(arg_part) = '' THEN
- IF sys_option_buy_relcode_repeat = 0 THEN
- rslt = 1
- GOTO ext
- ELSE
- rslt = 2
- arg_msg = '请输入单据相关号'
- GOTO ext
- END IF
- ELSE
- SELECT count(*)
- INTO :cnt
- FROM u_inware
- WHERE (NOT EXISTS
- (SELECT *
- FROM u_inware u_task
- WHERE u_task.scid = u_inware.scid AND u_task.inwareid = u_inware.inwareid AND
- u_task.scid = :arg_scid AND u_task.inwareid = :arg_inwareid))
- And (part = :arg_part);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询单据相关号码是否重复失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF cnt > 0 THEN
- IF sys_option_buy_relcode_repeat = 0 THEN
- arg_msg = '当前单据的相关号码与已有单据的重复,是否继续保存?'
- rslt = 3
- GOTO ext
- ELSE
- rslt = 2
- arg_msg = '当前单据的相关号码与已有单据的重复,请修改'
- GOTO ext
- END IF
- END IF
- END IF
- ext:
- RETURN rslt
- end function
- public subroutine wf_cmpl_amt (long row);IF row <= 0 THEN RETURN
- IF row > dw_child.RowCount() THEN RETURN
- Dec ld_round = 100
- ld_round = 10.0 ^ (2 - sys_option_inware_buy_amt_round)
- IF sys_option_inware_buy_amt_round = 5 THEN ld_round = 1000
- Decimal lde_tax
- lde_tax = dw_child.Object.u_inwaremx_tax[row]
- //由金额计算单价
- IF sys_option_outware_if_buyqty = 0 THEN
- IF cbx_enamt_edit.Checked THEN
- IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
- IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uamt[row] / dw_child.Object.u_inwaremx_rebate[row] / dw_child.Object.u_inwaremx_uqty[row]
- dw_child.Object.u_inwaremx_uprice_notax[row] = dw_child.Object.u_inwaremx_uprice[row] / ( 1 + dw_child.Object.u_inwaremx_tax[row] ) //不含税单价=单价/(1+税率)
- dw_child.Object.u_inwaremx_uamt_tax[row] = dw_child.Object.u_inwaremx_uprice_notax[row] * Dec(dw_child.Object.u_inwaremx_uqty[row]) * lde_tax
- END IF
- END IF
- ELSE
- dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_uqty[row] * ld_round,0) / ld_round
- // dw_child.Object.u_inwaremx_uprice_notax[row] = dw_child.Object.u_inwaremx_uprice[row] / ( 1 + dw_child.Object.u_inwaremx_tax[row] ) //不含税单价=单价/(1+税率)
- dw_child.Object.u_inwaremx_uamt_tax[row] = dw_child.Object.u_inwaremx_uprice_notax[row] * Dec(dw_child.Object.u_inwaremx_uqty[row]) * lde_tax
- END IF
- ELSE
- IF cbx_enamt_edit.Checked THEN
- IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
- IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uamt[row] / dw_child.Object.u_inwaremx_rebate[row] / dw_child.Object.u_inwaremx_buyqty[row]
- END IF
- END IF
- ELSE
- dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_buyqty[row] * ld_round,0) / ld_round
- END IF
- END IF
- IF cbx_enamt_notax_edit.Checked THEN //录入不含税单价
-
- IF dw_child.Object.u_inwaremx_uprice_notax[row] <> 0 THEN
-
-
-
-
-
- dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uprice_notax[row] * (1 + lde_tax)
- dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_uqty[row] * ld_round,0) / ld_round
-
- dw_child.Object.u_inwaremx_uamt_tax[row] = dw_child.Object.u_inwaremx_uprice_notax[row] * Dec(dw_child.Object.u_inwaremx_uqty[row]) * lde_tax
-
-
- END IF
-
- ELSE
- dw_child.Object.u_inwaremx_uprice_notax[row] = dw_child.Object.u_inwaremx_uprice[row] / ( 1 + dw_child.Object.u_inwaremx_tax[row] ) //不含税单价=单价/(1+税率)
- END IF
- end subroutine
- public function integer wf_change_sptid (long arg_sptid);Long ll_row,i
- Int rslt = 1
- Boolean for_saletask = False //是否按订单
- s_mtrldef_array ins_rt_stru
- Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
- String arg_msg,ls_status,ls_woodcode,ls_pcode
- String ls_1stunit
- Long ls_sptid,ls_mtrlid
- ll_row = dw_uc.GetRow()
- IF ll_row <= 0 THEN RETURN rslt
- IF dw_uc.Object.sptid[ll_row] > 0 And dw_uc.Object.sptid[ll_row] <> arg_sptid THEN
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_inwaremx_relid[i] <> 0 THEN
- for_saletask = True
- EXIT
- END IF
- NEXT
-
- IF for_saletask = True THEN //按订单
- IF MessageBox('询问','由于收货单按订单收货,更换供应商会删除全部明细,是否继续?',question!,yesno!) = 2 THEN
- rslt = 0
- RETURN rslt
- END IF
- dw_child.Reset()
- This.TriggerEvent("insert_childrow")
-
- ELSE //不按订单
- wf_sptprice_mtrl(ins_rt_stru)
-
- wf_sptprice_in(ins_rt_stru)
- END IF
- END IF
- RETURN rslt
- end function
- public subroutine wf_sptprice_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)
- FOR i = 1 To dw_child.RowCount()
- ll_mtrl[i] = dw_child.Object.u_inwaremx_mtrlid[i]
- NEXT
- 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_sptprice_in (s_mtrldef_array ss_inscust);//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
- IF Not dw_edit_mode THEN RETURN
- Long child_row,ls_null
- Long ins_storageid = 0
- Long ls_sptid
- Dec ls_lastprice,ls_rebate
- Long chc = 1,ls_j,i
- SetNull(ls_null)
- dw_uc.AcceptText()
- dw_child.AcceptText()
- s_edit_index_tran s_tranf8
- s_tranf8.if_retrieve_all = False
- s_tranf8.arg_pkid = 0
- s_tranf8.arg_string_code = ''
- s_tranf8.b_long = 2
- ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
- IF ins_storageid = 0 Or IsNull(ins_storageid) THEN
- MessageBox('提示','请先选择仓库', Information!, OK! )
- RETURN
- END IF
- child_row = dw_child.GetRow()
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF IsNull(ls_sptid) Or ls_sptid = 0 THEN
- This.TriggerEvent("ue_f9")
- END IF
- dw_uc.AcceptText()
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF Not IsValid(w_mtrldef_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.b_long = 2
- s_ch_tran.c_long = ins_storageid
- s_ch_tran.if_select_all = True
-
- dw_child.AcceptText()
- IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
-
-
-
- s_mtrldef_array s_inscust
- s_inscust = ss_inscust //接受返回结构
- dw_child.AcceptText()
- FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
- IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
- FOR i = 1 To dw_child.RowCount()
- IF s_inscust.mtrlid[ls_j] = dw_child.Object.u_inwaremx_mtrlid[i] THEN
- child_row = i
- EXIT
- END IF
- NEXT
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
-
- dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
-
- Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
- String arg_msg,ls_status,ls_woodcode,ls_pcode
- String ls_1stunit
-
- ls_status = dw_child.Object.u_inwaremx_status[child_row]
- ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
- ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
-
- ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
- IF cur_editfocus = 1 THEN
- IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
- Int Mtrlorigin
- SELECT u_mtrldef.Mtrlorigin
- INTO :Mtrlorigin
- FROM u_mtrldef
- Where mtrlid = :s_inscust.mtrlid[ls_j];
- IF sqlca.SQLCode <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[child_row] = 0
- ELSE
- IF Mtrlorigin > 0 THEN
- dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
- ELSE
- dw_child.Object.u_inwaremx_uprice[child_row] = 0
- END IF
- END IF
-
- dw_child.Object.u_inwaremx_rebate[child_row] = 1
- IF s_inscust.unit_buy[ls_j] = '' THEN
- dw_child.Object.u_inwaremx_rate[child_row] = 1
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
- ELSE
- dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
- END IF
- ELSE
- dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
- IF ls_1stzqrate = 0 THEN
- dw_child.Object.u_inwaremx_rebate[child_row] = 1
- ELSE
- dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
- END IF
-
- dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
- dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
- END IF
- ELSE
- IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
- IF s_inscust.unit_buy[ls_j] = '' THEN
- dw_child.Object.u_inwaremx_rate[child_row] = 1
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
- ELSE
- dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
- END IF
-
- END IF
- END IF
-
- Decimal ld_wareqty
- String ls_msg
- ld_wareqty = 0
- IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
- MessageBox('提示',ls_msg, Information!, OK! )
- END IF
- dw_child.Object.wareqty[child_row] = ld_wareqty
-
-
- dw_child.AcceptText( )
- String ls_sptmtrlname
-
- IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
- dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
- END IF
-
- dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
-
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- END IF
- NEXT
-
- This.TriggerEvent('ue_allowedit')
- END IF
- dw_child.SetRedraw(True)
- dw_child.SetFocus()
- end subroutine
- public function integer wf_openfile (datawindow arg_dw);
- String str_savename,named,s_grxh
- Int excelok,li_net
- Long li_count,i,ll_hang
- oleobject excelserver
- excelserver = Create oleobject
- excelok = excelserver.ConnectToNewObject("excel.application")
- //检查返回值,以确保已成功地连接到了Excel
- IF excelok <> 0 THEN
- MessageBox("提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!", Information!, OK! )
- RETURN -1
- END IF
- li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
- IF li_net > 0 THEN
- IF str_savename = "" THEN RETURN -1
- arg_dw.SetTransObject(sqlca)
- arg_dw.InsertRow(0)
- arg_dw.Reset()
- excelserver.workbooks.Open(str_savename)
- excelserver.activesheet.cells.Copy
- datastore ds_col30
-
- /////////////建立映射//////////////////// //
- ds_col30 = Create datastore
- ds_col30.DataObject = 'dw_col30'
-
- ds_col30.ImportClipboard(1)
- Long ll_s_col_count = 30
- Long ll_d_col_count
- String ls_execltitlename,ls_filtername
- s_dytitle_filter ss_dytitle_filter[]
- Long k = 1,m
- Long li_argcnt = 1
- String ls_cmd,ls_arg[]
- ll_d_col_count = Long(arg_dw.Object.datawindow.Column.Count)
- Long ll_map[] // 目标表与原表的映射,0为没有映射
- String ls_colType[] // 目标表列类型
-
- Long col_d, col_s
-
- SELECT Top 1 hang Into :ll_hang From u_dytitle_inwarebuy;
-
- FOR col_d = 1 To ll_d_col_count
- String ls_col_title, ls_col_name
- ls_col_name = arg_dw.Describe('#' + String(col_d) + '.Name')
- ls_colType[col_d] = arg_dw.Describe('#' + String(col_d) + '.ColType')
- ls_col_title = arg_dw.Describe(ls_col_name + '_t.Text') //数据窗口的标题名称
- ll_map[col_d] = 0
- FOR col_s = 1 To ll_s_col_count
- String ls_s_title
- ls_s_title = ds_col30.GetItemString(ll_hang , col_s) //execl表的标题名称
- //
- SELECT execltitlename,filtername Into :ls_execltitlename,:ls_filtername From u_dytitle_inwarebuy Where Name = :ls_col_name;
-
- //
-
-
- // if lower(trim(ls_col_title)) = lower(trim(ls_s_title)) then
- IF Lower(Trim(ls_execltitlename)) = Lower(Trim(ls_s_title)) THEN
- ll_map[col_d] = col_s
- IF ls_filtername <> '' THEN //记录过滤
- ss_dytitle_filter[k].num = col_s
- ss_dytitle_filter[k].filtername = ls_filtername
- k++
- END IF
- EXIT
- END IF
- NEXT
- NEXT
-
- // TODO: 人工干预,设置映射
-
-
-
- Long row_s, row_d
- String lk_temp
- FOR row_s = ll_hang + 1 To ds_col30.RowCount( ) //ll_hang + 1
- //过滤
- FOR k = 1 To UpperBound(ss_dytitle_filter)
- lk_temp = String( Trim(ds_col30.GetItemString(row_s, ss_dytitle_filter[k].num)))
- //
-
- ls_cmd = ss_dytitle_filter[k].filtername
- IF Pos(ls_cmd,',') > 0 THEN //如果是多少个过滤字眼
- DO WHILE Len(ls_cmd) > 0
- i = Pos( ls_cmd, ",")
- IF i = 0 THEN i = Len(ls_cmd) + 1
- ls_arg[li_argcnt] = Left(ls_cmd, i - 1)
- li_argcnt = li_argcnt + 1
- ls_cmd = Replace(ls_cmd, 1, i, "")
- LOOP
- FOR m = 1 To UpperBound(ls_arg)
- IF Pos(lk_temp,ls_arg[m]) > 0 THEN
- GOTO ext
- END IF
- NEXT
-
-
- ELSE //一个过滤字眼
- IF Pos(lk_temp,ss_dytitle_filter[k].filtername) > 0 THEN
- GOTO ext
- END IF
- END IF
- //
- NEXT
- //过滤
-
-
- row_d = arg_dw.InsertRow(0)
- FOR col_d = 1 To ll_d_col_count
- IF ll_map[col_d] = 0 THEN CONTINUE
- Any Value
- String ls_value
- ls_value = Trim(ds_col30.GetItemString(row_s, ll_map[col_d]))
- IF Lower(Left(ls_colType[col_d], 4)) = 'char' THEN
- Value = ls_value
- ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'long' &
- Or Lower(Left(ls_colType[col_d], 3)) = 'int' &
- Or Lower(Left(ls_colType[col_d], 3)) = 'num' &
- Or Lower(Left(ls_colType[col_d], 5)) = 'ulong' THEN
- Value = Long(ls_value)
- ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'deci' &
- Or Lower(Left(ls_colType[col_d], 4)) = 'real' THEN
- Value = Dec(ls_value)
- ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'date' THEN
- Value = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 12)))
- END IF
- arg_dw.SetItem(row_d, col_d, Value)
- NEXT
- ext:
- NEXT
- Destroy ds_col30
- ///////////////////////////////////// //
-
- // li_count = arg_dw.ImportClipboard(2) //导入数据 (从第几行开始导入)
- Clipboard("")
-
- excelserver.quit()
- excelserver.DisconnectObject()
- Destroy excelserver
-
- FOR i = 1 To arg_dw.RowCount( )
- // arg_dw.Object.repeat[i] = 0
- NEXT
- arg_dw.AcceptText( )
- RETURN 1
- ELSE
- MessageBox('提示','没有指定导入文件!', Information!, OK! )
- RETURN -1
- END IF
-
-
-
-
-
-
-
-
- end function
- public 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_inwaremx_mtrlid[i]
- dec_qty = dw_child.Object.u_inwaremx_uqty[i]
- dec_addqty = dw_child.Object.u_inwaremx_addqty[i]
- ls_status = dw_child.Object.u_inwaremx_status[i]
- ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
- ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
- ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
- ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
- dec_danpackqty=0
- dec_packqty=dw_child.Object.u_inwaremx_packqty[i]
- ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
- dec_rebate = dw_child.Object.u_inwaremx_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_inwaremx_uqty[i] = dec_tmp
- END IF
-
- NEXT
- dw_child.AcceptText()
- ext:
- RETURN rslt
- end function
- public function integer wf_check_planprice (ref string arg_msg);Int rslt = 1
- Long i
- Long llk_mtrlid
- Decimal dec_planprice,i_lmbuyprice
- dw_child.AcceptText()
- SELECT top 1 planprice INTO :i_lmbuyprice
- FROM u_mtrldef
- Where mtrlid = :llk_mtrlid;
-
- FOR i = 1 To dw_child.RowCount()
- dec_planprice = 0
- i_lmbuyprice = 0
- llk_mtrlid= dw_child.Object.u_inwaremx_mtrlid[i]
- dec_planprice = dw_child.Object.u_inwaremx_uprice[i]
- SELECT top 1 planprice INTO :i_lmbuyprice
- FROM u_mtrldef
- Where mtrlid = :llk_mtrlid;
- IF IsNull(i_lmbuyprice) THEN i_lmbuyprice = 0
- IF IsNull(dec_planprice) THEN dec_planprice = 0
-
- IF dec_planprice > i_lmbuyprice THEN
-
- arg_msg = arg_msg + '第'+ String(i)+'行超出计划价'+ string(i_lmbuyprice,'#,##0.####')+ ' 是否继续保存?~r '
- END IF
-
- NEXT
- IF arg_msg <> '' THEN
- rslt = 0
- END IF
- RETURN rslt
- end function
- public subroutine wf_enamt_facechg ();IF ii_enamt_notax_edit = 0 THEN //录入不含税单价 为 false
- dw_child.Modify('u_inwaremx_uprice_notax.protect = 1~t u_inwaremx_uprice_notax.Color = "0~trgb(0,0,0)"')
- dw_child.Modify('u_inwaremx_uprice_notax_t.Color = "0~trgb(0,0,0)"')
-
-
-
- ELSEIF ii_enamt_notax_edit = 1 THEN
-
- dw_child.Modify('u_inwaremx_uprice_notax.protect = 0~t u_inwaremx_uprice_notax.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('u_inwaremx_uprice_notax_t.Color = "0~trgb(0,0,255)"')
-
-
-
-
-
- END IF
- end subroutine
- public subroutine wf_ue_f7 (s_mtrldef_buytask_array s_inscust);
- IF Not dw_edit_mode THEN RETURN
- Long child_row,ls_sptid,ls_j
- child_row = dw_child.GetRow()
- Int li_statusflag,li_woodcodeflag,li_pcodeflag
- String arg_msg
- s_mtrldef_array arg_s_mtrldef
- dw_uc.AcceptText()
- dw_child.AcceptText()
- uo_custdef uo_cust
- uo_cust = Create uo_custdef
- uo_cust.commit_transaction = sqlca
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF ls_sptid <= 0 THEN
- MessageBox("提示","请先选择供应商", Information!, OK! )
- RETURN
- END IF
- //仓库
- Long ll_storageid
- Int li_if_cus_mtrlware
- Long ll_cusid
- String ls_cuscode, ls_cusname
- String ls_plancode
- Decimal ld_tax
- ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
- SELECT balctype
- INTO :li_if_cus_mtrlware
- FROM u_storage
- Where storageid = :ll_storageid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox("提示","查询仓库是否使用客户库存失败", Information!, OK! )
- RETURN
- END IF
- IF li_if_cus_mtrlware = 1 THEN
- //ll_cusid = arg_cusid
- IF uo_cust.getinfo(ll_cusid,arg_msg) = 1 THEN
- ls_cuscode = uo_cust.s_cust.cuscode
- ls_cusname = uo_cust.s_cust.Name
- END IF
- ELSE
- //ll_cusid = 0
- END IF
- s_edit_index_tran s_tranf8
- s_tranf8.if_retrieve_all = local_retrieve_all
- s_tranf8.arg_pkid = 0
- s_tranf8.arg_string_code = ''
- s_tranf8.b_long = 2
- s_tranf8.d_long = ls_sptid
- //IF Not IsValid(w_inware_buytask_ch) THEN
- // OpenWithParm(w_inware_buytask_ch,s_tranf8)
- //
- // s_mtrldef_buytask_array s_inscust
- // s_inscust = Message.PowerObjectParm //接受返回结构
- dw_child.SetRedraw(False)
- FOR ls_j = 1 To UpperBound(s_inscust.buytaskid)
- IF s_inscust.buytaskid[ls_j] > 0 THEN //正常返回值则可以取以下值
-
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.u_inwaremx_relid[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_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_inscust.banktypeid[ls_j]
-
- // IF dw_uc.Object.part[dw_uc.GetRow()] = '' Or dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j] THEN
- // dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j]
- // ELSE
- // dw_uc.Object.part[dw_uc.GetRow()] = ''
- // END IF
-
- //明细表
- dw_child.Object.u_inwaremx_ifrel[child_row] = 1
- dw_child.Object.u_inwaremx_relid[child_row] = s_inscust.buytaskid[ls_j]
- dw_child.Object.u_inwaremx_relprintid[child_row] = s_inscust.printid[ls_j]
-
- dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.u_buytask_taskcode[child_row] = s_inscust.buytaskcode[ls_j]
- dw_child.Object.u_inwaremx_relcode[child_row] = s_inscust.buytaskcode[ls_j]
- dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
-
- dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.uprice[ls_j]
- dw_child.Object.u_inwaremx_rebate[child_row] = s_inscust.rebate[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
-
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.mxunit[ls_j]
- dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate[ls_j]
-
- dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_inscust.dscrp[ls_j]
- dw_child.Object.u_inwaremx_mxdscrp2[child_row] = s_inscust.dscrp2[ls_j]
- dw_child.Object.u_inwaremx_mxdscrp3[child_row] = s_inscust.dscrp3[ls_j]
- dw_child.Object.u_inwaremx_mxdscrp4[child_row] = s_inscust.dscrp4[ls_j]
-
- dw_child.Object.u_inwaremx_bootqty[child_row] = s_inscust.qty[ls_j]
-
- dw_child.Object.u_inwaremx_uqty[child_row] = s_inscust.uqty[ls_j]
- dw_child.Object.u_inwaremx_buyqty[child_row] = s_inscust.uqty[ls_j]
- dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust.addqty[ls_j]
-
- dw_child.Object.u_buytask_relcode[child_row] = s_inscust.relcode[ls_j]
-
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
-
- dw_child.Object.u_inwaremx_sptmtrlname[child_row] = s_inscust.sptmtrlname[ls_j]
-
- ls_plancode = f_get_newplancode(ll_storageid)
- dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
-
- IF s_inscust.plancode[ls_j] <> '' then
- dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j]
- end if
-
- Decimal dec_lmbuyprice //设定购价
- dec_lmbuyprice = 0
- SELECT lmbuyprice Into :dec_lmbuyprice From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j];
- dw_child.Object.u_mtrldef_lmbuyprice[child_row] = dec_lmbuyprice
-
-
- IF s_inscust.tax[ls_j] <> 0 THEN
- dw_child.Object.u_inwaremx_tax[child_row] = s_inscust.tax[ls_j]
- ELSE
- IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 THEN
- ld_tax = 0
- ELSE
- dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
- END IF
- END IF
-
-
- IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
- li_statusflag = 0
- li_woodcodeflag = 0
- li_pcodeflag = 0
- ELSE
- li_statusflag = arg_s_mtrldef.statusflag[1]
- li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
- li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
- END IF
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
-
- IF li_if_cus_mtrlware = 1 THEN
- dw_child.Object.u_inwaremx_if_mtrlware[child_row] = 1
- dw_child.Object.u_cust_cuscode[child_row] = s_inscust.cuscode[ls_j]
- dw_child.Object.u_cust_name[child_row] = s_inscust.cusname[ls_j]
- dw_child.Object.u_inwaremx_sptid_cusid[child_row] = s_inscust.cusid[ls_j]
- END IF
-
- //获取当前库存
- Decimal ld_wareqty
- String ls_msg
- ld_wareqty = 0
- IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
- MessageBox('提示',ls_msg, Information!, OK! )
- END IF
- dw_child.Object.wareqty[child_row] = ld_wareqty
-
- wf_cmpl_amt(child_row)
-
- END IF
- NEXT
-
-
- dw_child.SetRedraw(True)
- dw_child.SetColumn('u_inwaremx_uqty')
- This.TriggerEvent('ue_allowedit')
- //END IF
- Destroy uo_cust
- end subroutine
- on w_inware_buy.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.cbx_enamt_edit=create cbx_enamt_edit
- this.ddlb_status=create ddlb_status
- this.cbx_packqty_cmpl=create cbx_packqty_cmpl
- this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit
- 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.cbx_enamt_edit
- this.Control[iCurrent+5]=this.ddlb_status
- this.Control[iCurrent+6]=this.cbx_packqty_cmpl
- this.Control[iCurrent+7]=this.cbx_enamt_notax_edit
- this.Control[iCurrent+8]=this.cbx_all
- end on
- on w_inware_buy.destroy
- call super::destroy
- destroy(this.ddlb_scid)
- destroy(this.st_3)
- destroy(this.st_2)
- destroy(this.cbx_enamt_edit)
- destroy(this.ddlb_status)
- destroy(this.cbx_packqty_cmpl)
- destroy(this.cbx_enamt_notax_edit)
- destroy(this.cbx_all)
- end on
- event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
- Boolean 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("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
- //childdw.retrieve()
- dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
- dw_pageretr.Retrieve(cur_scid_arr,sys_user_storageid,cur_flag,cur_secflag,sys_user_spttype)
- IF dw_pageretr.RowCount() > 0 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
- end event
- event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
- if trim(sle_usual_query.text)<>'' then
- IF POS(trim(sle_usual_query.text),'%')=0 THEN
- obj_expr=obj_expr+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
- ELSE
- obj_expr=obj_expr+'( inwarecode 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;call super::ue_usual_query_retr;string ls_querystrpart=''
- ls_newselect=lower(ori_oldselect)
- if trim(sle_usual_query.text)<>'' then
- if pos(trim(sle_usual_query.text),'%')=0 then
- ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
- else
- ls_querystrpart="(u_inware.inwarecode 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_inware_buy 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)
- 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 = 13 //uc dw前7列可以编辑
- child_column_int = 28 //子dw前8列可以编辑
- uo_ware = Create uo_inware_buy
- uo_ware.commit_transaction = sqlca
- uo_sptprice = Create uo_spt_price
- IF sys_option_buy_rateedit = 1 THEN
- dw_child.Modify ("u_inwaremx_rate_t.color=16711680")
- dw_child.Modify ("u_inwaremx_rate.color=16711680")
- dw_child.Modify ("u_inwaremx_rate.protect=0")
-
- ELSE
- dw_child.Modify ("u_inwaremx_rate.protect=1")
- END IF
- s_hide_col s_col,s_null
- s_col.col_1 = 'u_inwaremx_fprice'
- s_col.col_2 = 'u_inwaremx_rebate'
- s_col.col_3 = 'u_inwaremx_price'
- s_col.col_4 = 'u_inwaremx_uamt'
- s_col.col_5 = 'u_inwaremx_uprice'
- s_col.col_6 = 'u_inwaremx_uamt_tax'
- s_col.col_7 = 'u_inwaremx_bsamt'
- s_col.col_8 = 'u_inwaremx_bsamt_tax'
- s_col.col_9 = 'u_inwaremx_tax'
- s_col.col_10 = 'u_inwaremx_uprice_notax'
- s_col.col_11 = 'fprice_notax'
- s_col.col_12 = 'uamt_notax'
- f_hide_col(121,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)
- s_hide_col s_col_dftsptprice
- s_col_dftsptprice.col_1 = 'u_inwaremx_dftsptprice'
- f_hide_col(1462,dw_child,s_col_dftsptprice)
- IF f_power_ind(124) Or f_power_ind(1769) THEN
- string a
- dw_child.modify("u_inwaremx_uprice.Color = ~"0~~t if(u_inwaremx_uprice * u_inwaremx_rebate > u_inwaremx_dftsptprice ,rgb(255,0,0),rgb(0,0,255))~"")
- END IF
- end event
- event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
- ddlb_status.Enabled = NOT dw_edit_mode
- cbx_enamt_edit.Enabled = NOT dw_edit_mode
- cbx_packqty_cmpl.Enabled = NOT dw_edit_mode
- cbx_enamt_notax_edit.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
- IF dw_edit_mode THEN
- IF flag = 1 AND secflag = 0 THEN
- dw_uc.Modify('storageid.protect=1 ~n u_spt_sptcode.protect=1')
- dw_child.Modify('u_inwaremx_ifrel.protect=1 ~n u_inwaremx_relcode.protect=1 ~n u_mtrldef_mtrlcode.protect=1 ~n u_inwaremx_uqty.protect=1 ~n u_inwaremx_status.protect=1 ~n u_inwaremx_woodcode.protect=1 ~n u_inwaremx_pcode.protect=1 ~n u_inwaremx_addqty.protect=1 ~n u_inwaremx_unit.protect=1 ~n u_inwaremx_plancode.protect=1')
- cb_xm.Enabled = FALSE
- ELSE
- dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
- // dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
- dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ')
- cb_xm.Enabled = TRUE
- END IF
- ELSE
- dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
- dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
- END IF
- IF ii_enamt_edit = 0 THEN
- dw_child.Modify('u_inwaremx_uamt.protect = 1~t u_inwaremx_uamt.Color = 0')
- dw_child.Modify('u_inwaremx_uamt_t.Color = 0')
- ELSE
- dw_child.Modify('u_inwaremx_uamt.protect = 0~t u_inwaremx_uamt.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('u_inwaremx_uamt_t.Color = "0~trgb(0,0,255)"')
- END IF
- IF sys_option_outware_if_buyqty = 0 THEN
- dw_child.Modify('u_inwaremx_buyqty.protect = 1~t u_inwaremx_buyqty.Color = 0')
- dw_child.Modify('u_inwaremx_buyqty_t.Color = 0')
- ELSE
- dw_child.Modify('u_inwaremx_buyqty.protect = 0~t u_inwaremx_buyqty.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('u_inwaremx_buyqty_t.Color = "0~trgb(0,0,255)"')
- END IF
- IF sys_power_issuper Or Not f_power_ind(1828) THEN //492 限制折扣
- dw_child.Modify('u_inwaremx_uprice.protect=0 ')
- ELSE
- dw_child.Modify("u_inwaremx_uprice.protect = ~"0~~t if(u_inwaremx_ifrel = 1 ,1,0)~"")
- END IF
- end event
- event close;call super::close;destroy uo_ware
- destroy uo_sptprice
- wf_del_tempfilepathname()
- end event
- event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
- IF Not dw_edit_mode THEN RETURN
- Long child_row,ls_null
- Long ll_storageid = 0
- Long ls_sptid,ls_mtrlid
- Dec ls_lastprice,ls_rebate,ld_tax
- Long chc = 1,ls_j
- String ls_plancode
- String ls_con_name
- String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode
- SetNull(ls_null)
- dw_uc.AcceptText()
- dw_child.AcceptText()
- s_edit_index_tran s_tranf8
- s_tranf8.if_retrieve_all = False
- s_tranf8.arg_pkid = 0
- s_tranf8.arg_string_code = ''
- s_tranf8.b_long = 2
- ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
- IF ll_storageid = 0 Or IsNull(ll_storageid) THEN
- MessageBox('提示','请先选择仓库', Information!, OK! )
- RETURN
- END IF
- child_row = dw_child.GetRow()
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF IsNull(ls_sptid) Or ls_sptid = 0 THEN
- This.TriggerEvent("ue_f9")
- END IF
- dw_uc.AcceptText()
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF Not IsValid(w_mtrldef_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.b_long = 2
- s_ch_tran.c_long = ll_storageid
- s_ch_tran.d_long = ls_sptid
- s_ch_tran.if_select_all = True
-
- dw_child.AcceptText()
- IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
-
- OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
-
- s_mtrldef_array s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
- FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
- IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
-
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.u_inwaremx_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_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
- dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
- dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
-
- dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
-
- dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
- dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
-
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名
- ls_mtrlid =S_INSCUST.mtrlid[ls_j]
- Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'')
- Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode
- From u_sptmtrlname
- Where mtrlid= :ls_mtrlid and sptid= :ls_sptid ;
- dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname
- dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode
- dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode
- //3个属性默认值
- String ls_status_default,ls_woodcode_default,ls_pcode_default
- ls_status_default = ''
- ls_woodcode_default = ''
- ls_pcode_default = ''
- SELECT status_default,woodcode_default,pcode_default Into :ls_status_default,:ls_woodcode_default,:ls_pcode_default From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j];
-
- IF Len(ls_status_default) > 0 THEN
- dw_child.Object.u_inwaremx_status[child_row] = Trim(ls_status_default)
- END IF
-
-
- IF Len(ls_woodcode_default) > 0 THEN
- dw_child.Object.u_inwaremx_woodcode[child_row] = Trim(ls_woodcode_default)
- END IF
-
-
- IF Len(ls_pcode_default) > 0 THEN
- dw_child.Object.u_inwaremx_pcode[child_row] = Trim(ls_pcode_default)
- END IF
-
-
-
- decimal dec_lmbuyprice //设定购价
- dec_lmbuyprice=0
- select lmbuyprice into :dec_lmbuyprice from u_mtrldef where mtrlid=:s_inscust.mtrlid[ls_j];
- dw_child.Object.u_mtrldef_lmbuyprice[child_row]=dec_lmbuyprice
-
-
- IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 then
- ld_tax = 0
- ELSE
- dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
- END IF
-
- IF s_inscust.statusflag[ls_j] = 2 THEN
- SELECT name
- into :ls_con_name
- from u_mtrl_configure
- where u_mtrl_configure.mtrlid = :s_inscust.mtrlid[ls_j] and u_mtrl_configure.DefaultPZ = 1;
- dw_child.Object.u_inwaremx_status[child_row] = ls_con_name
- END IF
-
-
- ls_plancode = f_get_newplancode(ll_storageid)
- dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
-
- Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
- String arg_msg,ls_status,ls_woodcode,ls_pcode
- String ls_1stunit
-
- ls_status = dw_child.Object.u_inwaremx_status[child_row]
- ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
- ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
-
- ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
- IF cur_editfocus = 1 THEN
- IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
- Int Mtrlorigin
- SELECT u_mtrldef.Mtrlorigin
- INTO :Mtrlorigin
- FROM u_mtrldef
- Where mtrlid = :s_inscust.mtrlid[ls_j];
- IF sqlca.SQLCode <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[child_row] = 0
- ELSE
- IF Mtrlorigin > 0 THEN
- dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
- ELSE
- dw_child.Object.u_inwaremx_uprice[child_row] = 0
- END IF
- END IF
-
- dw_child.Object.u_inwaremx_rebate[child_row] = 1
- IF s_inscust.unit_buy[ls_j] = '' THEN
- dw_child.Object.u_inwaremx_rate[child_row] = 1
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
- ELSE
- dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
- END IF
- ELSE
- dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
- IF ls_1stzqrate = 0 THEN
- dw_child.Object.u_inwaremx_rebate[child_row] = 1
- ELSE
- dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
- END IF
-
- dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
- dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
- END IF
- ELSE
- IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
- IF s_inscust.unit_buy[ls_j] = '' THEN
- dw_child.Object.u_inwaremx_rate[child_row] = 1
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
- ELSE
- dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
- END IF
-
- END IF
- END IF
-
- Decimal ld_wareqty
- String ls_msg
- ld_wareqty = 0
- IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
- MessageBox('提示',ls_msg, Information!, OK! )
- END IF
- dw_child.Object.wareqty[child_row] = ld_wareqty
-
-
- dw_child.AcceptText( )
- //String ls_sptmtrlname
-
- IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
- dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
- END IF
-
- dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
-
- wf_cmpl_amt(child_row)
- END IF
- NEXT
-
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- This.TriggerEvent('ue_allowedit')
- 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_inware_scid[row]
- uc_relid = dw_pageretr.Object.inwareid[row]
- dw_child.SetRedraw (FALSE)
- dw_child.Retrieve(ll_scid,uc_relid)
- dw_child.SetRedraw (TRUE)
- ELSE
- dw_child.Reset()
- END IF
- end event
- event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认]
- IF Not dw_edit_mode THEN RETURN
- Long uc_row
- uc_row = dw_uc.GetRow()
- IF uc_row = 0 THEN
- MessageBox('提示','请选定进仓单!', Information!, OK! )
- RETURN
- END IF
- dw_uc.AcceptText()
- IF Not IsValid(W_spt_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
- //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
-
- IF sys_spt_hideinfo = 0 THEN
- OpenWithParm(W_spt_edit,s_ch_tran) //调用
- ELSE
- OpenWithParm(W_spt_ch,s_ch_tran) //调用
- END IF
-
- S_spt S_INSCUST
- S_INSCUST = Message.PowerObjectParm //接受返回结构
-
- IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
-
- //重置dw_child 返回0不更换供应商
- IF wf_change_sptid(S_INSCUST.sptid) = 0 THEN RETURN
-
- dw_uc.SetRedraw(False)
- dw_uc.Object.sptid[uc_row] = S_INSCUST.sptid
- dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name
- dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode
- IF S_INSCUST.dftbanktypeid > 0 THEN
- dw_uc.Object.u_inware_relint_1[uc_row] = S_INSCUST.dftbanktypeid
- END IF
- IF S_INSCUST.dftmoneyid > 0 THEN
- dw_uc.Object.u_inware_relint_3[uc_row] = S_INSCUST.dftmoneyid
- dw_uc.Object.u_inware_mrate[uc_row] = f_get_mrate(S_INSCUST.dftmoneyid)
- END IF
- dw_uc.SetRedraw(True)
- dw_uc.SetColumn("indate")
- END IF
- END IF
- end event
- event ue_viewprint;call super::ue_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- LONG LS_ROW
- LS_ROW=dw_pageretr.getrow()
- IF LS_ROW<=0 THEN
- MESSAGEBOX('错误','没有打印目标单据!', StopSign!, OK! )
- RETURN
- END IF
- if sys_option_auditprint = 1 then
- if dw_pageretr.object.flag[ls_row] <> 1 then
- MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
- RETURN
- END IF
- end if
-
- S_print_MSG LS_PRMSG
- IF ls_newname <> '' THEN
- IF li_auditprint = 1 THEN
- IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
- MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
- RETURN
- END IF
- END IF
- ls_prmsg.obj_dwNAME = ls_newname
- ELSE
- ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit'
- END IF
- LS_PRMSG.TAG_TEXT='采购收货单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg=15
- LS_PRMSG.PAGECH_FLAG=0
- LS_PRMSG.retr_scid=cur_scid
- LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[LS_ROW]
- 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_inware',printnum,cur_scid,dw_pageretr.object.inwareid[LS_ROW],'','',arg_msg,true)
- string ls_taskcode
- ls_taskcode = dw_pageretr.Object.inwarecode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (403, 1, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- end event
- event ue_f7;call super::ue_f7;
- IF Not dw_edit_mode THEN RETURN
- Long child_row,ls_sptid,ls_j
- child_row = dw_child.GetRow()
- Int li_statusflag,li_woodcodeflag,li_pcodeflag
- String arg_msg
- string ls_handtype
- s_mtrldef_array arg_s_mtrldef
- dw_uc.AcceptText()
- dw_child.AcceptText()
- uo_custdef uo_cust
- uo_cust = Create uo_custdef
- uo_cust.commit_transaction = sqlca
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF ls_sptid <= 0 THEN
- MessageBox("提示","请先选择供应商", Information!, OK! )
- RETURN
- END IF
- //仓库
- Long ll_storageid
- Int li_if_cus_mtrlware
- Long ll_cusid,ll_sptid,ls_mtrlid
- String ls_cuscode, ls_cusname
- String ls_plancode
- Decimal ld_tax
- String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode
- ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
- SELECT balctype
- INTO :li_if_cus_mtrlware
- FROM u_storage
- Where storageid = :ll_storageid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox("提示","查询仓库是否使用客户库存失败", Information!, OK! )
- RETURN
- END IF
- IF li_if_cus_mtrlware = 1 THEN
- //ll_cusid = arg_cusid
- IF uo_cust.getinfo(ll_cusid,arg_msg) = 1 THEN
- ls_cuscode = uo_cust.s_cust.cuscode
- ls_cusname = uo_cust.s_cust.Name
- END IF
- ELSE
- //ll_cusid = 0
- END IF
- s_edit_index_tran s_tranf8
- s_tranf8.if_retrieve_all = local_retrieve_all
- s_tranf8.arg_pkid = 0
- s_tranf8.arg_string_code = ''
- s_tranf8.b_long = 2
- s_tranf8.d_long = ls_sptid
- IF Not IsValid(w_inware_buytask_ch) THEN
- OpenWithParm(w_inware_buytask_ch,s_tranf8)
-
- s_mtrldef_buytask_array s_inscust
- s_inscust = Message.PowerObjectParm //接受返回结构
- dw_child.SetRedraw(False)
- FOR ls_j = 1 To UpperBound(s_inscust.buytaskid)
- IF s_inscust.buytaskid[ls_j] > 0 THEN //正常返回值则可以取以下值
-
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.u_inwaremx_relid[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_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_inscust.banktypeid[ls_j]
-
- // IF dw_uc.Object.part[dw_uc.GetRow()] = '' Or dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j] THEN
- // dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j]
- // ELSE
- // dw_uc.Object.part[dw_uc.GetRow()] = ''
- // END IF
-
- //明细表
- dw_child.Object.u_inwaremx_ifrel[child_row] = 1
- dw_child.Object.u_inwaremx_relid[child_row] = s_inscust.buytaskid[ls_j]
- dw_child.Object.u_inwaremx_relprintid[child_row] = s_inscust.printid[ls_j]
-
- dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
- dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
- dw_child.Object.u_buytask_taskcode[child_row] = s_inscust.buytaskcode[ls_j]
- dw_child.Object.u_inwaremx_relcode[child_row] = s_inscust.buytaskcode[ls_j]
- dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
- dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
- dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
-
- dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.uprice[ls_j]
- dw_child.Object.u_inwaremx_rebate[child_row] = s_inscust.rebate[ls_j]
- dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
- dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
-
- dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.mxunit[ls_j]
- dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate[ls_j]
-
- dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_inscust.dscrp[ls_j]
- dw_child.Object.u_inwaremx_mxdscrp2[child_row] = s_inscust.dscrp2[ls_j]
- dw_child.Object.u_inwaremx_mxdscrp3[child_row] = s_inscust.dscrp3[ls_j]
- dw_child.Object.u_inwaremx_mxdscrp4[child_row] = s_inscust.dscrp4[ls_j]
-
- dw_child.Object.u_inwaremx_bootqty[child_row] = s_inscust.qty[ls_j]
-
- dw_child.Object.u_inwaremx_uqty[child_row] = s_inscust.uqty[ls_j]
- dw_child.Object.u_inwaremx_buyqty[child_row] = s_inscust.uqty[ls_j]
- dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust.addqty[ls_j]
-
- dw_child.Object.u_buytask_relcode[child_row] = s_inscust.relcode[ls_j]
-
- dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
- dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
- dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
-
- dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
- dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
-
- dw_child.Object.u_saletask_taskcode[child_row] = s_inscust.saletaskcode[ls_j]
- dw_child.Object.u_saletask_relcode[child_row] = s_inscust.salerelcode[ls_j]
- ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名
- ls_mtrlid = s_inscust.mtrlid[ls_j]
- Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'')
- Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode
- From u_sptmtrlname
- Where mtrlid= :ls_mtrlid and sptid= :ll_sptid ;
- dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname
- dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode
- dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode
-
- dw_child.Object.u_inwaremx_sptmtrlname[child_row] = s_inscust.sptmtrlname[ls_j]
-
- dw_child.Object.u_buytask_dscrp[child_row] = s_inscust.buytask_dscrp[ls_j]
-
- IF s_inscust.plancode[ls_j] = '' THEN
- ls_plancode = f_get_newplancode(ll_storageid)
- dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
- ELSE
- dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j]
- END IF
-
-
- Decimal dec_lmbuyprice //设定购价
- dec_lmbuyprice = 0
- SELECT lmbuyprice Into :dec_lmbuyprice From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j];
- dw_child.Object.u_mtrldef_lmbuyprice[child_row] = dec_lmbuyprice
-
-
- IF s_inscust.tax[ls_j] <> 0 THEN
- dw_child.Object.u_inwaremx_tax[child_row] = s_inscust.tax[ls_j]
- ELSE
- IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 THEN
- ld_tax = 0
- ELSE
- dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
- END IF
- END IF
-
-
- IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
- li_statusflag = 0
- li_woodcodeflag = 0
- li_pcodeflag = 0
- ls_handtype = ""
- ELSE
- li_statusflag = arg_s_mtrldef.statusflag[1]
- li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
- li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
- ls_handtype = arg_s_mtrldef.handtype[1]
- END IF
-
- dw_child.Object.u_mtrldef_handtype[child_row] = ls_handtype
- dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
-
- IF li_if_cus_mtrlware = 1 THEN
- dw_child.Object.u_inwaremx_if_mtrlware[child_row] = 1
- dw_child.Object.u_cust_cuscode[child_row] = s_inscust.cuscode[ls_j]
- dw_child.Object.u_cust_name[child_row] = s_inscust.cusname[ls_j]
- dw_child.Object.u_inwaremx_sptid_cusid[child_row] = s_inscust.cusid[ls_j]
- END IF
-
- //获取当前库存
- Decimal ld_wareqty
- String ls_msg
- ld_wareqty = 0
- IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
- MessageBox('提示',ls_msg, Information!, OK! )
- END IF
- dw_child.Object.wareqty[child_row] = ld_wareqty
-
- wf_cmpl_amt(child_row)
-
- END IF
- NEXT
-
-
- dw_child.SetRedraw(True)
- dw_child.SetColumn('u_inwaremx_uqty')
- This.TriggerEvent('ue_allowedit')
- END IF
- Destroy uo_cust
- end event
- event ue_print;call super::ue_print;IF NOT (f_power_ind(107) or f_power_ind(455)) 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_auditprint = 1 then
- if dw_pageretr.object.flag[dw_pageretr.getrow()] <> 1 then
- MESSAGEBOX('错误','目标单据还未审核,不能打印!', Information!, OK! )
- 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('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
- RETURN
- END IF
- END IF
- ls_prmsg.obj_dwNAME = ls_newname
- ELSE
- ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit'
- END IF
- LS_PRMSG.retr_pram_falg=15
- LS_PRMSG.TAG_TEXT='采购收货单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.PAGECH_FLAG=0
- LS_PRMSG.retr_scid=cur_scid
- LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[dw_pageretr.getrow()]
- 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, Information!, 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_inware',1,cur_scid,dw_pageretr.object.inwareid[dw_pageretr.getrow()],'','',arg_msg,true)
- end event
- event resize;call super::resize;long w_width,w_height
- //w_width = 3600
- //w_height = 2300
- //
- //
- //if newwidth < w_width then this.width = w_width
- //if newheight < w_height then this.height = w_height
- //
- //
- //dw_child.width=this.width - (w_width - 3547)
- //dw_child.height=this.height - (w_height - 880)
- //
- //cb_add.y=this.height - (w_height - 2030)
- //cb_edit.y=this.height - (w_height - 2030)
- //cb_delet.y=this.height - (w_height - 2030)
- //cb_addzy.y=this.height - (w_height - 2030)
- //cb_add_xm.y=this.height - (w_height - 2030)
- //cb_dele_xm.y=this.height - (w_height - 2030)
- //cb_exit.y=this.height - (w_height - 2030)
- //cb_auditing.y=this.height - (w_height - 2030)
- //cb_cancelauditing.y=this.height - (w_height - 2030)
- //cb_copy.y=this.height - (w_height - 2030)
- //cb_paste.y=this.height - (w_height - 2030)
- //cb_csecauditing.y=this.height - (w_height - 2030)
- //cb_secauditing.y=this.height - (w_height - 2030)
- //
- //cbx_1.y=this.height - (w_height - 2144)
- //
- //
- end event
- event ue_f10;call super::ue_f10;String ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode
- Decimal rtn_price,rtn_zqrate,rtn_rate
- Long ls_mtrlid,ls_sptid
- IF NOT IsValid(w_unit_ch) THEN
- IF dw_child.GetRow() < 1 THEN RETURN
- dw_uc.AcceptText()
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
- THIS.TriggerEvent("ue_f9")
- END IF
- dw_child.AcceptText()
- ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[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_inwaremx_unit[dw_child.GetRow()] = s_inscust.unit
- dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = s_inscust.rate
-
- ls_1stunit = s_inscust.unit
- ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- ls_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
- ls_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
- ls_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
-
- IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,rtn_price,rtn_zqrate,rtn_rate,arg_msg) = 1 THEN
- dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = rtn_price
- dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = rtn_zqrate
- END IF
-
- dw_child.SetColumn( 'u_inwaremx_uqty')
- END IF
- END IF
- end event
- event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
- return
- END IF
- IF NOT (f_power_ind(778) or f_power_ind(781)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- 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_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],ls_str,arg_msg)=0 then
- messagebox('error!',arg_msg)
- return
- else
- messagebox('提示','添加备注操作成功!', Information!, OK! )
- wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
- end if
- end event
- event ue_f11;call super::ue_f11;IF NOT dw_edit_mode 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_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
- ls_mxdscrp = dw_child.Object.u_inwaremx_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_inwaremx_addqty[child_row] = s_input.addqty
-
- IF s_input.addqtystr <> '' THEN
- dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
- END IF
-
- IF s_input.formula <> '' THEN
- dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
- END IF
-
- IF s_input.flag = 1 THEN
- dw_child.Object.u_inwaremx_uqty[child_row] = s_input.qty
- dw_child.Object.u_inwaremx_buyqty[child_row] = s_input.qty
- END IF
- END IF
- end event
- event ue_addmx;Long uc_row,ll_flag
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据', Information!, OK! )
- RETURN
- END IF
- ll_flag = dw_uc.Object.flag[uc_row]
- IF ll_flag = 1 THEN
- MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
- RETURN
- END IF
- this.triggerevent('ue_f8')
- dw_child.SetFocus()
- end event
- event ue_deletemx;Long uc_row,ll_flag
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据', Information!, OK! )
- RETURN
- END IF
- ll_flag = dw_uc.Object.flag[uc_row]
- IF ll_flag = 1 THEN
- MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
- IF dw_child.GETROW()=0 THEN
- MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! )
- RETURN
- END IF
- dw_child.DeleteRow (0)
- dw_child.TriggerEvent (rowfocuschanged!)
- end event
- event ue_copyrow;Long uc_row,ll_flag
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据', Information!, OK! )
- RETURN
- END IF
- ll_flag = dw_uc.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
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请先选择单据', Information!, OK! )
- RETURN
- END IF
- ll_flag = dw_uc.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_rpt_print;call super::ue_rpt_print;IF NOT (f_power_ind(107) or f_power_ind(455)) 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 = '采购收货单'
- 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_inware_scid[row]
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[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, Information!, OK! )
- RETURN
- END IF
- uo_print.ds_print()
- //**更新打印次料
- printnum = message.doubleparm
- f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
- end event
- event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455)) 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('错误','目标单据还未审核,不能打印!', StopSign!, 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_inware_scid[row]
- s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
- s_print.rowcnt = dw_child.RowCount()
- OpenWithParm(w_rpt_preview,s_print)
- //**更新打印次料
- string arg_msg
- printnum = message.doubleparm
- f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
- end event
- type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_buy
- end type
- type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_buy
- end type
- type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_buy
- integer x = 187
- integer y = 188
- integer width = 549
- end type
- type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_buy
- integer x = 2985
- end type
- type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_buy
- integer width = 320
- end type
- type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_buy
- integer x = 1819
- integer y = 300
- integer width = 1723
- integer height = 1204
- string dataobject = "dw_inware_buy_index"
- end type
- event dw_pageretr::rowfocuschanged;call super::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)
- if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
- end event
- type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_buy
- integer y = 208
- string text = "编号含"
- end type
- type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_buy
- integer x = 3136
- end type
- type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_buy
- integer y = 300
- integer width = 1819
- integer height = 1212
- string dataobject = "dw_inware_buy_edit"
- end type
- event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
- IF Key = KeyDownArrow! THEN RETURN 1
- IF dw_edit_mode THEN
- IF dw_uc.GetColumnName ( ) = 'dscrp' And Key = KeyEnter! THEN
- dw_child.SetFocus()
- dw_child.ScrollToRow(dw_child.RowCount())
- dw_child.SetColumn ('u_inwaremx_ifrel')
- RETURN 1
- ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' And Key = KeyEnter! THEN
- String ls_code,ls_name,ls_find_code
- Long ls_sptid
- Long cnt = 0
- Boolean if_find = False
- Long dftbanktypeid, dftmoneyid
- dw_uc.AcceptText()
- ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
- SELECT u_spt.sptid,
- u_spt.name,
- u_spt.sptcode,
- dftbanktypeid,dftmoneyid
- INTO :ls_sptid,:ls_name,:ls_code,:dftbanktypeid,:dftmoneyid
- FROM u_spt
- Where ( sptcode = :ls_code Or Name = :ls_code )
- and inuse = 1;
- 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_spt
- Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code )
- and inuse = 1;
- IF sqlca.SQLCode <> 0 THEN
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- END IF
- IF cnt <> 1 THEN
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- ELSE
- SELECT u_spt.sptid,
- u_spt.sptcode,
- u_spt.name,
- dftbanktypeid,dftmoneyid
- INTO :ls_sptid,:ls_code,:ls_name,:dftbanktypeid,:dftmoneyid
- FROM u_spt
- Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code )
- and inuse = 1;
- IF sqlca.SQLCode <> 0 THEN
-
- Parent.TriggerEvent('ue_f9')
- RETURN 1
- ELSE
- if_find = True
- END IF
- END IF
- ELSE
- if_find = True
- END IF
-
- IF if_find THEN
-
- //重置dw_child
- wf_change_sptid(ls_sptid)
-
- dw_uc.SetRedraw(False)
- dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid
- dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code
- dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
-
-
- dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = dftbanktypeid
- dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = dftmoneyid
- dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = f_get_mrate( dftmoneyid)
-
-
- dw_uc.SetRedraw(True)
- dw_uc.SetColumn("indate")
- 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::doubleclicked;IF dw_edit_mode and row >0 THEN
- if dwo.name='u_spt_sptcode' then parent.triggerevent('ue_f9')
- END IF
- end event
- event dw_uc::itemchanged;call super::itemchanged;if not dw_edit_mode then return
- dw_uc.accepttext()
- if dw_uc.getrow() <= 0 then return
- IF dwo.Name = 'storageid' THEN
- dw_child.Reset()
- PARENT.TriggerEvent("insert_childrow")
- elseif dwo.name = 'u_inware_relint_3' then
- long ll_moneyid
- ll_moneyid = dw_uc.object.u_inware_relint_3[dw_uc.getrow()]
- dw_uc.setredraw(false)
- dw_uc.object.u_inware_mrate[dw_uc.getrow()]=f_get_mrate(ll_moneyid)
- dw_uc.setredraw(true)
- END IF
- //long ll_storageid,ll_if_plancode
- //string st
- //
- //IF pos(dwo.Name , 'storageid') > 0 THEN
- //
- // ll_storageid = long(data)
- // select if_plancode
- // into :ll_if_plancode
- // from u_storage
- // where storageid = :ll_storageid;
- //
- // if ll_if_plancode = 0 then
- // dw_child.modify('u_inwaremx_plancode.protect = 1')
- // end if
- //
- // dw_child.Reset()
- // PARENT.TriggerEvent("insert_childrow")
- //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_add_dscrp')
- END IF
- IF dw_edit_mode THEN
- IF dwo.Name = 'p_p' THEN
- Parent.TriggerEvent('ue_f9')
- ELSEIF dwo.Name = 'p_money' THEN
- Parent.TriggerEvent('ue_ch_money')
- ELSEIF dwo.Name = 'p_banktype' THEN
- Parent.TriggerEvent('ue_ch_banktype')
- END IF
- END IF
- end event
- type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_buy
- end type
- type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_buy
- integer y = 1220
- integer width = 3543
- integer height = 796
- string dataobject = "dw_inwaremx_buy_edit"
- end type
- event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
- String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_unit_buy,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrltype
- Long ls_mtrlid,ll_sptid,ls_taskid,ls_orderid,ll_storageid
- Dec ls_lmbuyprice,ls_planprice
- Dec ls_lastprice,ls_rebate,ld_rate_buy
- String ls_buytaskcode
- String ls_prdpackcode
- Decimal ls_packqty,ls_nofinishqty
- Long i_mtrlid,i_sptid
- String i_mtrlcode,i_status,i_woodcode,i_pcode
- Decimal i_price,i_zqrate
- s_mtrldef_array arg_s_mtrldef
- String ls_sptmtrlname
- Long child_row
- Long ls_null
- Int li_statusflag,li_woodcodeflag,li_pcodeflag
- SetNull(ls_null)
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
- ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
- IF ll_storageid = 0 OR IsNull(ll_storageid) THEN
- MessageBox('提示','请先选择仓库', Information!, OK! )
- RETURN
- END IF
-
- ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- IF IsNull(ll_sptid) OR ll_sptid = 0 THEN
- PARENT.TriggerEvent("ue_f9")
- 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 sys_option_pos_jsbarcode <> '' THEN
- ls_mtrlcode = sys_option_pos_jsbarcode
- GOTO find_mtrl
- END IF
-
- 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]
- ls_buytaskcode = dw_child.Object.u_inwaremx_relcode[child_row]
-
- IF dw_child.Object.u_inwaremx_ifrel[child_row] = 1 THEN
- SELECT u_mtrldef.mtrlid,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.unit_buy,
- u_mtrldef.rate_buy,
- u_mtrldef.planprice,
- u_mtrldef.mtrlmode,
- u_mtrldef.prdpackcode,
- u_mtrldef.packqty ,
- u_buytask.taskid ,
- u_buytaskmx.qty - u_buytaskmx.consignedqty,
- u_buytaskmx.orderid,
- u_mtrldef.statusflag,
- u_mtrldef.woodcodeflag,
- u_mtrldef.pcodeflag,
- u_mtrldef.mtrltype
- INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_unit_buy,
- :ld_rate_buy,:ls_planprice,
- :ls_mtrlmode,:ls_prdpackcode,:ls_packqty,:ls_taskid,
- :ls_nofinishqty,:ls_orderid,
- :li_statusflag,:li_woodcodeflag,:li_pcodeflag,:ls_mtrltype
- FROM u_mtrldef,u_buytaskmx,u_buytask
- WHERE ( u_mtrldef.mtrlid = u_buytaskmx.mtrlid )
- AND ( u_buytask.taskcode = :ls_buytaskcode )
- AND ( u_mtrldef.mtrlcode = :ls_mtrlcode )
- AND ( u_buytask.taskid = u_buytaskmx.taskid )
- AND ( u_buytask.scid = u_buytaskmx.scid )
- And ( u_buytask.status = 1 );
- IF sqlca.SQLCode = 100 THEN
- dw_child.Object.u_inwaremx_relid[child_row] = 0
- PARENT.TriggerEvent('ue_f7')
- RETURN 1
- END IF
- ELSE
- find_mtrl:
- IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
- PARENT.TriggerEvent('ue_f8')
- RETURN 1
- ELSE
- ls_mtrlid = arg_s_mtrldef.mtrlid[1]
- ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
- ls_mtrlname = arg_s_mtrldef.mtrlname[1]
- ls_unit = arg_s_mtrldef.unit[1]
- ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
- ls_planprice = arg_s_mtrldef.planprice[1]
- ls_lmbuyprice = arg_s_mtrldef.lmbuyprice[1]
- ls_unit_buy = arg_s_mtrldef.unit_buy[1]
- ld_rate_buy = arg_s_mtrldef.rate_buy[1]
- ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1]
- ls_mtrltype = arg_s_mtrldef.mtrltype[1]
- ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1]
- li_statusflag = arg_s_mtrldef.statusflag[1]
- li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
- li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
- END IF
- END IF
-
- dw_child.Object.u_inwaremx_sptid_cusid[child_row] = ls_orderid
- dw_child.Object.u_inwaremx_relid[child_row] = ls_taskid
- dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
- dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
- dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- 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_mtrldef_statusflag[child_row] = li_statusflag
- dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
- dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
-
- dw_child.Object.u_inwaremx_status[child_row] = arg_s_mtrldef.status[1]
- dw_child.Object.u_inwaremx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
- dw_child.Object.u_inwaremx_pcode[child_row] = arg_s_mtrldef.pcode[1]
-
- string ls_plancode
- ls_plancode = f_get_newplancode(ll_storageid)
- dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
-
- Decimal ld_wareqty
- String ls_msg
- ld_wareqty = 0
- IF wf_get_wareqty(ls_mtrlid,ls_mtrlmode,ld_wareqty,ls_msg) = 0 THEN
- MessageBox('提示',ls_msg, Information!, OK! )
- END IF
- dw_child.Object.wareqty[child_row] = ld_wareqty
- sys_option_pos_jsbarcode = ''
-
- Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
- String arg_msg
- String ls_1stunit,ls_status,ls_woodcode,ls_pcode
- ls_status = dw_child.Object.u_inwaremx_status[child_row]
- ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
- ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
-
- ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
-
- IF cur_editfocus = 1 THEN
- IF uo_sptprice.uf_getmtrlsptprice(ll_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
-
- Int Mtrlorigin
- SELECT u_mtrldef.Mtrlorigin
- INTO :Mtrlorigin
- FROM u_mtrldef
- Where mtrlid = :ls_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[child_row] = 0
- ELSE
- IF Mtrlorigin > 0 THEN
- dw_child.Object.u_inwaremx_uprice[child_row] = ls_lmbuyprice
- ELSE
- dw_child.Object.u_inwaremx_uprice[child_row] = 0
- END IF
- END IF
-
- dw_child.Object.u_inwaremx_rebate[child_row] = 1
-
- IF ls_unit_buy = '' THEN
- dw_child.Object.u_inwaremx_rate[child_row] = 1
- dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
- ELSE
- dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
- dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
- END IF
- ELSE
- dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
- IF ls_1stzqrate = 0 THEN
- dw_child.Object.u_inwaremx_rebate[child_row] = 1
- ELSE
-
- dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
- END IF
- dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
- dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
- END IF
-
-
- ELSE
- IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
- IF ls_unit_buy = '' THEN
- dw_child.Object.u_inwaremx_rate[child_row] = 1
- dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
- ELSE
- dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
- dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
- END IF
- END IF
- END IF
-
- THIS.AcceptText( )
-
- IF uo_sptprice.uf_getmtrlname(ll_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
- dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
- END IF
- PARENT.TriggerEvent('ue_allowedit')
-
- 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_inwaremx_rebate' THEN
-
- dw_child.AcceptText()
- dw_uc.AcceptText()
-
- i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
- i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
- i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
- i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
- i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
- i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
- i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
- ls_unit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
- IF uo_sptprice.uf_check_price_save(0,i_sptid,i_mtrlid,i_mtrlcode,ls_unit,i_status,i_woodcode,i_pcode,i_price * i_zqrate,arg_msg) = 0 THEN
- MessageBox("提示",arg_msg, Information!, OK! )
- dw_child.SetFocus()
- dw_child.SetColumn("u_inwaremx_uprice")
-
- RETURN 1
- ELSE
- dw_child.SetFocus()
- dw_child.SetColumn("u_inwaremx_plancode")
- // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- // keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
- ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.TriggerEvent("insert_childrow")
- RETURN 1
- ELSEIF dw_child.GetColumnName() = "u_inwaremx_status" OR dw_child.GetColumnName() = "u_inwaremx_woodcode" OR dw_child.GetColumnName() = "u_inwaremx_pcode" THEN
- dw_child.AcceptText()
- dw_uc.AcceptText()
-
- i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
- i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
- i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
- i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
- i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
- i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
- i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
- i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
- ls_1stunit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
- ls_unit = dw_child.Object.u_mtrldef_unit[dw_child.GetRow()]
- // dw_child.Object.u_inwaremx_unit[child_row]
-
- IF uo_sptprice.uf_getmtrlsptprice(i_sptid,i_mtrlid,ls_1stunit,i_status,i_woodcode,i_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) = 1 THEN
-
- dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = ls_1stnewcost
- IF ls_1stzqrate = 0 THEN
- dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1
- ELSE
- dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = ls_1stzqrate
- END IF
- dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = ls_1strate
- dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = ls_1stunit
- ELSE
- dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = 0
- dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1
- END IF
-
- THIS.AcceptText()
-
- IF uo_sptprice.uf_getmtrlname(i_sptid,i_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
- dw_child.Object.u_inwaremx_sptmtrlname[dw_child.GetRow()] = ls_sptmtrlname
- END IF
- IF Key = keyenter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- 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 IF
- END IF
- end event
- event dw_child::doubleclicked;string ls_text
- IF dwo.Name = 'u_inwaremx_mxdscrp' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp')
- RETURN
- ELSEIF dwo.Name = 'u_inwaremx_mxdscrp2' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp2')
- RETURN
- ELSEIF dwo.Name = 'u_inwaremx_mxdscrp3' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp3')
- RETURN
- ELSEIF dwo.Name = 'u_inwaremx_mxdscrp4' THEN
- PARENT.TriggerEvent('ue_view_mxdscrp4')
- RETURN
- END IF
- dw_child.AcceptText()
- IF dw_edit_mode THEN
- IF row > 0 THEN
- CHOOSE CASE dwo.Name
- CASE 'u_inwaremx_uqty','u_inwaremx_formula'
- Parent.TriggerEvent('ue_cmpl_qty')
- CASE 'u_inwaremx_unit'
- Parent.TriggerEvent('ue_f10')
- CASE 'u_inwaremx_addqty'
- Parent.TriggerEvent('ue_f11')
- CASE 'u_inwaremx_sptid_cusid', 'u_cust_cuscode', 'u_cust_name'
- Parent.TriggerEvent('ue_ch_cust')
- CASE 'u_inwaremx_status' , 'u_inwaremx_woodcode', 'u_inwaremx_pcode'
- string name
- name =dwo.name
- PARENT.trigger event ue_view_status(row,name)
- CASE ELSE
- IF dw_child.Object.u_inwaremx_ifrel[row] = 1 THEN
- Parent.TriggerEvent('ue_f7')
- ELSE
- Parent.TriggerEvent('ue_f8')
- END IF
- Parent.TriggerEvent('ue_get_maxprice')
- END CHOOSE
- ELSE
- Parent.TriggerEvent('ue_f8')
- END IF
- END IF
- end event
- event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
- This.AcceptText()
- IF dwo.Name = 'u_inwaremx_ifrel' THEN
- IF This.Object.u_inwaremx_ifrel[row] = 0 THEN
- dw_child.Object.u_inwaremx_relid[row] = 0
- dw_child.Object.u_buytask_taskcode[row] = ''
- dw_child.Object.u_inwaremx_relcode[row] = ''
- END IF
- ELSEIF dwo.Name = 'u_inwaremx_buyqty' THEN
- String ls_protect
-
- ls_protect = This.Describe( 'u_inwaremx_uqty.protect')
-
- IF ls_protect = '0' THEN
- This.Object.u_inwaremx_uqty[row] = This.Object.u_inwaremx_buyqty[row]
-
- wf_cmpl_amt(row)
- END IF
- ELSEIF dwo.Name = 'u_inwaremx_uqty' Or dwo.Name = 'u_inwaremx_uamt' Or dwo.Name = 'u_inwaremx_uprice' Or dwo.Name = 'u_inwaremx_rebate' Or dwo.Name = 'u_inwaremx_uprice_notax' Or dwo.Name = 'u_inwaremx_tax' THEN
- wf_cmpl_amt(row)
- ELSEIF dwo.Name = 'u_inwaremx_packqty' THEN
- Long ll_mtrlid
- Decimal lde_packqty_single, lde_packqty, lde_rate
- IF ii_packqty_cmpl = 1 THEN
- ll_mtrlid = This.Object.u_inwaremx_mtrlid[row]
- lde_packqty_single = f_get_packqty(ll_mtrlid)
- lde_packqty = This.Object.u_inwaremx_packqty[row]
- lde_rate = This.Object.u_inwaremx_rate[row]
- IF lde_rate = 0 THEN lde_rate = 1
- This.Object.u_inwaremx_qty[row] = lde_packqty * lde_packqty_single
- This.Object.u_inwaremx_buyqty[row] = lde_packqty * lde_packqty_single / lde_rate
- This.Object.u_inwaremx_uqty[row] = lde_packqty * lde_packqty_single / lde_rate
- //This.Object.u_inwaremx_saleqty[row] = lde_packqty * lde_packqty_single / lde_rate
- END IF
- END IF
- end event
- event dw_child::itemfocuschanged;call super::itemfocuschanged;dw_child.AcceptText()
- //IF row > 0 THEN
- // dw_child.AcceptText()
- //
- // //由金额计算单价
- // IF sys_option_outware_if_buyqty = 0 THEN
- // IF cbx_enamt_edit.Checked THEN
- // IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
- // IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
- // dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uamt[row] / dw_child.Object.u_inwaremx_rebate[row] / dw_child.Object.u_inwaremx_uqty[row]
- // END IF
- // END IF
- // ELSE
- // dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_uqty[row],2)
- // END IF
- // ELSE
- // IF cbx_enamt_edit.Checked THEN
- // IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
- // IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
- // dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uamt[row] / dw_child.Object.u_inwaremx_rebate[row] / dw_child.Object.u_inwaremx_buyqty[row]
- // END IF
- // END IF
- // ELSE
- // dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_buyqty[row],2)
- // END IF
- // END IF
- //END IF
- end event
- type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_buy
- end type
- type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_buy
- end type
- type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_buy
- end type
- event cb_add::clicked;IF Not (f_power_ind(99) Or f_power_ind(372)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row,pagerert_row
- Long relid_pageretr,reld_uc,j, i
- Int rslt_chk
- string ll_errorprintid
- s_inwaremx s_mx
- IF Not dw_edit_mode THEN
- IF wf_check_print(arg_msg) = 0 THEN
- MessageBox('提示',arg_msg, Information!, OK! )
- RETURN
- END IF
- END IF
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
- dw_child.AcceptText()
- uc_row = dw_uc.GetRow()
-
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!', Information!, OK! )
- RETURN
- END IF
-
- IF Not dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN
- MessageBox('提示','不合理发生时间!', Information!, OK! )
- dw_uc.SetFocus()
- dw_uc.SetColumn("indate")
- RETURN
- END IF
- IF Not Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN
- MessageBox('提示','请填写经手人!', Information!, OK! )
- dw_uc.SetFocus()
- dw_uc.SetColumn("inrep")
- RETURN
- END IF
-
- IF dw_uc.Object.u_inware_relint_1[uc_row] = 0 THEN
- MessageBox('提示','请选择结算方式', Information!, OK! )
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_inware_relint_1")
- RETURN
- END IF
-
- IF dw_uc.Object.u_inware_relint_3[uc_row] = 0 THEN
- MessageBox('提示','请选择币种', Information!, OK! )
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_inware_relint_3")
- RETURN
- END IF
-
-
- IF dw_uc.Object.u_inware_otheramt[uc_row] <> 0 And Not Len(String(dw_uc.Object.dscrp[uc_row])) > 0 THEN
- MessageBox('提示','请在备注栏注明扣减费用!', Information!, OK! )
- dw_uc.SetFocus()
- dw_uc.SetColumn("dscrp")
- RETURN
- END IF
-
- rslt_chk = wf_check_part( dw_uc.Object.u_inware_scid[uc_row], dw_uc.Object.inwareid[uc_row], dw_uc.Object.part[uc_row],arg_msg)
-
- IF rslt_chk = 0 Or rslt_chk = 2 THEN
- MessageBox('系统提示',arg_msg)
- RETURN
- ELSEIF rslt_chk = 3 THEN
- IF MessageBox('询问',arg_msg,question!,yesno!) = 2 THEN RETURN
- END IF
-
- //由金额计算单价
- IF cbx_enamt_edit.Checked THEN
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_inwaremx_uamt[i] <> 0 THEN
- IF sys_option_outware_if_buyqty = 0 THEN
- IF dw_child.Object.u_inwaremx_rebate[i] <> 0 And dw_child.Object.u_inwaremx_uqty[i] <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[i] = dw_child.Object.u_inwaremx_uamt[i] / dw_child.Object.u_inwaremx_rebate[i] / dw_child.Object.u_inwaremx_uqty[i]
- dw_child.Object.u_inwaremx_uprice_notax[i] = dw_child.Object.u_inwaremx_uprice[i] / ( 1 + dw_child.Object.u_inwaremx_tax[i] ) //不含税单价=单价/(1+税率)
- END IF
- ELSE
- IF dw_child.Object.u_inwaremx_rebate[i] <> 0 And dw_child.Object.u_inwaremx_buyqty[i] <> 0 THEN
- dw_child.Object.u_inwaremx_uprice[i] = dw_child.Object.u_inwaremx_uamt[i] / dw_child.Object.u_inwaremx_rebate[i] / dw_child.Object.u_inwaremx_buyqty[i]
- dw_child.Object.u_inwaremx_uprice_notax[i] = dw_child.Object.u_inwaremx_uprice[i] / ( 1 + dw_child.Object.u_inwaremx_tax[i] ) //不含税单价=单价/(1+税率)
- END IF
- 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
-
-
-
-
- ll_errorprintid = ''
- FOR j = 1 To dw_child.RowCount()
- IF Not f_power_ind(128) THEN
- IF dw_child.Object.u_inwaremx_ifrel[j] = 1 And dw_child.Object.u_inwaremx_relid[j] = 0 THEN
- MessageBox('提示','用户权限限制,请选择订单,第'+String(j)+'行', Information!, OK! )
- RETURN
- END IF
-
- IF dw_child.Object.u_inwaremx_ifrel[j] = 0 And dw_child.Object.u_inwaremx_uqty[j] > 0 THEN
- MessageBox('提示','用户权限限制,请选择订单,第'+String(j)+'行', Information!, OK! )
- RETURN
- END IF
- END IF
-
- IF dw_child.Object.u_inwaremx_ifrel[j] = 1 And dw_child.Object.u_inwaremx_uqty[j] < 0 THEN
- MessageBox('提示','收货单要输入正数', Information!, OK! )
- RETURN
- END IF
- IF dw_child.Object.u_inwaremx_uprice[j] = 0 THEN ll_errorprintid = ll_errorprintid + ',' + String(j)
- // IF MessageBox ("询问",'明细第'+String(j)+'行存在单价为0,是否继续?',question!,yesno! ) = 2 THEN RETURN
- // END IF
-
- IF dw_child.Object.u_inwaremx_unit[j] = '' THEN
- dw_child.Object.u_inwaremx_unit[j] = dw_child.Object.u_mtrldef_unit[j]
- dw_child.Object.u_inwaremx_rate[j] = 1
- END IF
- NEXT
-
- IF ll_errorprintid <> '' THEN
- ll_errorprintid = right(ll_errorprintid,len(ll_errorprintid)-1)
- IF MessageBox ("询问",'明细第'+ll_errorprintid+'行存在单价为0,是否继续?',question!,yesno! ) = 2 THEN RETURN
- END IF
-
- IF wf_check_qtyandaddqty(arg_msg) = 0 THEN
- MessageBox('提示',arg_msg + ',不能保存!',Information!,OK!)
- RETURN
- END IF
-
-
- //限价模式 选了计划价 询问
- IF sys_option_buylimit_ifbj = 4 THEN
- IF wf_check_planprice(arg_msg) = 0 THEN
- IF MessageBox('询问',arg_msg,question!,yesno!) = 2 THEN RETURN
- END IF
- END IF
-
-
- //276 采购收货单保存时,供应商名称自动填写到“配置”里
- IF sys_option_inwarebuy_autospt = 1 THEN
- String ls_sptname
- ls_sptname = Trim(dw_uc.Object.u_spt_name[uc_row] )
- FOR i = 1 To dw_child.RowCount()
-
- dw_child.Object.u_inwaremx_status[i] = ls_sptname
-
-
- NEXT
- dw_child.AcceptText()
- END IF
-
-
- uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
- uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
- uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
- uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
- uo_ware.storageid = dw_uc.Object.storageid[uc_row]
- uo_ware.sptid = dw_uc.Object.sptid[uc_row]
- uo_ware.otheramt = dw_uc.Object.u_inware_otheramt[uc_row]
- uo_ware.relint_1 = dw_uc.Object.u_inware_relint_1[uc_row]
- uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row]
- uo_ware.thflag = 0
- uo_ware.relint_3 = dw_uc.Object.u_inware_relint_3[uc_row]
- uo_ware.mrate = dw_uc.Object.u_inware_mrate[uc_row]
- uo_ware.viewdate = dw_uc.Object.viewdate[uc_row]
-
- FOR i = 1 To dw_child.RowCount()
- IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
-
-
- s_mx.printid = dw_child.Object.printid[i]
- s_mx.mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
- s_mx.mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
- s_mx.plancode = dw_child.Object.u_inwaremx_plancode[i]
- s_mx.status = dw_child.Object.u_inwaremx_status[i]
- s_mx.buyqty = dw_child.Object.u_inwaremx_buyqty[i]
- s_mx.uqty = dw_child.Object.u_inwaremx_uqty[i]
- s_mx.addqty = dw_child.Object.u_inwaremx_addqty[i]
- s_mx.packqty = dw_child.Object.u_inwaremx_packqty[i]
- s_mx.uprice = dw_child.Object.u_inwaremx_uprice[i]
- s_mx.tax = dw_child.Object.u_inwaremx_tax[i]
- s_mx.rebate = dw_child.Object.u_inwaremx_rebate[i]
- s_mx.mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[i]
- s_mx.jgprice = 0
- s_mx.relid = dw_child.Object.u_inwaremx_relid[i]
- s_mx.relprintid = dw_child.Object.u_inwaremx_relprintid[i]
- s_mx.ifrel = dw_child.Object.u_inwaremx_ifrel[i]
- s_mx.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
- s_mx.pcode = dw_child.Object.u_inwaremx_pcode[i]
- s_mx.mtrlcuscode = ''
- s_mx.sptid = dw_child.Object.u_inwaremx_sptid_cusid[i]
- s_mx.unit = dw_child.Object.u_inwaremx_unit[i]
- s_mx.rate = dw_child.Object.u_inwaremx_rate[i]
- s_mx.formula = dw_child.Object.u_inwaremx_formula[i]
- s_mx.waredscrp = dw_child.Object.u_inwaremx_waredscrp[i]
- s_mx.inworkdate = dw_child.Object.u_inwaremx_inworkdate[i]
- s_mx.uprice_notax = dw_child.Object.u_inwaremx_uprice_notax[i] //不含税单价
- s_mx.mxdscrp2 = dw_child.Object.u_inwaremx_mxdscrp2[i]
- s_mx.mxdscrp3 = dw_child.Object.u_inwaremx_mxdscrp3[i]
- s_mx.mxdscrp4 = dw_child.Object.u_inwaremx_mxdscrp4[i]
- s_mx.uamt_tax = dw_child.Object.u_inwaremx_uamt_tax[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.Save(True,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg, stopsign!, OK! )
- RETURN
- END IF
- // MessageBox('提示','保存操作成功!')
- //write ini
- f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
- f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()]))
- f_SetProfileString (sys_empid,dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_inware_relint_3[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(cur_scid,uo_ware.inwareid) //刷新uc
- String ls_taskcode
- ls_taskcode = dw_pageretr.Object.inwarecode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (403, 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
- END IF
- CALL Super::Clicked
- //read ini
- IF dw_edit_mode THEN
- Parent.TriggerEvent("insert_childrow")
- dw_uc.SetRedraw(False)
- String ls_storageid,ls_banktype,ls_moneyid
- IF sys_option_hide_ware = 1 THEN
- ls_storageid = '11'
- ELSE
- ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
- IF f_find_storageid(ls_storageid) = '' THEN
- ls_storageid = '0'
- END IF
- END IF
-
- ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
- ls_moneyid = f_ProfileString (sys_empid,dw_uc.DataObject, "moneyid",'11')
-
- dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = Long(ls_moneyid)
- dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
-
- dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
- dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = Long(ls_banktype)
- dw_uc.Object.inrep[dw_uc.GetRow()] = publ_operator
- dw_uc.Object.u_inware_scid[dw_uc.GetRow()] = cur_scid
- dw_uc.Object.viewdate[dw_uc.GetRow()] = relativedate(today(), 1 - day(today()))
-
- IF sys_option_hide_ware = 1 THEN
- dw_uc.SetColumn("indate")
- ELSE
- dw_uc.SetColumn("storageid")
- END IF
- dw_uc.SetRedraw(True)
- cur_editfocus = 1
-
- // wf_lock_plancode(long(ls_storageid))
- ELSE
- Parent.TriggerEvent("retrieve_childdw")
- cur_editfocus = 0
- END IF
- //
- end event
- type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_buy
- end type
- event cb_edit::clicked;IF Not (f_power_ind(99) OR f_power_ind(372)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row,ll_storageid
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('系统提示','请选定当前目标单据!', Information!, OK! )
- RETURN
- END IF
- ll_storageid = dw_pageretr.Object.storageid[uc_row]
- IF NOT dw_edit_mode THEN
- IF uo_ware.updatebegin(dw_pageretr.Object.u_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],1,arg_msg) = 0 THEN
- MessageBox('Error!',arg_msg)
- RETURN
- END IF
-
- this.triggerevent('ue_allowedit')
-
- // wf_lock_plancode(ll_storageid)
- END IF
- CALL SUPER::Clicked
- IF dw_edit_mode THEN
- cur_editfocus = 2
- ELSE
- cur_editfocus = 0
- END IF
- end event
- type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_buy
- end type
- event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(592) OR f_power_ind(584)) 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_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],arg_msg,TRUE) = 0 THEN
- MessageBox('error!',arg_msg)
- ELSE
- //日志
- Long ls_id
- String ls_code
- ls_id = dw_pageretr.Object.inwareid[uc_row]
- ls_code = dw_pageretr.Object.inwarecode[uc_row]
- f_setsysoplog('采购收货单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
- //--
- MessageBox('提示','删除单据'+String(dw_pageretr.Object.inwarecode[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_inware_buy
- end type
- event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- IF NOT dw_edit_mode THEN
- menustr = "Text=增加备注~tEvent=ue_addzy"
- menustr += "|" + "Text=修改备注~tEvent=ue_editzy"
- menustr += "|" + "Text=修改相关号~tEvent=ue_mod_relcode"
- menustr += "|" + "Text=修改结算方式~tEvent=ue_mod_banktype"
- menustr += "|" + "Text=修改优惠款~tEvent=ue_mod_otheramt"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=复制单据~tEvent=ue_bill_copy"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=查看附件~tEvent=ue_fj_view"
- menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit"
- menustr += "|" + "Text=刷新附件数量~tEvent=retrieve_fjnum"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=辅助建立报价单~tEvent=ue_create_spt_price_change"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=确认~tEvent=ue_priceaudit"
- menustr += "|" + "Text=反确认~tEvent=ue_cpriceaudit"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=全选~tEvent=ue_all_choice"
- menustr += "|" + "Text=全不选~tEvent=ue_allnot_choice"
- menustr += "|" + "Text=批仓审核(选中的)~tEvent=ue_all_audit"
- menustr += "|" + "Text=批仓撤审(选中的)~tEvent=ue_allnot_audit"
- menustr += "|" + "Text=批删除(选中的)~tEvent=ue_all_delete"
- menustr += "|" + "Text=批财撤(选中的)~tEvent=ue_all_c_secaudit"
- menustr += "|" + "Text=-"
- //menustr += "|" + "Text=辅助建立客户收款结算单~tEvent=ue_create_bmstamt"
- menustr += "|" + "Text=辅助建立付款结算单~tEvent=ue_create_bmstamt"
- ELSE
- menustr += "|" + "Text=辅助计算~tEvent=ue_cpml_qty"
- menustr += "|" + "Text=辅助计算辅数~tEvent=ue_cmpl_addqty"
- menustr += "|" + "Text=-"
- menustr += "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
- 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_inware_buy
- end type
- event cb_auditing::clicked;call super::clicked;String ls_taskcode
- String ls_msg = ''
- long rslt = 1
- IF dw_edit_mode THEN RETURN
- IF Not KeyDown(KeyControl!) THEN
- String arg_msg = ''
- Long pagerert_row
-
- ls_msg = '审核'
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!', Information!, OK! )
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
-
- IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
- MessageBox('错误',arg_msg, StopSign!, OK! )
- RETURN
- END IF
-
- IF sys_option_hide_ware = 0 THEN
- IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
- IF Not (f_power_ind(66) Or f_power_ind(103)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
-
- //检查是否超订单数进仓
- IF wf_check_over(arg_msg) = 0 THEN
- MessageBox('提示',arg_msg, Information!, OK!)
- RETURN
- END IF
-
- ls_msg = '仓库审核'
- IF uo_ware.auditing(True,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- ELSE
- ls_taskcode = dw_pageretr.Object.inwarecode[dw_pageretr.GetRow()]
- IF f_billevent_trigger (403, 3, ls_taskcode, arg_msg) = 0 THEN
- MessageBox('Error',arg_msg)
- END IF
- END IF
- ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
- IF Not (f_power_ind(813) ) 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
- END IF
- ELSE
- IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
- IF Not (f_power_ind(813) ) THEN
- MessageBox('提示',sys_msg_pow,Information!,OK!)
- RETURN
- END IF
-
- 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
-
- ext:
- IF rslt = 0 THEN
- MessageBox('错误',arg_msg,StopSign!,OK!)
- ELSE
- MessageBox('提示',ls_msg+'成功!',Information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
- END IF
-
- ELSE
- IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
-
- Long ll_i,ll_billid, ll_scid
- Int li_flag,li_secflag
- Long ll_suc,ll_fail
- // Int ll_flag,ll_secflag
- dw_pageretr.AcceptText()
-
- li_flag = dw_pageretr.Object.flag[dw_pageretr.GetRow()]
- li_secflag = dw_pageretr.Object.u_inware_secflag[dw_pageretr.GetRow()]
-
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
-
- IF li_flag = 0 THEN
- IF Not (f_power_ind(66) Or f_power_ind(103)) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK! )
- RETURN
- END IF
-
- FOR ll_i = 1 To dw_pageretr.RowCount()
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
-
- li_flag = dw_pageretr.Object.flag[ll_i]
- IF li_flag = 1 THEN CONTINUE
- ll_billid = dw_pageretr.Object.inwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
- ls_taskcode = dw_pageretr.Object.inwarecode[ll_i]
-
- 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 (403, 3, ls_taskcode, arg_msg) = 0 THEN
- ls_msg += arg_msg + '~r~n'
- END IF
- w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- Close(w_sys_wait_jdt)
- MessageBox('提示','仓库批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail) + ls_msg, Information!, OK! )
-
- ELSEIF li_flag = 1 And li_secflag = 0 THEN
- IF Not (f_power_ind(813) ) THEN
- MessageBox('提示',sys_msg_pow, Information!, OK!)
- RETURN
- END IF
- FOR ll_i = 1 To dw_pageretr.RowCount()
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
-
- li_flag = dw_pageretr.Object.flag[ll_i]
- li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
- If (li_flag = 0 And li_secflag = 0) Or li_secflag = 1 THEN CONTINUE
- ll_billid = dw_pageretr.Object.inwareid[ll_i]
- ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
- 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++
- w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- Close(w_sys_wait_jdt)
- MessageBox('提示','财务批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
-
- END IF
- Parent.TriggerEvent('retrieve_pageretr')
-
- END IF
- end event
- type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_buy
- end type
- event cb_xm::clicked;is_mx_menustr = ''
- IF dw_edit_mode THEN
- // is_mx_menustr = is_mx_menustr + "|" + "Text=仓审后修改单价~tEvent=ue_mod_price"
- // is_mx_menustr += "|" + "Text=-"
- 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=-"
- is_mx_menustr += "|" + "Text=批设定客户~tEvent=ue_p_cus_set"
- is_mx_menustr += "|" + "Text=-"
- is_mx_menustr += "|" + "Text=导入单价~tEvent=ue_import_price"
- is_mx_menustr += "|" + "Text=-"
- is_mx_menustr += "|" + "Text=明细标题与execl标题对应关系设置~tEvent=ue_set_dytitle"
- is_mx_menustr += "|" + "Text=从execl导入到订单明细~tEvent=ue_insert_execltodw"
- is_mx_menustr += "|" + "Text=-"
- is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax"
- is_mx_menustr += "|" + "Text=按第一行批设税率~tEvent=ue_set_tax"
- ELSE
- is_mx_menustr += "|" + "Text=仓审后修改单价~tEvent=ue_mod_price"
- IF sys_option_outware_if_buyqty = 1 THEN
- is_mx_menustr += "|" + "Text=仓审后修改收货数量~tEvent=ue_mod_buyqty"
- END IF
-
- END IF
- CALL Super::Clicked
- // w_dytitle_inwarebuy
- end event
- type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_buy
- end type
- type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_buy
- end type
- type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_buy
- end type
- type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_buy
- end type
- event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
- String ls_code,ls_opemp,ls_outpart
- String arg_msg = ''
- Long pagerert_row,ls_id
- Long rslt = 1
- String ls_msg
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!', Information!, OK! )
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid [pagerert_row],arg_msg) = 0 THEN
- MessageBox('错误',arg_msg)
- RETURN
- END IF
- ls_msg = "撤审"
- IF sys_option_hide_ware = 0 THEN
-
- IF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
- IF Not (f_power_ind(877) Or f_power_ind(878)) 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 dw_pageretr.Object.u_inware_secflag[pagerert_row] = 1 And dw_pageretr.Object.flag[pagerert_row] = 1 THEN
- IF Not (f_power_ind(881) ) 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
-
- END IF
- ELSE
- IF dw_pageretr.Object.u_inware_secflag[pagerert_row] = 1 THEN
- IF Not (f_power_ind(881) ) 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
- 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.inwarecode[pagerert_row]
- ls_opemp = dw_pageretr.Object.u_inware_opemp[pagerert_row]
- ls_outpart = dw_pageretr.Object.part[pagerert_row]
- f_setsysoplog('采购收货单',ls_msg+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
- //--
- wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
- END IF
- end event
- type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_buy
- end type
- type p_help from w_publ_1ton_share_detail`p_help within w_inware_buy
- end type
- type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_buy
- end type
- type p_other from w_publ_1ton_share_detail`p_other within w_inware_buy
- end type
- type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_buy
- end type
- type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_buy
- end type
- type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_buy
- end type
- type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_buy
- end type
- type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_buy
- end type
- type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_buy
- end type
- type ddlb_scid from uo_ddlb_scid within w_inware_buy
- integer x = 919
- integer y = 192
- integer width = 549
- integer height = 1120
- 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_inware_buy
- integer x = 1481
- integer y = 208
- integer width = 192
- 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_inware_buy
- integer x = 741
- integer y = 208
- integer width = 192
- 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 cbx_enamt_edit from checkbox within w_inware_buy
- integer x = 3214
- integer y = 12
- 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
- ii_enamt_edit = 1
- ELSE
- ii_enamt_edit = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit))
- //parent.triggerevent("ue_allowedit")
- IF ii_enamt_edit = 0 THEN
- dw_child.Modify('u_inwaremx_uamt.protect = 1~t u_inwaremx_uamt.Color = 0')
- dw_child.Modify('u_inwaremx_uamt_t.Color = 0')
- ELSE
- dw_child.Modify('u_inwaremx_uamt.protect = 0~t u_inwaremx_uamt.Color = "0~trgb(0,0,255)"')
- dw_child.Modify('u_inwaremx_uamt_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
- ELSE
- THIS.Checked = FALSE
- END IF
- end event
- type ddlb_status from uo_ddlb_status within w_inware_buy
- integer x = 1664
- integer y = 192
- 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
- //ELSEIF this.text = "待确认" THEN
- // cur_flag = -1
- // cur_secflag = -1
- ELSEIF this.text = "待仓审" THEN
- cur_flag = 0
- cur_secflag = -1
- ELSEIF this.text = "待财审" THEN
- cur_flag = 1
- cur_secflag = 0
- ELSEIF this.text = "已审核" THEN
- cur_flag = 1
- cur_secflag = 1
- END IF
- end event
- type cbx_packqty_cmpl from checkbox within w_inware_buy
- integer x = 3209
- integer y = 96
- integer width = 576
- 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
- ELSE
- ii_packqty_cmpl = 0
- 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
- ELSE
- THIS.Checked = FALSE
- END IF
- //this.y = cbx_enamt_edit.y
- //this.x = cbx_enamt_edit.x + cbx_enamt_edit.width + 10
- end event
- type cbx_enamt_notax_edit from checkbox within w_inware_buy
- integer x = 3822
- integer y = 92
- integer width = 535
- 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
- ELSE
- ii_enamt_notax_edit = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit))
- wf_enamt_facechg()
- end event
- event constructor;this.backcolor = 14215660
- ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0'))
- IF ii_enamt_notax_edit = 1 THEN
- THIS.Checked = TRUE
- ELSE
- THIS.Checked = FALSE
- END IF
- wf_enamt_facechg()
- //
- end event
- type cbx_all from checkbox within w_inware_buy
- integer x = 2149
- integer y = 196
- integer width = 219
- integer height = 64
- 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.ch[i] = 1
- Next
- Else
- For i = 1 To dw_pageretr.RowCount()
- dw_pageretr.Object.ch[i] = 0
- Next
- End If
- end event
- event constructor;
- this.y = p_msg.y
- this.x = ddlb_status.x + ddlb_status.width + 20
- end event
|