2009-01-28 6 views
2

J'ai créé une entité personnalisée dans MS CRM 4.0 et j'essaie de mettre à jour deux attributs via un flux de travail personnalisé dans .Net. J'ai lu plusieurs des forums et des articles de blog et je suis toujours confus sur la façon d'accéder à l'entité personnalisée et mettre à jour certains de leurs attributs.Mise à jour des entités personnalisées dans MS CRM 4.0 via le workflow personnalisé

J'ai créé une entité personnalisée pour remplacer la manière dont CRM faisait des allotissements car notre société a des règles métier spécifiques que CRM ne faisait pas. Quand une tâche est terminée sur un incident, je veux mettre à jour un attribut dans l'entité personnalisée avec la durée de la tâche. Toute aide serait grandement appréciée.

Merci

Répondre

5

Lorsque vous utilisez le service Web CRM dans un flux de travail personnalisé, vous aurez besoin d'utiliser des objets DynamicEntity. Le service web de contexte de workflow est juste un ICrmService donc il ne connaît pas vos personnalisations spécifiques. Voici un bel exemple: http://www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity

J'imagine que vous pouvez également ajouter les services Web CRM en tant que référence Web à votre projet de workflow. Alors vous auriez fortement des types d'objets pour vos entités personnalisées. Je n'ai jamais fait cela pour mes workflows personnalisés, mais cela fonctionne pour d'autres applications personnalisées accédant à CRM.

+0

Cela fonctionne. Je l'ai fait en pratique. Vous devez disposer de la référence Web pour extraire (et mettre à jour) les données dynamiques, mais utiliser des entités statiques pour les paramètres d'entrée et de sortie. –

0

C'est très facile et vous n'avez pas besoin d'utiliser DynamicEntity. Vous devez aller à Paramètres -> Personnalisation -> Télécharger WSDL. Prenez le wsdl et utilisez-le dans votre projet. Maintenant vous avez toutes vos entités personnalisées fortement typées. Tout ce que vous avez à faire est d'écrire quelque chose comme ceci:

Guid entityId = getEntityId(); 
new_yourCustomEntity entity = new new_yourCustomEntity(); 
entity.new_yourCustomEntityid = entityId; 
entity.new_customProperty = "value"; 
CrmService crmService = new CrmService(); 
crmService.Update(entity); 
0

Peut-être ce que vous voulez vraiment dire est personnalisé Flux de travail Activité? Cela implique d'écrire votre propre classe .NET pour ajouter des fonctionnalités à la WF CRM standard sous la forme de nouveaux types étape. Si ce que vous voulez faire est simplement de mettre à jour un attribut, vous n'en avez pas vraiment besoin, même s'il s'agit d'une entité personnalisée. L'étape Mettre à jour l'enregistrement fait juste cela et permet de spécifier des valeurs dynamiques (provenant d'autres entités).

Hope it helps

Daniel

1

Le choix des entités dynamiques sur WSDL en faveur est toujours le meilleur choix. Lorsque vous développez un code, vous êtes plus flexible avec vos cours. Vous pouvez utiliser votre logiciel dans différents contextes pour différents systèmes. C'est la raison pour laquelle les entités dynamiques ont été inventées.