Versions Compared

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

ReihenfolgePrioritätFunktion
Struktur
Hinweis
Beispiel
Erläuterung1

Pflicht

Auf dieses Objekt bezieht sich die Abfrage.

<Objektname>|

Nur ein Wert gültig
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

Empfohlen, nicht mehr notwendig

Recommended, no longer necessary in appero quote Lightning

Auflistung sämtlicher Felder, die in der folgenden Query abgefragt werden.

<Feldname>|Komma separiertUm die Datenmenge möglichst gering zu halten (Ladezeit) kann die Auswahl bereits an dieser Stelle durch einen Filter eingeschränkt werden, s. unten Tipps zur Verwendung

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

<Feldname Kalkulation>|Nur Typ Währung oder Zahl

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 Kalkulation

Re. 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 der Produktoption selbst wird dann ignoriert. Der in der Produkteigenschaft hinterlegte Operator

c of the product option itself is then ignored. The operator stored in the product property (+/-/=)

wird auf den Wert des hier gewählten Datensatzes angewandt<Feldname Produktfilter>

is applied to the value of the record selected here.

4

Optional

Produktfilter

Product filter

<Field Name Product Filter>|

Relation

zu Produkt

to product

Product2Id|

Sofern dem der Objekt-Query zugrundeliegende Objekt eine Relation zum Standardobjekt Produkt zugeordnet ist, filtern sich die in der Produktoption auswählbaren Datensätze auf die Salesforce Id des Produkts der Angebotsposition. Dadurch lässt sich eine Auswahl zielgerichtet auf ein Produkt einschränken

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

<Feldname


<Field Name Filter>|

Nur Typ Checkbox, Auswahlliste

Only type checkbox, dropdown

Auswahl__c,aktiv__c|

Variante

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

  • Die API-Name der referenzierten Felder werden in den neuen Setup-Texten 

    Variant 1:

    einfache Feldnamen zur Anzeige
    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
    This option applies only to the "Table" type. If fields are specified in this section, they will be displayed in the product option above the table and allow filtering of the selectable records. However, currently only fields of field type Checkbox or Dropdown are supported. For the " Relation" type, this option has no effect.

    Variant 2:

    hinterlegt
    Die Filtermöglichkeiten
    • The filter options "=", "-=", "+="

      werden unterstützt, s.u. 
    • are supported, see below.

    • Syntax:
      [FieldNameOnQueriedObject][filter]{[ObjectToFilterName]@[fieldNameOnObjectToFilter]}

    Beispiel
    • Example: ProductCode__c={Product@ProductCode}

    Variante

    Variant 3:

    Feldnamen mit Verweis auf andere Produktoptionen vom Typ "Tabelle

    Field names with reference to other product options of type "Table" / "

    Beziehung

    Relation"

    Verwendung: siehe unten Abhängige Filter zu anderen Produktoptionen<Feldname Darstellung>

    Usage: see below Dependent filters to other product options..

    6

    Optional

    Darstellung

    Display

    <Field Name Display>|

    Komma separiert

    Comma separated

    Feld1__c,(Feld3__c)|

    Für den Typ "Tabelle" kann hier gesteuert werden, welche der in 2 hinterlegten Felder tatsächlich in der tabellarischen Darstellung ausgegeben werden sollen. Wenn diese Option leer bleibt, werden automatisch alle Felder aus 2 in der Tabelle angezeigt. Wenn man den Feldnamen in Klammern schreibt z.B. "(Feld3__c)" dann wird die Spalte in der Tabelle zwar im Editor ausgegeben, im fertigen Angebotsdokument jedoch ausgeblendet.
    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

    <Feldname

    <Field Name Account>|

    Relation

    zu Account

    to account

    Account__c|

    Sofern hier eine Relation zum Standardobjekt Account zugeordnet ist, filtern sich die in der Produktoption auswählbaren Datensätze auf die Salesforce Id des Accounts, der an der zugehörigen Opportunity hinterlegt ist. Dadurch lässt sich eine Auswahl zielgerichtet auf den verwendeten Account einschränken

    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

    Eigene Labels

    Own labels

    <Eigene

    <Own Labels

    Darstellung>

    Display>|

    Felder aus Darstellung

    Fields from display

    Feld1__c=Titel|

    Für den Typ "Tabelle" können an dieser Stelle eigene Spaltenüberschriften definiert werden. Gerade wenn die Standardbezeichnungen der Felder zu lang sind, oder eine Übersetzung notwendig ist, kann diese Option sehr hilfreich sein. Sofern diese Option leer bleibt, werden automatisch die Feldbezeichnungen aus Salesforce verwendet

    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"

    oder

    or "false

    "

    false|

    Betrifft nur

    Applies only to appero quote Classic:

    Sofern dieser Wert leer ist, oder mit

    If this value is empty or set to "false"

    hinterlegt, werden die benötigten Datensätze aus dieser Object Query mit Start des Angebotseditors geladen. Mit der Option "true" kann man gerade bei hohen Datenmengen die Ladezeit wesentlich verkürzen, weil dann die Daten erst nachgeladen werden, sobald die Produkteigenschaft angezeigt wird.WICHTIG: Aktuell lässt sich die Option nur sinnvoll anwenden, wenn in der Objekt Query der "Produktfilter" oder die "Publikation" zugeordnet ist<Feldname Publikation>

    , 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

    Publikation

    Publication

    <Field Name Publication>

    Relation

    zu Publikation

    to publication

    Publikation_

    _c,

    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

    Publikationsgruppe

    Publishing Group

    <Field Name Publishing Group>|

    Relation

    zu PublikationsgruppeSofern die Option gesetzt ist, filtern sich die angezeigten Datensätze zusätzlich zur Publikation auch auf die Publikationsgruppe

    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

    Platzierung

    Placement

    <Field Name Placement>|

    Relation

    zu PlatzierungSofern die Option gesetzt ist, filtern sich die angezeigten Datensätze zusätzlich auf die Platzierung die aus dem ausgewählten Produkt resultiert (am Produkt muss die Relation zur Platzierung hinterlegt sein

    to placement

    Platzierung__c|

    Diese Option kann nur dann verwendet werden, wenn MediaVelox installiert ist.

    Relation zu Anzeigeformat

    This 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

    Anzeigenformat<Feldname Anzeigenformat>

    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 Added

    Dependent 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 hier

    Configuration

    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

    Beispiel

    Example

    Erklärung

    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
    title

    Hinweis zur Umstellung auf appero quote Lightning

    Sofern 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.