Index: PV.mac.rou =================================================================== diff -u -r54530 -r62525 --- PV.mac.rou (.../PV.mac.rou) (revision 54530) +++ PV.mac.rou (.../PV.mac.rou) (revision 62525) @@ -7,10 +7,155 @@ w $$$PRGet($$$NONAktief) w $P(^KPR(PRNr,1),"\",25) w $$KLANTPR^KPRIJS(4810,PRNr) +BackFlush + Set Device=$$OPEN^vhDEV(,"BackFlush.txt","W","T") + Use Device + Write "ToeNr KPRNr KIdentNr KKorttekst HLX MPRNr MIdentNr MKorttekst Familie Datum Tijd Aantal Kost",! + Set %J=$$%J^vhRtn1() + Kill ^HULP(%J) + Set PRNr="" + Set Cnt=0 + Set Vanaf=$$CALCDATE^vhLib.DataTypes($H,"A",-2) + Set Tot=$$CALCDATE^vhLib.DataTypes($H,"A",-0) + s PRNr=0 ;431818-1 + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do ;Quit:Cnt>1 + . Quit:'$d(^KPR(PRNr)) + . Set KeyHist="" + . For Set KeyHist=$O(^PRHIST(PRNr,KeyHist)) Quit:KeyHist="" Do + . . Set Rec=^PRHIST(PRNr,KeyHist) + . . Set Datum=+$P(Rec,"\") + . . Quit:DatumTot + . . Set MPRNr=$P(Rec,"\",15) + . . Quit:'MPRNr + . . Quit:$P(Rec,"\",2)>0 + . . Quit:$P(Rec,"\",4)'="H" + . . Quit:$P(Rec,"\",5)'="W" + . . Set Familie=$P($$GENTYP^HAD(MPRNr),"\") + + . . Write $P(Rec,"\",7),*9,PRNr,*9,$$$ProductGet(PRNr,$$$IdentNummer),*9,$$$ProductGet(PRNr,$$$KortTekst),*9,$S($E($$$ProductGet(PRNr,$$$LinkType),1,2)="HH":"hlx",1:"vhbe") + . . Write *9,MPRNr,*9,$$$ProductGet(MPRNr,$$$IdentNummer),*9,$$$ProductGet(MPRNr,$$$KortTekst),*9,Familie + . . Write *9,$$$ExcelDat(Datum),*9,$$$ExcelTime($P($P(Rec,"\"),",",2)),*9,$$$ExcelNum($P(Rec,"\",2)),*9,$$$ExcelNum($P(Rec,"\",2)*$$CifPPL^KPRIJS(PRNr)) + . . Write ! + . Set Cnt=Cnt+1 + Do CLOSE^vhDEV(Device) + Quit + +MWNacalcHist(Familie) + + Set %J=$$%J^vhRtn1() + Kill ^HULP(%J) + Set PRNr="" + Set Cnt=0 + Set Vanaf=$$CALCDATE^vhLib.DataTypes($H,"M",-12,"FD") + Set Tot=$$CALCDATE^vhLib.DataTypes($H,"M",-1,"LD") + ;s PRNr=1856745-1 + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do ;Quit:Cnt>1 + . Quit:'$d(^KPR(PRNr)) + . Quit:$$$PRGet($$$LeveranciersNr)'=$$$LevHalux + . Quit:$P($$GENTYP^HAD(PRNr),"\")'=Familie + . Set KeyHist="" + . For Set KeyHist=$O(^PRHIST(PRNr,KeyHist)) Quit:KeyHist="" Do + . . Set Rec=^PRHIST(PRNr,KeyHist) + . . Set Datum=+$P(Rec,"\") + . . Quit:DatumTot + . . ;Quit:$P(Rec,"\",5)'=Magazijn + . . Quit:$P(Rec,"\",4)'="I" + . . Do AddBS(PRNr,Datum,$P(Rec,"\",2),0,0) + . . Set Cnt=Cnt+1 + ;zw ^HULP(%J) + Do NacalcExport(Familie) + Quit +MWNacalcStat + Set Familie="LBX" + Set %J=$$%J^vhRtn1() + Kill ^HULP(%J) + Set PRNr="" + Set Cnt=0 + For Set PRNr=$O(^KSTPR(PRNr)) Quit:PRNr="" Do ;Quit:Cnt>1000 + . Quit:'$d(^KPR(PRNr)) + . Quit:$$$PRGet($$$LeveranciersNr)'=$$$LevHalux + . Quit:$P($$GENTYP^HAD(PRNr),"\")'=Familie + . Set Maand="" + . Set Maand="2018.02 " + . For Set Maand=$O(^KSTPR(PRNr,0,Maand)) Quit:Maand="" Do + . . Set IntMaand=$$INTDATE^vhLib.DataTypes(Maand,"DM4") + . . Set Aantal=$P(^KSTPR(PRNr,0,Maand),"\") + . . Set Omzet=$P(^KSTPR(PRNr,0,Maand),"\",3) + . . Set Marge=$P(^KSTPR(PRNr,0,Maand),"\",4) + . . Do AddBS(PRNr,IntMaand,Aantal,Omzet,Marge) + . . Set Cnt=Cnt+1 + Do NacalcExport(Familie) + Quit + +NacalcExport(Familie) + Set Device=$$OPEN^vhDEV(,"COGS"_Familie_".txt","W","T") + Use Device + + Write "Grp PRNr Korttekst Maand Datum Aantal Omzet Marge TotKost ExtraKost" + Set KostPl="" + For Set KostPl=$O(^HULP(%J,"KPL",KostPl)) Quit:KostPl="" Do + . Write *9,KostPl," tijd",*9,KostPl," kost" + Write *9,"TotKost+Extra",! + Set Key="" + For Set Key=$O(^HULP(%J,"D",Key)) Quit:Key="" Do + . Set lb=^HULP(%J,"D",Key) + . Set PRNr=$LI(lb,1),IntMaand=$LI(lb,2),Aantal=$LI(lb,3),Omzet=$LI(lb,4),Marge=$LI(lb,5),TotKost=$LI(lb,6),ExtraKost=$LI(lb,7) + . Set Factor=1+$S(TotKost>1:(ExtraKost/TotKost),1:0) + . Set Maand=$$CALCDATE^vhLib.DataTypes(IntMaand,"M","FD") + . Write $P($$GENTYP^HAD(PRNr),"\"),*9,PRNr,*9,$$$PRGet($$$KortTekst),*9,$$$ExcelDat(Maand),*9,$$$ExcelDat(IntMaand),*9,Aantal,*9,$$$ExcelNum(Omzet),*9,$$$ExcelNum(Marge),*9,$$$ExcelNum(TotKost),*9,$$$ExcelNum(ExtraKost) + . Set KostPl="" + . Set SumKost=0 + . For Set KostPl=$O(^HULP(%J,"KPL",KostPl)) Quit:KostPl="" Do + . . Set Tijd=$LG($G(^HULP(%J,"D",Key,KostPl)),1) + . . Set Kost=$LG($G(^HULP(%J,"D",Key,KostPl)),2) + . . Write *9,$$$ExcelNum(Tijd*Factor),*9,$$$ExcelNum(Kost*Factor) + . . Set SumKost=SumKost+(Kost*Factor) + . Write *9,$$$ExcelNum(SumKost),! + Do CLOSE^vhDEV(Device) + Quit + + +AddBS(PRNr,Datum,Aantal,Omzet,Marge) + New Key + Set Key=$Increment(^HULP(%J,"D")) + Set (Component,Vulling,Rest)=0 + Kill ^HULP(%J,"C") + Kill ^HULP(%J,"V") + Merge ^HULP(%J,"C")=^PRBS("BS",PRNr) + Do CALCC^PRBS(.Som,1,1) + ;zw ^HULP(%J) + Set BSKey="" + Set TotKost="" + Set ExtraKost="" + For Set BSKey=$o(^HULP(%J,"C",BSKey)) Quit:BSKey="" Do + . Set BSRec=^HULP(%J,"C",BSKey) + . Set BSKost=$G(^HULP(%J,"V",BSKey)) + . Set:$P(BSRec,"\",17)="Rechtzetting kostprijs BJ2018" ExtraKost=$P(BSKost,"\",1)*Aantal + . Set:$P(BSRec,"\",13)="Rechtzetting kostprijs BJ2018" ExtraKost=$P(BSKost,"\",1)*Aantal + . Quit:$P(BSRec,"\",3)'="T" + . Quit:$P(BSRec,"\",9)="" ; geen kostenplaatst + . Set KostPl=$P(BSRec,"\",9) + . Set Tijd=$P(BSRec,"\",8)*Aantal + . Set Kost=$P(BSKost,"\",1)*Aantal + . Set TotKost=TotKost+Kost + . Set lb=$G(^HULP(%J,"D",Key,KostPl)) + . Set $LI(lb,1)=$LG(lb,1)+Tijd + . Set $LI(lb,2)=$LG(lb,2)+Kost + . Set ^HULP(%J,"D",Key,KostPl)=lb + . Set:'$D(^HULP(%J,"KPL",KostPl)) ^HULP(%J,"KPL",KostPl)="" + + If $D(^HULP(%J,"D",Key))||1 Do + . Set ^HULP(%J,"D",Key)=$LB(PRNr,Datum,Aantal,Omzet,Marge,TotKost,ExtraKost) + q + +Batch2 + AXStat For MndCnt=-11:1:-1 Do @@ -26,10 +171,10 @@ Set PRNr="" For Set PRNr=$O(^KSTPR(PRNr)) Quit:PRNr="" Do . ;Quit:$P($$GENTYP^HAD(PRNr),"\")'="KAD" - .Quit:'$d(^KPR(PRNr)) + . Quit:'$d(^KPR(PRNr)) . Quit:$$$PRGet($$$LeveranciersNr)'=$$$LevHalux . Set Maand="" - . Set Maand="2018.06 " + . Set Maand="2017.06 " . For Set Maand=$O(^KSTPR(PRNr,0,Maand)) Quit:Maand="" Do . . Set Aantal=$P(^KSTPR(PRNr,0,Maand),"\") . . Set Omzet=$P(^KSTPR(PRNr,0,Maand),"\",3)