EleLa - Elektronik Lagerverwaltung Hilfe

Drucken Funktion

Drucken als Tabellen Ansicht

Mit der Drucken-Taste kann jede Tabellen-Ansicht ausgedruckt werden. Dabei werden alle sichtbaren Spalten als Liste in einer HTML Datei geschrieben. Die HTML Datei kann per Webbrowser gedruckt werden. Alternativ kann die Tabelle markiert/kopiert und in einer Tabellenkalkulation weiter verwendet werden.

Das Design der Tabelle lässt sich mit einer CSS Datei anpassen. Die CSS Datei erkennt EleLa automatisch wenn diese im Vorlage Ordner liegt, die Datei muss "Style.css" heißen und CSS Formatierungen in HTML Format enthalten, diese Formatierung macht EleLa wenn die Datei nicht vorhanden ist:

<style> {
  @media screen {
      h1,h2,h3,h4,p,ul,ol,li,div,b,i,body,table,tr,td,th {
        font-family: Arial, Helvetica, sans-serif; }
    }
  @media print {
      h1,h2,h3,h4,p,ul,ol,li,div,b,i,body,table,tr,td,th {
        font-family: Arial, Helvetica, sans-serif; }
    }
}
</style>

Beispiel um eine Tabelle mit kleinerer Breite, mittig und höherem Zeilenabstand zu formatieren:

<style> {
    table { width: 90%; margin-left: auto; margin-right: auto; }
    td    { height: 50px; vertical-align: middle; }
  }
</style>

Einzeldruck-Funktionen

Zusätzlich kann mit der rechten Maustaste auf diese Taste eine Einzeldruck-Funktion von einem Datensatz oder eine Druckfunktion von mehreren Datensätzen anhand von Vorlage-Dateien gestartet werden.

Die Vorlage-Dateien müssen im Verzeichnis, das in der INI Datei unter [Programm] "VorlageDir" definiert ist, vorhanden sein. Die Vorlagen sind immer im HTML Code geschrieben und können somit nach eigenen Wünschen angepasst werden.

Unterstützte Vorlagen für Einzeldruck-Funktion

Mit der Rechten Maustaste auf das Drucken-Symbol öffnet ein Popup-Menü. Mit dem kann mit "Drucke aktueller Datensatz" die ausgewählte Zeile als Einzelseite ausgedruckt werden. Folgende Dateien werden bei den Ansichten verwendet:

Funktion Dateiname
Projekt Projekt_1.htm
Projekt - Historie
Gerät - Historie
Einzegerät - Historie
Hist_1.htm
Projekt - Kostenvoranschag Kosten_1.htm
Bestellung Bestellen_1.htm
Extra - Historie Hist_1.htm
Extra - Wissen Wissen_1.htm

Für den Ausdruck wird die Vorlagen-Datei "XXXXX_1.htm" verwendet und die Kodierten Spalten ersetzt und anschließend wird die HTML Datei im EleLa Temp-Verzeichnis mit dem Name "XXXXX_1_<ID>.htm" abgespeichert. Die ID ist der Wert der Spalte ID der Datenbank und somit eine eindeutige Zahl. Anhand der Vorlage-Datei kann jeder selbst das Aussehen bestimmen/anpassen.
Folgende Kodierung wird erkannt und ersetzt:

Kodierung Beschreibung
$TIME$ aktuelle Uhrzeit
$DATE$ aktuelles Datum
$NOW$ aktuelles Datum + Uhrzeit
$IMAGE$ das Hauptbild sowie alle Extra-Bilder von der Position
$<SpaltenName>$ Alle Spalten der Tabelle werden hier eingetragen. Die Spaltennamen müssen groß geschrieben werden.

Unterstützte Vorlagen für Listendruck-Funktion

Mit der Rechten Maustaste auf das Drucken-Symbol öffnet ein Popup-Menü. Mit dem können zusätzliche Vorlage-Dateien für einen Ausdruck von Listen ausgewählt werden. Für den Listenausdruck werden Dateien für Bestellungen und Projekte unterstützt.
Folgende Dateien werden bei den Ansichten verwendet:

Funktion Dateiname
Projekt Projekt_<Bezeichnung>.htm
Projekt - Historie z.B. als Reparaturrapport Hist_<Bezeichnung>.htm
Projekt - Kostenvoranschlag Kosten_<Bezeichnung>.htm
Bestellung Bestellen_<Bezeichnung>.htm

