Comment définir le champ de code d'état par javascript
-
26-12-2019 - |
Question
J'ai un problème avec un simple javascript dans CRM 2011 :).J'ai créé une entité personnalisée et un bouton sur le ruban du formulaire.Lorsque le bouton est enfoncé, le code suivant est exécuté :
function Process(){
Xrm.Page.getAttribute("statuscode").setValue(229660003);
Xrm.Page.data.entity.save();
}
Désormais, même si le motif du statut est mis à jour dans le formulaire, l'enregistrement n'est pas enregistré. Pourquoi ?Si je change le code d'état avec un champ personnalisé, tout fonctionne correctement, mais pourquoi avec la raison du statut, cela ne fonctionne-t-il pas ?Avec le code du plugin, cela fonctionne également.
Merci beaucoup
La solution
statecode
et statuscode
les champs ne peuvent pas être mis à jour comme les autres champs, par JavaScript ou par C# dans du code personnalisé ou des plugins.
Il est nécessaire d'exécuter un SetStateRequest
Autres conseils
Comme l'a mentionné Guido Preite, il est nécessaire d'exécuter un SetStateRequest
.Si vous souhaitez utiliser JavaScript, vous devez effectuer un appel SOAP.
Veuillez vérifier la solution ici :
Vous pouvez utiliser un simple gestionnaire .NET que vous pouvez appeler de JavaScript à l'aide d'un XMLHTTPQUEST.