KMADMIN ;Kilometeradminstratie [ 03/21/96 1:42 PM ] Do:'$D(Q) INIT^vhTERMINA Set Van=$$CALCDATE^vhDTyp($H,"M",-1,"FD") Set Tot=$$CALCDATE^vhDTyp($H,"M",-1,"LD") Set IPNr="" Set Type="B" Do NIEUW^vhScherm("KMADMIN") Quit:'%SC Quit:'Van!'Tot!'IPNr Set Van=$$CALCDATE^vhDTyp(Van,"M","FD") Set Tot=$$CALCDATE^vhDTyp(Tot,"M","LD") Do INIT Do MAXPREV Do FETCH(Van,Tot,IPNr,Type) Do CALC(Van,Tot,Type) Do OUTPUT Do CLEAN Quit INIT Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Quit CLEAN Kill ^HULP(%J) Quit MAXPREV ; Ophalen van de eindstand van vorige maand Set Result="" Do FETCH($$CALCDATE^vhDTyp(Van,"M",-1,"FD"),$$CALCDATE^vhDTyp(Van,"M",-1,"LD"),IPNr,"M") Set ^HULP(%J,0)="Vorige eindstand"_D_D_Result Set ^HULP(%J,1)="" Set Privaat=Result Quit FETCH(Van,Tot,IPNr,Type) Set Datum=Van-1 Set VNr="" For Set Datum=$O(^VERSLAG("II",IPNr,Datum)) Quit:Datum=""!(Datum>Tot) Do .For Set VNr=$O(^VERSLAG("II",IPNr,Datum,VNr)) Quit:VNr="" Do ..Do @("FETCH"_Type) Quit CALC(Van,Tot,Type) Set PriveCum="" Set ZaakCum="" For Datum=Van:1:Tot Do .If '$D(^HULP(%J,Datum)),$$EXTDATE^vhDTyp(Datum,"DWN")<6 Set ^HULP(%J,Datum)=Datum_D_D_D_"V" ; Bijvoegen weekdag .Quit:'$D(^HULP(%J,Datum)) .Set:$D(^KBA("VP",Datum)) $P(^HULP(%J,Datum),D,4)="F" ; Firmaverlof .Set Rec=^HULP(%J,Datum) .Set Begin=$P(Rec,D,2),End=$P(Rec,D,3) .Quit:'Begin!'End .Set Zaak=End-Begin .Set Prive=Begin-Privaat .Set Privaat=End .Set PriveCum=PriveCum+Prive .Set ZaakCum=ZaakCum+Zaak .Set $P(^HULP(%J,Datum),D,5,6)=Zaak_D_Prive Set ^HULP(%J,999999998)="" Set ^HULP(%J,999999999)="Totaal"_D_D_D_D_ZaakCum_D_PriveCum Quit FETCHV ; Volledig, ook tussentijdse km per klant Quit FETCHB ; Beperkt, alleen dag kilometers Set Rec=^VERSLAG("D",VNr,0) Set Temp=$G(^HULP(%J,Datum),Datum) Set Begin=$P(Rec,D,10) Set End=$P(Rec,D,11) Set DagEnd=$P(Rec,D,12) Set:DagEnd>End End=DagEnd If Begin Set:$P(Temp,D,2)>Begin!'$P(Temp,D,2) $P(Temp,D,2)=Begin If End Set:$P(Temp,D,3)End End=DagEnd If End Set:Result