我不熟悉插件和C#,我需要创建一个插件,在创建帐户记录时连接联系人和帐户名的文本值。例如:ABC公司“ - John Smith”我正在使用Visual Studio和CRM 2016 Online(试用版)。以下是我到目前为止的情况:
使用Microsoft.Xrm.Sdk; 使用System;
命名空间CRMPluginProject4 { 公共类ConcatPlugin:IPlugin { #region安全/不安全配置设置 private string _secureConfig = null; private string _unsecureConfig = null;
@{
ModelState state;
var numMembers = ViewData.ModelState.TryGetValue("NumMembers", out state)
? int.Parse(state.Value.AttemptedValue)
: Model.Members.Count;
if (numMembers != Model.Members.Count)
{
Model.Members = Enumerable.Repeat(new GroupMember(), numMembers).ToList();
}
}
@Html.HiddenFor(model => model.NumMembers)
@Html.EditorFor(model => model.Members)
}
答案 0 :(得分:0)
PJM,您可以使用java脚本而不是编写插件来执行此操作。
如果您想使用插件,请使用以下代码
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
//Get the target property and check whether its a contact.
Entity target = (Entity)context.InputParameters["Target"];
string primaryContactId = target.Attributes.Contains("primarycontactid") ? ((EntityReference)target.Attributes["primarycontactid"]).Name : string.Empty;
string accountName = target.Attributes.Contains("name") ? target.Attributes["name"].ToString() : string.Empty;
target["name"] = accountName + "-" + primaryContactId;
}
请确保在创建和更新帐户的预操作中不要这样做。希望这对你有所帮助。如果您需要更多帮助,请告诉我们。