FUNCTION runscript(_self, _cScriptName)
// -----------------------------------------
// 'Rechnung'
// -----------------------------------------
// benötigte Script's
global AusgabeFusszeile := _cScriptName + "01.txt"
global AusgabeKopfzeile := _cScriptName + "02.txt"
global AusgabeTelFax := _cScriptName + "03.txt"
global AusgabeGeschZeit := _cScriptName + "04.txt"
global AusgabeText := _cScriptName + "05.txt"
global Umbruch := _cScriptName + "06.txt"
global AusgabeKFZRechnung := _cScriptName + "07.txt"
global AusgabeRechnung := _cScriptName + "08.txt"
global AusgabeHinweis := _cScriptName + "09.txt"
global AusgabeAnlageKFZFlottenRechnung := _cScriptName + "10.txt"

local m
local n
local i
local cVsNr
local cPolSBName
local cPolSBDurchwahl
local cKdNr
local cKdSBName
local cKdSBDurchwahl
local cSBName
local cSBDurchwahl
local lPolSB
local aInk87Recno 
local lGutschrift
local nSeite
local cKdReNr
local cUStIDNr
local cSteuerNr
local nWaehrung
local cWaehrung
local cKdReNr
local nKaskoID
local nRahmenhoehe
local cBuchungsinfo
local cBankVerbindung
local aInk87Recno :=  _self:aInk87Recno
local lPrRueckGewaehr

local nTan
local nSt_Satz
local cFaellig
local cBis
local nWaehrung
local nReNr

local cBuchungsinfo1
local cBuchungsinfo2

