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 [2025/05/04 09:30] (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:pdf-special-img|PDF Power-User Funktionen: Einfügen von Bildern aus Attachments]]. \\ | ||
+ | Siehe auch [[offer-cube:faq:faq_ooi-defaulttext-customer-specific-appendix|Einstellungen globale und kundenspezifische Standard Texte]]. \\ | ||
+ | Siehe auch [[offer-cube:howto:email-send|Email zusätzlicher Text und Anhänge]]. \\ | ||
+ | Siehe auch [[offer-cube:faq:faq_offer-creator-on-pdf-with-profile-picture-and-name|Persönlicher Betreuer/Angebotsersteller auf PDF]]. \\ | ||
+ | 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]] \\ | ||
+ | Siehe auch [[offer-cube:howto:order-recurring|FAQ: Dauerauftrag anlegen]] \\ | ||
+ | Siehe auch [[offer-cube:howto:objref|Einstellungen Nummernkreise]] \\ | ||
+ | |||
+ | **Beispiele:** | ||
+ | |||
+ | Siehe auch [[offer-cube:faq:faq_ooi-syncsetting_notification_slack_channel|FAQ: Nachrichten in SLACK Channel posten]] \\ | ||
+ | Siehe auch [[offer-cube:faq:faq_ooi-syncsetting_notification_email_offer_accepted|FAQ: Email bei Angebotsbeauftragung]] \\ | ||
+ | Siehe auch [[offer-cube:faq:faq_projectmgr_offer_supplierorder|FAQ: Projektleiter benachrichtigen bei Erhalt einer Lieferantenbestellung]] \\ | ||
+ | Siehe auch [[offer-cube:faq:faq_label-auf-auftrag-rechnung-bezahlt|FAQ: Bezahlt Label setzen]] \\ | ||
===== 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 40: | ||
* 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. | ||
+ | |||
+ | ** ACHTUNG: ** seit Build 313 (2020-06-01) muss **_objref** statt _ref verwendet werden | ||
+ | |||
+ | ===== 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._objref]]</b> an. | ||
+ | </code> | ||
+ | |||
+ | {{:offer-cube:howto:pdf-special:offer-cube_pdf-special_07-var3-obj1-build313.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. | ||
+ | |||
+ | **TIPP:** Ein vollständiger Code der auch unterschiedliche Zahlungsarten berücksichtigt findet sich hier: [[offer-cube:howto:paymentterm#zahlungsart_einziehungsauftrag_in_bankverbindung_verwenden|Zahlungsart in Bankverbindung verwenden]] | ||
+ | |||
+ | ===== 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: | ||
+ | |||
+ | **ACHTUNG: Immer Groß- und Kleinschreibung beachten!** | ||
+ | |||
+ | | // $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.ownBankName // | Eigene Bankverbindung Bankinstitut: //Einstellung// -> //Eigene Firmendaten// | | ||
+ | | // $CONFIGURATION.ownBankIBAN // | Eigene Bankverbindung IBAN: //Einstellung// -> //Eigene Firmendaten// | | ||
+ | | // $CONFIGURATION.ownBankBIC // | Eigene Bankverbindung BIC: //Einstellung// -> //Eigene Firmendaten// | | ||
+ | | // $CONFIGURATION.ownBankOwner // | Eigene Bankverbindung Inhaber: //Einstellung// -> //Eigene Firmendaten// | | ||
+ | | // $CONFIGURATION.ownBankAccount // | Eigene Bankverbindung: //Einstellung// -> //Druck// -> // Standard Texte // | | ||
+ | | // $CONFIGURATION.useInvoicePdfOwnBankAccountHeadline // | Überschrift Rechnung 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 // | | ||
+ | | // $ANREDE // | Für Angebot, Auftrag und Rechnung automatisch generierte Anrede per-Sie z.B. "//Sehr geehrter Herr Ing. Max Mustermann, MSc//" | | ||
+ | | // $ANREDE_DU // | Für Angebot, Auftrag und Rechnung automatisch generierte Anrede per-Du z.B. "//Lieber Max//" | | ||
+ | | // $SALUTATION // | Für Angebot, Auftrag und Rechnung automatisch generierte Anrede in englisch per-Sie z.B. "//Dear Mr. Ing. Max Mustermann, MSc//" | | ||
+ | | // $SALUTATION_DU // | Für Angebot, Auftrag und Rechnung automatisch generierte Anrede in englisch per-Du z.B. "//Hello Max//" | | ||
+ | | // $PDF_LINK // | Für Angebot, Auftrag und Rechnung direkter Link auf das PDF aufrufbar durch den Kunden | | ||
+ | | // $time // | Aktuelles Datum/Uhrzeit als Unixtimestamp (Sekunden seit 1.1.1970 UTC) - siehe 'date_format' | | ||
+ | | // $obj // | Das aktuelle Haupt-Objekt (z.B. Angebot, Auftrag, Rechnung) als assoziatives Array | | ||
+ | | // $obj.id // | Aktuelle interne numerische ID des Objekts (ohne Objektkürzel) - z.B. bei Angebot interne Angebots-ID //1234//, bei Auftrag interne Auftrags-ID //1234// oder bei Rechnung interne Rechnungs-ID //1234// | | ||
+ | | // $obj._type // | Aktueller Objekttype des Objekts - z.B. bei Angebot //offer//, bei Auftrag //order// oder bei Rechnung //invoice// | | ||
+ | | // $obj._ref // | Aktuelle interne Referenz-ID des Objekts (mit internem Objektkürzel) - z.B. bei Angebot interne Angebots-Referenz-ID //xo1234//, bei Auftrag interne Auftrags-Referenz-ID //xn1234// oder bei Rechnung interne Rechnungs-ID //xr1234// | | ||
+ | | // $obj._objref // | Aktuelle Referenz-Nummer des Objekts lt. [[offer-cube:howto:objref|Nummernkreise]] - z.B. bei Angebot Angebotsnr. //o1234//, bei Auftrag Auftragsnr //n1234// oder bei Rechnung Rechnungsnr //r1234// \\ Siehe auch [[offer-cube:howto:objref|Einstellungen Nummernkreise]] | | ||
+ | | // $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]] %%// | | ||
+ | | // $obj.created_user // | Benutzer der das Objekt (z.B. Angebot) **angelegt** hat | | ||
+ | | // <nowiki>$obj.created_user__email</nowiki> // | Email Adresse des Benutzer der das Objekt (z.B. Angebot) **angelegt** hat | | ||
+ | | // $obj.modified_user // | Benutzer der das Objekt (z.B. Angebot) **zuletzt geändert** hat | | ||
+ | | // <nowiki>$obj.modified_user__email</nowiki> // | Email Adresse des Benutzer der das Objekt (z.B. Angebot) **zuletzt geändert** hat | | ||
+ | | // $obj.projectmgr_user // | Projektleiter Benutzer der dem Objekt zugeordnet ist - siehe [[offer-cube:faq:faq_projectmgr_offer_supplierorder|FAQ: Projektleiter]] | | ||
+ | | // <nowiki>$obj.projectmgr_user__email</nowiki> // | Email Adresse des Projektleiter Benutzers | | ||
+ | | // $obj.customer // | Die Referenz zum Kundenstammdatensatz | | ||
+ | | // <nowiki>$obj.customer___objref</nowiki> // | Kundennummer (ACHTUNG: 3 Unterstriche!) | | ||
+ | | // <nowiki>$obj.customer__language</nowiki> // | Sprache des Kunden: 0=Standard (Deutsch), 1=Deutsch, 2=Englisch | | ||
+ | | // $obj.site_name // | Zusammengesetzter Kundenname für das jeweilige Objekt (Achtung: muss nicht identisch mit dem Stammdatensatz sein) | | ||
+ | | // $obj.site_company // | Firmenname für das jeweilige Objekt (Achtung: muss nicht identisch mit dem Stammdatensatz sein) | | ||
+ | | // $obj.site_title // | Anrede des Kunden: 0=Unbekannt/nicht gepflegt, 1=Herr, 2=Frau, 4=Familie | | ||
+ | | // $obj.site_firstname // | Vorname für das jeweilige Objekt (Achtung: muss nicht identisch mit dem Stammdatensatz sein) | | ||
+ | | // $obj.site_lastname // | Nachname für das jeweilige Objekt (Achtung: muss nicht identisch mit dem Stammdatensatz sein) | | ||
+ | | // $obj.site_cashdiscount_percent // | Skonto Prozent - siehe [[offer-cube:howto:paymentterm|Zahlungskonditionen/Skonto]] | | ||
+ | | // $obj.site_duepayment_days // | Zahlungsziel Tage (bei einer Rechnung wird das beim Versand nach Auswahl des Zahlungsziel automatisch angepasst) - siehe [[offer-cube:howto:paymentterm|Zahlungskonditionen/Skonto]] | | ||
+ | | // $obj.site_cashdiscount_days // | Skonto (Tage) - siehe [[offer-cube:howto:paymentterm|Zahlungskonditionen/Skonto]] | | ||
+ | | // $obj.site_paymethod // | Zahlungsart (interner Code 0=Überweisung/Rechnung, 11=Einziehungsauftrag, 15=Nachnahme, 18=Vorkasse) - siehe [[offer-cube:howto:paymentterm|Zahlungskonditionen/Skonto]] | | ||
+ | | // $obj.site_tax // | Flag ob Inlands-Steuersatz angewendet wird (20) oder keine Steuer (0). \\ Hinweis: Dies ist NICHT der Steuersatz sondern nur eine Kennzeichnung ob Steuersätze grundsätzlich angewendet werden. | | ||
+ | | // $obj.site_country_code2 // | 2 stelliger ISO 3166-2 Ländercode | | ||
+ | | // $obj.delivery_dt // | Rechnung: Leistungszeitraum Start Datum, Auftrag: Auftragsbeginn Datum - als Unix-Timestamp. Kann zu lesbaren Datum formatiert werden mit //%% [[$obj.delivery_dt|ut2humandate]] %%// | | ||
+ | | // $obj.deliveryend_dt // | Rechnung: Leistungszeitraum Ende Datum, Auftrag: Auftragsende Datum - als Unix-Timestamp. Kann zu lesbaren Datum formatiert werden mit //%% [[$obj.delivery_dt|ut2humandate]] %%// | | ||
+ | | // $obj.order // | Rechnung/Angebot: der zur Rechnung oder zum Angebot gehörende Auftrag (die ID //<nowiki>$obj.order__id</nowiki>//, der Typ //<nowiki>$obj.order___type</nowiki>// - Achtung: 3 Unterstriche!) | | ||
+ | | // $obj.invoice // | Angebot/Auftrag: die zum Angebot oder zum Auftrag gehörende Rechnung (die ID //<nowiki>$obj.invoice__id</nowiki>//, der Typ //<nowiki>$obj.invoice___type</nowiki>// - Achtung: 3 Unterstriche!) | | ||
+ | | // $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]] %%// | | ||
+ | |||
+ | |||
+ | Eine Übersicht der gängigsten Modifikatoren: \\ | ||
+ | |||
+ | | // escape // | Sollte **immer bei allen Textfeldern benutzt werden** und entfernt HTML Steuerzeichen - z.B. <code>[[$obj.summary|escape]]</code> | | ||
+ | | // d2bCurrency // | Formatierung von Euro Beträgen mit Tausenderpunkt und Kommazeichen - z.B. <code>[[$obj.price_wtax|d2bCurrency]]</code> | | ||
+ | | // date_format // | formatiert eine Unixtimestamp Zeitangabe - z.B. <code>[[$obj.invoice_dt|date_format:"%d.%m.%Y"]]</code> \\ %d = Tag, %m = Monat, %Y = Jahr 4 stellig | | ||
+ | | // nl2br // | Sorgt für einen Zeilenumbruch im PDF, falls die Eingabevariable einen Zeilumbruch beinhaltet - z.B. <code>[[$projectmgr.description|escape|nl2br]]</code> (inkl. //escape//, damit andere HTML Steuerzeichen unterbunden werden - WICHTIG: //escape// muss VOR //nl2br// kommen, da sonst der HTML Code für den Zeilenumbruch ebenfalls entfernt wird ) | | ||
+ | |||
+ | Eine Übersicht der gängigsten Funktionen: \\ | ||
+ | |||
+ | | // addimg // | Die Funktion //<nowiki>[[addimg]]</nowiki>// fügt ein Bild in das PDF ein - siehe [[offer-cube:howto:pdf-special-img|PDF Power-User Funktionen: Einfügen von Bildern aus Attachments]] | | ||
+ | | // getobject // | Die Funktion //<nowiki>[[getobject]]</nowiki>// holt Daten zu einem Objekt - siehe [[offer-cube:howto:pdf-special-variables#detailsholen_eines_objekts_mit_getobject|oben: Details: Holen eines Objekts]] | | ||
+ | | // setskip // | Die Funktion //<nowiki>[[setskip]]</nowiki>// wird nur bei der Abbruchbedingung für [[offer-cube:howto:syscron|Erinnerung-Emails mittels Zeitaktionen]] verwendet. | | ||
+ | |||
+ | |||
+ | Die Variablen sind immer in // %%[[%% // und // %%]]%% // einzufassen. \\ | ||
+ | Also z.B. um den eigenen Firmennamen zu verwenden: // %%[[$CONFIGURATION.ownCompany]]%% // | ||
+ | |||
+ | Die Variablen werden in PDFs (z.B. bei der Angebotsbeschreibung, Auftragsbeschreibung, Rechnungsbeschreibung, Annex, etc.) als auch bei den Email Zusatz-Texten und [[offer-cube:howto:docmeta|Dokument Vorlagen für Textblöcke und Emails]] ausgewertet. | ||
+ | |||
+ | Siehe auch [[offer-cube:howto:email-send|Email zusätzlicher Text und Anhänge]]. \\ | ||
+ | Soehe auch [[offer-cube:howto:docmeta|Dokument Vorlagen für Textblöcke und Emails]]. \\ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Beispiele ===== | ||
+ | |||
+ | Nachfolgend finden sich Beispiele für den Variablen Einsatz. | ||
+ | |||
+ | ==== Beispiel: Angebot Gültigkeit ==== | ||
+ | |||
+ | Mit folgendem Schnipsel in den Angebots-Standardtexten (siehe //Einstellung// -> //Druck// -> // [[offer-cube:faq:faq_ooi-defaulttext-customer-specific-appendix|Standard Texte]] //) wird die Gültigkeit (hier 14 Tage) automatisch berechnet und als Datum ausgewiesen. \\ | ||
+ | Die 14 Tage lassen sich beliebig verändern, in dem in der Formel 14 durch die Anzahl an Tage ersetzt wird. \\ | ||
+ | |||
+ | <code>Angebot gültig bis [[($time+14*86400)|date_format:"%d.%m.%Y"]]</code> | ||
+ | |||
+ | ==== Beispiel: Angebot Anrede ==== | ||
+ | |||
+ | In diesem Beispiel wird die Anrede (//Sehr geehrter Herr//, //Sehr geehrte Frau//, //Sehr geehrte Damen und Herren//) automatisch korrekt aufgrund der Variablen gesetzt. \\ | ||
+ | HINWEIS: Üblicherweise sollte direkt die Variable "//<nowiki>[[$ANREDE]]</nowiki>//" verwendet werden. | ||
+ | |||
+ | Weiters wird das //Hauptbild// des Angebots mit //[ [ addimg ] ]// eingefügt (siehe [[offer-cube:howto:pdf-special-img|Einfügen von Bildern aus Attachments]]). | ||
+ | |||
+ | Zum Abschluss wird der Benutzer, der das Angebot erstellt hat automatisch eingefügt sowie die Firmentelefonnummer und der Firmenname. | ||
+ | |||
+ | <code> | ||
+ | Sehr geehrte[[if $obj.site_name != ""]][[if $obj.site_title == 0]](r)[[elseif $obj.site_title == 1]]r[[/if]] [[$obj.site_name]][[else]] Damen und Herren[[/if]], | ||
+ | |||
+ | vielen Dank für Ihre Anfrage zu unseren Leistungen. | ||
+ | |||
+ | Anbei finden Sie unser Angebot. | ||
+ | |||
+ | [[addimg]] | ||
+ | |||
+ | Falls das Angebot noch nicht zur Gänze Ihren Wünschen entspricht, | ||
+ | zögern Sie nicht Ihren persönlichen Betreuer [[$obj.created_user__firstname]] [[$obj.created_user__lastname]] unter [[$CONFIGURATION.ownTelephone]] zu kontaktieren. | ||
+ | |||
+ | Ihre [[$CONFIGURATION.ownCompany]] | ||
+ | </code> | ||
+ | |||
+ | Resultat: | ||
+ | |||
+ | {{:offer-cube:howto:pdf-special:offer-cube_pdf-special-example-01-offer-text-result.jpg|Erstelltes PDF mit Platzhalter}} | ||
- | ===== Details: Einfügen von Bildern aus Attachments <img> ===== | + | ==== Beispiel: Rechnung Reverse Charge, i.g. Lieferung automatischer Text ==== |
- | Über das HTML Tag <img src="...."> lassen sich Bilder aus Attachments einfügen sofern die interne Attachment ID bekannt ist. | + | Das folgende Beispiel kann in den Rechnungsstandardtext eingefügt werden und erkennt automatisch ob es sich um eine steuerfreie Bauleistung im österreichischem Inland handelt oder eine steuerfreie Lieferung im EU Ausland. |
- | Die ID kann aus der URL beim Öffnen eines Attachments ausgelesen werden. | + | <code> |
+ | [[if $obj.site_tax == 0 AND ( $obj.site_country_code2 == '' OR $obj.site_country_code2 == 'AT' )]] §19 Reverse Charge Bauleistungen | ||
+ | [[else if $obj.site_tax == 0]] §19 Reverse Charge innergemeinschaftliche Lieferung | ||
+ | [[else]] [[/if]] | ||
+ | </code> | ||
- | {{:offer-cube:howto:pdf-special:offer-cube_pdf-special_05-img1-attachmentid.png|Interne Attachment ID auslesen}} | + | ==== Beispiel: Benachrichtigung bei Angebot beauftragt oder abgelehnt ==== |
- | **Beispiel Attachment ID 2352 einfügen <img src="attachment:2352">:** | + | Das System schickt eine Email an die Firmenmailadresse, wenn ein Kunde im Bestellportal ein Angebot beauftragt oder abgelehnt hat - siehe [[offer-cube:faq:faq_ooi-syncsetting_notification_email_offer_accepted|FAQ: Email bei Angebotsbeauftragung]]. |
- | {{:offer-cube:howto:pdf-special:offer-cube_pdf-special_05-img1-insert.png|Bild mit Attachment ID einfügen}} | + | Alternativ dazu kann das System auch einen Slack Channel Post machen - siehe [[offer-cube:faq:faq_ooi-syncsetting_notification_slack_channel|FAQ: Nachrichten in SLACK Channel]]. |
- | 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. | + | ==== Beispiel: Benachrichtigung an Projektleiter bei Erhalten der Artikel einer Lieferantenbestellung ==== |
+ | Das System schickt eine Email, wenn eine Lieferantenbestellung als //Erhalten// markiert wird - siehe [[offer-cube:faq:faq_projectmgr_offer_supplierorder|FAQ: Projektleiter]] | ||