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
offer-cube:howto:pdf-special-variables [2016/10/16 11:19]
wiki
offer-cube:howto:pdf-special-variables [2019/05/12 20:23] (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 24: Line 29:
   * 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>​
  
-===== DetailsEinfügen von Bildern aus Attachments <img> =====+{{:offer-cube:​howto:​pdf-special:​offer-cube_pdf-special_07-var2-getobject.png|Verwendung der Funktion [[getobject]]}}
  
-Über das HTML Tag <img src="​....">​ lassen sich Bilder aus Attachments einfügen sofern die interne Attachment ID bekannt ist.+===== Details: Variablen Übersicht =====
  
-Zusätzlich kann die Breite oder Höhe des Bildes in mm mittels ​der Attribute width="​..."​ oder height="​..."​ angegeben werden.+Eine Übersicht ​der gängigsten Variablen: \\
  
-Das Bild wird an der aktuellen Cursor Stelle eingefügtverändert aber nicht die Positions des Cursors. Das bedeutet, der Text wird direkt im Bild fortgesetzt ​(Abhilfe mit <p> Absatz - siehe Beispiel darunter).+| // $CONFIGURATION // | Die systemweite Konfigurations-Variable $CONFIGURATION ist ein assoziatives Array mit SystemeinstellungenStandardtexten,​ etc
 +| // $obj // | Das aktuelle Objekt ​(Angebot, Auftrag, Rechnungals assoziatives Array |
  
-Die ID kann aus der URL beim Öffnen eines Attachments ausgelesen werden.+Beispiele:
  
-{{:offer-cube:howto:pdf-special:offer-cube_pdf-special_05-img1-attachmentid.png|Interne Attachment ​ID auslesen}}+| // $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]] %%// |
  
-**Beispiel Attachment ID 2352 mit Höhe 50mm einfügen <img src="​attachment:​2352"​ height="​50">:​** 
  
-{{:offer-cube:​howto:​pdf-special:​offer-cube_pdf-special_05-img1-insert.png|Bild mit Attachment ID einfügen}}+Eine Übersicht der gängigsten Modifikatoren\\
  
-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.+| // 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>​ |
  
  
-===== DetailsEinfügen von Bildern über die Funktion ​[[addimg]] =====+Die Variablen sind immer in // %%[[%% // und // %%]]%% // einzufassen. \\ 
 +Also z.B. um den eigenen Firmennamen zu verwenden// %%[[$CONFIGURATION.ownCompany]]%% //
  
-In doppelten eckigen Klammern können bestimmte Funktionen aufgerufen ​werden.+Die Variablen ​werden ​in PDFs (z.B. bei der Angebotsbeschreibung,​ Auftragsbeschreibung,​ Rechnungsbeschreibung,​ Annex, etc.) als auch bei den Email Zusatz-Texten ausgewertet.
  
-Die Funktion // [[addimg]] // erlaubt das Einfügen eines Attachments anhand von Suchparameter wie z.B. Dateiname oder über interne IDs, Seriennummern,​ Code Feldern aus beliebigen Objekten.+Siehe auch [[offer-cube:​howto:​email-send|Email zusätzlicher Text und Anhänge]].
  
-Eine sehr gute Anwendung hierfür ist z.B. das Einfügen eines Bildes des Sachbearbeiters oder das Einfügen der Unterschrift des Projektleiters. Hierfür können z.B. Ressourcen verwendet werden. 
  
  
  
offer-cube/howto/pdf-special-variables.1476609543.txt.gz · Last modified: 2017/03/19 09:52 (external edit)