Allgemeines
Aufbau der Reports
Verkaufs- und Einkaufsbelege
Inputparameter
Sortin:
1 = nach Erfassung
2 = nach Belegdatum
3 = nach Belegnummer
Druckin:
1 = provisorischer Druck (alle Belege mit Bearbeitungsstufe 0 – 1 können selektiert werden)
2 = definitiver Druck (nur Belege mit Bearbeitungsstufe 1 können ausgewählt werden, dieser Modus benötigt zusätzlich eine Beleglistennummer -> erhöht die Bearbeitungsstufe auf 2)
3 = Kopie (alle Belege mit Bearbeitungsstufe >= 2 können selektiert werden)
Output Parameter
Zeilentypen
10 = normale Zeile
15 = Seriennummer zu Verkaufszeile
20 = Summenzeile
30 = Abzüge/Zuschläge
40 = Textbausteine
50 + artnum = ‚B‘ = Steuerzeile brutto
50 + artnum = ‚N‘ = Steuerzeile netto
60 = Kopf und Fusszeile
90 = Seitenumbruch
Anhand dieser Typen können die Zeilen individuell formatiert werden.
Gruppierung
0 = Kopfzeile
1 = Belegzeilen
2 = Abzüge/Zuschläge
3 = Steuern
10 = Fusszeile
Diese Aufteilung erlaubt die Zeilen korrekt zu gruppieren sowie Zwischensummen zu bilden. Die Kopf- und Fusszeilen werden als Detailzeile geliefert.
Zusatzlisten für Belege
In den Einstellungen, Register Benutzer, können den Hauptlisten bis zu 10 Nachfolgelisten zugeordnet werden. Diese werden unmittelbar nach der Hauptliste aufbereitet. Der Dateiname der Liste sowie die Druckereinstellungen werden in der Registry eingetragen.
Definition der Zusatzlisten
Voraussetzung für eine Zusatzliste ist ein Eintrag in der Codetabelle unter dem Typ "Listenverkettung mit Zusatzlisten". (Infoniqa ONE 200 Admin, Datenbank, Codes)
Die Listen werden aufgrund des Codewertes den Hauptlisten zugeordnet. Die Werte sind wie folgt aufgeteilt:
Verkauf
Typ |
Code-Wert |
Belegtyp |
Hauptliste |
---|---|---|---|
1 |
10 - 19 |
Offerte |
Offerte |
2 |
20 - 29 |
Auftragsbestätigung |
|
3 |
30 - 39 |
Rüstschein |
Rüstschein |
4 |
40 - 49 |
Lieferschein |
Lieferschein |
5 |
50 - 59 |
Rechnung |
Rechnung |
6 |
60 - 69 |
Gutschrift |
Gutschrift |
7 |
70 - 79 |
Barfaktur |
Barfaktur |
8 |
80 - 89 |
Sammelrechnung |
Sammelrechnung |
9 |
90 - 99 |
Vorabrechnung |
Vorabrechnung |
10 |
100 - 109 |
Proformarechnung |
Proformarechnung |
Einkauf
Typ |
Code-Wert |
Belegtyp |
Hauptliste |
---|---|---|---|
101 |
1010 - 1019 |
Anfrage |
Offertanfrage |
102 |
1020 - 1029 |
Bestellung |
Bestellung |
103 |
1030 - 1039 |
Bestelleingang |
Lagerschein |
104 |
1040 - 1049 |
Lieferschein |
|
105 |
1050 - 1059 |
Rechnung |
|
106 |
1060 - 1069 |
Gutschrift |
Rücksendung |
107 |
1070 - 1079 |
Barfaktur |
|
108 |
1080 - 1089 |
Sammelrechnung |
|
109 |
1090 - 1099 |
Vorabrechnung |
Vorabrechnung |
110 |
1100 - 1109 |
Proformarechnung |
Proformarechnung |
Eingabeparameter
Damit die Zusatzlisten erfolgreich verarbeitet werden können, müssen diese zwingend identische Eingabeparameter wie die Hauptliste aufweisen. ACHTUNG: Die normalen Listenprozeduren können für die Zusatzlisten nur bedingt verwendet werden. Bei einem definitiven Druck verändert die Prozedur der Hauptliste die Bearbeitungsstufe des Beleges. Wird sie nun für eine Zusatzliste nochmals aufgerufen, so bringt sie keine Werte mehr zurück, da die Belege bereits als definitiv gedruckt markiert sind. Jedoch können anhand des Eingabeparameters @belnrbisin die vorher verarbeiteten Belege über die Beleghistory selektiert werden (Beispiel as_rptvklssrn.sql)
Zusatzlisten für definitiven Druck
Um eine Zusatzliste eines Beleges für den definitiven Druck tauglich zu machen, ist folgendes vorzukehren (Bsp. Rechnung):
-
Für die Zusatzliste eine Kopie der Orginalprozedur mit anderem Prozedurnamen erstellen (z.B. as_rptvkfaktr_kopie).
-
Bei der kopierten Prozedur (z.B. as_rptvkfaktr_kopie) muss folgende Anpassung gemacht werden:
Die Variable @zusatzliste muss anstelle des Werts 0 den Wert 1 haben:
-- Für Zusatzlisten den Wert anpassen: 0= erste Liste, 1= Zusatzliste select @zusatzliste = 1
-
Der Zusatzreport muss mit der neuen Prozedur verknüpft werden.
Damit wird dann eine Folgeliste auch beim definitiven Druck das ausdrucken, was die Hauptliste druckte.
PDF-Dateiname für Zusatzlisten
Damit der definierte PDF-Dateiname für die Zusatzliste (siehe Kapitel Einstellungen / Register Benutzer / Eintrag Zusatzlisten) übernommen wird, müssen zusätzlich folgende Anpassungen an der kopierten Prozedur vorgenommen werden:
-
Das Feld «exportfilename» vom Result-Set muss den PDF-Dateinamen von der SQL-User-Function «getpdffilenameforzusatzliste» holen:
'exportfilename' = concat(@pdfexport_path + '\', dbo.af_getpdffilenameforzusatzliste(@mandidin, #belege.internbelnum, #belege.belegnum, #belege.belegdat, #belege.belegtyp * 10 + @zusatzlistennummer, #belege.belegtypbez, @druckart_doku))
Dabei muss beachtet werden, dass die Belegtyp-Nummer richtig übergeben wird:
Bei Zusatzlisten ist die Belegtyp-Nummer immer die des Haupt-Report * 10 + Nummer der Zusatzliste. Die Nummerierung der Zusatzlisten fängt bei 0 an. (siehe Kapitel Definition der Zusatzlisten)
Beispiel:
Bei einer Verkaufsrechnung hat die 1. Zusatzliste die Belegtyp-Nummer 50, die 2. Zusatzliste den Wert 51 und die 3. Zusatzliste den Wert 52.
Barcodes drucken
Die Ausgabe von Barcodes ist auf drei Arten möglich:
-
Mit speziellen True Type Fonts für beliebige Drucker
-
Mit speziellen Druckertreibern und Drucker Fonts für Barcodedrucker
-
Über die druckereigene Programmiersprache und einem Nurtext-Treiber
Druck von Barcodes auf Laserdruckern
Für Laserdrucker gibt es Font Cartridges oder als Alternative sind TrueType Fonts von diversen Herstellern verfügbar wie zum Beispiel Azalea Software, Inc. (www.azalea.com), welche mit allen Laserdruckern verwendet werden können. Speziell für Azalea Fonts sind von Seagate Software spezielle Funktionen verfügbar, welche in Reports einfach angesprochen werden können und den Klartext so umstellen, dass diese mit einem Font korrekt dargestellt werden. Ebenfalls können Prüfziffern berechnet werden.
Druck von Barcodes auf Etikettendruckern
Etikettendrucker haben oft schon in der Standardausführung Barcode-Funktionen. Um diese ansprechen zu können, ist ein spezieller Windows Druckertreiber notwendig. Dieser ist vom Druckerhersteller selbst oder von Softwareherstellern wie zum Beispiel Seagull Scientific Inc. https://www.seagullscientific.com/de/support/downloads/drivers/ erhältlich.
Um simple Barcodes auszudrucken, können die Treiber von den Druckerherstellern sowie Fremdherstellern dienen. Leider ist es unter Crystal Reports nicht möglich, Fonts von diesen Treibern und Steuerbefehle gemeinsam zu verwenden. Die Steuersequenzen werden vom Drucker nicht erkannt und als Klartext ausgegeben. So können nur wenige Funktionen der Drucker angesprochen werden, eine grafische Darstellung am Bildschirm ist aber möglich. Welche Barcodes mit den Treibern abgedeckt werden können, hängt von der aktuellen Treiberversion ab und sollte bei Bedarf vorher abgeklärt werden.
Druck von Barcodes mit Steuersequenzen
Crystal Reports kennt keine Funktionen, um Steuersequenzen dem Drucker zu übermitteln, es gibt jedoch trotzdem eine Möglichkeit, die druckereigene Programmiersprache anzusprechen. Die Bedingung ist jedoch, dass auf die grafische Benutzeroberfläche verzichtet werden muss, ebenfalls eine grafische Vorschau der Etiketten ist nicht möglich. Im Gegenzug können aber alle Funktionen genutzt werden, die ein Barcode Drucker bietet.
Vorgehen:
Auf der Arbeitsstation wird ein Generic /Nur Text Treiber installiert. Wie bei einem normalen Druckertreiber muss die Schnittstelle des Druckers angegeben werden. Erfolgt die Verbindung zum Drucker über die serielle Schnittstelle, so ist zu beachten, dass die Data Bis auf 8 eingestellt werden. Nur so ist es möglich, Umlaute drucken zu können. Dies allein genügt jedoch nicht, um alle Sonderzeichen korrekt zu drucken. Unter den Dokumenteneinstellungen des Druckertreibers muss die Codepage auf CP 850 eingestellt werden. Diese Angaben beziehen sich auf das Betriebssystem Windows NT. Unter anderen Betriebssystemen sollte ein ähnlicher Treiber verfügbar sein.
Die Seiteneinstellungen spielen jetzt keine Rolle mehr. Crystal Report sendet dem Drucker alle Informationen als Text. So ist es möglich, die Programmiersprache des Druckers anzusprechen. Ein Beispielreport ist im Verzeichnis \Listproc\Autrag\Zusaetzliche Reports unter dem Namen «etiketten zpl ii» verfügbar.
Individuelle Reports
Vorgehen bei der Installation von individuellen Reports
Einstellungen
Als erstes muss auf dem App-Server ein Verzeichnis erstellt und für alle User freigegeben werden. In dieses Verzeichnis werden dann die eigenen Reports kopiert.
-
Verzeichnis im Explorer erstellen (z.B.: C:\Infoniqa ONE 200_Extra_V2022\Indiv_Rep)
-
Verzeichnis als Indiv_Rep freigeben
-
In Berechtigungen (Permissions) muss Vollzugriff für jedermann eingestellt werden.
Nun muss das Verzeichnis in den Einstellungen, Register Einstellungen 2/3, in Feld «Verzeichnis individuelle Reports (App-Server) erfasst werden.
Namensgebung
Die individuellen Reports müssen den gleichen Namen haben, wie der jeweilige Standard- Report, sofern diese für einen oder mehrere Mandanten verwendet werden.
Wenn mehrere Mandanten vorhanden sind und diese Mandanten benötigen vom Layout und/oder Inhalt her unterschiedliche Reports, so muss pro Mandanten ein Individueller Report generiert werden. Die Bezeichnung der Reports unterscheidet sich dann nur durch die ersten zwei Zeichen, welche die Mandanten-Identifikation darstellen.
Die Namen können nachfolgend unter Verkauf I entnommen werden. Sie sind wie folgt aufgebaut: Beispiel Verkaufs-Rechnung: ZZSAV014.rpt
ZZ = Mandant
S = Infoniqa ONE 200
A = Auftrag
V = Verkauf / E = Einkauf / W = Warenwirtschaft
014 = Fortlaufende Nummer
Für Verkauf, Einkauf und Warenwirtschaft gibt es je eine separate Nummer)
Die Reports werden gemäss folgenden Kriterien gesucht:
-
Im definierten Verzeichnis für die individuellen Reports wird nach einem mandantenspezifischen Report gesucht.
(Beispiel: AASAV014.rpt) -
Wenn kein mandantenspezifischer Report vorhanden ist, wird im individuellen Verzeichnis nach dem Report mit dem Standardnamen gesucht.
(Beispiel: ZZSAV014.rpt) -
Wenn im individuellen Verzeichnis kein entsprechender Report vorhanden ist, wird der Standard-Report aus dem Standard-Verzeichnis \Reports genommen.
(Beispiel: ZZSAV014.rpt)
PDF-Export
Die Reportseiten können in eine PDF-Datei exportiert werden. Dabei wird standardmässig z.B. pro Rechnungsbeleg ein PDF erstellt.
In der Report-Selektionsmaske ist dazu das PDF-Icon zu wählen.
Die Bezeichnung der PDF geschieht anhand der Definition «PDF Export Dateiname» in den Einstellungen, Register Belege.
Einstellungen in Infoniqa ONE 200
Das Verzeichnis für den PDF-Export muss in den Einstellungen 2/3 erfasst werden.
Schachtwechsel in Reports
Im separaten Dokument "Schachtwechsel.docx" finden Sie eine ausführliche Beschreibung, wie Reports für den Schachtwechsel angepasst werden können.
Report Fehlercodes
Eine Auflistung der möglichen Fehlercodes von Crystal Reports mit Erklärung finden Sie im separaten Dokument "crystal_reports_fehler.docx".