Wobei die verwendete <Bezeichnung> im Dateiname im Popup-Menü angezeigt wird. Es sind somit beliebig viele Vorlagen für den Listenausdruck möglich und die Namensgebung ist auch frei. Im Dateiname sollten keine Sonderzeichen wie "äüöß" verwendet werden.

Diese Vorlagen sind in HTML Code erstellt und benötigen für die Listen-Funktion einen bestimmten Code-Aufbau. Beim Einlesen der Vorlage unterteilt EleLa die Datei in 3 Abschnitte:

  1. Kopfabschnitt
  2. Datenzeilen
  3. Fußabschnitt

Wobei der Kopfabschnitt zu Beginn ein mal erstellt wird, die Datenzeilen werden immer für jede Position wiederholt und der Fußabschnitt wird zum Schluss erstellt. Die Datenzeile wird mit folgender Kennung (HTML Kommentarzeile) erkannt:

<!-- $START$ -->
: : :
<!-- $END$ -->

Alles vor der Start Kennung ist der Kopfabschnitt, alles nach der Ende Kennung ist der Fußabschnitt.

Andere Dateiformate in der Listendruck-Funktion

EleLa unterstützt andere Dateiformate in der Listendruck-Funktion. Dabei werden diese Dateien immer als Text eingelesen und der Text wird ersetzt. Beispiel einer Datei:

Bezeichnung:  $MAIN.BEZEICHNUNG$
Beschreibung: $MAIN.BESCHREIBUNG$
MengeOffen:   $MAIN.MENGEOFFEN$
<!-- $START$ -->$SYMBOL$;$BEZEICHNUNG$;$BV_BEZEICHNUNG$;$VARTIKELNR$;$MENGE$;$POSX$;$POSY$;$POSR$<!-- $END$ -->

Alles zwischen der Start und Ende Kennung wird je Position wiederholt. Wobei dieser Start / Ende Kommentar gelöscht wird so dass er in der konvertierten Datei nicht mehr enthalten ist. Somit können Ausgaben in Text Dateien, XML oder anderen Formaten die Textbasiert sind erfolgen (Beispiel spezielle BOM für Bestückungsautomat).

Codierungen innerhalb der Datei

Folgende Kodierung wird erkannt und in allen Abschnitten gleichermaßen ersetzt:

Kodierung Beschreibung
$TIME$ aktuelle Uhrzeit
$DATE$ aktuelles Datum
$NOW$ aktuelles Datum + Uhrzeit
$MAIN.<SpaltenName>$ Alle Spalten der Kopf-Tabelle werden hier eingetragen.
$<SpaltenName>$ Alle Spalten der Daten-Tabelle werden hier eingetragen.
$BV_<SpaltenName>$ Bei Projekt oder Kostenvoranschlag werden so alle Felder der BauteilVariante in den Positionen mit verknüpft.
$N$ Für fortlaufende Positionsnummerierung im Ausdruck
$MENGE.SUM$ Summe aller Mengen
$GPREIS.SUM$ Summe aller GPreis Felder
$MAIN.IMAGE$ von der überliegenden Kopf-Tabelle alle Bilder (z.B. Übersicht von Kostenvoranschlag)
$PROJEKT.IMAGE$ wenn aus dem Bereich "Projekt - F3" / Projekt oder Gerät gedruckt wird, so können somit die Bilder aus dem Projekt / Gerät hinzugefügt werden.
Beispiel: Im Kostenvoranschlag möchte man das Bild aus dem Projekt haben.

Die Spaltennamen müssen groß geschrieben werden.

Die Information der Spalte als Text wird immer die Ansicht wie in EleLa gezeigt.
Beispiel: In der Datenbank-Tabellenspalte "Bauteil_ID" steht nur eine ID-Zahl zur verwiesenen Tabelle "bauteil". Angezeigt wird jedoch die Bezeichnung des Bauteils, so wie in der EleLa Tabelle ersichtlich und nicht die tatsächlich in der Datenbank hinterlegte ID. So auch alle anderen Texte.

Hier die Übersicht der Tabellen / Spalten von EleLa.

Verfügbare Spalten:

