====== offer-cube / PDF Power-User Funktionen: Variablen und Funktionen ====== 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]] \\ ===== Allgemeines / Zusammenfassung ===== Die PDF Erweiterungen für Power-User ermöglichen folgende Funktionalitäten (link auf die entsprechenden Dokumente): * [[offer-cube:howto:pdf-special-font#detailsfett_b_kursiv_i_unterstrichen_u|Schriftstile]]: Fett , Kursiv , Unterstrichen * [[offer-cube:howto:pdf-special-font#detailslinks_auf_webseiten_a|Links auf Webseiten]] * [[offer-cube:howto:pdf-special-font#detailsabsaetze_abstaende_p_br|Absätze/Abstände]]

/
* [[offer-cube:howto:pdf-special-font#detailsseitenumbruch_bzw_dynamischer_seitenumbruch_pagebreak|Seitenumbruch bzw. dynamischer Seitenumbruch]] * [[offer-cube:howto:pdf-special-img|Einfügen von Bildern aus Attachments]] Hier in diesem Dokument werden speziell folgende Funktionalitäten erläutert: * [[offer-cube:howto:pdf-special-variables#detailsvorhandene_variablen|Variablen verwenden]] wie z.B. $CONFIGURATION oder $obj * [[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. Hier gibt es die Möglichkeit Daten von Objekten (z.B: Gesamtpreis, Rechnungsdatum, Angebotsnummer, etc.) aus dem System zu holen und über Variablen einzufügen. Oder es gibt eine Funktion um Bilder-Attachments zu holen und als Bilder in das PDF einzufügen. Diese Erweiterungen lassen sich auf folgende Objekte/Felder anwenden: * Angebote/Aufträge/Rechnungen: Felder "Überschrift/Titel", "... Beschreibung", "... Appendix" * Position: Felder "Positions-Bezeichnung", "Positions-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 **[[assign var="Variable" value="Wert" scope="global"]]** 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 /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 //[[funktion parameter="wert"]]// ODER Ausgabe einer Variable //[[$variable]]// **Beispiel: Verwendung des Firmennamens als Variable** Vielen Dank für Ihren Auftrag, Ihr [[$CONFIGURATION.ownCompany]] Team {{: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 //[[$obj.]]// zugreifbar. **Beispiel: Bankverbindung mit Verwendungszweck Angabe:** Bitte überweisen Sie den offenen Rechnungsbetrag von [[$obj.price_wtax|d2bcurrency]] auf unser Konto und geben Sie als Verwendungszweck die Rechnungsnummer [[$obj._objref]] an. {{: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 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 // [[getobject]] // 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//:** Ihr Projektleiter: [[getobject module="resource" by="name" name="Leo Eibler" assign="projectmgr"]] [[$projectmgr.description|nl2br]] {{: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.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._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 | | // $obj.created_user__email // | 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 | | // $obj.modified_user__email // | 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]] | | // $obj.projectmgr_user__email // | Email Adresse des Projektleiter Benutzers | | // $obj.customer // | Die Referenz zum Kundenstammdatensatz | | // $obj.customer___objref // | Kundennummer (ACHTUNG: 3 Unterstriche!) | | // $obj.customer__language // | 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 | | // $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. [[$obj.summary|escape]] | | // d2bCurrency // | Formatierung von Euro Beträgen mit Tausenderpunkt und Kommazeichen - z.B. [[$obj.price_wtax|d2bCurrency]] | | // date_format // | formatiert eine Unixtimestamp Zeitangabe - z.B. [[$obj.invoice_dt|date_format:"%d.%m.%Y"]] \\ %d = Tag, %m = Monat, %Y = Jahr 4 stellig | | // nl2br // | Sorgt für einen Zeilenumbruch im PDF, falls die Eingabevariable einen Zeilumbruch beinhaltet - z.B. [[$projectmgr.description|escape|nl2br]] (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 //[[addimg]]// 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 //[[getobject]]// 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 //[[setskip]]// 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. \\ Angebot gültig bis [[($time+14*86400)|date_format:"%d.%m.%Y"]] ==== 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 "//[[$ANREDE]]//" 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. 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]] Resultat: {{:offer-cube:howto:pdf-special:offer-cube_pdf-special-example-01-offer-text-result.jpg|Erstelltes PDF mit Platzhalter}} ==== Beispiel: Rechnung Reverse Charge, i.g. Lieferung automatischer Text ==== 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. [[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]] ==== Beispiel: Benachrichtigung bei Angebot beauftragt oder abgelehnt ==== 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]]. 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]]. ==== 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]]