Zum Hauptinhalt springen

Extra Form Fields konfigurieren

Fügen Sie mit Extra Form Fields benutzerdefinierte Salesforce-Felder zu bestehenden Employee Hub-Formularen hinzu. Konfigurieren Sie jedes Feld mit flair__Extra_Form_Field__mdt, ohne den Standardfeldsatz des Formulars zu ersetzen.

Wer kann diese Funktion verwenden?

Salesforce-Admins, die Felder und den Custom Metadata Type Flair Extra Form Field in Salesforce Setup verwalten. Mitarbeiter sehen die Felder im Employee Hub.

Bevor Sie beginnen

  • Erstellen Sie das benutzerdefinierte Feld auf dem Salesforce-Zielobjekt.
  • Notieren Sie den API-Namen des Objekts und den API-Namen des Feldes.
  • Ermitteln Sie die Form ID, wenn das Feld nur in einem Formular erscheinen soll.

Unterstützte Formulare prüfen

FormularForm ID
Absence Request Formflair__Absence__c.RequestAbsence
Absence Manager Detailsflair__Absence__c.ManagerDetails
Expense Request Formflair__Expense__c.RequestExpense
Expense Detailsflair__Expense__c.Details
Expense Item Request Formflair__Expense_Item__c.RequestExpenseItem
Project User Detailsflair__Project__c.UserDetails
Project Manager Detailsflair__Project__c.ManagerDetails
Projects Time Entry Editflair__Project_Time_Entry__c.Edit

Unterstützte Salesforce-Feldtypen sind Text Area, Long Text Area, Date, Time, DateTime, Picklist, Lookup Reference und Number.

Extra Form Field erstellen

  1. Geben Sie in Salesforce Setup unter Quick Find Custom Metadata Types ein.
  2. Öffnen Sie Custom Metadata Types.
  3. Klicken Sie neben Flair Extra Form Field auf Manage Records.
  4. Klicken Sie auf New.
  5. Geben Sie unter Object API Name das Zielobjekt ein, zum Beispiel flair__Expense__c oder flair__Absence__c.
  6. Geben Sie unter Field API Name das anzuzeigende Feld ein, zum Beispiel flair__Amount__c oder flair__Description__c.
  7. Konfigurieren Sie optionale Einstellungen unter Extra Form Field-Einstellungen prüfen.
  8. Klicken Sie auf Save.

Custom Metadata-Datensatz Extra Form Field mit Feldeinstellungen

Extra Form Field-Einstellungen prüfen

EinstellungFunktion
Object API NameIdentifiziert das Salesforce-Objekt. Diese Einstellung ist erforderlich.
Field API NameIdentifiziert das anzuzeigende benutzerdefinierte Feld. Diese Einstellung ist erforderlich.
RequiredMacht das Feld im Employee Hub-Formular zum Pflichtfeld, auch wenn Salesforce es nicht erfordert.
ActiveZeigt das Feld an. Deaktivieren Sie die Option, um das Feld auszublenden, ohne den Metadatendatensatz zu löschen.
Form IdBeschränkt das Feld auf ein Formular. Lassen Sie den Wert leer, um das Feld in allen unterstützten Formularen des Objekts anzuzeigen.
PositionLegt die Anzeigereihenfolge fest. Niedrigere Zahlen erscheinen zuerst.
Visibility ConditionSpeichert die JSON-Bedingung, die die Sichtbarkeit des Feldes steuert.
Lookup SOQL FilterSpeichert eine SOQL-WHERE-Klausel zum Filtern von Lookup-Optionen.
Visible LinesLegt die Anzahl der sichtbaren Zeilen für einen mehrzeiligen Textbereich fest.

Sichtbarkeitsbedingung konfigurieren

Sichtbarkeitsbedingungen verwenden JSON-Kriterien ähnlich der MongoDB-Abfragesyntax. Sie können Formularwerte, Datensatztypen oder Kontextparameter lesen.

