#include Prod.Product #include vhLib.Macro #include BL.Derde.KlantSpecifiek q #define GroupID "OL" OLKinderen Set EindDat=$$CALCDATE^vhLib.DataTypes($H,"M","LD",-1) Set BeginDat=$$CALCDATE^vhLib.DataTypes(EindDat,"M","FD",-11) Set Dev=$$OPEN^vhDEV(,"Orgalux kinderen.txt","W","T") Use Dev Write "SortKey PRNr IdentNr KortTekst LEVNr LEVNm #OLMoeders #Picking #OLPicking",! Set blKenm=##class(BL.Kenm.ProdMulti).Create($$$GroupID) Set PRNr="" Kill MemProd For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:'$$ISORGAL^ORGALUX(PRNr) . Quit:$$$PRGet($$$NONAktief) . Set BSKey="" . For Set BSKey=$O(^PRBS("BS",PRNr,BSKey)) Quit:BSKey="" Do . . Set KPRNr=$P(^PRBS("BS",PRNr,BSKey),"\") . . Quit:'KPRNr . . Set MemProd(KPRNr)=$G(MemProd(KPRNr))+1 For Set PRNr=$O(MemProd(PRNr)) Quit:PRNr="" Do . Set LEVNr=$E($O(^KPR(PRNr,"J")),2,5) . Do HistOL(PRNr,BeginDat,EindDat,.Aantal,.AantalOL) . Write PRNr,*9,$$SORTKEY^PRODUKT(PRNr),*9,$$$PRGet($$$IdentNummer),*9,$$$PRGet($$$KortTekst),*9,LEVNr,*9,$P(^KLE(^KL1(LEVNr),0),"\",2),*9,MemProd(PRNr),*9,$$$ExcelNum(Aantal),*9,$$$ExcelNum(AantalOL),! Do CLOSE^vhDEV(Dev) Quit HistOL(PRNr,Begin,Einde,Aantal,AantalOL) ;Begin,Einde : $H formaat ;Actie : Zie RES(PRHIST,PI,BEPERK) ;Magazijn : M = Magazijn, W = Werkvloer, K = Stock over kind, Z = Zonderstock ;Cumul, Aantal oproep via .Local (byRef) New Key,I,Rec,Magazijn,Actie Set Magazijn="M" Set Actie="U" Set Begin=$G(Begin) Set Einde=$G(Einde,999999) Set:$G(Magazijn)="" Magazijn="M" Set Key="" Set AantalOL="",Aantal="" For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do . Set Rec=^PRHIST(PRNr,Key) . Quit:+$P(Rec,"\")Einde . Quit:$P(Rec,"\",5)'=Magazijn . Quit:$P(Rec,"\",4)'=Actie . Set Aantal=Aantal+1 . Set MPRNr=$P(Rec,"\",15) . Set:MPRNr&&$$ISORGAL^ORGALUX(MPRNr) AantalOL=AantalOL+1 Quit AllOL Set Dev=$$OPEN^vhDEV(,"Orgalux step1.txt","W","T") Use Dev Write "SortKey PRNr Naam NonAkt NotAvail SubID Sleutel",! Set blKenm=##class(BL.Kenm.ProdMulti).Create($$$GroupID) Set PRNr="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:'$$ISORGAL^ORGALUX(PRNr) . Set lbUnIDs=blKenm.GetMultiplesLB(PRNr) . Set:lbUnIDs="" lbUnIDs=$LB(PRNr) . For I=1:1:$LL(lbUnIDs) Do . . Set UnID=$LG(lbUnIDs,I) . . Set Sleutel=$LG(##class(Prod.Kenmerk.DataDefinitie).Get($$$GroupID,UnID,"Sleutel")) . . Write PRNr,*9,$$SORTKEY^PRODUKT(PRNr),*9,$$$PRGet($$$KortTekst),*9,$$$PRGet($$$NONAktief),*9,$$$PRGet($$$NotAvailableTo) . . Write *9,$P(UnID,".",2),*9,Sleutel,! Do CLOSE^vhDEV(Dev) Quit SetOLKenmerk(String) Set Q="K",D="\",U=";" Set PRNr=$P(String,"\",1) Set WandDikte=$P(String,"\",2) Set Diepte=$P(String,"\",3) Set Kleur=$P(String,"\",4) Quit:PRNr'?4.7N "NOK" Quit:'$D(^KPR(PRNr)) "NOK" Set sc1=##class(Prod.Kenmerk.DataDefinitie).Set("OL",PRNr,"Diepte",Diepte,";",17) Set sc2=##class(Prod.Kenmerk.DataDefinitie).Set("OL",PRNr,"WandDikte",WandDikte,";",17) Set sc3=##class(Prod.Kenmerk.DataDefinitie).Set("OL",PRNr,"Kleur",Kleur,";",17) Quit "SET"_$$ParseStatus^vhLib(sc1)_$$ParseStatus^vhLib(sc2)_$$ParseStatus^vhLib(sc3)