#include Prod.Product #include vhLib.Macro ; d EXPORT^PVOrdIntake($H-400,$H) EXPORT(Van,Tot) S Van=$$CALCDATE^vhDTyp($H,"M",-12,"FD") S Tot=$$CALCDATE^vhDTyp($H,"M",-1,"LD") 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 . 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" . . . Set ORDNr="" . . . 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 . . . . . . Set ORDNr=$P($P(FakRec,D,5)," - ") . . . . . . Quit:$D(^HULP(%J,"C",KLNr,ORDNr)) . . . . . . Set ORDDat=$$INTDATE^vhDTyp($P($P(FakRec,D,5)," - ",2),"DK") . . . . . . If (ORDDatTot) Set ORDNr="" Quit . . . . . . Set EDIRef=$P(FakRec,D,21) . . . . . . If (EDIRef'?4.8N)&&(KLNr=1239)&&($P(FakRec,D,5)["EDI") Do . . . . . . . Set EDIRef=$P($P(FakRec,D,5),"EDI",2) . . . . . . . Set EDIRef=$P($P(EDIRef,"."),"/") . . . . . . . Set EDIRef=$$TRIMN^vhRtn1(EDIRef) . . . . . . Set ^HULP(%J,"C",KLNr,ORDNr)=$Lb(ORDNr,ORDDat,EDIRef,FAKNr) . . . . . 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 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",! 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^vhDTyp($LG(lb,2),"DK"),*9,"`"_$$EXTDATE^vhDTyp($LG(lb,2),"DW"),*9,$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp($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),! ;Close:0'[Dev Dev Do CLOSE^vhDEV(Dev) s t3=$P($H,",",2) Write "Duur fetch=",t2-t1,! Write "Duur file=",t3-t2,! Quit