mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-27 07:00:29 +01:00
1 line
9.1 KiB
Plaintext
1 line
9.1 KiB
Plaintext
<span style="font-size:28px;"><strong>Berichte erstellen</strong></span><br />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.<br /><br /><img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=19" width="700" /><h1>Feldeinstellungen</h1>Im Reiter "Einstellungen" werden die benötigten Informationen für den Bericht eingetragen.<br />In den Feldern ist dabei Folgendes einzugeben:<ul><li>Name: Der Name des Berichts (kann frei gewählt werden)</li><li>Projekt (optional): Projekt des Berichts</li><li>Beschreibung (optional): Beschreibung, was der Bericht anzeigt</li><li>Variablen (optional): Definition von Variablen, die dann im SQL-Statement dementsprechend ersetzt werden</li><li>Struktur: SQL-Statement, dass die Struktur des Berichts festlegt</li><li>Spaltenname: Bezeichnung der Spalten, in denen die Daten auftauchen (z.B. Datum, Kunde, Betrag)</li><li>Spaltenbreite (optional): Spaltenbreite in Millimetern (Gesamtbreite beträgt 190mm)</li><li>Spaltenausrichtung (optional): Ausrichtung des Textes in allen Feldern der Spalte, R (rechtsbündig), L (linksbündig), oder C (zentriert)</li><li>Interne Bemerkung (optional): Interne Anmerkung (taucht nicht im Bericht auf)</li></ul><h1>Variablen</h1>Es ist auch möglich Variablen in Berichten zu deklarieren und diese im SQL - Statement zu nutzen.<br /><br />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:<img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=20" /><h1>FTP-Übertragung und E-Mail</h1>Erstellte Berichte können über FTP übertragen sowie in regelmäßigen Abständen und zu bestimmten Zeitpunkten per E-Mail versendet werden.<br /><br />Die Funktion muss dazu aktiviert und alle Felder gefüllt werden.<ul><li>E-Mail Empfänger → E-Mail-Adresse, an die der Bericht versendet werden soll</li><li>E-Mail Betreffzeile → Betreff, den die E-Mail haben soll</li><li>Uhrzeit → Uhrzeit, zu dem die E-Mail verschickt werden soll (Ankunft kann sich um ca. eine Minute verzögern)</li><li>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)</li></ul><br /><img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=21" />Damit das Verschicken der E-Mails funktioniert, muss der Prozessstarter Berichte FTP Übertragungen aktiv und richtig konfiguriert sein. So könnten die Einstellungen aussehen:<img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=22" /><h1>Beispielberichte</h1><h2>ZM</h2><br /><code>SELECT belegnr, datum, name, kundennummer, land, ustid, SUM(soll) as sollFROM rechnungWHERE land != '{LAND}' AND land IN ({EULAENDER}) AND status != 'angelegt' AND ustid != <em> AND datum >= '{DATUMVON}' AND datum <= '{DATUMBIS}'GROUP BY ustid</em></code><br /><br /><strong>Variablen:</strong><br /><code>{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';</code><br /><br /><strong>Spaltenname:</strong><br /><code>Rechnung;Datum;Kunden;Kdnr;Land;USTID;Betrag</code><br /><br /><strong>Spaltenbreite:</strong><br /><code>20;25;65;15;10;30;25</code><br /><br /><strong>Spaltenausrichtung:</strong><br /><code>L;L;L;L;L;L;L</code><br /><br /><strong>Hinweis: </strong>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:<br /><code>FORMAT(soll,2,'de_DE')</code><h2><br />Verkaufte Artikel (Gerät) ins Ausland</h2><code>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'</code><br /><br /><strong>Spaltennamen:</strong><br /><code>Artikelnummer;Artikelbezeichnung;Land;AB Preis;AB;Datum;Gerät;Menge</code><br /><br /><strong>Spaltenbreite:</strong><br /><code>20;50;10;20;20;20;20;20</code><br /><br /><strong>Spaltenausrichtung:</strong><br /><code>L;L;L;L;L;L;L;L</code><br /> <h2>Lieferschein mit Lieferadresse und Produkt</h2><ul><li>Lieferadresse des Kunden</li><li>Alle Kunden die ein bestimmtes Produkt bestellt haben (Artikel ID)</li><li>Lieferscheine über einen bestimmten Datumsbereich</li></ul><br /><img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=23" width="700" /><br /><br /><code>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'</code><br /> <h2>Lagerbestand frei verfügbare Artikel</h2><code>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</code><h2><br />Alle Artikel mit Fremdnummern</h2><code>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</code><h2>Alle Kunden mit letztem Bestelldatum</h2><code>SELECT MAX(datum), name, kundennummer FROM auftrag WHERE status!='angelegt' AND datum >='2018-01-01' AND datum<'2018-04-01' GROUP by adresse</code><br /> <h2 style="font-style:italic;"><code>Mit Ausgabe Projekt und Projekt </code></h2><code>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</code><br /> <h2>Rechnung mit manueller Zahlungsfestsetzung</h2><ul><li>Info: liefert alle Rechnungen als Bericht, die den Haken "Alle Einstellungen manuell festsetzen" gesetzt haben.</li><li>als .csv anzeigen verwenden.</li></ul><br /><strong>Struktur:</strong><br /><code>SELECT r.belegnr,r.datum,r.name FROM rechnung r WHERE r.mahnwesenfestsetzen='1'</code><br /><br /><img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=24" /><h1>Live Tabelle</h1>Es ist auch möglich sich die selbstgeschriebenen Berichte als Live-Tabellen (wie z.B. im Auftrag, Adressen, etc) anzeigen zu lassen.<br /><br /><img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=25" />Einstellungen dazu:<img src="index.php?module=wiki&action=getfile&workspacefolder=XentralHandbuch&article=berichte&fileid=26" /><br /><br /><strong>Hinweis: </strong>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.<h2>Links einbauen in die Live-Tabelle</h2><p>Dazu müssen Sie die entsprechende Spalte mit einem CONCAT Befehl erweitern und die zu aufrufende URL damit bauen.</p>Beispiel: Sie wollen aus der Artikelnummer einen Link machen<br /><br />Alt:<br /><code>SELECT a.nummer FROM ...</code><br /><br />Neu:<pre><span class="wiki-text">SELECT CONCAT('<a href="/helpdesk?module=artikel&action=edit&id=',a.id,'">',a.nummer,'</a>') FROM ...</span></pre><br /><br />Damit erhalten Sie in der Live-Tabelle einen Link, der Sie direkt auf die Artikelseite bringt. |