Function runScript(_self, _cScriptName)
//-DEFAULTSCRIPT-//
// ---------------------------
// HonorarRechnung
// ---------------------------
// benötigte Script's
global AusgabeFussZeile := _cScriptName + "01.txt"
global AusgabeGeschZeit := _cScriptName + "02.txt"
global AusgabeKopfZeile := _cScriptName + "03.txt"
global AusgabeTelFax := _cScriptName + "04.txt"
global AusgabeText := _cScriptName + "05.txt"
global Umbruch := _cScriptName + "06.txt"

local aReNr
local m,n
local nWaehrung
local cWaehrung
local nFontSize 
local nTan 
local cBez
local nTab1
local nTab2
local nTab3
local aMemo
local nTabHigh
local cBuchungsinfo
local cBankverbindung

_self:_dbsetdeleted("DBInk87", .T.)
_self:_dbsetorder("DBInk87", 3)

_self:_dbsetdeleted("DBHonorarRePos", .T.)
_self:_dbsetorder("DBHonorarRePos", 2)

nFontSize := 35
aReNr := _self:aReNr

IF ( n := Len( aReNr )) > 0
 FOR m := 1 TO n
  IF _self:__dbseek("DBInk87", aReNr[m])
			
   // 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)

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

// --------------------------------------------------
// Anschrift
// --------------------------------------------------
   _SELF:wYTemp := _SELF:nY_Pos_Anschr_Text	//80
   IF ! Empty(cText := _self:_dbfieldget("DBInk87", "VN_AN_ANR"))
    _SELF:txt_gerichtet(_SELF:wYTemp, _self:_txt_links(), AllTrim(cText))
    _SELF:wYTemp := _self:wYTemp + nFontSize 
   ENDIF
   IF ! Empty(cText := _self:_dbfieldget("DBInk87", "VN_AN_NAME"))
    _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(cText))
    _SELF:wYTemp := _self:wYTemp + nFontSize 
   ENDIF
   IF ! Empty(cText := _self:_dbfieldget("DBInk87", "VN_AN_ZUS"))
    _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(cText))
    _SELF:wYTemp := _self:wYTemp + nFontSize 
   ENDIF
   IF ! Empty(cText := _self:_dbfieldget("DBInk87", "VN_STR"))
    _SELF:txt_gerichtet(_SELF:wYTemp,_self:_txt_links(),AllTrim(cText))
    _SELF:wYTemp := _self:wYTemp + (nFontSize * 2)
   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"))

   _SELF:waehle_schrift( "ARIAL", nFontSize , _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,_self:pdf_cUserNameFromUserNr(_self:pdf_nUserNr()))
   _SELF:txt_absolut(690,_SELF:wYTemp+30,"Durchwahl "+_self:pdf_cUserDurchwahlFromUserNr(_self:pdf_nUserNr()))
   _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() )

// --------------------------------------------------
// Honorarrechnung
// --------------------------------------------------
   _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_fett() )
   IF _Self:_dbfieldget("DBInk87","BRUTTO") >= 0
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Honorarrechnung - Zweitschrift")
    ELSE	
     _SELF:txt_absolut(0,_SELF:wYTemp,"Honorarrechnung")
    ENDIF
   ELSE
    IF _SELF:lZweitschrift == .T.
     _SELF:txt_absolut(0,_SELF:wYTemp,"Honorargutschrift - Zweitschrift")
    ELSE	
     _SELF:txt_absolut(0,_SELF:wYTemp,"Honorargutschrift")
    ENDIF
   ENDIF
   _SELF:wYTemp := _self:wYTemp + 75

// --------------------------------------------------
// Für folgende ...
// --------------------------------------------------
   _SELF:waehle_schrift( "ARIAL", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )
   _SELF:txt_absolut(0,_SELF:wYTemp,"Für folgende in Ihrem Auftrag ausgeführte Leistungen erlauben wir uns zu berechnen:")
   _SELF:wYTemp := _self:wYTemp + 75