IF Len(aInk87Recno) > 0
 FOR n := 1 TO Len(aInk87Recno)	

  _self:oDlg:TextUpDate("Gesamt-Anzahl der Rechnungen: "+alltrim(str(len(aInk87Recno)) + chr(13) + chr(10) + "Bisher erstellte Rechnungen: " + alltrim(str(n)))
  
  // SB für Rechnung ermitteln
  // Vorbelegung aus erster Rechnung ( bei Sammelrechnung ) verwenden
  _SELF:_dbgoto("DBInk87", aInk87Recno[n][1])	

  // Pol-SB
  cVsNr := _Self:_dbfieldget("DBInk87","VSNR")
  cPolSBName := _SELF:pdf_cSBNameFromVsNr(cVsNr)
  cPolSBDurchwahl := _SELF:pdf_cSBDurchwahlFromVsNr(cVsNr)
  // Kd-SB
  cKdNr := _Self:_dbfieldget("DBInk87","KDNR_G") + _Self:_dbfieldget("DBInk87","KDNR_U")
  cKdSBName := _SELF:pdf_cSBNameFromKdNr(cKdNr)
  cKdSBDurchwahl := _SELF:pdf_cSBDurchwahlFromKdNr(cKdNr)

  // bei Einzelrechnung wird Pol-SB verwendet
  IF Len(aInk87Recno[n]) == 1
   cSBName := cPolSBName
   cSBDurchwahl := cPolSBDurchwahl
  ELSE
   // bei Sammelrechnung wird unterschieden: haben alle Policen den gleichen PolSB -> wird dieser verwendet
   // haben die Policen nunterschiedliche PolSB -> wird der Kd-SB verwendet
   lPolSB := .T.
   FOR i := 1 TO Len(aInk87Recno[n])
    // wenn bei den Policen unterschiedliche Polo-SB -> Kd-SB
    _SELF:_dbgoto("DBInk87", aInk87Recno[n][i])	
    cVsNr := _Self:_dbfieldget("DBInk87","VSNR")
    IF _SELF:pdf_cSBNameFromVsNr(cVsNr) != cPolSBName
     lPolSB := .F.
     EXIT
    ENDIF
   NEXT i
   		
   IF lPolSB == .T.		// alle Policen haben den gleichen Pol-SB -> Pol-SB wird verwendet
    cSBName := cPolSBName
    cSBDurchwahl := cPolSBDurchwahl
   ELSE						// unterschiedliche SB's bei den Policen -> Kd-SB wird verwendet
    cSBName := cKdSBName
    cSBDurchwahl := cKdSBDurchwahl
   ENDIF
  ENDIF

  // Erste Buchung wird für Rechnungskopf verwendet
  _SELF:_dbgoto("DBInk87", aInk87Recno[n][1])	

  // Seitenzahl zurücksetzen
  nSeite := 1
  cKdReNr := ""
  cKdNr := _Self:_dbfieldget("DBInk87","KDNR_G") + _Self:_dbfieldget("DBInk87","KDNR_U")
  cVsNr := _Self:_dbfieldget("DBInk87","VSNR")

  cUStIDNr := _SELF:pdfGetKdUStIDNr(cKdNr)
  cSteuerNr := _SELF:pdfGetKdSteuernr(cKdNr)
			
  nWaehrung := 1
  cWaehrung := _SELF:pdfGetWaehrungBezeich(nWaehrung)


  // Beginn Seite erzeugen				
  _SELF:seite_neue_seite()
  _SELF:seite_waehle_papierformat( _self:_papier_A4(), _self:_format_hochformat() )
  _SELF:seite_setze_raender( _self:nRandLinks, _self:nRandOben, _self:nRandRechts, _self:nRandUnten )
  _SELF:wYTemp := 0
  _SELF:AusgabeBmp()
  ExecuteScript(AusgabeFussZeile, _self)	
  ExecuteScript(AusgabeKopfZeile, _self)
  ExecuteScript(AusgabeTelFax, _self)
  ExecuteScript(AusgabeGeschZeit, _self)


// -------------------------------------------------
// Anschrift
// -------------------------------------------------
  _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
  _SELF:waehle_farbe( _self:_farbe_schwarz() )
  _SELF:waehle_schrift( "ARIAL", 40, _self:_schrift_roman(), _self:_attr_normal() )
  _SELF:wYTemp := _SELF:nY_Pos_Anschr_Text	//80
			
  IF ! Empty(_Self:_dbfieldget("DBInk87","VN_AN_ANR"))
   _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(_Self:_dbfieldget("DBInk87","VN_AN_ANR")))
   _SELF:wYTemp := _SELF:wYTemp + 40
  ENDIF
  IF ! Empty(_Self:_dbfieldget("DBInk87","VN_AN_NAME"))
   _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(_Self:_dbfieldget("DBInk87","VN_AN_NAME")))
   _SELF:wYTemp := _SELF:wYTemp + 40
  ENDIF
  IF ! Empty(_Self:_dbfieldget("DBInk87","VN_AN_ZUS"))
   _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(_Self:_dbfieldget("DBInk87","VN_AN_ZUS")))
   _SELF:wYTemp := _SELF:wYTemp + 40
  ENDIF
  IF ! Empty(_Self:_dbfieldget("DBInk87","VN_STR"))
   _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(_Self:_dbfieldget("DBInk87","VN_STR")))
   _SELF:wYTemp := _SELF:wYTemp + 80
  ENDIF
  _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(_Self:_dbfieldget("DBInk87","VN_ANSCHR")))

