w_inware_buy.srw 187 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577
  1. $PBExportHeader$w_inware_buy.srw
  2. forward
  3. global type w_inware_buy from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_inware_buy
  6. end type
  7. type st_3 from statictext within w_inware_buy
  8. end type
  9. type st_2 from statictext within w_inware_buy
  10. end type
  11. type cbx_enamt_edit from checkbox within w_inware_buy
  12. end type
  13. type ddlb_status from uo_ddlb_status within w_inware_buy
  14. end type
  15. type cbx_packqty_cmpl from checkbox within w_inware_buy
  16. end type
  17. type cbx_enamt_notax_edit from checkbox within w_inware_buy
  18. end type
  19. type cbx_all from checkbox within w_inware_buy
  20. end type
  21. end forward
  22. global type w_inware_buy from w_publ_1ton_share_detail
  23. integer width = 4183
  24. string title = "采购收货单"
  25. boolean maxbox = true
  26. windowstate windowstate = maximized!
  27. boolean if_chkmtrlinfo = true
  28. event insert_childrow ( )
  29. event ue_secauditing ( )
  30. event ue_csecauditing ( )
  31. event ue_fj_edit ( )
  32. event ue_fj_view ( )
  33. event ue_cpml_qty ( )
  34. event ue_cmpl_addqty ( )
  35. event ue_mod_banktype ( )
  36. event ue_mod_price ( )
  37. event ue_cmpl_status_qty ( )
  38. event ue_cmpl_qty ( )
  39. event ue_p_cmpl_qty ( )
  40. event ue_p_formula_set ( )
  41. event ue_import_price ( )
  42. event ue_ch_banktype ( )
  43. event ue_ch_money ( )
  44. event ue_p_cus_set ( )
  45. event ue_add_dscrp ( )
  46. event ue_ch_cust ( )
  47. event ue_mod_buyqty ( )
  48. event ue_all_choice ( )
  49. event ue_allnot_choice ( )
  50. event ue_all_audit ( )
  51. event ue_allnot_audit ( )
  52. event ue_all_delete ( )
  53. event ue_set_dytitle ( )
  54. event ue_insert_execltodw ( )
  55. event ue_create_spt_price_change ( )
  56. event ue_mod_otheramt ( )
  57. event ue_view_status ( long arg_row, string arg_status )
  58. event ue_cmpl_set0 ( )
  59. event ue_set_tax ( )
  60. event ue_create_bmstamt ( )
  61. event retrieve_fjnum ( )
  62. event ue_all_c_secaudit ( )
  63. event ue_cmpl_tax ( )
  64. event ue_mod_relcode ( )
  65. event ue_view_mxdscrp ( )
  66. event ue_view_mxdscrp2 ( )
  67. event ue_view_mxdscrp3 ( )
  68. event ue_view_mxdscrp4 ( )
  69. event ue_editzy ( )
  70. event ue_get_maxprice ( )
  71. event ue_priceaudit ( )
  72. event ue_cpriceaudit ( )
  73. ddlb_scid ddlb_scid
  74. st_3 st_3
  75. st_2 st_2
  76. cbx_enamt_edit cbx_enamt_edit
  77. ddlb_status ddlb_status
  78. cbx_packqty_cmpl cbx_packqty_cmpl
  79. cbx_enamt_notax_edit cbx_enamt_notax_edit
  80. cbx_all cbx_all
  81. end type
  82. global w_inware_buy w_inware_buy
  83. type variables
  84. Long cur_scid
  85. long cur_scid_arr[]
  86. Int cur_flag = -1
  87. Int cur_secflag = -1
  88. uo_inware_buy uo_ware
  89. uo_spt_price uo_sptprice
  90. Long cur_id = 0
  91. Int cur_editfocus = 0
  92. Long aflag = 0
  93. String ol_cdw_str = ''
  94. Long flag = 0
  95. Long secflag = 0
  96. int ii_enamt_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
  97. int ii_packqty_cmpl = 0
  98. long ii_enamt_notax_edit=0 //录入不含税单价
  99. end variables
  100. forward prototypes
  101. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
  102. public function integer wf_flagstatus_rf ()
  103. public function integer wf_check_print (ref string arg_msg)
  104. public function integer wf_check_over (ref string arg_msg)
  105. public subroutine wf_check_billfj ()
  106. 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)
  107. public function integer wf_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, string arg_msg)
  108. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  109. public function integer wf_check_part (long arg_scid, long arg_inwareid, string arg_part, ref string arg_msg)
  110. public subroutine wf_cmpl_amt (long row)
  111. public function integer wf_change_sptid (long arg_sptid)
  112. public subroutine wf_sptprice_mtrl (ref s_mtrldef_array ins_rt_stru)
  113. public subroutine wf_sptprice_in (s_mtrldef_array ss_inscust)
  114. public function integer wf_openfile (datawindow arg_dw)
  115. public function integer wf_check_qtyandaddqty (ref string arg_msg)
  116. public function integer wf_check_planprice (ref string arg_msg)
  117. public subroutine wf_enamt_facechg ()
  118. public subroutine wf_ue_f7 (s_mtrldef_buytask_array s_inscust)
  119. end prototypes
  120. event insert_childrow();long li_row
  121. li_row=dw_child.insertrow(0)
  122. dw_child.scrolltorow(li_row)
  123. dw_child.object.u_inwaremx_ifrel[li_row] = sys_option_autoyes
  124. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  125. end event
  126. event ue_secauditing();//IF dw_edit_mode THEN
  127. // MessageBox('系统提示',"编辑状态下不可以使用!")
  128. // return
  129. //END IF
  130. //
  131. //IF NOT f_power_ind(813) THEN
  132. // MessageBox(publ_operator,sys_msg_pow)
  133. // RETURN
  134. //END IF
  135. //
  136. //string arg_msg=''
  137. //
  138. //if messagebox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 then return
  139. //long pagerert_row
  140. //
  141. //pagerert_row=dw_uc.getrow()
  142. //if pagerert_row<=0 then
  143. // messagebox('系统提示','请选定当前目标单据!')
  144. // return
  145. //end if
  146. //
  147. ////====================================================================
  148. //if uo_ware.getinfo(cur_scid,dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then
  149. // messagebox('error!',arg_msg)
  150. // return
  151. //end if
  152. //
  153. //if uo_ware.secauditing(true,arg_msg)=0 then
  154. // messagebox('error!',arg_msg)
  155. //else
  156. // messagebox(publ_operator,'审核成功!')
  157. // wf_refresh_curuc(cur_scid,dw_uc.object.inwareid[pagerert_row])
  158. // sle_usual_query.setfocus()
  159. // sle_usual_query.selecttext(1,len(sle_usual_query.text))
  160. //
  161. //end if
  162. end event
  163. event ue_csecauditing();//IF dw_edit_mode THEN
  164. // MessageBox('系统提示',"编辑状态下不可以使用!")
  165. // return
  166. //END IF
  167. //
  168. //IF NOT f_power_ind(814) THEN
  169. // MessageBox(publ_operator,sys_msg_pow)
  170. // RETURN
  171. //END IF
  172. //
  173. //string arg_msg=''
  174. //long pagerert_row
  175. //
  176. //pagerert_row=dw_pageretr.getrow()
  177. //if pagerert_row<=0 then
  178. // messagebox('系统提示','请选定当前目标单据!')
  179. // return
  180. //end if
  181. //IF MessageBox ("IF","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  182. //
  183. //if uo_ware.getinfo(cur_scid,dw_pageretr.object.inwareid [pagerert_row],arg_msg)=0 then
  184. // messagebox('Error!',arg_msg)
  185. // return
  186. //end if
  187. //
  188. //if dw_pageretr.object.u_inware_secflag[pagerert_row]=1 then
  189. // if uo_ware.c_secauditing(true,arg_msg)=0 then
  190. // messagebox('Error!',arg_msg)
  191. // else
  192. // //日志
  193. // long ls_id
  194. // string ls_code
  195. // ls_id=dw_uc.object.inwareid[pagerert_row]
  196. // ls_code=dw_uc.object.inwarecode[pagerert_row]
  197. // f_setsysoplog('采购收货单','财务撤审,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  198. // //--
  199. // messagebox(publ_operator,'撤审成功!')
  200. // wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[pagerert_row])
  201. // end if
  202. //end if
  203. end event
  204. event ue_fj_edit();IF dw_edit_mode THEN
  205. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  206. RETURN
  207. END IF
  208. //IF NOT f_power_ind(1098) THEN
  209. // MessageBox(publ_operator,sys_msg_pow)
  210. // RETURN
  211. //END IF
  212. s_edit_index_tran s_pic
  213. Long ll_ConnectionID
  214. String arg_msg
  215. Long ls_row
  216. ls_row = dw_pageretr.GetRow()
  217. IF ls_row <= 0 THEN
  218. RETURN
  219. END IF
  220. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  221. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  222. RETURN
  223. END IF
  224. s_pic.f_long = 403 //销售订单的mainID
  225. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  226. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  227. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  228. s_pic.sqltransaction = sys_filedb_sqlca
  229. OpenWithParm(w_fj_bill_mng,s_pic)
  230. wf_check_billfj()
  231. end event
  232. event ue_fj_view();IF dw_edit_mode THEN
  233. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  234. RETURN
  235. END IF
  236. s_edit_index_tran s_pic
  237. Long ll_ConnectionID
  238. String arg_msg
  239. Long ls_row
  240. ls_row = dw_pageretr.GetRow()
  241. IF ls_row <= 0 THEN
  242. RETURN
  243. END IF
  244. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  245. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  246. RETURN
  247. END IF
  248. s_pic.f_long = 403 //销售订单的mainID
  249. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  250. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  251. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  252. s_pic.sqltransaction = sys_filedb_sqlca
  253. OpenWithParm(w_fj_bill_view,s_pic)
  254. end event
  255. event ue_cpml_qty();//ue_cpml_qty
  256. string ls_rate,ls_status,ls_qty[]
  257. decimal ll_rate,ll_qty[],ld_qty = 1
  258. long i,j,k
  259. long ll_cmp1,ll_cmp2
  260. s_changerate s_rate
  261. dw_child.accepttext()
  262. if dw_edit_mode then
  263. open(w_changerate_ch)
  264. s_rate = message.powerobjectparm
  265. ll_rate = dec(s_rate.rate)
  266. ll_cmp1 = s_rate.cmp1
  267. ll_cmp2 = s_rate.cmp2
  268. if ll_rate <= 0 then return
  269. if dw_child.rowcount() <= 0 then return
  270. for i= 1 to dw_child.rowcount()
  271. if ll_cmp1 = 1 then
  272. if isnull(dw_child.object.u_inwaremx_status[i]) then
  273. continue
  274. else
  275. ls_status = dw_child.object.u_inwaremx_status[i]
  276. end if
  277. elseif ll_cmp1 = 2 then
  278. if isnull(dw_child.object.u_inwaremx_woodcode[i]) then
  279. continue
  280. else
  281. ls_status = dw_child.object.u_inwaremx_woodcode[i]
  282. end if
  283. else
  284. if isnull(dw_child.object.u_inwaremx_pcode[i]) then
  285. continue
  286. else
  287. ls_status = dw_child.object.u_inwaremx_pcode[i]
  288. end if
  289. end if
  290. if ll_cmp2 = 1 then
  291. if dw_child.object.u_inwaremx_addqty[i] = 0 then
  292. else
  293. ls_status = ls_status + '*' + string(dw_child.object.u_inwaremx_addqty[i])
  294. end if
  295. end if
  296. if isnull(ls_status) then
  297. continue
  298. else
  299. // ls_status = dw_child.object.u_inwaremx_status[i]
  300. if pos(ls_status,'*') = 0 then
  301. continue
  302. else
  303. j = 0
  304. do while pos(ls_status,'*') > 0
  305. j++
  306. ls_qty[j] = mid(ls_status,1,pos(ls_status,'*') - 1)
  307. ls_status = mid(ls_status,pos(ls_status,'*') + 1)
  308. loop
  309. j++
  310. ls_qty[j] = ls_status
  311. end if
  312. ld_qty = 1
  313. for k =1 to j
  314. ld_qty = ld_qty * dec(ls_qty[k])
  315. next
  316. dw_child.object.u_inwaremx_uqty[i] = round(ld_qty / ll_rate,10)
  317. dw_child.object.u_inwaremx_buyqty[i] = round(ld_qty / ll_rate,10)
  318. end if
  319. next
  320. end if
  321. end event
  322. event ue_cmpl_addqty();Int ll_flag
  323. Decimal ll_value
  324. long ll_num
  325. String ls_qty[]
  326. Decimal ld_qty
  327. Long i,j,k
  328. String ls_mtrlmode
  329. s_cmpl_addqty s_cmpl
  330. dw_child.AcceptText()
  331. IF dw_edit_mode THEN
  332. Open(w_cmpl_addqty_ch)
  333. s_cmpl = Message.PowerObjectParm
  334. ll_flag = s_cmpl.flag
  335. ll_value = s_cmpl.addvalue
  336. ll_num = s_cmpl.num
  337. IF ll_value <= 0 THEN RETURN
  338. IF dw_child.RowCount() <= 0 THEN RETURN
  339. FOR i = 1 TO dw_child.RowCount()
  340. IF IsNull(ls_mtrlmode) THEN
  341. CONTINUE
  342. ELSE
  343. ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
  344. IF Pos(ls_mtrlmode,'*') = 0 THEN
  345. CONTINUE
  346. ELSE
  347. j = 0
  348. DO WHILE Pos(ls_mtrlmode,'*') > 0
  349. j++
  350. ls_qty[j] = Mid(ls_mtrlmode,1,Pos(ls_mtrlmode,'*') - 1)
  351. ls_mtrlmode = Mid(ls_mtrlmode,Pos(ls_mtrlmode,'*') + 1)
  352. LOOP
  353. j++
  354. ls_qty[j] = ls_mtrlmode
  355. END IF
  356. ld_qty = 1
  357. FOR k = 1 TO j
  358. ld_qty = ld_qty * Dec(ls_qty[k])
  359. NEXT
  360. IF ll_flag = 0 THEN
  361. dw_child.Object.u_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] * ll_value,ll_num)
  362. ELSE
  363. dw_child.Object.u_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] / ll_value,ll_num)
  364. END IF
  365. END IF
  366. NEXT
  367. END IF
  368. end event
  369. event ue_mod_banktype();//更新结算方式
  370. IF Not f_power_ind(974) THEN
  371. MessageBox('提示',sys_msg_pow, Information!, OK! )
  372. RETURN
  373. END IF
  374. IF dw_edit_mode THEN RETURN
  375. dw_pageretr.AcceptText()
  376. Long ll_row
  377. ll_row = dw_pageretr.GetRow()
  378. IF ll_row <= 0 THEN
  379. MessageBox('提示','请选择单据', Information!, OK! )
  380. RETURN
  381. END IF
  382. IF dw_pageretr.Object.flag[ll_row] = 1 AND dw_pageretr.Object.u_inware_secflag[ll_row] = 0 THEN
  383. s_inware_banktype s_banktype
  384. s_banktype.scid = dw_pageretr.Object.u_inware_scid[ll_row]
  385. s_banktype.inwareid = dw_pageretr.Object.inwareid[ll_row]
  386. s_banktype.banktypeid = dw_pageretr.Object.u_inware_relint_1[ll_row]
  387. openwithparm(w_inware_buy_mod_banktype,s_banktype)
  388. wf_refresh_curuc(s_banktype.scid,s_banktype.inwareid) //刷新uc
  389. ELSE
  390. MessageBox('提示','此功能只能在仓审后财审前应用', Information!, OK! )
  391. END IF
  392. end event
  393. event ue_mod_price();IF NOT f_power_ind(979) THEN
  394. MessageBox('提示',sys_msg_pow, Information!, OK! )
  395. RETURN
  396. END IF
  397. IF dw_edit_mode THEN
  398. MessageBox('提示','编辑状态下不可使用', Information!, OK! )
  399. RETURN
  400. END IF
  401. Long uc_row//,child_row
  402. uc_row = dw_pageretr.GetRow()
  403. IF uc_row <= 0 THEN
  404. MessageBox('提示','请选择单据', Information!, OK! )
  405. RETURN
  406. END IF
  407. //child_row = dw_child.GetRow()
  408. //IF child_row <= 0 THEN
  409. // MessageBox('提示','请选择明细内容', Information!, OK! )
  410. // RETURN
  411. //END IF
  412. Long ll_flag ,ll_secflag,ll_balcflag
  413. Long ll_scid,ll_inwareid,ll_printid
  414. ll_flag = dw_pageretr.Object.flag[uc_row]
  415. ll_secflag = dw_pageretr.Object.u_inware_secflag[uc_row]
  416. ll_balcflag = dw_pageretr.Object.balcflag[uc_row]
  417. ll_scid = dw_pageretr.Object.u_inware_scid[uc_row]
  418. ll_inwareid = dw_pageretr.Object.inwareid[uc_row]
  419. //ll_printid = dw_child.Object.u_inwaremx_printid[child_row]
  420. IF ll_flag = 0 THEN
  421. MessageBox('提示','进仓单待审核状态下不能执行修改单价功能', Information!, OK! )
  422. RETURN
  423. END IF
  424. IF ll_secflag = 1 THEN
  425. MessageBox('提示','单据已财审,不能执行修改单价功能', Information!, OK! )
  426. RETURN
  427. END IF
  428. IF ll_balcflag = 1 THEN
  429. MessageBox('提示','单据已结存,不能执行修改单价功能', Information!, OK! )
  430. RETURN
  431. END IF
  432. s_edit_index_tran s_tran_mod
  433. s_tran_mod.b_long = ll_scid
  434. s_tran_mod.c_long = ll_inwareid
  435. s_tran_mod.c_string = ''
  436. s_tran_mod.d_long = ii_enamt_edit
  437. OpenWithParm(w_inwaremx_buy_mod_price_p,s_tran_mod)
  438. THIS.TriggerEvent('retrieve_childdw')
  439. end event
  440. event ue_cmpl_status_qty();Int ll_flag
  441. Decimal ll_value
  442. Long ll_num
  443. Long i,j,k
  444. String ls_mtrlmode
  445. String ls_status
  446. Decimal ld_qty
  447. Decimal ld_addqty
  448. String ls_msg
  449. Long ll_type
  450. s_cmpl_addqty s_cmpl
  451. dw_child.AcceptText()
  452. dw_uc.SetRedraw(FALSE)
  453. IF dw_edit_mode THEN
  454. Open(w_cmpl_status_qty_ch)
  455. s_cmpl = Message.PowerObjectParm
  456. ll_flag = s_cmpl.flag
  457. ll_value = s_cmpl.addvalue
  458. ll_num = s_cmpl.num
  459. ll_type = s_cmpl.cmptype
  460. IF ll_value <= 0 THEN RETURN
  461. IF dw_child.RowCount() <= 0 THEN RETURN
  462. FOR i = 1 TO dw_child.RowCount()
  463. ld_addqty = dw_child.Object.u_inwaremx_addqty[i]
  464. CHOOSE CASE ll_type
  465. CASE 0
  466. ls_status = dw_child.Object.u_inwaremx_status[i]
  467. CASE 1
  468. ls_status = dw_child.Object.u_inwaremx_woodcode[i]
  469. CASE 2
  470. ls_status = dw_child.Object.u_inwaremx_pcode[i]
  471. CASE 3
  472. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  473. CASE 4
  474. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  475. END CHOOSE
  476. IF ld_addqty = 0 OR ls_status = '' THEN
  477. ELSE
  478. ld_qty = 0
  479. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  480. MessageBox('提示',ls_msg, Information!, OK! )
  481. GOTO ext
  482. END IF
  483. IF ll_flag = 0 THEN
  484. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num)
  485. dw_child.Object.u_inwaremx_buyqty[i] = Round(ld_qty * ll_value,ll_num)
  486. ELSE
  487. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num)
  488. dw_child.Object.u_inwaremx_buyqty[i] = Round(ld_qty / ll_value,ll_num)
  489. END IF
  490. END IF
  491. NEXT
  492. END IF
  493. ext:
  494. dw_uc.SetRedraw(TRUE)
  495. end event
  496. event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
  497. Long child_row
  498. dw_child.AcceptText()
  499. child_row = dw_child.GetRow()
  500. s_cmpl_qty s_cmpl,s_return
  501. s_cmpl.qty = dw_child.Object.u_inwaremx_uqty[child_row]
  502. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[child_row]
  503. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[child_row]
  504. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[child_row]
  505. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[child_row]
  506. s_cmpl.status = dw_child.Object.u_inwaremx_status[child_row]
  507. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  508. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  509. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  510. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  511. s_cmpl.packqty = dw_child.Object.u_inwaremx_packqty[child_row]
  512. IF NOT IsValid(w_cmpl_qty_ch) THEN
  513. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  514. s_return = Message.PowerObjectParm
  515. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  516. dw_child.Object.u_inwaremx_uqty[child_row] = s_return.qty
  517. dw_child.Object.u_inwaremx_formula[child_row] = s_return.formula
  518. END IF
  519. END IF
  520. end event
  521. event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
  522. Long i
  523. String ls_formula
  524. String ls_msg
  525. String ls_rs
  526. String ls_num
  527. Decimal ld_addqty
  528. Decimal ld_price
  529. Decimal ld_rebate
  530. Decimal ld_qty
  531. dw_child.AcceptText()
  532. s_cmpl_qty s_cmpl
  533. Open(w_cmpl_qty_ch_son)
  534. s_cmpl = Message.PowerObjectParm
  535. dw_uc.SetRedraw(FALSE)
  536. FOR i = 1 TO dw_child.RowCount()
  537. ld_qty = 0
  538. IF dw_child.Object.u_inwaremx_formula[i] <> '' THEN
  539. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[i]
  540. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[i]
  541. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[i]
  542. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[i]
  543. s_cmpl.status = dw_child.Object.u_inwaremx_status[i]
  544. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  545. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[i]
  546. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  547. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  548. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  549. MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! )
  550. GOTO ext
  551. END IF
  552. dw_child.Object.u_inwaremx_uqty[i] = ld_qty
  553. END IF
  554. NEXT
  555. ext:
  556. dw_child.SetColumn('u_inwaremx_uqty')
  557. dw_uc.SetRedraw(TRUE)
  558. end event
  559. event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
  560. IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN
  561. RETURN
  562. END IF
  563. Long ll_i
  564. dw_child.AcceptText()
  565. dw_child.SetRedraw(FALSE)
  566. FOR ll_i = 1 TO dw_child.RowCount()
  567. IF ll_i = 1 THEN CONTINUE
  568. dw_child.Object.u_inwaremx_formula[ll_i] = dw_child.Object.u_inwaremx_formula[1]
  569. NEXT
  570. dw_child.SetRedraw(TRUE)
  571. end event
  572. event ue_import_price();//////////
  573. Long i,ls_sptid,ll_mtrlid
  574. String ls_1stunit,arg_msg
  575. Decimal ls_1stnewcost
  576. Decimal ls_1stzqrate
  577. Decimal ls_1strate
  578. String ls_status
  579. String ls_woodcode
  580. String ls_pcode
  581. dw_child.AcceptText()
  582. dw_uc.AcceptText()
  583. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  584. FOR i = 1 TO dw_child.RowCount()
  585. ls_1stunit = ''
  586. ls_1stnewcost = 0
  587. ls_1stzqrate = 0
  588. ls_1strate = 0
  589. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  590. IF ll_mtrlid > 0 THEN
  591. ls_status = dw_child.Object.u_inwaremx_status[i]
  592. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  593. ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
  594. ls_1stunit = dw_child.Object.u_inwaremx_unit[i]
  595. 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
  596. Int Mtrlorigin
  597. Decimal lmbuyprice
  598. SELECT u_mtrldef.Mtrlorigin,
  599. u_mtrldef.lmbuyprice
  600. INTO :Mtrlorigin,
  601. :lmbuyprice
  602. FROM u_mtrldef
  603. Where mtrlid = :ll_mtrlid;
  604. IF sqlca.SQLCode <> 0 THEN
  605. dw_child.Object.u_inwaremx_uprice[i] = 0
  606. ELSE
  607. IF Mtrlorigin > 0 THEN
  608. dw_child.Object.u_inwaremx_uprice[i] = lmbuyprice
  609. ELSE
  610. dw_child.Object.u_inwaremx_uprice[i] = 0
  611. END IF
  612. END IF
  613. ELSE
  614. dw_child.Object.u_inwaremx_uprice[i] = ls_1stnewcost
  615. IF ls_1stzqrate = 0 THEN
  616. dw_child.Object.u_inwaremx_rebate[i] = 1
  617. ELSE
  618. dw_child.Object.u_inwaremx_rebate[i] = ls_1stzqrate
  619. END IF
  620. dw_child.Object.u_inwaremx_rate[i] = ls_1strate
  621. dw_child.Object.u_inwaremx_unit[i] = ls_1stunit
  622. END IF
  623. END IF
  624. NEXT
  625. end event
  626. event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN
  627. s_edit_index_tran s_open //传递参数使用
  628. s_open.work_mode = 1
  629. s_open.c_long = 1
  630. Openwithparm(w_banktype_edit_ch, s_open)
  631. s_banktype s_ch
  632. s_ch = Message.PowerObjectParm
  633. IF s_ch.banktypeid > 0 THEN
  634. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_ch.banktypeid
  635. END IF
  636. datawindowchild childdw
  637. dw_uc.GetChild("u_inware_relint_1",childdw)
  638. childdw.SetTransObject (sqlca)
  639. childdw.Retrieve()
  640. END IF
  641. end event
  642. event ue_ch_money();IF NOT IsValid(w_currency_edit_ch) THEN
  643. Open(w_currency_edit_ch)
  644. s_currency s_ch
  645. s_ch = Message.PowerObjectParm
  646. IF s_ch.moneyid > 0 THEN
  647. dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = s_ch.moneyid
  648. dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = s_ch.rate
  649. END IF
  650. datawindowchild childdw
  651. dw_uc.GetChild("u_inware_relint_3",childdw)
  652. childdw.SetTransObject (sqlca)
  653. childdw.Retrieve()
  654. END IF
  655. end event
  656. event ue_p_cus_set();IF NOT dw_edit_mode THEN RETURN
  657. IF MessageBox('提示','是否要确定要批设定客户', question!, YesNo!, 2) = 2 THEN
  658. RETURN
  659. END IF
  660. IF dw_child.RowCount() < 2 THEN RETURN
  661. Long i
  662. dw_child.SetRedraw (FALSE)
  663. FOR i = 2 TO dw_child.RowCount()
  664. dw_child.Object.u_cust_cuscode[i] = dw_child.Object.u_cust_cuscode[1]
  665. dw_child.Object.u_cust_name[i] = dw_child.Object.u_cust_name[1]
  666. dw_child.Object.u_inwaremx_if_mtrlware[i] = dw_child.Object.u_inwaremx_if_mtrlware[1]
  667. dw_child.Object.u_inwaremx_sptid_cusid[i] = dw_child.Object.u_inwaremx_sptid_cusid[1]
  668. NEXT
  669. dw_child.SetRedraw (TRUE)
  670. end event
  671. event ue_add_dscrp();s_view_dscrp s_view,s_return
  672. String ls_dscrp
  673. dw_uc.AcceptText()
  674. ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
  675. s_view.Title = '采购收货单备注'
  676. s_view.dscrp = ls_dscrp
  677. s_view.editmode = dw_edit_mode
  678. OpenWithParm(w_view_dscrp,s_view)
  679. IF dw_edit_mode THEN
  680. s_return = Message.PowerObjectParm
  681. dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp
  682. END IF
  683. end event
  684. event ue_ch_cust();IF Not dw_edit_mode THEN RETURN
  685. long uc_row
  686. Long child_row
  687. uc_row = dw_uc.getrow()
  688. IF uc_row = 0 THEN
  689. MessageBox('提示','请选定单据!',information!,OK!)
  690. RETURN
  691. END IF
  692. long ll_storageid
  693. ll_storageid = dw_uc.object.storageid[uc_row]
  694. Int li_if_cus_mtrlware, li_if_plancode, li_inwaretype
  695. SELECT balctype
  696. INTO :li_if_cus_mtrlware
  697. FROM u_storage
  698. Where storageid = :ll_storageid;
  699. IF sqlca.SQLCode <> 0 THEN
  700. MessageBox('提示','查询仓库是否使用客户库存失败!',information!,OK!)
  701. RETURN
  702. END IF
  703. IF li_if_cus_mtrlware = 0 THEN
  704. MessageBox('提示','当前进仓仓库不使用客户库存,不能保存所属客户!',information!,OK!)
  705. RETURN
  706. end if
  707. child_row = dw_child.GetRow()
  708. IF child_row = 0 THEN
  709. MessageBox('提示','请选定明细!',information!,OK!)
  710. RETURN
  711. END IF
  712. IF Not IsValid(W_cust_edit) THEN
  713. s_edit_index_tran s_ch_tran //传递参数使用
  714. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  715. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  716. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  717. //查询列(物料编码)部分内容,用于初步筛选
  718. dw_child.AcceptText()
  719. s_ch_tran.arg_string_code = Trim(dw_child.Object.u_cust_cuscode[child_row])
  720. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  721. s_custom S_INSCUST
  722. S_INSCUST = Message.PowerObjectParm //接受返回结构
  723. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  724. dw_child.SetRedraw(False)
  725. dw_child.Object.u_inwaremx_if_mtrlware[child_row] = 1
  726. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = S_INSCUST.cusid
  727. dw_child.Object.u_cust_name[child_row] = S_INSCUST.Name
  728. dw_child.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  729. dw_child.SetRedraw(True)
  730. END IF
  731. END IF
  732. end event
  733. event ue_mod_buyqty();IF Not f_power_ind(979) THEN
  734. MessageBox('提示',sys_msg_pow, Information!, OK! )
  735. RETURN
  736. END IF
  737. IF dw_edit_mode THEN
  738. MessageBox('提示','编辑状态下不可使用', Information!, OK! )
  739. RETURN
  740. END IF
  741. IF sys_option_outware_if_buyqty = 0 THEN
  742. MessageBox('提示','系统选项[085]限制,功能不能使用', Information!, OK! )
  743. RETURN
  744. END IF
  745. Long uc_row //,child_row
  746. uc_row = dw_pageretr.GetRow()
  747. IF uc_row <= 0 THEN
  748. MessageBox('提示','请选择单据', Information!, OK! )
  749. RETURN
  750. END IF
  751. Long ll_flag ,ll_secflag,ll_balcflag
  752. Long ll_scid,ll_inwareid,ll_printid
  753. ll_flag = dw_pageretr.Object.flag[uc_row]
  754. ll_secflag = dw_pageretr.Object.u_inware_secflag[uc_row]
  755. ll_balcflag = dw_pageretr.Object.balcflag[uc_row]
  756. ll_scid = dw_pageretr.Object.u_inware_scid[uc_row]
  757. ll_inwareid = dw_pageretr.Object.inwareid[uc_row]
  758. IF ll_flag = 0 THEN
  759. MessageBox('提示','进仓单待审核状态下不能执行修改收货数量功能', Information!, OK! )
  760. RETURN
  761. END IF
  762. IF ll_secflag = 1 THEN
  763. MessageBox('提示','单据已财审,不能执行修改收货数量功能', Information!, OK! )
  764. RETURN
  765. END IF
  766. IF ll_balcflag = 1 THEN
  767. MessageBox('提示','单据已结存,不能执行修改收货数量功能', Information!, OK! )
  768. RETURN
  769. END IF
  770. s_edit_index_tran s_tran_mod
  771. s_tran_mod.b_long = ll_scid
  772. s_tran_mod.c_long = ll_inwareid
  773. s_tran_mod.c_string = ''
  774. OpenWithParm(w_inwaremx_buy_mod_buyqty_p,s_tran_mod)
  775. This.TriggerEvent('retrieve_childdw')
  776. end event
  777. event ue_all_choice();Long i
  778. FOR i = 1 To dw_pageretr.RowCount()
  779. dw_pageretr.Object.ch[i] = 1
  780. NEXT
  781. end event
  782. event ue_allnot_choice();Long i
  783. FOR i = 1 To dw_pageretr.RowCount()
  784. dw_pageretr.Object.ch[i] = 0
  785. NEXT
  786. end event
  787. event ue_all_audit();Long ll_billid,ll_scid,li_flag,li_secflag,ll_i,ll_fail
  788. String arg_msg,arg_msg1,ls_taskcode
  789. IF Not (f_power_ind(66) Or f_power_ind(103)) THEN
  790. MessageBox('提示',sys_msg_pow, Information!, OK! )
  791. RETURN
  792. END IF
  793. Open(w_sys_wait_jdt) //初始化进度条
  794. w_sys_wait_jdt.Show()
  795. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  796. FOR ll_i = 1 To dw_pageretr.RowCount()
  797. IF dw_pageretr.Object.ch[ll_i] = 0 THEN CONTINUE
  798. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  799. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  800. ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
  801. li_flag = dw_pageretr.Object.flag[ll_i]
  802. li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
  803. ls_taskcode = dw_pageretr.Object.inwarecode[ll_i]
  804. IF li_flag = 0 And li_secflag = 0 THEN //仓审
  805. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  806. ll_fail++
  807. arg_msg1 = arg_msg1 + ' ' + ls_taskcode
  808. CONTINUE
  809. END IF
  810. IF uo_ware.auditing(True,arg_msg) = 0 THEN
  811. ll_fail++
  812. arg_msg1 = arg_msg1 + ' ' + ls_taskcode
  813. CONTINUE
  814. END IF
  815. END IF
  816. w_sys_wait_jdt.wf_inc(ll_i) //进度
  817. NEXT
  818. Close(w_sys_wait_jdt)
  819. IF ll_fail <> 0 THEN
  820. MessageBox('提示','审核失败数 '+String(ll_fail) + ' '+ '失败单号:' + arg_msg1 ,Information!,OK!)
  821. END IF
  822. This.TriggerEvent('retrieve_pageretr')
  823. end event
  824. event ue_allnot_audit();Long ll_billid,ll_scid,li_flag,li_secflag,ll_i,ll_fail
  825. String arg_msg,arg_msg1,ls_taskcode
  826. IF Not (f_power_ind(877) Or f_power_ind(878)) THEN
  827. MessageBox('提示',sys_msg_pow, Information!, OK! )
  828. RETURN
  829. END IF
  830. Open(w_sys_wait_jdt) //初始化进度条
  831. w_sys_wait_jdt.Show()
  832. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  833. FOR ll_i = 1 To dw_pageretr.RowCount()
  834. IF dw_pageretr.Object.ch[ll_i] = 0 THEN CONTINUE
  835. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在撤审..." //进度信息
  836. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  837. ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
  838. li_flag = dw_pageretr.Object.flag[ll_i]
  839. li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
  840. ls_taskcode = dw_pageretr.Object.inwarecode[ll_i]
  841. IF li_flag = 1 And li_secflag = 0 THEN //仓审
  842. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  843. ll_fail++
  844. arg_msg1 = arg_msg1 + ' ' + ls_taskcode
  845. CONTINUE
  846. END IF
  847. IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
  848. ll_fail++
  849. arg_msg1 = arg_msg1 + ' ' + ls_taskcode
  850. CONTINUE
  851. END IF
  852. END IF
  853. w_sys_wait_jdt.wf_inc(ll_i) //进度
  854. NEXT
  855. Close(w_sys_wait_jdt)
  856. IF ll_fail <> 0 THEN
  857. MessageBox('提示','撤审失败数 '+String(ll_fail) + ' '+ '失败单号:' + arg_msg1 ,Information!,OK!)
  858. END IF
  859. This.TriggerEvent('retrieve_pageretr')
  860. end event
  861. event ue_all_delete();Long ll_billid,ll_scid,li_flag,li_secflag,ll_i,ll_fail
  862. String arg_msg,arg_msg1,ls_taskcode
  863. IF Not (f_power_ind(592) OR f_power_ind(584)) THEN
  864. MessageBox('提示',sys_msg_pow, Information!, OK! )
  865. RETURN
  866. END IF
  867. Open(w_sys_wait_jdt) //初始化进度条
  868. w_sys_wait_jdt.Show()
  869. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  870. FOR ll_i = 1 To dw_pageretr.RowCount()
  871. IF dw_pageretr.Object.ch[ll_i] = 0 THEN CONTINUE
  872. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在删除..." //进度信息
  873. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  874. ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
  875. li_flag = dw_pageretr.Object.flag[ll_i]
  876. li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
  877. ls_taskcode = dw_pageretr.Object.inwarecode[ll_i]
  878. IF li_flag = 0 And li_secflag = 0 THEN //删除
  879. IF uo_ware.del(ll_scid,ll_billid,arg_msg,True) = 0 THEN
  880. ll_fail++
  881. arg_msg1 = arg_msg1 + ' ' + ls_taskcode
  882. CONTINUE
  883. END IF
  884. END IF
  885. w_sys_wait_jdt.wf_inc(ll_i) //进度
  886. NEXT
  887. Close(w_sys_wait_jdt)
  888. IF ll_fail <> 0 THEN
  889. MessageBox('提示','删除失败数 '+String(ll_fail) + ' '+ '失败单号:' + arg_msg1 ,information!,OK!)
  890. END IF
  891. This.TriggerEvent('retrieve_pageretr')
  892. end event
  893. event ue_set_dytitle();Long ll_d_col_count,i,j = 1
  894. String ls_col_name
  895. s_dytitle_inwarebuy ss_dytitle_inwarebuy //col_name
  896. ll_d_col_count = Long(dw_child.Object.datawindow.Column.Count)
  897. FOR i = 1 To ll_d_col_count
  898. ls_col_name = dw_child.Describe('#' + String(i) + '.Name')
  899. IF Long(dw_child.Describe(ls_col_name + '.TabSequence ')) > 0 THEN
  900. ss_dytitle_inwarebuy.col_name[j] = ls_col_name
  901. ss_dytitle_inwarebuy.title_name[j] = dw_child.describe(ls_col_name + '_t.Text')
  902. j++
  903. END IF
  904. NEXT
  905. openwithparm(w_dytitle_inwarebuy,ss_dytitle_inwarebuy)
  906. end event
  907. event ue_insert_execltodw();Long i,ll_cnt,j
  908. SELECT count(*) Into :ll_cnt From u_dytitle_inwarebuy;
  909. IF ll_cnt = 0 THEN
  910. MessageBox('Error','明细标题与execl标题对应关系没有设置,请先执行设置')
  911. This.TriggerEvent('ue_set_dytitle')
  912. RETURN
  913. END IF
  914. dw_child.setredraw(false)
  915. wf_openfile(dw_child)
  916. dw_child.AcceptText()
  917. String ls_mtrlcode,ls_unit
  918. Long ll_mtrlid
  919. String arg_msg
  920. For j = dw_child.RowCount() to 1 step -1
  921. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[j]
  922. IF ls_mtrlcode = '' THEN
  923. dw_child.deleterow(j)
  924. end if
  925. Next
  926. FOR i = 1 To dw_child.RowCount()
  927. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
  928. IF ls_mtrlcode <> '' THEN
  929. ll_mtrlid = 0
  930. SELECT mtrlid,unit Into :ll_mtrlid,:ls_unit From u_mtrldef Where mtrlcode = :ls_mtrlcode;
  931. IF ll_mtrlid <> 0 THEN
  932. dw_child.Object.u_inwaremx_printid[i] = i
  933. dw_child.Object.u_inwaremx_mtrlid[i] = ll_mtrlid
  934. IF dw_child.Object.u_inwaremx_unit[i] = '' Or IsNull(dw_child.Object.u_inwaremx_unit[i]) THEN
  935. dw_child.Object.u_inwaremx_unit[i] = ls_unit
  936. END IF
  937. ELSE
  938. arg_msg = arg_msg + ',' +ls_mtrlcode
  939. END IF
  940. END IF
  941. NEXT
  942. dw_child.setredraw(true)
  943. IF arg_msg <> '' THEN
  944. MessageBox('Error',arg_msg + ' 没有定义,请先定义物料')
  945. END IF
  946. end event
  947. event ue_create_spt_price_change();//辅助生成报价单
  948. IF Not f_power_ind(114) THEN
  949. MessageBox('提示',sys_msg_pow, Information!, OK! )
  950. RETURN
  951. END IF
  952. Long ll_row
  953. long ll_sptid, ll_moneyid
  954. string ls_sptcode, ls_sptname
  955. Long ll_scid, ll_inwareid
  956. dw_pageretr.AcceptText()
  957. ll_row = dw_pageretr.GetRow()
  958. IF ll_row <= 0 THEN
  959. MessageBox('系统提示','请选定当前目标单据!',Information!,OK!)
  960. RETURN
  961. END IF
  962. IF (dw_pageretr.Object.flag[ll_row] = 1 ) THEN
  963. MessageBox('系统提示','当前选定单据非待仓审状态!',Information!,OK!)
  964. RETURN
  965. END IF
  966. ll_scid = dw_pageretr.object.u_inware_scid[ll_row]
  967. ll_inwareid = dw_pageretr.object.inwareid[ll_row]
  968. ll_sptid = dw_pageretr.object.sptid[ll_row]
  969. ll_moneyid = dw_pageretr.object.u_inware_relint_3[ll_row]
  970. ls_sptcode = dw_pageretr.object.u_spt_sptcode[ll_row]
  971. ls_sptname = dw_pageretr.object.u_spt_name[ll_row]
  972. s_edit_index_tran s_open
  973. IF Not IsValid(w_spt_price_change) THEN
  974. OpenWithParm(w_spt_price_change,s_open)
  975. w_spt_price_change.cb_add.TriggerEvent(Clicked!)
  976. ll_row = w_spt_price_change.dw_uc.GetRow()
  977. w_spt_price_change.dw_uc.Object.u_spt_price_change_sptid[ll_row] = ll_sptid
  978. w_spt_price_change.dw_uc.Object.u_spt_name[ll_row] = ls_sptname
  979. w_spt_price_change.dw_uc.Object.u_spt_sptcode[ll_row] = ls_sptcode
  980. w_spt_price_change.dw_uc.Object.u_spt_price_change_moneyid[ll_row] = ll_moneyid
  981. w_spt_price_change.wf_set_mx(ll_scid, ll_inwareid)
  982. END IF
  983. end event
  984. event ue_mod_otheramt();//更新优惠款
  985. IF Not f_power_ind(974) THEN
  986. MessageBox('提示',sys_msg_pow, Information!, OK! )
  987. RETURN
  988. END IF
  989. IF dw_edit_mode THEN RETURN
  990. dw_pageretr.AcceptText()
  991. Long ll_row,ll_scid,ll_inwareid
  992. decimal ld_otheramt
  993. ll_row = dw_pageretr.GetRow()
  994. IF ll_row <= 0 THEN
  995. MessageBox('提示','请选择单据', Information!, OK! )
  996. RETURN
  997. END IF
  998. IF dw_pageretr.Object.flag[ll_row] = 1 AND dw_pageretr.Object.u_inware_secflag[ll_row] = 0 THEN
  999. ll_scid = dw_pageretr.Object.u_inware_scid[ll_row]
  1000. ll_inwareid = dw_pageretr.Object.inwareid[ll_row]
  1001. ld_otheramt = dw_pageretr.Object.u_inware_otheramt[ll_row]
  1002. openwithparm(w_inware_buy_mod_otheramt,ld_otheramt)
  1003. ld_otheramt = Message.DoubleParm
  1004. update u_inware set otheramt = :ld_otheramt
  1005. where inwareid = :ll_inwareid and scid = :ll_scid;
  1006. IF SQLCA.SQLCODE <>0 THEN
  1007. MESSAGEBOX("提示","更新失败"+sqlca.sqlerrtext)
  1008. rollback;
  1009. return
  1010. else
  1011. commit;
  1012. END IF
  1013. wf_refresh_curuc(ll_scid,ll_inwareid) //刷新uc
  1014. ELSE
  1015. MessageBox('提示','此功能只能在仓审后财审前应用', Information!, OK! )
  1016. END IF
  1017. end event
  1018. event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return
  1019. String ls_dscrp
  1020. long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  1021. dw_child.AcceptText()
  1022. ll_mtrlid = dw_child.object.u_inwaremx_mtrlid[arg_row]
  1023. SELECT
  1024. statusflag,
  1025. woodcodeflag,
  1026. pcodeflag
  1027. into
  1028. :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag
  1029. FROM U_MTRLDEF
  1030. where mtrlid = :ll_mtrlid;
  1031. IF arg_status = 'u_inwaremx_status' THEN
  1032. IF ll_statusflag<>5 THEN RETURN
  1033. ELSEIF arg_status = 'u_inwaremx_woodcode' THEN
  1034. IF ll_woodcodeflag<>5 THEN RETURN
  1035. ELSEIF arg_status = 'u_inwaremx_pcode' then
  1036. IF ll_pcodeflag<>5 THEN RETURN
  1037. ELSE
  1038. RETURN
  1039. END IF
  1040. ls_dscrp = dw_child.GetItemString(arg_row, arg_status)
  1041. s_view.Title = '配置内容'
  1042. s_view.dscrp = ls_dscrp
  1043. s_view.editmode = dw_edit_mode
  1044. OpenWithParm(w_view_status,s_view)
  1045. IF dw_edit_mode THEN
  1046. s_return = Message.PowerObjectParm
  1047. dw_child.setitem(arg_row,arg_status,s_return.dscrp)
  1048. END IF
  1049. end event
  1050. event ue_cmpl_set0();long i
  1051. for i=1 to dw_child.rowcount()
  1052. dw_child.object.u_inwaremx_uqty[i]=0
  1053. next
  1054. end event
  1055. event ue_set_tax();//
  1056. dw_child.AcceptText()
  1057. IF dw_child.RowCount() < 1 THEN RETURN
  1058. Long i
  1059. FOR i = 1 To dw_child.RowCount()
  1060. dw_child.Object.u_inwaremx_tax[i] = dw_child.Object.u_inwaremx_tax[1]
  1061. wf_cmpl_amt(i)
  1062. NEXT
  1063. end event
  1064. event ue_create_bmstamt();Long ll_secflag,ll_scid
  1065. Long ll_mtrlwareid
  1066. Int i,j
  1067. decimal lde_zqamt
  1068. s_inwarebuy_ch s_inware
  1069. If Not f_power_ind(1752) Then
  1070. MessageBox('提示',sys_msg_pow,information!,OK!)
  1071. Return
  1072. End If
  1073. dw_pageretr.AcceptText()
  1074. i = dw_pageretr.GetRow()
  1075. If i <= 0 Then
  1076. MessageBox('系统提示','请选定当前目标订单!',information!,OK!)
  1077. Return
  1078. End If
  1079. ll_secflag = dw_pageretr.Object.u_inware_secflag[i]
  1080. If ll_secflag <> 1 Then
  1081. MessageBox('提示','只能对已财审的单据进行操作',information!,OK!)
  1082. Return
  1083. End If
  1084. s_inware.inwareid = dw_pageretr.Object.inwareid[i]
  1085. s_inware.scid = dw_pageretr.Object.u_inware_scid[i]
  1086. s_inware.sptid = dw_pageretr.Object.sptid[i]
  1087. s_inware.sptcode = dw_pageretr.Object.u_spt_sptcode[i]
  1088. s_inware.sptname = dw_pageretr.Object.u_spt_name[i]
  1089. s_inware.banktypeid = dw_pageretr.Object.u_inware_relint_1[i]
  1090. s_inware.moneyid = dw_pageretr.Object.u_inware_relint_3[i]
  1091. s_inware.billcode = dw_pageretr.Object.inwarecode[i]
  1092. s_inware.mrate = dw_pageretr.Object.u_inware_mrate[i]
  1093. s_inware.billamt = dw_child.Object.compute_8[i] //应付
  1094. s_inware.takeamt = dw_pageretr.Object.payamt[i] //已付
  1095. s_inware.balcamt = dw_pageretr.Object.balcamt[i] //未付
  1096. s_inware.indate = dw_pageretr.Object.indate[i]
  1097. s_inware.storageid = dw_pageretr.Object.storageid[i]
  1098. //折扣金额
  1099. lde_zqamt = 0
  1100. for j = 1 to dw_child.rowcount()
  1101. 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]))
  1102. next
  1103. s_inware.zqamt = lde_zqamt
  1104. s_edit_index_tran s_tran_open //翻页功能窗口 传递参数使用
  1105. s_tran_open.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行
  1106. s_tran_open.work_mode = 0 //0-单纯编辑模式, 1-选择模式
  1107. s_tran_open.arg_pkid = 0 //目标定位PKID (备用)
  1108. s_tran_open.arg_string_code = '' //查询列部分内容,用于初步筛选
  1109. s_tran_open.d_long = 1
  1110. s_tran_open.e_long = 0
  1111. s_tran_open.c_long = dw_pageretr.Object.u_inware_scid[i]
  1112. ll_scid = dw_pageretr.Object.u_inware_scid[i]
  1113. If Not IsValid(w_bmstamt_spt_edit) Then
  1114. OpenWithParm(w_bmstamt_spt_edit,s_tran_open)
  1115. // w_bmstamt_edit.ddlb_scid.uf_selectsc(ll_scid)
  1116. w_bmstamt_spt_edit.wf_ue_f7(s_inware)
  1117. End If
  1118. end event
  1119. event retrieve_fjnum();
  1120. Long i,ls_filecount
  1121. string arg_billcode
  1122. dw_pageretr.SetRedraw(False)
  1123. FOR i = 1 To dw_pageretr.RowCount()
  1124. arg_billcode = dw_pageretr.Object.inwarecode[i]
  1125. ls_filecount = 0
  1126. SELECT count(*) INTO :ls_filecount
  1127. FROM u_file
  1128. WHERE relcode = :arg_billcode
  1129. AND scid = 0
  1130. AND billtype =403
  1131. Using sys_filedb_sqlca;
  1132. IF ls_filecount <> 0 then
  1133. dw_pageretr.Object.fj_num[i] = String(ls_filecount)
  1134. end if
  1135. NEXT
  1136. dw_pageretr.SetRedraw(true)
  1137. end event
  1138. event ue_all_c_secaudit();IF dw_edit_mode THEN RETURN
  1139. long row_count = 0
  1140. String ls_msg = ''
  1141. Long i,rslt
  1142. Long ll_suc,ll_fail,ll_i
  1143. IF Not (f_power_ind(881) ) THEN
  1144. MessageBox('提示',sys_msg_pow,Information!,OK!)
  1145. RETURN
  1146. END IF
  1147. for i = 1 to dw_pageretr.rowcount()
  1148. if dw_pageretr.object.ch[i] = 1 then row_count++
  1149. next
  1150. IF row_count <= 0 THEN
  1151. MessageBox('提示','请勾选目标单据!',information!,OK!)
  1152. RETURN
  1153. END IF
  1154. IF MessageBox ("询问","是否确定要批财审当前选择单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1155. Open(w_sys_wait_jdt) //初始化进度条
  1156. w_sys_wait_jdt.Show()
  1157. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1158. FOR i = 1 TO dw_pageretr.rowcount()
  1159. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[i] + " 正在确认..." //进度信息
  1160. if dw_pageretr.object.ch[i] = 1 then
  1161. rslt = 1
  1162. String ls_code,ls_opemp,ls_outpart
  1163. string arg_msg = ''
  1164. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[i],dw_pageretr.Object.inwareid [i],arg_msg) = 0 THEN
  1165. ll_fail++
  1166. ls_msg += dw_pageretr.Object.inwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
  1167. CONTINUE
  1168. ELSE
  1169. IF uo_ware.c_secauditing(False,arg_msg) = 0 THEN
  1170. ll_fail++
  1171. ls_msg += dw_pageretr.Object.inwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
  1172. CONTINUE
  1173. ELSE
  1174. ll_suc++
  1175. ls_code = dw_pageretr.Object.inwarecode[i]
  1176. ls_opemp = dw_pageretr.Object.u_inware_opemp[i]
  1177. ls_outpart = dw_pageretr.Object.part[i]
  1178. f_setsysoplog('采购收货单','财务撤审,code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
  1179. END IF
  1180. END IF
  1181. w_sys_wait_jdt.wf_inc(i) //进度
  1182. end if
  1183. NEXT
  1184. Close(w_sys_wait_jdt)
  1185. ls_msg = '批财撤成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)+'~r~n'+ls_msg
  1186. IF ls_msg <> '' THEN
  1187. OpenWithParm(w_message_err,ls_msg)
  1188. ELSE
  1189. MessageBox('提示','全部财撤成功!')
  1190. END IF
  1191. this.triggerevent('retrieve_pageretr')
  1192. end event
  1193. event ue_cmpl_tax();If dw_child.GetRow() = 0 Then Return
  1194. Long child_row
  1195. child_row = dw_child.GetRow()
  1196. Decimal lde_saleqty, lde_rebate ,lde_taxamt,lde_enprice,lde_enprice_notax
  1197. lde_saleqty = dw_child.Object.u_inwaremx_uqty[child_row]
  1198. lde_rebate = dw_child.Object.u_inwaremx_rebate[child_row]
  1199. lde_enprice = dw_child.Object.u_inwaremx_uprice[child_row]
  1200. lde_enprice_notax = dw_child.Object.u_inwaremx_uprice_notax[child_row]
  1201. If lde_saleqty = 0 Then
  1202. MessageBox('提示','请填写数量!')
  1203. Return
  1204. End If
  1205. If lde_enprice = 0 And lde_enprice_notax = 0 Then
  1206. MessageBox('提示','请填写含税单价或者不含税单价')
  1207. Return
  1208. End If
  1209. If Not IsValid(w_ware_cmpl_taxamt) Then
  1210. s_edit_index_tran s_tran_tax
  1211. s_tran_tax.b_string = dw_child.Object.u_inwaremx_unit[child_row] //单位
  1212. OpenWithParm(w_ware_cmpl_taxamt,s_tran_tax)
  1213. s_edit_index_tran s_return
  1214. s_return = Message.PowerObjectParm
  1215. If Not IsNull(s_return) Then
  1216. If s_return.b_decimal = 0 Then Return
  1217. lde_taxamt = s_return.b_decimal
  1218. dw_child.Object.u_inwaremx_uamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金
  1219. If lde_enprice <> 0 Then
  1220. dw_child.Object.u_inwaremx_uamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额
  1221. // dw_child.Object.uamt_notax[child_row] = dw_child.Object.u_inwaremx_uamt[child_row] - dw_child.Object.u_inwaremx_uamt_tax[child_row] //不含税总金额
  1222. dw_child.Object.u_inwaremx_uprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价
  1223. dw_child.Object.u_inwaremx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率
  1224. elseif lde_enprice_notax <> 0 then
  1225. // dw_child.Object.uamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额
  1226. dw_child.Object.u_inwaremx_uamt[child_row] = dw_child.Object.uamt_notax[child_row] + dw_child.Object.u_inwaremx_uamt_tax[child_row] //总金额
  1227. dw_child.Object.u_inwaremx_uprice[child_row] = lde_enprice_notax + lde_taxamt //单价
  1228. dw_child.Object.u_inwaremx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率
  1229. End If
  1230. End If
  1231. End If
  1232. end event
  1233. event ue_mod_relcode();IF dw_edit_mode THEN
  1234. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  1235. return
  1236. END IF
  1237. IF NOT (f_power_ind(2050)) THEN
  1238. MessageBox('提示',sys_msg_pow, Information!, OK! )
  1239. RETURN
  1240. END IF
  1241. string arg_msg=''
  1242. string ls_str
  1243. long uc_row
  1244. s_inputbox s_sreu
  1245. uc_row=dw_pageretr.getrow()
  1246. if uc_row<=0 then
  1247. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  1248. return
  1249. end if
  1250. s_sreu.title='请输入要修改的相关号的内容'
  1251. s_sreu.old_text= dw_pageretr.object.part[uc_row]
  1252. openwithparm(w_inputbox,s_sreu)
  1253. ls_str=message.stringparm
  1254. if trim(ls_str)='' or isnull(ls_str) then return
  1255. 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
  1256. messagebox('error!',arg_msg)
  1257. return
  1258. else
  1259. messagebox('提示','修改相关号操作成功!', Information!, OK! )
  1260. wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
  1261. end if
  1262. end event
  1263. event ue_view_mxdscrp();s_view_dscrp s_view,s_return
  1264. String ls_dscrp
  1265. dw_child.AcceptText()
  1266. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp[dw_child.GetRow()]
  1267. s_view.Title = '采购收货单明细备注'
  1268. s_view.dscrp = ls_dscrp
  1269. s_view.editmode = dw_edit_mode
  1270. OpenWithParm(w_view_dscrp_buy,s_view)
  1271. IF dw_edit_mode THEN
  1272. s_return = Message.PowerObjectParm
  1273. dw_child.Object.u_inwaremx_mxdscrp[dw_child.GetRow()] = s_return.dscrp
  1274. END IF
  1275. end event
  1276. event ue_view_mxdscrp2();s_view_dscrp s_view,s_return
  1277. String ls_dscrp
  1278. dw_child.AcceptText()
  1279. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp2[dw_child.GetRow()]
  1280. s_view.Title = '采购收货单明细备注2'
  1281. s_view.dscrp = ls_dscrp
  1282. s_view.editmode = dw_edit_mode
  1283. OpenWithParm(w_view_dscrp_buy,s_view)
  1284. IF dw_edit_mode THEN
  1285. s_return = Message.PowerObjectParm
  1286. dw_child.Object.u_inwaremx_mxdscrp2[dw_child.GetRow()] = s_return.dscrp
  1287. END IF
  1288. end event
  1289. event ue_view_mxdscrp3();s_view_dscrp s_view,s_return
  1290. String ls_dscrp
  1291. dw_child.AcceptText()
  1292. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp3[dw_child.GetRow()]
  1293. s_view.Title = '采购收货单明细备注3'
  1294. s_view.dscrp = ls_dscrp
  1295. s_view.editmode = dw_edit_mode
  1296. OpenWithParm(w_view_dscrp_buy,s_view)
  1297. IF dw_edit_mode THEN
  1298. s_return = Message.PowerObjectParm
  1299. dw_child.Object.u_inwaremx_mxdscrp3[dw_child.GetRow()] = s_return.dscrp
  1300. END IF
  1301. end event
  1302. event ue_view_mxdscrp4();s_view_dscrp s_view,s_return
  1303. String ls_dscrp
  1304. dw_child.AcceptText()
  1305. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp4[dw_child.GetRow()]
  1306. s_view.Title = '采购收货单明细备注4'
  1307. s_view.dscrp = ls_dscrp
  1308. s_view.editmode = dw_edit_mode
  1309. OpenWithParm(w_view_dscrp_buy,s_view)
  1310. IF dw_edit_mode THEN
  1311. s_return = Message.PowerObjectParm
  1312. dw_child.Object.u_inwaremx_mxdscrp4[dw_child.GetRow()] = s_return.dscrp
  1313. END IF
  1314. end event
  1315. event ue_editzy();IF dw_edit_mode THEN
  1316. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  1317. return
  1318. END IF
  1319. IF NOT (f_power_ind(778) or f_power_ind(781)) THEN
  1320. MessageBox('提示',sys_msg_pow, Information!, OK! )
  1321. RETURN
  1322. END IF
  1323. string arg_msg=''
  1324. string ls_str
  1325. long uc_row
  1326. s_inputbox s_sreu
  1327. uc_row=dw_pageretr.getrow()
  1328. if uc_row<=0 then
  1329. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  1330. return
  1331. end if
  1332. s_sreu.title='请输入要补充到备注的内容'
  1333. s_sreu.old_text=''
  1334. openwithparm(w_inputbox,s_sreu)
  1335. ls_str=message.stringparm
  1336. if trim(ls_str)='' or isnull(ls_str) then return
  1337. long ll_scid,ll_inwareid
  1338. ll_scid = dw_pageretr.object.u_inware_scid[uc_row]
  1339. ll_inwareid = dw_pageretr.object.inwareid[uc_row]
  1340. UPDATE u_inware set dscrp = :ls_str
  1341. where scid = :ll_scid and inwareid = :ll_inwareid;
  1342. IF SQLCA.SQLCode <> 0 THEN
  1343. messagebox('error!','更新单据备注失败!')
  1344. return
  1345. END IF
  1346. messagebox('提示','修改备注操作成功!', Information!, OK! )
  1347. wf_refresh_curuc(ll_scid,ll_inwareid)
  1348. end event
  1349. event ue_get_maxprice();IF Not dw_edit_mode THEN RETURN
  1350. dw_uc.AcceptText()
  1351. IF dw_uc.GetRow() = 0 THEN RETURN
  1352. long i ,ls_mtrlid , ls_sptid
  1353. string ls_unit,ls_status,ls_woodcode,ls_pcode
  1354. datetime ls_opdate,ls_opdatemax
  1355. decimal ls_maxprice
  1356. FOR i = 1 To dw_child.rowcount()
  1357. ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  1358. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1359. ls_unit = dw_child.Object.u_inwaremx_unit[i]
  1360. ls_status = dw_child.Object.u_inwaremx_status[i]
  1361. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  1362. ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
  1363. IF dw_uc.Object.inwareid[dw_uc.GetRow()] = 0 THEN
  1364. ls_opdate = DateTime(Date(Today()),Time(Now()))
  1365. ELSE
  1366. ls_opdate = dw_uc.Object.opdate[dw_uc.GetRow()]
  1367. END IF
  1368. Select MAX(opdate)as opdate Into:ls_opdatemax from u_spt_price_MX
  1369. 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
  1370. group by sptid,mtrlid,status,unit,woodcode,pcode;
  1371. IF sqlca.SQLCode <> 0 THEN
  1372. ls_maxprice = 0
  1373. ELSE
  1374. Select Top 1 price into :ls_maxprice from u_spt_price_MX
  1375. where buildtype=0 and Opdate<=:ls_opdate and sptid=:ls_sptid and mtrlid=:ls_mtrlid and unit=:ls_unit
  1376. and status=:ls_status and woodcode=:ls_woodcode and pcode=:ls_pcode and opdate = :ls_opdatemax;
  1377. IF sqlca.SQLCode <> 0 THEN
  1378. ls_maxprice = 0
  1379. END IF
  1380. END IF
  1381. dw_child.Object.maxprice[i] = ls_maxprice
  1382. NEXT
  1383. end event
  1384. event ue_priceaudit();IF dw_edit_mode THEN
  1385. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  1386. RETURN
  1387. END IF
  1388. //IF Not f_power_ind(491) THEN
  1389. // MessageBox('提示',sys_msg_pow,information!,OK!)
  1390. // RETURN
  1391. //END IF
  1392. String arg_msg
  1393. Long pagerert_row
  1394. String ls_taskcode
  1395. pagerert_row = dw_pageretr.GetRow()
  1396. IF pagerert_row <= 0 THEN
  1397. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  1398. RETURN
  1399. END IF
  1400. IF uo_ware.priceaudit(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],True,arg_msg) = 0 THEN
  1401. MessageBox('错误',arg_msg,stopsign!,OK!)
  1402. RETURN
  1403. END IF
  1404. MessageBox('提示','确认成功!',information!,OK!)
  1405. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  1406. end event
  1407. event ue_cpriceaudit();IF dw_edit_mode THEN
  1408. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  1409. RETURN
  1410. END IF
  1411. //IF Not f_power_ind(491) THEN
  1412. // MessageBox('提示',sys_msg_pow,information!,OK!)
  1413. // RETURN
  1414. //END IF
  1415. String arg_msg
  1416. Long pagerert_row
  1417. String ls_taskcode
  1418. pagerert_row = dw_pageretr.GetRow()
  1419. IF pagerert_row <= 0 THEN
  1420. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  1421. RETURN
  1422. END IF
  1423. IF uo_ware.c_priceaudit(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],True,arg_msg) = 0 THEN
  1424. MessageBox('错误',arg_msg,stopsign!,OK!)
  1425. RETURN
  1426. END IF
  1427. MessageBox('提示','反确认成功!',information!,OK!)
  1428. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  1429. end event
  1430. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//====================================================================
  1431. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  1432. //--------------------------------------------------------------------
  1433. // Description: 刷新dw_pageretr
  1434. //--------------------------------------------------------------------
  1435. // Arguments:
  1436. // value long arg_scid
  1437. // value long arg_inwareid
  1438. //--------------------------------------------------------------------
  1439. // Returns: integer
  1440. //--------------------------------------------------------------------
  1441. // Author: yyx Date: 2003.11.14
  1442. //--------------------------------------------------------------------
  1443. // Modify History:
  1444. //
  1445. //====================================================================
  1446. if arg_inwareid<=0 or isnull(arg_inwareid) then return 0
  1447. long uc_row
  1448. uc_row=dw_pageretr.getrow()
  1449. if uc_row<=0 then return 0
  1450. long storageid
  1451. datetime indate
  1452. string inrep
  1453. string part
  1454. string dscrp
  1455. int balcflag
  1456. string inwarecode
  1457. string sptname
  1458. datetime opdate
  1459. string opemp
  1460. string modemp
  1461. datetime moddate
  1462. int li_flag
  1463. datetime Auditingdate
  1464. string Auditingrep
  1465. int li_secflag
  1466. datetime secAuditingdate
  1467. string secAuditingrep
  1468. string storagename
  1469. int thflag
  1470. int relint_1
  1471. string sptcode
  1472. long sptid
  1473. Long priceflag
  1474. datetime pricedate
  1475. string priceemp
  1476. Decimal sumuamt_tax
  1477. Long ifsumuamt_tax
  1478. DateTime viewdate
  1479. dec otheramt
  1480. long relint_3
  1481. decimal mrate
  1482. long amt
  1483. SELECT u_inware.storageid
  1484. ,u_inware.indate
  1485. ,u_inware.inrep
  1486. ,u_inware.part
  1487. ,u_inware.dscrp
  1488. ,u_inware.opdate
  1489. ,u_inware.opemp
  1490. ,u_inware.flag
  1491. ,u_inware.auditingdate
  1492. ,u_inware.auditingrep
  1493. ,u_inware.secflag
  1494. ,u_inware.secauditingdate
  1495. ,u_inware.secauditingrep
  1496. ,u_inware.inwarecode
  1497. ,u_inware.balcflag
  1498. ,u_inware.sptname
  1499. ,u_storage.storagename
  1500. ,u_inware.modemp
  1501. ,u_inware.moddate
  1502. ,u_inware.thflag
  1503. ,u_inware.relint_1
  1504. ,u_spt.sptcode
  1505. ,u_spt.name
  1506. ,u_inware.otheramt
  1507. ,u_inware.sptid
  1508. ,u_inware.relint_3
  1509. ,u_inware.mrate
  1510. ,samt.amt
  1511. ,priceflag
  1512. ,pricedate
  1513. ,priceemp
  1514. ,mxin.sumuamt_tax
  1515. ,case when mxin.sumuamt_tax > 0 then 1 else 0 end as ifsumuamt_tax
  1516. ,u_inware.viewdate
  1517. INTO :storageid
  1518. ,:indate
  1519. ,:inrep
  1520. ,:part
  1521. ,:dscrp
  1522. ,:opdate
  1523. ,:opemp
  1524. ,:li_flag
  1525. ,:Auditingdate
  1526. ,:Auditingrep
  1527. ,:li_secflag
  1528. ,:secAuditingdate
  1529. ,:secAuditingrep
  1530. ,:inwarecode
  1531. ,:balcflag
  1532. ,:sptname
  1533. ,:storagename
  1534. ,:modemp
  1535. ,:moddate
  1536. ,:thflag
  1537. ,:relint_1
  1538. ,:sptcode
  1539. ,:sptname
  1540. ,:otheramt
  1541. ,:sptid
  1542. ,:relint_3
  1543. ,:mrate
  1544. ,:amt
  1545. ,:priceflag
  1546. ,:pricedate
  1547. ,:priceemp
  1548. ,:sumuamt_tax
  1549. ,:ifsumuamt_tax
  1550. ,:viewdate
  1551. FROM u_inware
  1552. INNER JOIN u_spt ON u_inware.sptid = u_spt.sptid
  1553. INNER JOIN u_storage ON u_inware.storageid = u_storage.storageid
  1554. LEFT JOIN (
  1555. SELECT scid
  1556. ,inwareid
  1557. ,sum(uamt) AS amt
  1558. FROM u_inwaremx
  1559. WHERE scid = :arg_scid
  1560. AND inwareid = :arg_inwareid
  1561. GROUP BY scid
  1562. ,inwareid
  1563. ) samt ON samt.scid = u_inware.scid
  1564. AND samt.inwareid = u_inware.inwareid
  1565. LEFT OUTER JOIN (
  1566. SELECT scid
  1567. ,inwareid
  1568. ,sum(uamt_tax) AS sumuamt_tax
  1569. FROM u_inwaremx
  1570. GROUP BY scid
  1571. ,inwareid
  1572. ) AS mxin ON mxin.scid = u_inware.scid
  1573. AND mxin.inwareid = u_inware.inwareid
  1574. WHERE (u_inware.scid = :arg_scid)
  1575. AND (u_inware.inwareid = :arg_inwareid);
  1576. if sqlca.sqlcode<>0 then
  1577. messagebox('提示',"查询操作失败(错误单据唯一码)", Information!, OK! )
  1578. return 0
  1579. end if
  1580. dw_pageretr.object.u_inware_scid[uc_row]=arg_scid
  1581. dw_pageretr.object.inwareid[uc_row]=arg_inwareid
  1582. dw_pageretr.object.indate[uc_row]=indate
  1583. dw_pageretr.object.part[uc_row]= part
  1584. dw_pageretr.object.inrep[uc_row]= inrep
  1585. dw_pageretr.object.storageid[uc_row]=storageid
  1586. dw_pageretr.object.u_spt_name[uc_row]=sptname
  1587. dw_pageretr.object.dscrp[uc_row]= dscrp
  1588. dw_pageretr.object.balcflag[uc_row]= balcflag
  1589. dw_pageretr.object.inwarecode[uc_row]=inwarecode
  1590. dw_pageretr.object.opdate[uc_row]= opdate
  1591. dw_pageretr.object.u_inware_opemp[uc_row]= opemp
  1592. dw_pageretr.object.u_inware_moddate[uc_row]= moddate
  1593. dw_pageretr.object.u_inware_modemp[uc_row]= modemp
  1594. dw_pageretr.object.flag[uc_row]= li_flag
  1595. dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
  1596. dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
  1597. dw_pageretr.object.u_inware_secflag[uc_row]= li_secflag
  1598. dw_pageretr.object.u_inware_secAuditingdate[uc_row]= secAuditingdate
  1599. dw_pageretr.object.u_inware_secAuditingrep[uc_row]=secAuditingrep
  1600. dw_pageretr.object.u_storage_storagename[uc_row]=storagename
  1601. dw_pageretr.object.u_inware_thflag[uc_row]=thflag
  1602. dw_pageretr.object.u_inware_relint_1[uc_row]=relint_1
  1603. dw_pageretr.object.u_spt_sptcode[uc_row]=sptcode
  1604. dw_pageretr.object.u_spt_name[uc_row]=sptname
  1605. dw_pageretr.object.u_inware_otheramt[uc_row]=otheramt
  1606. dw_pageretr.object.sptid[uc_row]=sptid
  1607. dw_pageretr.object.u_inware_relint_3[uc_row]=relint_3
  1608. dw_pageretr.object.u_inware_mrate[uc_row]=mrate
  1609. dw_pageretr.object.amt[uc_row]=amt
  1610. dw_pageretr.object.priceflag[uc_row]=priceflag
  1611. dw_pageretr.object.pricedate[uc_row]=pricedate
  1612. dw_pageretr.object.priceemp[uc_row]=priceemp
  1613. dw_pageretr.object.sumuamt_tax[uc_row]=sumuamt_tax
  1614. dw_pageretr.object.ifsumuamt_tax[uc_row]=ifsumuamt_tax
  1615. dw_pageretr.Object.viewdate[uc_row]=viewdate
  1616. dw_uc.Reset()
  1617. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  1618. dw_uc.ResetUpdate()
  1619. dw_uc.SetRedraw(TRUE)
  1620. wf_flagstatus_rf()
  1621. return 1
  1622. end function
  1623. public function integer wf_flagstatus_rf ();//wf_flagstatus_rf()
  1624. Long pagerert_row
  1625. pagerert_row = dw_pageretr.GetRow()
  1626. IF pagerert_row <= 0 THEN
  1627. cb_auditing.Text = '审核&F'
  1628. cb_auditing.Enabled = False
  1629. cb_auditing_cancel.Text = '撤审'
  1630. cb_auditing_cancel.Enabled = False
  1631. flag = -1
  1632. secflag = -1
  1633. GOTO ext
  1634. END IF
  1635. flag = dw_pageretr.Object.flag[pagerert_row]
  1636. secflag = dw_pageretr.Object.u_inware_secflag[pagerert_row]
  1637. IF dw_edit_mode THEN
  1638. IF sys_option_hide_ware = 0 THEN
  1639. cb_auditing.Text = '仓审&F'
  1640. cb_auditing_cancel.Text = '仓撤'
  1641. ELSE
  1642. cb_auditing.Text = '审核&F'
  1643. cb_auditing_cancel.Text = '撤审'
  1644. END IF
  1645. cb_auditing.Enabled = False
  1646. cb_auditing_cancel.Enabled = False
  1647. IF cur_editfocus = 1 THEN
  1648. flag = -1
  1649. secflag = -1
  1650. END IF
  1651. ELSE
  1652. IF sys_option_hide_ware = 0 THEN
  1653. IF flag = 0 THEN
  1654. cb_auditing.Enabled = True
  1655. cb_auditing.Text = '仓审&F'
  1656. cb_auditing_cancel.Enabled = False
  1657. ELSEIF flag = 1 And secflag = 0 THEN
  1658. cb_auditing.Enabled = True
  1659. cb_auditing.Text = '财审&F'
  1660. cb_auditing_cancel.Enabled = True
  1661. cb_auditing_cancel.Text = '仓撤'
  1662. ELSE
  1663. cb_auditing.Text = '仓审&F'
  1664. cb_auditing.Enabled = False
  1665. cb_auditing_cancel.Enabled = True
  1666. cb_auditing_cancel.Text = '财撤'
  1667. END IF
  1668. ELSE
  1669. IF flag = 0 THEN
  1670. cb_auditing.Text = '审核&F'
  1671. cb_auditing_cancel.Text = '撤审'
  1672. cb_auditing.Enabled = True
  1673. cb_auditing_cancel.Enabled = False
  1674. ELSE
  1675. cb_auditing.Text = '审核&F'
  1676. cb_auditing_cancel.Text = '撤审'
  1677. cb_auditing.Enabled = False
  1678. cb_auditing_cancel.Enabled = True
  1679. END IF
  1680. END IF
  1681. END IF
  1682. cb_auditing.TriggerEvent('ue_textchange')
  1683. cb_auditing_cancel.TriggerEvent('ue_textchange')
  1684. ext:
  1685. RETURN 0
  1686. end function
  1687. public function integer wf_check_print (ref string arg_msg);long cnt
  1688. int rslt = 1
  1689. string ls_msg
  1690. string str_dwSQl,str_SyntaxFromSQL
  1691. datastore ds_maxid
  1692. datetime ld_cur_dt
  1693. ld_cur_dt = datetime(today(),time(0))
  1694. if sys_option_mustprint = 0 then
  1695. rslt = 1
  1696. goto ext
  1697. end if
  1698. string ls_storagestr,tmp_str
  1699. ls_storagestr = sys_user_storagestr
  1700. if ls_storagestr <> '0' and ls_storagestr <> '-1' then
  1701. ls_storagestr = mid(ls_storagestr,2)
  1702. ls_storagestr = left(ls_storagestr,len(ls_storagestr) - 1 )
  1703. end if
  1704. ds_maxid= create datastore
  1705. 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 "
  1706. if pos(ls_storagestr,',') > 0 or long(ls_storagestr) > 0 then
  1707. tmp_str = '(' + 'storageid in (' + ls_storagestr + '))'
  1708. else
  1709. tmp_str = '(' + ls_storagestr + ' = 0 or storageid in (' + ls_storagestr + '))'
  1710. end if
  1711. str_dwSQl=str_dwSQl + tmp_str
  1712. //messagebox("",str_dwSQl)
  1713. str_SyntaxFromSQL =sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg)
  1714. if ls_msg>'' then
  1715. arg_msg="dw语法生成失败"
  1716. rslt = 0
  1717. goto ext
  1718. end if
  1719. ds_maxid.Create(str_SyntaxFromSQL,ls_msg)
  1720. if ls_msg>'' then
  1721. arg_msg="建立相关DW失败"
  1722. rslt=0
  1723. goto ext
  1724. end if
  1725. ds_maxid.settransobject(sqlca)
  1726. ds_maxid.retrieve()
  1727. cnt=ds_maxid.GetItemNumber(1,1)
  1728. if isnull(cnt) then cnt = 0
  1729. destroy ds_maxid
  1730. if cnt > 0 then
  1731. arg_msg = '仓库还有收货单未打印,不能新建'
  1732. rslt = 0
  1733. goto ext
  1734. end if
  1735. ext:
  1736. return rslt
  1737. end function
  1738. public function integer wf_check_over (ref string arg_msg);Int rslt = 1
  1739. Long ll_i
  1740. long ll_taskid,ll_mtrlid,ll_orderid,ll_scid
  1741. string ls_status,ls_unit,ls_mtrlcode
  1742. decimal ld_addqty,ld_buyqty,ld_consignedqty
  1743. string ls_msg
  1744. Decimal ld_upqty,ld_uprate
  1745. //0不允许,1允许,2不允许超比例
  1746. IF sys_option_ifovertask = 1 THEN
  1747. rslt = 1
  1748. GOTO ext
  1749. END IF
  1750. dw_child.accepttext()
  1751. FOR ll_i = 1 TO dw_child.RowCount()
  1752. ll_scid = cur_scid
  1753. ll_taskid = dw_child.object.u_inwaremx_relid[ll_i]
  1754. ll_mtrlid = dw_child.object.u_inwaremx_mtrlid[ll_i]
  1755. ll_orderid = dw_child.object.u_inwaremx_sptid_cusid[ll_i]
  1756. ls_status = dw_child.object.u_inwaremx_status[ll_i]
  1757. ls_unit = dw_child.object.u_inwaremx_unit[ll_i]
  1758. ls_mtrlcode = dw_child.object.u_mtrldef_mtrlcode[ll_i]
  1759. ld_addqty = dw_child.object.u_inwaremx_uqty[ll_i]
  1760. if ld_addqty = 0 then continue
  1761. if ll_mtrlid = 0 then continue
  1762. SELECT upqty,uprate
  1763. INTO :ld_upqty,:ld_uprate
  1764. FROM u_mtrldef
  1765. where mtrlid = :ll_mtrlid;
  1766. IF sqlca.SQLCode <> 0 THEN
  1767. rslt = 0
  1768. arg_msg = "因网络或错误物料编码["+ls_mtrlcode+"]导致查询物料资料属性失败"+"~n"+sqlca.SQLErrText
  1769. GOTO ext
  1770. END IF
  1771. SELECT sum(u_buytaskmx.uqty),
  1772. sum(u_buytaskmx.consignedqty)
  1773. INTO :ld_buyqty,
  1774. :ld_consignedqty
  1775. FROM u_buytaskmx
  1776. WHERE ( u_buytaskmx.taskid = :ll_taskid ) AND
  1777. ( u_buytaskmx.mtrlid = :ll_mtrlid ) AND
  1778. ( u_buytaskmx.orderid = :ll_orderid ) AND
  1779. ( u_buytaskmx.status = :ls_status ) AND
  1780. ( u_buytaskmx.unit = :ls_unit ) AND
  1781. ( u_buytaskmx.scid = :ll_scid);
  1782. IF sqlca.SQLCode <> 0 THEN
  1783. rslt = 0
  1784. arg_msg = "因网络或错误物料编码["+ls_mtrlcode+"]导致查询采购订单已完成数量操作失败"+"~n"+sqlca.SQLErrText
  1785. GOTO ext
  1786. END IF
  1787. IF sys_option_ifovertask = 0 THEN
  1788. IF ld_buyqty < ld_consignedqty + ld_addqty THEN
  1789. ls_msg = "物料["+ls_mtrlcode+"]的未完成数量只有"+String(ld_buyqty - ld_consignedqty,'#,##0.0###')+',本次进:'+String(ld_addqty,'#,##0.0#')+",已超订货数,是否要继续入库?"
  1790. if messagebox ("询问",ls_msg,question!,yesno! ) = 2 then
  1791. arg_msg = '超订货数进仓,操作取消'
  1792. rslt = 0
  1793. goto ext
  1794. end if
  1795. END IF
  1796. ELSEIF sys_option_ifovertask = 1 THEN
  1797. IF ld_buyqty * (1 + ld_uprate) + ld_upqty < ld_consignedqty + ld_addqty THEN
  1798. ls_msg = "物料["+ls_mtrlcode+"]的未完成数量只有"+String(ld_buyqty - ld_consignedqty,'#,##0.0###')+',本次进:'+String(ld_addqty,'#,##0.0#')+",已超订货数,是否要继续入库?"
  1799. if messagebox ("询问",ls_msg,question!,yesno! ) = 2 then
  1800. arg_msg = '超订货数进仓,操作取消'
  1801. rslt = 0
  1802. goto ext
  1803. end if
  1804. END IF
  1805. END IF
  1806. NEXT
  1807. ext:
  1808. RETURN rslt
  1809. end function
  1810. public subroutine wf_check_billfj ();String arg_msg
  1811. Long ll_ConnectionID
  1812. Long cur_billtype
  1813. long ll_relid,ll_relid_mx,ll_scid
  1814. Long ls_filecount = 0
  1815. Int rslt = 1
  1816. uo_fj_mng_billtype ls_uo_fjbt
  1817. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1818. Long row,uc_relid
  1819. row = dw_pageretr.GetRow()
  1820. IF row > 0 THEN
  1821. ll_relid = dw_pageretr.Object.inwareid[row]
  1822. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  1823. ll_relid_mx = 0
  1824. ELSE
  1825. rslt = 0
  1826. GOTO ext
  1827. END IF
  1828. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  1829. rslt = 0
  1830. GOTO ext
  1831. END IF
  1832. cur_billtype = 403 //客户投拆单的 mainiD
  1833. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  1834. IF ls_filecount > 0 THEN
  1835. rslt = 1
  1836. GOTO ext
  1837. ELSE
  1838. rslt = 0
  1839. GOTO ext
  1840. END IF
  1841. ext:
  1842. wf_encl(rslt)
  1843. DESTROY ls_uo_fjbt
  1844. end subroutine
  1845. 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);//==============================================================================
  1846. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  1847. //------------------------------------------------------------------------------
  1848. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  1849. //------------------------------------------------------------------------------
  1850. Long LS_ROW,ll_id,i,ll_scid
  1851. LS_ROW = dw_uc.GetRow()
  1852. IF LS_ROW <= 0 THEN
  1853. arg_msg = '没有目标单据!'
  1854. RETURN 0
  1855. END IF
  1856. //修改点:获取 指定retriev参数
  1857. ll_id = dw_uc.Object.#1[LS_ROW]
  1858. ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
  1859. //查询所选模版是否含有图片信息
  1860. Long ll_ifpic
  1861. Long ll_classid
  1862. SELECT ifpic
  1863. INTO :ll_ifpic
  1864. FROM U_XLS_Templates
  1865. Where id = :ll_xls_Templatesid;
  1866. IF sqlca.SQLCode <> 0 THEN
  1867. ll_ifpic = 0
  1868. END IF
  1869. Long ll_i,ll_j
  1870. Long ll_mtrlid
  1871. Long ll_fileid
  1872. Blob ls_filedata
  1873. SetNull(ls_filedata)
  1874. String Pathname,ls_filename,ls_filetype
  1875. String errmsg
  1876. uo_fj_mng_billtype ls_uo_fjbt
  1877. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1878. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  1879. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  1880. SELECT classid
  1881. INTO :ll_classid
  1882. FROM u_billpic_fileclass
  1883. Where (billtype = 403);
  1884. IF sqlca.SQLCode <> 0 THEN
  1885. ll_classid = 0
  1886. END IF
  1887. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  1888. FOR ll_i = 1 TO dw_child.RowCount()
  1889. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  1890. //取该附件类型中的第一个附件.
  1891. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  1892. FROM u_file
  1893. WHERE relid = :ll_mtrlid
  1894. AND classid = :ll_classid
  1895. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  1896. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  1897. USING sys_fileDB_sqlca;
  1898. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  1899. ll_fileid = 0
  1900. END IF
  1901. IF ll_fileid > 0 THEN
  1902. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  1903. IF Trim(Pathname) <> '' THEN
  1904. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  1905. RETURN 0
  1906. END IF
  1907. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  1908. RETURN 0
  1909. ELSE
  1910. s_pic.path[ll_i] = Pathname
  1911. //记录临时文件位置,本窗口退出后删除
  1912. wf_addlog_tempfilepathname(Pathname)
  1913. END IF
  1914. ELSE
  1915. s_pic.path[ll_i] = ''
  1916. END IF
  1917. ELSE
  1918. s_pic.path[ll_i] = ''
  1919. END IF
  1920. NEXT
  1921. END IF
  1922. //
  1923. END IF
  1924. ////可选设置///
  1925. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  1926. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  1927. boolean xls_locked
  1928. xls_locked = not (sys_option_xls_lock = 1)
  1929. /// Excel 的可选设置
  1930. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  1931. return 0
  1932. end if
  1933. for i = 1 to arg_str_billlist.count
  1934. ////可选操作///
  1935. arg_str_billlist.bill[i].ds_data = create datastore //
  1936. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  1937. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  1938. //修改点:注意retrieve 参数与上文对应
  1939. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  1940. next
  1941. return 1
  1942. end function
  1943. public function integer wf_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, string arg_msg);Long cur_storageid
  1944. Decimal ld_wareqty
  1945. IF dw_uc.GetRow() = 0 THEN RETURN 1
  1946. dw_uc.AcceptText()
  1947. cur_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1948. IF cur_storageid = 0 THEN RETURN 1
  1949. ld_wareqty = 0
  1950. SELECT sum(u_mtrlware.noallocqty)
  1951. INTO :ld_wareqty
  1952. FROM u_mtrlware
  1953. WHERE mtrlid = :arg_mtrlid AND
  1954. storageid = :cur_storageid;
  1955. IF sqlca.SQLCode = -1 THEN
  1956. arg_msg = arg_mtrlcode + ',查询库存数量失败!'
  1957. RETURN 0
  1958. ELSEIF IsNull(ld_wareqty) THEN
  1959. ld_wareqty = 0
  1960. END IF
  1961. arg_wareqty = ld_wareqty
  1962. RETURN 1
  1963. end function
  1964. 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
  1965. LS_ROW = dw_pageretr.GetRow()
  1966. IF LS_ROW <= 0 THEN
  1967. arg_msg = '没有目标单据!'
  1968. RETURN 0
  1969. END IF
  1970. //修改点:获取 指定retriev参数
  1971. ll_id = dw_pageretr.Object.#1[LS_ROW]
  1972. ll_scid = dw_pageretr.Object.u_inware_scid[LS_ROW]
  1973. Long ll_i,ll_j
  1974. Long ll_mtrlid
  1975. Long ll_fileid
  1976. Blob ls_filedata
  1977. SetNull(ls_filedata)
  1978. String Pathname,ls_filename,ls_filetype
  1979. String errmsg
  1980. uo_fj_mng_billtype ls_uo_fjbt
  1981. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1982. Long ll_classid
  1983. SELECT classid
  1984. INTO :ll_classid
  1985. FROM u_billpic_fileclass
  1986. Where (billtype = 201);
  1987. IF sqlca.SQLCode <> 0 THEN
  1988. ll_classid = 0
  1989. END IF
  1990. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  1991. FOR ll_i = 1 TO dw_child.RowCount()
  1992. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  1993. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  1994. //取该附件类型中的第一个附件.
  1995. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  1996. FROM u_file
  1997. WHERE relid = :ll_mtrlid
  1998. AND classid = :ll_classid
  1999. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  2000. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  2001. USING sys_fileDB_sqlca;
  2002. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  2003. ll_fileid = 0
  2004. END IF
  2005. IF ll_fileid > 0 THEN
  2006. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  2007. IF Trim(Pathname) <> '' THEN
  2008. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  2009. RETURN 0
  2010. END IF
  2011. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  2012. RETURN 0
  2013. ELSE
  2014. arg_s_pic.path[ll_i] = Pathname
  2015. //记录临时文件位置,本窗口退出后删除
  2016. wf_addlog_tempfilepathname(Pathname)
  2017. END IF
  2018. ELSE
  2019. arg_s_pic.path[ll_i] = ''
  2020. END IF
  2021. ELSE
  2022. arg_s_pic.path[ll_i] = ''
  2023. END IF
  2024. NEXT
  2025. END IF
  2026. RETURN 1
  2027. end function
  2028. public function integer wf_check_part (long arg_scid, long arg_inwareid, string arg_part, ref string arg_msg);Int rslt = 1
  2029. //return 1 - 检查通过
  2030. //return 0 - 语法出错
  2031. //return 2 - 限制
  2032. //return 3 - 询问
  2033. Long cnt
  2034. IF Trim(arg_part) = '' THEN
  2035. IF sys_option_buy_relcode_repeat = 0 THEN
  2036. rslt = 1
  2037. GOTO ext
  2038. ELSE
  2039. rslt = 2
  2040. arg_msg = '请输入单据相关号'
  2041. GOTO ext
  2042. END IF
  2043. ELSE
  2044. SELECT count(*)
  2045. INTO :cnt
  2046. FROM u_inware
  2047. WHERE (NOT EXISTS
  2048. (SELECT *
  2049. FROM u_inware u_task
  2050. WHERE u_task.scid = u_inware.scid AND u_task.inwareid = u_inware.inwareid AND
  2051. u_task.scid = :arg_scid AND u_task.inwareid = :arg_inwareid))
  2052. And (part = :arg_part);
  2053. IF sqlca.SQLCode <> 0 THEN
  2054. rslt = 0
  2055. arg_msg = '查询单据相关号码是否重复失败,'+sqlca.SQLErrText
  2056. GOTO ext
  2057. END IF
  2058. IF cnt > 0 THEN
  2059. IF sys_option_buy_relcode_repeat = 0 THEN
  2060. arg_msg = '当前单据的相关号码与已有单据的重复,是否继续保存?'
  2061. rslt = 3
  2062. GOTO ext
  2063. ELSE
  2064. rslt = 2
  2065. arg_msg = '当前单据的相关号码与已有单据的重复,请修改'
  2066. GOTO ext
  2067. END IF
  2068. END IF
  2069. END IF
  2070. ext:
  2071. RETURN rslt
  2072. end function
  2073. public subroutine wf_cmpl_amt (long row);IF row <= 0 THEN RETURN
  2074. IF row > dw_child.RowCount() THEN RETURN
  2075. Dec ld_round = 100
  2076. ld_round = 10.0 ^ (2 - sys_option_inware_buy_amt_round)
  2077. IF sys_option_inware_buy_amt_round = 5 THEN ld_round = 1000
  2078. Decimal lde_tax
  2079. lde_tax = dw_child.Object.u_inwaremx_tax[row]
  2080. //由金额计算单价
  2081. IF sys_option_outware_if_buyqty = 0 THEN
  2082. IF cbx_enamt_edit.Checked THEN
  2083. IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
  2084. IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
  2085. 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]
  2086. dw_child.Object.u_inwaremx_uprice_notax[row] = dw_child.Object.u_inwaremx_uprice[row] / ( 1 + dw_child.Object.u_inwaremx_tax[row] ) //不含税单价=单价/(1+税率)
  2087. 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
  2088. END IF
  2089. END IF
  2090. ELSE
  2091. 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
  2092. // dw_child.Object.u_inwaremx_uprice_notax[row] = dw_child.Object.u_inwaremx_uprice[row] / ( 1 + dw_child.Object.u_inwaremx_tax[row] ) //不含税单价=单价/(1+税率)
  2093. 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
  2094. END IF
  2095. ELSE
  2096. IF cbx_enamt_edit.Checked THEN
  2097. IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
  2098. IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
  2099. 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]
  2100. END IF
  2101. END IF
  2102. ELSE
  2103. 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
  2104. END IF
  2105. END IF
  2106. IF cbx_enamt_notax_edit.Checked THEN //录入不含税单价
  2107. IF dw_child.Object.u_inwaremx_uprice_notax[row] <> 0 THEN
  2108. dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uprice_notax[row] * (1 + lde_tax)
  2109. 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
  2110. 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
  2111. END IF
  2112. ELSE
  2113. dw_child.Object.u_inwaremx_uprice_notax[row] = dw_child.Object.u_inwaremx_uprice[row] / ( 1 + dw_child.Object.u_inwaremx_tax[row] ) //不含税单价=单价/(1+税率)
  2114. END IF
  2115. end subroutine
  2116. public function integer wf_change_sptid (long arg_sptid);Long ll_row,i
  2117. Int rslt = 1
  2118. Boolean for_saletask = False //是否按订单
  2119. s_mtrldef_array ins_rt_stru
  2120. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  2121. String arg_msg,ls_status,ls_woodcode,ls_pcode
  2122. String ls_1stunit
  2123. Long ls_sptid,ls_mtrlid
  2124. ll_row = dw_uc.GetRow()
  2125. IF ll_row <= 0 THEN RETURN rslt
  2126. IF dw_uc.Object.sptid[ll_row] > 0 And dw_uc.Object.sptid[ll_row] <> arg_sptid THEN
  2127. FOR i = 1 To dw_child.RowCount()
  2128. IF dw_child.Object.u_inwaremx_relid[i] <> 0 THEN
  2129. for_saletask = True
  2130. EXIT
  2131. END IF
  2132. NEXT
  2133. IF for_saletask = True THEN //按订单
  2134. IF MessageBox('询问','由于收货单按订单收货,更换供应商会删除全部明细,是否继续?',question!,yesno!) = 2 THEN
  2135. rslt = 0
  2136. RETURN rslt
  2137. END IF
  2138. dw_child.Reset()
  2139. This.TriggerEvent("insert_childrow")
  2140. ELSE //不按订单
  2141. wf_sptprice_mtrl(ins_rt_stru)
  2142. wf_sptprice_in(ins_rt_stru)
  2143. END IF
  2144. END IF
  2145. RETURN rslt
  2146. end function
  2147. public subroutine wf_sptprice_mtrl (ref s_mtrldef_array ins_rt_stru);datastore dw_mtrlmx
  2148. Long i,ls_i,chC,ll_mtrl[]
  2149. dw_mtrlmx = Create datastore
  2150. dw_mtrlmx.DataObject = 'dw_mtrl_index_sptprice'
  2151. dw_mtrlmx.SetTransObject(sqlca)
  2152. FOR i = 1 To dw_child.RowCount()
  2153. ll_mtrl[i] = dw_child.Object.u_inwaremx_mtrlid[i]
  2154. NEXT
  2155. dw_mtrlmx.Retrieve(ll_mtrl)
  2156. FOR i = 1 To dw_mtrlmx.RowCount()
  2157. dw_mtrlmx.SelectRow(i,True)
  2158. NEXT
  2159. FOR ls_i = 1 To dw_mtrlmx.RowCount()
  2160. IF dw_mtrlmx.IsSelected(ls_i) THEN
  2161. chC++
  2162. ins_rt_stru.mtrlid[chC] = dw_mtrlmx.Object.mtrlid[ls_i]
  2163. ins_rt_stru.mtrlname[chC] = dw_mtrlmx.Object.mtrlname[ls_i]
  2164. ins_rt_stru.mtrlengname[chC] = dw_mtrlmx.Object.mtrlengname[ls_i]
  2165. ins_rt_stru.mtrlcode[chC] = dw_mtrlmx.Object.mtrlcode[ls_i]
  2166. ins_rt_stru.mtrltype[chC] = dw_mtrlmx.Object.mtrltype[ls_i]
  2167. ins_rt_stru.mtrlmode[chC] = dw_mtrlmx.Object.mtrlmode[ls_i]
  2168. ins_rt_stru.unit[chC] = dw_mtrlmx.Object.unit[ls_i]
  2169. ins_rt_stru.storageid[chC] = dw_uc.Object.storageid[dw_uc.GetRow()]
  2170. ins_rt_stru.planprice[chC] = dw_mtrlmx.Object.planprice[ls_i]
  2171. ins_rt_stru.dscrp[chC] = dw_mtrlmx.Object.dscrp[ls_i]
  2172. ins_rt_stru.mtrlsectype[chC] = dw_mtrlmx.Object.mtrlsectype[ls_i]
  2173. ins_rt_stru.lmbuyprice[chC] = dw_mtrlmx.Object.lmbuyprice[ls_i]
  2174. ins_rt_stru.lmsaleprice[chC] = dw_mtrlmx.Object.lmsaleprice[ls_i]
  2175. ins_rt_stru.prdpackcode[chC] = dw_mtrlmx.Object.prdpackcode[ls_i]
  2176. ins_rt_stru.packqty[chC] = dw_mtrlmx.Object.packqty[ls_i]
  2177. ins_rt_stru.zxmtrlmode[chC] = dw_mtrlmx.Object.zxmtrlmode[ls_i]
  2178. ins_rt_stru.unit_buy[chC] = dw_mtrlmx.Object.u_mtrldef_unit_buy[ls_i]
  2179. ins_rt_stru.rate_buy[chC] = dw_mtrlmx.Object.u_mtrldef_rate_buy[ls_i]
  2180. ins_rt_stru.unit_scll[chC] = dw_mtrlmx.Object.u_mtrldef_unit_scll[ls_i]
  2181. ins_rt_stru.rate_scll[chC] = dw_mtrlmx.Object.u_mtrldef_rate_scll[ls_i]
  2182. ins_rt_stru.unit_sale[chC] = dw_mtrlmx.Object.u_mtrldef_unit_sale[ls_i]
  2183. ins_rt_stru.rate_sale[chC] = dw_mtrlmx.Object.u_mtrldef_rate_sale[ls_i]
  2184. IF dw_mtrlmx.Object.u_mtrldef_unit_buy[chC] = '' THEN
  2185. ins_rt_stru.unit_buy[chC] = dw_mtrlmx.Object.unit[ls_i]
  2186. ins_rt_stru.rate_buy[chC] = 1
  2187. ELSE
  2188. ins_rt_stru.unit_buy[ls_i] = dw_mtrlmx.Object.u_mtrldef_unit_buy[ls_i]
  2189. ins_rt_stru.rate_buy[chC] = dw_mtrlmx.Object.u_mtrldef_rate_buy[ls_i]
  2190. END IF
  2191. IF dw_mtrlmx.Object.u_mtrldef_unit_scll[chC] = '' THEN
  2192. ins_rt_stru.unit_scll[chC] = dw_mtrlmx.Object.unit[ls_i]
  2193. ins_rt_stru.rate_scll[chC] = 1
  2194. ELSE
  2195. ins_rt_stru.unit_scll[chC] = dw_mtrlmx.Object.u_mtrldef_unit_scll[ls_i]
  2196. ins_rt_stru.rate_scll[chC] = dw_mtrlmx.Object.u_mtrldef_rate_scll[ls_i]
  2197. END IF
  2198. IF dw_mtrlmx.Object.u_mtrldef_unit_sale[chC] = '' THEN
  2199. ins_rt_stru.unit_sale[chC] = dw_mtrlmx.Object.unit[ls_i]
  2200. ins_rt_stru.rate_sale[chC] = 1
  2201. ELSE
  2202. ins_rt_stru.unit_sale[chC] = dw_mtrlmx.Object.u_mtrldef_unit_sale[ls_i]
  2203. ins_rt_stru.rate_sale[chC] = dw_mtrlmx.Object.u_mtrldef_rate_sale[ls_i]
  2204. END IF
  2205. ins_rt_stru.ifcustom[chC] = dw_mtrlmx.Object.u_mtrldef_ifcustom[ls_i]
  2206. ins_rt_stru.statusflag[chC] = dw_mtrlmx.Object.statusflag[ls_i]
  2207. ins_rt_stru.woodcodeflag[chC] = dw_mtrlmx.Object.woodcodeflag[ls_i]
  2208. ins_rt_stru.pcodeflag[chC] = dw_mtrlmx.Object.pcodeflag[ls_i]
  2209. ins_rt_stru.statustype[chC] = dw_mtrlmx.Object.u_mtrldef_statustype[ls_i]
  2210. ins_rt_stru.woodcodetype[chC] = dw_mtrlmx.Object.u_mtrldef_woodcodetype[ls_i]
  2211. ins_rt_stru.pcodetype[chC] = dw_mtrlmx.Object.u_mtrldef_pcodetype[ls_i]
  2212. ins_rt_stru.status_check[chC] = dw_mtrlmx.Object.u_mtrldef_status_check[ls_i]
  2213. ins_rt_stru.woodcode_check[chC] = dw_mtrlmx.Object.u_mtrldef_woodcode_check[ls_i]
  2214. ins_rt_stru.pcode_check[chC] = dw_mtrlmx.Object.u_mtrldef_pcode_check[ls_i]
  2215. ins_rt_stru.configcode[chC] = dw_mtrlmx.Object.u_mtrldef_configcode[ls_i]
  2216. ins_rt_stru.configname[chC] = dw_mtrlmx.Object.u_mtrldef_configname[ls_i]
  2217. ins_rt_stru.configcodetype[chC] = dw_mtrlmx.Object.u_mtrldef_configcodetype[ls_i]
  2218. ins_rt_stru.mtrlcolor[chC] = dw_mtrlmx.Object.u_mtrldef_mtrlcolor[ls_i]
  2219. ins_rt_stru.status_config[chC] = dw_mtrlmx.Object.u_mtrldef_status_config[ls_i]
  2220. ins_rt_stru.woodcode_config[chC] = dw_mtrlmx.Object.u_mtrldef_woodcode_config[ls_i]
  2221. ins_rt_stru.pcode_config[chC] = dw_mtrlmx.Object.u_mtrldef_pcode_config[ls_i]
  2222. IF ins_rt_stru.statusflag[chC] = 4 THEN
  2223. ins_rt_stru.status[chC] = dw_mtrlmx.Object.u_mtrldef_status_config[ls_i]
  2224. ELSE
  2225. ins_rt_stru.status[chC] = ""
  2226. END IF
  2227. IF ins_rt_stru.woodcodeflag[chC] = 4 THEN
  2228. ins_rt_stru.woodcode[chC] = dw_mtrlmx.Object.u_mtrldef_woodcode_config[ls_i]
  2229. ELSE
  2230. ins_rt_stru.woodcode[chC] = ""
  2231. END IF
  2232. IF ins_rt_stru.pcodeflag[chC] = 4 THEN
  2233. ins_rt_stru.pcode[chC] = dw_mtrlmx.Object.u_mtrldef_pcode_config[ls_i]
  2234. ELSE
  2235. ins_rt_stru.pcode[chC] = ""
  2236. END IF
  2237. ins_rt_stru.usermtrlmode[chC] = dw_mtrlmx.Object.u_mtrldef_usermtrlmode[ls_i]
  2238. ins_rt_stru.buyunit[chC] = dw_mtrlmx.Object.u_mtrldef_buyunit[ls_i]
  2239. ins_rt_stru.wfjgunit[chC] = dw_mtrlmx.Object.u_mtrldef_wfjgunit[ls_i]
  2240. ins_rt_stru.scllunit[chC] = dw_mtrlmx.Object.u_mtrldef_scllunit[ls_i]
  2241. ins_rt_stru.saleunit[chC] = dw_mtrlmx.Object.u_mtrldef_saleunit[ls_i]
  2242. ins_rt_stru.buydec[chC] = dw_mtrlmx.Object.u_mtrldef_buydec[ls_i]
  2243. ins_rt_stru.wfjgdec[chC] = dw_mtrlmx.Object.u_mtrldef_wfjgdec[ls_i]
  2244. ins_rt_stru.sclldec[chC] = dw_mtrlmx.Object.u_mtrldef_sclldec[ls_i]
  2245. ins_rt_stru.saledec[chC] = dw_mtrlmx.Object.u_mtrldef_saledec[ls_i]
  2246. ins_rt_stru.ifpack[chC] = dw_mtrlmx.Object.u_mtrldef_ifpack[ls_i]
  2247. ins_rt_stru.ifpackpro[chC] = dw_mtrlmx.Object.u_mtrldef_ifpackpro[ls_i]
  2248. ins_rt_stru.ifpackpz[chC] = dw_mtrlmx.Object.u_mtrldef_ifpackpz[ls_i]
  2249. ins_rt_stru.ifpackpro2[chC] = dw_mtrlmx.Object.u_mtrldef_ifpackpro2[ls_i]
  2250. ins_rt_stru.ifpacktype[chC] = dw_mtrlmx.Object.u_mtrldef_ifpacktype[ls_i]
  2251. ins_rt_stru.net_weight[chC] = dw_mtrlmx.Object.net_weight[ls_i]
  2252. ins_rt_stru.gross_weight[chC] = dw_mtrlmx.Object.gross_weight[ls_i]
  2253. ins_rt_stru.cubage[chC] = dw_mtrlmx.Object.cubage[ls_i]
  2254. ins_rt_stru.handtype[chC] = dw_mtrlmx.Object.handtype[ls_i]
  2255. ins_rt_stru.mtrltypeid[chC] = dw_mtrlmx.Object.mtrltypeid[ls_i]
  2256. ins_rt_stru.mtrlorigin[chC] = dw_mtrlmx.Object.mtrlorigin[ls_i]
  2257. ins_rt_stru.mtrlprp[chC] = dw_mtrlmx.Object.mtrlprp[ls_i]
  2258. END IF
  2259. NEXT
  2260. Destroy dw_mtrlmx
  2261. end subroutine
  2262. public subroutine wf_sptprice_in (s_mtrldef_array ss_inscust);//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  2263. IF Not dw_edit_mode THEN RETURN
  2264. Long child_row,ls_null
  2265. Long ins_storageid = 0
  2266. Long ls_sptid
  2267. Dec ls_lastprice,ls_rebate
  2268. Long chc = 1,ls_j,i
  2269. SetNull(ls_null)
  2270. dw_uc.AcceptText()
  2271. dw_child.AcceptText()
  2272. s_edit_index_tran s_tranf8
  2273. s_tranf8.if_retrieve_all = False
  2274. s_tranf8.arg_pkid = 0
  2275. s_tranf8.arg_string_code = ''
  2276. s_tranf8.b_long = 2
  2277. ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  2278. IF ins_storageid = 0 Or IsNull(ins_storageid) THEN
  2279. MessageBox('提示','请先选择仓库', Information!, OK! )
  2280. RETURN
  2281. END IF
  2282. child_row = dw_child.GetRow()
  2283. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2284. IF IsNull(ls_sptid) Or ls_sptid = 0 THEN
  2285. This.TriggerEvent("ue_f9")
  2286. END IF
  2287. dw_uc.AcceptText()
  2288. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2289. IF Not IsValid(w_mtrldef_edit) THEN
  2290. s_edit_index_tran s_ch_tran
  2291. s_ch_tran.if_retrieve_all = False
  2292. s_ch_tran.work_mode = 1
  2293. s_ch_tran.arg_pkid = 0
  2294. s_ch_tran.arg_string_code = ''
  2295. s_ch_tran.b_long = 2
  2296. s_ch_tran.c_long = ins_storageid
  2297. s_ch_tran.if_select_all = True
  2298. dw_child.AcceptText()
  2299. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  2300. s_mtrldef_array s_inscust
  2301. s_inscust = ss_inscust //接受返回结构
  2302. dw_child.AcceptText()
  2303. FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
  2304. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  2305. FOR i = 1 To dw_child.RowCount()
  2306. IF s_inscust.mtrlid[ls_j] = dw_child.Object.u_inwaremx_mtrlid[i] THEN
  2307. child_row = i
  2308. EXIT
  2309. END IF
  2310. NEXT
  2311. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  2312. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  2313. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  2314. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  2315. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  2316. dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
  2317. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
  2318. dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
  2319. dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
  2320. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  2321. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
  2322. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  2323. String arg_msg,ls_status,ls_woodcode,ls_pcode
  2324. String ls_1stunit
  2325. ls_status = dw_child.Object.u_inwaremx_status[child_row]
  2326. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  2327. ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  2328. ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  2329. IF cur_editfocus = 1 THEN
  2330. 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
  2331. Int Mtrlorigin
  2332. SELECT u_mtrldef.Mtrlorigin
  2333. INTO :Mtrlorigin
  2334. FROM u_mtrldef
  2335. Where mtrlid = :s_inscust.mtrlid[ls_j];
  2336. IF sqlca.SQLCode <> 0 THEN
  2337. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  2338. ELSE
  2339. IF Mtrlorigin > 0 THEN
  2340. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
  2341. ELSE
  2342. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  2343. END IF
  2344. END IF
  2345. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  2346. IF s_inscust.unit_buy[ls_j] = '' THEN
  2347. dw_child.Object.u_inwaremx_rate[child_row] = 1
  2348. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  2349. ELSE
  2350. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  2351. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  2352. END IF
  2353. ELSE
  2354. dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  2355. IF ls_1stzqrate = 0 THEN
  2356. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  2357. ELSE
  2358. dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  2359. END IF
  2360. dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  2361. dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  2362. END IF
  2363. ELSE
  2364. IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  2365. IF s_inscust.unit_buy[ls_j] = '' THEN
  2366. dw_child.Object.u_inwaremx_rate[child_row] = 1
  2367. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  2368. ELSE
  2369. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  2370. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  2371. END IF
  2372. END IF
  2373. END IF
  2374. Decimal ld_wareqty
  2375. String ls_msg
  2376. ld_wareqty = 0
  2377. IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
  2378. MessageBox('提示',ls_msg, Information!, OK! )
  2379. END IF
  2380. dw_child.Object.wareqty[child_row] = ld_wareqty
  2381. dw_child.AcceptText( )
  2382. String ls_sptmtrlname
  2383. IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
  2384. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  2385. END IF
  2386. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  2387. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  2388. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2389. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2390. END IF
  2391. NEXT
  2392. This.TriggerEvent('ue_allowedit')
  2393. END IF
  2394. dw_child.SetRedraw(True)
  2395. dw_child.SetFocus()
  2396. end subroutine
  2397. public function integer wf_openfile (datawindow arg_dw);
  2398. String str_savename,named,s_grxh
  2399. Int excelok,li_net
  2400. Long li_count,i,ll_hang
  2401. oleobject excelserver
  2402. excelserver = Create oleobject
  2403. excelok = excelserver.ConnectToNewObject("excel.application")
  2404. //检查返回值,以确保已成功地连接到了Excel
  2405. IF excelok <> 0 THEN
  2406. MessageBox("提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!", Information!, OK! )
  2407. RETURN -1
  2408. END IF
  2409. li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
  2410. IF li_net > 0 THEN
  2411. IF str_savename = "" THEN RETURN -1
  2412. arg_dw.SetTransObject(sqlca)
  2413. arg_dw.InsertRow(0)
  2414. arg_dw.Reset()
  2415. excelserver.workbooks.Open(str_savename)
  2416. excelserver.activesheet.cells.Copy
  2417. datastore ds_col30
  2418. /////////////建立映射//////////////////// //
  2419. ds_col30 = Create datastore
  2420. ds_col30.DataObject = 'dw_col30'
  2421. ds_col30.ImportClipboard(1)
  2422. Long ll_s_col_count = 30
  2423. Long ll_d_col_count
  2424. String ls_execltitlename,ls_filtername
  2425. s_dytitle_filter ss_dytitle_filter[]
  2426. Long k = 1,m
  2427. Long li_argcnt = 1
  2428. String ls_cmd,ls_arg[]
  2429. ll_d_col_count = Long(arg_dw.Object.datawindow.Column.Count)
  2430. Long ll_map[] // 目标表与原表的映射,0为没有映射
  2431. String ls_colType[] // 目标表列类型
  2432. Long col_d, col_s
  2433. SELECT Top 1 hang Into :ll_hang From u_dytitle_inwarebuy;
  2434. FOR col_d = 1 To ll_d_col_count
  2435. String ls_col_title, ls_col_name
  2436. ls_col_name = arg_dw.Describe('#' + String(col_d) + '.Name')
  2437. ls_colType[col_d] = arg_dw.Describe('#' + String(col_d) + '.ColType')
  2438. ls_col_title = arg_dw.Describe(ls_col_name + '_t.Text') //数据窗口的标题名称
  2439. ll_map[col_d] = 0
  2440. FOR col_s = 1 To ll_s_col_count
  2441. String ls_s_title
  2442. ls_s_title = ds_col30.GetItemString(ll_hang , col_s) //execl表的标题名称
  2443. //
  2444. SELECT execltitlename,filtername Into :ls_execltitlename,:ls_filtername From u_dytitle_inwarebuy Where Name = :ls_col_name;
  2445. //
  2446. // if lower(trim(ls_col_title)) = lower(trim(ls_s_title)) then
  2447. IF Lower(Trim(ls_execltitlename)) = Lower(Trim(ls_s_title)) THEN
  2448. ll_map[col_d] = col_s
  2449. IF ls_filtername <> '' THEN //记录过滤
  2450. ss_dytitle_filter[k].num = col_s
  2451. ss_dytitle_filter[k].filtername = ls_filtername
  2452. k++
  2453. END IF
  2454. EXIT
  2455. END IF
  2456. NEXT
  2457. NEXT
  2458. // TODO: 人工干预,设置映射
  2459. Long row_s, row_d
  2460. String lk_temp
  2461. FOR row_s = ll_hang + 1 To ds_col30.RowCount( ) //ll_hang + 1
  2462. //过滤
  2463. FOR k = 1 To UpperBound(ss_dytitle_filter)
  2464. lk_temp = String( Trim(ds_col30.GetItemString(row_s, ss_dytitle_filter[k].num)))
  2465. //
  2466. ls_cmd = ss_dytitle_filter[k].filtername
  2467. IF Pos(ls_cmd,',') > 0 THEN //如果是多少个过滤字眼
  2468. DO WHILE Len(ls_cmd) > 0
  2469. i = Pos( ls_cmd, ",")
  2470. IF i = 0 THEN i = Len(ls_cmd) + 1
  2471. ls_arg[li_argcnt] = Left(ls_cmd, i - 1)
  2472. li_argcnt = li_argcnt + 1
  2473. ls_cmd = Replace(ls_cmd, 1, i, "")
  2474. LOOP
  2475. FOR m = 1 To UpperBound(ls_arg)
  2476. IF Pos(lk_temp,ls_arg[m]) > 0 THEN
  2477. GOTO ext
  2478. END IF
  2479. NEXT
  2480. ELSE //一个过滤字眼
  2481. IF Pos(lk_temp,ss_dytitle_filter[k].filtername) > 0 THEN
  2482. GOTO ext
  2483. END IF
  2484. END IF
  2485. //
  2486. NEXT
  2487. //过滤
  2488. row_d = arg_dw.InsertRow(0)
  2489. FOR col_d = 1 To ll_d_col_count
  2490. IF ll_map[col_d] = 0 THEN CONTINUE
  2491. Any Value
  2492. String ls_value
  2493. ls_value = Trim(ds_col30.GetItemString(row_s, ll_map[col_d]))
  2494. IF Lower(Left(ls_colType[col_d], 4)) = 'char' THEN
  2495. Value = ls_value
  2496. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'long' &
  2497. Or Lower(Left(ls_colType[col_d], 3)) = 'int' &
  2498. Or Lower(Left(ls_colType[col_d], 3)) = 'num' &
  2499. Or Lower(Left(ls_colType[col_d], 5)) = 'ulong' THEN
  2500. Value = Long(ls_value)
  2501. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'deci' &
  2502. Or Lower(Left(ls_colType[col_d], 4)) = 'real' THEN
  2503. Value = Dec(ls_value)
  2504. ELSEIF Lower(Left(ls_colType[col_d], 4)) = 'date' THEN
  2505. Value = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 12)))
  2506. END IF
  2507. arg_dw.SetItem(row_d, col_d, Value)
  2508. NEXT
  2509. ext:
  2510. NEXT
  2511. Destroy ds_col30
  2512. ///////////////////////////////////// //
  2513. // li_count = arg_dw.ImportClipboard(2) //导入数据 (从第几行开始导入)
  2514. Clipboard("")
  2515. excelserver.quit()
  2516. excelserver.DisconnectObject()
  2517. Destroy excelserver
  2518. FOR i = 1 To arg_dw.RowCount( )
  2519. // arg_dw.Object.repeat[i] = 0
  2520. NEXT
  2521. arg_dw.AcceptText( )
  2522. RETURN 1
  2523. ELSE
  2524. MessageBox('提示','没有指定导入文件!', Information!, OK! )
  2525. RETURN -1
  2526. END IF
  2527. end function
  2528. public function integer wf_check_qtyandaddqty (ref string arg_msg);Long i
  2529. Int rslt = 1
  2530. Long lk_mtrlid,lk_ifcheckaddqty
  2531. String ls_strcheckaddqty,ls_mtrlmode
  2532. Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty,dec_rebate
  2533. String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
  2534. Long num
  2535. s_cmpl_qty s_cmpl
  2536. s_cmpl.addvalue = 1
  2537. String ls_msg
  2538. dw_child.AcceptText()
  2539. FOR i = 1 To dw_child.RowCount()
  2540. lk_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  2541. dec_qty = dw_child.Object.u_inwaremx_uqty[i]
  2542. dec_addqty = dw_child.Object.u_inwaremx_addqty[i]
  2543. ls_status = dw_child.Object.u_inwaremx_status[i]
  2544. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  2545. ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
  2546. ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  2547. ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  2548. dec_danpackqty=0
  2549. dec_packqty=dw_child.Object.u_inwaremx_packqty[i]
  2550. ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
  2551. dec_rebate = dw_child.Object.u_inwaremx_rebate[i]
  2552. SELECT ifcheckaddqty,strcheckaddqty,strcheck_digit Into :lk_ifcheckaddqty,:ls_strcheckaddqty,:num From u_mtrldef Where mtrlid = :lk_mtrlid;
  2553. s_cmpl.formula = ls_strcheckaddqty
  2554. s_cmpl.status = ls_status
  2555. s_cmpl.woodcode = ls_woodcode
  2556. s_cmpl.pcode = ls_pcode
  2557. s_cmpl.mtrlsectype = ls_mtrlsectype
  2558. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  2559. s_cmpl.addqty = dec_addqty
  2560. s_cmpl.num = num
  2561. s_cmpl.oldqty = dec_qty
  2562. s_cmpl.mtrlsectype = ls_mtrlsectype
  2563. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  2564. s_cmpl.packqty = dec_packqty
  2565. s_cmpl.rebate = dec_rebate
  2566. //如果有填写数量 则 只检查数量和辅数的关系
  2567. Decimal dec_tmp
  2568. IF lk_mtrlid > 0 And dec_qty <> 0 THEN
  2569. IF f_cmpl_qty_check(s_cmpl,dec_tmp,ls_msg) <> TRUE THEN
  2570. rslt = 0
  2571. arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty
  2572. GOTO ext
  2573. END IF
  2574. END IF
  2575. //如果没有填写数量 则 由辅数计算出数量
  2576. IF lk_mtrlid > 0 And dec_qty = 0 THEN
  2577. IF f_cmpl_qty(s_cmpl,dec_tmp,ls_msg) = 0 THEN
  2578. rslt = 0
  2579. arg_msg += '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty
  2580. goto ext
  2581. END IF
  2582. dw_child.Object.u_inwaremx_uqty[i] = dec_tmp
  2583. END IF
  2584. NEXT
  2585. dw_child.AcceptText()
  2586. ext:
  2587. RETURN rslt
  2588. end function
  2589. public function integer wf_check_planprice (ref string arg_msg);Int rslt = 1
  2590. Long i
  2591. Long llk_mtrlid
  2592. Decimal dec_planprice,i_lmbuyprice
  2593. dw_child.AcceptText()
  2594. SELECT top 1 planprice INTO :i_lmbuyprice
  2595. FROM u_mtrldef
  2596. Where mtrlid = :llk_mtrlid;
  2597. FOR i = 1 To dw_child.RowCount()
  2598. dec_planprice = 0
  2599. i_lmbuyprice = 0
  2600. llk_mtrlid= dw_child.Object.u_inwaremx_mtrlid[i]
  2601. dec_planprice = dw_child.Object.u_inwaremx_uprice[i]
  2602. SELECT top 1 planprice INTO :i_lmbuyprice
  2603. FROM u_mtrldef
  2604. Where mtrlid = :llk_mtrlid;
  2605. IF IsNull(i_lmbuyprice) THEN i_lmbuyprice = 0
  2606. IF IsNull(dec_planprice) THEN dec_planprice = 0
  2607. IF dec_planprice > i_lmbuyprice THEN
  2608. arg_msg = arg_msg + '第'+ String(i)+'行超出计划价'+ string(i_lmbuyprice,'#,##0.####')+ ' 是否继续保存?~r '
  2609. END IF
  2610. NEXT
  2611. IF arg_msg <> '' THEN
  2612. rslt = 0
  2613. END IF
  2614. RETURN rslt
  2615. end function
  2616. public subroutine wf_enamt_facechg ();IF ii_enamt_notax_edit = 0 THEN //录入不含税单价 为 false
  2617. dw_child.Modify('u_inwaremx_uprice_notax.protect = 1~t u_inwaremx_uprice_notax.Color = "0~trgb(0,0,0)"')
  2618. dw_child.Modify('u_inwaremx_uprice_notax_t.Color = "0~trgb(0,0,0)"')
  2619. ELSEIF ii_enamt_notax_edit = 1 THEN
  2620. dw_child.Modify('u_inwaremx_uprice_notax.protect = 0~t u_inwaremx_uprice_notax.Color = "0~trgb(0,0,255)"')
  2621. dw_child.Modify('u_inwaremx_uprice_notax_t.Color = "0~trgb(0,0,255)"')
  2622. END IF
  2623. end subroutine
  2624. public subroutine wf_ue_f7 (s_mtrldef_buytask_array s_inscust);
  2625. IF Not dw_edit_mode THEN RETURN
  2626. Long child_row,ls_sptid,ls_j
  2627. child_row = dw_child.GetRow()
  2628. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  2629. String arg_msg
  2630. s_mtrldef_array arg_s_mtrldef
  2631. dw_uc.AcceptText()
  2632. dw_child.AcceptText()
  2633. uo_custdef uo_cust
  2634. uo_cust = Create uo_custdef
  2635. uo_cust.commit_transaction = sqlca
  2636. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2637. IF ls_sptid <= 0 THEN
  2638. MessageBox("提示","请先选择供应商", Information!, OK! )
  2639. RETURN
  2640. END IF
  2641. //仓库
  2642. Long ll_storageid
  2643. Int li_if_cus_mtrlware
  2644. Long ll_cusid
  2645. String ls_cuscode, ls_cusname
  2646. String ls_plancode
  2647. Decimal ld_tax
  2648. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  2649. SELECT balctype
  2650. INTO :li_if_cus_mtrlware
  2651. FROM u_storage
  2652. Where storageid = :ll_storageid;
  2653. IF sqlca.SQLCode <> 0 THEN
  2654. MessageBox("提示","查询仓库是否使用客户库存失败", Information!, OK! )
  2655. RETURN
  2656. END IF
  2657. IF li_if_cus_mtrlware = 1 THEN
  2658. //ll_cusid = arg_cusid
  2659. IF uo_cust.getinfo(ll_cusid,arg_msg) = 1 THEN
  2660. ls_cuscode = uo_cust.s_cust.cuscode
  2661. ls_cusname = uo_cust.s_cust.Name
  2662. END IF
  2663. ELSE
  2664. //ll_cusid = 0
  2665. END IF
  2666. s_edit_index_tran s_tranf8
  2667. s_tranf8.if_retrieve_all = local_retrieve_all
  2668. s_tranf8.arg_pkid = 0
  2669. s_tranf8.arg_string_code = ''
  2670. s_tranf8.b_long = 2
  2671. s_tranf8.d_long = ls_sptid
  2672. //IF Not IsValid(w_inware_buytask_ch) THEN
  2673. // OpenWithParm(w_inware_buytask_ch,s_tranf8)
  2674. //
  2675. // s_mtrldef_buytask_array s_inscust
  2676. // s_inscust = Message.PowerObjectParm //接受返回结构
  2677. dw_child.SetRedraw(False)
  2678. FOR ls_j = 1 To UpperBound(s_inscust.buytaskid)
  2679. IF s_inscust.buytaskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  2680. IF dw_child.GetRow() > 0 THEN
  2681. IF dw_child.Object.u_inwaremx_relid[child_row] <> 0 THEN
  2682. child_row = dw_child.InsertRow (0)
  2683. ELSE
  2684. child_row = dw_child.GetRow()
  2685. END IF
  2686. ELSE
  2687. child_row = dw_child.InsertRow (0)
  2688. END IF
  2689. //主表
  2690. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_inscust.banktypeid[ls_j]
  2691. // IF dw_uc.Object.part[dw_uc.GetRow()] = '' Or dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j] THEN
  2692. // dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j]
  2693. // ELSE
  2694. // dw_uc.Object.part[dw_uc.GetRow()] = ''
  2695. // END IF
  2696. //明细表
  2697. dw_child.Object.u_inwaremx_ifrel[child_row] = 1
  2698. dw_child.Object.u_inwaremx_relid[child_row] = s_inscust.buytaskid[ls_j]
  2699. dw_child.Object.u_inwaremx_relprintid[child_row] = s_inscust.printid[ls_j]
  2700. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  2701. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  2702. dw_child.Object.u_buytask_taskcode[child_row] = s_inscust.buytaskcode[ls_j]
  2703. dw_child.Object.u_inwaremx_relcode[child_row] = s_inscust.buytaskcode[ls_j]
  2704. dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
  2705. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  2706. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
  2707. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.uprice[ls_j]
  2708. dw_child.Object.u_inwaremx_rebate[child_row] = s_inscust.rebate[ls_j]
  2709. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  2710. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  2711. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  2712. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.mxunit[ls_j]
  2713. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate[ls_j]
  2714. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_inscust.dscrp[ls_j]
  2715. dw_child.Object.u_inwaremx_mxdscrp2[child_row] = s_inscust.dscrp2[ls_j]
  2716. dw_child.Object.u_inwaremx_mxdscrp3[child_row] = s_inscust.dscrp3[ls_j]
  2717. dw_child.Object.u_inwaremx_mxdscrp4[child_row] = s_inscust.dscrp4[ls_j]
  2718. dw_child.Object.u_inwaremx_bootqty[child_row] = s_inscust.qty[ls_j]
  2719. dw_child.Object.u_inwaremx_uqty[child_row] = s_inscust.uqty[ls_j]
  2720. dw_child.Object.u_inwaremx_buyqty[child_row] = s_inscust.uqty[ls_j]
  2721. dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust.addqty[ls_j]
  2722. dw_child.Object.u_buytask_relcode[child_row] = s_inscust.relcode[ls_j]
  2723. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  2724. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  2725. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  2726. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = s_inscust.sptmtrlname[ls_j]
  2727. ls_plancode = f_get_newplancode(ll_storageid)
  2728. dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
  2729. IF s_inscust.plancode[ls_j] <> '' then
  2730. dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j]
  2731. end if
  2732. Decimal dec_lmbuyprice //设定购价
  2733. dec_lmbuyprice = 0
  2734. SELECT lmbuyprice Into :dec_lmbuyprice From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j];
  2735. dw_child.Object.u_mtrldef_lmbuyprice[child_row] = dec_lmbuyprice
  2736. IF s_inscust.tax[ls_j] <> 0 THEN
  2737. dw_child.Object.u_inwaremx_tax[child_row] = s_inscust.tax[ls_j]
  2738. ELSE
  2739. IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 THEN
  2740. ld_tax = 0
  2741. ELSE
  2742. dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
  2743. END IF
  2744. END IF
  2745. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  2746. li_statusflag = 0
  2747. li_woodcodeflag = 0
  2748. li_pcodeflag = 0
  2749. ELSE
  2750. li_statusflag = arg_s_mtrldef.statusflag[1]
  2751. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  2752. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  2753. END IF
  2754. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  2755. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  2756. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  2757. IF li_if_cus_mtrlware = 1 THEN
  2758. dw_child.Object.u_inwaremx_if_mtrlware[child_row] = 1
  2759. dw_child.Object.u_cust_cuscode[child_row] = s_inscust.cuscode[ls_j]
  2760. dw_child.Object.u_cust_name[child_row] = s_inscust.cusname[ls_j]
  2761. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = s_inscust.cusid[ls_j]
  2762. END IF
  2763. //获取当前库存
  2764. Decimal ld_wareqty
  2765. String ls_msg
  2766. ld_wareqty = 0
  2767. IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
  2768. MessageBox('提示',ls_msg, Information!, OK! )
  2769. END IF
  2770. dw_child.Object.wareqty[child_row] = ld_wareqty
  2771. wf_cmpl_amt(child_row)
  2772. END IF
  2773. NEXT
  2774. dw_child.SetRedraw(True)
  2775. dw_child.SetColumn('u_inwaremx_uqty')
  2776. This.TriggerEvent('ue_allowedit')
  2777. //END IF
  2778. Destroy uo_cust
  2779. end subroutine
  2780. on w_inware_buy.create
  2781. int iCurrent
  2782. call super::create
  2783. this.ddlb_scid=create ddlb_scid
  2784. this.st_3=create st_3
  2785. this.st_2=create st_2
  2786. this.cbx_enamt_edit=create cbx_enamt_edit
  2787. this.ddlb_status=create ddlb_status
  2788. this.cbx_packqty_cmpl=create cbx_packqty_cmpl
  2789. this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit
  2790. this.cbx_all=create cbx_all
  2791. iCurrent=UpperBound(this.Control)
  2792. this.Control[iCurrent+1]=this.ddlb_scid
  2793. this.Control[iCurrent+2]=this.st_3
  2794. this.Control[iCurrent+3]=this.st_2
  2795. this.Control[iCurrent+4]=this.cbx_enamt_edit
  2796. this.Control[iCurrent+5]=this.ddlb_status
  2797. this.Control[iCurrent+6]=this.cbx_packqty_cmpl
  2798. this.Control[iCurrent+7]=this.cbx_enamt_notax_edit
  2799. this.Control[iCurrent+8]=this.cbx_all
  2800. end on
  2801. on w_inware_buy.destroy
  2802. call super::destroy
  2803. destroy(this.ddlb_scid)
  2804. destroy(this.st_3)
  2805. destroy(this.st_2)
  2806. destroy(this.cbx_enamt_edit)
  2807. destroy(this.ddlb_status)
  2808. destroy(this.cbx_packqty_cmpl)
  2809. destroy(this.cbx_enamt_notax_edit)
  2810. destroy(this.cbx_all)
  2811. end on
  2812. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  2813. Boolean cb_func_enabled,cb_retrieve_enabled
  2814. cb_nextpage_enabled = cb_nextpage.Enabled
  2815. cb_retrieveall_enabled = cb_retrieveall.Enabled
  2816. cb_func_enabled = cb_func.Enabled
  2817. cb_nextpage.Enabled = FALSE
  2818. cb_retrieveall.Enabled = FALSE
  2819. cb_func.Enabled = FALSE
  2820. //只显未自已管的仓库
  2821. datawindowchild childdw
  2822. String new_sqlstr,modify_str
  2823. dw_uc.SetTransObject (sqlca)
  2824. dw_uc.GetChild("storageid",childdw)
  2825. childdw.SetTransObject (sqlca)
  2826. new_sqlstr = childdw.Describe("DataWindow.Table.Select")
  2827. IF Len(ol_cdw_str) = 0 THEN ol_cdw_str = new_sqlstr
  2828. new_sqlstr = f_modify_selectstr(ol_cdw_str)
  2829. modify_str = "DataWindow.Table.Select='" + new_sqlstr +"'"
  2830. childdw.Modify ( modify_str )
  2831. IF childdw.Retrieve(cur_scid) = 0 THEN
  2832. childdw.InsertRow(0)
  2833. END IF
  2834. //childdw.retrieve()
  2835. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  2836. dw_pageretr.Retrieve(cur_scid_arr,sys_user_storageid,cur_flag,cur_secflag,sys_user_spttype)
  2837. IF dw_pageretr.RowCount() > 0 THEN
  2838. dw_pageretr.SetRow(1)
  2839. dw_pageretr.TriggerEvent(RowFocusChanged!)
  2840. END IF
  2841. wf_flagstatus_rf()
  2842. THIS.TriggerEvent('retrieve_childdw')
  2843. //THIS.TriggerEvent('retrieve_fjnum')//改成单据功能手动刷新
  2844. cb_nextpage.Enabled = cb_nextpage_enabled
  2845. cb_retrieveall.Enabled = cb_retrieveall_enabled
  2846. cb_func.Enabled = cb_func_enabled
  2847. end event
  2848. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  2849. if trim(sle_usual_query.text)<>'' then
  2850. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  2851. obj_expr=obj_expr+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  2852. ELSE
  2853. obj_expr=obj_expr+'( inwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
  2854. END IF
  2855. end if
  2856. dw_pageretr.setfilter(obj_expr)
  2857. dw_pageretr.SetRedraw(False)
  2858. dw_pageretr.filter()
  2859. if dw_pageretr.rowcount()>=1 then
  2860. dw_pageretr.selectrow(0,false)
  2861. dw_pageretr.selectrow(1,true)
  2862. dw_pageretr.SetRow(1)
  2863. dw_pageretr.triggerevent(rowfocuschanged!)
  2864. end if
  2865. dw_pageretr.SetRedraw(TRUE)
  2866. end event
  2867. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  2868. ls_newselect=lower(ori_oldselect)
  2869. if trim(sle_usual_query.text)<>'' then
  2870. if pos(trim(sle_usual_query.text),'%')=0 then
  2871. ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  2872. else
  2873. ls_querystrpart="(u_inware.inwarecode like '"+trim(sle_usual_query.text)+"')"
  2874. end if
  2875. if Pos(ls_newselect," where ") <> 0 then
  2876. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  2877. else
  2878. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  2879. end if
  2880. end if
  2881. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  2882. this.triggerevent('retrieve_pageretr')
  2883. end event
  2884. event open;This.TriggerEvent('ue_before_open')
  2885. wf_movetocenter()
  2886. ds_copy_bill = Create datastore
  2887. ds_copy_bill.DataObject = dw_child.DataObject
  2888. ds_copy_bill.SetTransObject(sqlca)
  2889. OLD_TITLE = This.Title
  2890. s_tran = Message.PowerObjectParm
  2891. IF Not IsNull(s_tran) THEN
  2892. retrieve_all = s_tran.if_retrieve_all
  2893. mode = s_tran.work_mode
  2894. arg_pkid = s_tran.arg_pkid
  2895. arg_string_code = s_tran.arg_string_code
  2896. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  2897. ds_share = s_tran.ds_share
  2898. END IF
  2899. dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关
  2900. dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关
  2901. dw_pageretr.SetTransObject (sqlca)
  2902. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  2903. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  2904. //====================================================================
  2905. // Script - w_inware_buy inherited from w_publ_1ton_share_detail for open
  2906. // Reason:
  2907. //--------------------------------------------------------------------
  2908. // Modified By: yyx Date: 2003.12.01
  2909. //--------------------------------------------------------------------
  2910. ori_oldselect = f_modify_selectstr(ori_oldselect) //只显示所管的仓库单据
  2911. //====================================================================
  2912. ls_newselect = ori_oldselect
  2913. ds_curquery = Create datastore
  2914. ds_curquery.DataObject = 'd_extr_find'
  2915. ds_curquery.SetTransObject (sqlca)
  2916. wf_editindex_lockf()
  2917. IF s_tran.d_long = 2 THEN
  2918. cur_scid = s_tran.c_long
  2919. Int li_item
  2920. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  2921. IF li_item > 0 THEN
  2922. ddlb_scid.SelectItem(li_item)
  2923. END IF
  2924. END IF
  2925. sle_usual_query.Text = Trim(arg_string_code)
  2926. IF Not retrieve_all THEN
  2927. This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  2928. ELSE
  2929. IF if_sharedata THEN
  2930. ds_share.ShareData(dw_pageretr)
  2931. ELSE
  2932. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  2933. This.TriggerEvent('RETRIEVE_pageretr')
  2934. END IF
  2935. END IF
  2936. IF retrieve_all THEN
  2937. This.TriggerEvent("ue_usual_query_filt")
  2938. END IF
  2939. uc_column_int = 13 //uc dw前7列可以编辑
  2940. child_column_int = 28 //子dw前8列可以编辑
  2941. uo_ware = Create uo_inware_buy
  2942. uo_ware.commit_transaction = sqlca
  2943. uo_sptprice = Create uo_spt_price
  2944. IF sys_option_buy_rateedit = 1 THEN
  2945. dw_child.Modify ("u_inwaremx_rate_t.color=16711680")
  2946. dw_child.Modify ("u_inwaremx_rate.color=16711680")
  2947. dw_child.Modify ("u_inwaremx_rate.protect=0")
  2948. ELSE
  2949. dw_child.Modify ("u_inwaremx_rate.protect=1")
  2950. END IF
  2951. s_hide_col s_col,s_null
  2952. s_col.col_1 = 'u_inwaremx_fprice'
  2953. s_col.col_2 = 'u_inwaremx_rebate'
  2954. s_col.col_3 = 'u_inwaremx_price'
  2955. s_col.col_4 = 'u_inwaremx_uamt'
  2956. s_col.col_5 = 'u_inwaremx_uprice'
  2957. s_col.col_6 = 'u_inwaremx_uamt_tax'
  2958. s_col.col_7 = 'u_inwaremx_bsamt'
  2959. s_col.col_8 = 'u_inwaremx_bsamt_tax'
  2960. s_col.col_9 = 'u_inwaremx_tax'
  2961. s_col.col_10 = 'u_inwaremx_uprice_notax'
  2962. s_col.col_11 = 'fprice_notax'
  2963. s_col.col_12 = 'uamt_notax'
  2964. f_hide_col(121,dw_child,s_col)
  2965. s_hide_col s_col_mtrlsectype
  2966. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  2967. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  2968. s_hide_col s_col_zxmtrlmode
  2969. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  2970. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  2971. s_hide_col s_col_dftsptprice
  2972. s_col_dftsptprice.col_1 = 'u_inwaremx_dftsptprice'
  2973. f_hide_col(1462,dw_child,s_col_dftsptprice)
  2974. IF f_power_ind(124) Or f_power_ind(1769) THEN
  2975. string a
  2976. 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))~"")
  2977. END IF
  2978. end event
  2979. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  2980. ddlb_status.Enabled = NOT dw_edit_mode
  2981. cbx_enamt_edit.Enabled = NOT dw_edit_mode
  2982. cbx_packqty_cmpl.Enabled = NOT dw_edit_mode
  2983. cbx_enamt_notax_edit.Enabled = NOT dw_edit_mode
  2984. IF dw_edit_mode THEN
  2985. ddlb_scid.Enabled = FALSE
  2986. ELSE
  2987. IF sys_scid > 0 THEN
  2988. ddlb_scid.Enabled = FALSE
  2989. ELSE
  2990. ddlb_scid.Enabled = TRUE
  2991. END IF
  2992. END IF
  2993. IF dw_edit_mode THEN
  2994. IF flag = 1 AND secflag = 0 THEN
  2995. dw_uc.Modify('storageid.protect=1 ~n u_spt_sptcode.protect=1')
  2996. 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')
  2997. cb_xm.Enabled = FALSE
  2998. ELSE
  2999. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  3000. // 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')
  3001. 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 ')
  3002. cb_xm.Enabled = TRUE
  3003. END IF
  3004. ELSE
  3005. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  3006. 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')
  3007. END IF
  3008. IF ii_enamt_edit = 0 THEN
  3009. dw_child.Modify('u_inwaremx_uamt.protect = 1~t u_inwaremx_uamt.Color = 0')
  3010. dw_child.Modify('u_inwaremx_uamt_t.Color = 0')
  3011. ELSE
  3012. dw_child.Modify('u_inwaremx_uamt.protect = 0~t u_inwaremx_uamt.Color = "0~trgb(0,0,255)"')
  3013. dw_child.Modify('u_inwaremx_uamt_t.Color = "0~trgb(0,0,255)"')
  3014. END IF
  3015. IF sys_option_outware_if_buyqty = 0 THEN
  3016. dw_child.Modify('u_inwaremx_buyqty.protect = 1~t u_inwaremx_buyqty.Color = 0')
  3017. dw_child.Modify('u_inwaremx_buyqty_t.Color = 0')
  3018. ELSE
  3019. dw_child.Modify('u_inwaremx_buyqty.protect = 0~t u_inwaremx_buyqty.Color = "0~trgb(0,0,255)"')
  3020. dw_child.Modify('u_inwaremx_buyqty_t.Color = "0~trgb(0,0,255)"')
  3021. END IF
  3022. IF sys_power_issuper Or Not f_power_ind(1828) THEN //492 限制折扣
  3023. dw_child.Modify('u_inwaremx_uprice.protect=0 ')
  3024. ELSE
  3025. dw_child.Modify("u_inwaremx_uprice.protect = ~"0~~t if(u_inwaremx_ifrel = 1 ,1,0)~"")
  3026. END IF
  3027. end event
  3028. event close;call super::close;destroy uo_ware
  3029. destroy uo_sptprice
  3030. wf_del_tempfilepathname()
  3031. end event
  3032. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  3033. IF Not dw_edit_mode THEN RETURN
  3034. Long child_row,ls_null
  3035. Long ll_storageid = 0
  3036. Long ls_sptid,ls_mtrlid
  3037. Dec ls_lastprice,ls_rebate,ld_tax
  3038. Long chc = 1,ls_j
  3039. String ls_plancode
  3040. String ls_con_name
  3041. String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode
  3042. SetNull(ls_null)
  3043. dw_uc.AcceptText()
  3044. dw_child.AcceptText()
  3045. s_edit_index_tran s_tranf8
  3046. s_tranf8.if_retrieve_all = False
  3047. s_tranf8.arg_pkid = 0
  3048. s_tranf8.arg_string_code = ''
  3049. s_tranf8.b_long = 2
  3050. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  3051. IF ll_storageid = 0 Or IsNull(ll_storageid) THEN
  3052. MessageBox('提示','请先选择仓库', Information!, OK! )
  3053. RETURN
  3054. END IF
  3055. child_row = dw_child.GetRow()
  3056. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  3057. IF IsNull(ls_sptid) Or ls_sptid = 0 THEN
  3058. This.TriggerEvent("ue_f9")
  3059. END IF
  3060. dw_uc.AcceptText()
  3061. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  3062. IF Not IsValid(w_mtrldef_edit) THEN
  3063. s_edit_index_tran s_ch_tran
  3064. s_ch_tran.if_retrieve_all = False
  3065. s_ch_tran.work_mode = 1
  3066. s_ch_tran.arg_pkid = 0
  3067. s_ch_tran.arg_string_code = ''
  3068. s_ch_tran.b_long = 2
  3069. s_ch_tran.c_long = ll_storageid
  3070. s_ch_tran.d_long = ls_sptid
  3071. s_ch_tran.if_select_all = True
  3072. dw_child.AcceptText()
  3073. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  3074. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  3075. s_mtrldef_array s_inscust
  3076. s_inscust = Message.PowerObjectParm //接受返回结构
  3077. FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
  3078. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  3079. IF dw_child.GetRow() > 0 THEN
  3080. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  3081. child_row = dw_child.InsertRow (0)
  3082. ELSE
  3083. child_row = dw_child.GetRow()
  3084. END IF
  3085. ELSE
  3086. child_row = dw_child.InsertRow (0)
  3087. END IF
  3088. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  3089. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  3090. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  3091. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  3092. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  3093. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  3094. dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
  3095. dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
  3096. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
  3097. dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
  3098. dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
  3099. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  3100. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
  3101. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
  3102. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
  3103. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名
  3104. ls_mtrlid =S_INSCUST.mtrlid[ls_j]
  3105. Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'')
  3106. Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode
  3107. From u_sptmtrlname
  3108. Where mtrlid= :ls_mtrlid and sptid= :ls_sptid ;
  3109. dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname
  3110. dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode
  3111. dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode
  3112. //3个属性默认值
  3113. String ls_status_default,ls_woodcode_default,ls_pcode_default
  3114. ls_status_default = ''
  3115. ls_woodcode_default = ''
  3116. ls_pcode_default = ''
  3117. 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];
  3118. IF Len(ls_status_default) > 0 THEN
  3119. dw_child.Object.u_inwaremx_status[child_row] = Trim(ls_status_default)
  3120. END IF
  3121. IF Len(ls_woodcode_default) > 0 THEN
  3122. dw_child.Object.u_inwaremx_woodcode[child_row] = Trim(ls_woodcode_default)
  3123. END IF
  3124. IF Len(ls_pcode_default) > 0 THEN
  3125. dw_child.Object.u_inwaremx_pcode[child_row] = Trim(ls_pcode_default)
  3126. END IF
  3127. decimal dec_lmbuyprice //设定购价
  3128. dec_lmbuyprice=0
  3129. select lmbuyprice into :dec_lmbuyprice from u_mtrldef where mtrlid=:s_inscust.mtrlid[ls_j];
  3130. dw_child.Object.u_mtrldef_lmbuyprice[child_row]=dec_lmbuyprice
  3131. IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 then
  3132. ld_tax = 0
  3133. ELSE
  3134. dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
  3135. END IF
  3136. IF s_inscust.statusflag[ls_j] = 2 THEN
  3137. SELECT name
  3138. into :ls_con_name
  3139. from u_mtrl_configure
  3140. where u_mtrl_configure.mtrlid = :s_inscust.mtrlid[ls_j] and u_mtrl_configure.DefaultPZ = 1;
  3141. dw_child.Object.u_inwaremx_status[child_row] = ls_con_name
  3142. END IF
  3143. ls_plancode = f_get_newplancode(ll_storageid)
  3144. dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
  3145. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  3146. String arg_msg,ls_status,ls_woodcode,ls_pcode
  3147. String ls_1stunit
  3148. ls_status = dw_child.Object.u_inwaremx_status[child_row]
  3149. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  3150. ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  3151. ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  3152. IF cur_editfocus = 1 THEN
  3153. 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
  3154. Int Mtrlorigin
  3155. SELECT u_mtrldef.Mtrlorigin
  3156. INTO :Mtrlorigin
  3157. FROM u_mtrldef
  3158. Where mtrlid = :s_inscust.mtrlid[ls_j];
  3159. IF sqlca.SQLCode <> 0 THEN
  3160. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  3161. ELSE
  3162. IF Mtrlorigin > 0 THEN
  3163. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
  3164. ELSE
  3165. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  3166. END IF
  3167. END IF
  3168. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  3169. IF s_inscust.unit_buy[ls_j] = '' THEN
  3170. dw_child.Object.u_inwaremx_rate[child_row] = 1
  3171. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  3172. ELSE
  3173. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  3174. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  3175. END IF
  3176. ELSE
  3177. dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  3178. IF ls_1stzqrate = 0 THEN
  3179. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  3180. ELSE
  3181. dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  3182. END IF
  3183. dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  3184. dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  3185. END IF
  3186. ELSE
  3187. IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  3188. IF s_inscust.unit_buy[ls_j] = '' THEN
  3189. dw_child.Object.u_inwaremx_rate[child_row] = 1
  3190. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  3191. ELSE
  3192. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  3193. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  3194. END IF
  3195. END IF
  3196. END IF
  3197. Decimal ld_wareqty
  3198. String ls_msg
  3199. ld_wareqty = 0
  3200. IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
  3201. MessageBox('提示',ls_msg, Information!, OK! )
  3202. END IF
  3203. dw_child.Object.wareqty[child_row] = ld_wareqty
  3204. dw_child.AcceptText( )
  3205. //String ls_sptmtrlname
  3206. IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
  3207. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  3208. END IF
  3209. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  3210. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  3211. wf_cmpl_amt(child_row)
  3212. END IF
  3213. NEXT
  3214. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  3215. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  3216. This.TriggerEvent('ue_allowedit')
  3217. END IF
  3218. dw_child.SetRedraw(True)
  3219. dw_child.SetFocus()
  3220. end event
  3221. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  3222. row = dw_pageretr.GetRow()
  3223. IF row > 0 THEN
  3224. ll_scid=dw_pageretr.Object.u_inware_scid[row]
  3225. uc_relid = dw_pageretr.Object.inwareid[row]
  3226. dw_child.SetRedraw (FALSE)
  3227. dw_child.Retrieve(ll_scid,uc_relid)
  3228. dw_child.SetRedraw (TRUE)
  3229. ELSE
  3230. dw_child.Reset()
  3231. END IF
  3232. end event
  3233. event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认]
  3234. IF Not dw_edit_mode THEN RETURN
  3235. Long uc_row
  3236. uc_row = dw_uc.GetRow()
  3237. IF uc_row = 0 THEN
  3238. MessageBox('提示','请选定进仓单!', Information!, OK! )
  3239. RETURN
  3240. END IF
  3241. dw_uc.AcceptText()
  3242. IF Not IsValid(W_spt_edit) THEN
  3243. s_edit_index_tran s_ch_tran //传递参数使用
  3244. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  3245. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  3246. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  3247. //查询列(物料编码)部分内容,用于初步筛选
  3248. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  3249. IF sys_spt_hideinfo = 0 THEN
  3250. OpenWithParm(W_spt_edit,s_ch_tran) //调用
  3251. ELSE
  3252. OpenWithParm(W_spt_ch,s_ch_tran) //调用
  3253. END IF
  3254. S_spt S_INSCUST
  3255. S_INSCUST = Message.PowerObjectParm //接受返回结构
  3256. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  3257. //重置dw_child 返回0不更换供应商
  3258. IF wf_change_sptid(S_INSCUST.sptid) = 0 THEN RETURN
  3259. dw_uc.SetRedraw(False)
  3260. dw_uc.Object.sptid[uc_row] = S_INSCUST.sptid
  3261. dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name
  3262. dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode
  3263. IF S_INSCUST.dftbanktypeid > 0 THEN
  3264. dw_uc.Object.u_inware_relint_1[uc_row] = S_INSCUST.dftbanktypeid
  3265. END IF
  3266. IF S_INSCUST.dftmoneyid > 0 THEN
  3267. dw_uc.Object.u_inware_relint_3[uc_row] = S_INSCUST.dftmoneyid
  3268. dw_uc.Object.u_inware_mrate[uc_row] = f_get_mrate(S_INSCUST.dftmoneyid)
  3269. END IF
  3270. dw_uc.SetRedraw(True)
  3271. dw_uc.SetColumn("indate")
  3272. END IF
  3273. END IF
  3274. end event
  3275. event ue_viewprint;call super::ue_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN
  3276. MessageBox('提示',sys_msg_pow, Information!, OK! )
  3277. RETURN
  3278. END IF
  3279. LONG LS_ROW
  3280. LS_ROW=dw_pageretr.getrow()
  3281. IF LS_ROW<=0 THEN
  3282. MESSAGEBOX('错误','没有打印目标单据!', StopSign!, OK! )
  3283. RETURN
  3284. END IF
  3285. if sys_option_auditprint = 1 then
  3286. if dw_pageretr.object.flag[ls_row] <> 1 then
  3287. MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  3288. RETURN
  3289. END IF
  3290. end if
  3291. S_print_MSG LS_PRMSG
  3292. IF ls_newname <> '' THEN
  3293. IF li_auditprint = 1 THEN
  3294. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  3295. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  3296. RETURN
  3297. END IF
  3298. END IF
  3299. ls_prmsg.obj_dwNAME = ls_newname
  3300. ELSE
  3301. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit'
  3302. END IF
  3303. LS_PRMSG.TAG_TEXT='采购收货单'
  3304. LS_PRMSG.FILTER_STRING = ''
  3305. LS_PRMSG.retr_pram_falg=15
  3306. LS_PRMSG.PAGECH_FLAG=0
  3307. LS_PRMSG.retr_scid=cur_scid
  3308. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[LS_ROW]
  3309. ls_prmsg.rowcnt=dw_child.rowcount()
  3310. IF ifpic = 1 THEN
  3311. String ls_msg
  3312. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  3313. MessageBox('提示','下载图片失败!',information!,OK!)
  3314. RETURN
  3315. END IF
  3316. END IF
  3317. Openwithparm(w_publ_preview,LS_PRMSG)
  3318. IF ifpic = 1 THEN
  3319. Long li
  3320. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  3321. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  3322. FileDelete(LS_PRMSG.s_pic.path[li])
  3323. END IF
  3324. NEXT
  3325. END IF
  3326. //**更新打印次料
  3327. string arg_msg
  3328. printnum = message.doubleparm
  3329. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[LS_ROW],'','',arg_msg,true)
  3330. string ls_taskcode
  3331. ls_taskcode = dw_pageretr.Object.inwarecode[dw_pageretr.GetRow()]
  3332. IF f_billevent_trigger (403, 1, ls_taskcode, arg_msg) = 0 THEN
  3333. MessageBox('Error',arg_msg)
  3334. END IF
  3335. end event
  3336. event ue_f7;call super::ue_f7;
  3337. IF Not dw_edit_mode THEN RETURN
  3338. Long child_row,ls_sptid,ls_j
  3339. child_row = dw_child.GetRow()
  3340. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  3341. String arg_msg
  3342. string ls_handtype
  3343. s_mtrldef_array arg_s_mtrldef
  3344. dw_uc.AcceptText()
  3345. dw_child.AcceptText()
  3346. uo_custdef uo_cust
  3347. uo_cust = Create uo_custdef
  3348. uo_cust.commit_transaction = sqlca
  3349. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  3350. IF ls_sptid <= 0 THEN
  3351. MessageBox("提示","请先选择供应商", Information!, OK! )
  3352. RETURN
  3353. END IF
  3354. //仓库
  3355. Long ll_storageid
  3356. Int li_if_cus_mtrlware
  3357. Long ll_cusid,ll_sptid,ls_mtrlid
  3358. String ls_cuscode, ls_cusname
  3359. String ls_plancode
  3360. Decimal ld_tax
  3361. String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode
  3362. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  3363. SELECT balctype
  3364. INTO :li_if_cus_mtrlware
  3365. FROM u_storage
  3366. Where storageid = :ll_storageid;
  3367. IF sqlca.SQLCode <> 0 THEN
  3368. MessageBox("提示","查询仓库是否使用客户库存失败", Information!, OK! )
  3369. RETURN
  3370. END IF
  3371. IF li_if_cus_mtrlware = 1 THEN
  3372. //ll_cusid = arg_cusid
  3373. IF uo_cust.getinfo(ll_cusid,arg_msg) = 1 THEN
  3374. ls_cuscode = uo_cust.s_cust.cuscode
  3375. ls_cusname = uo_cust.s_cust.Name
  3376. END IF
  3377. ELSE
  3378. //ll_cusid = 0
  3379. END IF
  3380. s_edit_index_tran s_tranf8
  3381. s_tranf8.if_retrieve_all = local_retrieve_all
  3382. s_tranf8.arg_pkid = 0
  3383. s_tranf8.arg_string_code = ''
  3384. s_tranf8.b_long = 2
  3385. s_tranf8.d_long = ls_sptid
  3386. IF Not IsValid(w_inware_buytask_ch) THEN
  3387. OpenWithParm(w_inware_buytask_ch,s_tranf8)
  3388. s_mtrldef_buytask_array s_inscust
  3389. s_inscust = Message.PowerObjectParm //接受返回结构
  3390. dw_child.SetRedraw(False)
  3391. FOR ls_j = 1 To UpperBound(s_inscust.buytaskid)
  3392. IF s_inscust.buytaskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  3393. IF dw_child.GetRow() > 0 THEN
  3394. IF dw_child.Object.u_inwaremx_relid[child_row] <> 0 THEN
  3395. child_row = dw_child.InsertRow (0)
  3396. ELSE
  3397. child_row = dw_child.GetRow()
  3398. END IF
  3399. ELSE
  3400. child_row = dw_child.InsertRow (0)
  3401. END IF
  3402. //主表
  3403. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_inscust.banktypeid[ls_j]
  3404. // IF dw_uc.Object.part[dw_uc.GetRow()] = '' Or dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j] THEN
  3405. // dw_uc.Object.part[dw_uc.GetRow()] = s_inscust.relcode[ls_j]
  3406. // ELSE
  3407. // dw_uc.Object.part[dw_uc.GetRow()] = ''
  3408. // END IF
  3409. //明细表
  3410. dw_child.Object.u_inwaremx_ifrel[child_row] = 1
  3411. dw_child.Object.u_inwaremx_relid[child_row] = s_inscust.buytaskid[ls_j]
  3412. dw_child.Object.u_inwaremx_relprintid[child_row] = s_inscust.printid[ls_j]
  3413. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  3414. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  3415. dw_child.Object.u_buytask_taskcode[child_row] = s_inscust.buytaskcode[ls_j]
  3416. dw_child.Object.u_inwaremx_relcode[child_row] = s_inscust.buytaskcode[ls_j]
  3417. dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
  3418. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  3419. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
  3420. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.uprice[ls_j]
  3421. dw_child.Object.u_inwaremx_rebate[child_row] = s_inscust.rebate[ls_j]
  3422. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  3423. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  3424. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  3425. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.mxunit[ls_j]
  3426. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate[ls_j]
  3427. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_inscust.dscrp[ls_j]
  3428. dw_child.Object.u_inwaremx_mxdscrp2[child_row] = s_inscust.dscrp2[ls_j]
  3429. dw_child.Object.u_inwaremx_mxdscrp3[child_row] = s_inscust.dscrp3[ls_j]
  3430. dw_child.Object.u_inwaremx_mxdscrp4[child_row] = s_inscust.dscrp4[ls_j]
  3431. dw_child.Object.u_inwaremx_bootqty[child_row] = s_inscust.qty[ls_j]
  3432. dw_child.Object.u_inwaremx_uqty[child_row] = s_inscust.uqty[ls_j]
  3433. dw_child.Object.u_inwaremx_buyqty[child_row] = s_inscust.uqty[ls_j]
  3434. dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust.addqty[ls_j]
  3435. dw_child.Object.u_buytask_relcode[child_row] = s_inscust.relcode[ls_j]
  3436. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  3437. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  3438. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  3439. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.mtrlengname[ls_j]
  3440. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
  3441. dw_child.Object.u_saletask_taskcode[child_row] = s_inscust.saletaskcode[ls_j]
  3442. dw_child.Object.u_saletask_relcode[child_row] = s_inscust.salerelcode[ls_j]
  3443. ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名
  3444. ls_mtrlid = s_inscust.mtrlid[ls_j]
  3445. Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'')
  3446. Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode
  3447. From u_sptmtrlname
  3448. Where mtrlid= :ls_mtrlid and sptid= :ll_sptid ;
  3449. dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname
  3450. dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode
  3451. dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode
  3452. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = s_inscust.sptmtrlname[ls_j]
  3453. dw_child.Object.u_buytask_dscrp[child_row] = s_inscust.buytask_dscrp[ls_j]
  3454. IF s_inscust.plancode[ls_j] = '' THEN
  3455. ls_plancode = f_get_newplancode(ll_storageid)
  3456. dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
  3457. ELSE
  3458. dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j]
  3459. END IF
  3460. Decimal dec_lmbuyprice //设定购价
  3461. dec_lmbuyprice = 0
  3462. SELECT lmbuyprice Into :dec_lmbuyprice From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j];
  3463. dw_child.Object.u_mtrldef_lmbuyprice[child_row] = dec_lmbuyprice
  3464. IF s_inscust.tax[ls_j] <> 0 THEN
  3465. dw_child.Object.u_inwaremx_tax[child_row] = s_inscust.tax[ls_j]
  3466. ELSE
  3467. IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 THEN
  3468. ld_tax = 0
  3469. ELSE
  3470. dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
  3471. END IF
  3472. END IF
  3473. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  3474. li_statusflag = 0
  3475. li_woodcodeflag = 0
  3476. li_pcodeflag = 0
  3477. ls_handtype = ""
  3478. ELSE
  3479. li_statusflag = arg_s_mtrldef.statusflag[1]
  3480. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  3481. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  3482. ls_handtype = arg_s_mtrldef.handtype[1]
  3483. END IF
  3484. dw_child.Object.u_mtrldef_handtype[child_row] = ls_handtype
  3485. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  3486. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  3487. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  3488. IF li_if_cus_mtrlware = 1 THEN
  3489. dw_child.Object.u_inwaremx_if_mtrlware[child_row] = 1
  3490. dw_child.Object.u_cust_cuscode[child_row] = s_inscust.cuscode[ls_j]
  3491. dw_child.Object.u_cust_name[child_row] = s_inscust.cusname[ls_j]
  3492. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = s_inscust.cusid[ls_j]
  3493. END IF
  3494. //获取当前库存
  3495. Decimal ld_wareqty
  3496. String ls_msg
  3497. ld_wareqty = 0
  3498. IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN
  3499. MessageBox('提示',ls_msg, Information!, OK! )
  3500. END IF
  3501. dw_child.Object.wareqty[child_row] = ld_wareqty
  3502. wf_cmpl_amt(child_row)
  3503. END IF
  3504. NEXT
  3505. dw_child.SetRedraw(True)
  3506. dw_child.SetColumn('u_inwaremx_uqty')
  3507. This.TriggerEvent('ue_allowedit')
  3508. END IF
  3509. Destroy uo_cust
  3510. end event
  3511. event ue_print;call super::ue_print;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN
  3512. MessageBox('提示',sys_msg_pow, Information!, OK! )
  3513. RETURN
  3514. END IF
  3515. //--直接打印
  3516. uo_print_preview uo_print
  3517. S_print_MSG LS_PRMSG
  3518. if dw_pageretr.rowcount()=0 then
  3519. Messagebox('提示','没有可打印的单据!', Information!, OK! )
  3520. return
  3521. end if
  3522. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  3523. if sys_option_auditprint = 1 then
  3524. if dw_pageretr.object.flag[dw_pageretr.getrow()] <> 1 then
  3525. MESSAGEBOX('错误','目标单据还未审核,不能打印!', Information!, OK! )
  3526. RETURN
  3527. END IF
  3528. end if
  3529. IF ls_newname <> '' THEN
  3530. IF li_auditprint = 1 THEN
  3531. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  3532. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  3533. RETURN
  3534. END IF
  3535. END IF
  3536. ls_prmsg.obj_dwNAME = ls_newname
  3537. ELSE
  3538. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit'
  3539. END IF
  3540. LS_PRMSG.retr_pram_falg=15
  3541. LS_PRMSG.TAG_TEXT='采购收货单'
  3542. LS_PRMSG.FILTER_STRING = ''
  3543. LS_PRMSG.PAGECH_FLAG=0
  3544. LS_PRMSG.retr_scid=cur_scid
  3545. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[dw_pageretr.getrow()]
  3546. ls_prmsg.rowcnt=dw_child.rowcount()
  3547. IF ifpic = 1 THEN
  3548. String ls_msg
  3549. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  3550. MessageBox('提示','下载图片失败!',information!,OK!)
  3551. RETURN
  3552. END IF
  3553. END IF
  3554. uo_print.FACT_PRINT_MSG=LS_PRMSG
  3555. string arg_msg
  3556. if uo_print.uof_print_begin(arg_msg)=0 then
  3557. messagebox("提示",arg_msg, Information!, OK! )
  3558. return
  3559. end if
  3560. uo_print.ds_print()
  3561. IF ifpic = 1 THEN
  3562. Long li
  3563. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  3564. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  3565. FileDelete(LS_PRMSG.s_pic.path[li])
  3566. END IF
  3567. NEXT
  3568. END IF
  3569. //**更新打印次料
  3570. f_update_printnum('u_inware',1,cur_scid,dw_pageretr.object.inwareid[dw_pageretr.getrow()],'','',arg_msg,true)
  3571. end event
  3572. event resize;call super::resize;long w_width,w_height
  3573. //w_width = 3600
  3574. //w_height = 2300
  3575. //
  3576. //
  3577. //if newwidth < w_width then this.width = w_width
  3578. //if newheight < w_height then this.height = w_height
  3579. //
  3580. //
  3581. //dw_child.width=this.width - (w_width - 3547)
  3582. //dw_child.height=this.height - (w_height - 880)
  3583. //
  3584. //cb_add.y=this.height - (w_height - 2030)
  3585. //cb_edit.y=this.height - (w_height - 2030)
  3586. //cb_delet.y=this.height - (w_height - 2030)
  3587. //cb_addzy.y=this.height - (w_height - 2030)
  3588. //cb_add_xm.y=this.height - (w_height - 2030)
  3589. //cb_dele_xm.y=this.height - (w_height - 2030)
  3590. //cb_exit.y=this.height - (w_height - 2030)
  3591. //cb_auditing.y=this.height - (w_height - 2030)
  3592. //cb_cancelauditing.y=this.height - (w_height - 2030)
  3593. //cb_copy.y=this.height - (w_height - 2030)
  3594. //cb_paste.y=this.height - (w_height - 2030)
  3595. //cb_csecauditing.y=this.height - (w_height - 2030)
  3596. //cb_secauditing.y=this.height - (w_height - 2030)
  3597. //
  3598. //cbx_1.y=this.height - (w_height - 2144)
  3599. //
  3600. //
  3601. end event
  3602. event ue_f10;call super::ue_f10;String ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode
  3603. Decimal rtn_price,rtn_zqrate,rtn_rate
  3604. Long ls_mtrlid,ls_sptid
  3605. IF NOT IsValid(w_unit_ch) THEN
  3606. IF dw_child.GetRow() < 1 THEN RETURN
  3607. dw_uc.AcceptText()
  3608. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  3609. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  3610. THIS.TriggerEvent("ue_f9")
  3611. END IF
  3612. dw_child.AcceptText()
  3613. ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  3614. OpenWithParm(w_unit_ch,ls_mtrlid)
  3615. s_unit s_inscust
  3616. s_inscust = Message.PowerObjectParm //接受返回结构
  3617. IF s_inscust.unit <> '' THEN
  3618. dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = s_inscust.unit
  3619. dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = s_inscust.rate
  3620. ls_1stunit = s_inscust.unit
  3621. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  3622. ls_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  3623. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  3624. ls_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  3625. 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
  3626. dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = rtn_price
  3627. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = rtn_zqrate
  3628. END IF
  3629. dw_child.SetColumn( 'u_inwaremx_uqty')
  3630. END IF
  3631. END IF
  3632. end event
  3633. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  3634. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  3635. return
  3636. END IF
  3637. IF NOT (f_power_ind(778) or f_power_ind(781)) THEN
  3638. MessageBox('提示',sys_msg_pow, Information!, OK! )
  3639. RETURN
  3640. END IF
  3641. string arg_msg=''
  3642. string ls_str
  3643. long uc_row
  3644. s_inputbox s_sreu
  3645. uc_row=dw_pageretr.getrow()
  3646. if uc_row<=0 then
  3647. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  3648. return
  3649. end if
  3650. s_sreu.title='请输入要补充到备注的内容'
  3651. s_sreu.old_text=''
  3652. openwithparm(w_inputbox,s_sreu)
  3653. ls_str=message.stringparm
  3654. if trim(ls_str)='' or isnull(ls_str) then return
  3655. 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
  3656. messagebox('error!',arg_msg)
  3657. return
  3658. else
  3659. messagebox('提示','添加备注操作成功!', Information!, OK! )
  3660. wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
  3661. end if
  3662. end event
  3663. event ue_f11;call super::ue_f11;IF NOT dw_edit_mode THEN RETURN
  3664. Long child_row
  3665. Int if_addmxdscrp
  3666. String ls_mxdscrp
  3667. s_addqty_input s_input
  3668. dw_child.AcceptText( )
  3669. child_row = dw_child.GetRow()
  3670. IF child_row <= 0 THEN RETURN
  3671. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
  3672. ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row]
  3673. IF NOT IsValid(w_addqty_input) THEN
  3674. OpenWithParm(w_addqty_input,ls_mxdscrp)
  3675. s_input = Message.PowerObjectParm
  3676. IF s_input.addqty = -1 THEN RETURN
  3677. dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty
  3678. IF s_input.addqtystr <> '' THEN
  3679. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
  3680. END IF
  3681. IF s_input.formula <> '' THEN
  3682. dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
  3683. END IF
  3684. IF s_input.flag = 1 THEN
  3685. dw_child.Object.u_inwaremx_uqty[child_row] = s_input.qty
  3686. dw_child.Object.u_inwaremx_buyqty[child_row] = s_input.qty
  3687. END IF
  3688. END IF
  3689. end event
  3690. event ue_addmx;Long uc_row,ll_flag
  3691. uc_row = dw_uc.GetRow()
  3692. IF uc_row <= 0 THEN
  3693. MessageBox('提示','请先选择单据', Information!, OK! )
  3694. RETURN
  3695. END IF
  3696. ll_flag = dw_uc.Object.flag[uc_row]
  3697. IF ll_flag = 1 THEN
  3698. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  3699. RETURN
  3700. END IF
  3701. this.triggerevent('ue_f8')
  3702. dw_child.SetFocus()
  3703. end event
  3704. event ue_deletemx;Long uc_row,ll_flag
  3705. uc_row = dw_uc.GetRow()
  3706. IF uc_row <= 0 THEN
  3707. MessageBox('提示','请先选择单据', Information!, OK! )
  3708. RETURN
  3709. END IF
  3710. ll_flag = dw_uc.Object.flag[uc_row]
  3711. IF ll_flag = 1 THEN
  3712. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  3713. RETURN
  3714. END IF
  3715. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  3716. IF dw_child.GETROW()=0 THEN
  3717. MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! )
  3718. RETURN
  3719. END IF
  3720. dw_child.DeleteRow (0)
  3721. dw_child.TriggerEvent (rowfocuschanged!)
  3722. end event
  3723. event ue_copyrow;Long uc_row,ll_flag
  3724. uc_row = dw_uc.GetRow()
  3725. IF uc_row <= 0 THEN
  3726. MessageBox('提示','请先选择单据', Information!, OK! )
  3727. RETURN
  3728. END IF
  3729. ll_flag = dw_uc.Object.flag[uc_row]
  3730. IF ll_flag = 1 THEN
  3731. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  3732. RETURN
  3733. END IF
  3734. long ll_childrow
  3735. ll_childrow = dw_child.GETROW()
  3736. IF ll_childrow=0 THEN
  3737. MESSAGEBOX('提示','请选择复制对象!', Information!, OK! )
  3738. RETURN
  3739. END IF
  3740. dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  3741. ds_copypaste.RowsCopy (1,1,Primary!,dw_child,dw_child.rowcount() + 1,Primary!)
  3742. ds_copypaste.reset()
  3743. dw_child.selectrow(0,false)
  3744. dw_child.setrow(dw_child.rowcount())
  3745. dw_child.scrolltorow(dw_child.rowcount())
  3746. dw_child.selectrow(dw_child.rowcount(),true)
  3747. end event
  3748. event ue_insertmx;Long uc_row,ll_flag
  3749. uc_row = dw_uc.GetRow()
  3750. IF uc_row <= 0 THEN
  3751. MessageBox('提示','请先选择单据', Information!, OK! )
  3752. RETURN
  3753. END IF
  3754. ll_flag = dw_uc.Object.flag[uc_row]
  3755. IF ll_flag = 1 THEN
  3756. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  3757. RETURN
  3758. END IF
  3759. long ll_childrow,li_row
  3760. ll_childrow = dw_child.getrow()
  3761. li_row = dw_child.insertrow(ll_childrow)
  3762. dw_child.selectrow(0,false)
  3763. dw_child.setrow(li_row)
  3764. dw_child.scrolltorow(li_row)
  3765. dw_child.selectrow(li_row,true)
  3766. end event
  3767. event ue_rpt_print;call super::ue_rpt_print;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN
  3768. MessageBox('提示',sys_msg_pow, Information!, OK! )
  3769. RETURN
  3770. END IF
  3771. Long row,uc_relid,ll_scid
  3772. row = dw_pageretr.GetRow()
  3773. IF row <= 0 THEN RETURN
  3774. uo_rpt_print_preview uo_print
  3775. S_rpt_print_MSG LS_PRMSG
  3776. IF dw_pageretr.RowCount() = 0 THEN
  3777. MessageBox('提示','没有可打印的单据!', Information!, OK! )
  3778. RETURN
  3779. END IF
  3780. IF ls_rpname = '' THEN RETURN
  3781. IF li_auditprint = 1 THEN
  3782. IF dw_pageretr.Object.flag[row] = 0 THEN
  3783. MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! )
  3784. RETURN
  3785. END IF
  3786. END IF
  3787. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  3788. LS_PRMSG.retr_pram_falg = 15
  3789. LS_PRMSG.TAG_TEXT = '采购收货单'
  3790. LS_PRMSG.rpname = ls_rpname
  3791. LS_PRMSG.FILTER_STRING = ''
  3792. LS_PRMSG.PAGECH_FLAG = 0
  3793. LS_PRMSG.rpid = ls_msgprintid_rpt
  3794. LS_PRMSG.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  3795. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  3796. LS_PRMSG.rowcnt = dw_child.RowCount()
  3797. uo_print.FACT_PRINT_MSG = LS_PRMSG
  3798. String arg_msg
  3799. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  3800. MessageBox("提示",arg_msg, Information!, OK! )
  3801. RETURN
  3802. END IF
  3803. uo_print.ds_print()
  3804. //**更新打印次料
  3805. printnum = message.doubleparm
  3806. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  3807. end event
  3808. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN
  3809. MessageBox('提示',sys_msg_pow, Information!, OK! )
  3810. RETURN
  3811. END IF
  3812. Long row,uc_relid,ll_scid
  3813. row = dw_pageretr.GetRow()
  3814. IF row = 0 THEN RETURN
  3815. IF ls_rpname = '' THEN RETURN
  3816. IF li_auditprint = 1 THEN
  3817. IF dw_pageretr.Object.flag[row] = 0 THEN
  3818. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  3819. RETURN
  3820. END IF
  3821. END IF
  3822. s_rpt_print_msg s_print
  3823. s_print.retr_pram_falg = 15
  3824. s_print.rpid = ls_msgprintid_rpt
  3825. s_print.retr_flag = TRUE
  3826. s_print.tag_text = THIS.Title
  3827. s_print.rpname = ls_rpname
  3828. s_print.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  3829. s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  3830. s_print.rowcnt = dw_child.RowCount()
  3831. OpenWithParm(w_rpt_preview,s_print)
  3832. //**更新打印次料
  3833. string arg_msg
  3834. printnum = message.doubleparm
  3835. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  3836. end event
  3837. type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_buy
  3838. end type
  3839. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_buy
  3840. end type
  3841. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_buy
  3842. integer x = 187
  3843. integer y = 188
  3844. integer width = 549
  3845. end type
  3846. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_buy
  3847. integer x = 2985
  3848. end type
  3849. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_buy
  3850. integer width = 320
  3851. end type
  3852. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_buy
  3853. integer x = 1819
  3854. integer y = 300
  3855. integer width = 1723
  3856. integer height = 1204
  3857. string dataobject = "dw_inware_buy_index"
  3858. end type
  3859. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  3860. wf_check_billfj()
  3861. if dw_edit_mode then return
  3862. if currentrow <=0 then
  3863. dw_child.reset()
  3864. return
  3865. end if
  3866. this.selectrow(0,false)
  3867. this.selectrow(currentrow,true)
  3868. dw_uc.setrow(currentrow)
  3869. dw_uc.scrolltorow (currentrow)
  3870. if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
  3871. end event
  3872. type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_buy
  3873. integer y = 208
  3874. string text = "编号含"
  3875. end type
  3876. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_buy
  3877. integer x = 3136
  3878. end type
  3879. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_buy
  3880. integer y = 300
  3881. integer width = 1819
  3882. integer height = 1212
  3883. string dataobject = "dw_inware_buy_edit"
  3884. end type
  3885. event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
  3886. IF Key = KeyDownArrow! THEN RETURN 1
  3887. IF dw_edit_mode THEN
  3888. IF dw_uc.GetColumnName ( ) = 'dscrp' And Key = KeyEnter! THEN
  3889. dw_child.SetFocus()
  3890. dw_child.ScrollToRow(dw_child.RowCount())
  3891. dw_child.SetColumn ('u_inwaremx_ifrel')
  3892. RETURN 1
  3893. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' And Key = KeyEnter! THEN
  3894. String ls_code,ls_name,ls_find_code
  3895. Long ls_sptid
  3896. Long cnt = 0
  3897. Boolean if_find = False
  3898. Long dftbanktypeid, dftmoneyid
  3899. dw_uc.AcceptText()
  3900. ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  3901. SELECT u_spt.sptid,
  3902. u_spt.name,
  3903. u_spt.sptcode,
  3904. dftbanktypeid,dftmoneyid
  3905. INTO :ls_sptid,:ls_name,:ls_code,:dftbanktypeid,:dftmoneyid
  3906. FROM u_spt
  3907. Where ( sptcode = :ls_code Or Name = :ls_code )
  3908. and inuse = 1;
  3909. IF sqlca.SQLCode <> 0 THEN
  3910. IF Pos(Trim(ls_code),'%') = 0 THEN
  3911. ls_find_code = '%'+ Trim(ls_code) + '%'
  3912. ELSE
  3913. ls_find_code = Trim(ls_code)
  3914. END IF
  3915. SELECT count(*) INTO :cnt
  3916. FROM u_spt
  3917. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code )
  3918. and inuse = 1;
  3919. IF sqlca.SQLCode <> 0 THEN
  3920. Parent.TriggerEvent('ue_f9')
  3921. RETURN 1
  3922. END IF
  3923. IF cnt <> 1 THEN
  3924. Parent.TriggerEvent('ue_f9')
  3925. RETURN 1
  3926. ELSE
  3927. SELECT u_spt.sptid,
  3928. u_spt.sptcode,
  3929. u_spt.name,
  3930. dftbanktypeid,dftmoneyid
  3931. INTO :ls_sptid,:ls_code,:ls_name,:dftbanktypeid,:dftmoneyid
  3932. FROM u_spt
  3933. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code )
  3934. and inuse = 1;
  3935. IF sqlca.SQLCode <> 0 THEN
  3936. Parent.TriggerEvent('ue_f9')
  3937. RETURN 1
  3938. ELSE
  3939. if_find = True
  3940. END IF
  3941. END IF
  3942. ELSE
  3943. if_find = True
  3944. END IF
  3945. IF if_find THEN
  3946. //重置dw_child
  3947. wf_change_sptid(ls_sptid)
  3948. dw_uc.SetRedraw(False)
  3949. dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid
  3950. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code
  3951. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  3952. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = dftbanktypeid
  3953. dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = dftmoneyid
  3954. dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = f_get_mrate( dftmoneyid)
  3955. dw_uc.SetRedraw(True)
  3956. dw_uc.SetColumn("indate")
  3957. RETURN 1
  3958. END IF
  3959. ELSE
  3960. IF Key = KeyEnter! THEN //
  3961. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  3962. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  3963. RETURN 1
  3964. END IF
  3965. END IF
  3966. END IF
  3967. end event
  3968. event dw_uc::doubleclicked;IF dw_edit_mode and row >0 THEN
  3969. if dwo.name='u_spt_sptcode' then parent.triggerevent('ue_f9')
  3970. END IF
  3971. end event
  3972. event dw_uc::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  3973. dw_uc.accepttext()
  3974. if dw_uc.getrow() <= 0 then return
  3975. IF dwo.Name = 'storageid' THEN
  3976. dw_child.Reset()
  3977. PARENT.TriggerEvent("insert_childrow")
  3978. elseif dwo.name = 'u_inware_relint_3' then
  3979. long ll_moneyid
  3980. ll_moneyid = dw_uc.object.u_inware_relint_3[dw_uc.getrow()]
  3981. dw_uc.setredraw(false)
  3982. dw_uc.object.u_inware_mrate[dw_uc.getrow()]=f_get_mrate(ll_moneyid)
  3983. dw_uc.setredraw(true)
  3984. END IF
  3985. //long ll_storageid,ll_if_plancode
  3986. //string st
  3987. //
  3988. //IF pos(dwo.Name , 'storageid') > 0 THEN
  3989. //
  3990. // ll_storageid = long(data)
  3991. // select if_plancode
  3992. // into :ll_if_plancode
  3993. // from u_storage
  3994. // where storageid = :ll_storageid;
  3995. //
  3996. // if ll_if_plancode = 0 then
  3997. // dw_child.modify('u_inwaremx_plancode.protect = 1')
  3998. // end if
  3999. //
  4000. // dw_child.Reset()
  4001. // PARENT.TriggerEvent("insert_childrow")
  4002. //END IF
  4003. end event
  4004. event dw_uc::clicked;call super::clicked;
  4005. IF row <= 0 THEN RETURN
  4006. IF dwo.Name = 'p_dview' THEN
  4007. Parent.TriggerEvent('ue_add_dscrp')
  4008. END IF
  4009. IF dw_edit_mode THEN
  4010. IF dwo.Name = 'p_p' THEN
  4011. Parent.TriggerEvent('ue_f9')
  4012. ELSEIF dwo.Name = 'p_money' THEN
  4013. Parent.TriggerEvent('ue_ch_money')
  4014. ELSEIF dwo.Name = 'p_banktype' THEN
  4015. Parent.TriggerEvent('ue_ch_banktype')
  4016. END IF
  4017. END IF
  4018. end event
  4019. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_buy
  4020. end type
  4021. type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_buy
  4022. integer y = 1220
  4023. integer width = 3543
  4024. integer height = 796
  4025. string dataobject = "dw_inwaremx_buy_edit"
  4026. end type
  4027. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  4028. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_unit_buy,ls_mtrlsectype,ls_zxmtrlmode,ls_mtrltype
  4029. Long ls_mtrlid,ll_sptid,ls_taskid,ls_orderid,ll_storageid
  4030. Dec ls_lmbuyprice,ls_planprice
  4031. Dec ls_lastprice,ls_rebate,ld_rate_buy
  4032. String ls_buytaskcode
  4033. String ls_prdpackcode
  4034. Decimal ls_packqty,ls_nofinishqty
  4035. Long i_mtrlid,i_sptid
  4036. String i_mtrlcode,i_status,i_woodcode,i_pcode
  4037. Decimal i_price,i_zqrate
  4038. s_mtrldef_array arg_s_mtrldef
  4039. String ls_sptmtrlname
  4040. Long child_row
  4041. Long ls_null
  4042. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  4043. SetNull(ls_null)
  4044. IF dw_edit_mode THEN
  4045. dw_uc.AcceptText()
  4046. ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  4047. IF ll_storageid = 0 OR IsNull(ll_storageid) THEN
  4048. MessageBox('提示','请先选择仓库', Information!, OK! )
  4049. RETURN
  4050. END IF
  4051. ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  4052. IF IsNull(ll_sptid) OR ll_sptid = 0 THEN
  4053. PARENT.TriggerEvent("ue_f9")
  4054. END IF
  4055. IF KeyDown(keydownarrow!) THEN
  4056. Long li_row
  4057. IF dw_child.GetRow() = dw_child.RowCount() THEN
  4058. PARENT.TriggerEvent("insert_childrow")
  4059. END IF
  4060. ELSE
  4061. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  4062. IF sys_option_pos_jsbarcode <> '' THEN
  4063. ls_mtrlcode = sys_option_pos_jsbarcode
  4064. GOTO find_mtrl
  4065. END IF
  4066. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  4067. dw_child.AcceptText()
  4068. child_row = dw_child.GetRow()
  4069. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  4070. ls_buytaskcode = dw_child.Object.u_inwaremx_relcode[child_row]
  4071. IF dw_child.Object.u_inwaremx_ifrel[child_row] = 1 THEN
  4072. SELECT u_mtrldef.mtrlid,
  4073. u_mtrldef.mtrlname,
  4074. u_mtrldef.unit,
  4075. u_mtrldef.unit_buy,
  4076. u_mtrldef.rate_buy,
  4077. u_mtrldef.planprice,
  4078. u_mtrldef.mtrlmode,
  4079. u_mtrldef.prdpackcode,
  4080. u_mtrldef.packqty ,
  4081. u_buytask.taskid ,
  4082. u_buytaskmx.qty - u_buytaskmx.consignedqty,
  4083. u_buytaskmx.orderid,
  4084. u_mtrldef.statusflag,
  4085. u_mtrldef.woodcodeflag,
  4086. u_mtrldef.pcodeflag,
  4087. u_mtrldef.mtrltype
  4088. INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_unit_buy,
  4089. :ld_rate_buy,:ls_planprice,
  4090. :ls_mtrlmode,:ls_prdpackcode,:ls_packqty,:ls_taskid,
  4091. :ls_nofinishqty,:ls_orderid,
  4092. :li_statusflag,:li_woodcodeflag,:li_pcodeflag,:ls_mtrltype
  4093. FROM u_mtrldef,u_buytaskmx,u_buytask
  4094. WHERE ( u_mtrldef.mtrlid = u_buytaskmx.mtrlid )
  4095. AND ( u_buytask.taskcode = :ls_buytaskcode )
  4096. AND ( u_mtrldef.mtrlcode = :ls_mtrlcode )
  4097. AND ( u_buytask.taskid = u_buytaskmx.taskid )
  4098. AND ( u_buytask.scid = u_buytaskmx.scid )
  4099. And ( u_buytask.status = 1 );
  4100. IF sqlca.SQLCode = 100 THEN
  4101. dw_child.Object.u_inwaremx_relid[child_row] = 0
  4102. PARENT.TriggerEvent('ue_f7')
  4103. RETURN 1
  4104. END IF
  4105. ELSE
  4106. find_mtrl:
  4107. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  4108. PARENT.TriggerEvent('ue_f8')
  4109. RETURN 1
  4110. ELSE
  4111. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  4112. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  4113. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  4114. ls_unit = arg_s_mtrldef.unit[1]
  4115. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  4116. ls_planprice = arg_s_mtrldef.planprice[1]
  4117. ls_lmbuyprice = arg_s_mtrldef.lmbuyprice[1]
  4118. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  4119. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  4120. ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1]
  4121. ls_mtrltype = arg_s_mtrldef.mtrltype[1]
  4122. ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1]
  4123. li_statusflag = arg_s_mtrldef.statusflag[1]
  4124. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  4125. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  4126. END IF
  4127. END IF
  4128. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = ls_orderid
  4129. dw_child.Object.u_inwaremx_relid[child_row] = ls_taskid
  4130. dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
  4131. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  4132. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  4133. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  4134. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  4135. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  4136. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  4137. dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype
  4138. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  4139. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  4140. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  4141. dw_child.Object.u_inwaremx_status[child_row] = arg_s_mtrldef.status[1]
  4142. dw_child.Object.u_inwaremx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  4143. dw_child.Object.u_inwaremx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  4144. string ls_plancode
  4145. ls_plancode = f_get_newplancode(ll_storageid)
  4146. dw_child.Object.u_inwaremx_plancode[child_row] = ls_plancode
  4147. Decimal ld_wareqty
  4148. String ls_msg
  4149. ld_wareqty = 0
  4150. IF wf_get_wareqty(ls_mtrlid,ls_mtrlmode,ld_wareqty,ls_msg) = 0 THEN
  4151. MessageBox('提示',ls_msg, Information!, OK! )
  4152. END IF
  4153. dw_child.Object.wareqty[child_row] = ld_wareqty
  4154. sys_option_pos_jsbarcode = ''
  4155. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  4156. String arg_msg
  4157. String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  4158. ls_status = dw_child.Object.u_inwaremx_status[child_row]
  4159. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  4160. ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  4161. ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  4162. IF cur_editfocus = 1 THEN
  4163. 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
  4164. Int Mtrlorigin
  4165. SELECT u_mtrldef.Mtrlorigin
  4166. INTO :Mtrlorigin
  4167. FROM u_mtrldef
  4168. Where mtrlid = :ls_mtrlid;
  4169. IF sqlca.SQLCode <> 0 THEN
  4170. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  4171. ELSE
  4172. IF Mtrlorigin > 0 THEN
  4173. dw_child.Object.u_inwaremx_uprice[child_row] = ls_lmbuyprice
  4174. ELSE
  4175. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  4176. END IF
  4177. END IF
  4178. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  4179. IF ls_unit_buy = '' THEN
  4180. dw_child.Object.u_inwaremx_rate[child_row] = 1
  4181. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  4182. ELSE
  4183. dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  4184. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  4185. END IF
  4186. ELSE
  4187. dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  4188. IF ls_1stzqrate = 0 THEN
  4189. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  4190. ELSE
  4191. dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  4192. END IF
  4193. dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  4194. dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  4195. END IF
  4196. ELSE
  4197. IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  4198. IF ls_unit_buy = '' THEN
  4199. dw_child.Object.u_inwaremx_rate[child_row] = 1
  4200. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  4201. ELSE
  4202. dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  4203. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  4204. END IF
  4205. END IF
  4206. END IF
  4207. THIS.AcceptText( )
  4208. IF uo_sptprice.uf_getmtrlname(ll_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  4209. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  4210. END IF
  4211. PARENT.TriggerEvent('ue_allowedit')
  4212. IF Key = keyenter! THEN
  4213. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  4214. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  4215. RETURN 1
  4216. END IF
  4217. ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_rebate' THEN
  4218. dw_child.AcceptText()
  4219. dw_uc.AcceptText()
  4220. i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  4221. i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  4222. i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  4223. i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  4224. i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  4225. i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  4226. i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  4227. i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  4228. ls_unit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  4229. 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
  4230. MessageBox("提示",arg_msg, Information!, OK! )
  4231. dw_child.SetFocus()
  4232. dw_child.SetColumn("u_inwaremx_uprice")
  4233. RETURN 1
  4234. ELSE
  4235. dw_child.SetFocus()
  4236. dw_child.SetColumn("u_inwaremx_plancode")
  4237. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  4238. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  4239. RETURN 1
  4240. END IF
  4241. ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN
  4242. PARENT.TriggerEvent("insert_childrow")
  4243. RETURN 1
  4244. ELSEIF dw_child.GetColumnName() = "u_inwaremx_status" OR dw_child.GetColumnName() = "u_inwaremx_woodcode" OR dw_child.GetColumnName() = "u_inwaremx_pcode" THEN
  4245. dw_child.AcceptText()
  4246. dw_uc.AcceptText()
  4247. i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  4248. i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  4249. i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  4250. i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  4251. i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  4252. i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  4253. i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  4254. i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  4255. ls_1stunit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  4256. ls_unit = dw_child.Object.u_mtrldef_unit[dw_child.GetRow()]
  4257. // dw_child.Object.u_inwaremx_unit[child_row]
  4258. 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
  4259. dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = ls_1stnewcost
  4260. IF ls_1stzqrate = 0 THEN
  4261. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1
  4262. ELSE
  4263. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = ls_1stzqrate
  4264. END IF
  4265. dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = ls_1strate
  4266. dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = ls_1stunit
  4267. ELSE
  4268. dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = 0
  4269. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1
  4270. END IF
  4271. THIS.AcceptText()
  4272. IF uo_sptprice.uf_getmtrlname(i_sptid,i_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  4273. dw_child.Object.u_inwaremx_sptmtrlname[dw_child.GetRow()] = ls_sptmtrlname
  4274. END IF
  4275. IF Key = keyenter! THEN
  4276. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  4277. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  4278. RETURN 1
  4279. END IF
  4280. ELSE
  4281. IF Key = keyenter! THEN
  4282. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  4283. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  4284. RETURN 1
  4285. END IF
  4286. END IF
  4287. END IF
  4288. END IF
  4289. END IF
  4290. end event
  4291. event dw_child::doubleclicked;string ls_text
  4292. IF dwo.Name = 'u_inwaremx_mxdscrp' THEN
  4293. PARENT.TriggerEvent('ue_view_mxdscrp')
  4294. RETURN
  4295. ELSEIF dwo.Name = 'u_inwaremx_mxdscrp2' THEN
  4296. PARENT.TriggerEvent('ue_view_mxdscrp2')
  4297. RETURN
  4298. ELSEIF dwo.Name = 'u_inwaremx_mxdscrp3' THEN
  4299. PARENT.TriggerEvent('ue_view_mxdscrp3')
  4300. RETURN
  4301. ELSEIF dwo.Name = 'u_inwaremx_mxdscrp4' THEN
  4302. PARENT.TriggerEvent('ue_view_mxdscrp4')
  4303. RETURN
  4304. END IF
  4305. dw_child.AcceptText()
  4306. IF dw_edit_mode THEN
  4307. IF row > 0 THEN
  4308. CHOOSE CASE dwo.Name
  4309. CASE 'u_inwaremx_uqty','u_inwaremx_formula'
  4310. Parent.TriggerEvent('ue_cmpl_qty')
  4311. CASE 'u_inwaremx_unit'
  4312. Parent.TriggerEvent('ue_f10')
  4313. CASE 'u_inwaremx_addqty'
  4314. Parent.TriggerEvent('ue_f11')
  4315. CASE 'u_inwaremx_sptid_cusid', 'u_cust_cuscode', 'u_cust_name'
  4316. Parent.TriggerEvent('ue_ch_cust')
  4317. CASE 'u_inwaremx_status' , 'u_inwaremx_woodcode', 'u_inwaremx_pcode'
  4318. string name
  4319. name =dwo.name
  4320. PARENT.trigger event ue_view_status(row,name)
  4321. CASE ELSE
  4322. IF dw_child.Object.u_inwaremx_ifrel[row] = 1 THEN
  4323. Parent.TriggerEvent('ue_f7')
  4324. ELSE
  4325. Parent.TriggerEvent('ue_f8')
  4326. END IF
  4327. Parent.TriggerEvent('ue_get_maxprice')
  4328. END CHOOSE
  4329. ELSE
  4330. Parent.TriggerEvent('ue_f8')
  4331. END IF
  4332. END IF
  4333. end event
  4334. event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
  4335. This.AcceptText()
  4336. IF dwo.Name = 'u_inwaremx_ifrel' THEN
  4337. IF This.Object.u_inwaremx_ifrel[row] = 0 THEN
  4338. dw_child.Object.u_inwaremx_relid[row] = 0
  4339. dw_child.Object.u_buytask_taskcode[row] = ''
  4340. dw_child.Object.u_inwaremx_relcode[row] = ''
  4341. END IF
  4342. ELSEIF dwo.Name = 'u_inwaremx_buyqty' THEN
  4343. String ls_protect
  4344. ls_protect = This.Describe( 'u_inwaremx_uqty.protect')
  4345. IF ls_protect = '0' THEN
  4346. This.Object.u_inwaremx_uqty[row] = This.Object.u_inwaremx_buyqty[row]
  4347. wf_cmpl_amt(row)
  4348. END IF
  4349. 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
  4350. wf_cmpl_amt(row)
  4351. ELSEIF dwo.Name = 'u_inwaremx_packqty' THEN
  4352. Long ll_mtrlid
  4353. Decimal lde_packqty_single, lde_packqty, lde_rate
  4354. IF ii_packqty_cmpl = 1 THEN
  4355. ll_mtrlid = This.Object.u_inwaremx_mtrlid[row]
  4356. lde_packqty_single = f_get_packqty(ll_mtrlid)
  4357. lde_packqty = This.Object.u_inwaremx_packqty[row]
  4358. lde_rate = This.Object.u_inwaremx_rate[row]
  4359. IF lde_rate = 0 THEN lde_rate = 1
  4360. This.Object.u_inwaremx_qty[row] = lde_packqty * lde_packqty_single
  4361. This.Object.u_inwaremx_buyqty[row] = lde_packqty * lde_packqty_single / lde_rate
  4362. This.Object.u_inwaremx_uqty[row] = lde_packqty * lde_packqty_single / lde_rate
  4363. //This.Object.u_inwaremx_saleqty[row] = lde_packqty * lde_packqty_single / lde_rate
  4364. END IF
  4365. END IF
  4366. end event
  4367. event dw_child::itemfocuschanged;call super::itemfocuschanged;dw_child.AcceptText()
  4368. //IF row > 0 THEN
  4369. // dw_child.AcceptText()
  4370. //
  4371. // //由金额计算单价
  4372. // IF sys_option_outware_if_buyqty = 0 THEN
  4373. // IF cbx_enamt_edit.Checked THEN
  4374. // IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
  4375. // IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
  4376. // 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]
  4377. // END IF
  4378. // END IF
  4379. // ELSE
  4380. // 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)
  4381. // END IF
  4382. // ELSE
  4383. // IF cbx_enamt_edit.Checked THEN
  4384. // IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
  4385. // IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
  4386. // 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]
  4387. // END IF
  4388. // END IF
  4389. // ELSE
  4390. // 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)
  4391. // END IF
  4392. // END IF
  4393. //END IF
  4394. end event
  4395. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_buy
  4396. end type
  4397. type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_buy
  4398. end type
  4399. type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_buy
  4400. end type
  4401. event cb_add::clicked;IF Not (f_power_ind(99) Or f_power_ind(372)) THEN
  4402. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4403. RETURN
  4404. END IF
  4405. String arg_msg = ''
  4406. Long uc_row,pagerert_row
  4407. Long relid_pageretr,reld_uc,j, i
  4408. Int rslt_chk
  4409. string ll_errorprintid
  4410. s_inwaremx s_mx
  4411. IF Not dw_edit_mode THEN
  4412. IF wf_check_print(arg_msg) = 0 THEN
  4413. MessageBox('提示',arg_msg, Information!, OK! )
  4414. RETURN
  4415. END IF
  4416. END IF
  4417. IF dw_edit_mode THEN
  4418. dw_uc.AcceptText()
  4419. dw_child.AcceptText()
  4420. uc_row = dw_uc.GetRow()
  4421. IF uc_row <= 0 THEN
  4422. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  4423. RETURN
  4424. END IF
  4425. IF Not dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN
  4426. MessageBox('提示','不合理发生时间!', Information!, OK! )
  4427. dw_uc.SetFocus()
  4428. dw_uc.SetColumn("indate")
  4429. RETURN
  4430. END IF
  4431. IF Not Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN
  4432. MessageBox('提示','请填写经手人!', Information!, OK! )
  4433. dw_uc.SetFocus()
  4434. dw_uc.SetColumn("inrep")
  4435. RETURN
  4436. END IF
  4437. IF dw_uc.Object.u_inware_relint_1[uc_row] = 0 THEN
  4438. MessageBox('提示','请选择结算方式', Information!, OK! )
  4439. dw_uc.SetFocus()
  4440. dw_uc.SetColumn("u_inware_relint_1")
  4441. RETURN
  4442. END IF
  4443. IF dw_uc.Object.u_inware_relint_3[uc_row] = 0 THEN
  4444. MessageBox('提示','请选择币种', Information!, OK! )
  4445. dw_uc.SetFocus()
  4446. dw_uc.SetColumn("u_inware_relint_3")
  4447. RETURN
  4448. END IF
  4449. IF dw_uc.Object.u_inware_otheramt[uc_row] <> 0 And Not Len(String(dw_uc.Object.dscrp[uc_row])) > 0 THEN
  4450. MessageBox('提示','请在备注栏注明扣减费用!', Information!, OK! )
  4451. dw_uc.SetFocus()
  4452. dw_uc.SetColumn("dscrp")
  4453. RETURN
  4454. END IF
  4455. 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)
  4456. IF rslt_chk = 0 Or rslt_chk = 2 THEN
  4457. MessageBox('系统提示',arg_msg)
  4458. RETURN
  4459. ELSEIF rslt_chk = 3 THEN
  4460. IF MessageBox('询问',arg_msg,question!,yesno!) = 2 THEN RETURN
  4461. END IF
  4462. //由金额计算单价
  4463. IF cbx_enamt_edit.Checked THEN
  4464. FOR i = 1 To dw_child.RowCount()
  4465. IF dw_child.Object.u_inwaremx_uamt[i] <> 0 THEN
  4466. IF sys_option_outware_if_buyqty = 0 THEN
  4467. IF dw_child.Object.u_inwaremx_rebate[i] <> 0 And dw_child.Object.u_inwaremx_uqty[i] <> 0 THEN
  4468. 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]
  4469. dw_child.Object.u_inwaremx_uprice_notax[i] = dw_child.Object.u_inwaremx_uprice[i] / ( 1 + dw_child.Object.u_inwaremx_tax[i] ) //不含税单价=单价/(1+税率)
  4470. END IF
  4471. ELSE
  4472. IF dw_child.Object.u_inwaremx_rebate[i] <> 0 And dw_child.Object.u_inwaremx_buyqty[i] <> 0 THEN
  4473. 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]
  4474. dw_child.Object.u_inwaremx_uprice_notax[i] = dw_child.Object.u_inwaremx_uprice[i] / ( 1 + dw_child.Object.u_inwaremx_tax[i] ) //不含税单价=单价/(1+税率)
  4475. END IF
  4476. END IF
  4477. END IF
  4478. NEXT
  4479. END IF
  4480. //输入不含税价
  4481. IF cbx_enamt_notax_edit.Checked THEN
  4482. FOR i = 1 To dw_child.RowCount()
  4483. wf_cmpl_amt(i)
  4484. NEXT
  4485. END IF
  4486. ll_errorprintid = ''
  4487. FOR j = 1 To dw_child.RowCount()
  4488. IF Not f_power_ind(128) THEN
  4489. IF dw_child.Object.u_inwaremx_ifrel[j] = 1 And dw_child.Object.u_inwaremx_relid[j] = 0 THEN
  4490. MessageBox('提示','用户权限限制,请选择订单,第'+String(j)+'行', Information!, OK! )
  4491. RETURN
  4492. END IF
  4493. IF dw_child.Object.u_inwaremx_ifrel[j] = 0 And dw_child.Object.u_inwaremx_uqty[j] > 0 THEN
  4494. MessageBox('提示','用户权限限制,请选择订单,第'+String(j)+'行', Information!, OK! )
  4495. RETURN
  4496. END IF
  4497. END IF
  4498. IF dw_child.Object.u_inwaremx_ifrel[j] = 1 And dw_child.Object.u_inwaremx_uqty[j] < 0 THEN
  4499. MessageBox('提示','收货单要输入正数', Information!, OK! )
  4500. RETURN
  4501. END IF
  4502. IF dw_child.Object.u_inwaremx_uprice[j] = 0 THEN ll_errorprintid = ll_errorprintid + ',' + String(j)
  4503. // IF MessageBox ("询问",'明细第'+String(j)+'行存在单价为0,是否继续?',question!,yesno! ) = 2 THEN RETURN
  4504. // END IF
  4505. IF dw_child.Object.u_inwaremx_unit[j] = '' THEN
  4506. dw_child.Object.u_inwaremx_unit[j] = dw_child.Object.u_mtrldef_unit[j]
  4507. dw_child.Object.u_inwaremx_rate[j] = 1
  4508. END IF
  4509. NEXT
  4510. IF ll_errorprintid <> '' THEN
  4511. ll_errorprintid = right(ll_errorprintid,len(ll_errorprintid)-1)
  4512. IF MessageBox ("询问",'明细第'+ll_errorprintid+'行存在单价为0,是否继续?',question!,yesno! ) = 2 THEN RETURN
  4513. END IF
  4514. IF wf_check_qtyandaddqty(arg_msg) = 0 THEN
  4515. MessageBox('提示',arg_msg + ',不能保存!',Information!,OK!)
  4516. RETURN
  4517. END IF
  4518. //限价模式 选了计划价 询问
  4519. IF sys_option_buylimit_ifbj = 4 THEN
  4520. IF wf_check_planprice(arg_msg) = 0 THEN
  4521. IF MessageBox('询问',arg_msg,question!,yesno!) = 2 THEN RETURN
  4522. END IF
  4523. END IF
  4524. //276 采购收货单保存时,供应商名称自动填写到“配置”里
  4525. IF sys_option_inwarebuy_autospt = 1 THEN
  4526. String ls_sptname
  4527. ls_sptname = Trim(dw_uc.Object.u_spt_name[uc_row] )
  4528. FOR i = 1 To dw_child.RowCount()
  4529. dw_child.Object.u_inwaremx_status[i] = ls_sptname
  4530. NEXT
  4531. dw_child.AcceptText()
  4532. END IF
  4533. uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
  4534. uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
  4535. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  4536. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  4537. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  4538. uo_ware.sptid = dw_uc.Object.sptid[uc_row]
  4539. uo_ware.otheramt = dw_uc.Object.u_inware_otheramt[uc_row]
  4540. uo_ware.relint_1 = dw_uc.Object.u_inware_relint_1[uc_row]
  4541. uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row]
  4542. uo_ware.thflag = 0
  4543. uo_ware.relint_3 = dw_uc.Object.u_inware_relint_3[uc_row]
  4544. uo_ware.mrate = dw_uc.Object.u_inware_mrate[uc_row]
  4545. uo_ware.viewdate = dw_uc.Object.viewdate[uc_row]
  4546. FOR i = 1 To dw_child.RowCount()
  4547. IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  4548. s_mx.printid = dw_child.Object.printid[i]
  4549. s_mx.mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  4550. s_mx.mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
  4551. s_mx.plancode = dw_child.Object.u_inwaremx_plancode[i]
  4552. s_mx.status = dw_child.Object.u_inwaremx_status[i]
  4553. s_mx.buyqty = dw_child.Object.u_inwaremx_buyqty[i]
  4554. s_mx.uqty = dw_child.Object.u_inwaremx_uqty[i]
  4555. s_mx.addqty = dw_child.Object.u_inwaremx_addqty[i]
  4556. s_mx.packqty = dw_child.Object.u_inwaremx_packqty[i]
  4557. s_mx.uprice = dw_child.Object.u_inwaremx_uprice[i]
  4558. s_mx.tax = dw_child.Object.u_inwaremx_tax[i]
  4559. s_mx.rebate = dw_child.Object.u_inwaremx_rebate[i]
  4560. s_mx.mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[i]
  4561. s_mx.jgprice = 0
  4562. s_mx.relid = dw_child.Object.u_inwaremx_relid[i]
  4563. s_mx.relprintid = dw_child.Object.u_inwaremx_relprintid[i]
  4564. s_mx.ifrel = dw_child.Object.u_inwaremx_ifrel[i]
  4565. s_mx.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  4566. s_mx.pcode = dw_child.Object.u_inwaremx_pcode[i]
  4567. s_mx.mtrlcuscode = ''
  4568. s_mx.sptid = dw_child.Object.u_inwaremx_sptid_cusid[i]
  4569. s_mx.unit = dw_child.Object.u_inwaremx_unit[i]
  4570. s_mx.rate = dw_child.Object.u_inwaremx_rate[i]
  4571. s_mx.formula = dw_child.Object.u_inwaremx_formula[i]
  4572. s_mx.waredscrp = dw_child.Object.u_inwaremx_waredscrp[i]
  4573. s_mx.inworkdate = dw_child.Object.u_inwaremx_inworkdate[i]
  4574. s_mx.uprice_notax = dw_child.Object.u_inwaremx_uprice_notax[i] //不含税单价
  4575. s_mx.mxdscrp2 = dw_child.Object.u_inwaremx_mxdscrp2[i]
  4576. s_mx.mxdscrp3 = dw_child.Object.u_inwaremx_mxdscrp3[i]
  4577. s_mx.mxdscrp4 = dw_child.Object.u_inwaremx_mxdscrp4[i]
  4578. s_mx.uamt_tax = dw_child.Object.u_inwaremx_uamt_tax[i]
  4579. IF uo_ware.acceptmx(s_mx,arg_msg) = 0 THEN
  4580. MessageBox('错误',arg_msg,stopsign!,OK!)
  4581. RETURN
  4582. END IF
  4583. END IF
  4584. NEXT
  4585. IF uo_ware.Save(True,arg_msg) = 0 THEN
  4586. MessageBox('错误',arg_msg, stopsign!, OK! )
  4587. RETURN
  4588. END IF
  4589. // MessageBox('提示','保存操作成功!')
  4590. //write ini
  4591. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  4592. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()]))
  4593. f_SetProfileString (sys_empid,dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()]))
  4594. //
  4595. Long ll_row
  4596. ll_row = dw_pageretr.GetRow()
  4597. dw_pageretr.SelectRow(0,False)
  4598. dw_pageretr.SelectRow(ll_row,True)
  4599. wf_refresh_curuc(cur_scid,uo_ware.inwareid) //刷新uc
  4600. String ls_taskcode
  4601. ls_taskcode = dw_pageretr.Object.inwarecode[dw_pageretr.GetRow()]
  4602. IF f_billevent_trigger (403, 2, ls_taskcode, arg_msg) = 0 THEN
  4603. MessageBox('Error',arg_msg)
  4604. END IF
  4605. ELSE
  4606. IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN
  4607. MessageBox('错误',arg_msg, stopsign!, OK! )
  4608. RETURN
  4609. END IF
  4610. END IF
  4611. CALL Super::Clicked
  4612. //read ini
  4613. IF dw_edit_mode THEN
  4614. Parent.TriggerEvent("insert_childrow")
  4615. dw_uc.SetRedraw(False)
  4616. String ls_storageid,ls_banktype,ls_moneyid
  4617. IF sys_option_hide_ware = 1 THEN
  4618. ls_storageid = '11'
  4619. ELSE
  4620. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  4621. IF f_find_storageid(ls_storageid) = '' THEN
  4622. ls_storageid = '0'
  4623. END IF
  4624. END IF
  4625. ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  4626. ls_moneyid = f_ProfileString (sys_empid,dw_uc.DataObject, "moneyid",'11')
  4627. dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = Long(ls_moneyid)
  4628. dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
  4629. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  4630. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = Long(ls_banktype)
  4631. dw_uc.Object.inrep[dw_uc.GetRow()] = publ_operator
  4632. dw_uc.Object.u_inware_scid[dw_uc.GetRow()] = cur_scid
  4633. dw_uc.Object.viewdate[dw_uc.GetRow()] = relativedate(today(), 1 - day(today()))
  4634. IF sys_option_hide_ware = 1 THEN
  4635. dw_uc.SetColumn("indate")
  4636. ELSE
  4637. dw_uc.SetColumn("storageid")
  4638. END IF
  4639. dw_uc.SetRedraw(True)
  4640. cur_editfocus = 1
  4641. // wf_lock_plancode(long(ls_storageid))
  4642. ELSE
  4643. Parent.TriggerEvent("retrieve_childdw")
  4644. cur_editfocus = 0
  4645. END IF
  4646. //
  4647. end event
  4648. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_buy
  4649. end type
  4650. event cb_edit::clicked;IF Not (f_power_ind(99) OR f_power_ind(372)) THEN
  4651. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4652. RETURN
  4653. END IF
  4654. String arg_msg = ''
  4655. Long uc_row,ll_storageid
  4656. uc_row = dw_pageretr.GetRow()
  4657. IF uc_row <= 0 THEN
  4658. MessageBox('系统提示','请选定当前目标单据!', Information!, OK! )
  4659. RETURN
  4660. END IF
  4661. ll_storageid = dw_pageretr.Object.storageid[uc_row]
  4662. IF NOT dw_edit_mode THEN
  4663. IF uo_ware.updatebegin(dw_pageretr.Object.u_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],1,arg_msg) = 0 THEN
  4664. MessageBox('Error!',arg_msg)
  4665. RETURN
  4666. END IF
  4667. this.triggerevent('ue_allowedit')
  4668. // wf_lock_plancode(ll_storageid)
  4669. END IF
  4670. CALL SUPER::Clicked
  4671. IF dw_edit_mode THEN
  4672. cur_editfocus = 2
  4673. ELSE
  4674. cur_editfocus = 0
  4675. END IF
  4676. end event
  4677. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_buy
  4678. end type
  4679. event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(592) OR f_power_ind(584)) THEN
  4680. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4681. RETURN
  4682. END IF
  4683. String arg_msg = ''
  4684. IF dw_edit_mode THEN RETURN
  4685. Long uc_row
  4686. uc_row = dw_pageretr.GetRow()
  4687. IF uc_row <= 0 THEN
  4688. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  4689. RETURN
  4690. END IF
  4691. IF MessageBox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN
  4692. IF uo_ware.del(dw_pageretr.Object.u_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],arg_msg,TRUE) = 0 THEN
  4693. MessageBox('error!',arg_msg)
  4694. ELSE
  4695. //日志
  4696. Long ls_id
  4697. String ls_code
  4698. ls_id = dw_pageretr.Object.inwareid[uc_row]
  4699. ls_code = dw_pageretr.Object.inwarecode[uc_row]
  4700. f_setsysoplog('采购收货单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  4701. //--
  4702. MessageBox('提示','删除单据'+String(dw_pageretr.Object.inwarecode[uc_row])+'成功!', Information!, OK! )
  4703. dw_pageretr.DeleteRow(uc_row)
  4704. dw_pageretr.PostEvent(RowFocusChanged!)
  4705. END IF
  4706. end event
  4707. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_buy
  4708. end type
  4709. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  4710. String menustr
  4711. IF NOT dw_edit_mode THEN
  4712. menustr = "Text=增加备注~tEvent=ue_addzy"
  4713. menustr += "|" + "Text=修改备注~tEvent=ue_editzy"
  4714. menustr += "|" + "Text=修改相关号~tEvent=ue_mod_relcode"
  4715. menustr += "|" + "Text=修改结算方式~tEvent=ue_mod_banktype"
  4716. menustr += "|" + "Text=修改优惠款~tEvent=ue_mod_otheramt"
  4717. menustr += "|" + "Text=-"
  4718. menustr += "|" + "Text=复制单据~tEvent=ue_bill_copy"
  4719. menustr += "|" + "Text=-"
  4720. menustr += "|" + "Text=查看附件~tEvent=ue_fj_view"
  4721. menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit"
  4722. menustr += "|" + "Text=刷新附件数量~tEvent=retrieve_fjnum"
  4723. menustr += "|" + "Text=-"
  4724. menustr += "|" + "Text=辅助建立报价单~tEvent=ue_create_spt_price_change"
  4725. menustr += "|" + "Text=-"
  4726. menustr += "|" + "Text=确认~tEvent=ue_priceaudit"
  4727. menustr += "|" + "Text=反确认~tEvent=ue_cpriceaudit"
  4728. menustr += "|" + "Text=-"
  4729. menustr += "|" + "Text=全选~tEvent=ue_all_choice"
  4730. menustr += "|" + "Text=全不选~tEvent=ue_allnot_choice"
  4731. menustr += "|" + "Text=批仓审核(选中的)~tEvent=ue_all_audit"
  4732. menustr += "|" + "Text=批仓撤审(选中的)~tEvent=ue_allnot_audit"
  4733. menustr += "|" + "Text=批删除(选中的)~tEvent=ue_all_delete"
  4734. menustr += "|" + "Text=批财撤(选中的)~tEvent=ue_all_c_secaudit"
  4735. menustr += "|" + "Text=-"
  4736. //menustr += "|" + "Text=辅助建立客户收款结算单~tEvent=ue_create_bmstamt"
  4737. menustr += "|" + "Text=辅助建立付款结算单~tEvent=ue_create_bmstamt"
  4738. ELSE
  4739. menustr += "|" + "Text=辅助计算~tEvent=ue_cpml_qty"
  4740. menustr += "|" + "Text=辅助计算辅数~tEvent=ue_cmpl_addqty"
  4741. menustr += "|" + "Text=-"
  4742. menustr += "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  4743. END IF
  4744. IF Len(Trim(menustr)) <> 0 THEN
  4745. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  4746. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  4747. dmPopupMenu.mf_PopMenu()
  4748. DESTROY dmPopupMenu
  4749. END IF
  4750. end event
  4751. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_inware_buy
  4752. end type
  4753. event cb_auditing::clicked;call super::clicked;String ls_taskcode
  4754. String ls_msg = ''
  4755. long rslt = 1
  4756. IF dw_edit_mode THEN RETURN
  4757. IF Not KeyDown(KeyControl!) THEN
  4758. String arg_msg = ''
  4759. Long pagerert_row
  4760. ls_msg = '审核'
  4761. pagerert_row = dw_pageretr.GetRow()
  4762. IF pagerert_row <= 0 THEN
  4763. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  4764. RETURN
  4765. END IF
  4766. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  4767. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  4768. MessageBox('错误',arg_msg, StopSign!, OK! )
  4769. RETURN
  4770. END IF
  4771. IF sys_option_hide_ware = 0 THEN
  4772. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  4773. IF Not (f_power_ind(66) Or f_power_ind(103)) THEN
  4774. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4775. RETURN
  4776. END IF
  4777. //检查是否超订单数进仓
  4778. IF wf_check_over(arg_msg) = 0 THEN
  4779. MessageBox('提示',arg_msg, Information!, OK!)
  4780. RETURN
  4781. END IF
  4782. ls_msg = '仓库审核'
  4783. IF uo_ware.auditing(True,arg_msg) = 0 THEN
  4784. rslt = 0
  4785. GOTO ext
  4786. ELSE
  4787. ls_taskcode = dw_pageretr.Object.inwarecode[dw_pageretr.GetRow()]
  4788. IF f_billevent_trigger (403, 3, ls_taskcode, arg_msg) = 0 THEN
  4789. MessageBox('Error',arg_msg)
  4790. END IF
  4791. END IF
  4792. ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
  4793. IF Not (f_power_ind(813) ) THEN
  4794. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4795. RETURN
  4796. END IF
  4797. ls_msg = '财务审核'
  4798. IF uo_ware.secauditing(True,arg_msg) = 0 THEN
  4799. rslt = 0
  4800. GOTO ext
  4801. END IF
  4802. END IF
  4803. ELSE
  4804. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  4805. IF Not (f_power_ind(813) ) THEN
  4806. MessageBox('提示',sys_msg_pow,Information!,OK!)
  4807. RETURN
  4808. END IF
  4809. IF uo_ware.auditing(False,arg_msg) = 0 THEN
  4810. rslt = 0
  4811. GOTO ext
  4812. END IF
  4813. IF uo_ware.secauditing(True,arg_msg) = 0 THEN
  4814. rslt = 0
  4815. GOTO ext
  4816. END IF
  4817. END IF
  4818. END IF
  4819. ext:
  4820. IF rslt = 0 THEN
  4821. MessageBox('错误',arg_msg,StopSign!,OK!)
  4822. ELSE
  4823. MessageBox('提示',ls_msg+'成功!',Information!,OK!)
  4824. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  4825. END IF
  4826. ELSE
  4827. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  4828. Long ll_i,ll_billid, ll_scid
  4829. Int li_flag,li_secflag
  4830. Long ll_suc,ll_fail
  4831. // Int ll_flag,ll_secflag
  4832. dw_pageretr.AcceptText()
  4833. li_flag = dw_pageretr.Object.flag[dw_pageretr.GetRow()]
  4834. li_secflag = dw_pageretr.Object.u_inware_secflag[dw_pageretr.GetRow()]
  4835. Open(w_sys_wait_jdt) //初始化进度条
  4836. w_sys_wait_jdt.Show()
  4837. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  4838. IF li_flag = 0 THEN
  4839. IF Not (f_power_ind(66) Or f_power_ind(103)) THEN
  4840. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4841. RETURN
  4842. END IF
  4843. FOR ll_i = 1 To dw_pageretr.RowCount()
  4844. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  4845. li_flag = dw_pageretr.Object.flag[ll_i]
  4846. IF li_flag = 1 THEN CONTINUE
  4847. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  4848. ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
  4849. ls_taskcode = dw_pageretr.Object.inwarecode[ll_i]
  4850. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  4851. ll_fail++
  4852. CONTINUE
  4853. END IF
  4854. IF uo_ware.auditing(True,arg_msg) = 0 THEN
  4855. ll_fail++
  4856. CONTINUE
  4857. END IF
  4858. ll_suc++
  4859. IF f_billevent_trigger (403, 3, ls_taskcode, arg_msg) = 0 THEN
  4860. ls_msg += arg_msg + '~r~n'
  4861. END IF
  4862. w_sys_wait_jdt.wf_inc(ll_i) //进度
  4863. NEXT
  4864. Close(w_sys_wait_jdt)
  4865. MessageBox('提示','仓库批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail) + ls_msg, Information!, OK! )
  4866. ELSEIF li_flag = 1 And li_secflag = 0 THEN
  4867. IF Not (f_power_ind(813) ) THEN
  4868. MessageBox('提示',sys_msg_pow, Information!, OK!)
  4869. RETURN
  4870. END IF
  4871. FOR ll_i = 1 To dw_pageretr.RowCount()
  4872. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  4873. li_flag = dw_pageretr.Object.flag[ll_i]
  4874. li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
  4875. If (li_flag = 0 And li_secflag = 0) Or li_secflag = 1 THEN CONTINUE
  4876. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  4877. ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
  4878. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  4879. ll_fail++
  4880. CONTINUE
  4881. END IF
  4882. IF uo_ware.secauditing(True,arg_msg) = 0 THEN
  4883. ll_fail++
  4884. CONTINUE
  4885. END IF
  4886. ll_suc++
  4887. w_sys_wait_jdt.wf_inc(ll_i) //进度
  4888. NEXT
  4889. Close(w_sys_wait_jdt)
  4890. MessageBox('提示','财务批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  4891. END IF
  4892. Parent.TriggerEvent('retrieve_pageretr')
  4893. END IF
  4894. end event
  4895. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_buy
  4896. end type
  4897. event cb_xm::clicked;is_mx_menustr = ''
  4898. IF dw_edit_mode THEN
  4899. // is_mx_menustr = is_mx_menustr + "|" + "Text=仓审后修改单价~tEvent=ue_mod_price"
  4900. // is_mx_menustr += "|" + "Text=-"
  4901. is_mx_menustr += "|" + "Text=批设定公式~tEvent=ue_p_formula_set"
  4902. is_mx_menustr += "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty"
  4903. is_mx_menustr += "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  4904. is_mx_menustr += "|" + "Text=批设数量为0~tEvent=ue_cmpl_set0"
  4905. is_mx_menustr += "|" + "Text=-"
  4906. is_mx_menustr += "|" + "Text=批设定客户~tEvent=ue_p_cus_set"
  4907. is_mx_menustr += "|" + "Text=-"
  4908. is_mx_menustr += "|" + "Text=导入单价~tEvent=ue_import_price"
  4909. is_mx_menustr += "|" + "Text=-"
  4910. is_mx_menustr += "|" + "Text=明细标题与execl标题对应关系设置~tEvent=ue_set_dytitle"
  4911. is_mx_menustr += "|" + "Text=从execl导入到订单明细~tEvent=ue_insert_execltodw"
  4912. is_mx_menustr += "|" + "Text=-"
  4913. is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax"
  4914. is_mx_menustr += "|" + "Text=按第一行批设税率~tEvent=ue_set_tax"
  4915. ELSE
  4916. is_mx_menustr += "|" + "Text=仓审后修改单价~tEvent=ue_mod_price"
  4917. IF sys_option_outware_if_buyqty = 1 THEN
  4918. is_mx_menustr += "|" + "Text=仓审后修改收货数量~tEvent=ue_mod_buyqty"
  4919. END IF
  4920. END IF
  4921. CALL Super::Clicked
  4922. // w_dytitle_inwarebuy
  4923. end event
  4924. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_buy
  4925. end type
  4926. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_buy
  4927. end type
  4928. type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_buy
  4929. end type
  4930. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_buy
  4931. end type
  4932. event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  4933. String ls_code,ls_opemp,ls_outpart
  4934. String arg_msg = ''
  4935. Long pagerert_row,ls_id
  4936. Long rslt = 1
  4937. String ls_msg
  4938. pagerert_row = dw_pageretr.GetRow()
  4939. IF pagerert_row <= 0 THEN
  4940. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  4941. RETURN
  4942. END IF
  4943. IF MessageBox ("询问","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  4944. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid [pagerert_row],arg_msg) = 0 THEN
  4945. MessageBox('错误',arg_msg)
  4946. RETURN
  4947. END IF
  4948. ls_msg = "撤审"
  4949. IF sys_option_hide_ware = 0 THEN
  4950. IF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
  4951. IF Not (f_power_ind(877) Or f_power_ind(878)) THEN
  4952. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4953. RETURN
  4954. END IF
  4955. ls_msg = '仓库撤审'
  4956. IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
  4957. rslt = 0
  4958. GOTO ext
  4959. END IF
  4960. ELSEIF dw_pageretr.Object.u_inware_secflag[pagerert_row] = 1 And dw_pageretr.Object.flag[pagerert_row] = 1 THEN
  4961. IF Not (f_power_ind(881) ) THEN
  4962. MessageBox('提示',sys_msg_pow, Information!, OK! )
  4963. RETURN
  4964. END IF
  4965. ls_msg = '财务撤审'
  4966. IF uo_ware.c_secauditing(True,arg_msg) = 0 THEN
  4967. rslt = 0
  4968. GOTO ext
  4969. END IF
  4970. END IF
  4971. ELSE
  4972. IF dw_pageretr.Object.u_inware_secflag[pagerert_row] = 1 THEN
  4973. IF Not (f_power_ind(881) ) THEN
  4974. MessageBox('提示',sys_msg_pow,Information!,OK!)
  4975. RETURN
  4976. END IF
  4977. IF uo_ware.c_secauditing(False,arg_msg) = 0 THEN
  4978. rslt = 0
  4979. GOTO ext
  4980. END IF
  4981. IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
  4982. rslt = 0
  4983. GOTO ext
  4984. END IF
  4985. END IF
  4986. END IF
  4987. ext:
  4988. IF rslt = 0 THEN
  4989. MessageBox('错误',arg_msg,StopSign!,OK!)
  4990. ELSE
  4991. MessageBox('提示',ls_msg+'成功!',Information!,OK!)
  4992. //日志
  4993. ls_code = dw_pageretr.Object.inwarecode[pagerert_row]
  4994. ls_opemp = dw_pageretr.Object.u_inware_opemp[pagerert_row]
  4995. ls_outpart = dw_pageretr.Object.part[pagerert_row]
  4996. f_setsysoplog('采购收货单',ls_msg+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
  4997. //--
  4998. wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row])
  4999. END IF
  5000. end event
  5001. type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_buy
  5002. end type
  5003. type p_help from w_publ_1ton_share_detail`p_help within w_inware_buy
  5004. end type
  5005. type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_buy
  5006. end type
  5007. type p_other from w_publ_1ton_share_detail`p_other within w_inware_buy
  5008. end type
  5009. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_buy
  5010. end type
  5011. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_buy
  5012. end type
  5013. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_buy
  5014. end type
  5015. type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_buy
  5016. end type
  5017. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_buy
  5018. end type
  5019. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_buy
  5020. end type
  5021. type ddlb_scid from uo_ddlb_scid within w_inware_buy
  5022. integer x = 919
  5023. integer y = 192
  5024. integer width = 549
  5025. integer height = 1120
  5026. integer taborder = 20
  5027. boolean bringtotop = true
  5028. end type
  5029. event constructor;call super::constructor;cur_scid=this.uo_scid
  5030. cur_scid_arr = THIS.uo_scid_arr
  5031. end event
  5032. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  5033. cur_scid_arr = THIS.uo_scid_arr
  5034. parent.triggerevent("retrieve_pageretr")
  5035. end event
  5036. type st_3 from statictext within w_inware_buy
  5037. integer x = 1481
  5038. integer y = 208
  5039. integer width = 192
  5040. integer height = 48
  5041. integer textsize = -9
  5042. integer weight = 400
  5043. fontcharset fontcharset = gb2312charset!
  5044. fontpitch fontpitch = variable!
  5045. string facename = "宋体"
  5046. long textcolor = 33554432
  5047. long backcolor = 134217739
  5048. string text = "状 态"
  5049. boolean focusrectangle = false
  5050. end type
  5051. type st_2 from statictext within w_inware_buy
  5052. integer x = 741
  5053. integer y = 208
  5054. integer width = 192
  5055. integer height = 48
  5056. integer textsize = -9
  5057. integer weight = 400
  5058. fontcharset fontcharset = gb2312charset!
  5059. fontpitch fontpitch = variable!
  5060. string facename = "宋体"
  5061. long textcolor = 33554432
  5062. long backcolor = 134217739
  5063. string text = "分 部"
  5064. boolean focusrectangle = false
  5065. end type
  5066. type cbx_enamt_edit from checkbox within w_inware_buy
  5067. integer x = 3214
  5068. integer y = 12
  5069. integer width = 795
  5070. integer height = 80
  5071. boolean bringtotop = true
  5072. integer textsize = -9
  5073. integer weight = 400
  5074. fontcharset fontcharset = gb2312charset!
  5075. fontpitch fontpitch = variable!
  5076. string facename = "宋体"
  5077. long textcolor = 33554432
  5078. long backcolor = 134217739
  5079. string text = "录入金额计算单价"
  5080. end type
  5081. event clicked;IF THIS.Checked THEN
  5082. ii_enamt_edit = 1
  5083. ELSE
  5084. ii_enamt_edit = 0
  5085. END IF
  5086. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit))
  5087. //parent.triggerevent("ue_allowedit")
  5088. IF ii_enamt_edit = 0 THEN
  5089. dw_child.Modify('u_inwaremx_uamt.protect = 1~t u_inwaremx_uamt.Color = 0')
  5090. dw_child.Modify('u_inwaremx_uamt_t.Color = 0')
  5091. ELSE
  5092. dw_child.Modify('u_inwaremx_uamt.protect = 0~t u_inwaremx_uamt.Color = "0~trgb(0,0,255)"')
  5093. dw_child.Modify('u_inwaremx_uamt_t.Color = "0~trgb(0,0,255)"')
  5094. END IF
  5095. end event
  5096. event constructor;this.backcolor = 14215660
  5097. ii_enamt_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",'0'))
  5098. IF ii_enamt_edit = 1 THEN
  5099. THIS.Checked = TRUE
  5100. ELSE
  5101. THIS.Checked = FALSE
  5102. END IF
  5103. end event
  5104. type ddlb_status from uo_ddlb_status within w_inware_buy
  5105. integer x = 1664
  5106. integer y = 192
  5107. integer height = 812
  5108. integer taborder = 30
  5109. boolean bringtotop = true
  5110. string item[] = {"[全部]","待仓审","待财审","已审核"}
  5111. end type
  5112. event selectionchanged;call super::selectionchanged;PARENT.TriggerEvent('retrieve_pageretr')
  5113. end event
  5114. event uof_getvalue;IF this.text = "[全部]" THEN
  5115. cur_flag = -1
  5116. cur_secflag = -1
  5117. //ELSEIF this.text = "待确认" THEN
  5118. // cur_flag = -1
  5119. // cur_secflag = -1
  5120. ELSEIF this.text = "待仓审" THEN
  5121. cur_flag = 0
  5122. cur_secflag = -1
  5123. ELSEIF this.text = "待财审" THEN
  5124. cur_flag = 1
  5125. cur_secflag = 0
  5126. ELSEIF this.text = "已审核" THEN
  5127. cur_flag = 1
  5128. cur_secflag = 1
  5129. END IF
  5130. end event
  5131. type cbx_packqty_cmpl from checkbox within w_inware_buy
  5132. integer x = 3209
  5133. integer y = 96
  5134. integer width = 576
  5135. integer height = 60
  5136. boolean bringtotop = true
  5137. integer textsize = -9
  5138. integer weight = 400
  5139. fontcharset fontcharset = gb2312charset!
  5140. fontpitch fontpitch = variable!
  5141. string facename = "宋体"
  5142. long textcolor = 33554432
  5143. long backcolor = 134217739
  5144. string text = "录入包装数计算数量"
  5145. end type
  5146. event clicked;IF THIS.Checked THEN
  5147. ii_packqty_cmpl = 1
  5148. ELSE
  5149. ii_packqty_cmpl = 0
  5150. END IF
  5151. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",String(ii_packqty_cmpl))
  5152. end event
  5153. event constructor;this.backcolor = 14215660
  5154. ii_packqty_cmpl = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",'0'))
  5155. IF ii_packqty_cmpl = 1 THEN
  5156. THIS.Checked = TRUE
  5157. ELSE
  5158. THIS.Checked = FALSE
  5159. END IF
  5160. //this.y = cbx_enamt_edit.y
  5161. //this.x = cbx_enamt_edit.x + cbx_enamt_edit.width + 10
  5162. end event
  5163. type cbx_enamt_notax_edit from checkbox within w_inware_buy
  5164. integer x = 3822
  5165. integer y = 92
  5166. integer width = 535
  5167. integer height = 60
  5168. boolean bringtotop = true
  5169. integer textsize = -9
  5170. integer weight = 400
  5171. fontcharset fontcharset = gb2312charset!
  5172. fontpitch fontpitch = variable!
  5173. string facename = "宋体"
  5174. long textcolor = 33554432
  5175. long backcolor = 134217739
  5176. string text = "录入不含税单价"
  5177. end type
  5178. event clicked;IF THIS.Checked THEN
  5179. ii_enamt_notax_edit = 1
  5180. ELSE
  5181. ii_enamt_notax_edit = 0
  5182. END IF
  5183. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit))
  5184. wf_enamt_facechg()
  5185. end event
  5186. event constructor;this.backcolor = 14215660
  5187. ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0'))
  5188. IF ii_enamt_notax_edit = 1 THEN
  5189. THIS.Checked = TRUE
  5190. ELSE
  5191. THIS.Checked = FALSE
  5192. END IF
  5193. wf_enamt_facechg()
  5194. //
  5195. end event
  5196. type cbx_all from checkbox within w_inware_buy
  5197. integer x = 2149
  5198. integer y = 196
  5199. integer width = 219
  5200. integer height = 64
  5201. boolean bringtotop = true
  5202. integer textsize = -9
  5203. integer weight = 400
  5204. fontcharset fontcharset = gb2312charset!
  5205. fontpitch fontpitch = variable!
  5206. string facename = "宋体"
  5207. long textcolor = 33554432
  5208. long backcolor = 134217739
  5209. string text = "全选"
  5210. end type
  5211. event clicked;Int i
  5212. If This.Checked = True Then
  5213. For i = 1 To dw_pageretr.RowCount()
  5214. dw_pageretr.Object.ch[i] = 1
  5215. Next
  5216. Else
  5217. For i = 1 To dw_pageretr.RowCount()
  5218. dw_pageretr.Object.ch[i] = 0
  5219. Next
  5220. End If
  5221. end event
  5222. event constructor;
  5223. this.y = p_msg.y
  5224. this.x = ddlb_status.x + ddlb_status.width + 20
  5225. end event