Je travaille sur CRM Je veux mettre à jour l'entité de contact avec des valeurs dans l'entité de rendez-vous. L'entité de contact a deux champs Date de dernière rendez-vous et prochaine date de rendez-vous. deux champs dans l'entité de rendez-vous appelée Date de début et Date de fin. Ces deux valeurs doivent être copiées dans les valeurs de champ de contact. Je veux que cela se produise en utilisant JavaScriptJavaScript pour mettre à jour les valeurs dans MSCRM
Répondre
Il existe plusieurs façons d'appeler les entités CRM via leurs Webservices. L'utilisation de javsacript peut s'avérer très longue car il est souvent très difficile de déterminer pourquoi des erreurs se produisent. J'ai généralement tendance à créer une petite application ASP .Net, à ajouter le CRM SDK en tant que service web, à l'appeler explicitement et à regarder les requêtes SOAP en utilisant HTTP Fiddler. Une fois que j'ai fait l'appel SOAP réel, je peux alors copier l'appel, le traduire en une chaîne afin que je puisse manipuler les valeurs requises, puis l'envoyer à l'URL du SDK via la requête javsacript.
Voici quelques exemples d'appeler le SDK CRM pour les mises à jour/récupérations en utilisant uniquement javascript:
Et voici un Microsoft CRM officiel javascript pack de échantillons:
Vous pouvez regarder le HTTP tout aussi facilement en utilisant JavaScript basé sur un navigateur, en utilisant Firebug sur Firefox, Dev Tools sur Chrome, etc. –
@TJ Crowder, bien sûr, j'essayais simplement de transmettre mes propres mesures que je prends pour déterminer le La syntaxe de demande SOAP est un conseil amical plutôt que le seul moyen de le faire. –
Je vous recommande fortement de ne pas utiliser JavaScript, mais d'utiliser les légendes (CRM 3.0) ou les plugins (CRM 4.0), uniquement parce que le JavaScript s'exécutera sur le clic de sauvegarde, mais Si le JavaScript a été exécuté, la sauvegarde peut échouer pour d'autres raisons (par exemple, une alerte de pré-mise à jour ou une erreur de module externe).
Une légende après la mise à jour ou un plugin pour ce faire en utilisant l'ID connexe pour accéder au contact serait (à mon avis) une solution plus robuste. Si cependant, vous voulez absolument que cela soit fait par JavaScript, alors oui, la suggestion de Brian Scott de suivre les exemples qu'il a donnés est la voie à suivre.
Si c'est un plug-in aussi pas de problème pour moi .. en fait, j'ai d'abord essayé dans le plug-in. Je ne l'ai pas traversé. Donc je suis passé au script java. C'est le code que j'ai utilisé. public void Execute (contexte IPluginExecutionContext) { DynamicEntity entity = null;
if (context.InputParameters.Properties.Contains("Target") &&
context.InputParameters.Properties["Target"] is DynamicEntity)
{
entity = (DynamicEntity)context.InputParameters.Properties["Target"];
if (entity.Name != EntityName.appointment.ToString())
return;
}
else
{
return;
}
try
{
Guid appointmentID = new Guid(context.OutputParameters["id"].ToString());
ICrmService crmservice = context.CreateCrmService(true);
appointment appObj = (appointment)crmservice.Retrieve(EntityName.appointment.ToString(), appointmentID, new ColumnSet(new string[] { "regardingobjectid", "location" }));
if (appObj.regardingobjectid == null || appObj.regardingobjectid.type != "contact")
{
return;
}
Guid contactID = appObj.regardingobjectid.Value;
contact cnt = new contact();
cnt.contactid = new Key();
cnt.contactid.Value = contactID;
cnt.firstname = appObj.location;
crmservice.Update(cnt);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
throw new InvalidPluginExecutionException(
"Invalid plug-in.", ex);
}
}
- 1. Javascript pour mettre à jour l'entité de contact
- 2. Comment mettre à jour innerHTML avec javascript
- 3. TSQL: Mettre à jour les valeurs en utilisant l'instruction With?
- 4. Wordpress: mettre à jour toutes les valeurs de champs?
- 5. twitter mettre à jour l'état avec javascript
- 6. mise à jour graphique à secteurs ou comment envoyer des valeurs de gridivew à camembert pour mettre à jour
- 7. Exécuter la macro pour mettre à jour les cellules
- 8. Expression régulière pour détecter et mettre à jour Chaîne (Utile pour mettre à jour la version du fichier dans AssemblyInfo.cs)
- 9. Comment mettre à jour les doublons dans Firebird?
- 10. Requête pour mettre à jour rowNum
- 11. Comment mettre à jour les toutes les valeurs de la table à l'aide d'une requête roussir
- 12. Comment mettre à jour datagridview
- 13. mettre à jour le tableau puis mettre à jour l'étape
- 14. Comment mettre à jour les externals Subversion
- 15. monotouch - mettre à jour les données localement
- 16. Comment faire pour mettre à jour dynamiquement des valeurs aux arguments dans la boucle Python?
- 17. Méthode C# pour mettre à l'échelle les valeurs?
- 18. Mettre les valeurs dans error.getModel dans onBindAndValidate
- 19. mettre à jour les données de json dans db
- 20. Comment utiliser JavaScript pour mettre à jour de façon dynamique les commentaires supplémentaires Bugzilla textarea?
- 21. Mettre à jour les positions movieclip
- 22. ASP.NET Listboxes pour mettre à jour les données
- 23. Mettre à jour un champ pour tous les enregistrements?
- 24. comment mettre à jour les toutes les secondes dans jquery
- 25. comment obtenir usercontrol pour mettre à jour
- 26. didSelectRowAtIndexPath en mode d'édition pour mettre à jour les données
- 27. Postgres: mettre à jour toutes les valeurs dans la colonne par un?
- 28. comment mettre à jour les valeurs de spinner tout en cliquant sur le bouton dans Android?
- 29. Ligne de commande pour mettre à jour les dossiers SVN
- 30. Méthode efficace pour mettre à jour un champ avec des valeurs différentes dans un modèle django
FWIW, "JavaScript" est un mot. Il est préférable de vous assurer que vous l'écrivez de cette façon pour éviter toute confusion avec "Java", un langage complètement différent. :-) –
Ceci est une copie de [votre question précédente] (http://stackoverflow.com/questions/3109828/javascript-to-update-contact-entity), mais c'est plus clair. J'ai voté pour fermer l'autre comme un dup de celui-ci même si c'est un peu en arrière. Recommandez d'aller et de supprimer votre question précédente (vous pouvez le faire simplement en cliquant sur "supprimer" sous le texte de la question). –