Wenn die dynamische Erstellung aktiviert ist, wird durch die Eingabe eines nicht vorhandenen Werts in ein Referenzfeld ein neuer Datensatz in der referenzierten Tabelle erstellt, anstatt einen Fehler zurückzugeben.
Vorbereitungen
Erforderliche Rolle: personalize_dictionary
Warum und wann dieser Vorgang ausgeführt wird
Standardmäßig muss ein Benutzer einen Wert in ein Referenzfeld eingeben, der einem vorhandenen Datensatz in der Tabelle entspricht, auf die sich das Referenzfeld bezieht. Beispielsweise muss das Feld Anrufer in einem Incident einen Wert aufweisen, der ein vorhandener Benutzer ist. Sie können die dynamische Erstellung aktivieren, um einen neuen Datensatz in der referenzierten Tabelle zu erstellen, wenn ein Benutzer einen nicht vorhandenen Wert in ein Referenzfeld eingibt, anstatt einen Fehler zurückzugeben.
Prozedur
-
Klicken Sie mit der rechten Maustaste auf die Feldbezeichnung im Formular, und wählen Sie Dictionary konfigurierenaus.
-
Füllen Sie die folgenden Felder aus (möglicherweise müssen Sie das Wörterbuchformular konfigurieren):
- dynamic_creation: Checkbox aktivieren.
- dynamic_creation_script: Geben Sie ein Skript ein, das den Datensatz dynamisch erstellt.
-
Klicken Sie auf Aktualisieren.
Beispiele:
Sie können das folgende dynamische_creation_script verwenden, um einen Datensatz in der referenzierten Tabelle zu erstellen.
current.name = value;
current.insert();
Hinweis: Das übergeordnete Objekt kann für den Zugriff auf alle Elemente im übergeordneten Datensatz verwendet werden.
Sie können eine Skripteinbindung mit dem Namen
MyUserReferenceCreator mit folgendem Inhalt erstellen:
var MyUserReferenceCreator = Class.create();
MyUserReferenceCreator.prototype = {
initialize: function() {
},
create: function(current, value) {
current.name=value;
return current.insert();
},
type: 'MyUserReferenceCreator'
}
Wenn die Skripteinbindung erstellt wird, generiert das folgende dynamische_kreation_skript einen neuen Speicherort für einen ungültigen Referenzfeldwert:
new MyUserReferenceCreator().create(current, value);