KONFIGURATION VON TRYTON.CLOUD

Auf tryton.cloud haben wir ein Set von Standardvorlagen integriert. Sie beinhalten Ihr Firmenlogo und Ihren Firmennamen. Diese Vorlagen können Sie auch anpassen.
Ab einem gewissen Punkt greift man bei den Layoutanpassungen besser auf einen Profi zurück. Der kostet zwar etwas, aber er hat die Anpassungen schneller gemacht und kennt die eine oder andere Abkürzung. Melden Sie sich über contact@tryton.cloud.
STANDARD VORLAGEN
Hier sehen Sie einige Beispiele:
Formulare anpassen
In Tryton kann die Gestaltung von Formularen (z.B. Briefe, Offerten, Rechnungen, etc.) ganz einfach angepasst werden. Dazu sichert man sich eine Vorlage aus Tryton zu sich auf den Computer, passt sie mit LibreOffice an und lädt die fertige Vorlage wieder rein.

Kopie erstellen
Berichte aus Tryton raus sichern
- Gehe nach >Systemverwaltung >Programmoberfläche >Aktionen >Berichte
- Öffne eine geeignete Auswertung per Doppelklick
- Speichere das Dokument mit dem "Speichern unter" Symbol auf den Schreibtisch.
- Erstelle eine Kopie, damit die alte Version im Notfall immer noch vorhanden ist.
- Öffne diese mit LibreOffice.
Formulare anpassen
Anpassungsmöglichkeiten
- Stile anpassen (andere Schrift, grössere oder kleinere Buchstaben, andere Farben, etc.)
- Textbausteine anders formulieren
- graue Felder entfernen oder an einen anderen Platz verschieben
- Bilder einfügen
Andere Schriften
Bitte verwenden Sie ausschliesslich Schriften des Typs "OpenType". Mit dem Tryton Client ginge es zwar auch mit älteren PostScript-Schriften, aber die OpenType Schriften können auch im Web und mit der mobile App "myjob.cloud" verwendet werden.
Andere Datenbankfelder
Falls Sie neue Datenbankfelder hinzufügen möchten, sind wir gerne für Sie da. Wir machen das im Stundenaufwand, aber sind geübt und somit schnell in der Umsetzung.
Berichte aktivieren
Formulare nach tryton.cloud retour laden
- Gehe nach >Systemverwaltung >Programmoberfläche >Aktionen >Berichte
- Öffne eine geeignete Auswertung per Doppelklick
- Klicke auf das "Auswählen..." Symbol (kleine Lupe neben dem Feld "Inhalt:") und lade das angepasste LibreOffice Dokument vom Schreibtisch rauf.
- Speichere den Datensatz.

