Impossible de supprimer la valeur regardingobjectid Dynamics 365 Rendez-vous en utilisant l'API Web

voix
1

Je suis en train de retirer la valeur de champ regardingobjectidd'une entité de rendez - vous en utilisant l' API Web de Microsoft Dynamics 365. Pas en mesure de , mais il montre l'erreur ci - dessous:

{
  error: {
    code: ,
    message: The property 'regardingobjectid' does not exist on type 'Microsoft.Dynamics.CRM.appointment'. Make sure to only use property names that are defined by the type.

Demande

PATCH https://XXXXXXX.crm.dynamics.com/api/data/v8.2/appointments(9de8ba18-8303-e911-8147-3863bb2eb450)

En-têtes:

Content-Type: application/json
Authorization: Bearer *Token*

Corps:

{
  subject: Check Updates,
  ownerid@odata.bind: /systemusers(51d09106-22b6-e811-8143-3863bb2ec140),
  createdby@odata.bind: /systemusers(51d09106-22b6-e811-8143-3863bb2ec140),
  location: ,
  description: nuldasddsadsal,
  statecode: 3,
  scheduledstart: 2018-12-19T06:45:00Z,
  scheduledend: 2018-12-19T07:15:00Z,
  isalldayevent: false,
  regardingobjectid: null,
  activitypointer_activity_parties: [
    {
      partyid_account@odata.bind: /accounts(4a2612e2-664b-e411-93ff-0050569469bd),
      participationtypemask: 6
    }
  ]
}
Créé 19/12/2018 à 14:16
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
2

Deux choses:

1.To mise à jour / remplacer une valeur de champ de recherche à l'aide api web, nous devons utiliser la propriété de navigation à valeur unique regardingobjectid_account@odata.bind

var entity = {};
entity["regardingobjectid_account@odata.bind"] = "/accounts(1F496057-8DE7-E811-A97A-000D3A1A9EFB)";

var req = new XMLHttpRequest();
req.open("PATCH", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/appointments(6D78AD2C-5A16-E811-A955-000D3A1A9407)", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function() {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        if (this.status === 204) {
            //Success - No Return Data - Do Something
        } else {
            Xrm.Utility.alertDialog(this.statusText);
        }
    }
};
req.send(JSON.stringify(entity));

2.As dit ci - dessus PATCHest la valeur mise à jour de tous les types de terrain, à l' exception de suppression de valeur de recherche (mise à jour nullen recherche) - nous devons utiliserDELETE

Ma question de SO et de blog communautaire

Créé 19/12/2018 à 15:53
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more