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:
Anlage benutzerdefinierter Mergefields
Admin Einstellung | entsprechender Setup-Text |
---|---|
Zusätzliche Felder für Angebot | quoteFields |
Zusätzliche Felder für Opportunity | opportunityFields |
Zusätzliche Felder für Account | accountFields |
Zusätzliche Felder für Kontakt | contactFields |
Zusätzliche Felder für Benutzer | userFields |
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. |
Sofern Sie benutzerdefinierte Felder als Variablen einsetzen möchten, die als Prefix die Zeichenfolge sf42_quotefx__SF42_ aufweisen, beachten Sie bitte folgendes:
|
Admin Einstellung | entsprechender Setup-Text | Beispiel |
---|---|---|
Formatierung des Namens des Angebots in Salesforce | quotesavename | {QuoteNumber} - {AccountOpp_Name} {QuoteDate} |
Formatierungs des Namens für das Angebots PDF | quoteattachementname | Angebot {QuoteName} |
Formatierung der QuoteMatchID | quoteMatchID | Quo-{QuoteNumber}-{QuoteDate} |
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
Mergefield | referenzierter Wert / Salesforce Feld | Besonderheit |
---|---|---|
{QuoteSumNet} | SF42_QuoteSum_Netto__c | Wird 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__c | Wird nur im PDF ausgelesen. |
{QuoteSumGross} | SF42_QuoSum_Brutto__c | Wird nur im PDF ausgelesen. |
{RelatedQuoteNumber} | SF42_relatedQuote__r.SF42_QuoNumber__c | |
{RelatedQuoteName} | SF42_relatedQuote__r.Name | |
{AcceptedQuoteNumber} | s. Auftragsbestätigung | |
{AcceptedQuoteName} | s. Auftragsbestätigung |
Opportunity Account | Primärer Account | Account 2 | Account 3 | Account 4 | |
---|---|---|---|---|---|
Objekt/Feld in Salesforce | SF42_QuoAccount__c | SF42_QuoActiveAccount__c | SF42_QuoAccount2__c | SF42_QuoAccount3__c | SF42_QuoAccount4__c |
Definition | Standard | Primärer Account für das jeweilige Angebot | Das 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 Mergefields | AccountOpp_ | 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. |
Mergefield | referenzierter Wert / Salesforce Feld | Beispiel Opportunity Account | Beispiel Primärer Account | Beispiel Account 2 | Beispiel Account 3 | Beispiel Account 4 |
---|---|---|---|---|---|---|
_Name | Account.Name | {AccountOpp_Name} | {active.Name}{Account} | {reseller_Name} | {distributor_Name} | {enduser_Name} |
_Street | Account.BillingStreet | {Street} | ||||
_Zip | Account.BillingPostalCode | {Zip} | ||||
_City | Account.BillingCity | {City} | ||||
_State | Account.BillingState | {State} | ||||
_Country | Account.BillingCountry | {Country} | ||||
_Payment | Account.SF42_Zahlungsbedingungen__c | {active.payment} | ||||
_Website | Account.Website | |||||
_Type | Account.Type | |||||
_Owner | Account.Owner.Name | |||||
_ShippingStreet | Account.ShippingStreet | |||||
_ShippingZip | Account.ShippingPostalCode | |||||
_ShippingCity | Account.ShippingCity | |||||
_ShippingCountry | Account.ShippingCountry | |||||
_ShippingState | Account.ShippingState |
Opportunity Account | Primärer Account für das jeweilige Angebot | Account 2 | Account 3 | Account 4 | |
---|---|---|---|---|---|
Objekt /Feld in Salesforce | SF42_QuoAccount__c | SF42_QuoActiveAccount__c | SF42_QuoAccount2__c | SF42_QuoAccount3__c | SF42_QuoAccount4__c |
Prefix für Custom Mergefield | AccountOpp. | active. | (setup-text account2). | (setup-text account3). | (setup-text account4). |
Systematik | AccountOpp.ApiFieldname | active.ApiFieldname | setup-text account2.ApiFieldname | setup-text account3.ApiFieldname | setup-text account4.ApiFieldname |
Beispiel Custom Mergefield am Beispiel des Feldes "Industry" | {AccountOpp.Industry} | {active.Industry} | {reseller.Industry} | {distributor.Industry} | {enduser.Industry} |
Kontakt Opportunity Account | Kontakt am primären Account | Kontakt Account 2 | Kontakt Account 3 | Kontakt Account 4 | |
---|---|---|---|---|---|
Objekt/Feld in Salesforce | SF42_QuoContact__c | - | SF42_QuoContact2__c | SF42_QuoContact3__c | SF42_QuoContact4__c |
Definition | Standard | Zugehö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 Mergefields | AccountOpp_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. |
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_Name | Name | {AccountOpp_Contact_Name} {Opp_Contact_Name} | {active.Contact.Name} | {reseller_Contact_Name} | {distributor_Contact_Name} | {enduser_Contact_Name} |
_Contact_FirstName | FirstName | {FirstName} | ||||
_Contact_LastName | LastName | {LastName} | ||||
_Contact_Salutation | Salutation | |||||
_Contact_LetterSalutation | SF42_Letter_Salutation__c | |||||
_Contact_Email | ||||||
_Contact_Phone | Phone | |||||
_Contact_Fax | Fax | |||||
_Contact_Mobile | MobilePhone | |||||
_Contact_Street | Street | |||||
_Contact_Zip | PostalCode | |||||
_Contact_City | City | |||||
_Contact_Additional1 | SF42_Additional_Info_1__c | |||||
_Contact_Additional2 | SF42_Additional_Info_2__c | |||||
_Contact_Additional3 | SF42_Additional_Info_3__c | |||||
_Contact_Owner | Owner.Name |
Kontakt am Opportunity Account | Kontakt am aktiven Account | Kontakt Account 2 | Kontakt Account 3 | Kontakt Account 4 | |
---|---|---|---|---|---|
Objekt/Feld in Salesforce | SF42_QuoContact__c | <-> | SF42_QuoContact2__c | SF42_QuoContact3__c | SF42_QuoContact4__c |
Prefix für Custom Mergefield | AccountOpp.Contact.Opp.Contact. | active.Contact. | (setup-text account2).Contact. | (setup-text account2).Contact. | (setup-text account4)Contact. |
Systematik | AccountOpp.Contact.ApiFieldnameOpp.Contact.ApiFieldName | Active.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} |
User | Account Owner | Opportunity Owner | Manager Opp Owner | Quote Owner | Manager Quote Owner | |
---|---|---|---|---|---|---|
Objekt/Feld in Salesforce | User | SF42_QuoAccount__r.Owner | SF42_QuoOpportunity__r.Owner | SF42_QuoOpportunity__r.Owner.Manager | .Owner | .Owner.Manager |
Definition | Standard | Inhaber des Accounts der Opportunity | Inhaber der Opportunity | Manager des Opportunity-Inhabers | Inhaber des Angebots | Manger des Inhaber des Angebots |
Prefix für Standard Mergefields | User_ | AccountOpp_Owner_ | Opp_Owner_ | Opp_Manager_ | Quote_Owner_ | Quote_Manager_ |
Mergefield | zugehöriger Feldname am Objekt | Beispiel User | Beispiel Account Owner | Beispiel Opportunity Owner | Beispiel Opportunity Owner Manager | Beispiel Quote Owner | Beispiel Quote Owner Manager |
---|---|---|---|---|---|---|---|
_Name | Name | {User_Name} | {AccountOpp_Owner_Name} | {Opp_Owner_Name} | {Opp_Manager_Name} | {Quote_Owner_Name} | {Quote_Manager_Name} |
_FirstName | FirstName | ||||||
_LastName | LastName | ||||||
_Alias | Alias | ||||||
_Title | Title | ||||||
_JobTitle | Title | ||||||
_Email | |||||||
_Phone | Phone | ||||||
_Fax | Fax | ||||||
_MobilePhone | MobilePhone | ||||||
_Mobile | MobilePhone | ||||||
_CompanyName | CompanyName | ||||||
_Company | CompanyName | ||||||
_Street | Street | ||||||
_PostalCode | PostalCode | ||||||
_Zip | PostalCode | ||||||
_City | City | ||||||
_Department | Department | ||||||
_Division | Division |
User | Opportunity Inhaber | |
---|---|---|
Objekt/Feld in Salesforce | User | SF42_QuoOpportunity__r.Owner |
Prefix für Custom Mergefield | - | OppOwner. |
Systematik | API Feldname ohne Prefix | OppOwner.ApiFieldname |
Beispiel Custom Mergefield | {SF42_UserDegree__c} | {OppOwner.SF42_UserDegree__c} |
Mergefield | zugehöriger Feldname an der Opportunity |
---|---|
{Opp_Name} | Name |
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
Spaltenname | Name 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. |
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. |