如何让Lookup显示InActive记录
最近很多朋友(Andrew、BENEN1)都在问如何让Lookup显示InActive记录,研究后发现可以通过Plugin来实现这样的功能,
MSCRM真是无所不能,没有做不到,只有想不到!
实现步骤:
一、自定义实体->工程项目->表单和视图->查找视图->添加查找列 选择创建者 确保创建者属性在最后一列,如下图:
二、Plugin开发
代码:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Crm.Sdk;
using Microsoft.Crm.SdkTypeProxy;
namespace PluginDemo
{
public class QuoteLookupShowAllRecord : IPlugin
{
#region IPlugin 成员
public void Execute(IPluginExecutionContext context)
{
if (context.InputParameters.Contains("FetchXml"))
{
string FetchXml = (String)context.InputParameters["FetchXml"];
if (FetchXml.Contains("<entity name=\"new_project\">"))
{
if (FetchXml.Contains("<attribute name=\"createdby\" /><filter type=\"and\"><condition attribute=\"statecode\" operator=\"eq\" value=\"0\" /></filter>"))
{
context.InputParameters["FetchXml"] = FetchXml.Replace("<attribute name=\"createdby\" /><filter type=\"and\"><condition attribute=\"statecode\" operator=\"eq\" value=\"0\" /></filter>", "<attribute name=\"createdby\" /><filter type=\"and\"></filter>");
}
}
}
}
#endregion
}
}
using System.Collections.Generic;
using System.Text;
using Microsoft.Crm.Sdk;
using Microsoft.Crm.SdkTypeProxy;
namespace PluginDemo
{
public class QuoteLookupShowAllRecord : IPlugin
{
#region IPlugin 成员
public void Execute(IPluginExecutionContext context)
{
if (context.InputParameters.Contains("FetchXml"))
{
string FetchXml = (String)context.InputParameters["FetchXml"];
if (FetchXml.Contains("<entity name=\"new_project\">"))
{
if (FetchXml.Contains("<attribute name=\"createdby\" /><filter type=\"and\"><condition attribute=\"statecode\" operator=\"eq\" value=\"0\" /></filter>"))
{
context.InputParameters["FetchXml"] = FetchXml.Replace("<attribute name=\"createdby\" /><filter type=\"and\"><condition attribute=\"statecode\" operator=\"eq\" value=\"0\" /></filter>", "<attribute name=\"createdby\" /><filter type=\"and\"></filter>");
}
}
}
}
#endregion
}
}
注册Plugin:
Techsun(天正计算机服务限公司 techsun.com)致力微软商务解决方案及电子商务的研究与开发。Techsun作为微软CRM金牌认证合作伙伴,并且拥有中国区域2位微软CRM MVP(微软最有价值专家),代表了我们在微软CRM技术应用的深度及对客户提供方案实施能力的承诺。
业务咨询或服务建议,请拔打全国免费服务热线:800-830-9740。