Function AusgabeAnlageKFZFlottenRechnung(_self, nTan, nVSSt_Satz, cFaellig, cBis, nWaehrung)
//-DEFAULTSCRIPT-//
// -----------------------------------------
// 'Rechnung'
// -----------------------------------------
local nYTemp
local nRandLinks
local nRandOben
local nRandRechts
local nRandUnten
local nSchriftgroesse
local lNewPage
local cWaehrung
local nTab1
local nTab2
local nTab2a
local nTab3
local nTab4
local nTab5
local nTab6

local nPRH 
local nPRK
local nIUVP
local nSchutzbr
local nVSSt
local nKaskoID
local nSBTK
local nSBVK
local nIU_Inval
local nIU_Tod

local nSumGesProSt
local nSumGesSt
local nSumGesPrmSt
local nTeilSumProSt
local nTeilSumPrmSt

local aRecno
local n

nRandLinks := 200
nRandOben := 180
nRandRechts := 200
nRandUnten := 150
nSchriftgroesse := 25

lNewPage := .T.

nTab1 := 0
nTab2 := 300
nTab2a := 750
nTab3 := 1210
nTab4 := 1900
nTab5 := 2200

nYTemp := 0

IF nWaehrung == 0
  cWaehrung := " DM"
ELSE
  cWaehrung := " €"
ENDIF

nSumGesProSt := 0
nSumGesSt := 0
nSumGesPrmSt := 0
nTeilSumProSt := 0
nTeilSumPrmSt := 0


// ------------------------------
// Recno in Array
// ------------------------------
aRecno := _self:pdf_aGetSortInkFzWagnisRecnoFromTan(nTan)

