Freigeben über


updateRecord (Client-API-Referenz)

Aktualisiert einen Tabellendatensatz.

Syntax

Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);

Parameter

Name des Dataflows Type Erforderlich Beschreibung
entityLogicalName String Ja Der logische Tabellenname des Datensatzes, den Sie aktualisieren wollen. Beispiel: account.
id String Ja GUID des Tabellendatensatzes, den Sie aktualisieren wollen.
data Object Ja Ein JSON-Objekt mit key: value-Paaren, wobei key die Eigenschaft der Tabelle und value der Wert der Eigenschaft ist, die Sie aktualisieren möchten.
Siehe Beispiele weiter unten in diesem Thema, um zu sehen, wie Sie das data-Objekt für verschiedene Aktualisierungsszenarios definieren können.
successCallback Function Nein Eine Funktion zum Aufrufen, wenn ein Datensatz aktualisiert wird. Siehe Rückgabewert
errorCallback Function Nein Eine Funktion zum Aufrufen, wenn der Vorgang fehlschlug. Es wird ein Objekt mit den folgenden Eigenschaften übergeben:
- errorCode: Nummer. Der Fehlercode.
- message: Zeichenfolge. Eine Fehlermeldung, die das Problem beschreibt.

Rückgabewert

Bei Erfolg gibt dies ein Versprechen-Objekt mit den folgenden Eigenschaften an successCallback zurück:

Name des Dataflows Type Beschreibung
entityType String Der logische Tabellenname des Datensatzes.
id String GUID des Datensatzes.

Beispiele

In diesen Beispielen werden einige der gleichen Anforderungsobjekte verwendet, wie in Aktualisieren und löschen Sie Tabellenzeilen mithilfe der Web-API gezeigt, um das Datenobjekt zum Aktualisieren eines Tabellendatensatzes zu definieren.

Grundlegende Aktualisierung

Aktualisiert einen vorhandenen Kontodatensatz mit der Datensatz-ID = 5531d753-95af-e711-a94e-000d3a11e605.

// define the data to update a record
var data =
    {
        "name": "Updated Sample Account ",
        "creditonhold": true,
        "address1_latitude": 47.639583,
        "description": "This is the updated description of the sample account",
        "revenue": 6000000,
        "accountcategorycode": 2
    }
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Um neuen Tabellendatensätzen (Suchen) vorhandene Tabellendatensätze zuzuordnen, legen Sie den Wert der einwertigen Navigationseigenschaften mithilfe der @odata.bind Anmerkung fest.

Ein weiteres Codebeispiel:

Im folgenden Beispiel wird ein Firmendatensatz aktualisiert und einem anderen Kontaktdatensatz als primärer Kontakt für die Firma zugeordnet:

// define the data to update a record
var data =
    {
        "primarycontactid@odata.bind": "/contacts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
    }
// update the record
Xrm.WebApi.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Veraltete Methode für mobile offline Szenarien

Hinweis

Anstatt das @odata.bind-Anmerkungsbeispiel oben zu verwenden, wird das veraltete Lookup Objekt mit Eigenschaften (logicalname und id), bei denen die Groß- und Kleinschreibung unterschieden wird, weiterhin für vorhandene Anpassungen unterstützt. Es wird jedoch empfohlen, die @odata.bind-Anmerkung für Online- und Offline-Szenarien zu verwenden, statt dieses veraltete Objekt zu verwenden.

Im folgenden Beispiel wird die veraltete Methode verwendet, um einen Firmendatensatzes zu aktualisieren, der mit einem weiteren Kontaktdatensatz als primären Kontakt für die Firma in der mobilen Clients verknüpft ist, während Sie im Offlinemodus arbeiten:

// define the data to update a record
var data =
    {
        "primarycontactid":
        {
            "logicalname": "contact",
            "id": "61a0e5b9-88df-e311-b8e5-6c3be5a8b200"
        }
    }
// update the record
Xrm.WebApi.offline.updateRecord("account", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Account updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Um neuen Tabellendatensätzen (Suchen) vorhandene Aktivitäten zuzuordnen, legen Sie den Wert der einwertigen Navigationseigenschaften mithilfe der @odata.bind Anmerkung fest.

Aktualisieren Sie die zugehörige Verkaufschancen-Spalte für die Aufgabe

// define the data to update a record
var data =
    {
        "new_relatedopportunities_task@odata.bind": "/opportunities(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
    }
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
    function success(result) {
        console.log("Task updated");
        // perform operations on record update
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

Update bezüglich Spalte auf Aufgabe

// define the data to update a record
var data =
   {
       "regardingobjectid_account_task@odata.bind": "/accounts(61a0e5b9-88df-e311-b8e5-6c3be5a8b200)"
   }
// update the record
Xrm.WebApi.updateRecord("task", "5531d753-95af-e711-a94e-000d3a11e605", data).then(
   function success(result) {
       console.log("Task updated");
       // perform operations on record update
   },
   function (error) {
       console.log(error.message);
       // handle error conditions
   }
);

Zuordnungen für sammlungswertige Navigationseigenschaften aktualisieren

Die API Xrm.WebApi.online.execute kann verwendet werden, um sammlungswertige Navigationseigenschaften zuzuordnen und Zuordnungen wieder aufzuheben. Dies wird für mobile Offline-Szenarien NICHT unterstützt.

Xrm.WebApi

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).