// -------------------------------------------------
// Rechnungsnummer ...
// -------------------------------------------------
  _SELF:wYTemp := _SELF:wYTemp + 130
  // Rahmen
  _SELF:waehle_farbe( _self:_farbe_weiss() )
  _SELF:waehle_farb_pinsel()
  _SELF:waehle_farbe( _self:_farbe_schwarz() )
  _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
  _SELF:gdi_rect( 0, _SELF:wYTemp-10, 530, _SELF:wYTemp+120 )

  // weiter
  _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
  _SELF:waehle_farbe( _self:_farbe_schwarz() )
  _SELF:waehle_schrift( "ARIAL", 20, _self:_schrift_roman(), _self:_attr_normal() )
  _SELF:txt_absolut(30,_SELF:wYTemp,"Rechnungsnummer")
  _SELF:txt_absolut(300,_SELF:wYTemp,"Kundennummer")
  _SELF:txt_absolut(690,_SELF:wYTemp,"Ihr Ansprechpartner")
  _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_rechts(),"Datum")

  _SELF:wYTemp := _SELF:wYTemp + 30
  _SELF:waehle_schrift( "ARIAL", 40, _self:_schrift_roman(), _self:_attr_fett() )
  _SELF:txt_absolut(30,_SELF:wYTemp,Alltrim(_Self:_dbfieldget("DBInk87","PREFX"))+AllTrim(Str(_Self:_dbfieldget("DBInk87","RENR"))))
  _SELF:txt_absolut(300,_SELF:wYTemp,_Self:_dbfieldget("DBInk87","KDNR_G")+_Self:_dbfieldget("DBInk87","KDNR_U"))

  // ÜbetragsTitelText zuweisemn
  cKdReNr := "Rechnungsnummer:"+AllTrim(Str(_Self:_dbfieldget("DBInk87","RENR")))+;
             "   Kundennummer:"+AllTrim(_Self:_dbfieldget("DBInk87","KDNR_G")+_Self:_dbfieldget("DBInk87","KDNR_U"))
  _SELF:waehle_schrift( "ARIAL", 40, _self:_schrift_roman(), _self:_attr_normal() )
  _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_rechts(),DToC(_Self:_dbfieldget("DBInk87","REDAT")))
  _SELF:waehle_schrift( "ARIAL", 30, _self:_schrift_roman(), _self:_attr_normal() )
  _SELF:txt_absolut(690,_SELF:wYTemp,cSBName)
  _SELF:txt_absolut(690,_SELF:wYTemp+30,"Durchwahl "+cSBDurchwahl)
  _SELF:wYTemp := _SELF:wYTemp + 50
  _SELF:waehle_schrift( "ARIAL", 20, _self:_schrift_roman(), _self:_attr_normal() )
  _SELF:txt_absolut(30,_SELF:wYTemp,"Bei Zahlung und Rückfragen immer angeben")
  _SELF:wYTemp := _SELF:wYTemp + 130
  _SELF:waehle_schrift( "ARIAL", 40, _self:_schrift_roman(), _self:_attr_fett() )

  // Gutschrift versus Rechnung versus Prämienrückgewähr
  // 'nSum' wird hier nur kurzzeitig zur Bestimmung ob Rechnung oder Gutschrift verwendet
  lPrRueckGewaehr := .F.
  _SELF:nSum := 0
  FOR m := 1 TO Len(aInk87Recno[n])
   _SELF:_dbgoto("DBInk87",aInk87Recno[n][m])
   _SELF:nSum := _SELF:nSum + _self:pdf_nUmrechnung(_Self:_dbfieldget("DBInk87","WAEHRUNG"), _Self:_dbfieldget("DBInk87","BRUTTO"), nWaehrung)
   // Prämienrückgewähr ??
   IF _Self:_dbfieldget("DBInk87","BUGRUND") == 11
    lPrRueckGewaehr := .T.
   ENDIF
  NEXT m

  IF _SELF:nSum < 0
   lGutschrift := .T.
  ELSE
   lGutschrift := .F.
  ENDIF
  _SELF:nSum := 0

//  // Sammelrechnung versus Einzelrechnung
  IF Len(aInk87Recno[n]) > 1
   // Sammelrechnung
   // Prämienrückgewähr ist immer 'Einzelrechnung'
   IF lGutschrift == .T.
    // Gutschrift
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprämiengutschrift - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprämiengutschrift")
    ENDIF
   ELSE
    // Rechnung
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprämienrechnung - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprämienrechnung")
    ENDIF
   ENDIF
  ELSE
   // Einzelrechnung
   IF lPrRueckGewaehr == .T.
    // Prämienrückgewähr
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prämienrückgewähr - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prämienrückgewähr")
    ENDIF
   ELSEIF lGutschrift == .T.
    // Gutschrift
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prämiengutschrift - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prämiengutschrift")
    ENDIF
   ELSE
    // Rechnung
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prämienrechnung - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prämienrechnung")
    ENDIF
   ENDIF
  ENDIF

  _SELF:wYTemp := _SELF:wYTemp + 80

  _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
  _SELF:gdi_line(0,_SELF:wYTemp,_SELF:seite_x_ausdehnung(),_SELF:wYTemp)
  _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
		
  _SELF:wYTemp := _SELF:wYTemp + 10


