Platzhalter - Mergefields

Allgemein

Mit Platzhaltern oder sog. "Mergefields" werden Feldwerte aus Salesforce dynamisch zur Laufzeit in Angeboten ausgelesen. Diese Funktion steht für die folgenden Objekte zur Verfügung:

  • Opportunity
  • Account
  • Contact
  • Quote 
  • User
  • Produkt
Mit Hilfe von Mergefields bilden Sie Informationen nicht nur sehr schnell im Angebot ab, sondern stellen auch sicher, dass diese aktuell sind - vorausgesetzt Ihre Stammdaten in Salesforce werden sauber und kontinuierlich gepflegt. Im Angebot selbst setzen Sie den Platzhalter in geschweiften Klammern ein, z.B. um die Adressdaten des Empfängers zu ziehen. Sobald der Bearbeitungsmodus beendet ist, wird das Mergefield ausgelesen, und der hinterlegte Wert erscheint.


Einige Mergefields sind pro Objekt bereits vordefiniert; Sie finden Sie im Folgenden aufgelistet. Sie können jedoch auch Platzhalter für benutzerdefinierte Felder definieren und diese ebenso in Angeboten verwenden.


Anlage benutzerdefinierter Mergefields

Benutzerdefinierte Mergefields können, gegliedert nach Objekt, entweder im Admin-Bereich des Editors - Einstellungen, Reiter "Funktionalität" - oder über die entsprechenden Setup-Texte hinzugefügt werden:


Admin Einstellungentsprechender Setup-Text
Zusätzliche Felder für AngebotquoteFields
Zusätzliche Felder für OpportunityopportunityFields
Zusätzliche Felder für AccountaccountFields
Zusätzliche Felder für KontaktcontactFields
Zusätzliche Felder für BenutzeruserFields

Custom Mergefields erfordern den vollständigen API-Namen inkl. Namespace, wenn vorhanden. Dieser ist auch im Setup-Parameter bzw. in den Einstellungen einzutragen. Die Groß- und Kleinschreibung kann hingegen ignoriert werden.

Hinweis zu benutzerdefinierten Variablen mit dem Prefix sf42_quotefx__SF42_

Sofern Sie benutzerdefinierte Felder als Variablen einsetzen möchten, die als Prefix die Zeichenfolge sf42_quotefx__SF42_ aufweisen, beachten Sie bitte folgendes:
  • In den Setup-Text tragen Sie den korrekten API-Namen ein
  • In der Variable ersetzen Sie die Zeichenfolge 'sf42_quotefx__' durch 'quote__'. Die restliche Konfiguration bleibt gleich wie im folgenden beschrieben.
Beispiel: Aus dem Feld  sf42_quotefx__SF42_QuoSum_Listprice__c wird die Variable {quote__SF42_QuoSum_Listprice__c}.


Mergefields können auch in bestimmten Setup-Texten verwendet werden. An dieser Stelle werden allerdings gleich die vollständigen Platzhalter in geschweiften Klammern eingetragen:

Admin Einstellungentsprechender Setup-TextBeispiel 
Formatierung des Namens des Angebots in Salesforcequotesavename{QuoteNumber} - {AccountOpp_Name} {QuoteDate}
Formatierungs des Namens für das Angebots PDFquoteattachementnameAngebot {QuoteName}
Formatierung der QuoteMatchIDquoteMatchIDQuo-{QuoteNumber}-{QuoteDate}

Konfiguration

Die Mergefields-Sidebar gibt Ihnen alle vorhandenen Variablen in korrekter Formatierung aus. Die folgenden Abschnitte dienen dem besseren Verständnis und zum Überblick, welche Variablen Standard und welche im Setup zusätzlich hinterlegt werden müssen. Es ist mit Version Summer '20 nicht mehr notwendig, die Variablen manuell in das Angebot zu schreiben.



Mergefields bezogen auf das Angebot

Standard Quote Mergefields

Folgende Platzhalter können direkt im Angebotseditor verwendet werden. Wichtig ist dabei die Schreibweise in geschweiften Klammern:

