在function区中创建一个按钮,使用crm 2011中的插件更新实体

我在Dynamic CRM 2011中创建了一个用于发送SMS的解决方案。

在我的解决方案中,我有2个实体,第一个用于发送短信,第二个用于保存发送结果。

我为第二个实体创建插件,插件连接到Web服务并检查发送和更新实体的结果,因此更新发送雕像的步骤应如下所示:

1-用户选择一个或多个实体,然后按function区中的自定义按钮

2- CRM运行我的插件并连接到Web服务并更新结果字段

所以我创建插件并创建按钮但我不知道如何在按下按钮时运行插件(C#代码)。

如果有人知道这个或有更好的解决方案更新短信结果,请告诉我。

注意:我为插件注册了更新步骤和预映像。

请帮我。

选项1(没有javascript或自定义按钮):

SMS实体上创建“ Check Send Status复选框。 将插件从“ Send result实体移动到SMS实体的“ Update ”,并在“ Check Send Status设置为“真”时将其激活。 该插件现在可以检查SMS的发送状态,并创建具有适当结果的Send result实体。

然后,您的用户可以使用多编辑按钮。 他们可以突出显示多个SMS记录,单击编辑,然后将Check Send Status设置为true,这将触发您的插件。

选项2(自定义javascript):

为您的按钮编写一个javascript方法,该方法将使用SelectedControlSelectedItemIds参数。 有关详细信息,请参阅此处: http : //social.microsoft.com/Forums/en-US/79f959ac-0846-472f-bff1-4f5afe692a56/getting-selected-records-guids-in-crm-2011?forum=crm

您的javascript方法需要遍历这些ID,然后创建Send result记录,该记录应该触发您现有的插件(假设它在Create )。

你不能直接从function区按钮调用插件(间接你可以更新触发插件的记录)

上面的javascript选项是很棒的选项,但如果您想在托管代码中工作:

另一种选择是将function区按钮连接到工作流程,以调用自定义工作流程活动,该活动预先形成您需要执行的任何逻辑。 这将阻止您必须触发插件,而只是调用按需工作流。

如果您需要任何帮助,请告诉我。