// --------------------------------------------------
// Positionen
// --------------------------------------------------
   _SELF:waehle_schrift( "ARIAL", 30, _self:_schrift_roman(), _self:_attr_normal() )

   nTan := _self:_dbfieldget("DBInk87", "TAN")
   cWaehrung := _self:pdf_GetWaehrungBezeich(_self:_dbfieldget("DBInk87", "WAEHRUNG"))

   IF _self:__dbseek("DBHonorarRePos", nTan)
    nTab1 := 900
    nTab2 := _SELF:seite_X_ausdehnung() - (900 + 300)
    nTab3 := 300

    _self:tab_InitTab(0,_SELF:wYTemp,3,1)
    _self:tab_setze_spaltenbreite(1,nTab1)
    _self:tab_setze_spaltenbreite(2,nTab2)
    _self:tab_setze_spaltenbreite(3,nTab3)
    _self:tab_zeilenhoehe(50)

    _self:tab_setze_zelleEx(1,1,10,10,_self:_tcx_umbruch()+_self:_tcx_links()+_self:_tcx_oben(),"Bezeichnung")
    _self:tab_setze_zelleEx(2,1,10,10,_self:_tcx_umbruch()+_self:_tcx_links()+_self:_tcx_oben(),"Zeitraum")
    _self:tab_setze_zelleEx(3,1,10,10,_self:_tcx_umbruch()+_self:_tcx_rechts()+_self:_tcx_oben(),"Betrag")

    _SELF:wYTemp := _self:wYTemp + 55
    _SELF:waehle_farbe( _self:_farbe_schwarz() )
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 3 )
    _SELF:gdi_line( 0, _SELF:wYTemp, _SELF:seite_X_ausdehnung(), _SELF:wYTemp )
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )
    _SELF:wYTemp := _self:wYTemp + 5
 
    DO WHILE _self:_dbfieldget("DBHonorarRePos", "TAN") == nTan

     cBez := AllTrim(_self:_dbfieldget("DBHonorarRePos", "BEZ"))
     aMemo := _self:Memo2Width(cBez, (nTab1))
     nTabHigh := aMemo[2]*40

     _self:tab_initTab(0,_SELF:wYTemp,3,1)
     _self:tab_setze_spaltenbreite(1,nTab1)
     _self:tab_setze_spaltenbreite(2,nTab2)
     _self:tab_setze_spaltenbreite(3,nTab3)
     _self:tab_zeilenhoehe(nTabHigh)

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

     _self:tab_setze_zelleEx(1,1,10,10,_self:_tcx_umbruch()+_self:_tcx_links()+_self:_tcx_oben(),aMemo[1])
     _self:tab_setze_zelleEx(2,1,10,10,_self:_tcx_umbruch()+_self:_tcx_links()+_self:_tcx_oben(),AllTrim(_self:_dbfieldget("DBHonorarRePos", "ZEITRAUM")))
     _self:tab_setze_zelleEx(3,1,10,10,_self:_tcx_umbruch()+_self:_tcx_rechts()+_self:_tcx_oben(),AllTrim(Str(_self:_dbfieldget("DBHonorarRePos", "BETRAG"),10,2))+" "+cWaehrung)

     _SELF:wYTemp := _self:wYTemp + nTabHigh

     _self:_dbskip("DBHonorarRePos")

    ENDDO

   _SELF:wYTemp := _self:wYTemp + 50

   ENDIF

