ULTOER2 ;Toerlijst Transfer ; [ 11/08/2003 8:42 PM ] ; TRANSBON ; Transfer naar bestand van de leveringsbons BONLABEL ;0:BonNr;1:Datum;2:KlantNr;0:KLNm;3:Land;4:PostCode;5:Gemeente;6:Regio;7:FaktCredit;8:Status;9:Vzw;10:Gewicht;11:#OL;12:Omzet;13:Marge;20:#Pal;21:#Col;22:#Lang;15:Straat+nr New Gew,I,ULNr,KLNr,FakSoort,Rec,VerzW,VervRef,GroepNr For I=1:1:ULTOER(9) Do .Set RecT="" .Set ULNr=$P(^HULP(%J,"D",I),D) .Set KLNr=$P(^HULP(%J,"D",I),D,3) .For FakSoort="F","G","M" Quit:$D(^KUL(KLNr,FakSoort,ULNr)) .Set Rec=$G(^KUL(KLNr,FakSoort,ULNr,1)) .Set VervRef=$P($P(Rec,D,8),";"),GroepNr=$P($P(Rec,D,8),";",2) .Set RecA=$G(^KUL(KLNr,FakSoort,ULNr,3)) .Set:$$UPTRIMA^vhRtn1(RecA)="" RecA=$G(^KKL(^KK1(KLNr),0)) .Set $P(RecT,D,1)=$P(Rec,D,2) .Set $P(RecT,D,2)=KLNr .Set $P(RecA,D,8)=$$LAND^vhRtn1($P(RecA,D,8)) ; Default Belgie .Set $P(RecT,D,3)=$P(RecA,D,8) ; Land .Set $P(RecT,D,4)=$P(RecA,D,6) ; Postkode .Set $P(RecT,D,5)=$P(RecA,D,7) ; Gemeente .Set $P(RecT,D,6)=$P($G(^KKL($G(^KK1(KLNr),"*"),0)),D,20) ; Regio .Set $P(RecT,D,7)=$P(Rec,D,26) ; Terugname;Gemengd .Set $P(RecT,D,8)=$S(FakSoort="G":"F",FakSoort="M":"P",1:"") .Set $P(RecT,D,9)=$P($P(Rec,D,7),"#") ; VZW .Set $P(RecT,D,10)=$TR($P($P(Rec,D,13),"#",3),".",",") ; Gewicht .Set $P(RecT,D,15)=$P(RecA,D,5) ; Straat + nr .Set OLNr=100,Cnt=0 .Set (Omzet,Aankoop)=0 .For Set OLNr=$O(^KUL(KLNr,FakSoort,ULNr,OLNr)) Quit:'OLNr Do ..Set OLRec=^(OLNr) ..Quit:$P(OLRec,D,2)'?4.7N ..Set Omzet=Omzet+($P(OLRec,D,9)/$$MUNTPAR^vhRtn1($P(OLRec,D,22))) ..Set PRNr=$P(OLRec,D,2) ..If PRNr Do ...New Key,CifPPL ...Set Key=$O(^KPR(PRNr,"J")) Quit:$E(Key)'="J" ...Set CiffPPL=$P(^KPR(PRNr,Key),D,23) ...Set Aankoop=Aankoop+(CiffPPL*$P(OLRec,D,3)) ..Set Cnt=Cnt+1 .Set $P(RecT,D,11)=Cnt ; Aantal lijnen .Set $P(RecT,D,12)=$TR(+$J(Omzet,0,2),".",",") .Set $P(RecT,D,13)=$TR(+$J(Omzet-Aankoop,0,2),".",",") .If $L(VervRef),GroepNr=ULNr Do ..Set $P(RecT,D,20)=$P($G(^TRANSP("D",VervRef,"D",GroepNr,"Q","E")),D) ..Set $P(RecT,D,21)=$P($G(^TRANSP("D",VervRef,"D",GroepNr,"Q","C")),D) ..Set $P(RecT,D,22)=$P($G(^TRANSP("D",VervRef,"D",GroepNr,"Q","L")),D) .Set ^HULP(%J,"TRANS",ULNr)=RecT Quit:'$D(^HULP(%J,"TRANS")) Set Dev=$$OPEN^vhDEV($$DIRUSER^vhDEV,$$ASKFILE^vhDEV("TRANSBON.txt"),"W") Quit:0[Dev Use Dev Set BonLabel=$T(BONLABEL) For I=2:1:20 Write:I>2 $C(9) Write $P($P(BonLabel,";",I),":",2) Write ! Set ULNr="" For Set ULNr=$O(^HULP(%J,"TRANS",ULNr)) Quit:ULNr="" Do .Set RecT=^HULP(%J,"TRANS",ULNr) .Set KLNr=$P(RecT,D,2) .Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) .Write ULNr,$C(9),$P(RecT,D,1),$C(9),KLNr,$C(9),KLNm .For I=3:1:13,20:1:22,15 Write $C(9),$P(RecT,D,I) .Write ! Close Dev Quit ; FETCH(Max,Date) New VerzWz,Beperk,Sort,LVerzWz,ULNr,KLNr,R,Type,SortKey,IsTerugN,VerzType,VervRef,ORDNr New KlantInd,KlantNm,PostKode,Gemeente,Land,FakSoort Kill ^HULP(%J,"T") Set LVerzWz=$P(Kriteria,D,3),VerzType=$P(Kriteria,D,7) Set VerzWz=LVerzWz_" " If $L(VerzWz) Set VerzWz=$O(^KU3(Date,VerzWz),-1) Set Beperk=$P(Kriteria,D,4),Sort=$P(Kriteria,D,5) For Set VerzWz=$O(^KU3(Date,VerzWz)) Quit:VerzWz=""!($E(VerzWz,1,$L(LVerzWz))'=LVerzWz) Do .Set ULNr="" .For Set ULNr=$O(^KU3(Date,VerzWz,ULNr)) Quit:ULNr="" Do ..Set R=^KU3(Date,VerzWz,ULNr),KLNr=$P(R,D),FakSoort=$P(R,D,2) ..Quit:'$D(^KUL(KLNr,FakSoort,ULNr)) ..If "\O\T\"[(D_Beperk_D),FakSoort'="F" Quit ..If $L(VerzType) Set IsTerugN=$$ISTERUGN^FLOWBON5(ULNr) Quit:$P("L\T",D,IsTerugN+1)'=VerzType ..If $D(BulkGroep) Quit:$L($P(^KUL(KLNr,FakSoort,ULNr,1),D,38)) Set BONNrs(ULNr)="" ..Set Type=$P("O\\F\F",D,$F("FXGM",FakSoort)-1) ..If "A"'[Beperk,"T"'[Beperk,Type'=Beperk Quit ..Set R=$$FETCHL(KLNr,ULNr,FakSoort),VervRef=$P($P(R,D,13),";") ..If Beperk["T",VervRef,##Class(BL.Flow.Cons.TransportData).IsClosed(VervRef) Quit ; Beperking openstaande en niet op transport ..Set SortKey=ULNr If Sort'="B" Set SortKey=KlantInd_SortKey If Sort'="K" Set SortKey=PostKode_SortKey If Sort'="P" Set SortKey=VerzWz_KlantInd_SortKey ..Set ^HULP(%J,"T",SortKey)=R Set ULNr="" If Beperk'="F" For Set ULNr=$O(^ORDW("D",ULNr)) Quit:ULNr="" Do:'$D(^KU1(ULNr)) .Set R=^ORDW("D",ULNr),KLNr=$P(R,D),FakSoort="W" .Quit:$P(R,D,2)'?1(1"P",1"W") ;status (alleen diegene die inverwerking zijn of wachten op verwerking) .Quit:-$P(R,D,5)'=Date .Set ORDNr=$O(^ORDW("D",ULNr,"D","")) .Quit:'$D(^KOD(KLNr,"F",ORDNr)) .If $L(VerzType) Set IsTerugN=$$ISTERUGN^EWORDS3(ULNr) Quit:$P("L\T",D,IsTerugN+1)'=VerzType .Set Type="O" .If "A"'[Beperk,"T"'[Beperk,Type'=Beperk Quit .Set R=$$FETCHL(KLNr,ULNr,FakSoort),VervRef=$P($P(R,D,13),";"),VerzWz=$P(R,D,12) .Quit:$E(VerzWz,1,$L(LVerzWz))'=LVerzWz .If Beperk["T",VervRef,##Class(BL.Flow.Cons.TransportData).IsClosed(VervRef) Quit ; Beperking openstaande en niet op transport .Set SortKey=ULNr If Sort'="B" Set SortKey=KlantInd_SortKey If Sort'="K" Set SortKey=PostKode_SortKey If Sort'="P" Set SortKey=VerzWz_KlantInd_SortKey .Set ^HULP(%J,"T",SortKey)=R Set SortKey="",Count=Max For Set SortKey=$O(^HULP(%J,"T",SortKey)) Quit:SortKey="" Set Count=Count+1,^HULP(%J,"D",Count)=^HULP(%J,"T",SortKey) Kill ^HULP(%J,"T") Quit Count ; FETCHL(KLNr,ULNr,FakSoort) New R,KlantNm,Gemeente,Land,Type,Proforma,IsTerugN,ORDNr,VerzWz,LevDate If '$D(FakSoort) Set FakSoort="F" Set:'$D(^KUL(KLNr,FakSoort,ULNr)) FakSoort="G" If FakSoort="G",'$D(^KUL(KLNr,FakSoort,ULNr)) Set FakSoort="M" Do:FakSoort'="W" .Set R=^KUL(KLNr,FakSoort,ULNr,1) .Set Type=$P(R,D,28),Proforma="" .Set:$P(R,D,25)="M"!($P(R,D,25)="P") Proforma=$P(R,D,25)_$S($P(R,D,29)["P":"m",1:"z") .Set KlantInd=^KK1(KLNr),R=$G(^KUL(KLNr,FakSoort,ULNr,3)) .If '$P(R,D) Set R=^KKL(KlantInd,0) .Set KlantNm=$P(R,D,2),PostKode=$P(R,D,6),Gemeente=$P(R,D,7) .Set Land=$$LAND^vhRtn1($P(R,D,8)),IsTerugN=$$ISTERUGN^FLOWBON5(ULNr) .Set R=ULNr_D_Type_D_KLNr_D_KlantNm_D_$S(Land'="BE":Land_"-",1:"")_Gemeente .Set R=R_D_^KUL(KLNr,FakSoort,ULNr,1),$P(R,D,50)=Proforma,$P(R,D,51)=IsTerugN .Set KlantInd=$$UPTRIMAN^vhRtn1(KlantNm)_" "_KLNr Do:FakSoort="W" .Set R=^ORDW("D",ULNr),VerzWz=$P(R,D,2),LevDate=$P(R,D,5),ORDNr=$O(^ORDW("D",ULNr,"D","")) .Set R=^KOD(KLNr,"F",ORDNr,1) .Set Type="W",Proforma="" .Set:$P(R,D,25)="M"!($P(R,D,25)="P") Proforma=$P(R,D,25)_$S($P(R,D,29)["P":"m",1:"z") .Set KlantInd=^KK1(KLNr),R=$G(^KOD(KLNr,"F",ORDNr,3)) .If '$P(R,D) Set R=^KKL(KlantInd,0) .Set KlantNm=$P(R,D,2),PostKode=$P(R,D,6),Gemeente=$P(R,D,7) .Set Land=$$LAND^vhRtn1($P(R,D,8)),IsTerugN=$$ISTERUGN^EWORDS3(ULNr) .Set R=ULNr_D_Type_D_KLNr_D_KlantNm_D_$S(Land'="BE":Land_"-",1:"")_Gemeente .Set R=R_D_^KOD(KLNr,"F",ORDNr,1),$P(R,D,50)=Proforma,$P(R,D,51)=IsTerugN,$P(R,D,7)=$$EXTDATE^vhDTyp(LevDate),$P(R,D,12)=VerzWz_" " .Set KlantInd=$$UPTRIMAN^vhRtn1(KlantNm)_" "_KLNr Quit R