Um es leichter heraus zu finden welche Spalten von der Datenbank beim Ausdruck verwendet werden können, werden bei jedem Druck diese im Log von EleLa protokolliert.

  • Main: Die Kopf-Informationen, z.B. vom Projekt
  • Detail: Die Detail-Informationen, z.B. die Positionen vom Projekt
  • Detail Bauteil: Die Bauteil Infos zu einer Position um die Details für die BOM erstellen zu können. Wenn es zum Ausdruck keine Möglichkeit für die Details gibt wird diese Zeile im Log nicht generiert.

Die Anzahl der Spalten sind zum Teil relativ lang, man kann die Zeilen aus dem Log in die Zwischenablage kopieren und diese mit einem Text-Editor bearbeiten. Beispiel:
Spalten die mit einem "A_" beginnen kommen aus der verknüpften Adresse, Spalten die mit "BV_" beginnen kommen aus der Tabelle BauteilVariante.

Verfügbare Spalten in EleLa anzeigen:

EleLa kann die verfügbaren Spalten während dem Druck anzeigen. Dazu muss in EleLa der "Debug Mode" aktiviert werden. Der Debug Mode wird aktiviert indem in der INI Datei dieser Eintrag hinzugefügt wird:

[Debug]
Mode=1

Nach dem Neustart von EleLa und dem erneuten Druck der Vorlage wird im Log je Tabelle folgende Zeilen zusätzlich erzeugt:

  • PrintList Main
  • PrintList Data
  • PrintList SubData (Optional)

Danach stehen alle Spalten die für die jeweilige Daten verfügbar sind. Wenn man die Ansicht im Log nicht mehr benötigt so sollte der hinzugefügte Eintrag aus der INI Datei wieder gelöscht werden, oder zumindest "Mode=0" eingestellt werden, da diese Funktion EleLa verlangsamt.

Sonderbehandlung bei Projekt:

Als Kopf-Tabelle sind alle Spalten der Tabelle Projekt sowie alle Spalten der verknüpften Adresse verfügbar. Die Spalten der Adresse haben zusätzlich ein "A_" als Präfix, denn gleichnamige Spalten müssen in der Datenbankabfrage andere Bezeichnungen haben. Beispiel:

Projekt, Spalte Bezeichnung >> "$MAIN.BEZEICHNUNG$"
Adresse, Spalte Bezeichnung >> "$MAIN.A_BEZEICHNUNG$"

Als Kopf-Tabelle sind zusätzlich alle Spalten der verknüpften Gehäuse/Variante Tabelle verfügbar. Die Spalten der Gehäuse/Variante Tabelle haben zusätzlich ein "BL_" als Präfix, denn gleichnamige Spalten müssen in der Datenbankabfrage andere Bezeichnungen haben. Beispiel:

Bestellen, Spalte Bezeichnung >> "$MAIN.BEZEICHNUNG$"
Gehäuse/Variante, Spalte Bezeichnung >> "$MAIN.BV_BEZEICHNUNG$"

Als Datenzeile sind alle Spalten der Projektposition verfügbar. Dabei wird die gefilterte Ansicht (z.B. Filter auf Variante) berücksichtigt, sowie die Sortierung der Tabelle, also direkt die Tabelle Projektpos so wie man sie Daten sieht.
In den Position sind die Felder aus Kiste verknüpft und haben die Spaltennamen: Kiste.Bezeichnung >> KISTE
In den Position sind die Felder aus Gehäuse verknüpft und haben die Spaltennamen: Gehause.Bezeichnung >> GBEZ
In den Position sind die Felder aus BauteilVariante verknüpft und haben die Spaltennamen mit einem vorangestellten "BV_" somit kann auf die Spalte mit "BV_BEZEICHNUNG" zugegriffen werden.

Sonderbehandlung bei Projekt - Kostenvoranschlag:

Als Kopf-Tabelle sind alle Spalten der Tabelle Kostenvoranschlag sowie alle Spalten der verknüpften Adresse verfügbar. Die Spalten der Adresse haben zusätzlich ein "A_" als Präfix, denn gleichnamige Spalten müssen in der Datenbankabfrage andere Bezeichnungen haben. Beispiel:

Kostenvoranschlag, Spalte Bezeichnung >> "$BEZEICHNUNG$"
Adresse, Spalte Bezeichnung >> "$A_BEZEICHNUNG$"
Adresse Kontakt, Spalte Bezeichnung >> "$AK_BEZEICHNUNG$"

