#Include BL.Derde.Kennis.AutoRes #include BL.Derde.KlantSpecifiek NieuweProductOffertelijn G VerwerkProduct ; MODULE REGISTREREN PRODUKTLIJNEN OFFERTES (BEP. PROD.); Quit naar %F10 - Do naar KF31 - Go naar KOF0A [ 07/03/2003 11:11 AM ] OpmMuntNietToegelaten S MSG="MUNT KLANT NIET TOEGELATEN VOOR "_UOU G ToonOpmerkingEnExit OpmProductZonderMunt S MSG="GEEN MUNTKODE VOOR DIT PRODUKT" G ToonOpmerkingEnExit OpmNormaalGeen8Producten S MSG="EEN NORMALE OFFERTE MAG GEEN 8-PRODUKTEN BEVATTEN" G ToonOpmerkingEnExit OpmAfroepEnkelStock S MSG="EEN AFROEP OFFERTE MAG ENKEL STOCKPRODUKTEN BEVATTEN" G ToonOpmerkingEnExit OpmContractGeenStock S MSG="EEN CONTRAKT OFFERTE MAG GEEN STOCKPRODUKTEN BEVATTEN" G ToonOpmerkingEnExit OpmKlantgebondenEnkel8Producten S MSG="EEN KLANTGEBONDEN OFFERTE KAN ENKEL 8-PRODUKTEN BEVATTEN" G ToonOpmerkingEnExit OpmGeen7Producten S MSG="EEN OFFERTE MAG GEEN 7-PRODUKTEN BEVATTEN" G ToonOpmerkingEnExit ToonOpmerkingEnExit S SW12=1,FP=2403+F60 W @F,@F2,@F4,MSG," [] = OK ",@F5,@F0 R K G Exit VerwerkProduct N BackGrnd,NoSa,CIFPPL,VervangProd I $D(Aantal),$D(Prijs),$D(Korting1),$D(Korting2),$D(LevTerm) S BackGrnd=1 E K Aantal,Prijs,Korting1,Korting2,LevTerm S BackGrnd=0 K A S SW25=1,SW12=0,X=@("^"_Q_UGL_"(KC,US,UR,1)"),UVM=$P(X,D,18) S NoSa=$$NoSa^FLOWOFF(KC,UR) S UTYP=$P(X,D,25) S:UTYP="D" UTYP="" G OpmMuntNietToegelaten:'$$CHKMUNT^FLOW(UVM) G SelectProduct:K="." I K?4.7N,$D(^KPR(K)) S PR=K G ZoekVervangProduct S K=K_" " I '$D(@("^"_Q_"PR1(K)")) S K=$$SELECT^PRODUKT6("","",K,"","NODO;NOKP",,,,KC,1) S:'K K="-" G Exit:K="-" S PR=K G ZoekVervangProduct S PR=$P(@("^"_Q_"PR1(K)"),D,1) G ZoekVervangProduct SelectProduct D ^Flow.SelecteerProduct G Exit:K="-" ZoekVervangProduct New PrijsInfo S (PR,K)=$$CheckVervangProduct^FLOWPROD(PR,KC,.VervangProd) I 'PR,$G(VervangProd) S (PR,K)=$P(VervangProd,";") Set:$P(VervangProd,";",2) Mirror=$P(VervangProd,";",2) I 'K S K="-" G Exit S R=$P(^KPR(PR,0),D,3) I $L(R),R'?4.7N D G Exit:K="-",ZoekVervangProduct .N PROld .S PROld=PR,R="S K=$$GENERATE^"_R_"(KC,PR)" .X R .S PR=K S:K=PROld!'K K="-" S R=$P(^KPR(PR,0),D,23) I R="K",KC'=$$$KlantHalux S R=$P(^KPR(PR,0),D),R=$$^vhTXTPOP("FLOWORD","VERKKIND","",R) G Exit:'R I $E(R)="H",KC'=$$$KlantHalux S R=$P(^KPR(PR,0),D),R=$$^vhTXTPOP("FLOWORD","VERKHALFFABR","",R) G Exit:'R S R=##class(CHUI.Derde.Kennis.Kennis).KlantProductUnRead(KC,PR,$LB($$$adOrderVerwerkingIngave),1,"OFF",UR) G Exit:R="ANNULEER" S UA=0,X=@("^"_Q_"PR(PR,0)"),PC=$P(X,D,1) S X=^(1),UE=$P(X,D,12),PSN=$P(X,D,20),ULT="" G Exit:'$$IsCommAkt^PRODUKT2(PR,KC) S X=@("^"_Q_"PR(PR,2)"),PID=$P(X,D,25) I 'BackGrnd D ProductIdentificatie G OpmGeen7Producten:$E(PID)=7 Set IsToevoegingSpiegelProduct = $D(Mirror) S R=$$CHKSOPR^FLOW(KC,PR,"order",BackGrnd,IsToevoegingSpiegelProduct) G Exit:'R I R>999 S PR=R G ZoekVervangProduct I $$IsKSKlant(KC),'$$ISPROD^KS(PR),'$$ISHALUX^PRODUKT2(PR),$E($$SORTKEY^PRODUKT(PR),3,4)'="DE" G Exit:'$$TXTPOP^KS("NOKSPROD","",0,1) ;,Exit:'$$ASK^vhWACHTW("MANAGER",,,0) I 'PSN,UTYP="A" G OpmAfroepEnkelStock S X=$N(@("^"_Q_"PR(PR,""J"")")) S X=^(X),PLL=$P(X,D,7),UMC=$P(X,D,17) G OpmProductZonderMunt:"I"[UMC #dim PrijsInfo As APPS.VKP.dto.PrijsInfo = $$KLANTPRObject^KPRIJS(KC,PR,$G(NoSa)) Set UEP = PrijsInfo.Prijs Set UMC = PrijsInfo.Munt Set AFA = PrijsInfo.GrootteOrde Set PLP = PrijsInfo.LijstPrijs Set PK1 = PrijsInfo.KortingPercentage1 Set PK2 = PrijsInfo.KortingPercentage2 Set KKD = PrijsInfo.PrijsCodex Set PKP = PrijsInfo.PrijsBerekingManier Set UPAR = PrijsInfo.Pariteit Set USP = PrijsInfo.AfrondingRegel Set AFE = PrijsInfo.GrootteOrdeNumeriek Set CIFPPL = PrijsInfo.AankoopprijsInEuro I $D(Prijs) Do .I $L(Prijs),+Prijs'=+UEP S Korting1=$J(1-(Prijs/PLP)*100,0,1),Korting2="" .S:$L(Prijs) UEP=Prijs S:$L(Korting1) PK1=Korting1 S:$L(Korting2) PK2=Korting2 I "\C\P\"'[(D_$$PRIJSKL^KLANT(KC,PR,$G(NoSa))_D),'$$CHKPRIJS^KPRIJS(PR,PLP,UEP,AFE,UPAR,CIFPPL,,,,,,KC) G Exit S ULT=1 S:'PSN ULT=$$ListToPieces^vhLib(blLeveringsTermijn.GetLeverTermijn(PR),"#") I $L($G(LevTerm)) S ULT=LevTerm E D:BackGrnd ProductIdentificatie S BackGrnd=0 Set PLP = $J(PLP,1,##class(APPS.VKP.OrderlijnPrijsBepaler).GeefAantalDecimalen()) Set UEP = $J(UEP,1,##class(APPS.VKP.OrderlijnPrijsBepaler).GeefAantalDecimalen()) Set:PSN ULT = "." S R=PSN_D_D_D_$P(X,D,6)_D_ULT_D_$P(X,D,14,16)_D_UMC_D_AFA_D_PLP_D_PK1_D_PK2_D_PKP_D_UEP_D_KKD_D_PLL_D I BackGrnd S BackGrnd=R E D ^KOF02 S BackGrnd="" G VerwerkInput^Flow.Offerte.NieuweProductOffertelijnInput Exit K AFA,AFE,AFR,KPC,KKD,UPAR,MSG,PKP,PLL,PST,PB,PC,PR,PK1,PK2,PGV,PNV,PKV,PLP,PPL,PID,PRE,PSN,PVK,PY K Q15,S,SW25,U2,UE,UN,UAF,UOD,UOR,UVM,X,UTYP L @("^"_Q_UGL_"(KC,US,UR)") Q ProductIdentificatie S FP=UL*100+1 W @F,@F1 Do ##class(CHUI.ToolKit).ProductHoofding(19,PR) Q Ingave(Aantal,Prijs,Korting1,Korting2,LevTerm) I '$L(Aantal),'$L(Prijs),'$L(Korting1),'$L(Korting2),'$L(LevTerm) K Aantal,Prijs,Korting1,Korting2,LevTerm G VerwerkProduct Q IsKSKlant(KLNr) New KlantID #dim KlantID As DOM.VKP.VanHoeckeKlantID = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantPartijID(KLNr) Quit '(##class(DOM.DomeinContext).Instance().GeefKlantTypeAPI().IsIndustriePoolKlant(KlantID))