Berichte erstellen
Hier können Sie sich eigene Berichte mit Hilfe von SQL Statements anlegen und als PDF/CSV exportieren, oder per FTP und E-Mail versenden.
Feldeinstellungen
Im Reiter "Einstellungen" werden die benötigten Informationen für den Bericht eingetragen.
In den Feldern ist dabei Folgendes einzugeben:- Name: Der Name des Berichts (kann frei gewählt werden)
- Projekt (optional): Projekt des Berichts
- Beschreibung (optional): Beschreibung, was der Bericht anzeigt
- Variablen (optional): Definition von Variablen, die dann im SQL-Statement dementsprechend ersetzt werden
- Struktur: SQL-Statement, dass die Struktur des Berichts festlegt
- Spaltenname: Bezeichnung der Spalten, in denen die Daten auftauchen (z.B. Datum, Kunde, Betrag)
- Spaltenbreite (optional): Spaltenbreite in Millimetern (Gesamtbreite beträgt 190mm)
- Spaltenausrichtung (optional): Ausrichtung des Textes in allen Feldern der Spalte, R (rechtsbündig), L (linksbündig), oder C (zentriert)
- Interne Bemerkung (optional): Interne Anmerkung (taucht nicht im Bericht auf)
Variablen
Es ist auch möglich Variablen in Berichten zu deklarieren und diese im SQL - Statement zu nutzen.
Die entsprechende Syntax sieht dann so aus (Semikolon am Ende nicht vergessen):{DATUMVON} = 2018-10-01;Im Bericht werden die Variablen folgendermaßen eingefügt:FTP-Übertragung und E-Mail
Erstellte Berichte können über FTP übertragen sowie in regelmäßigen Abständen und zu bestimmten Zeitpunkten per E-Mail versendet werden.
Die Funktion muss dazu aktiviert und alle Felder gefüllt werden.- E-Mail Empfänger → E-Mail-Adresse, an die der Bericht versendet werden soll
- E-Mail Betreffzeile → Betreff, den die E-Mail haben soll
- Uhrzeit → Uhrzeit, zu dem die E-Mail verschickt werden soll (Ankunft kann sich um ca. eine Minute verzögern)
- Dateiname → Name der Datei, die der Bericht ausgeben soll (Die Endung des entsprechenden Dateityps muss mit angefügt werden, also z.B. .csv oder .txt)
Damit das Verschicken der E-Mails funktioniert, muss der Prozessstarter Berichte FTP Übertragungen aktiv und richtig konfiguriert sein. So könnten die Einstellungen aussehen:Beispielberichte
ZM
SELECT belegnr, datum, name, kundennummer, land, ustid, SUM(soll) as sollFROM rechnungWHERE land != '{LAND}' AND land IN ({EULAENDER}) AND status != 'angelegt' AND ustid != AND datum >= '{DATUMVON}' AND datum <= '{DATUMBIS}'GROUP BY ustid
Variablen:
{LAND} = DE;{DATUMVON} = 2019-01-01;{DATUMBIS} = 2019-12-31;{EULAENDER} = 'AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI','FR','GB','GR','HR','HU','IE','IT','LT','LU','LV','MT','NL','PL','PT','RO','SE','SI','SK';
Spaltenname:
Rechnung;Datum;Kunden;Kdnr;Land;USTID;Betrag
Spaltenbreite:
20;25;65;15;10;30;25
Spaltenausrichtung:
L;L;L;L;L;L;L
Hinweis: Wollen Sie bei den Zahlen statt einem Punkt eher ein Komma haben (bsp: 13,10 statt 13.10), dann müssten Sie die Struktur entsprechend ändern:
FORMAT(soll,2,'de_DE')
Verkaufte Artikel (Gerät) ins Ausland
SELECT lieferschein_position.nummer,lieferschein_position.bezeichnung,lieferschein.land,round(auftrag_position.preis,2),(auftrag_position.preis * lieferschein_position.menge),lieferschein.auftrag,DATE_FORMAT(lieferschein.datum,'%d.%m.%Y'),artikel.geraet,lieferschein_position.mengeFROM lieferschein_positionLEFT JOIN lieferschein ON lieferschein.id=lieferschein_position.lieferscheinLEFT JOIN artikel ON artikel.id=lieferschein_position.artikelLEFT JOIN auftrag_position ON auftrag_position.id=lieferschein_position.auftrag_position_idWHERE artikel.geraet=1 AND lieferschein.land!='DE'AND lieferschein.datum >='2016-01-01' AND lieferschein.datum < '2016-07-31'
Spaltennamen:
Artikelnummer;Artikelbezeichnung;Land;AB Preis;AB;Datum;Gerät;Menge
Spaltenbreite:
20;50;10;20;20;20;20;20
Spaltenausrichtung:
L;L;L;L;L;L;L;L
Lieferschein mit Lieferadresse und Produkt
- Lieferadresse des Kunden
- Alle Kunden die ein bestimmtes Produkt bestellt haben (Artikel ID)
- Lieferscheine über einen bestimmten Datumsbereich
SELECT l.belegnr,l.datum,l.name,l.ansprechpartner,l.abteilung,l.unterabteilung,l.adresszusatz,l.land,l.strasse,l.plz,l.ort, a.name_de,a.nummer FROM lieferschein l LEFT JOIN lieferschein_position lp ON lp.lieferschein=l.id LEFT JOIN artikel a ON a.id=lp.artikel WHERE lp.artikel=212 AND l.datum>='2017-08-01' AND l.datum <='2017-12-31' ANDl.status='versendet'
Lagerbestand frei verfügbare Artikel
SELECT a.nummer,a.name_de,TRIM(IFNULL((SELECT SUM(lpi.menge) FROM lager_platz_inhalt lpi WHERE lpi.artikel=a.id),0)-IFNULL((SELECT SUM(ap.menge) FROM auftrag_position ap LEFT JOIN auftrag auf ON auf.id=ap.auftrag WHERE ap.artikel=a.id AND (auf.status='freigegeben' OR auf.status='versendet')),0))+0 FROM artikel a WHERE a.geloescht!=1
Alle Artikel mit Fremdnummern
SELECT artikel.nummer, artikel.name_de, artikelnummer_fremdnummern.nummer as fremdnummer, artikelnummer_fremdnummern.bezeichnung FROM artikelnummer_fremdnummern LEFT JOIN artikel ON artikel.id=artikelnummer_fremdnummern.artikel
Alle Kunden mit letztem Bestelldatum
SELECT MAX(datum), name, kundennummer FROM auftrag WHERE status!='angelegt' AND datum >='2018-01-01' AND datum<'2018-04-01' GROUP by adresse
Mit Ausgabe Projekt und Projekt
IDSELECT MAX(a.datum), a.name, a.kundennummer , p.abkuerzung FROM auftrag a LEFT JOIN projekt p ON p.id=a.projekt WHERE a.status!='angelegt' AND a.datum >='2018-01-01' AND a.projekt='1' AND a.datum<'2018-04-01' GROUP by a.adresse
Rechnung mit manueller Zahlungsfestsetzung
- Info: liefert alle Rechnungen als Bericht, die den Haken "Alle Einstellungen manuell festsetzen" gesetzt haben.
- als .csv anzeigen verwenden.
Struktur:
SELECT r.belegnr,r.datum,r.name FROM rechnung r WHERE r.mahnwesenfestsetzen='1'
Live Tabelle
Es ist auch möglich sich die selbstgeschriebenen Berichte als Live-Tabellen (wie z.B. im Auftrag, Adressen, etc) anzeigen zu lassen.
Einstellungen dazu:
Hinweis: Brauchen Sie eine speziellen Bericht, können Sie sich gerne an unseren Vertrieb wenden, damit wir Sie mit dem SQL Statement unterstützen können.Links einbauen in die Live-Tabelle
Dazu müssen Sie die entsprechende Spalte mit einem CONCAT Befehl erweitern und die zu aufrufende URL damit bauen.
Beispiel: Sie wollen aus der Artikelnummer einen Link machen
Alt:
SELECT a.nummer FROM ...
Neu:SELECT CONCAT('<a href="/helpdesk?module=artikel&action=edit&id=',a.id,'">',a.nummer,'</a>') FROM ...
Damit erhalten Sie in der Live-Tabelle einen Link, der Sie direkt auf die Artikelseite bringt.