Index: PV.mac.rou =================================================================== diff -u -r29059 -r39394 --- PV.mac.rou (.../PV.mac.rou) (revision 29059) +++ PV.mac.rou (.../PV.mac.rou) (revision 39394) @@ -1,21 +1,276 @@ #include vhLib.Macro #include Prod.Product #include BL.Derde.KlantSpecifiek +#include BL.Derde.LevSpecifiek + +quit +DELMAIL + Set ml="" + For Set ml=$O(^vhMAIL("D",ml)) Quit:ml="" Do + .Quit:$P(^vhMAIL("D",ml),"\",8)'="Stockcorr. N.S." + .D DELOBJ^vhMAIL(ml) + Quit + +job + d ##class(AX.Uitgaand.EC.Service).%New().GenerateAll() + q + +StatGew + Set KLNr=0 + Kill SomGewicht + Set BeginDatum=$$CALCDATE^vhLib.DataTypes($H,"BJ","FD",-5) + Set EindDatum=$$CALCDATE^vhLib.DataTypes($H,"BJ","LD",-1) + Use Dev + Set KLNr="" + For Set KLNr=$O(^KFA1("F",KLNr)) Quit:KLNr="" Do + . Set KlKey=^KK1(KLNr) + . Set Regio=$P(^KKL(KlKey,0),"\",20) + . Set Datum="" ; beginnen vanaf vandaag omdat orders van vorige maand ook in facturen van vandaag kunnen zitten + . For Set Datum=$O(^KFA1("F",KLNr,Datum)) Quit:Datum="" Do + . . Quit:-Datum>EindDatum + . . Quit:-Datum1007 + . Set PRNr=0 + . For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do + . . Set KT=$P($G(^KPR(PRNr,0)),D,1) + . . Quit:$E(KT,1,3)="GEN" + . . Quit:$$GetOrOld^PRODUKT(PRNr,$$$LeveranciersNr)'=$$$LevHalux + . . Set CntHalfFab=$$NbrHalfFab(PRNr) + . . Quit:'CntHalfFab + . . Set GenTyp=$$GENTYP^HAD(PRNr,1) + . . Set Mnd=0 + . . For Set Mnd=$O(^KSTKL(KLNr,PRNr,Mnd)) Quit:Mnd="" Do + . . . Set Maand=$$INTDATE^vhLib.DataTypes(Mnd,"DM4") + . . . Set Qty=$P(^KSTKL(KLNr,PRNr,Mnd),"\",1) + . . . Quit:Qty<1 + . . . Write KLNr,*9,PRNr,*9,KT,*9,$P(GenTyp,"\"),*9,$P(GenTyp,"\",2),*9,$$$ExcelDat(Maand),*9,$$$ExcelNum(Qty),*9,$$$ExcelNum(CntHalfFab),! + Do CLOSE^vhDEV(Dev) + Quit q -StatIO - Set Device=$$OPEN^vhDEV(,"StatIO.txt","W","T") +NbrHalfFab(PRNr) New CntHalfFabr,BSKey + Set CntHalfFabr="",BSNode="BS" + Set BSKey="" + For Set BSKey=$O(^PRBS(BSNode,PRNr,BSKey)) Quit:BSKey="" Do + . Set:$P(^PRBS(BSNode,PRNr,BSKey),"\",3)="H" CntHalfFabr=CntHalfFabr+1 + Quit CntHalfFabr + + +PlaatMat + Set Dev=$$OPEN^vhDEV(,"Plaatmat.txt","W","T") + Use Dev + Set KLNr=0 + Write "KLNr Naam Regio PRNr KortTekst GenTyp SubGenTyp Maand Aantal",! + Set PRNr=0 + For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do + . Set KT=$P($G(^KPR(PRNr,0)),D,1) + . Quit:'((KT?1"SLF".E)||(KT?1"SPP".E)||(KT?1"SPF".E)) + .WRite PRNr,*9,KT,*9,$$$ExcelNum($$$PRGet($$$CifPPLEUR)),! + Do CLOSE^vhDEV(Dev) + Quit + q + +KomLinkMetStock + Set Device=0 ;$$OPEN^vhDEV(,"StatIO.txt","W","T") + Use Device + Write "KLNr ORDNr PRNr Korttekst ToeLev OrderQty FysStock AantalOrdlijnen",! + Set KLNr="" + For Set KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do + . + . Quit:KLNr=6780 + . Quit:KLNr=4100 + . + . Set ORDNr="" + . For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do + . . Set OLNr="" + . . For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do + . . . Set LijnRec=^(OLNr) + . . . Set PRNr=$P(LijnRec,"\",2) + . . . Quit:PRNr'?4.8N + . . . Quit:$$$PRGet($$$LeveranciersNr)'=$$$LevHalux + . . . Set FysStock=$$GETSTOCK^PRODUKT4(PRNr,"F") + . . . Set KomLink=$P(LijnRec,"\",27) + . . . Quit:'((KomLink?6N)&&(+FysStock'=0)) + . . . Set NbrOfLines=0 + . . . Set (TmpORDNr,TmpOLUNr)="" + . . . For Set TmpORDNr=$O(^ORD("IP",PRNr,TmpORDNr)) Quit:TmpORDNr="" Do + . . . . For Set TmpOLUNr=$O(^ORD("IP",PRNr,TmpORDNr,TmpOLUNr)) Quit:TmpOLUNr="" Set NbrOfLines=NbrOfLines+1 + . . . Set OrdQty=$P(LijnRec,"\",3) + . . . Write KLNr,*9,ORDNr,*9,PRNr,*9,$$$PRGet($$$KortTekst),*9,KomLink, *9,OrdQty, *9,FysStock,*9,NbrOfLines-1 + . . . Write ! + + Do CLOSE^vhDEV(Device) + + Quit + +PickingWho + Set Device=$$OPEN^vhDEV(,"StatIO.txt","W","T") + Use Device + Write "KLNr BONNr Datum Tijd Vzw Persoon SoftMag PickAantal PRNr KortTekst",! + Set CONSNr="" + For Set CONSNr=$O(^ORDW("D",CONSNr)) Quit:CONSNr="" Do + . Set ORDNr="" + . For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do + . . Set OLUNr="" + . . For Set OLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) Quit:OLUNr="" Do + . . . Set Rec=^(OLUNr) + . . . Set LijnCnt=0 + . . . Set SOLNr="" + . . . For Set SOLNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr,SOLNr)) Quit:SOLNr="" Do + . . . . Set SOLRec=^(SOLNr) + . . . . Set SoftMag=$P(SOLRec,"\",13) + . . . . Set User=$P(SOLRec,"\",12) + . . . . Set TijdStip=$P(SOLRec,"\",6) + . . . . Set PRNr=$P(SOLRec,D,1) + . . . . Set KLNr=$P(^ORDW("D",CONSNr),"\") + . . . . Write KLNr,*9,CONSNr,*9,$$$ExcelDat(TijdStip),*9,$$$ExcelTime($P(TijdStip,",",2)),*9,$P(^ORDW("D",CONSNr),"\",2),*9,User,*9,SoftMag,*9,$P(SOLRec,D,4),*9,PRNr,*9,$$GetOrOld^PRODUKT(PRNr,$$$KortTekst) + . . . . Write ! + + Do CLOSE^vhDEV(Device) + + Quit + +REDO + Merge Fetch=^MRPRESLog(63720,82822,"MARK") + zw Fetch + Do CLOSE^MRPRES("Fetch") + Quit + +ReceptieMaatwerk2 + Set Device=$$OPEN^vhDEV(,"DagProd.txt","W","T") Use Device + Write "PRNr KortTekst Datum Tijd GenTyp Aantal",! Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set KortT=$$$PRGet($$$KortTekst) - . Quit:$E(KortT,1,2)'="IO" - . Set Stat=$$PROD^STAT(PRNr,0,"2014.07 ","2014.12 ","1,3") - . Quit:'$P(Stat,"\") - . WRite PRNr,*9,KortT,*9,$P(Stat,"\",1),*9,$$$ExcelNum($P(Stat,"\",3)),! + . Set GenTyp=$$GENTYP^HAD(PRNr,1) + . Quit:($P(GenTyp,"\")'="TBX")&&($P(GenTyp,"\")'="LBX") ;&&($P(GenTyp,"\")'="TAO") + . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do + . . Set Rec=^PRHIST(PRNr,Key) + . . Quit:$P(Rec,"\",5)'="M" + . . Quit:$P(Rec,"\",4)'="I" + . . Set Datum=+$P(Rec,"\") + . . Quit:Datum<($H-50) + . . Write PRNr,*9,KortT,*9,$$$ExcelDat(Datum),*9,$$$ExcelTime($P($P(Rec,"\"),",",2)),*9,$P(GenTyp,"\"),*9,$P(Rec,"\",2) + . . Write ! Do CLOSE^vhDEV(Device) + Quit + + + +ReceptieMaatwerk + Set Device=$$OPEN^vhDEV(,"DagProd.txt","W","T") + Use Device + Write "Datum GenType Telbaar Aantal",! + Set PRNr=0 + Kill Cache,VoorraadCache + For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do + . Set KortT=$$$PRGet($$$KortTekst) + . Set Telbaar=$$$PRGet($$$Telbaar) ; nodig voor TA'OR Bulk in onderdelen + . Set Telbaar=$S(Telbaar="":"*",1:Telbaar) + . Set GenTyp=$$GENTYP^HAD(PRNr,1) + . Quit:($P(GenTyp,"\")'="TBX")&&($P(GenTyp,"\")'="LBX") ;&&($P(GenTyp,"\")'="TAO") + . Set Voorraad=$P($G(^PRSTOCK("D",PRNr)),"\",1) + . If Voorraad>0 Set VoorraadCache(PRNr,$P(GenTyp,"\",1),Telbaar)=Voorraad + . Set Key="" + . Set Cumul="",Aantal="" + . For Set Key=$O(^PRHIST(PRNr,Key)) Quit:Key="" Do + . . Set Rec=^PRHIST(PRNr,Key) + . . Quit:$P(Rec,"\",5)'="M" + . . Quit:$P(Rec,"\",4)'="I" + . . Set Datum=+$P(Rec,"\") + . . Set Cache(Datum,$P(GenTyp,"\"),$S(Telbaar="":"*",1:Telbaar))=$G(Cache(Datum,$P(GenTyp,"\"),$S(Telbaar="":"*",1:Telbaar)))+$P(Rec,"\",2) + ;zw Cache + Set Datum="",GenTyp="",Telbaar="" + For Set Datum=$O(Cache(Datum)) Quit:Datum="" Do + . For Set GenTyp=$O(Cache(Datum,GenTyp)) Quit:GenTyp="" Do + . . For Set Telbaar=$O(Cache(Datum,GenTyp,Telbaar)) Quit:Telbaar="" Do + . . . Write $$$ExcelDat(Datum),*9,GenTyp,*9,Telbaar,*9,Cache(Datum,GenTyp,Telbaar),! + Do CLOSE^vhDEV(Device) + Set Device=$$OPEN^vhDEV(,"VoorraadProd.txt","W","T") + Use Device + Write "PRNr GenType Telbaar Aantal",! + Set PRNr="" + Set GenTyp="",Telbaar="" + For Set PRNr=$O(VoorraadCache(PRNr)) Quit:PRNr="" Do + . For Set GenTyp=$O(VoorraadCache(PRNr,GenTyp)) Quit:GenTyp="" Do + . . For Set Telbaar=$O(VoorraadCache(PRNr,GenTyp,Telbaar)) Quit:Telbaar="" Do + . . . Write PRNr,*9,GenTyp,*9,Telbaar,*9,VoorraadCache(PRNr,GenTyp,Telbaar),! + Do CLOSE^vhDEV(Device) Quit - +FacturatieMaatwerk + Set Device=$$OPEN^vhDEV(,"DagFacturatie.txt","W","T") + Use Device + Write "Datum GenType Telbaar Aantal",! + Kill Cache + Set KLNr=0 + Set BeginDatum=$$CALCDATE^vhLib.DataTypes($H,"BJ","FD",0) + Set EindDatum=+$H + For Set KLNr=$O(^KFA1("F",KLNr)) Quit:KLNr="" Do + . Set KlKey=^KK1(KLNr) + . Set Regio=$P(^KKL(KlKey,0),"\",20) + . Set Datum="" ; beginnen vanaf vandaag omdat orders van vorige maand ook in facturen van vandaag kunnen zitten + . For Set Datum=$O(^KFA1("F",KLNr,Datum)) Quit:Datum="" Do + . . Quit:-Datum>EindDatum + . . Quit:-DatumEinde . Quit:$P(Rec,"\",5)'=Magazijn . Quit:$P(Rec,"\",4)'=Actie - . ;W Rec, "->",Cumul,! - . Set Mnd=$$CALCDATE^vhLib.DataTypes(+$P(Rec,"\"),"M","FD") - . Set Mnd=+$P(Rec,"\") - . Set lb=$G(C(Mnd)) - . Set $li(lb)=$lg(lb)+1 - . Set Pal="" - . Set Found=0 - . For Set Pal=$O(^PRHIST(PRNr,Key,Pal)) Quit:Pal="" Do - . . Set $li(lb,2)=$lg(lb,2)+1 - . . Set Found=1 - . Set:'Found $li(lb,2)=$lg(lb,2)+1 - . Set C(Mnd)=lb + . Write PRNr,*9,KT,*9,$$$ExcelDat($P(Rec,"\")),*9,$$$ExcelNum($P(Rec,"\",2)),*9,Verpakking,! Quit @@ -627,7 +859,7 @@ All - Set Dev=$$OPEN^vhDEV(,"ProdBufferWeken2.txt","W","T") + Set Dev=0 ;$$OPEN^vhDEV(,"ProdBufferWeken2.txt","W","T") Use Dev Set PRNr="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do @@ -815,8 +1047,10 @@ q ; d ORDSTAT^PV($H-400,$H) -ORDINTAKE(Van,Tot) + +ORDINTAKE S Van=$$CALCDATE^vhLib.DataTypes($H,"M",-12,"FD") + ;S Van=$$CALCDATE^vhLib.DataTypes($H,"M",-1,"FD") S Tot=$$CALCDATE^vhLib.DataTypes($H,"M",-1,"LD") Set FaktVan=-Van Set Datum=-Tot-1 @@ -851,39 +1085,53 @@ . . . . . Else If ORDNr,$P(FakRec,D,2)?4.7N Do . . . . . . Set PRNr=$P(FakRec,D,2) . . . . . . Set GenTyp=$$GENTYP^HAD(PRNr,1) ; ook in KPRO - . . . . . . Set Omzet=$P(FakRec,D,34) - . . . . . . Set lb=^HULP(%J,"C",KLNr,ORDNr) . . . . . . If $P(GenTyp,"\")="TBX" Do - . . . . . . . Set $LI(lb,10)=$LG(lb,10)+1 - . . . . . . . Set $LI(lb,11)=$LG(lb,11)+Omzet - . . . . . . Else Do ; std - . . . . . . . Set $LI(lb,5)=$LG(lb,5)+1 - . . . . . . . Set $LI(lb,6)=$LG(lb,6)+Omzet - . . . . . . Set ^HULP(%J,"C",KLNr,ORDNr)=lb + . . . . . . . Set ^HULP(%J,"C",KLNr,ORDNr,$O(^HULP(%J,"C",KLNr,ORDNr,""),-1)+1)=FakRec s t2=$P($H,",",2) Set Dev=$$OPEN^vhDEV(,"OrderIntake.txt","W","T") Use Dev - Write "KLNr KLNm Regio SubDivisie Divisie ORDNr Dubbel OrdDat Week Maand EDI ProdGrp #L Omzet FactNr EdiRef",! + Write "KLNr KLNm Regio ORDNr OrdDat FactNr EdiRef LevDat Werkdagen Aantal PRNr KortTekst" + Do HeaderKenmerken^PVJB + Write ! Set KLNr="" For Set KLNr=$O(^HULP(%J,"C",KLNr)) Quit:KLNr="" Do . Set ORDNr="" . For Set ORDNr=$O(^HULP(%J,"C",KLNr,ORDNr)) Quit:ORDNr="" Do . . Set Rec0=^KKL(^KK1(KLNr),0) . . Set KLNm=$P(Rec0,D,2) . . Set Regio=$P(Rec0,D,20) - . . Set lb=^HULP(%J,"C",KLNr,ORDNr) - . . For I=5,10 Do ; STD en TBX - . . . Quit:'$LG(lb,I) - . . . Write KLNr,*9,KLNm,*9,Regio,*9,##class(Derde.Klant.Klant).SubDivisieFetch(Regio),*9,##class(Derde.Klant.Klant).DivisieFetch(Regio),*9,ORDNr,*9,$S(I=10&&$LG(lb,5):1,1:"") - . . . Write *9,$$EXTDATE^vhLib.DataTypes($LG(lb,2),"DK"),*9,"`"_$$EXTDATE^vhLib.DataTypes($LG(lb,2),"DW"),*9,$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($LG(lb,2),"M","FD"),"DK") - . . . Write *9,$S($LG(lb,3)?5.8N:"EDI",1:"OV"),*9,$S(I=5:"STD",1:"TBX"),*9,$LG(lb,I),*9,$$$ExcelNum($LG(lb,I+1)),*9,$LG(lb,4),*9,$LG(lb,3),! + . . Set lbOrder=^HULP(%J,"C",KLNr,ORDNr) + . . Set VolgNr="" + . . For Set VolgNr=$O(^HULP(%J,"C",KLNr,ORDNr,VolgNr)) Quit:VolgNr="" Do + . . . Set FakRec=^HULP(%J,"C",KLNr,ORDNr,VolgNr) + . . . Set PRNr=$P(FakRec,D,2) + . . . Do FetchKenmerken^PVJB(PRNr) + . . . Write KLNr,*9,KLNm,*9,Regio,*9,ORDNr + . . . Write *9,$$EXTDATE^vhLib.DataTypes($LG(lbOrder,2),"DK") + . . . Write *9,$LG(lbOrder,4),*9,$LG(lbOrder,3) + . . . Set DiffDate=$$DIFFDATE^vhLib.DataTypes($LG(lbOrder,2),$P(FakRec,D,25),"A") + . . . Write *9,$$$ExcelDat($P(FakRec,D,25)),*9,DiffDate,*9,$$$ExcelNum($P(FakRec,D,3)) + . . . Write *9,PRNr,*9,$P(^KPR(PRNr,0),D) + . . . Do WriteKenmerken + . . . W ! + ;Close:0'[Dev Dev Do CLOSE^vhDEV(Dev) s t3=$P($H,",",2) Write "Duur fetch=",t2-t1,! Write "Duur file=",t3-t2,! 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,$$$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) + Quit + KLANTVZW Set Dev=$$OPEN^vhDEV(,"KlantVZW.txt","W","T") Use Dev @@ -1780,3 +2028,4 @@ +