// --------------------------------------------------
// Rechnungsbetrag
// --------------------------------------------------
   // Umbruch ?
   IF _SELF:wYTemp + 150 > _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", nFontSize , _self:_schrift_roman(), _self:_attr_fett() )

   IF _self:_dbfieldget("DBInk87", "VSST") != 0
    _SELF:txt_bereich(0,_SELF:wYTemp,_SELF:seite_X_ausdehnung(),_SELF:wYTemp+40,_self:_txt_links(),"Summe Nettobeträge")
    _SELF:txt_bereich(0,_SELF:wYTemp,_SELF:seite_X_ausdehnung(),_SELF:wYTemp+40,_self:_txt_rechts(),AllTrim(Str(_self:_dbfieldget("DBInk87", "NETTO"),10,2))+" "+cWaehrung)
    _SELF:wYTemp := _self:wYTemp + nFontSize + 10
    _SELF:txt_bereich(0,_SELF:wYTemp,_SELF:seite_X_ausdehnung(),_SELF:wYTemp+40,_self:_txt_links(),"Umsatzsteuerbetrag "+AllTrim(Str(_self:_dbfieldget("DBInk87", "ST_SATZ"),10,2))+" %")
    _SELF:txt_bereich(0,_SELF:wYTemp,_SELF:seite_X_ausdehnung(),_SELF:wYTemp+40,_self:_txt_rechts(),AllTrim(Str(_self:_dbfieldget("DBInk87", "VSST"),10,2))+" "+cWaehrung)

    _SELF:wYTemp := _self:wYTemp + nFontSize + 10 
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 3 )
    _SELF:gdi_line( _SELF:seite_X_ausdehnung()-250, _SELF:wYTemp, _SELF:seite_X_ausdehnung(), _SELF:wYTemp )
    _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )

    _SELF:wYTemp := _self:wYTemp + 10 
   ENDIF

   _SELF:txt_bereich(0,_SELF:wYTemp,_SELF:seite_X_ausdehnung(),_SELF:wYTemp+40,_self:_txt_links(),"Rechnungsbetrag")
   _SELF:txt_bereich(0,_SELF:wYTemp,_SELF:seite_X_ausdehnung(),_SELF:wYTemp+40,_self:_txt_rechts(),AllTrim(Str(_self:_dbfieldget("DBInk87", "BRUTTO"),10,2))+" "+cWaehrung)
       
   _SELF:wYTemp := _self:wYTemp + nFontSize + 10
   _SELF:waehle_stift( _self:_stift_durchgezogen(), 3 )
   _SELF:gdi_line( _SELF:seite_X_ausdehnung()-250, _SELF:wYTemp, _SELF:seite_X_ausdehnung(), _SELF:wYTemp )
   _SELF:wYTemp := _self:wYTemp + 10
   _SELF:gdi_line( _SELF:seite_X_ausdehnung()-250, _SELF:wYTemp, _SELF:seite_X_ausdehnung(), _SELF:wYTemp )
   _SELF:waehle_stift( _self:_stift_durchgezogen(), 1 )

   _SELF:wYTemp := _self:wYTemp + 50

// --------------------------------------------------
// Bankverbindung & Buchungsinfo
// --------------------------------------------------
   cBankverbindung := ""
   cBuchungsinfo := ""
   // Rechnung
   IF _self:_dbfieldget("DBInk87", "BRUTTO") >= 0
    IF (_SELF:_dbfieldget("DBInk87","VN_ABRUF") == .T.) .and. (_SELF:_dbfieldget("DBInk87","NOLASTSCHR") == .F.)	// Kd-Abruf
     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
    ELSE
     cBuchungsInfo := "Bitte überweisen Sie den Rechnungsbetrag auf unser Konto."
    ENDIF

    // Gutschrift
   ELSE
    IF (_SELF:_dbfieldget("DBInk87","VN_RUEPR") == .T.) .and. (_SELF:_dbfieldget("DBInk87","NOLASTSCHR") == .F.)	// Rückprämie
     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+"."
    ELSE
     cBuchungsInfo := "Wir fügen einen Verrechnungsscheck bei."
    ENDIF
   ENDIF				

   // Einfügen der Banverbidnung & Buchungsinfo
   IF ! Empty(cBuchungsInfo)

    IF _SELF:wYTemp + 80 > _SELF:seite_y_ausdehnung()
     // Umbruch
     ExecuteScript(Umbruch, _self)
    ENDIF					

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

    _SELF:txt_absolut(0,_SELF:wYTemp,cBuchungsInfo)
    _SELF:wYTemp := _SELF:wYTemp + nFontSize + 5
    _SELF:txt_absolut(0,_SELF:wYTemp,cBankverbindung)

    _SELF:wYTemp := _SELF:wYTemp + 75
   ENDIF

// --------------------------------------------------
// Mit freundlichen ...
// --------------------------------------------------
   // Umbruch ?
   IF _SELF:wYTemp + 150 > _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", nFontSize , _self:_schrift_roman(), _self:_attr_normal() )

   ExecuteScript(AusgabeText, _self, _SELF:wYTemp,_self:_TXT_LINKS(),_SELF:cTxt_mfG,40)
  ENDIF
 NEXT m

ENDIF

RETURN