// Pro Rechnung
  // Rechnungsausgabe
  _SELF:nSum := 0
  FOR m := 1 TO Len(aInk87Recno[n])
   _SELF:_dbgoto("DBInk87",aInk87Recno[n][m])
   // KFZ-Rechnung ?
   IF _self:pdf_Art2ID(_SELF:_dbfieldget("DBInk87","ART")) == _self:pdf_nSparteKFZ()
    nKaskoID := _self:pdf_Art2KaskoID(_SELF:_dbfieldget("DBInk87","ART"))
    // Druckhöhe ermitteln
    IF nKaskoID == _self:pdf_nKFZHVID()
     nRahmenHoehe:=640 // 560
    ELSEIF nKaskoID == _self:pdf_nKFZTKID()
     nRahmenHoehe:=750 // 670
    ELSEIF nKaskoID == _self:pdf_nKFZVKID()
     nRahmenHoehe:=790 // 710
    ELSE
     nRahmenhoehe := 340
    ENDIF
   ELSE
    nRahmenhoehe := 340
    IF ! Empty(_SELF:_dbfieldget("DBInk87","VUORT"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RISK"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT3"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT4"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT5"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT6"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT7"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT8"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT9"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
    IF ! Empty(_SELF:_dbfieldget("DBInk87","RTEXT10"))
     nRahmenHoehe:=nRahmenhoehe + 40
    ENDIF
   ENDIF							

   // Sammelrechnung ?
   IF Len(aInk87Recno[n]) > 1
    nRahmenHoehe := nRahmenhoehe + 80	// Zwischensumme
   ENDIF
   // Kontrolle ob neue seite
   // Beginn Seite erzeugen					
   // Umbruch, zwischensumme ...

   IF (_SELF:wYTemp + nRahmenHoehe) > _SELF:seite_y_ausdehnung()

    // Zwischensumme drucken
    _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_fett() )
    _SELF:txt_absolut(0,_SELF:wYTemp,"Zwischensumme")
    _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_rechts(),AllTrim(Str(_SELF:nSum,10,2))+" "+cWaehrung)
    _SELF:wYTemp := _self:wYTemp + 50
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
    _SELF:gdi_line(0,_SELF:wYTemp,_SELF:seite_x_ausdehnung(),_SELF:wYTemp)
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
    // Umbruch
    // Seitenzahl erhöhen
    nSeite := nSeite + 1

    ExecuteScript(Umbruch, _self)

    // Titelzeile ab Seite 2
    IF nSeite > 1
     _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_normal() )
     _SELF:txt_absolut(0,_SELF:wYTemp,cKdReNr+"   Seite:"+AllTrim(Str(nSeite)))
    _SELF:wYTemp := _self:wYTemp + 50
    ENDIF								
    // Übertrag drucken
    _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_fett() )
    _SELF:txt_absolut(0,_SELF:wYTemp,"Übertrag")
    _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_rechts(),AllTrim(Str(_SELF:nSum,10,2))+" "+cWaehrung)
    _SELF:wYTemp := _self:wYTemp + 50
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
    _SELF:gdi_line(0,_SELF:wYTemp,_SELF:seite_x_ausdehnung(),_SELF:wYTemp)
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
    _SELF:wYTemp := _self:wYTemp + 10
   ENDIF

   IF _self:pdf_Art2ID(_SELF:_dbfieldget("DBInk87","ART")) == _self:pdf_nSparteKFZ()
    ExecuteScript(AusgabeKFZRechnung, _self)
   ELSE
    ExecuteScript(AusgabeRechnung, _self) // Restliche Sparten
   ENDIF
	
   _SELF:nSum := _SELF:nSum + _self:pdf_nUmrechnung(_Self:_dbfieldget("DBInk87","WAEHRUNG"), _Self:_dbfieldget("DBInk87","BRUTTO"), nWaehrung)

  Next m

  // Gesamtsumme bei Sammelrechnung
  IF Len(aInk87Recno[n]) > 1
   IF _SELF:wYTemp + 80 > _SELF:seite_y_ausdehnung()
    // Umbruch
    // Seitenzahl erhöhen
    nSeite := nSeite + 1

    ExecuteScript(Umbruch, _self)

    // Titelzeile ab Seite 2
    IF nSeite > 1
     _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_normal() )
     _SELF:txt_absolut(0,_SELF:wYTemp,cKdReNr+"   Seite:"+AllTrim(Str(nSeite)))
     _SELF:wYTemp := _SELF:wYTemp + 50
    ENDIF								
   ENDIF

   // Endsumme drucken
   _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_fett() )
   _SELF:txt_absolut(0,_SELF:wYTemp,"Gesamtbeitrag")
   _SELF:txt_bereich(1400,_SELF:wYTemp,1620,_SELF:wYTemp+40,_self:_txt_rechts(),AllTrim(Str(_SELF:nSum,10,2)))
   _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_rechts(),"EUR")

   _SELF:wYTemp := _SELF:wYTemp + 50
   _SELF:waehle_stift( _self:_stift_durchgezogen(), 2 )
   _SELF:gdi_line(0,_SELF:wYTemp,_SELF:seite_x_ausdehnung(),_SELF:wYTemp)
   _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
   _SELF:wYTemp := _SELF:wYTemp + 30
  ENDIF


  // BuchungsInfo
  cBuchungsinfo := ""
  cBankVerbindung := ""
  cBuchungsinfo1 := ""
  cBuchungsinfo2 := ""
  // Rechnung
  IF _SELF:nSum > 0
   _SELF:_dbgoto("DBInk87",aInk87Recno[n][1])			
   IF (_SELF:_dbfieldget("DBInk87","ABRUF_ABW") == .T.) .and. (_SELF:_dbfieldget("DBInk87","NOLASTSCHR") == .F.) // Pol-Abweichender Abruf
    cBankVerbindung := 	AllTrim(_SELF:_dbfieldget("DBInk87","POL_KTOINH"))+;
			", "+AllTrim(_SELF:_dbfieldget("DBInk87","POL_BANK"))+;
			" (BLZ "+AllTrim(_SELF:_dbfieldget("DBInk87","POL_BLZ"))+") "+;
			"Konto Nr "+AllTrim(_SELF:_dbfieldget("DBInk87","POL_KTO"))
    cBuchungsInfo := "Wir rufen den Beitrag von Ihrem Konto ab : "//+cBankVerbindung

   ELSEIF (_SELF:_dbfieldget("DBInk87","VN_ZAHLPL") == .T.) .and. (_self:pdf_Art2ID(_SELF:_dbfieldget("DBInk87","ART")) == _self:pdf_nSparteKFZ())	// Zahlplan vorhanden und Sparte = KFZ
    cBuchungsInfo := "Die Prämienrechnung wird auf Ihr Kundenkonto "+;
		 _SELF:_dbfieldget("DBInk87","KDNR_G")+_SELF:_dbfieldget("DBInk87","KDNR_U") +" gebucht. Bitte nicht überweisen."	

   ELSEIF (_SELF:_dbfieldget("DBInk87","VN_ABRUF") == .T.) .and. (_SELF:_dbfieldget("DBInk87","NOLASTSCHR") == .F.)	// Kd-Abruf
    IF _SELF:_dbfieldget("DBInk87","SEPA") == .T.	// SEPA
     // *******************************************************************
     // SEPA
     // *******************************************************************
     cBankVerbindung := 	AllTrim(_SELF:_dbfieldget("DBInk87","VN_KTOINH"))+;
			", "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_BANK"))+;
			" (BIC "+AllTrim(_SELF:_dbfieldget("DBInk87","BIC"))+") "+;
			"IBAN "+AllTrim(_SELF:_dbfieldget("DBInk87","IBAN"))
     cBuchungsInfo1 := "Wir rufen den Beitrag am " + DtoC(_SELF:_dbfieldget("DBInk87","SEPA_FAELL")) + " mit der SEPA-Lastschrift zum Mandat " + AllTrim(_SELF:_dbfieldget("DBInk87","MNDT_ID")
     cBuchungsinfo2 := " zu der Gläubiger-Identifikationsnummer " + _SELF:pdfGetMaklerGlaeubigerID() + " von Ihrem Konto ab: "
     // *******************************************************************
     // End SEPA
     // *******************************************************************
    ELSE	// SEPA
     cBankVerbindung := 	AllTrim(_SELF:_dbfieldget("DBInk87","VN_KTOINH"))+;
			", "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_BANK"))+;
			" (BLZ "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_BLZ"))+") "+;
			"Konto Nr "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_KTO"))
     cBuchungsInfo := "Wir rufen den Beitrag von Ihrem Konto ab : "//+cBankVerbindung
    ENDIF
   ELSE
    cBuchungsInfo := "Bitte überweisen Sie den Rechnungsbetrag auf unser Konto."
   ENDIF

  // Gutschrift
  ELSEIF _SELF:nSum < 0
   _SELF:_dbgoto("DBInk87",aInk87Recno[n][1])			
   IF (_SELF:_dbfieldget("DBInk87","ABRUF_ABW") == .T.) .and. (_SELF:_dbfieldget("DBInk87","NOLASTSCHR") == .F.)  // Abweichender Abruf
    // abweichende Bankverbindung der Police ermitteln
    cBankVerbindung := 	AllTrim(_SELF:_dbfieldget("DBInk87","POL_KTOINH"))+;
			", "+AllTrim(_SELF:_dbfieldget("DBInk87","POL_BANK"))+;
			" (BLZ "+AllTrim(_SELF:_dbfieldget("DBInk87","POL_BLZ"))+") "+;
		 	"Konto Nr "+AllTrim(_SELF:_dbfieldget("DBInk87","POL_KTO"))
    cBuchungsInfo := "Wir überweisen den Beitrag auf Ihr Konto : "//+cBankVerbindung+"."

   ELSEIF (_SELF:_dbfieldget("DBInk87","VN_ZAHLPL") == .T.) .and. (_self:pdf_Art2ID(_SELF:_dbfieldget("DBInk87","ART")) == _self:pdf_nSparteKFZ())	// Zahlplan vorhanden und Sparte = KFZ
    cBuchungsInfo := "Die Prämiengutschrift wird auf Ihr Kundenkonto "+;
		 _SELF:_dbfieldget("DBInk87","KDNR_G")+_SELF:_dbfieldget("DBInk87","KDNR_U") +" gebucht. Bitte nicht überweisen."	

   ELSEIF (_SELF:_dbfieldget("DBInk87","VN_RUEPR") == .T.) .and. (_SELF:_dbfieldget("DBInk87","NOLASTSCHR") == .F.)	// Rückprämie
    IF _SELF:_dbfieldget("DBInk87","SEPA") == .T.
     // *******************************************************************
     // SEPA
     // *******************************************************************
     cBankVerbindung := 	AllTrim(_SELF:_dbfieldget("DBInk87","VN_KTOINH"))+;
			", "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_BANK"))+;
			" (BIC "+AllTrim(_SELF:_dbfieldget("DBInk87","BIC"))+") "+;
			"IBAN "+AllTrim(_SELF:_dbfieldget("DBInk87","IBAN"))
     cBuchungsInfo1 := "Wir überweisen den Beitrag auf Ihr Konto: " 
     cBuchungsinfo2 := ""
     // *******************************************************************
     // End SEPA
     // *******************************************************************
    ELSE
     cBankVerbindung := 	AllTrim(_SELF:_dbfieldget("DBInk87","VN_KTOINH"))+;
			", "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_BANK"))+;
			" (BLZ "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_BLZ"))+") "+;
			"Konto Nr "+AllTrim(_SELF:_dbfieldget("DBInk87","VN_KTO"))
     cBuchungsInfo := "Wir überweisen den Beitrag auf Ihr Konto : "//+cBankVerbindung+"."
    ENDIF
   ELSE
    cBuchungsInfo := "Wir fügen einen Verrechnungsscheck bei."
   ENDIF
  ENDIF				


  // Einfügen des Buchungsinfo's
  IF _SELF:_dbfieldget("DBInk87","SEPA") == .T.	// SEPA
   // *******************************************************************
   // SEPA
   // *******************************************************************
   IF ! Empty(cBuchungsInfo1)
    _SELF:wYTemp := _SELF:wYTemp - 10

    // Seitenumbruch?
    IF _SELF:wYTemp + 130 > _SELF:seite_y_ausdehnung()
     // Umbruch
     nSeite := nSeite + 1
     ExecuteScript(Umbruch, _self)

     // Titelzeile ab Seite 2
     IF nSeite > 1
      _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_normal() )
      _SELF:txt_absolut(0,_SELF:wYTemp,cKdReNr+"   Seite:"+AllTrim(Str(nSeite)))
      _SELF:wYTemp := _SELF:wYTemp + 50
     ENDIF								
    ENDIF					

    _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
    _SELF:waehle_farbe( _self:_farbe_schwarz() )
    _SELF:waehle_schrift( "ARIAL", 30, _self:_schrift_roman(), _self:_attr_normal() )

    IF ! Empty(cBuchungsInfo1)
     _SELF:txt_absolut(10,_SELF:wYTemp,cBuchungsInfo1)
     _SELF:wYTemp := _SELF:wYTemp + 35
    ENDIF

    IF ! Empty(cBuchungsInfo2)
     _SELF:txt_absolut(10,_SELF:wYTemp,cBuchungsInfo2)
     _SELF:wYTemp := _SELF:wYTemp + 35
    ENDIF

    IF ! Empty(cBankverbindung)
     _SELF:txt_absolut(10,_SELF:wYTemp,cBankverbindung)
     _SELF:wYTemp := _SELF:wYTemp + 50
    ENDIF
   ENDIF	// SEPA

   // *******************************************************************
   // End SEPA
   // *******************************************************************
  ELSE	// SEPA
   IF ! Empty(cBuchungsInfo)
    _SELF:wYTemp := _SELF:wYTemp - 10
    IF _SELF:wYTemp + 80 > _SELF:seite_y_ausdehnung()
     // Umbruch
     nSeite := nSeite + 1
     ExecuteScript(Umbruch, _self)

     // Titelzeile ab Seite 2
     IF nSeite > 1
      _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_normal() )
      _SELF:txt_absolut(0,_SELF:wYTemp,cKdReNr+"   Seite:"+AllTrim(Str(nSeite)))
      _SELF:wYTemp := _SELF:wYTemp + 50
     ENDIF								
    ENDIF					
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
    _SELF:waehle_farbe( _self:_farbe_schwarz() )
    _SELF:waehle_schrift( "ARIAL", 30, _self:_schrift_roman(), _self:_attr_fett() )
    _SELF:txt_absolut(10,_SELF:wYTemp,cBuchungsInfo)

    _SELF:wYTemp := _SELF:wYTemp + 30
    _SELF:txt_absolut(10,_SELF:wYTemp,cBankverbindung)

    _SELF:wYTemp := _SELF:wYTemp + 50
   ENDIF
  ENDIF		

  // Hinweis
  IF _SELF:wYTemp + 400 > _SELF:seite_y_ausdehnung()
   // Umbruch
   // Seitenzahl erhöhen
   nSeite := nSeite + 1

   ExecuteScript(Umbruch, _self)

   // Titelzeile ab Seite 2
   IF nSeite > 1
    _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_normal() )
    _SELF:txt_absolut(0,_SELF:wYTemp,cKdReNr+"   Seite:"+AllTrim(Str(nSeite)))
    _SELF:wYTemp := _SELF:wYTemp + 50
   ENDIF								
  ENDIF					

  ExecuteScript(AusgabeHinweis, _self)