IF len(aRecno) > 0
 FOR n := 1 to len(aRecno)
  _self:_dbgoto("DBInkFZWagnis", aRecno[n])
   // ------------------------------
   // neue Seite
   // ------------------------------
   IF lNewPage == .T.
     nYTemp := 0
     lNewPage := .F.
     _SELF:seite_neue_seite()
     _SELF:seite_waehle_papierformat( _self:_papier_A4(), _self:_format_querformat() )
     _SELF:seite_setze_raender( nRandLinks, nRandOben, nRandRechts, nRandUnten )

     // ------------------------------
     // Seitennummer für Anlage
     // ------------------------------
     _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
     _SELF:waehle_farbe( _self:_farbe_schwarz() )
     _SELF:waehle_schrift( "ARIAL", 25, _self:_schrift_roman(), _self:_attr_normal() )
     _SELF:txt_gerichtet(_SELF:seite_y_ausdehnung()+30,_self:_txt_zentriert(),"-"+trim(str(_self:doc_anzahl_seiten()))+" -")

     nTab6 := _SELF:seite_x_ausdehnung()
     // ----------------------------
     // Kopfzeile
     // ----------------------------
     _SELF:waehle_schrift( "ARIAL", nSchriftgroesse, _self:_schrift_roman(), _self:_attr_normal() )
     ExecuteScript(AusgabeText, _self, nYTemp, _self:_TXT_LINKS(), _SELF:cTxt_KopfZeile,25)
     _SELF:txt_gerichtet(nYTemp,_self:_txt_rechts(),"Anlage zu "+_SELF:_dbfieldget("DBInkFZWagnis", "VSNR"))
     nYTemp := nYTemp + 40
     // ----------------------------
     // Linie
     // ----------------------------
     _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
     _SELF:gdi_line(0,nYTemp,_SELF:seite_x_ausdehnung(),nYTemp)
     _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
     nYTemp := nYTemp + 10
     // ----------------------------
     // Spaltenüberschriften
     // ----------------------------
     _SELF:txt_absolut(nTab1,nYTemp,"Produkt / versicherte Gefahr")
     _SELF:txt_absolut(nTab3,nYTemp,"Abrechnungszeitraum")
     _SELF:txt_bereich(0,nYTemp,nTab4,nYTemp+40,_self:_txt_rechts(),"Betrag o. VSSt.")
     _SELF:txt_bereich(0,nYTemp,nTab5,nYTemp+40,_self:_txt_rechts(),"VSSt.")
     _SELF:txt_bereich(0,nYTemp,nTab6,nYTemp+40,_self:_txt_rechts(),"Betrag incl. VSSt.")
     nYTemp := nYTemp + 40
     // ----------------------------
     // Linie
     // ----------------------------
     _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
     _SELF:gdi_line(0,nYTemp,_SELF:seite_x_ausdehnung(),nYTemp)
     _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
     nYTemp := nYTemp + 10
   ENDIF

   // ----------------------------
   // Ausgabe pro KFz
   // ----------------------------
   nPRH := _SELF:_dbfieldget("DBInkFZWagnis", "PRH")
   nPRK := _SELF:_dbfieldget("DBInkFZWagnis", "PRK")
   nIUVP := _SELF:_dbfieldget("DBInkFZWagnis", "IUVP")
   nSchutzbr := _SELF:_dbfieldget("DBInkFZWagnis", "SCHUTZBR")
   nKaskoID := _self:pdf_Art2KaskoID(_SELF:_dbfieldget("DBInkFZWagnis","ART"))
   nSBTK := _SELF:_dbfieldget("DBInkFZWagnis", "SBTK")
   nSBVK := _SELF:_dbfieldget("DBInkFZWagnis", "SBVK")
   nIU_Inval := _SELF:_dbfieldget("DBInkFZWagnis", "IU_INVAL")
   nIU_Tod := _SELF:_dbfieldget("DBInkFZWagnis", "IU_TOD")
 
   nTeilSumPrmSt := 0
   nTeilSumProSt := 0

   // ------------------------------
   // Kennzeichen
   // ------------------------------
   _SELF:waehle_schrift( "ARIAL", nSchriftgroesse, _self:_schrift_roman(), _self:_attr_fett() )
   _SELF:txt_absolut(nTab1,nYTemp,_SELF:_dbfieldget("DBInkFZWagnis", "KENN"))
   _SELF:txt_absolut(nTab2,nYTemp,_SELF:_dbfieldget("DBInkFZWagnis", "VSNR_UNTER"))
   _SELF:waehle_schrift( "ARIAL", nSchriftgroesse, _self:_schrift_roman(), _self:_attr_normal() )
   nYTemp := nYTemp + 30
   // ------------------------------
   // HV
   // ------------------------------
   IF nPRH != 0
     _SELF:txt_absolut(nTab1,nYTemp,"Haftpflicht")
     _SELF:txt_absolut(nTab2,nYTemp,_SELF:_dbGetMarketgnBeschrbg(26, _SELF:_dbfieldget("DBInkFZWagnis", "DECKUNG")))
     _SELF:txt_absolut(nTab3,nYTemp,cFaellig+" - "+cBis)      
     nVSSt := round((nPRH/(100+nVSSt_Satz)) * nVSSt_Satz,2)
     _SELF:txt_bereich(0,nYTemp,nTab4,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nPRH-nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab5,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab6,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nPRH))+cWaehrung)     
 
     nSumGesProSt := nSumGesProSt + (nPRH-nVSSt)
     nSumGesSt := nSumGesSt + nVSSt
     nSumGesPrmSt := nSumGesPrmSt + nPRH
     nTeilSumProSt := nTeilSumProSt + (nPRH-nVSSt)
     nTeilSumPrmSt := nTeilSumPrmSt + nPRH

     nYTemp := nYTemp + 30
   ENDIF
   // ------------------------------
   // Kasko
   // ------------------------------
   IF nPRK != 0
     IF nKaskoID == _self:pdf_nKFZTKID()
       _SELF:txt_absolut(nTab1,nYTemp,"Teilkasko")
       _SELF:txt_absolut(nTab2,nYTemp,"SB TK: "+_SELF:pdf_SetDecPoint(Str(nSBTK)))
     ELSEIF nKaskoID == _self:pdf_nKFZVKID()
       _SELF:txt_absolut(nTab1,nYTemp,"Vollkasko")
       _SELF:txt_absolut(nTab2,nYTemp,"SB TK: "+_SELF:pdf_SetDecPoint(Str(nSBTK)))
       _SELF:txt_absolut(nTab2a,nYTemp,"SB VK: "+_SELF:pdf_SetDecPoint(Str(nSBVK)))
     ENDIF 
     _SELF:txt_absolut(nTab3,nYTemp,cFaellig+" - "+cBis)      
     nVSSt := round((nPRK/(100+nVSSt_Satz)) * nVSSt_Satz,2)
     _SELF:txt_bereich(0,nYTemp,nTab4,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nPRK-nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab5,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab6,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nPRK))+cWaehrung)     
 
     nSumGesProSt := nSumGesProSt + (nPRK-nVSSt)
     nSumGesSt := nSumGesSt + nVSSt
     nSumGesPrmSt := nSumGesPrmSt + nPRK
     nTeilSumProSt := nTeilSumProSt + (nPRK-nVSSt)
     nTeilSumPrmSt := nTeilSumPrmSt + nPRK
 
     nYTemp := nYTemp + 30
   ENDIF
   // ------------------------------
   // IUVP
   // ------------------------------
   IF nIUVP != 0
     _SELF:txt_absolut(nTab1,nYTemp,"Unfall")
     _SELF:txt_absolut(nTab2,nYTemp,"VS Inval: "+_SELF:pdf_SetDecPoint(Str(nIU_Inval)))
     _SELF:txt_absolut(nTab2a,nYTemp,"VS Tod: "+_SELF:pdf_SetDecPoint(Str(nIU_Tod)))
     _SELF:txt_absolut(nTab3,nYTemp,cFaellig+" - "+cBis)      
     nVSSt := round((nIUVP/(100+nVSSt_Satz)) * nVSSt_Satz,2)
     _SELF:txt_bereich(0,nYTemp,nTab4,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nIUVP-nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab5,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab6,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nIUVP))+cWaehrung)     
 
     nSumGesProSt := nSumGesProSt + (nIUVP-nVSSt)
     nSumGesSt := nSumGesSt + nVSSt
     nSumGesPrmSt := nSumGesPrmSt + nIUVP
     nTeilSumProSt := nTeilSumProSt + (nIUVP-nVSSt)
     nTeilSumPrmSt := nTeilSumPrmSt + nIUVP
 
     nYTemp := nYTemp + 30
   ENDIF
   // ------------------------------
   // SHUTZBR
   // ------------------------------
   IF nSchutzbr != 0
     _SELF:txt_absolut(nTab1,nYTemp,"Schutzbrief")
     _SELF:txt_absolut(nTab2,nYTemp,"Schutzbrief")
     _SELF:txt_absolut(nTab3,nYTemp,cFaellig+" - "+cBis)      
     nVSSt := round((nSchutzbr/(100+nVSSt_Satz)) * nVSSt_Satz,2)
     _SELF:txt_bereich(0,nYTemp,nTab4,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nSchutzbr-nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab5,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nVSSt))+cWaehrung)
     _SELF:txt_bereich(0,nYTemp,nTab6,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nSchutzbr))+cWaehrung)     
 
     nSumGesProSt := nSumGesProSt + (nSchutzbr-nVSSt)
     nSumGesSt := nSumGesSt + nVSSt
     nSumGesPrmSt := nSumGesPrmSt + nSchutzbr
     nTeilSumProSt := nTeilSumProSt + (nSchutzbr-nVSSt)
     nTeilSumPrmSt := nTeilSumPrmSt + nSchutzbr
 
     nYTemp := nYTemp + 30
   ENDIF

   // ------------------------------
   // Teilsummen
   // ------------------------------
   // ----------------------------
   // Linie
   // ----------------------------
   _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
   _SELF:gdi_line(nTab6-200,nYTemp,nTab6,nYTemp)
   _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
   // ----------------------------
   _SELF:txt_bereich(0,nYTemp,nTab6,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nTeilSumPrmSt))+cWaehrung)     
  
   // ------------------------------
   // Kontrolle Umbruch ?
   // ------------------------------
   IF (_SELF:seite_y_ausdehnung() - nYTemp) < 250
     lNewPage := .T.
   ENDIF
 
   nYTemp := nYTemp + 30
 
 NEXT n

 // ----------------------------
 // Gesamtsummen
 // ----------------------------
 // ----------------------------
 // Linie
 // ----------------------------
 nYTemp := nYTemp + 30
 _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
 _SELF:gdi_line(0,nYTemp,_SELF:seite_x_ausdehnung(),nYTemp)
 _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
 nYTemp := nYTemp + 10
 // ----------------------------
 _SELF:waehle_schrift( "ARIAL", nSchriftgroesse, _self:_schrift_roman(), _self:_attr_fett() )
 _SELF:txt_absolut(nTab1,nYTemp,"Gesamtbetrag")

 _SELF:txt_bereich(0,nYTemp,nTab4,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nSumGesProSt))+cWaehrung)
 _SELF:txt_bereich(0,nYTemp,nTab5,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nSumGesSt))+cWaehrung)
 _SELF:txt_bereich(0,nYTemp,nTab6,nYTemp+40,_self:_txt_rechts(),_SELF:pdf_SetDecPoint(Str(nSumGesPrmSt))+cWaehrung)     

 _SELF:waehle_schrift( "ARIAL", nSchriftgroesse, _self:_schrift_roman(), _self:_attr_normal() )
 nYTemp := nYTemp + 40
 // ----------------------------
 // Linie
 // ----------------------------
 _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
 _SELF:gdi_line(0,nYTemp,_SELF:seite_x_ausdehnung(),nYTemp)
 _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )

ENDIF

RETURN	