Feld für einen Datensatztyp anzeigen

Verwenden Sie den API-Namen des Record Type Name und nicht das Label:

{
"$formValues.recordTypeName": "Travel_Expense"
}

Feld für eine Abwesenheitskategorie anzeigen

{
"$contextParams.absenceCategoryName": "Sickness"
}

Feld für ausgewählte Werte ausblenden

{
"$contextParams.absenceCategoryName": {"$ne": ["Sickness", "Home Leave"]}
}

Bedingungen kombinieren

Verwenden Sie $or für einen von zwei Datensatztypen:

{
"$or": [
{ "$formValues.recordTypeName": "Travel_Expense" },
{ "$formValues.recordTypeName": "Default_Expense" }
]
}

Verwenden Sie $or und $and für verschachtelte Logik:

{
"$or": [
{ "$formValues.recordTypeName": "Travel_Expense" },
{
"$and": [
{ "$contextParams.absenceCategoryName": { "$ne": ["Sickness", "Home Leave"] } },
{ "$formValues.recordTypeName": "Default_Expense" }
]
}
]
}

Die Bedingung unterstützt diese Operatoren und Schlüssel:

Operator oder SchlüsselFunktion
$eqPrüft Gleichheit. Dies ist der Standard, wenn kein Operator vorhanden ist.
$nePrüft Ungleichheit.
$orIst erfüllt, wenn eine verschachtelte Bedingung erfüllt ist.
$andIst erfüllt, wenn alle verschachtelten Bedingungen erfüllt sind.
$formValues.recordTypeNameLiest den API-Namen des Record Type Name.
$contextParams.absenceCategoryNameLiest die Abwesenheitskategorie im Absence Request Form.
$contextParams.employeeAbsenceCategoryLiest die Mitarbeiter-Abwesenheitskategorie im Absence Request Form.
$contextParams.dayLiest den Tag in Projects Time Entry Edit.
$contextParams.projectLiest das Projekt in Projects Time Entry Edit.
$contextParams.employeeLiest den Mitarbeiter in Projects Time Entry Edit.

Lookup-Filter konfigurieren

Geben Sie für ein Lookup Reference-Feld eine SOQL-WHERE-Klausel unter Lookup SOQL Filter ein.

Mitarbeiter nach Manager filtern

flair__Manager__c = :currentEmployee.Manager__c

Nach einem Kontextparameter filtern

Absence_Category__c = :contextParams.employeeAbsenceCategory.flair__Absence_Category__c

Mit LIKE filtern

flair__Manager__r.Name LIKE '%:currentEmployee.flair__First_Name__c%'

Lookup-Kriterien kombinieren

Ensurance_Number__c LIKE ':currentEmployee.Ensurance_Number__c%'
AND Some_Employee__c = :currentEmployee.flair__Manager__r.flair__Manager__c

Lookup-Filter unterstützen diese dynamischen Parameter:

ParameterReferenz
:currentEmployeeDer aktuelle Mitarbeiterdatensatz, zum Beispiel :currentEmployee.flair__First_Name__c oder :currentEmployee.Manager__c.
:contextParamsAn das Formular übergebene Werte, zum Beispiel :contextParams.employeeAbsenceCategory.flair__Absence_Category__c.

Häufige Feldmuster konfigurieren

Feld für eine Krankmeldung bei Krankheit anzeigen

  1. Erstellen Sie auf flair__Absence__c das Feld flair__Medical_Certificate_ID__c.

  2. Erstellen Sie ein Extra Form Field mit Object API Name flair__Absence__c.

  3. Setzen Sie Field API Name auf flair__Medical_Certificate_ID__c.

  4. Setzen Sie Form Id auf flair__Absence__c.RequestAbsence.

  5. Geben Sie diese Visibility Condition ein:

    {
    "$contextParams.absenceCategoryName": "Sickness"
    }
  6. Klicken Sie auf Save.

