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.
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
| Formular | Form ID |
|---|---|
| Absence Request Form | flair__Absence__c.RequestAbsence |
| Absence Manager Details | flair__Absence__c.ManagerDetails |
| Expense Request Form | flair__Expense__c.RequestExpense |
| Expense Details | flair__Expense__c.Details |
| Expense Item Request Form | flair__Expense_Item__c.RequestExpenseItem |
| Project User Details | flair__Project__c.UserDetails |
| Project Manager Details | flair__Project__c.ManagerDetails |
| Projects Time Entry Edit | flair__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
- Geben Sie in Salesforce Setup unter Quick Find
Custom Metadata Typesein. - Öffnen Sie Custom Metadata Types.
- Klicken Sie neben Flair Extra Form Field auf Manage Records.
- Klicken Sie auf New.
- Geben Sie unter Object API Name das Zielobjekt ein, zum Beispiel
flair__Expense__coderflair__Absence__c. - Geben Sie unter Field API Name das anzuzeigende Feld ein, zum Beispiel
flair__Amount__coderflair__Description__c. - Konfigurieren Sie optionale Einstellungen unter Extra Form Field-Einstellungen prüfen.
- Klicken Sie auf Save.

Extra Form Field-Einstellungen prüfen
| Einstellung | Funktion |
|---|---|
| Object API Name | Identifiziert das Salesforce-Objekt. Diese Einstellung ist erforderlich. |
| Field API Name | Identifiziert das anzuzeigende benutzerdefinierte Feld. Diese Einstellung ist erforderlich. |
| Required | Macht das Feld im Employee Hub-Formular zum Pflichtfeld, auch wenn Salesforce es nicht erfordert. |
| Active | Zeigt das Feld an. Deaktivieren Sie die Option, um das Feld auszublenden, ohne den Metadatendatensatz zu löschen. |
| Form Id | Beschränkt das Feld auf ein Formular. Lassen Sie den Wert leer, um das Feld in allen unterstützten Formularen des Objekts anzuzeigen. |
| Position | Legt die Anzeigereihenfolge fest. Niedrigere Zahlen erscheinen zuerst. |
| Visibility Condition | Speichert die JSON-Bedingung, die die Sichtbarkeit des Feldes steuert. |
| Lookup SOQL Filter | Speichert eine SOQL-WHERE-Klausel zum Filtern von Lookup-Optionen. |
| Visible Lines | Legt 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üssel | Funktion |
|---|---|
$eq | Prüft Gleichheit. Dies ist der Standard, wenn kein Operator vorhanden ist. |
$ne | Prüft Ungleichheit. |
$or | Ist erfüllt, wenn eine verschachtelte Bedingung erfüllt ist. |
$and | Ist erfüllt, wenn alle verschachtelten Bedingungen erfüllt sind. |
$formValues.recordTypeName | Liest den API-Namen des Record Type Name. |
$contextParams.absenceCategoryName | Liest die Abwesenheitskategorie im Absence Request Form. |
$contextParams.employeeAbsenceCategory | Liest die Mitarbeiter-Abwesenheitskategorie im Absence Request Form. |
$contextParams.day | Liest den Tag in Projects Time Entry Edit. |
$contextParams.project | Liest das Projekt in Projects Time Entry Edit. |
$contextParams.employee | Liest 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:
| Parameter | Referenz |
|---|---|
:currentEmployee | Der aktuelle Mitarbeiterdatensatz, zum Beispiel :currentEmployee.flair__First_Name__c oder :currentEmployee.Manager__c. |
:contextParams | An das Formular übergebene Werte, zum Beispiel :contextParams.employeeAbsenceCategory.flair__Absence_Category__c. |
Häufige Feldmuster konfigurieren
Feld für eine Krankmeldung bei Krankheit anzeigen
-
Erstellen Sie auf
flair__Absence__cdas Feldflair__Medical_Certificate_ID__c. -
Erstellen Sie ein Extra Form Field mit Object API Name
flair__Absence__c. -
Setzen Sie Field API Name auf
flair__Medical_Certificate_ID__c. -
Setzen Sie Form Id auf
flair__Absence__c.RequestAbsence. -
Geben Sie diese Visibility Condition ein:
{
"$contextParams.absenceCategoryName": "Sickness"
} -
Klicken Sie auf Save.
Ausgabenzulage nach Mitarbeiter filtern
-
Erstellen Sie auf
flair__Expense__cdas Lookup-Feldflair__Expense_Allowance__c. -
Erstellen Sie ein Extra Form Field mit Object API Name
flair__Expense__c. -
Setzen Sie Field API Name auf
flair__Expense_Allowance__c. -
Geben Sie diesen Lookup SOQL Filter ein:
flair__Employee__c = :currentEmployee.Id -
Klicken Sie auf Save.
Feld für Reiseausgaben anzeigen
-
Erstellen Sie auf
flair__Expense__cdas Feldflair__Flight_Number__c. -
Erstellen Sie ein Extra Form Field mit Object API Name
flair__Expense__c. -
Setzen Sie Field API Name auf
flair__Flight_Number__c. -
Geben Sie diese Visibility Condition ein:
{
"$formValues.recordTypeName": "Travel_Expense"
} -
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:
| Option | Typ | Funktion |
|---|---|---|
position | number | Legt die Anzeigereihenfolge fest. |
required | boolean | Überschreibt die Salesforce-Pflichtfeldeigenschaft. |
visibleLines | number | Legt die Zeilenzahl für mehrzeilige Textbereiche fest. |
visibilityCondition | string oder object | Legt eine JSON-Sichtbarkeitsbedingung fest. |
lookupSOQLFilter | string | Legt 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
- Prüfen Sie, ob Active aktiviert ist.
- Prüfen Sie, ob Object API Name und Field API Name API-Namen und keine Labels verwenden.
- Prüfen Sie, ob das Feld auf dem Salesforce-Objekt vorhanden ist.
- Validieren Sie das JSON unter Visibility Condition.
- Prüfen Sie, ob Form Id zum angezeigten Formular passt.
Ein Lookup-Filter funktioniert nicht
- Validieren Sie die SOQL-Syntax.
- Prüfen Sie, ob
:currentEmployeeund:contextParamsgenau den unterstützten Parameternamen entsprechen. - Prüfen Sie, ob alle referenzierten Felder vorhanden sind.
- Testen Sie die SOQL-Abfrage in der Salesforce Developer Console.
Eine Sichtbarkeitsbedingung funktioniert nicht
- Validieren Sie die JSON-Syntax.
- Prüfen Sie, ob der Datensatztypwert der API-Name und nicht das Label ist.
- Prüfen Sie, ob das ausgewählte Formular den Kontextparameter bereitstellt.
- Testen Sie eine Bedingung, bevor Sie verschachtelte Logik hinzufügen.