User Tools

Site Tools


offer-cube:howto:pdf-special-variables

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
offer-cube:howto:pdf-special-variables [2016/10/16 11:13]
wiki
offer-cube:howto:pdf-special-variables [2019/06/02 20:38] (current)
Line 2: Line 2:
  
 Zurück zur [[offer-cube:​howto|Anleitungen / HowTos]] Zurück zur [[offer-cube:​howto|Anleitungen / HowTos]]
 +
 +Siehe auch [[offer-cube:​howto:​email-send|Email zusätzlicher Text und Anhänge]]. \\
 +Siehe auch [[offer-cube:​faq:​faq_invoice-cashdiscount|FAQ:​ Rechnung mit Skonto]]. \\
 +Siehe auch [[offer-cube:​faq:​faq_variables-positiongroup|FAQ:​ Positionsgruppen/​Text mit Variable]] \\
  
 ===== Allgemeines / Zusammenfassung ===== ===== Allgemeines / Zusammenfassung =====
  
 Die PDF Erweiterungen für Power-User ermöglichen folgende Funktionalitäten (link auf die entsprechenden Dokumente): Die PDF Erweiterungen für Power-User ermöglichen folgende Funktionalitäten (link auf die entsprechenden Dokumente):
-  * [[offer-cube:​howto:​pdf-special-font|Schriftstile]]:​ Fett <b>, Kursiv <i>, Unterstrichen <u> +  * [[offer-cube:​howto:​pdf-special-font#​detailsfett_b_kursiv_i_unterstrichen_u|Schriftstile]]:​ Fett <b>, Kursiv <i>, Unterstrichen <u> 
-  * [[offer-cube:​howto:​pdf-special-font|Links auf Webseiten]] <a> +  * [[offer-cube:​howto:​pdf-special-font#​detailslinks_auf_webseiten_a|Links auf Webseiten]] <a> 
-  * [[offer-cube:​howto:​pdf-special-font|Absätze/​Abstände]] <p> / <​br>​ +  * [[offer-cube:​howto:​pdf-special-font#​detailsabsaetze_abstaende_p_br|Absätze/​Abstände]] <p> / <​br>​ 
-  * [[offer-cube:​howto:​pdf-special-font|Seitenumbruch bzw. dynamischer Seitenumbruch]] <​pagebreak>​+  * [[offer-cube:​howto:​pdf-special-font#​detailsseitenumbruch_bzw_dynamischer_seitenumbruch_pagebreak|Seitenumbruch bzw. dynamischer Seitenumbruch]] <​pagebreak
 +  * [[offer-cube:​howto:​pdf-special-img|Einfügen von Bildern aus Attachments]] <img>
  
 Hier in diesem Dokument werden speziell folgende Funktionalitäten erläutert: Hier in diesem Dokument werden speziell folgende Funktionalitäten erläutert:
-  * Einfügen von Bildern aus Attachments <img> +  * [[offer-cube:​howto:​pdf-special-variables#​detailsvorhandene_variablen|Variablen verwenden]] wie z.B. $CONFIGURATION oder $obj 
-  * Objektdaten holen und über Variablen in den Text einfügen+  * [[offer-cube:​howto:​pdf-special-variables#​detailsholen_eines_objekts_mit_getobject|Objektdaten holen]] und über Variablen in den Text einfügen
  
 Gesteuert werden diese Funktionen über Funktionsaufrufe,​ die zwischen jeweils 2 eckigen Klammern aufgerufen werden. Gesteuert werden diese Funktionen über Funktionsaufrufe,​ die zwischen jeweils 2 eckigen Klammern aufgerufen werden.
Line 23: Line 28:
   * Position: Felder "​Positions-Bezeichnung",​ "​Positions-Beschreibung"​   * Position: Felder "​Positions-Bezeichnung",​ "​Positions-Beschreibung"​
   * Artikel: Feld "​Beschreibung"​   * Artikel: Feld "​Beschreibung"​
 +
 +Variablen/​Funktionen lassen sich größtenteils wie in der Dokumentation der Template Engine **smarty** [[http://​www.smarty.net/​docs/​en/​]] verwenden.
 +    ​
 +===== Details: Variablen zuweisen =====
 +
 +Mit **<​nowiki>​[[assign var="​Variable"​ value="​Wert"​ scope="​global"​]]</​nowiki>​** kann der Variable "//​**$Variable**//"​ der Text "//​**Wert**//"​ zugewiesen werden.
 +
 +Das "​**//​scope="​global"//​**"​ sorgt dafür, dass diese Variable auch später zur Verfügung steht.
 +
 +**Hinweis:​** Die Texte (und damit die Variablenzuweisungen) werden der Reihenfolge nach durchgegangen,​ wie sie auch im PDF angezeigt werden. \\
 +Das bedeutet, die Variable $styp ist in allen nachfolgenden Positionen ebenfalls (mit dem letzten gesetzten Wert) verfügbar (durch scope="​global"​). In den vorhergehenden Positionen jedoch nicht! \\
 +Die Variable ist auch im Auftrags-Appendix verfügbar - jedoch nicht in der Auftrags-Beschreibung (da diese VOR den Positionen kommt).
 +
 +Beispiel siehe [[offer-cube:​faq:​faq_variables-positiongroup|FAQ:​ Positionsgruppen/​Text mit Variable]]
 +
 +===== Details: vorhandene Variablen =====
 +
 +Einige Variablen stehen grundsätzlich zur Verfügung.
 +
 +Siehe [[offer-cube:​howto:​pdf-special-variables#​detailsvariablen_uebersicht|Variablen Übersicht]]
 +
 +Hierzu gehören unter anderem:
 +  * ** $SCHEMA ** die Referenz auf das gesamte Datenbank Schema - siehe [[offer-cube:​webservice:​operation:​schema|Webservice Entwickler Doku Basisoperation <​module>/​schema]]
 +  * ** $CONFIGURATION ** die aktuelle Systemkonfiguration / Systemvariablen - siehe [[offer-cube:​howto:​pdf-special-variables#​detailsvariablen_uebersicht|Variablen Übersicht]]
 +  * ** $obj ** das aktuelle Hauptobjekt (siehe Angebot [[offer-cube:​webservice:​modules:​offer|offer]] / Auftrag [[offer-cube:​webservice:​modules:​order|order]] / Rechnung [[offer-cube:​webservice:​modules:​invoice|invoice]])
 +
 +===== Details: Variablen ausgeben =====
 +
 +Die Variablen lassen sich größtenteils in der von smarty bekannten Syntax ausgeben bzw. verwenden - siehe [[http://​www.smarty.net/​docs/​en/​language.syntax.variables.tpl]]
 +
 +**ACHTUNG:​** \\
 +**Entgegen der Angabe in der smarty Dokumentation werden Variablen und Funktionen mit 2 eckigen Klammern aufgerufen.**
 +
 +Also z.B. Aufruf einer Funktion //<​nowiki>​[[funktion parameter="​wert"​]]</​nowiki>//​ ODER Ausgabe einer Variable //<​nowiki>​[[$variable]]</​nowiki>//​
 +
 +**Beispiel: Verwendung des Firmennamens als Variable**
 +<​code>​
 +Vielen Dank für Ihren Auftrag, ​
 +Ihr [[$CONFIGURATION.ownCompany]] Team
 +</​code>​
 +
 +{{:​offer-cube:​howto:​pdf-special:​offer-cube_pdf-special_07-var1-configuration1.png|Verwendung der $CONFIGURATION Variablen}}
 +
 +
 +==== Anwendungsbeispiel:​ Verwendung der Rechnungsnummer und des Preises einer Rechnung ====
 +
 +Für die Zahlungsanweisung an den Kunden kann z.B. in der Bankverbindung (//​Einstellungen -> Eigene Firmendaten -> Bankverbindung//​) nochmals auf den Gesamtpreis und die Rechnungsnummer als Verwendungszweck verwiesen werden.
 +
 +Das aktuelle Objekt ist über die Variable //<​nowiki>​[[$obj.<​fieldname>​]]</​nowiki>//​ zugreifbar.
 +
 +**Beispiel: Bankverbindung mit Verwendungszweck Angabe:**
 +<​code>​
 +Bitte überweisen Sie den offenen Rechnungsbetrag von <​b>​[[$obj.price_wtax|d2bcurrency]]</​b>​ auf unser Konto und geben Sie als Verwendungszweck die Rechnungsnummer <​b>​[[$obj._ref]]</​b>​ an.
 +</​code>​
 +
 +{{:​offer-cube:​howto:​pdf-special:​offer-cube_pdf-special_07-var3-obj1.png|Verwendung des aktuellen Objekts mit [[$obj]]}}
 +
 +In diesem Beispiel wird auch die [[offer-cube:​howto:​pdf-special-font#​detailsfett_b_kursiv_i_unterstrichen_u|Schriftstil-Formatierung]] mit <b> verwendet.
 +
 +Zusätzlich kommt ein Modifikator //​d2bcurrency//​ zur Verwendung, der eine Zahl als Euro Betrag mit Tausendertrennzeichen und Komma formatiert.
 +
 +===== Details: Holen eines Objekts mit [[getobject]] =====
 +
 +Die Funktion // <​nowiki>​[[getobject]]</​nowiki>​ // erlaubt das Holen von Daten eines Objekts aus der Datenbank. \\
 +Ein Objekt kann hierbei ein Angebot/​Auftrag/​Rechnung sein, aber auch andere Objekte wie resource oder article.
 +
 +**Beispiel: Holen einer //​resource//​ mit Namen und Verwendung der Beschreibung //​description//:​**
 +<​code>​
 +Ihr Projektleiter:​ [[getobject module="​resource"​ by="​name"​ name="​Leo Eibler"​ assign="​projectmgr"​]]
 +[[$projectmgr.description|nl2br]]
 +</​code>​
 +
 +{{:​offer-cube:​howto:​pdf-special:​offer-cube_pdf-special_07-var2-getobject.png|Verwendung der Funktion [[getobject]]}}
 +
 +===== Details: Variablen Übersicht =====
 +
 +Eine Übersicht der gängigsten Variablen: \\
 +
 +| // $CONFIGURATION // | Die systemweite Konfigurations-Variable $CONFIGURATION ist ein assoziatives Array mit Systemeinstellungen,​ Standardtexten,​ etc. |
 +| // $obj // | Das aktuelle Objekt (Angebot, Auftrag, Rechnung) als assoziatives Array |
 +
 +Beispiele:
 +
 +| // $CONFIGURATION.ownCompany // | Eigener Firmenname: //​Einstellung//​ -> //Eigene Firmendaten//​ |
 +| // $CONFIGURATION.ownAddress // | Eigene Firmen Adresse (mit Newlines): //​Einstellung//​ -> //Eigene Firmendaten//​ |
 +| // $CONFIGURATION.ownTelephone // | Eigene Firmen Telefon Nummer: //​Einstellung//​ -> //Eigene Firmendaten//​ |
 +| // $CONFIGURATION.ownFax // | Eigene Firmen Fax Nummer: //​Einstellung//​ -> //Eigene Firmendaten//​ |
 +| // $CONFIGURATION.ownMail // | Eigene Firmen Mailadresse:​ //​Einstellung//​ -> //Eigene Firmendaten//​ |
 +| // $CONFIGURATION.ownWeb // | Eigene Firmen Internetseite:​ //​Einstellung//​ -> //Eigene Firmendaten//​ |
 +| // $CONFIGURATION.ownUID // | Eigene Umsatzsteuer ID: //​Einstellung//​ -> //Eigene Firmendaten//​ |
 +| // $CONFIGURATION.useInvoicePdfOwnBankAccountHeadline // | Überschrift Rechnung Bankverbindung:​ //​Einstellung//​ -> //Druck// -> // Standard Texte // |
 +| // $CONFIGURATION.ownBankAccount // | Eigene Bankverbindung:​ //​Einstellung//​ -> //Druck// -> // Standard Texte // |
 +| // $CONFIGURATION.useInvoicePdfOwnBankAccountHeadline_EN // | Überschrift Rechnung Bankverbindung (Englisch): //​Einstellung//​ -> //Druck// -> // Standard Texte // |
 +| // $CONFIGURATION.ownBankAccount_EN // | Eigene Bankverbindung (Englisch): //​Einstellung//​ -> //Druck// -> // Standard Texte // |
 +| // $obj // | Das aktuelle Haupt-Objekt (z.B. Angebot, Auftrag, Rechnung) |
 +| // $obj._ref // | Aktuelles Nummer des Objekts - z.B. bei Angebot Angebotsnr. //o1234//, bei Auftrag Auftragsnr //n1234// oder bei Rechnung Rechnungsnr //r1234// |
 +| // $obj.price // | Ursprungspreis netto ohne Mehrwertsteuer. |
 +| // $obj.price_wdiscount // | Rabattierter Preis netto ohne Mehrwertsteuer. |
 +| // $obj.price_wtax // | End-Preis mit Mehrwertsteuer. Kann mit Tausendertrennzeichen und 2 Nachkommastellen formatiert werden mit //%% [[$obj.price_wtax|d2bCurrency]] %%// |
 +| // $obj.tax_portion_a // | Mehrwertsteuer für Satz-A (mit //_b// für Satz-B usw) |
 +| // $obj.summary // | Überschrift |
 +| // $obj.description // | Beschreibung |
 +| // $obj.appendix // | Appendix |
 +| // $obj.startdate // | Start Datum als Unix-Timestamp. Kann zu lesbaren Datum formatiert werden mit //%% [[$obj.startdate|ut2humandate]] %%// |
 +| // $obj.enddate // | End Datum als Unix-Timestamp. Kann zu lesbaren Datum formatiert werden mit //%% [[$obj.enddate|ut2humandate]] %%// |
 +| // $obj.invoice_dt // | Nur bei Rechnung: Rechnungsdatum als Unix-Timestamp. Kann zu lesbaren Datum formatiert werden mit //%% [[$obj.invoice_dt|ut2humandate]] %%// |
 +| // $obj.duepayment_dt // | Nur bei Rechnung: Zahlungsziel als Unix-Timestamp. Kann zu lesbaren Datum formatiert werden mit //%% [[$obj.duepayment_dt|ut2humandate]] %%// |
 +| // $position // | Die aktuelle Position (nur innerhalb einer Position sinnvoll) |
 +| // $position.posnr // | Die Positionsnummer der aktuellen Position |
 +| // $position.amount // | Die Anzahl der aktuellen Position |
 +| // $position.price // | Ursprungspreis netto ohne Mehrwertsteuer der aktuellen Position |
 +| // $position.price_wdiscount // | Rabattierter Preis netto ohne Mehrwertsteuer der aktuellen Position |
 +| // $position.price_wtax // | End-Preis mit Mehrwertsteuer der aktuellen Position. Kann mit Tausendertrennzeichen und 2 Nachkommastellen formatiert werden mit //%% [[$position.price_wtax|d2bCurrency]] %%// |
  
  
-===== DetailsEinfügen von Bildern aus Attachments <img> =====+Eine Übersicht der gängigsten Modifikatoren\\
  
-Über das HTML Tag <img src="...."lassen sich Bilder aus Attachments einfügen sofern ​die interne Attachment ID bekannt ist.+| // d2bCurrency // | Formatierung von Euro Beträgen mit Tausenderpunkt und Kommazeichen - z.B<​code>​[[$obj.price_wtax|d2bCurrency]]</​code
 +| // nl2br //       | Sorgt für einen Zeilenumbruch im PDF, falls die Eingabevariable einen Zeilumbruch beinhaltet - z.B. <​code>​[[$projectmgr.description|nl2br]]</​code>​ |
  
-Die ID kann aus der URL beim Öffnen eines Attachments ausgelesen werden. 
  
-{{:​offer-cube:​howto:​pdf-special:offer-cube_pdf-special_05-img1-attachmentid.png|Interne Attachment ID auslesen}}+Die Variablen sind immer in // %%[[%% // und // %%]]%% // einzufassen. \\ 
 +Also z.B. um den eigenen Firmennamen zu verwenden// %%[[$CONFIGURATION.ownCompany]]%% //
  
-**Beispiel Attachment ID 2352 einfügen <img src="​attachment:​2352">:​**+Die Variablen werden in PDFs (z.B. bei der Angebotsbeschreibung,​ Auftragsbeschreibung,​ Rechnungsbeschreibung,​ Annex, etc.) als auch bei den Email Zusatz-Texten ausgewertet.
  
-{{:offer-cube:​howto:​pdf-special:​offer-cube_pdf-special_05-img1-insert.png|Bild mit Attachment ID einfügen}}+Siehe auch [[offer-cube:​howto:​email-send|Email zusätzlicher Text und Anhänge]].
  
-Achtung: Anschließend ist ein [[offer-cube:​howto:​pdf-special-font|Absatz mittels <p height="​...">​]] mit der exakten Höhe des Bildes einzufügen,​ damit der nachfolgende Text nicht über das Bild geschrieben wird. 
  
  
  
offer-cube/howto/pdf-special-variables.txt · Last modified: 2019/06/02 20:38 (external edit)