LexSHOP GmbH & Co. KG Contact Details:
Main address: Celsiusstrasse 28 12207 Berlin, Germany ,
Tel:( 49 30) 55 14 54 38 , Fax:( 49 30) 70 01 43 11 28 , E-mail: info(at)lexwiki.de URL: https://lexwiki.de Logo LexWIKI Founder:
Udo Netzel Director (CEO)

Das Einbinden zusätzlicher Grafiken/Logos in die Formulare ist keine einfache Aufgabe. Ich möchte es hier am Beispiel eines Kunden von mir zeigen. Natürlich sind die Kundennamen anonymisiert. Zuerst werden die Logos und ihre Dimensionen angelegt. Dabei sollte man sich an die Vorgaben von Lexware halten, damit keinen Wert vergisst:

  1. Pfad zur Datei
  2. Position des Logos vom linken Papierrand (!)
  3. Position des Logos vom oberen Papierrand (!)
  4. Breite des Logos
  5. Höhe des Logos

Bei der Eingabe des Pfadnamens ist auf die Anführungszeichen und die doppelten Backslash “\\” zu achten. Auch ist es sinnvoll, die eigenen Dateien in einem eigenen Ordner vorzuhalten.

Bei der Auflösung der Dateien sollte man diese in der Standardauflösung des Druckers vorliegen haben, damit dieser die Bilder nicht nochmal skalieren muss, was zu einer Verschlechterung der Qualität führt.

Im nachfolgenden Beispiel werden 6 (Sechs) Logos eingebunden, die in Abhängigkeit von der getroffenen Auftragsart dann später angedruckt werden.

' FirmaXXX Logos == ANFANG
 
'Logo für 1. Seite **************************************************************************
Dim sFirmaXXXLogo1       as string  =    "L:\\Formulare\\Grafiken\\briefkopf_FirmaXXX.bmp"
Dim nFirmaXXXLogo1Links   as numeric =    1.00 cm
Dim nFirmaXXXLogo1Oben   as numeric =    1.00 cm
Dim nFirmaXXXLogo1Breite as numeric =   18.70 cm
Dim nFirmaXXXLogo1Hoehe  as numeric =    2.51 cm
 
'Logo für Seite 2 ff... **********************************************************************
Dim sFirmaXXXLogo2       as string  =    "L:\\Formulare\\Grafiken\\briefkopf_seite2_FirmaXXX.bmp"
Dim nFirmaXXXLogo2Links  as numeric =    1.00 cm
Dim nFirmaXXXLogo2Oben   as numeric =    1.00 cm
Dim nFirmaXXXLogo2Breite as numeric =   18.70 cm
Dim nFirmaXXXLogo2Hoehe  as numeric =    0.70 cm
 
'Buchhaltungsmarker ***********************************************************************
Dim sFirmaXXX_KSGB       as string  =    "L:\\Formulare\\Grafiken\\ks_gb.bmp"
Dim nFirmaXXX_KSGBLinks  as numeric =   16.00 cm
Dim nFirmaXXX_KSGBOben   as numeric =    4.00 cm
Dim nFirmaXXX_KSGBBreite as numeric =    4.00 cm
Dim nFirmaXXX_KSGBHoehe  as numeric =    3.00 cm
 
'Kundenkopie *****************************************************************************
Dim sFirmaXXX_KKP        as string  =   "L:\\Formulare\\Grafiken\\Kundenakte.bmp"
Dim nFirmaXXX_KKPLinks   as numeric =   16.00 cm
Dim nFirmaXXX_KKPOben    as numeric =    3.40 cm
Dim nFirmaXXX_KKPBreite  as numeric =    4.00 cm
Dim nFirmaXXX_KKPHoehe   as numeric =    3.00 cm
 
'Rohgewinn  *****************************************************************************
Dim sFirmaXXX_EKVK       as string  =   "L:\\Formulare\\Grafiken\\EK_VK.bmp"
Dim nFirmaXXX_EKVKLinks  as numeric =   16.00 cm
Dim nFirmaXXX_EKVKOben   as numeric =    3.40 cm
Dim nFirmaXXX_EKVKBreite as numeric =    4.00 cm
Dim nFirmaXXX_EKVKHoehe  as numeric =    3.00 cm
 
'Logo für die Bankverbindung ***************************************************************
Dim sFirmaXXXLogo3       as string  =   "L:\\Formulare\\Grafiken\\bankverb_FirmaXXX_farbe.bmp"
Dim nFirmaXXXLogo3Links  as numeric =    1.00 cm
Dim nFirmaXXXLogo3Oben   as numeric =   28.00 cm
Dim nFirmaXXXLogo3Breite as Numeric =   18.78 cm
Dim nFirmaXXXLogo3Hoehe  as numeric =    0.51 cm
 
'= FirmaXXX Logos == ENDE

Nachdem die Logos definiert wurden sollen sie jetzt natürlich auch noch angedruckt werden. Dazu muss man sie an den gewünschten Stellen in den Quelltext des Formulars einbinden und eventuell die Abfragen für die einzelnen Anzeigevarianten erzeugen oder abändern.

Als 1. Beispiel möchte ich hier das Banklogo anführen. Dazu wurde die Standarddatei lay_pro.lsf abgeändert

