Je suis en train de reproduire la page Activités dans Microsoft CRM 4.0 via des services Web. Je peux récupérer une liste d'activités, et je crois que j'ai besoin d'utiliser ActivityPointers pour récupérer les entités, mais j'ai échoué jusqu'ici. Aurais-je besoin de faire une boucle à travers chaque entité retournée à partir de la première requête pour récupérer le ActivityPointer pour cela? Et si oui, comment puis-je obtenir le champ "Concernant" ou le sujet de l'activité (par exemple: email).Liste des activités via les services Web
Le code pour récupérer les activités est:
var svc = GetCrmService();
var cols = new ColumnSet();
cols.Attributes = new[] { "activityid", "addressused", "scheduledstart", "scheduledend", "partyid", "activitypartyid", "participationtypemask", "ownerid" };
var query = new QueryExpression();
query.EntityName = EntityName.activityparty.ToString();
query.ColumnSet = cols;
LinkEntity link = new LinkEntity();
//link.LinkCriteria = filter;
link.LinkFromEntityName = EntityName.activitypointer.ToString();
link.LinkFromAttributeName = "activityid";
link.LinkToEntityName = EntityName.activityparty.ToString();
link.LinkToAttributeName = "activityid";
query.LinkEntities = new[] {link};
var activities = svc.RetrieveMultiple(query);
var entities = new List<ICWebServices.activityparty>();
RetrieveMultipleResponse retrieved = (RetrieveMultipleResponse) svc.Execute(request);
//var pointers = new List<activitypointer>();
foreach (activityparty c in activities.BusinessEntities)
{
entities.Add(((activityparty)c));
//the entities don't seem to contain a link to the email which they came from
}
Merci à tous, je vais donner un aller. – Echilon