Ausgabenzulage nach Mitarbeiter filtern

  1. Erstellen Sie auf flair__Expense__c das Lookup-Feld flair__Expense_Allowance__c.

  2. Erstellen Sie ein Extra Form Field mit Object API Name flair__Expense__c.

  3. Setzen Sie Field API Name auf flair__Expense_Allowance__c.

  4. Geben Sie diesen Lookup SOQL Filter ein:

    flair__Employee__c = :currentEmployee.Id
  5. Klicken Sie auf Save.

Feld für Reiseausgaben anzeigen

  1. Erstellen Sie auf flair__Expense__c das Feld flair__Flight_Number__c.

  2. Erstellen Sie ein Extra Form Field mit Object API Name flair__Expense__c.

  3. Setzen Sie Field API Name auf flair__Flight_Number__c.

  4. Geben Sie diese Visibility Condition ein:

    {
    "$formValues.recordTypeName": "Travel_Expense"
    }
  5. Klicken Sie auf Save.

Felder mit Inline-JSON konfigurieren

Statt Custom Metadata-Datensätzen kann ein Textfeld auf Objektebene wie flair__Request_Form__c.flair__Extra_Fields_Config__c ein Array speichern. Jedes Element ist ein Feld-API-Name oder ein Objekt mit Feldoptionen.

Verwenden Sie für eine grundlegende Konfiguration ein Array von Feldnamen:

["Name", "flair__Description__c"]

Fügen Sie einem Feldobjekt Optionen hinzu:

["Name", {"flair__Description__c": {"visibleLines": 10}}]

Fügen Sie einen Lookup-Filter hinzu:

["Name", {"Take_Over_Employee__c": {"lookupSOQLFilter": "flair__Manager__c = :currentEmployee.flair__Manager__c"}}]

Fügen Sie eine Sichtbarkeitsbedingung hinzu:

["Name", {"flair__Usa_Notes__c": {"visibilityCondition": {"$formValues.recordTypeName": "Usa"}}}]

Inline-JSON unterstützt diese Optionen:

OptionTypFunktion
positionnumberLegt die Anzeigereihenfolge fest.
requiredbooleanÜberschreibt die Salesforce-Pflichtfeldeigenschaft.
visibleLinesnumberLegt die Zeilenzahl für mehrzeilige Textbereiche fest.
visibilityConditionstring oder objectLegt eine JSON-Sichtbarkeitsbedingung fest.
lookupSOQLFilterstringLegt eine SOQL-WHERE-Klausel für einen Lookup fest.

Erweiterte Konfigurationen unterstützen außerdem fieldApiName, objectApiName, formId und active.

Fehlerbehebung

Ein Feld erscheint nicht

  1. Prüfen Sie, ob Active aktiviert ist.
  2. Prüfen Sie, ob Object API Name und Field API Name API-Namen und keine Labels verwenden.
  3. Prüfen Sie, ob das Feld auf dem Salesforce-Objekt vorhanden ist.
  4. Validieren Sie das JSON unter Visibility Condition.
  5. Prüfen Sie, ob Form Id zum angezeigten Formular passt.

Ein Lookup-Filter funktioniert nicht

  1. Validieren Sie die SOQL-Syntax.
  2. Prüfen Sie, ob :currentEmployee und :contextParams genau den unterstützten Parameternamen entsprechen.
  3. Prüfen Sie, ob alle referenzierten Felder vorhanden sind.
  4. Testen Sie die SOQL-Abfrage in der Salesforce Developer Console.

Eine Sichtbarkeitsbedingung funktioniert nicht

  1. Validieren Sie die JSON-Syntax.
  2. Prüfen Sie, ob der Datensatztypwert der API-Name und nicht das Label ist.
  3. Prüfen Sie, ob das ausgewählte Formular den Kontextparameter bereitstellt.
  4. Testen Sie eine Bedingung, bevor Sie verschachtelte Logik hinzufügen.

Verwandte Artikel