#include Prod.Product #include vhLib.Macro ; d ORDSTAT^PV($H-400,$H) FAKTBON Kill Cache s t1=$P($H,",",2) Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set KLNr="" For Set KLNr=$O(^KFA1("F",KLNr)) Quit:KLNr="" Do . 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 . . Set FAKNr="" . . For Set FAKNr=$O(^KFA1("F",KLNr,Datum,FAKNr)) Quit:FAKNr="" Do . . . Set Rec=$G(Cache(-Datum)) . . . If $P(^KFA("F",FAKNr,0,0),"\",2)="F" Do . . . . Set $P(Rec,"\",2)=$P(Rec,"\",2)+1 . . . Else Do . . . . Set $P(Rec,"\",3)=$P(Rec,"\",3)+1 . . . Set Cache(-Datum)=Rec . . . Set BONNr="U" . . . For Set BONNr=$O(^KFA("F",FAKNr,BONNr)) Quit:$E(BONNr)'="U" Do . . . . Set BonRec=^KFA("F",FAKNr,BONNr,1) . . . . Set Dat=$$INTDATE^vhLib.DataTypes($P(BonRec,"\",2)) . . . . Q:Dat="" . . . . Set Rec=$G(Cache(Dat)) . . . . Set $P(Rec,"\",1)=$P(Rec,"\",1)+1 . . . . Set Cache(Dat)=Rec Set Dev=$$OPEN^vhDEV(,"Bon Factuur.txt","W","T") Use Dev write "Datum LevBon Factuur CreditNota",! Set Datum="" For Set Datum=$O(Cache(Datum)) Quit:Datum="" Do . Write $$$ExcelDat(Datum),*9,$TR(Cache(Datum),"\",$C(9)),! Do CLOSE^vhDEV(Dev) Quit DeleteBonInProforma Set FAKNr=0 For Set FAKNr=$O(^KFAP("F",FAKNr)) Quit:FAKNr="" Do ;Quit:FAKNr>72000 Do . Set BONNr="U" . For Set BONNr=$O(^KFAP("F",FAKNr,BONNr)) Quit:$E(BONNr)'="U" Do . . If '$D(^KFAP("F",FAKNr,BONNr,1)) Do . . . Write FAKNr," ",BONNr,! . . . ;Kill ^KFAP("F",FAKNr,BONNr) Quit ; d ORDSTAT^PV($H-400,$H) NEWSOBEL Set Dev=$$OPEN^vhDEV(,"NEW SOBELWOOD.txt","W","T") Use Dev S Van=$$CALCDATE^vhLib.DataTypes($H,"M",-24,"FD") S Tot=$$CALCDATE^vhLib.DataTypes($H,"M",-1,"LD") Set ChkKLNr=9365 Set FaktVan=-Van Set Datum=-Tot-1 Set Omzet=0 ;W Datum," ",Van,! s t1=$P($H,",",2) Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set KLNr="" For Set KLNr=$O(^KFA1("F",KLNr)) Quit:KLNr="" Do . Quit:KLNr'=ChkKLNr . 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="" Quit:Datum>FaktVan Do . . Set FAKNr="" . . For Set FAKNr=$O(^KFA1("F",KLNr,Datum,FAKNr)) Quit:FAKNr="" Do . . . Set BONNr="U" . . . For Set BONNr=$O(^KFA("F",FAKNr,BONNr)) Quit:$E(BONNr)'="U" Do . . . . Set LNr=99 . . . . For Set LNr=$O(^KFA("F",FAKNr,BONNr,LNr)) Quit:LNr="" Do . . . . . Set FakRec=^KFA("F",FAKNr,BONNr,LNr) . . . . . If $P(FakRec,D,17)="KF5" Do . . . . . Else If $P(FakRec,D,2)?4.7N Do . . . . . . Set PRNr=$P(FakRec,D,2) . . . . . . Set GenTyp=$$GENTYP^HAD(PRNr,1) ; ook in KPRO . . . . . . Quit:$P(GenTyp,"\")'="KAD" . . . . . . Set Omzet=$P(FakRec,D,34) . . . . . . Set Qty=$P(FakRec,D,3) . . . . . . If $D(^KPR(PRNr)) Do . . . . . . . Set Rec0=^KPR(PRNr,0) . . . . . . Else Do . . . . . . . Set Rec0=^KPRO(PRNr,0) . . . . . . Write PRNr,*9,$P(Rec0,"\",1),*9,$$$ExcelDat(-Datum),*9,Qty,! Do CLOSE^vhDEV(Dev) Quit BONIMG ;Orgalux fakturen Set FAKNr=899999 Kill Bon Set blImageLink=##class(BL.Prod.ImageLink).Instantiate() Set Dev=0 ;Set Dev=$$OPEN^vhDEV(,"FAKTHALUX.TXT","W") Use Dev Set FakCnt=0 Set Cnt=0 For Set FAKNr=$O(^KFA("F",FAKNr)) Quit:FAKNr="" Do Quit:FAKNr>990000 .;Quit:'$$ISORGAL^FLOW("F",FAKNr) .Set Rec=^KFA("F",FAKNr,0,0) .Set Dat=$P(Rec,D,6) .Set Dat=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes(Dat),"M","FD"),"DM4")_" " .Set KLNr=$P(Rec,D,1) .Set KLNaam=$P(^KKL(^KK1(KLNr),0),D,2) .Set FakCnt=FakCnt+1 .Set ULNr="U" . Set $P(Bon(Dat),"\",4)=$P($G(Bon(Dat)),"\",4)+1 . For Set ULNr=$O(^KFA("F",FAKNr,ULNr)) Quit:ULNr="" Do .. Set LNr=100 .. Set $P(Bon(Dat),"\",1)=$P($G(Bon(Dat)),"\",1)+1 .. ;w !!,FAKNr," ",ULNr .. For Set LNr=$O(^KFA("F",FAKNr,ULNr,LNr)) Quit:LNr="" Do ... Set FRec=^(LNr) ... Set PRNr=$P(FRec,"\",2) ... ;w !," ",$P(FRec,"\",1,6)," ",PRNr ... Quit:PRNr'?4.7N ... Set $P(Bon(Dat),"\",2)=$P($G(Bon(Dat)),"\",2)+1 ... Set Img=blImageLink.GetProductImageURL(PRNr, "LABEL") ... Quit:Img="" ... ;W " ->",Img ... Set $P(Bon(Dat),"\",3)=$P($G(Bon(Dat)),"\",3)+1 Do CLOSE^vhDEV(Dev) w !,FakCnt,! zw Bon Quit PVFAKT ;Fakturen afdrukken [ 11/08/2003 8:27 PM ] SPEC Kill Do INIT^vhTERMINA Set FAKNr="" For Set FAKNr=$O(^KFAP("F",FAKNr)) Quit:FAKNr="" Do .Set Rec=^KFAP("F",FAKNr,0,0) .Set KLNr=$P(Rec,D,1) .Set ULNr="U" .Set Dat=$P(Rec,D,6) .Quit:$$INTDATE^vhLib.DataTypes(Dat)<53872 .For Set ULNr=$O(^KFAP("F",FAKNr,ULNr)) Quit:ULNr="" Do ..Set BON=$E(ULNr,2,99) ..Quit:$D(^KU1(BON)) ..Write KLNr,"*",BON,"*",FAKNr,"*",Dat,! ..Set ^KU1(BON,"F")=KLNr_D_FAKNr_D ..Set ^KU1(BON,"F",FAKNr)="" Q Orders ;Orgalux fakturen Kill Do INIT^vhTERMINA Set FAKNr=299999 Set Dev=0 Set Dev=$$OPEN^vhDEV(,"FAKTTEL.TXT","W") Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Use Dev Set Cnt=0 For Set FAKNr=$O(^KFA("F",FAKNr)) Quit:FAKNr="" Do Quit:FAKNr>490000 .Set Rec=^KFA("F",FAKNr,0,0) .Set Dat=$P(Rec,D,6) .Set Mnd=$$CALCDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes(Dat),"M","FD") .Set Mnd=$$EXTDATE^vhLib.DataTypes(Mnd,"DK") .Set KLNr=$P(Rec,D,1) .Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) .Set ULNr="U" .Set (UCnt,LCnt,OCnt)=0 .For Set ULNr=$O(^KFA("F",FAKNr,ULNr)) Quit:ULNr="" Do ..Set LNr=100 ..Set UCnt=UCnt+1 ..For Set LNr=$O(^KFA("F",FAKNr,ULNr,LNr)) Quit:LNr="" Do ...Set FRec=^(LNr) ...Set PRNr=$P(FRec,D,2) ...If $P(FRec,D,17)="KF5" Do ....Set ORDNr=$P($P(FRec,D,5)," ") ....Quit:ORDNr'?6N ....Quit:$D(^HULP(%J,ORDNr)) ....S OCnt=OCnt+1 ....S ^HULP(%J,ORDNr)="" ...Set:PRNr?4.7N LCnt=LCnt+1 .Write KLNr,$C(9),KLNm,$C(9),FAKNr,$C(9),$TR(Mnd,".","-"),$C(9),UCnt,$C(9),OCnt,$C(9),LCnt,! Kill ^HULP(%J) Close:0'[Dev Dev Quit OMZETOL ;Orgalux fakturen Kill Do INIT^vhTERMINA Set FAKNr=199999 Set Dev=0 Set Dev=$$OPEN^vhDEV(,"FAKTHALUX.TXT","W") Use Dev Set Cnt=0 For Set FAKNr=$O(^KFA("F",FAKNr)) Quit:FAKNr="" Do Quit:FAKNr>390000 .Quit:'$$ISORGAL^FLOW("F",FAKNr) .Set Rec=^KFA("F",FAKNr,0,0) .Set Dat=$P(Rec,D,6) .Set Mnd=$$CALCDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes(Dat),"M","FD") .Set KLNr=$P(Rec,D,1) .Set KLNaam=$P(^KKL(^KK1(KLNr),0),D,2) .Set ULNr="U" .For Set ULNr=$O(^KFA("F",FAKNr,ULNr)) Quit:ULNr="" Do ..Set LNr=100 ..For Set LNr=$O(^KFA("F",FAKNr,ULNr,LNr)) Quit:LNr="" Do ...Set FRec=^(LNr) ...Set PRNr=$P(FRec,D,2) .Write KLNr,$C(9),KLNm,$C(9),FAKNr,$C(9),$TR(Dat,".","-"),$C(9),ULNr,$C(9) Close:0'[Dev Dev Quit OMZETHAL Kill Do INIT^vhTERMINA Set FAKNr=199999 Set Dev=0 Set Dev=$$OPEN^vhDEV(,"FAKTHALUX.TXT","W") Use Dev Set Cnt=0 For Set FAKNr=$O(^KFA("F",FAKNr)) Quit:FAKNr="" Do Quit:FAKNr>390000 .Quit:'$$ISORGAL^FLOW("F",FAKNr) .Set Rec=^KFA("F",FAKNr,0,0) .Set Dat=$P(Rec,D,6) .Set Mnd=$$CALCDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes(Dat),"M","FD") .Set KLNr=$P(Rec,D,1) .Set KLNaam=$P(^KKL(^KK1(KLNr),0),D,2) .Set ULNr="U" .For Set ULNr=$O(^KFA("F",FAKNr,ULNr)) Quit:ULNr="" Do ..Set LNr=100 ..For Set LNr=$O(^KFA("F",FAKNr,ULNr,LNr)) Quit:LNr="" Do ...Set FRec=^(LNr) ...Set PRNr=$P(FRec,D,2) ...Set RekNr=$P(FRec,D,1) ...Quit:RekNr'="703100 " ...Set Type=$P(FRec,D,17) ...If Type'["KF1925"&(Type'["KF6") Quit ...W:Type'["KF6" Type," " ...If 'PRNr Write FAKNr," ",ULNr," ",LNr,! ...;Quit:'$D(^KPR(PRNr,"J6332")) ...Set GenNr=$P($G(^KPR(PRNr,0)),D,3) ...Set StatOmz=$P(FRec,D,33) ...Set StatAkp=$P(FRec,D,34) ...Set Qty=$P(FRec,D,3) ...Set GRec=$G(^KPR(PRNr,"G")) ...;Quit:GRec="" ...;Set ProfType=$P(GRec,D,2) ...;Quit:ProfType="" ...;Set MinVrGl=$P(^RES("HAD","PI","PROFIEL","D",ProfType),"`",3) ...;Set Hoogte=$P(GRec,D,8) ...;Set Breedte=$P(GRec,D,9) ...;Set Vulling=$P(GRec,D,10) ...Set $P(Cumul(Mnd),D,1)=$P($G(Cumul(Mnd)),D,1)+StatOmz ...Set $P(Cumul(Mnd),D,2)=$P($G(Cumul(Mnd)),D,2)+StatAkp ...Set Cnt=Cnt+1 Set Mnd="" Write $TR("Maand;Verkoop;Aankoop",";",$C(9)),! For Set Mnd=$O(Cumul(Mnd)) Quit:Mnd="" Do .Write $TR($$EXTDATE^vhLib.DataTypes(Mnd,"DK"),".","/"),$C(9) .Write $TR($P(Cumul(Mnd),D,1),".",","),$C(9) .Write $TR($P(Cumul(Mnd),D,2),".",","),! Close:0'[Dev Dev Quit SPECE Kill Do INIT^vhTERMINA Set FAKNr=1000 Set Dev=0 Set Dev=$$OPEN^vhDEV("c:\","FAKTPHALUX.TXT","W") Use Dev For Set FAKNr=$O(^KFAP("F",FAKNr)) Quit:FAKNr="" Do Quit:FAKNr>200000 .Set Rec=^KFAP("F",FAKNr,0,0) .Set KLNr=$P(Rec,D,1) .Quit:'$D(^KK1(KLNr)) .Set KLNaam=$P(^KKL(^KK1(KLNr),0),D,2) .Set ULNr="U" .For Set ULNr=$O(^KFAP("F",FAKNr,ULNr)) Quit:ULNr="" Do ..Set LNr=100 ..For Set LNr=$O(^KFAP("F",FAKNr,ULNr,LNr)) Quit:LNr="" Do ...Set FRec=$TR(^(LNr),".",",") ...Set PRNr=$P(FRec,D,2) ...Quit:'PRNr ...Quit:'$D(^KPR(PRNr,"J6332")) ...Set GenNr=$P($G(^KPR(PRNr,0)),D,3) ...Quit:(GenNr'=33139)&(GenNr'=51240) ;Afgeleid van GEN.HALUX ...Set StatOmz=$P(FRec,D,33) ...Set StatMar=$P(FRec,D,34) ...Set Qty=$P(FRec,D,3) ...Set GRec=$G(^KPR(PRNr,"G")) ...Quit:GRec="" ...Set ProfType=$P(GRec,D,2) ...Quit:ProfType="" ...;Set MinVrGl=$P(^RES("HAD","PI","PROFIEL","D",ProfType),"`",3) ...Set Hoogte=$P(GRec,D,8) ...Set Breedte=$P(GRec,D,9) ...Set Vulling=$P(GRec,D,10) ...Write !,KLNr,$C(9),KLNaam,$C(9),FAKNr,$C(9),"01."_$E($P(Rec,D,6),4,9),$C(9),ProfType,$C(9),Vulling,$C(9),Hoogte,$C(9),Breedte,$C(9),Qty,$C(9),$TR(StatOmz,".",","),$C(9),$TR(StatMar,".",",") Close:0'[Dev Dev Quit ERR R K Quit DAGOMZ Kill Do INIT^vhTERMINA Set FAKNr=299999 Set Dev=0 Set Dev=$$OPEN^vhDEV($$DIRUSER^vhDEV,"FAKDAGOMZ.TXT","W") Use Dev Kill Som For Set FAKNr=$O(^KFA("F",FAKNr)) Quit:FAKNr="" Quit:FAKNr>399999 Do .Kill Som .Set Dat=$P(^KFA("F",FAKNr,0,0),D,6) .Set KLNr=$P(^KFA("F",FAKNr,0,0),D,1) .Set Som=$G(Som(Dat)) .Set ULNr="U" .For Set ULNr=$O(^KFA("F",FAKNr,ULNr)) Quit:ULNr="" Do ..Set LNr=100 ..For Set LNr=$O(^KFA("F",FAKNr,ULNr,LNr)) Quit:LNr="" Do ...Set FRec=^(LNr) ...;Quit:'$P(FRec,D,2) ...Set VKP=$P(FRec,D,33) ...Set AKP=$P(FRec,D,34) ...Set $P(Som,D,1)=$P(Som,D,1)+VKP ...Set $P(Som,D,2)=$P(Som,D,2)+AKP .Set Som(Dat)=Som .Write FAKNr,$C(9),KLNr,$C(9),$TR(Dat,".","/"),$C(9),$TR($P(Som,D,1),".",","),$C(9),$TR($P(Som,D,2),".",","),! Set Dat="" ;For Set Dat=$O(Som(Dat)) Quit:Dat="" Do .Write FAKNr,$C(9),KLNr,$C(9),$TR(Dat,".","/"),$C(9),$TR($P(Som(Dat),D,1),".",","),$C(9),$TR($P(Som(Dat),D,2),".",","),! Close:0'[Dev Dev