Versions Compared
Version | Old Version 3 | New Version 4 |
---|---|---|
Changes made by | ||
Saved on |
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Table of Contents |
---|
Einführung
Für Produkteigenschaften mit Berechnung sowie Produkteigenschaften ohne Berechnung lassen sich für die Typen "Beziehung" und "Tabelle" im Feld "Object Query" Abfragen generieren. Mit diesen Abfragen kann man die Inhalte jedes beliebigen Standard- oder Custom Objects in Salesforce in der Produkteigenschaft anzeigen lassen und auswählbar machen. Die Query ist in mehrere Abschnitte unterteilt und lässt sich sich von sehr einfach bis beliebig komplex gestalten.
Note |
---|
Bitte beachten Sie, dass bei Object Queries u.U. sehr große Datenmengen abgefragt werden und wir durch das Salesforce Row Limit eingeschränkt sind. Wir unterstützen derzeit ca. 4 Eigenschaften vom Typ Tabelle oder Relation je Produkt. Kommt es dennoch zu einer Fehlermeldung, passen Sie bitte die Filterkriterien Ihrer Object Queries an, um die Datenmenge zu reduzieren. Zur besseren Übersicht können Sie Ihre Tabellen nach den Einträgen in den einzelnen Spalten auf- oder absteigend sortieren. Diese Sortierung wird auch für die laufende Quote-Session beibehalten. |
Formatierung
Die Object Query ist als String aufgebaut. Für die Eingabe sind erlaubt API-Feldnamen, Leerzeichen, Komma, Pipe und Zeilenumbrüche. Sonstige Sonderzeichen und/oder nicht korrekte API-Feldnamen führen automatisch zu einer Fehlermeldung und verhindern das Einfügen des zugehörigen Produkts.
Syntax
Pflicht
<Objektname>|
Table of Contents |
---|
Introduction
For product properties with or without price influence, queries can be generated for the types "Relation" and "Table" in the field "Object Query". These queries can be used to display the contents of any standard or custom object in Salesforce in the product property and make it selectable. The query is divided into several sections and can be designed from very simple to any complexity.
Note |
---|
Please note that Object Queries may request very large amounts of data and we are limited by the Salesforce Row Limit. We currently support about 4 properties of type Table or Relation per product. If you still get an error message, please adjust the filter criteria of your Object Queries to reduce the amount of data. For a better overview, you can sort your tables according to the entries in the individual columns in ascending or descending order. This sorting will also be kept for the current quote session. |
Formatting
The Object Query is structured as a string. API field names, spaces, comma, pipe and line breaks are allowed for the input. Other special characters and/or incorrect API field names automatically lead to an error message and prevent the insertion of the associated product.
Syntax
Order | Priority | Function | Structure | Note | Example | Explanation |
---|---|---|---|---|---|---|
1 | Madatory | The query refers to this object. | <Object Name>| | Only one value valid | Auspraegung__c| | |
2 |
Recommended, no longer necessary in appero quote Lightning |
Auflistung sämtlicher Felder, die in der folgenden Query abgefragt werden.
List of all fields that will be queried in the following query. | <Field Name>| | Comma separated | Feld1__c,Feld2__c,Feld3__c| |
Sämtliche Felder die in der Abfrage ab 3 verwendet werden, müssen auch in 2 eingefügt werden. Die Felder "Id" und "Name" werden automatisch von Quote hinterlegt und müssen nicht manuell ergänzt werden.
All fields used in the query from 3 must also be inserted in 2. The fields "Id" and "Name" are automatically stored by Quote and do not have to be added manually. To keep the amount of data as small as possible (loading time), the selection can already be limited at this point by a filter, see Usage tips below. | |
3 | Optional |
Kalkulation
Calculation | <Field Name Calculation>| | Only type currency or number | Sonderpreis__c| |
Betr. Produkteigenschaften mit Berechnung.
Sofern hier ein gültiges Feld zugeordnet ist, ergibt dies bei Produktoptionen mit Berechnung den Wert für die Berechnung angewendet. Der "Wert zur KalkulationRe. Product Properties with Price Influence. If a valid field is assigned here, this will result in the value for calculation applied for product properties with price influence. The "value for calculation" sf42_quotefx__SF42_calc_Value__ |
c of the product option itself is then ignored. The operator stored in the product property (+/-/=) |
is applied to the value of the record selected here. | |
4 | Optional |
Produktfilter
Product filter | <Field Name Product Filter>| | Relation |
to product | Product2Id| |
If a relation to the standard object Product is assigned to the object on which the Object query is based, the data records that can be selected in the Product option are filtered to the Salesforce Id of the product of the Quote Line Item. In this way, a selection can be narrowed down to a specific product. | ||
5 | Optional | Filter |
<Field Name Filter>| |
Only type checkbox, dropdown | Auswahl__c,aktiv__c| |
Variante 2:
Es gibt die Möglichkeit einen Filter auf Felder an den Objekten Produkt, Account, Kontakt, Opportunity zu setzen, wobei jeweils nur ein Objekt pro Query abgefragt werden kann
Variant 1: |
Diese Option gilt nur für den Typ "Tabelle". Sofern in diesem Abschnitt Felder angegeben sind, werden sie in der Produktoption über der Tabelle angezeigt und ermöglichen eine Filterung der auswählbaren Datensätze. Aktuell werden aber nur Felder vom Feldtyp Checkbox oder Auswahlliste unterstützt.
Für den Typ "Beziehung" hat diese Option keine Auswirkung.
Simple field names for display Variant 2:
|
|
|
|
Variant 3: |
Field names with reference to other product options of type "Table" / " |
Relation" |
Usage: see below Dependent filters to other product options.. | |
6 | Optional |
Darstellung
Display | <Field Name Display>| |
Comma separated | Feld1__c,(Feld3__c)| |
Für den Typ "Relation" reicht ein einziges Feld. Wenn diese Option leer bleibt, wird automatisch das Feld "Name" in der Auswahlliste angezeigt. Feldnamen in Klammern werden ignoriert
For the "Table" type, you can control here which of the fields stored in 2 should actually be output in the tabular display. If this option is left empty, all fields from 2 are automatically displayed in the table. If you write the field name in brackets, e.g. "(Field3__c)", then the column in the table will be displayed in the editor, but hidden in the finished quotation document. For the type "Relation" a single field is sufficient. If this option is left empty, the "Name" field is automatically displayed in the selection list. Field names in brackets are ignored. | ||
7 | Optional | Account |
<Field Name Account>| | Relation |
to account | Account__c| |
If a relation to the standard object Account is assigned here, the data records that can be selected in the product option are filtered to the Salesforce ID of the account that is stored in the associated Opportunity. In this way, a selection can be restricted specifically to the account used. | |
8 | Optional |
Own labels |
<Own Labels |
Display>| |
Fields from display | Feld1__c=Titel| |
For the type "Table" own column headings can be defined at this point. Especially if the standard field names are too long or a translation is necessary, this option can be very helpful. If this option is left empty, the field names from Salesforce will be used automatically. | ||||
9 | Optional | load on demand | <load on demand>| | "true" |
or "false |
false| |
Applies only to appero quote Classic: |
If this value is empty or set to "false" |
, the required data records are loaded from this object query when the quote editor is started. With the option "true", the loading time can be reduced considerably, especially with large amounts of data, because the data is then only reloaded as soon as the product property is displayed. IMPORTANT: Currently, the option can only be used meaningfully if the "Product filter" or the "Publication" is assigned in the Object Query. | |
10 | MediaVelox |
Publication | <Field Name Publication> | Relation |
to publication | Publikation_ |
Diese Option kann nur dann verwendet werden, wenn MediaVelox installiert ist.
Sofern die Option gesetzt ist, filtern sich die angezeigten Datensätze auf die Publikation die aus dem ausgewählten Produkt resultiert (am Produkt muss die Relation zur Platzierung befüllt sein<Feldname Publikationsgruppe>_c, | This option can be used only if MediaVelox is installed. If the option is set, the displayed records will be filtered to the publication resulting from the selected product (the relation to the placement must be filled for the product). |
11 | MediaVelox |
Publishing Group | <Field Name Publishing Group>| | Relation |
to publishing group | Publikationsgruppe__c| |
Diese Option kann nur dann verwendet werden, wenn MediaVelox installiert ist.
<Feldname Platzierung>This option can be used only if MediaVelox is installed. If the option is set, the displayed records filter on the publishing group in addition to the publication. | |
12 | MediaVelox |
Placement | <Field Name Placement>| | Relation |
to placement | Platzierung__c| |
Diese Option kann nur dann verwendet werden, wenn MediaVelox installiert ist.
Relation zu AnzeigeformatThis option can only be used if MediaVelox is installed. If the option is set, the displayed data records are additionally filtered on the placement resulting from the selected product (the relation to the placement must be stored on the product). | |
13 | MediaVelox |
Ad format | <Field Name Ad Format> | Relation to ad format | Format__c |
Diese Option kann nur dann verwendet werden, wenn MediaVelox installiert ist.
Sofern die Option gesetzt ist, filtern sich die angezeigten Datensätze zusätzlich auf das Anzeigenformat welches aus dem ausgewählten Produkt resultiert (am Produkt muss die Relation zum Anzeigenformat hinterlegt sein)
Note |
---|
Das zweite Element der Objektabfrage, die Auflistung aller in der Abfrage verwendeten Felder, kann für appero quote Lightning entfallen. Eine derart reduzierte Objektabfrage erzeugt allerdings eine Fehlermeldung bei der Verwendung von appero quote Classic. |
Tipps zur Verwendung
Note |
---|
Um die Leistung der Tabelle zu verbessern, werden im Produkt-Detail-Dialog nur noch 30 Datensätze gleichzeitig gerendert. Enthält die Tabelle mehr als 30 Datensätze, wird der Benutzer über einen Hinweis aufgefordert, die Suche zu verfeinern. Bis zu 400 Datensätze pro Eigenschaft sind im Editor verfügbar. |
Minimumkonfiguration
Wenn eine Object Query nur aus dem Objektnamen besteht, werden automatisch die Felder "Id" und "Name" geladen und das Feld "Name" zur Anzeige verwendet. Gerade bei der Darstellung einfacher Objekte in Relationen, kann das sehr hilfreich sein.
Nicht benötigte Optionen
Natürlich kann es vorkommen, dass man in der Object Query manche Optionen nicht benötigt, in diesem Fall reicht es den Wert zwischen beiden Pipes einfach leer zu lassen, Beispiel "||". Da es manchmal auch viele Pipes sein können, lohnt sich das "Mitzählen". Es empfiehlt sich, je Pipe eine neue Zeile zu beginnen, um eine bessere Übersichtlichkeit zu gewährleisten.
Datenmengen optimieren
Oftmals kann es Filterkriterien geben, die ggf. schon beim Laden der Daten sinnvoll wären um die Datenmenge und damit die Ladezeit einer Produkteigenschaft zu reduzieren. Das kann ein Status sein, oder auch ein Recordtype. Dies lässt sich sehr einfach realisieren, wenn man bei Punkt 2 "Feldnamen" schon einen Filter einsetzt. In dem Beispiel StageName='Prospecting' würden schon beim Laden der Daten nur alle Opportunity-Datensätze geladen werden, die mit dem gefilterten Wert übereinstimmen. Generell gilt, dass eine Tabelle nur max. 200 Datensätze lädt, für genauere Ergebnisse muß die Tabellenanzeige ggf. im Editor über das Suchfeld eingeschränkt werden.
Note |
---|
Wichtig: Filter auf den Feldtyp String und Id müssen in appero quote Classic immer mit einfachen Anführungszeichen umschlossen sein. Filter auf Datumswerte und Zahlen benötigen diese nicht. |
Anzeige im Angebotseditor
Die ermittelten Werte werden im Produkt-Detail-Dialog in Form einer Dropdown-Liste (Typ Beziehung) oder als Tabelle abgefragt:Image Removed
Abhängige Filter zu anderen Produktoptionen
Häufig besteht die Anforderung, dass ein selektierter Wert einer Produktoption vom Typ "Table" / "Relation" als Filterkriterium für eine andere Object Query angewendet werden soll. Dies lässt sich über den Abschnitt 5 (Filter) ergänzen.
Beispiel
Die erste Produkteigenschaft bietet über die Object Query eine tabellarische Darstellung der verfügbaren Accounts:
Account|Name,Id
In der zweiten Abfrage sollen nur diejenigen Kontakte angezeigt werden, die zum in der ersten Abfrage ermittelten Account gehören. Hierzu wird unter 5. auf die ID der ersten Query und das zu referenzierende Feld, in diesem Fall die AccountID verwiesen.
This option can only be used if MediaVelox is installed. If the option is set, the displayed data records are additionally filtered to the ad format resulting from the selected product (the relation to the ad format must be stored on the product). |
Note |
---|
The second element of the object query, the listing of all fields used in the query, can be omitted for appero quote Lightning. |
Usage Tips
Note |
---|
To improve the performance of the table, only 30 records are rendered at a time in the Product Details dialog. If the table contains more than 30 records, a hint prompts the user to refine the search. Up to 400 records per property are available in the editor. |
Minimum configuration
If an Object Query consists only of the object name, the fields "Id" and "Name" are automatically loaded and the field "Name" is used for display. Especially when displaying simple objects in relations, this can be very helpful.
Unneeded options
Of course, it can happen that you do not need some options in the Object Query, in this case it is sufficient to simply leave the value between both Pipes empty, for example "||". Since there can sometimes be many pipes, it is worthwhile to "count" them. It is recommended to start a new line for each pipe to ensure a better overview.
Optimize data volumes
Often there can be filter criteria that would be useful already when loading the data to reduce the amount of data and thus the loading time of a product property. This can be a status or a record type. This can be realized very simply, if one already uses a filter with point 2 "field names". In the example StageName='Prospecting' already when loading the data only all opportunity records would be loaded that match the filtered value. In general, a table will only load a maximum of 200 records, for more accurate results you may have to limit the table display in the editor using the search field.
Note |
---|
Important: Filters on the field type String and Id must always be enclosed with single quotes in appero quote Classic. Filters on date values and numbers do not need them. |
Display in quote editor
The determined values are queried in the product detail dialog in the form of a drop-down list (type Relation) or as a Table:
Image AddedDependent filters to other product options
Often there is a requirement that a selected value of a product option of the type "Table" / "Relation" should be applied as a filter criterion for another Object Query. This can be added via section 5 (Filter).
Example
The first product property provides a tabular representation of the available accounts via the Object Query:
Code Block |
---|
Account|Name,Id |
In the second query, only those contacts are to be displayed that belong to the account determined in the first query. For this purpose, reference is made in 5. to the ID of the first query and the field to be referenced, in this case the AccountID.
Code Block |
---|
Contact|Name,Id,AccountId|||AccountId={Id:property1Id} |
Konfiguration
Es gibt vier verschieden Möglichkeiten, den Filter zu setzen, eindeutig, ausschließend, ergänzend und als Vorbelegung. Eine Übersicht der verschiedenen Funktionen und die zugehörige Syntax finden Sie hierConfiguration
There are four different ways to set the filter, unique, exclusive, complementary and default. An overview of the different functions and the corresponding syntax can be found here:
Verwendung | Syntax |
---|
Example |
---|
Explanation | ||||
---|---|---|---|---|
1 | Dynamischer eindeutiger Filter | = Beispiel Abschnitt 5: <Feldname>={<Feldname Object Query weiterer Produktoption>:<Salesforce Id der weiteren Produktoption>} | Id={PreisRubrik__c:a0q9E000001Zq5WQAS} | Die Option ermittelt den exakten Feldwert der verknüpften Produktoption und nutzt diesen als Filterwert für das angegebene Feld der eigenen Object Query. Es werden also nur Datensätze angezeigt, die dem exakten Filterkriterium entsprechen |
2 | Dynamischer ausschliessender Filter | -= Beispiel Abschnitt 5: <Feldname>-={<Feldname Object Query weiterer Produktoption>:<Salesforce Id der weiteren Produktoption>} | Id-={PreisRubrik__c:a0q9E000001Zq5WQAS} | Die Option ermittelt den exakten Feldwert der verknüpften Produktopionen, nutzt diesen jedoch als eindeutigen Filter auch im Vergleich von exakten leeren Werten |
3 | Dynamischer ergänzender Filter | += Beispiel Abschnitt 5: <Feldname>+={<Feldname Object Query weiterer Produktoption>:<Salesforce Id der weiteren Produktoption>} | Id+={PreisRubrik__c:a0q9E000001Zq5WQAS} | Die Option ermittelt den exakten Feldwert der verknüpften Produktoptionen, nutzt diesen jedoch als Zusatzfilter. Damit werden Datensätze mit leerem Wert auf das gefilterte Feld dennoch angezeigt. |
4 | Dynamische Vorbelegung | : Beispiel Abschnitt 5: <Feldname>:{<Feldname Object Query weiterer Produktoption>:<Salesforce Id der weiteren Produktoption>} | Id:{PreisRubrik__c:a0q9E000001Zq5WQAS} | Die Option nutzt den exakten Feldwert lediglich zur Vorbelegung des ersten gefundenen Datensatzes in der Liste, ohne jedoch die Datensatzanzahl einzuschränken. |
Vorbelegung einer weiteren Produkteigenschaft
Bei einigen Produkteigenschaften können Sie über das Feld “Vorbelegter Wert”/ sf42_quotefx__SF42_PreassignedValue__c über eine Variable auf den selektierten Wert einer anderen Produkteigenschaft vom Typ Tabelle/Relation zugreifen und damit Ihre Produkteigenschaft dynamisch vorbelegen. Möglich ist dies für die Eigenschaftstypen:
Text/ Textbereich
Dropdown/Multipicklist
Datum
Zahl/ Basismenge
Beispielkonfiguration
Produkteigenschaft 1, Typ Typ: Tabelle
Id: xyz
Query: Account|Id,Name,Industry
Produkteigenschaft 2, Typ Typ: Text
Id: abc
Vorbelegter Wert: {xyz:Industry}
Ergebnis: Die zweite Produkteigenschaft vom Typ Text ist mit dem in der ersten Tabelle selektieren Wert in der Spalte "Industry" vorbelegt.
Warning |
---|
Hinweis zur Umstellung auf appero quote LightningSofern Sie Angebote, die in appero quote Classic erstellt wurden, im neuen Lightning Editor bearbeiten und dieses eine Produkteigenschaft vom Typ Tabelle enthält, werden Sie einmalig dazu aufgefordert, den Wert der Produkteigenschaft erneut auszuwählen und abzuspeichern. Erst dann kann der Wert aus dem bestehenden Angebot übernommen werden. |