#include vhLib.Macro #include Prod.Product #include BL.Derde.KlantSpecifiek StatJB Set Dev=$$OPEN^vhDEV(,"Omzet BJ2010.txt","W","T") Use Dev Set KLNr=0 Write "KLNr Divisie PRNr KortTekst GenTyp Omzet",! For Set KLNr=$O(^KSTKL(KLNr)) Quit:KLNr="" Do ;q:KLNr>1007 .Set oKlant=##class(Derde.Klant.Klant).%OpenId(KLNr) .Set Divisie=oKlant.Divisie . Set PRNr=0 . For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do . . Set Omzet=$$KLANT^STAT(KLNr,PRNr,"2009.07 ","2010.06 ",3) . . Quit:'Omzet . . Set KT=$P(^KPR(PRNr,0),D,1) . . Set GenTyp=$P($$GENTYP^HAD(PRNr),"\",1,2) . . Set:$$ISORGAL^ORGALUX(PRNr) GenTyp="OL" . . Set oProd=##class(Prod.Product).%OpenId(PRNr) . . Set ProductGroep=oProd.ProductGroep . . Write KLNr,*9,oKlant.Divisie,*9,PRNr,*9,KT,*9,GenTyp,*9,ProductGroep,*9,$$$ExcelNum(Omzet),! Do CLOSE^vhDEV(Dev) Quit ASM Set EndMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-1),"DM4")_" " Set StartMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-12),"DM4")_" " ;Set EndMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"J",-1,"LD"),"DM4")_" " ;Set StartMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"J",-1,"FD"),"DM4")_" " Write "Periode: ",StartMnd," - ",EndMnd,! Set Dev=0 Set Dev=$$OPEN^vhDEV(,"ASMTBXOverzicht.txt","W","T") Use Dev Set PRNr=0 Write "GenTyp SubGT Type PRNr KT KLNr KLNm Regio Activiteit Kwantitatief Kwalitatief Qty VKP AKP Kleur",! For Set PRNr=$O(^KSTPR(PRNr)) Quit:PRNr="" Do . Set GenTyp=$$GENTYP^HAD(PRNr) . Quit:'$D(^KPR(PRNr)) . Set KT=$P(^KPR(PRNr,0),D) . Set MatKleur="",Type="" . If $P(GenTyp,"\")="TBX" Set MatKleur=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"ASM")), Type="TBX" . If $P(GenTyp,"\",1,2)="DIV\ASM" Set MatKleur=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("ASM",PRNr,"ASM")),Type="ASM" . If $D(^KPR(PRNr,"J5002"))&&($E(KT,1,3)="MAT") Set MatKleur=$CASE($E(KT,22,25),"ANTR":"G"," ROT":"R"," S":"S",:""),Type="STD" . Quit:MatKleur=""||(MatKleur=0) . Set KLNr=0 . For Set KLNr=$O(^KSTPR(PRNr,KLNr)) Quit:KLNr="" Do . . Quit:KLNr=$$$KlantHalux . . Set Stat=$$PROD^STAT(PRNr,KLNr,StartMnd,EndMnd,"1,4") . . Set Qty=$P(Stat,"\",1) . . Quit:Qty<1 . . ;Set BodemPRNr=$P(^PRBS("BS",PRNr,"PRBDHZ.001"),"\") . . Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) . . Set Regio=$P(^KKL(^KK1(KLNr),0),D,20) . . Write $P(GenTyp,"\",1),*9,$P(GenTyp,"\",2),*9,Type,*9,PRNr,*9,KT,*9,KLNr,*9,KLNm,*9,Regio,*9,$LG($$DisplayActiviteit^KLANT5(KLNr),1),*9,$LG($$DisplayKwantitatief^KLANT5(KLNr),2),*9,$LG($$DisplayKwalitatief^KLANT5(KLNr),2),*9,$P(Qty,"\",1) . . Write *9,$$$ExcelNum($P(Stat,"\",3)) ; Omzet . . Write *9,$$$ExcelNum($P(Stat,"\",4)) ; Marge . . Write *9,MatKleur,! Do CLOSE^vhDEV(Dev) Quit ;Wildcard niet vergeten -> "2013-04-11%" BatchDatum(Datum) Set Dev=0 Set Dev=$$OPEN^vhDEV(,"Batch kenmerken "_$E(Datum,1,$L(Datum)-1)_".txt","W","T") Use Dev Write "Batch SequenceNr TOENr DOSNr Lijn PersTijdStip" Do HeaderKenmerken Write ! Set rs=##class(%ResultSet).%New("BL.PPS.TBX.Sequencer:GetSequenceByDate") Set sc=rs.Execute(Datum) For Quit:'rs.Next() Do . Set oQ=##class(DS.PPS.TBX.Queue).%OpenId(rs.Data("ID")) . Do FetchKenmerken(oQ.Product.%Id()) . Do WriteBatchData(oQ) . Do WriteKenmerken . Write ! Do CLOSE^vhDEV(Dev) Quit BATCH(BatchList) Set Dev=0 Set Dev=$$OPEN^vhDEV(,"Batch kenmerken "_$$ListToPieces^vhLib(BatchList," ")_".txt","W","T") Use Dev Write "Batch SequenceNr TOENr DOSNr Lijn PersTijdStip" Do HeaderKenmerken Write ! For ListNr=1:1:$LL(BatchList) Do . Set rs=##class(%ResultSet).%New("BL.PPS.TBX.Sequencer:GetSequence") . Set sc=rs.Execute($LI(BatchList,ListNr)) . For Quit:'rs.Next() Do . . Set oQ=##class(DS.PPS.TBX.Queue).%OpenId(rs.Data("ID")) . . Do FetchKenmerken(oQ.Product.%Id()) . . Do WriteBatchData(oQ) . . Do WriteKenmerken . . Write ! Do CLOSE^vhDEV(Dev) Quit WriteBatchData(oQ) Write oQ.BatchID,*9 Write oQ.Sequence,*9 Write oQ.TOENr,*9 Write oQ.DOSNr,*9 Set Batch = ##class(APPS.Halux.common.BatchService).%New().GeefBatch(oQ.BatchID) Write Batch.GeefLijn(),*9 Write oQ.WPPers.FirstChanged Quit TBX New KostenPerKostenplaatsArray,KostenplaatsTBZAAG,KostenplaatsTBMONT,KostenplaatsTBVERPAK Set EndMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-1),"DM4") Set StartMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-12),"DM4") Set StartMnd=$$ASK^vhINP("Start maand : ",7,StartMnd,"formaat: JJJJ.MM") Quit:StartMnd'?4N1"."2N Set EndMnd=$$ASK^vhINP("Eind maand : ",7,EndMnd,"formaat: JJJJ.MM") Quit:EndMnd'?4N1"."2N Set EndMnd=EndMnd_" " Set StartMnd=StartMnd_" " ;Set StartMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"J","FD"),"DM4")_" " ;Set EndMnd=$$EXTDATE^vhLib.DataTypes($H,"DM4")_" " Set LimKLNr=$$SELECT^KLANT6(1,"","Beperkt tot klant ") Set:'LimKLNr LimKLNr="" Set FP=2001 Write @F,@F1,!! Read "Detail per maand gewenst dan J[]",DtlPerMaand Set DtlPerMaand=$ZCVT(DtlPerMaand,"U")="J" Write @F11,@F1,!!!!,"Periode: ",StartMnd," - ",EndMnd,! If LimKLNr="" Do . Write "Alle klanten",! Else Do . Write "Beperkt tot "_LimKLNr_" "_$P(^KKL(^KK1(LimKLNr),0),"\",2),! If $G(DtlPerMaand) Do . Write "Detail per maand",! Else Do . Write "Geproepeerd per product, geen detail per maand",! Set Dev=$$OPEN^vhDEV(,"TBXOverzicht"_LimKLNr_".txt","W","T") Use Dev Set PRNr=0 If $G(DtlPerMaand) Do . Write "Maand",*9 Write "GenTyp SubGT PRNr KT KLNr KLNm Regio Activiteit Kwantitatoef Kwalitatief Qty VKP AKP BodemAKP BodProd BodCode" Write " Omzet" Write " Marge" Do HeaderKenmerken Write ! For Set PRNr=$O(^KSTPR(PRNr)) Quit:PRNr="" Do . Set GenTyp=$$GENTYP^HAD(PRNr) . Quit:$P(GenTyp,"\")'="TBX" . Quit:$P(GenTyp,"\",2)="PR+" ; geen PRO PLUS laden van Keller . Set KLNr=0 . For Set KLNr=$O(^KSTPR(PRNr,KLNr)) Quit:KLNr="" Do:$S(LimKLNr:LimKLNr=KLNr,1:1) . . Set Stat=$$PROD^STAT(PRNr,KLNr,StartMnd,EndMnd,"1,4") . . Set Qty=$P(Stat,"\",1) . . Quit:+Qty<1 . . Set KT=$P(^KPR(PRNr,0),"\",1) . . Do FetchKenmerken(PRNr) . . Quit:DS="" . . Do FetchKlantAfh(KLNr,PRNr) . . If $G(DtlPerMaand) Do . . . Set Maand=$O(^KSTKL(KLNr,PRNr,StartMnd),-1) . . . For Set Maand=$O(^KSTKL(KLNr,PRNr,Maand)) Quit:Maand=""!(Maand]EndMnd) Do . . . . Set Stat=^KSTKL(KLNr,PRNr,Maand) . . . . Set Qty=$P(Stat,D) . . . . Write $$$ExcelDat($$INTDATE^vhLib.DataTypes(Maand,"DM4")),*9 . . . . Do WriteDtl . . Else Do . . . Do WriteDtl Do CLOSE^vhDEV(Dev) Quit HeaderKenmerken Write " DC DS KLAS LC LT LD RH IB KL DK KB IsSR BS VPK KB FS BGRP ASM BM KV NMCP RSTL SPx2 PBX doos PBX deksel PBX pallet" Write $C(9),"Categorie" Write $C(9),"Kostenplaats TBZAAG" Write $C(9),"Kostenplaats TBMONT" Write $C(9),"Kostenplaats TBVERPAK" Write $C(9),"Kostenplaats HALUX KARTON" Write $C(9),"Opvullijsten" Write $C(9),"Opvullijst kleur" Write $C(9),"Dwarsverdeling" Quit FetchKlantAfh(KLNr,PRNr) Set PrijsRec=$$KLANTPR^KPRIJS(KLNr,PRNr) Set Omzet=$P(PrijsRec,D,14) Set AKP=$P(PrijsRec,D,13) Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) Set Regio=$P(^KKL(^KK1(KLNr),0),D,20) FetchKenmerken(PRNr) Set (DS,DC,LD,IB,LC,LT,RH,KL,DK,KLAS,BIN,DK,KB,VPK,IsSR,BS,KV,BM,ASM,FS,BGRP,NMCP,RSTL)="" Set (BodemPRNr,BodemPPL,BodemTxt)="" Set (ProboxDeksel,ProboxDoos,LadeBeoordeling,KostenPerKostenplaatsArray,KostenplaatsTBZAAG,KostenplaatsTBMONT,KostenplaatsTBVERPAK,KostenplaatsHALUXKARTON)="" 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 Set NMCP=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"NMCP")) ; Niet meeleveren corpusprofielen Set RSTL=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"RSTL")) ; Rugstuk verlaagd Set SPx2=+$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"SPBR2"))>0 ; Dubbel spoelbak - 2 syfon Set OPVLL=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"OPVLL")) ; Opvullijst links Set OPVLR=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"OPVLR")) ; Opvullijst rechts Set DWV=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DWV")) ; Dwarsverdeling Set OPVLAantal = (OPVLL '= 0) + (OPVLR '= 0) Set KLROPVL = $LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KLROPVL")) ; Kleur opvullijst If (OPVLAantal = 0) { Set KLROPVL = "" } Set BodemPRNr=$P($G(^PRBS("BS",PRNr,"PRBDHZ.001")),"\"),Type="PRBDHZ" Set:BodemPRNr'?4.7N BodemPRNr=$P($G(^PRBS("BS",PRNr,"PRBDHO.001")),"\"),Type="PRBDHO" Set:BodemPRNr'?4.7N BodemPRNr=$P($G(^PRBS("BS",PRNr,"PROD.001")),"\"),Type="PROD" Set (BodemPPL,BodemTxt)="" Set:BodemPRNr?4.7N BodemPPL=$$$ProductGet(BodemPRNr,$$$CifPPLEUR),BodemTxt=$$$ProductGet(BodemPRNr,$$$KortTekst) Set ProboxDeksel = $P($G(^PRBS("BS",PRNr,"PRVPPBXDEK.001")),"\",2) Set ProboxDoos = $P($G(^PRBS("BS",PRNr,"PRVPPBXBOD.001")),"\",2) Set ProboxPallet = $P($G(^PRBS("BS",PRNr,"PRVPPBXPAL.001")),"\",2) Set LadeBeoordeling = $$GeefLadeBeoordeling(PRNr) Set KostenPerKostenplaatsArray = ##class(%ArrayOfDataTypes).%New() Do BerekenKostenPerKostenplaats(PRNr,.KostenPerKostenplaatsArray) Set KostenplaatsTBZAAG = KostenPerKostenplaatsArray.GetAt("TBZAAG") Set KostenplaatsTBMONT = KostenPerKostenplaatsArray.GetAt("TBMONT") Set KostenplaatsTBVERPAK = KostenPerKostenplaatsArray.GetAt("TBVERPAK") Set KostenplaatsHALUXKARTON = KostenPerKostenplaatsArray.GetAt("HALUX KARTON") Quit WriteDtl Write $P(GenTyp,"\",1),*9,$P(GenTyp,"\",2),*9,PRNr,*9,KT,*9,KLNr,*9,KLNm,*9,Regio,*9,$LG($$DisplayActiviteit^KLANT5(KLNr),1),*9,$LG($$DisplayKwantitatief^KLANT5(KLNr),2),*9,$LG($$DisplayKwalitatief^KLANT5(KLNr),2),*9,$P(Qty,"\",1) Write *9,$$$ExcelNum(Omzet),*9,$$$ExcelNum(AKP),*9,$$$ExcelNum(BodemPPL),*9,BodemTxt,*9,Type ; Omzet Write *9,$$$ExcelNum($P(Stat,"\",3)) ; Omzet Write *9,$$$ExcelNum($P(Stat,"\",4)) ; Marge Do WriteKenmerken Write ! Quit WriteKenmerken 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,*9,NMCP,*9,RSTL,*9,SPx2,*9,$$$ExcelNum(ProboxDoos),*9,$$$ExcelNum(ProboxDeksel),*9,$$$ExcelNum(ProboxPallet) Write *9,LadeBeoordeling Write *9,$$$ExcelNum(KostenplaatsTBZAAG) Write *9,$$$ExcelNum(KostenplaatsTBMONT) Write *9,$$$ExcelNum(KostenplaatsTBVERPAK) Write *9,$$$ExcelNum(KostenplaatsHALUXKARTON) Write *9,OPVLAantal Write *9,KLROPVL Write *9,DWV Quit TBXMnd Set EndMnd=$$EXTDATE^vhLib.DataTypes($H,"DM4")_" " Set StartMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-25),"DM4")_" " ;Set StartMnd=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-1,D"),"DM4")_" " Write "Periode: ",StartMnd," - ",EndMnd,! Set Dev=$$OPEN^vhDEV(,"TBXOverzicht.txt","W","T") Use Dev Set PRNr=0 Write "Maand GenTyp SubGT PRNr KT KLNr KLNm Regio Qty" Write " Omzet" Write " Marge" Write " DC DS KLAS LC LT LD RH IB KL DK KB IsSR BS VPK KB FS BGRP ASM BM",! For Set PRNr=$O(^KSTPR(PRNr)) Quit:PRNr="" Do . Set GenTyp=$$GENTYP^HAD(PRNr) . Quit:$P(GenTyp,"\")'="TBX" . Set VPK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) ; Verpakking . Quit:(VPK'="A")&&(VPK'="B") . Set KLNr=0 . For Set KLNr=$O(^KSTPR(PRNr,KLNr)) Quit:KLNr="" Do:KLNr=$$$KlantSFS . . Set Mnd=StartMnd . . For Set Mnd=$O(^KSTPR(PRNr,KLNr,Mnd)) Quit:Mnd="" Do . . . Set Qty=$P(^KSTPR(PRNr,KLNr,Mnd),"\",1) . . . Quit:+Qty<1 . . . Set KT=$P(^KPR(PRNr,0),D,1) . . . 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 . . . Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) . . . Set Regio=$P(^KKL(^KK1(KLNr),0),D,20) . . . Set MndDag=$TR($$EXTDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes(Mnd,"DM4"),"DKP"),".","-") . . . Write MndDag,*9,$P(GenTyp,"\",1),*9,$P(GenTyp,"\",2),*9,PRNr,*9,KT,*9,KLNr,*9,KLNm,*9,Regio,*9,$P(Qty,"\",1) . . . Write *9,$$$ExcelNum($P(Stat,"\",3)) ; Omzet . . . Write *9,$$$ExcelNum($P(Stat,"\",4)) ; Marge . . . 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),! Do CLOSE^vhDEV(Dev) Quit WEEK Set BeginWk=+$TR($$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"W",-53),"DW4"),"/") Write "Periode: ",BeginWk," - ","nu",! Set Dev=$$OPEN^vhDEV(,"TBXVHOSSOverzicht.txt","W","T") Use Dev Set PRNr=0 Write "Datum Week GenTyp SubGT PRNr KT KLNr KLNm Regio Qty" ;Write " Omzet" ;Write " Marge" Write " DC DS KLAS LC LT LD RH IB KL DK KB IsSR BS VPK KB FS BGRP ASM BM",! For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set GenTyp=$$GENTYP^HAD(PRNr) . Quit:$P(GenTyp,"\")'="TBX" . . . Set VPK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) ; Verpakking . Quit:VPK'?1(1"A",1"B")&&($P(GenTyp,"\",2)'="PR+") . . Set KLNr=0 . For Set KLNr=$O(^KSTPR(PRNr,KLNr)) Quit:KLNr="" Do . . Set Week=BeginWk . . For Set Week=$O(^KSPW(PRNr,Week)) Quit:Week="" Quit:$E(Week,$L(Week))=" " Do . . . Set Qty="" . . . Set Toe="" . . . For Set Toe=$O(^KSPW(PRNr,Week,Toe)) Quit:Toe="" Do . . . . Set Qty=Qty+$P(^KSPW(PRNr,Week,Toe),"\") . . . Quit:+Qty<1 . . . Set KT=$P(^KPR(PRNr,0),D,1) . . . 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 . . . Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) . . . Set Regio=$P(^KKL(^KK1(KLNr),0),D,20) . . . Set MndDag=$$INTDATE^vhLib.DataTypes(Week,"DW4") . . . Write $$$ExcelDat(MndDag),*9,Week,*9,$P(GenTyp,"\",1),*9,$P(GenTyp,"\",2),*9,PRNr,*9,KT,*9,KLNr,*9,KLNm,*9,Regio,*9,$P(Qty,"\",1) . . . ;Write *9,$$$ExcelNum($P(Stat,"\",3)) ; Omzet . . . ;Write *9,$$$ExcelNum($P(Stat,"\",4)) ; Marge . . . 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),! Do CLOSE^vhDEV(Dev) Quit GeefLadeBeoordeling(ProductID) #dim Product As DOM.PM.MaatwerkProduct = ##class(DOM.DomeinContext).Instance().GeefProductAPI().GeefProduct(ProductID) Quit:'Product.%Extends("DOM.PM.MaatwerkProduct") "" #dim ProductSpecificatie as %RegisteredOpbject= Product.GeefProductSpecificatie() Quit:'$isObject(ProductSpecificatie) "" #dim IngegevenKenmerken as %RegisteredOpbject= ProductSpecificatie.GeefIngegevenKenmerken() Quit:'$isObject(IngegevenKenmerken) "" Quit ##class(DOM.PM.Maatwerk.TBX.HaluxWerkoverzichtHelper).GeefLadeBeoordeling(IngegevenKenmerken) BerekenKostenPerKostenplaats(ProductID, KostenPerKostenplaatsArray) New BouwsteenIterator,Bouwsteen,GesommeerdeKost #dim BouwsteenIterator As TECH.Iterator = ##class(TECH.ListIterator).%New(##class(DOM.PM.Bouwstenen.Product).%OpenId(ProductID).Bouwstenen) While BouwsteenIterator.HasNext() { #dim Bouwsteen As DOM.PM.Bouwstenen.Bouwsteen = BouwsteenIterator.Next() If Bouwsteen.%ClassName(1) = "DOM.PM.Bouwstenen.BouwsteenTijd" { #dim Bouwsteen As DOM.PM.Bouwstenen.BouwsteenTijd = Bouwsteen #dim GesommeerdeKost As %Float = KostenPerKostenplaatsArray.GetAt(Bouwsteen.KostPlaats) + Bouwsteen.TijdKost Do KostenPerKostenplaatsArray.SetAt(GesommeerdeKost,Bouwsteen.KostPlaats) } } Quit