// -------------------------------------------------------
// mfg
// -------------------------------------------------------

    // Umbruch ?
    _SELF:wYTemp := _self:wYTemp + 150
    IF _SELF:wYTemp + 200 > _SELF:seite_y_ausdehnung() - _SELF:nFussZeilenHoehe
      ExecuteScript(Umbruch,_self)
    ENDIF

    _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
    _SELF:waehle_farbe( _self:_farbe_schwarz() )
    _SELF:waehle_schrift( "ARIAL", 35, _self:_schrift_roman(), _self:_attr_normal() )

    ExecuteScript(AusgabeText, _self, _SELF:wYTemp, _self:_TXT_LINKS(), strtran(_SELF:cTxt_mfG,"<USERNAME>",_SELF:pdf_cUsernameFromUserNr(_SELF:pdf_nUserNr())),40)

// -------------------------------------------------------
// evtl. Anlage für KFZ-Flottenrechnung
// -------------------------------------------------------
  IF _self:pdf_Art2KaskoID(_SELF:_dbfieldget("DBInk87","ART")) == _self:pdf_nKFZFlotteID()
   IF _SELF:_dbfieldget("DBInk87","BUGRUND") <> 11  
    IF _SELF:_dbfieldget("DBInk87","NOFZFLANL") == .F.

     nTan := _SELF:_dbfieldget("DBInk87","TAN")
     nSt_Satz := _SELF:_dbfieldget("DBInk87","ST_SATZ")
     cFaellig := dtoc(_SELF:_dbfieldget("DBInk87","FAELLIG"))
     cBis := dtoc(_SELF:_dbfieldget("DBInk87","BIS"))
     nWaehrung := _SELF:_dbfieldget("DBInk87","WAEHRUNG")
     nReNr := _SELF:_dbfieldget("DBInk87","RENR")
     ExecuteScript(AusgabeAnlageKFZFlottenRechnung, _self, nTan, nSt_Satz, cFaellig, cBis, nWaehrung, nReNr)

    ENDIF
   ENDIF
  ENDIF

 Next n

ENDIF 


RETURN
