FUNCTION runscript(_self, _cScriptName)
// -----------------------------------------
// 'Rechnung'
// -----------------------------------------
// bentigte 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 fr 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 fr Rechnungskopf verwendet
  _SELF:_dbgoto("DBInk87", aInk87Recno[n][1])	

  // Seitenzahl zurcksetzen
  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 Rckfragen immer angeben")
  _SELF:wYTemp := _SELF:wYTemp + 130
  _SELF:waehle_schrift( "ARIAL", 40, _self:_schrift_roman(), _self:_attr_fett() )

  // Gutschrift versus Rechnung versus Prmienrckgewhr
  // '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)
   // Prmienrckgewhr ??
   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
   // Prmienrckgewhr ist immer 'Einzelrechnung'
   IF lGutschrift == .T.
    // Gutschrift
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprmiengutschrift - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprmiengutschrift")
    ENDIF
   ELSE
    // Rechnung
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprmienrechnung - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Sammelprmienrechnung")
    ENDIF
   ENDIF
  ELSE
   // Einzelrechnung
   IF lPrRueckGewaehr == .T.
    // Prmienrckgewhr
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prmienrckgewhr - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prmienrckgewhr")
    ENDIF
   ELSEIF lGutschrift == .T.
    // Gutschrift
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prmiengutschrift - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prmiengutschrift")
    ENDIF
   ELSE
    // Rechnung
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prmienrechnung - Zweitschrift")
    ELSE
     _SELF:txt_absolut(0,_SELF:wYTemp,"Prmienrechnung")
    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"))
    // Druckhhe 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 erhhen
    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 erhhen
    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 Prmienrechnung 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 Glubiger-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 Prmiengutschrift 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.)	// Rckprmie
    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 fgen einen Verrechnungsscheck bei."
   ENDIF
  ENDIF				


  // Einfgen 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 erhhen
   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 fr 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
