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
Ein Dokument besteht einerseits aus normalem Text und andererseits aus grauen Feldern. Die grauen Felder nutzt Tryton, um dort bestimmte Daten (z.B. die Rechnungsnummer einer Rechnung) aus der Datenbank einzufügen. Diese grauen Felder können aber gleich behandelt werden wie normaler Text. Sie können:
      • 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

"if" ist eine Abfrage, die dann etwas machen kann, falls die Abfrage einen zutreffenden Wert ergibt.
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

Die Datenbank wird abgefragt und testet, ob im Datenbankfeld purchase.party.vat_code etwas drin steht.
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

Es geht auch einfacher um für ein Formular sicher zu sein, dass ein Feld nur dann ausgelesen wird, wenn was drin steht.
Beispiel
<line.product.rec_name if line.product else ''>

Übersetzung des Beispiels

Die Datenbank wird abgefragt, ob das Feld line.product einen gültigen Wert drin stehen hat.
Falls ja, so schreibt es den Inhalt vom Feld line.product.rec_name aufs Papier.
Sonst (else) wird nichts geschrieben.
 

Befehl "when"

Beschrieb

when ist eine ähnliche Abfrage wie if, aber man kann etwas genauer auf die Datenbankfelder eingehen.

Beispiel

<choose test="">
<when test="purchase.state == 'draft'">
ENTWURF EINKAUFSOFFERTE
</when>
<otherwise test="">
EINKAUF: <purchase.reference>
</otherwise>
</choose>

Übersetzung des Beispiels

Mit wenn teste ich, ob im Datenbankfeld purchase.state der Inhalt 'draft' drin steht. Falls ja, so schreibe aufs Papier ENTWURF EINKAUFSOFFERTE. Der Befehl when ist im ersten Teil beendet.
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