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

时间:2013-11-22 00:29:03

标签: c# dynamics-crm-2011 dynamics-crm crm

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

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

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

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

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

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

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

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

请帮帮我。

2 个答案:

答案 0 :(得分:1)

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

Check Send Status实体上创建一个SMS复选框。将您的插件从Send result实体移动到Update实体的SMS,并在Check Send Status设置为true时触发它。该插件现在可以检查SMS的发送状态,并使用适当的结果创建Send result实体。

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

选项2(自定义javascript):

为您的按钮编写一个使用SelectedControlSelectedItemIds参数的javascript方法。有关详细信息,请参阅此处: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上)。

答案 1 :(得分:0)

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

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

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

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