Mergefieldreferenzierter Wert / Salesforce FeldBesonderheit
{QuoteSumNet}SF42_QuoteSum_Netto__cWird nur im PDF ausgelesen.
{QuoteName}Name
{QuoteNumber}SF42_QuoNumber__c
{QuoteDate}SF42_QuoDate__c
{OrderDate}SF42_QuoDate__c
{ValidDate}SF42_QuoValidThruDate__c
{QuoteVersion}
SF42_QuoVersion__c

{VAT}SF42_Tax_Quote__c
{QuoteSumVat}SF42_QuoSum_Vat__cWird nur im PDF ausgelesen.
{QuoteSumGross}SF42_QuoSum_Brutto__cWird nur im PDF ausgelesen.
{RelatedQuoteNumber}SF42_relatedQuote__r.SF42_QuoNumber__c
{RelatedQuoteName}SF42_relatedQuote__r.Name
{AcceptedQuoteNumber}s. Auftragsbestätigung
{AcceptedQuoteName}s. Auftragsbestätigung

Custom Quote Mergefields

Für Custom Mergefields kann einfach der API-Name des gewünschten Angebots-Feldes in geschweiften Klammern verwendet werden, sofern er im zugehörigen Setup-Text quoteFields hinterlegt ist.

Mergefields bezogen auf den Account

Bei Mergefields zum Account gilt es zunächst, zwischen den verschiedenen am Angebot beteiligten Accounts zu unterscheiden (s. Abschnitt "Mehrstufiger Vertrieb")


Opportunity AccountPrimärer Account Account 2Account 3Account 4
Objekt/Feld in SalesforceSF42_QuoAccount__cSF42_QuoActiveAccount__cSF42_QuoAccount2__cSF42_QuoAccount3__cSF42_QuoAccount4__c
DefinitionStandardPrimärer Account für das jeweilige AngebotDas Label für den Account 2 wird im Setup Parameter Account2 festgelegt, z.B. Reseller.Das Label für den Account 3 wird im Setup Parameter Account3 festgelegt, z.B. Distributor.Das Label für den Account 4 wird im Setup Parameter Account4 festgelegt, z.B. Enduser.
Prefix für Standard MergefieldsAccountOpp_active.(setup-text account2)_(setup-text account3)_(setup-text account4)_

Das Prefix der Variablen für Account 2-4 basiert auf dem Label, das in den Einstellungen im Reiter Accounts vergeben wurde. Sofern das Label für einen zusätzlichen Account ein Leerzeichen enthält z.B. "Media Agentur", wird dieses in den zugehörigen Variablen automatisch zusammengezogen, z.B. bei {MediaAgentur_Name}. Es ist nicht nötig, das Label manuell anzupassen.

Standard Account Mergefields