' Firmenlogo anzeigen, wenn ausgewählt
SetFormatNumericOptions(FN_CUSTOM, "","")
If bMitLogoAufSeite1 then
    DrawImage(nFirmenLogoLinks-nRandLinks, nFirmenLogoOben-nRandOben, nFirmenLogoBreite, nFirmenLogoHoehe, sFirmenLogoQuelle)
    'Bankverbindung
    DrawImage(nFirmaXXXLogo3Links-nRandLinks, nFirmaXXXLogo3Oben-nRandOben, nFirmaXXXLogo3Breite, nFirmaXXXLogo3Hoehe, sFirmaXXXLogo3)
End If
If bMitLogo2AufSeite1 then
    DrawImage(nFirmenLogo2Links-nRandLinks, nFirmenLogo2Oben-nRandOben, nFirmenLogo2Breite, nFirmenLogo2Hoehe, sFirmenLogo2Quelle)
    'Bankverbindung
    DrawImage(nFirmaXXXLogo3Links-nRandLinks, nFirmaXXXLogo3Oben-nRandOben, nFirmaXXXLogo3Breite, nFirmaXXXLogo3Hoehe, sFirmaXXXLogo3)
End If

Das ist insofern einfach, da es auf jeder Seite gedruckt wird. Es erfolgt also keine Auswahl ob 1. Seite oder Folgeseite.

Beim 2. Beispiel wurde die Datei lay_devi.lsf als Grundlage verwendet.

Beim Andruck des Buchhaltungsmarker ist das Ganze schon etwas anderes, da dieser nur auf der 2. von 3 Seiten gedruckt werden soll. Dazu waren dann nicht nur in der eigentlichen Druckroutine für den Auftrag Änderung erforderlich, sondern es mussten auch noch Änderungen in verschiedenen anderen Bereichen vorgenommen werden. Allerdings war anschließend mit diesem einen Formular der Ausdruck der folgenden Unterlagen möglich:

  1. Kopie für den Kundenordner mit dem Eindruck “Kundenkopie”
  2. Kopie mit dem Eindruck eines Buchhaltungsmarkers als Logo für die Vorkontierung
    1. Kopie mit den EK-VK-Preisen zur Ermittlung des Rohgewinns (beim Angebot)
    2. Kopie für die Kundenakten (bei der Rechnung)
'Firmenlogo anzeigen, wenn ausgewählt
SetFormatNumericOptions(FN_CUSTOM, "","")
If bMitLogoAufSeite1 then
    DrawImage(nFirmenLogoLinks-nRandLinks, nFirmenLogoOben-nRandOben, nFirmenLogoBreite, nFirmenLogoHoehe, sFirmenLogoQuelle)
   'FirmaXXX KG 
   'FirmaXXX Logo 1
    DrawImage(nFirmaXXXLogo1Links-nRandLinks, nFirmaXXXLogo1Oben-nRandOben, nFirmaXXXLogo1Breite, nFirmaXXXLogo1Hoehe, sFirmaXXXLogo1)
    if (i_FirmaXXX_KopieZaehler = 2) then
        ' Kundenkopie
        DrawImage(nFirmaXXX_KKPLinks-nRandLinks, nFirmaXXX_KKPOben-nRandOben, nFirmaXXX_KKPBreite, nFirmaXXX_KKPHoehe, sFirmaXXX_KKP)
    end if
    if (i_FirmaXXX_KopieZaehler = 3) then
        if ( IS(AUFTR_IST_AG) = true) then
            'Rohgewinnermittlung
            DrawImage(nFirmaXXX_EKVKLinks-nRandLinks, nFirmaXXX_EKVKOben-nRandOben, nFirmaXXX_EKVKBreite, nFirmaXXX_EKVKHoehe, sFirmaXXX_EKVK)
        else
            'Buchungskopie
            DrawImage(nFirmaXXX_KSGBLinks-nRandLinks, nFirmaXXX_KSGBOben-nRandOben, nFirmaXXX_KSGBBreite, nFirmaXXX_KSGBHoehe, sFirmaXXX_KSGB)
        end if
    end if
    ' Bankverbindung
    DrawImage(nFirmaXXXLogo3Links-nRandLinks, nFirmaXXXLogo3Oben-nRandOben, nFirmaXXXLogo3Breite, nFirmaXXXLogo3Hoehe, sFirmaXXXLogo3)
    ' FirmaXXX KG
End If
If bMitLogo2AufSeite1 then
    DrawImage(nFirmenLogo2Links-nRandLinks, nFirmenLogo2Oben-nRandOben, nFirmenLogo2Breite, nFirmenLogo2Hoehe, sFirmenLogo2Quelle)
    ' FirmaXXX 
    ' FirmaXXX Logo 2
    DrawImage(nFirmaXXXLogo2Links-nRandLinks, nFirmaXXXLogo2Oben-nRandOben, nFirmaXXXLogo2Breite, nFirmaXXXLogo2Hoehe, sFirmaXXXLogo2)
    ' Bankverbindung
    DrawImage(nFirmaXXXLogo3Links-nRandLinks, nFirmaXXXLogo3Oben-nRandOben, nFirmaXXXLogo3Breite, nFirmaXXXLogo3Hoehe, sFirmaXXXLogo3)
    ' FirmaXXX KG 
End If

Eine einzelne Auswahl der zusätzlichen Logos über die Formularverwaltung ist nicht möglich, da man dort ja keine zusätzlichen Logos generieren kann.

 

Veröffentlicht bzw. zuletzt aktualisiert am 29. Dezember 2018 - Autor: Robert Madloch

 

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert