#include Prod.Product #include vhLib.Macro #include %occInclude #include BL.Derde.KlantSpecifiek #define Node 1 q /* / 1. Opslaan van alle oude data / Do STORE^PVDeDecker / Dubbels verwijderen (PRBXKA, PROD) / 2. Prijsuitz aanpassen voor laden op maat / Copieren van Schaduw naar Huidig / LA-MON -> 46% / Toevoegen BINNELADEN / 3. Aanpassen van de GAData en de bouwstenen / Do REBUILD^PVDeDecker / Do ALLPRODKEY^PVDeDecker / 4. Herrekenen van de prijs / Do RECALC^PVDeDeckere */ RESET Kill LOProd,LOAll Set KLNr=$$$KlantDedecker Merge LOProd=^PVDeDecker($$$Node,"LOProd") Merge LOAll=^PVDeDecker($$$Node,"LOAll") Set MPRNr="" For Set MPRNr=$O(^PVDeDecker("CORR",MPRNr)) Quit:MPRNr="" Do .Do RESETONE(MPRNr) q EXCEL(Ref) Do . New Ref . Set D="\",Q="K",U=";" . Set QU="PV",QU(1)=17,QU(2)="Paul Verhulst" . Do ^cA604 . Set KLNr=$$$KlantDedecker Set PRNr=$P(Ref,"/",1) Set Corr=$TR($P(Ref,"/",2),",",".") d WLIP^vhDBG(15,PRNr_" "_Corr) Set ^PVDeDecker("CORR",PRNr)=Corr Quit "stored" RESETONE(PRNr) Set Key=20100521.9999 Set Found=0 Write !,PRNr,$$$PRGet($$$KortTekst) If $$$PRGet($$$NONAktief) Write " NON AKTIEF" Quit Set Corr=^PVDeDecker("CORR",PRNr) Set PPL=$$$PRGet($$$PPLMTL) Write Corr," - old ppl",PPL If (Corr<-10)||(Corr>10) Write "CORR FOUTIEF" r K Quit Do ModPRBS(PRNr,Corr) Set KLNr=$$$KlantDedecker Set PrijsRec=$$KLANTPR^KPRIJS(KLNr,PRNr) ;zonder cif Write " newVKP",$P(PrijsRec,"\",1) r K Quit RESETONEold(PRNr) Set Key=20100521.9999 Set Found=0 Write !,PRNr,$$$PRGet($$$KortTekst) If $$$PRGet($$$NONAktief) Write " NON AKTIEF" Quit For Set Key=$O(^DLOG("K","PR",PRNr,Key),-1) Quit:Key<20100521 Do Quit:Found . Set Log=^DLOG("K","PR",PRNr,Key) . Set:$P(Log,"\",2)="J19" Found=1 If 'Found Do Quit . Write " Not Found in LOG" Set OldPPL=$P(Log,"\",3) Set NewPPL=$P(Log,"\",4) Set Corr=OldPPL-NewPPL Set PPL=$$$PRGet($$$PPLMTL) Write " ",OldPPL,"-",NewPPL,"=",Corr," - ",PPL If (Corr<-10)||(Corr>10) Write "CORR FOUTIEF" r K Quit Do ModPRBS(PRNr,Corr) l r K Quit TransHalfFabr(PRNr) ;559.5001B K LI V20 ZN -> EP Set:PRNr=120209 PRNr=539643 Set:PRNr=120212 PRNr=539665 ;558.2701B K LI V20 ZN 558.2701B K LI*7608* ZN Set:PRNr=124339 PRNr=275148 ;558.2701B K RE V20 ZN 558.2701B K RE*7608* ZN Set:PRNr=124340 PRNr=275150 ;ZSF.3902 FROB V500 BL ZSF.3902 FROB*1170* B Set:PRNr=19114 PRNr=76804 Quit:PRNr=61101 "" ; afdekkap Quit:PRNr=478609 "" ; afdekkap Quit:PRNr=425591 "" ; afdekkap Quit:PRNr=46805 "" ; frontsteun winkelhaakje Quit PRNr MetDeHand(PRNr) Quit:"539679;539695;539709;539710"[PRNr 1 ;INTIVO SPOELBAK met reling Quit:"511053;511055;511116;511117;511118;511119;511120;511121;511122;511123;511124;511125;511126;511127;511128;511129;512524;512526;512528;"[PRNr -1 ; oude producten Quit 0 Set1 Kill LOProd,LOAll Set KLNr=$$$KlantDedecker Merge LOProd=^PVDeDecker($$$Node,"LOProd") Merge LOAll=^PVDeDecker($$$Node,"LOAll") Set MPRNr="" For Set MPRNr=$O(LOProd(MPRNr)) Quit:MPRNr="" Do . Do $$$ProductSet(MPRNr,$$$MinimumBestelHoeveelheid,1) q ALLPRODKEY Kill LOProd,LOAll Set KLNr=$$$KlantDedecker Merge LOProd=^PVDeDecker($$$Node,"LOProd") Merge LOAll=^PVDeDecker($$$Node,"LOAll") Kill ^PVDeDecker($$$Node,"KEY") Set MPRNr="" For Set MPRNr=$O(LOProd(MPRNr)) Quit:MPRNr="" Do . Do CleanPRBS(MPRNr) . Quit:$P(LOProd(MPRNr),"\",16)'?1(1"P",1"S") ; geen offertes, met hand, error . Do:$$MetDeHand(MPRNr)=-1 $$$ProductSet(MPRNr,$$$NONAktief,1) ; oude producten . Quit:$$MetDeHand(MPRNr) . Quit:$$$ProductGet(MPRNr,$$$NONAktief)=1 . Set VKP=$P(LOProd(MPRNr),"\",14) . Set AKP=$P(LOProd(MPRNr),"\",13) . Set PrijsRec=$$KLANTPR^KPRIJS(KLNr,MPRNr) ;zonder cif . Set NewAKP=$P(PrijsRec,"\",13)/(1.02) ;zonder cif . Set OneKorting=$$OneKorting^KPRIJS($P(PrijsRec,"\",5),$P(PrijsRec,"\",6))/100 ;zonder cif . Set HFPRNr="" . Set (KSom,KSomAll)=0 . For Set HFPRNr=$O(LOProd(MPRNr,HFPRNr)) Quit:HFPRNr="" Do . . Set KPRNrTrans=$$TransHalfFabr(HFPRNr) . . Set KPrijs=$$KLANTPR^KPRIJS(KLNr,$S(KPRNrTrans:KPRNrTrans,1:HFPRNr)) . . Set KSomAll=KSomAll+($P(KPrijs,"\",14)*$LG($G(LOProd(MPRNr,HFPRNr)))) . . Quit:KPRNrTrans="" . . Set KSom=KSom+($P(KPrijs,"\",14)*$LG($G(LOProd(MPRNr,HFPRNr)))) . If KSom>.2 Do ; heeft losse onderdelen . . Set NewVKP=VKP-KSom . . Set NewAKPCorr=NewVKP/(1-OneKorting)*(1-.52) . . Set CorrAKP=NewAKPCorr-NewAKP . . Set ProductKey=$$ProductKey(MPRNr) . . Set ^PVDeDecker($$$Node,"KEY",ProductKey,MPRNr)=CorrAKP . . Write !,MPRNr,*9,$$$ProductGet(MPRNr,$$$KortTekst) . . Write *9,$$$ExcelNum(VKP),*9,$$$ExcelNum(KSomAll),*9,$$$ExcelNum(KSom),*9,$$$ExcelNum(NewVKP) . . Write *9,$$$ExcelNum(NewAKP),*9,$$$ExcelNum(NewAKPCorr),*9,$$$ExcelNum(CorrAKP) . . ;r k Quit CntProductKey(MPRNr) New Key,Cnt Set Key=$$ProductKey(MPRNr) Set Cnt=0 Set MPRNr="" For Set MPRNr=$O(^PVDeDecker($$$Node,"KEY",Key,MPRNr)) Quit:MPRNr="" Set Cnt=Cnt+1 Quit Cnt MaxCorr(MPRNr) New Key,Max Set Key=$$ProductKey(MPRNr) Set Max=999 Set MPRNr="" For Set MPRNr=$O(^PVDeDecker($$$Node,"KEY",Key,MPRNr)) Quit:MPRNr="" Set:Max>$P(^PVDeDecker($$$Node,"KEY",Key,MPRNr),"\") Max=$P(^PVDeDecker($$$Node,"KEY",Key,MPRNr),"\") Quit Max ProductKey(MPRNr) New BSKey,PRKeys,IB,DK,HFPRNr Set BSKey="" Set PRKeys="" For Set BSKey=$O(^PRBS("BS",MPRNr,BSKey)) Quit:BSKey="" Do . Set HFPRNr=$P(^PRBS("BS",MPRNr,BSKey),"\",1) . Quit:HFPRNr'?4.7N . Set PRKeys=PRKeys_";"_HFPRNr Set IB=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",MPRNr,"IB")) ; Internebreedte Set DK=0 ;$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",MPRNr,"DK")) ; Draagkracht Set PRKeys=DK_";"_IB_"\"_PRKeys Quit PRKeys RECALC Set Dev=0 Set Dev=$$OPEN^vhDEV(,"DeDeckerJB.txt","W","T") Use Dev Kill LOProd,LOAll Set KLNr=$$$KlantDedecker Merge LOProd=^PVDeDecker($$$Node,"LOProd") Merge LOAll=^PVDeDecker($$$Node,"LOAll") Do WriteRecalcHeadVKP(.LOAll) Do WriteRecalcHeadLabel(.LOAll) Set MPRNr="" For Set MPRNr=$O(LOProd(MPRNr)) Quit:MPRNr="" Do . Do RecalcOne(MPRNr) Do CLOSE^vhDEV(Dev) Quit RecalcOne(MPRNr) Quit:$$$ProductGet(MPRNr,$$$NONAktief)=1 Do CleanPRBS(MPRNr) Quit:$P(LOProd(MPRNr),"\",16)'?1(1"P",1"S",1"ERROR") ; geen offertes, error Set VKP=$P(LOProd(MPRNr),"\",14) Set AKP=$P(LOProd(MPRNr),"\",13) Set PrijsRec=$$KLANTPR^KPRIJS(KLNr,MPRNr) ;zonder cif Set NewAKP=$P(PrijsRec,"\",13)/(1.02) ;zonder cif Set OneKorting=$$OneKorting^KPRIJS($P(PrijsRec,"\",5),$P(PrijsRec,"\",6))/100 ;zonder cif Set HFPRNr="" Set (KSom,KSomAll)=0 For Set HFPRNr=$O(LOProd(MPRNr,HFPRNr)) Quit:HFPRNr="" Do . Set KPRNrTrans=$$TransHalfFabr(HFPRNr) . Set KPrijs=$$KLANTPR^KPRIJS(KLNr,$S(KPRNrTrans:KPRNrTrans,1:HFPRNr)) . Set KSomAll=KSomAll+($P(KPrijs,"\",14)*$LG($G(LOProd(MPRNr,HFPRNr)))) . Quit:KPRNrTrans="" . Set KSom=KSom+($P(KPrijs,"\",14)*$LG($G(LOProd(MPRNr,HFPRNr)))) Set ProductKey=$$ProductKey(MPRNr) Set IdentCnt=$$CntProductKey(MPRNr) Write !,MPRNr,*9,$$$ProductGet(MPRNr,$$$KortTekst),*9,$$DISP^PAKKET(KLNr,MPRNr),*9,$S($$MetDeHand(MPRNr)=1:"MET DE HAND",1:$P(LOProd(MPRNr),"\",16)),*9,ProductKey,*9,IdentCnt,*9,$$$ExcelDat($$FirstDate(MPRNr)) Do WriteKenm(MPRNr) Write *9,$$KLANT^STAT(KLNr,MPRNr,"2010.02 ","2010.05 ","1") If KSom>.2 Do . Set NewVKP=VKP-KSom . Set NewAKPCorr=NewVKP/(1-OneKorting)*(1-.52) . Set CorrAKP=NewAKPCorr-NewAKP . Do ModPRBS(MPRNr,CorrAKP) . Set NewPrijsRec=$$KLANTPR^KPRIJS(KLNr,MPRNr) . Set NewVKP=$P(NewPrijsRec,"\",14) . Set NewAKP=$P(NewPrijsRec,"\",13) . Set CorrVKP=NewVKP-(VKP-KSom) . . Write *9,$$$ExcelNum(VKP),*9,$$$ExcelNum(KSomAll),*9,$$$ExcelNum(KSom),*9,$$$ExcelNum(NewVKP),*9,$$$ExcelNum(CorrVKP) . Write *9,$$$ExcelNum(NewAKP),*9,$$$ExcelNum(NewAKPCorr),*9,$$$ExcelNum(CorrAKP) . . Set CorrAKP=$$MaxCorr(MPRNr) . Do ModPRBS(MPRNr,CorrAKP) . Set NewPrijsRec=$$KLANTPR^KPRIJS(KLNr,MPRNr) . Set NewVKP=$P(NewPrijsRec,"\",14) . Set NewAKP=$P(NewPrijsRec,"\",13) . Set CorrVKP=NewVKP-(VKP-KSom) . Write *9,$$$ExcelNum(VKP),*9,$$$ExcelNum(KSomAll),*9,$$$ExcelNum(KSom),*9,$$$ExcelNum(NewVKP),*9,$$$ExcelNum(CorrVKP) . Write *9,$$$ExcelNum(NewAKP),*9,$$$ExcelNum(NewAKPCorr),*9,$$$ExcelNum(CorrAKP) . . Do WriteLOQty(MPRNr,.LOAll,.LOProd) Else Do . Write *9,"geen losse onderdelen" Quit FirstDate(PRNr) New Key,I,Rec Set Key=$O(^PRHIST(PRNr,""),-1) Quit:Key="" "" Set Rec=^PRHIST(PRNr,Key) Quit +$P(Rec,"\") WriteRecalcHeadVKP(LOAll) For I=1:1:43 W *9 Write "VKP" Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Set KPRNrTrans=$$TransHalfFabr(KPRNr) . . Set:KPRNrTrans="" KPRNrTrans=KPRNr . . Set KPrijs=$$KLANTPR^KPRIJS(KLNr,KPRNrTrans) . . Write *9,$$$ExcelNum($P(KPrijs,"\",14)) Write ! Quit WriteRecalcHeadLabel(LOAll) Write "PRNr Kortekst Pakket From Identical #Identical FirstDate" Write " DC DS KLAS LC LT LD RH IB KL DK KB IsSR BS VPK KB FS BGRP ASM BM KV QtyJr" Write " sVKP sKSomAll sKSom sNewVKP sCorrVKP sNewAKP sNewAKPCorr sCorrAKP" Write " VKP KSomAll KSom NewVKP CorrVKP NewAKP NewAKPCorr CorrAKP" Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Set KPRNrTrans=$$TransHalfFabr(KPRNr) . . Set:KPRNrTrans="" KPRNrTrans=KPRNr . . Write *9,$$$ProductGet(KPRNrTrans,$$$KortTekst) Quit ModPRBS(PRNr,Corr) New Rec,BSKey,NewAKP Set Rec=D_1_D_"S" Set $P(Rec,D,11)="Corr PV" Set $P(Rec,D,13)="Correctie ONDERDEEL -> ZONDER ONDERDEEL" ; info Set $P(Rec,D,4)=Corr-.005 Set BSKey="CORR.001" Set ^PRBS("BS",PRNr,BSKey)=Rec Do CALC^PRBS(PRNr,.Som,0,0) Set NewAKP=$P(Som,"\") Do $$$PRSet($$$PPLMTL,NewAKP) Do RECALC^PRODUKT2(PRNr) Quit CleanPRBS(PRNr,Force) If $G(Force) Do . Do DELOBJ^PRBS(PRNr) . Merge ^PRBS("BS",PRNr)=^|"JRNL-ADMIN1"|PRBS("BS",PRNr) . Do BLDIND^PRBS(PRNr,"N") Set BSKey="CORR.001" Kill ^PRBS("BS",PRNr,BSKey) Do CALC^PRBS(PRNr,.Som,0,0) Set NewAKP=$P(Som,"\") Do $$$PRSet($$$PPLMTL,NewAKP) Do RECALC^PRODUKT2(PRNr) Quit STORE Kill LOProd,LOAll Set Node=$$$Node Kill ^PVDeDecker($$$Node) Set PRNr=0 Set KLNr=$$$KlantDedecker ; Statistiek For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do . Do StoreOne(PRNr,"S") ; Pakket Set PakketCode="" For Set PakketCode=$O(^PAKKET("IK",KLNr,PakketCode)) Quit:PakketCode="" Do . Set PAKNr=^PAKKET("IK",KLNr,PakketCode) . Set PRNr="" . For Set PRNr=$O(^PAKKET("D",PAKNr,PRNr)) Quit:PRNr="" Do . . Quit:PRNr'?4.7N . . Do StoreOne(PRNr,"P") ; Offertes Set OFFNr="" For Set OFFNr=$O(^KOFKL(KLNr,"F",OFFNr)) Quit:OFFNr="" Do . Set OLNr=100 . For Set OLNr=$O(^KOFKL(KLNr,"F",OFFNr,OLNr)) Quit:OLNr="" Do . . Set PRNr=$P(^KOFKL(KLNr,"F",OFFNr,OLNr),"\",2) . . Quit:PRNr'?4.7N . . Do StoreOne(PRNr,"O") Merge ^PVDeDecker($$$Node,"LOAll")=LOAll Merge ^PVDeDecker($$$Node,"LOProd")=LOProd ; Check for double product under different BSKey Set BSKey="" Kill Chk For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . If $D(Chk(KPRNr)) Write "Double:",KPRNr,! . . Set Chk(KPRNr)="" Quit StoreOne(PRNr,From) Quit:$D(LOProd(PRNr)) ; reeds verwerkt ;If From="O" Do $$$PRSet($$$NONAktief,1) Quit Quit:$P($$GENTYP^HAD(PRNr),"\")'="TBX" Quit:$$$PRGet($$$NONAktief)=1 Set KortTekst=$$$PRGet($$$KortTekst) Quit:$E(KortTekst,1,3)="GEN" Quit:$E(KortTekst,1,3)="BBS" Set VPK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) ; Verpakking Quit:VPK'?1(1"A",1"B",1"P") ;Do CleanPRBS(PRNr,1) ;forced Do GetLO(PRNr,.LOAll,.LOProd,From) Quit REBUILD Kill LOProd,LOAall Merge LOProd=^PVDeDecker($$$Node,"LOProd") Set MPRNr="" For Set MPRNr=$O(LOProd(MPRNr)) Quit:MPRNr="" Do . Write !,MPRNr," ",$$$ProductGet(MPRNr,$$$KortTekst) . Quit:$$MetDeHand(MPRNr) . Do RebuildGAData(MPRNr) . Do RebuildProduct(MPRNr) Quit RebuildProduct(PRNr) Set Opties="C;H;P" Do DELIND^PRODUKT2(PRNr) Set sc=##class(Prod.GAData.Product).KPRModify(PRNr,Opties,0) ; Staffel wordt opgehaald uit de kenmerken If $$$ISOK(sc) Do . Do RECALC^PRODUKT2(PRNr) Else Do . Set $P(^PVDeDecker($$$Node,"LOProd",PRNr),"\",16,17)="ERROR\"_$$ParseStatus^vhLib(sc) . Write " "_$$ParseStatus^vhLib(sc) Do BLDIND^PRODUKT2(PRNr) Quit RebuildGAData(PRNr) Set GADataID=$P($G(^KPR(PRNr,"G")),"\",13) Quit:GADataID="" Set GADataProd=##class(Prod.GAData.Product).OpenWithCalc(GADataID, .blnSchaduw) Quit:'$isObject(GADataProd) ; aanpassen basis items Set IB=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"IB")) ; interne breedte If IB<1165 Do . Do GADataProd.SetItemValByPL("VERPAK","A") Else Do . Write " no verpak" Do GADataProd.SetItemValByPL("NMCP",1) Do GADataProd.SetItemValByPL("NMRL",1) Do GADataProd.SetItemValByPL("NMAK",1) Do GADataProd.SetItemValByPL("NMBDS",1) Do GADataProd.SetItemValByPL("NMBMM",1) Do GADataProd.SetItemValByPL("NMBMB",1) Do GADataProd.SetItemValByPL("NMFB",1) Do GADataProd.SetItemValByPL("NMBS",1) Do GADataProd.SetItemValByPL("NMOVL",1) Do GADataProd.SetItemValByPL("NMSPDL",1) Do GADataProd.SetItemValByPL("NMASM",1) Set KLAS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KLAS")) ; interne breedte If KLAS?1(1"SY",1"SP2") Do . Set LC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LC")) . Set SPZK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"SPZK")) . Set Qty=##class(BL.PR.GA.TandemBox).SpoelbakUitsparingen(LC, SPZK, KLAS) . Do GADataProd.SetItemValByPL("SYQTY",Qty) ; Save Set sc=GADataProd.SaveClean() If $$$ISERR(sc) Write PRNr,"-",GADataID," : ",$$ParseStatus^vhLib(sc),! Quit DD Set PRNr=0 Set KLNr=$$$KlantDedecker For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do . Quit:$P($$GENTYP^HAD(PRNr),"\")'="TBX" . Do GetLO(PRNr,.LOAll,.LOProd) Set Dev=0 Set Dev=$$OPEN^vhDEV(,"DEDECKER.txt","W","T") Use Dev Do WriteHeadVKP(.LOAll) Do WriteHeadAKP(.LOAll) Do WriteHeadLP(.LOAll) Do WriteHeadKort(.LOAll) Do WriteHeadLabel(.LOAll) Set PRNr="" For Set PRNr=$O(LOProd(PRNr)) Quit:PRNr="" Do . Set MQty=$$KLANT^STAT(KLNr,PRNr,"2009.04 ","2010.04 ","1") . Set MPrijs=$$KLANTPR^KPRIJS(KLNr,PRNr) . Write PRNr,*9,$$$PRGet($$$KortTekst),*9,$$DISP^PAKKET(KLNr,PRNr),*9,$$$ExcelNum($P(MPrijs,"\",14)),*9,$$$ExcelNum($P(MPrijs,"\",13)),*9,MQty . Do WriteKenm(PRNr) . Do WriteLOQty(PRNr,.LOAll,.LOProd) . Write ! Do CLOSE^vhDEV(Dev) Quit WriteLOQty(MPRNr,LOAll,LOProd) Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Write *9,$LG($G(LOProd(MPRNr,KPRNr))) Quit WriteHeadVKP(LOAll) For I=1:1:25 W *9 Write "VKP" Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Set KPRNrTrans=$$TransHalfFabr(KPRNr) . . Set KPrijs=$$KLANTPR^KPRIJS(KLNr,KPRNrTrans) . . Write *9,$$$ExcelNum($P(KPrijs,"\",14)) Write ! Quit WriteHeadLP(LOAll) For I=1:1:25 W *9 Write "VKP" Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Set KPrijs=$$KLANTPR^KPRIJS(KLNr,KPRNr) . . Write *9,$$$ExcelNum($P(KPrijs,"\",15)) Write ! Quit WriteHeadAKP(LOAll) For I=1:1:25 W *9 Write "AKP" Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Set KPrijs=$$KLANTPR^KPRIJS(KLNr,KPRNr) . . Write *9,$$$ExcelNum($P(KPrijs,"\",13)) Write ! Quit WriteHeadKort(LOAll) For I=1:1:25 W *9 Write "KORT" Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Set KPRNrTrans=$$TransHalfFabr(KPRNr) . . Set KPrijs=$$KLANTPR^KPRIJS(KLNr,KPRNrTrans) . . Write *9,$$$ExcelNum($$OneKorting^KPRIJS($P(KPrijs,"\",5),$P(KPrijs,"\",6))/100) Write ! Quit WriteHeadLabel(LOAll) Write "PRNr Kortekst Pakket VKPPrijs AKPPrijs QtyJr" Write " DC DS KLAS LC LT LD RH IB KL DK KB IsSR BS VPK KB FS BGRP ASM BM KV" Set BSKey="" For Set BSKey=$O(LOAll(BSKey)) Quit:BSKey="" Do . Set KPRNr="" . For Set KPRNr=$O(LOAll(BSKey,KPRNr)) Quit:KPRNr="" Do . . Set KPRNrTrans=$$TransHalfFabr(KPRNr) . . Write *9,$$$ProductGet(KPRNrTrans,$$$KortTekst) Write ! Quit WriteKenm(PRNr) Set DS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DS")) ; Design ;Quit:DS="" Set DC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DC")) ; Designcode Set LD=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LD")) ; Ladediepte Set IB=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"IB")) ; Internebreedte Set LC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LC")) ; LadeCode Set LT=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LT")) ; LadeType Set RH=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"RH")) ; Rughooogte Set KL=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KL")) ; Kleurlade Set DK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DK")) ; Draagkracht Set KLAS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KLAS")) ; Klasse (Spoelbak, Lade, ...) Set BIN=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"BIN")) ; Binnenlade Set DK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DK")) ; Draagkracht Set KB=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KB")) ; Kleurbodem Set VPK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) ; Verpakking Set IsSR=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"IsSR")) ; Stalenrug Set BS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"BS")) ; Boxside Set KV=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KV")) ; Kleurvulling Set BM=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"BM")) ; Blumotion Set ASM=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"ASM")) ; Antislipmat Set FS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"FS")) ; Frontbevestiging Set BGRP=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"BGRP")) ; Binnengreep Write *9,DC,*9,DS,*9,KLAS,*9,LC,*9,LT,*9,LD,*9,RH,*9,$$$ExcelNum(IB),*9,KL,*9,DK,*9,KB,*9,IsSR,*9,BS,*9,VPK,*9,KB,*9,$S(FS=0:"",1:FS),*9,$S(BGRP=0:"",1:BGRP),*9,$S(ASM=0:"",1:ASM),*9,$S(BM=0:"",1:BM),*9,KV Quit GetLO(MPRNr,LOAll,LOProd,From) Set BSKey="" For Set BSKey=$O(^PRBS("BS",MPRNr,BSKey)) Quit:BSKey="" Do . Set HPRNr=$P(^PRBS("BS",MPRNr,BSKey),"\",1) . Quit:'HPRNr . Quit:$P(^PRBS("BS",MPRNr,BSKey),"\",19)'="LOS" . Set HQty=$P(^PRBS("BS",MPRNr,BSKey),"\",2) . Set LOAll($P(BSKey,"."),HPRNr)="" . Set LOProd(MPRNr,HPRNr)=$LB(HQty,BSKey) Set Prijs=$$KLANTPR^KPRIJS(KLNr,MPRNr) Set $P(Prijs,D,16)=From Set LOProd(MPRNr)=Prijs Quit