Die Standard Account Mergefields werden mit Unterstrich (Ausnahme 'Primärer Account: mit Punkt) an das jeweilige Account-Prefix angefügt. Folgende Mergefields stehen zur Verfügung:

Mergefield
referenzierter Wert / Salesforce Feld 
Beispiel Opportunity Account
Beispiel
Primärer Account 
Beispiel
Account 2
Beispiel
Account 3
Beispiel
Account 4
_NameAccount.Name{AccountOpp_Name}{active.Name}{Account}{reseller_Name}{distributor_Name}{enduser_Name}
_StreetAccount.BillingStreet
{Street}



_ZipAccount.BillingPostalCode
{Zip}


_CityAccount.BillingCity
{City}


_StateAccount.BillingState
{State}


_CountryAccount.BillingCountry
{Country}


_PaymentAccount.SF42_Zahlungsbedingungen__c
{active.payment}


_WebsiteAccount.Website




_TypeAccount.Type




_OwnerAccount.Owner.Name




_ShippingStreetAccount.ShippingStreet




_ShippingZipAccount.ShippingPostalCode




_ShippingCityAccount.ShippingCity




_ShippingCountryAccount.ShippingCountry




_ShippingStateAccount.ShippingState




Custom Account Mergefields

Für Custom Account Mergefields wird zunächst der API-Name des referenzierten Feldes im zugehörigen Setup-Text accountsFields hinterlegt. Anschließend wird er mit Punkt getrennt an das jeweilige Account-Prefix angefügt:

Opportunity AccountPrimärer Account für das jeweilige AngebotAccount 2Account 3Account 4
Objekt /Feld in SalesforceSF42_QuoAccount__cSF42_QuoActiveAccount__cSF42_QuoAccount2__cSF42_QuoAccount3__cSF42_QuoAccount4__c
Prefix für Custom MergefieldAccountOpp.active.(setup-text account2).(setup-text account3).(setup-text account4).
SystematikAccountOpp.ApiFieldnameactive.ApiFieldnamesetup-text account2.ApiFieldnamesetup-text account3.ApiFieldnamesetup-text account4.ApiFieldname
Beispiel Custom Mergefield am Beispiel des Feldes "Industry"{AccountOpp.Industry}{active.Industry}{reseller.Industry}{distributor.Industry}{enduser.Industry}

Mergefields bezogen auf den Kontakt

Bei Mergefields zum Kontakt gilt es ebenso, zwischen den verschiedenen am Angebot beteiligten Accounts und ihren Kontakten zu unterscheiden (s. Abschnitt "Mehrstufiger Vertrieb").


Kontakt Opportunity AccountKontakt am primären Account Kontakt Account 2Kontakt Account 3Kontakt Account 4
Objekt/Feld in SalesforceSF42_QuoContact__c-SF42_QuoContact2__cSF42_QuoContact3__cSF42_QuoContact4__c
DefinitionStandardZugehöriger Kontakt des primären Accounts für das jeweilige Angebot.Das Label wird im Setup Parameter Account2 festgelegt, z.B. Reseller.Das Label wird im Setup Parameter Account3 festgelegt, z.B. Distributor.Das Label wird im Setup Parameter Account4 festgelegt, z.B. Enduser.
Prefix für Standard MergefieldsAccountOpp_Contact_
Opp_Contact_
active.Contact.(setup-text account2)_Contact_(setup-text account3)_Contact_(setup-text account4)_Contact_

Das Prefix der Variablen für Kontakt 2-4 basiert auf dem Label, das in den Einstellungen im Reiter Accounts vergeben wurde. Sofern das Label für einen zusätzlichen Account ein Leerzeichen enthält z.B. "Media Agentur", wird dieses in den zugehörigen Variablen automatisch zusammengezogen, z.B. bei {MediaAgentur_Name}. Es ist nicht nötig, das Label manuell anzupassen.

Standard Contact Mergefields

Die Standard Contact Mergefields werden mit Unterstrich (Ausnahme 'Primärer Account: mit Punkt) an das jeweilige Contact-Prefix angefügt. Folgende Platzhalter stehen zur Verfügung:

Mergefield
zugehöriger Feldname am Objekt
Beispiel
Kontakt Opportunity Account
Beispiel
Kontakt am primären Account
Beispiel
Kontakt Account 2
Beispiel
Kontakt Account 3
Beispiel
Kontakt Account 4
_Contact_NameName{AccountOpp_Contact_Name}
{Opp_Contact_Name}
{active.Contact.Name}{reseller_Contact_Name}{distributor_Contact_Name}{enduser_Contact_Name}
_Contact_FirstNameFirstName
{FirstName}


_Contact_LastNameLastName
{LastName}


_Contact_SalutationSalutation




_Contact_LetterSalutationSF42_Letter_Salutation__c




_Contact_EmailEmail




_Contact_PhonePhone




_Contact_FaxFax




_Contact_MobileMobilePhone




_Contact_StreetStreet




_Contact_ZipPostalCode




_Contact_CityCity




_Contact_Additional1SF42_Additional_Info_1__c




_Contact_Additional2SF42_Additional_Info_2__c




_Contact_Additional3SF42_Additional_Info_3__c




_Contact_OwnerOwner.Name




Custom Contact Mergefields

Für Custom Contact Mergefields wird zunächst der API-Name des referenzierten Feldes im zugehörigen Setup-Text contactFields hinterlegt. Anschließend wird er mit Punkt getrennt an das jeweilige Contact-Prefix angefügt:


Kontakt am Opportunity AccountKontakt am aktiven Account Kontakt Account 2Kontakt Account 3Kontakt Account 4
Objekt/Feld in SalesforceSF42_QuoContact__c<->SF42_QuoContact2__cSF42_QuoContact3__cSF42_QuoContact4__c
Prefix für Custom MergefieldAccountOpp.Contact.Opp.Contact.active.Contact.(setup-text account2).Contact.(setup-text account2).Contact.(setup-text account4)Contact.
SystematikAccountOpp.Contact.ApiFieldnameOpp.Contact.ApiFieldNameActive.Contact.ApiFieldname(setup-text account2).Contact.ApiFieldname(setup-text account3).Contact.ApiFieldname(setup-text account4).Contact.ApiFieldname
Beispiel Custom Mergefield am Beispiel "Department"{AccountOpp.Contact.Department}{Opp.Contact.Department}{Active.Contact.Department}{reseller.Contact.Department}{distributor.Contact.Department}{enduser.Contact.Department}

Mergefields bezogen auf den User

Ähnlich wie beim Account gibt es auch bei Platzhalter, die sich auf Salesforce Benutzer beziehen, verschiedene Referenzmöglichkeiten und dementsprechend Prefixe für die Mergefields.


UserAccount OwnerOpportunity OwnerManager Opp OwnerQuote OwnerManager Quote Owner
Objekt/Feld in SalesforceUserSF42_QuoAccount__r.OwnerSF42_QuoOpportunity__r.OwnerSF42_QuoOpportunity__r.Owner.Manager.Owner .Owner.Manager 
DefinitionStandardInhaber des Accounts der OpportunityInhaber der OpportunityManager des Opportunity-InhabersInhaber des AngebotsManger des Inhaber des Angebots
Prefix für Standard MergefieldsUser_AccountOpp_Owner_Opp_Owner_Opp_Manager_Quote_Owner_Quote_Manager_

Standard User Mergefields

Die Standard User Mergefields werden mit Unterstrich an das jeweilige Contact-Prefix angefügt. Folgende Platzhalter stehen zur Verfügung:

Mergefield
zugehöriger Feldname am Objekt
Beispiel User
Beispiel Account OwnerBeispiel Opportunity OwnerBeispiel Opportunity Owner ManagerBeispiel Quote OwnerBeispiel Quote Owner Manager
_NameName{User_Name}{AccountOpp_Owner_Name}{Opp_Owner_Name}{Opp_Manager_Name}{Quote_Owner_Name}{Quote_Manager_Name}
_FirstNameFirstName





_LastNameLastName





_AliasAlias





_TitleTitle





_JobTitleTitle





_EmailEmail





_PhonePhone





_FaxFax





_MobilePhoneMobilePhone





_MobileMobilePhone





_CompanyNameCompanyName





_CompanyCompanyName





_StreetStreet





_PostalCodePostalCode





_ZipPostalCode





_CityCity





_DepartmentDepartment





_DivisionDivision





Custom User Mergefields

Custom Mergefields bezogen auf den User können nur für zwei Typen angelegt werden: den User selbst und den Opportunity Owner.
Für Custom User Mergefields wird zunächst der API-Name des referenzierten Feldes im zugehörigen Setup-Text userFields hinterlegt. Anschließend wird er mit Punkt getrennt an das jeweilige Contact-Prefix angefügt:


UserOpportunity Inhaber
Objekt/Feld in SalesforceUserSF42_QuoOpportunity__r.Owner
Prefix für Custom Mergefield-OppOwner.
SystematikAPI Feldname ohne PrefixOppOwner.ApiFieldname
Beispiel Custom Mergefield {SF42_UserDegree__c}{OppOwner.SF42_UserDegree__c}

Mergefields bezogen auf die Opportunity

Standard Opportunity Mergefields

Es gibt nur ein einziges Standard Mergefields für Opportunity-Felder:

Mergefieldzugehöriger Feldname an der Opportunity
{Opp_Name}Name

Custom Opportunity Mergefields

Für Custom Mergefields kann einfach der API-Name des referenzierten Feldes verwendet werden, sofern er im zugehörigen Setup-Text opportunityFields hinterlegt ist. Anschließend kann der Platzhalter in geschweiften Klammern im Angebot verwendet werden.

Mergefields bezogen auf das Produkt

Eine Besonderheit sind Mergefields auf Produktebene. Sie lesen Spaltenwerte einer Angebotsposition aus und können in der Produktbeschreibung eingesetzt werden. Verständlicherweise greifen Produkt-Variablen nur innerhalb eines Datensatzes

SpaltennameName der Variable Feldtyp 
BuyPriceDist{BuyPriceDist}Währung
BuyPricePartner{BuyPricePartner}Währung
Description{Description}Text
Discount{Discount}Prozent
Discount2{Discount2}Prozent
Discount3{Discount3}Prozent
Discount4{Discount4}Prozent
DiscountDist{DiscountDist}Prozent
DiscountPartner{DiscountPartner}Prozent
Endprice{Endprice, Unitprice}Währung
Listprice{Listprice}Währung
Lowsellprice{Lowsellprice}Währung
Position{Position}Text
Productcode{Productcode}Text
Quantity{Quantity}Zahl
QuantityMultiplier{QuantityMultiplier}Zahl
QuantityUnitOfMeasure{QuantityUnitOfMeasure}Text
ServiceDate{ServiceDate}Datum
SpecialDiscount{SpecialDiscount}Prozent
SpecialDiscountDist{SpecialDiscountDist}Prozent
SpecialDiscountPartner{SpecialDiscountPartner}Prozent
SumListprice{SumListprice}Währung
Sumprice

{Sumprice}, {Sum}

Währung
SumPriceDist

{SumPriceDist}, {SumDist}

Währung
SumPricePartner

{SumPricePartner}, {SumPartner}

Währung
Tax{Tax}Prozent

VE

{VE}, {PU}, {Unit}

Zahl
xcolumn1{xcolumn1}s. Einstellung
xcolumn2{xcolumn2}s. Einstellung
Auf Produktebene ist es nicht möglich, benutzerdefinierte Variablen anzulegen. Hier währen benutzerdefinierte Spalten eine mögliche Alternative.

Besonderheit: Variablen aus Formelfeldern

Im Normalfall können aus Formelfeldern nur begrenzt Mergefields generiert werden, da deren Inhalte, z.B. wenn es sich um Felder auf dem Angebot selbst handelt, erst mit Speichern des Angebots generiert werden.Alternativ können Sie sich manuell den Setup-Text saveTwiceForFormulaMergefields vom Typ Parameter einrichten und das Feld "Textbaustein" sf42_quotefx__SF42_QuoSetup_Longtext__c mit Wert true belegen. Das korrekte Verhalten ist dann folgendes: Beim initialen Öffnen des Editors bleiben Variablen, die keine Werte haben auf dem Template haben, zunächst leer; Felder, die einen Wert aus dem Template haben, werden mit diesem übernommen. Das erste Speichern eines neuen Angebots im Editor wird dann doppelt ausgelöst. Mergefields, die auf Formelfeldern aus dem Angebot beruhen, werden danach im Editor und PDF korrekt aufgelöst.


Bitte beachten Sie, dass durch den Setup-Text saveTwiceForFormulaMergefields alle ihre Prozesse auf dem Angebot ggf. zweimal ausgelöst werden. Kontaktieren Sie im Zweifelsfall den Produktsupport, um zu evaluieren, ob diese Lösung für sie infrage kommt.

Mergefields und Übersetzungen

Sofern im Salesforce Setup die einheitlichen Auswahllisten für Bundesstaat und Land aktiviert sind (→ 'Enable Country & State Picklists') und Übersetzungen für diese Werte vorhanden sind, werden für die entsprechenden Merge-Fields je nach Spracheinstellung die Übersetzungen ausgegeben. Dies gilt auch für die weiteren standardmäßig eingerichteten Mergefields.

Benutzerdefinierte Merge-Fields, die sich auf Auswahllisten-Felder beziehen, zeigen vorhandene Übersetzungen an, sofern im zugehörigen Setup-Text das entsprechende Feld mit 'toLabel' gekennzeichnet ist, z.B.accountFields → Textbaustein: toLabel(Industry)


Sofern es sich bei dem Feld nicht um eine Auswahlliste handelt, erzeugt die Verwendung von toLabel eine Fehlermeldung.