FÜR FORTGESCHRITTENE
Formularbefehl "if"
Beschrieb
Hier ein Anwendungsbeispiel: Wenn man ein Feld einfach abdrucken würde, das keinen Inhalt hat, gibt es einen Error und das Formular kann nicht erzeugt werden. Mit dem Befehl if test kann man prüfen, dass in einem Feld wirklich Daten drin stehen.
Beispiel
<if test="purchase.party.vat_code">
MWST-Nr: <purchase.party.vat_code>
</if>
Übersetzung des Beispiels
Falls ja, so schreibt es den Inhalt aufs Papier. Davor den Text MWST-Nr: und dann den Inhalt des Datenbankfeldes <purchase.party.vat_code>.
Das wars, der Befehl if ist beendet.
Befehl für Feldtest
Beschrieb
Beispiel
<line.product.rec_name if line.product else ''>
Übersetzung des Beispiels
Falls ja, so schreibt es den Inhalt vom Feld line.product.rec_name aufs Papier.
Sonst (else) wird nichts geschrieben.
Befehl "when"
Beschrieb
Beispiel
<choose test="">
<when test="purchase.state == 'draft'">
ENTWURF EINKAUFSOFFERTE
</when>
<otherwise test="">
EINKAUF: <purchase.reference>
</otherwise>
</choose>
Übersetzung des Beispiels
Wenn aber aber im Datenbankfeld purchase.state was anderes drin steht, dann schreibe aufs Papier EINKAUFmit dem Inhalt des Datenbankfeldes <purchase.reference> hinten dran. Nun ist die Alternative und when definitiv fertig.
Felder anzeigen
Bestimmtes Feld drucken
Hier zwei Beispiele, wie man Felder abdrucken kann:
<datetime.date.today()>
- Druckt das heutige Datum.
<party.full_name>
- Wir befinden uns bei den Parteien in Tryton und wollen dieses Feld auf ein Blatt drucken.
- Druckt das Feld "full_name" aus dem Modell "party".
Feld drucken, das vielleicht leer sein könnte
Wenn ein Feld leer ist, so kann das Feld nicht gedruckt werden und es gibt einen Error. Daher muss man in der Programmierung definieren, was gedruckt werden soll, wenn das Feld leer ist. Wir definieren, das es ein "keinen Text" Text drucken soll. Das sieht auf den ersten Blick etwas unsinnig aus, aber ist technisch nötig.
<packing.reference or ''>
- Druckt das Feld "packing.reference", sofern was drin steht, sonst "kein Zeichen" gedruckt.
Alternativ kann man auf mit "if test" prüfen, ob ein Feld einen Inhalt hat.
<if test="company.party.addresses[0].street"><company.party.addresses[0].street></if>
- <if test="company.party.addresses[0].street"> prüft, ob das Feld "company.party.addresses[0].street" einen existiert und einen Inhalt hat, sprich, ob es eine Company gib und ob ihr eine Partei zugewiesen ist und ob es bei der ersten Adresse eine Strasse erfasst hat.
- <company.party.addresses[0].street> druckt dann das Feld aufs Blatt.
- </if> schliesst die "if test" Abfrage ab.
Felder zusammensetzen
Felder können auch zusammengesetzt werden.
<invoice.number and ' ' + invoice.number or ''>
- Hier wird zuerst das Feld "invoice.number" gedruckt
- danach kommt ein Leerschlag (and ' ')
- danach kommt das Feld "invoice.number", wenn es existiert und einen Inhalt hat (or '')
Formatierung von Feldern
Anzahl Kommastellen
Eine auszugebende Zahl (hier line.discount) wird hier im Nummern-Format (format_number) ausgegeben.
<format_number(line.discount, sale.party.lang, digits=0)>
- Dabei wird das generelle Zahlenformat des Verkaufs (sale.party.lang) verwenden.
- Hier speziell ist, dass die Zahl ohne Dezimalstellen ausgegeben wird (digits=0).
- Man könnte auch mit genau einer Kommastelle ausgeben (digits=1).
Datumsformat
Das auszugebende Datum (date) soll formatiert werden.
<format_date(date, invoice.party.lang or company.party.lang)>
- Entweder nimmt es die dazu nötigen Sprach-Einstellungen der Rechnung oder sonst jene des Unternehmens (invoice.party.lang or company.party.lang).
Sprachweichen
Sprache in Layout definieren
Wir definieren in den Formularen oft wo die Sprache definiert ist, damit wir anschliessend Sprachweichen nutzen und somit Berichte mehrsprachig aufbauen können.
<set_lang(invoice.party.lang and invoice.party.lang.code or 'de')>
- Der Befehlt "set_Lang" setzt die Sprache auf die Sprache der Partei (party.lang and party.lang.code), die dem Brief oder Verkauf oder Rechnung zugewiesen ist.
- Falls keine Sprache vorhanden ist, wird er auf Deutsch (or 'de') gesetzt.
Einfache Sprachabfrage
Wir wollen einen Text abdrucken, sofern ein bestimmter Kunde eine bestimmte Sprache eingestellt hat.
<when test="invoice.party.lang.code == 'de'">
Ihr Ansprechpartner
</when>
- Wenn man eine Kondition abfragen will, bevor man ein Feld druckt, so kann man "when test" verwenden.
- <when test="invoice.party.lang.code == 'de'"> prüft zum Beispiel ob in der aktuellen Rechnung (invoice.) die Partei (party.) des Kunden die Sprache (lang.code) auf Deutsch (== 'de') gestellt ist.
- Wenn diese Kondition erfüllt ist, so wir der Text "Ihr Ansprechpartner" gedruckt.
- </when> schliesst die offene When-Abfrage wieder ab.
Sprachweiche
Wir wollen ein Layout so ausgeben, dass es der Sprache eines bestimmten Kunden entspricht. Wenn man aus mehreren möglichen Sprachen wählen muss, so macht man ein "Choose" Abfrage um die "When" Abfrage herum.
<choose test="">
<when test="invoice.party.lang.code == 'de'">
Ihr Ansprechpartner
</when>
<when test="invoice.party.lang.code == 'fr'">
Leur personne de contact
</when>
<when test="invoice.party.lang.code == 'it'">
Punto di contatto
</when>
<otherwise test="">
Your contact person
</otherwise>
</choose>
- <choose test=""> eröffnet die Variantenabfrage.
- Dann kommt eine oder mehrere "when test" Abfragen (siehe oben).
- Für alle Fälle, wo die "when test" Abfragen nicht gelten, gilt dann der fall <otherwise test="">. In diesem Fall wird in diesem Bespiel der Text "Your contact person" gedruckt.
- </otherwise> schliesst die "otherwise" Abfrage.
- </choose> schliesst dann die gesamte "choose" Abfrage
Mit Datum rechnen
Beispiel
<for each="date, amount in invoice.payment_term.compute(invoice.total_amount, invoice.currency, invoice.invoice_date)">
- pendent
Weitere Infos
Weitere Infos zur Bearbeitung von Formularen finden sich auch auf der Website von tryton.org unter http://doc.tryton.org/2.8/trytond/doc/topics/reports/index.html