Als Datenzeile sind alle Spalten vom Kostenvoranschlag Positionen verfügbar. Dabei wird die gefilterte Ansicht (z.B. Filter auf Status) berücksichtigt, sowie die Sortierung der Tabelle, also direkt die Tabelle KostenPos so wie man sie Daten sieht.
In den Position sind die Felder aus Bauteil Gehäuse/Variante verknüpft und haben die Spaltennamen: LARTIKELNR, LBARCODE und LART sowie alle Spalten Bezeichnungen mit vorangesetztem "BV_", Beispiel: "$BV_BEZEICHNUNG$".

Summen-Errechnung der Positionen:

Kodierung Beschreibung
$MENGE.SUM$ Summe aller Mengen
$VPSUM.SUM$ Summe aller VPSum Einzelpositionen

Sonderbehandlung bei Projekt - Historienausdruck:

Als Tabelle sind alle Spalten der Tabelle Historie sowie alle Spalten der verknüpften Adresse verfügbar. Die Spalten der Adresse haben zusätzlich ein "A_" als Präfix, denn gleichnamige Spalten müssen in der Datenbankabfrage andere Bezeichnungen haben. Beispiel:

Historie, Spalte Bezeichnung >> "$BEZEICHNUNG$"
Adresse, Spalte Bezeichnung >> "$A_BEZEICHNUNG$"

Die Kennung "$MAIN." darf nicht verwendet werden, da es keine Haupt-Tabelle mit Positionen gibt.

Sonderbehandlung bei Bestellung:

Zu Beginn des Ausdrucks wird ein Dialog gestartet, mit dem man den Lieferant sowie die Auftrags-Nummer auswählen kann. Es werden nur "offene" Positionen bearbeitet und gedruckt.

Zusätzlich kann hier der "Termin" für alle Positionen gesetzt werden. Nach erfolgreichem Bestellen kann der Status auf "bestellt" gesetzt werden.

Als Kopf-Tabelle wird die Tabelle Adresse verwendet und es sind alle Spalten der Adresse als Kennung "$MAIN.XXXXX$" verfügbar. Als Datenzeile werden alle Positionen der Bestell-Liste verwendet, die:

  • dem ausgewählten Lieferant entsprechen
  • der ausgewähltem Auftrags-Nummer entsprechen
  • nicht Archiviert sind
  • Die Adresse aus Lieferant 1/2 mit gesetztem Lieferant 1/2 oder keinem übereinstimmt.

Wenn kein Lieferant ausgewählt wurde, wird immer der Lieferant auf 1 oder 2 je nach passender Lieferantenadresse gesetzt.

Als Positionen sind zusätzlich alle Spalten der verknüpften Gehäuse/Variante Tabelle verfügbar. Die Spalten der Gehäuse/Variante Tabelle haben zusätzlich ein "BV_" als Präfix, denn gleichnamige Spalten müssen in der Datenbankabfrage andere Bezeichnungen haben. Beispiel:

Bestellen, Spalte Bezeichnung >> "$BEZEICHNUNG$"
Gehäuse/Variante, Spalte Bezeichnung >> "$BV_BEZEICHNUNG$"

Um in den Datenzeilen automatisch den richtigen Lieferanten (anhand Adress-Auswahl) an zu zeigen werden folgende Spalten Kennungen verwendet:

Kodierung Beschreibung
$LIEF?_XXXXX$ Spalte Lief1_xxxxx wenn Adresse mit Lieferant 1 übereinstimmt.
Spalte Lief2_xxxxx wenn Adresse mit Lieferant 2 übereinstimmt.
$MENGE.SUM$ Summe aller Mengen, aus Lief1_MengeVPE oder Lief2_MengeVPE, anhand übereinstimmender Adresse
$GPREIS.SUM$ Summe aller GPreise, aus Lief1_GPreis oder Lief2_GPreis, anhand übereinstimmender Adresse

Internet-Browser

Je nach Internet Browser können die erzeugen Seiten der Vorlagen etwas anders aus sehen. Beispielsweise beherrscht (konnte) der Microsoft Internet Explorer keine Inline-Images, die bei der Einzel Druckansicht verwendet werden.
Daher empfehle ich die Vorlagen für einen Browser-Typ her zu richten und immer nur den einen Internet Browser für den Ausdruck zu verwenden.


© 2010-2024 by Markus Müller