Berichte erstellen

  • Berichte
Unter Verwaltung → Berichte können Sie, wie folgt beschrieben, eine Abfrage zur Berichtserstellung anlegen. :entwickler:verwaltung--_berichte.png?700 In den Feldern ist dabei Folgendes einzugeben:
  • Name: Der Name des Berichts (kann frei gewählt werden)
  • Beschreibung: Beschreibung, was der Bericht anzeigt
  • Struktur: SQL-Statement, dass die Struktur des Berichts festlegt
  • Spaltenname: Bezeichnung der Spalten, in denen die Daten auftauchen (z.B. Datum, Kunde, Betrag)
  • Spaltenbreite: Spaltenbreite in Millimetern (Gesamtbreite beträgt 190mm)
  • Spaltenausrichtung: Ausrichtung des Textes in allen Feldern der Spalte (rechtsbündig, linksbündig oder zentral)
  • Interne Bemerkung: Interne Anmerkung (taucht nicht im Bericht auf)
Hinweis: Ab der 19.3 gibt es das Feld "Projekt" hier kann ein Projekt hinterlegt werden.

Variablen

Ab der Version 18.3 ist es 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::entwickler:bericht_mit_variablen.png?

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)
:entwickler:berichte_mailversand_2.png Damit das Verschicken der E-Mails funktioniert, muss der Prozessstarter Berichte FTP Übertragungen aktiv und richtig konfiguriert sein. So könnten die Einstellungen aussehen: :entwickler:prozessstarter_berichte_ftp.png Hinweis:
Ab Version 20.1 gibt es die Möglichkeit die Checkbox "Passive Mode verwenden", falls der FTP Server keinen aktiven Verbindungsaufbau unterstützt.

ZM

SELECT belegnr, datum, name, kundennummer, land, ustid, SUM(soll) as soll 
FROM rechnung 
WHERE 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.menge
FROM lieferschein_position
LEFT JOIN lieferschein ON lieferschein.id=lieferschein_position.lieferschein
LEFT JOIN artikel ON artikel.id=lieferschein_position.artikel
LEFT JOIN auftrag_position ON auftrag_position.id=lieferschein_position.auftrag_position_id
WHERE 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
:entwickler:bericht_001.png?direct&700
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 ID

SELECT 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'
:entwickler:bericht_002.png?direct

Live Tabelle

Ab Version 18.3 ist es möglich sich die selbstgeschriebenen Berichte als Live-Tabellen (wie z.B. im Auftrag, Adressen, etc) anzeigen zu lassen. :entwickler:berichte_live.png Einstellungen dazu: :entwickler:berichte_live_einstellung.png 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.

FAQs

War der Artikel hilfreich?
Vielen Dank für Ihr Feedback!