我希望根据电话号码获取联系人,但在动态Ms中,电话号码以各种格式存储,如123 45 678,12 34 56 78,0112345678,01 12345678等.
所以在进行比较之前我必须删除它们中的空格,我确实尝试在字符串上使用Replace方法,但这在运行时给了我一个Illegal方法错误.
我是否真的必须检索所有联系人并为比较做另一个循环,或者有没有办法在查询中"清理"字符串?
string phone = "12345678";
var contacts = from c in orgContext.CreateQuery<Contact>()
join a in orgContext.CreateQuery<Account>() on c.AccountId.Id equals a.AccountId
where (c.Telephone1.Replace(" ", "").Contains(phone) || c.MobilePhone.Replace(" ","").Contains(phone))
select new DynamicContact
{
ContactId = c.ContactId,
FirstName = c.FirstName,
LastName = c.LastName,
....and more...
};
Run Code Online (Sandbox Code Playgroud)
编辑:
这是异常消息:
"where"条件无效.实体成员正在调用无效的属性或方法.
我开发了一个自定义应用程序,它能够使用CRM Web服务并在自定义.NET页面中执行CRM中的Windows Live Id身份验证,创建,读取和更新操作.当我在Visual Studio 2010中调试应用程序时,它运行得非常好,但是当我部署相同的应用程序并尝试进行身份验证时,它显示以下错误:
无法加载文件或程序集"Microsoft.IdentityModel,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.该系统找不到指定的文件.
我无法理解问题发生在哪里.
如何编写javascript函数来获取crm 2011中的用户名(不是所有者).
crm dynamics-crm dynamics-crm-2011 dynamics-crm-4 dynamics-crm-online
即使搜索联系人firstName或LastName也会导致问题:
var contacts =
(
from c in context.ContactSet
join m in context.py3_membershipSet on c.ContactId equals m.py3_Member.Id
where m.statuscode.Value == 1
&& ((c.FirstName != null && c.FirstName == searchTerm) || (c.LastName!=null && c.LastName == searchTerm) || (c.FullName != null && c.FullName == searchTerm))
orderby c.LastName
select new
{
ContactId = c.ContactId,
FirstName = c.FirstName,
LastName = c.LastName,
BranchCode = c.py3_BranchArea,
Branch = (c.FormattedValues != null && c.FormattedValues.Contains("py3_brancharea") ? c.FormattedValues["py3_brancharea"] : "N/a"),
JobTitle = c.JobTitle,
Organisation = (c.ParentCustomerId != null …Run Code Online (Sandbox Code Playgroud) c# linq linq-to-entities dynamics-crm-2011 dynamics-crm-online
CrmSvcUtil.exe /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization,Microsoft.Xrm.Client.CodeGeneration"/ out:Xrm\Xrm.cs/url:https://mycrm.crm4.dynamics.com/XRMServices/ 2011/Organization.svc /用户名:名称/密码:pass/namespace:Xrm/serviceContextName:XrmServiceContext
如果我运行上面的命令,我收到以下错误:
退出程序异常:值不能为空.参数名称:identityProvider
它是一个动态的crm在线环境.
我在调试Dynamics CRM Online(2015)插件(C#)时遇到问题.我按照此MSDN文章中的说明附加到进程.在Attach To Process窗口中,选择"显示所有用户的进程"并刷新.但是,我没有看到列出的四个服务进程中的任何一个(我认为插件类型在我的情况下是"在线").
我已经使用插件注册工具部署并注册了该插件.我以前从未这样做过,所以我可能会采取错误的方式.有任何想法吗?
我在Dynamics CRM中有一个选项设置字段,它有两个值:"进行中"(默认)和"已完成".使用JavaScript,我想发出一个在字段事件OnChange期间触发的确认框.确认框警告用户,如果用户选择"已完成",它将锁定记录中的所有其他字段.
无论如何,我编写了我的代码,以便确认框将设置选项集的值.出于某种原因,它不会改变该字段的值.如果用户单击"已完成",并且当用户单击确认框中的"取消"进行确认和验证时,仍会将字段值设置为"已完成".有什么理由不设置字段值?这是我的代码:
function confirmTaskStatus() {
if (Xrm.Page.getControl("moc_taskstatus").getDisabled()){
var taskStatusValue;
var message = "Do you want to set this Task to Completed?
You cannot edit, change or add anything to the Project Task fields
once it is set to Completed";
if (confirm(message) == true) {
taskStatusValue = 223770000; // Display Label = "Completed"
Xrm.Page.getControl("moc_taskstatus").setDisabled(true);
} else {
taskStatusValue = 223770001; // Display Label = "In Progress"
}
Xrm.Page.getAttribute("moc_taskstatus").setValue(taskStatusValue);
}
}
function saveTaskStatus() {
window.setTimeout(confirmTaskStatus, 1000);
}
Run Code Online (Sandbox Code Playgroud)
可怜我吧; 我还是脚本和Dynamics CRM的新手.
我试图从这里了解插件示例.有这种情况:
// The InputParameters collection contains all the data passed in the message request.
if (context.InputParameters.Contains("Target") &&
context.InputParameters["Target"] is Entity)
Run Code Online (Sandbox Code Playgroud)
一般来说,不仅仅是关于这个样本,我应该根据什么先验知识来决定访问特定的财产?我怎么知道测试是否InputParameters包含一个"Target"键(我假设我不应该猜它)?
在什么基础上我可以知道"Target"映射的值是否是Entity类型,而不是其他类型?
我从2年前发现这篇文章,我找到了这个网页,说(重点是我的):
在插件中,context.InputParameters和context.OutputParameters中的值取决于您在其上注册插件的消息和阶段.例如,"目标"存在于InputParameters中,用于创建和更新消息,但不存在于SetState消息中.此外,OutputParameters仅存在于Post阶段,而不是Pre阶段.没有单一的文档源可以通过消息和阶段提供完整的InputParameters和OutputParameters.
从我的搜索中,单个源仍然不存在,但也许可以使用Dynamics Online平台找到可能的值,可能在设置菜单的某个位置?任何来源都会很棒.
我想通过HTML页面进行CRUD操作,而不在Dynamics CRM的webresource中添加该页面.
使用C#我们可以连接动态crm,并且可以使用CRM的dll进行/添加/编辑/删除操作,但我不知道从独立于CRM的webresource的html页面做同样的方法.
任何人都可以建议我这是否可能,如果是,那么如果有的话.
将配置数据传递到插件有什么用,怎么做?
https://docs.microsoft.com/zh-cn/powerapps/developer/common-data-service/write-plug-in
将配置数据传递给您的插件注册插件时,您可以将配置数据传递给它。配置数据使您可以定义已注册插件的特定实例的行为。此信息作为字符串数据传递到类的构造函数中的参数。有两个参数:不安全和安全。对于人们看不到的数据,请使用第一个不安全的参数。将第二个安全参数用于敏感数据。
以下代码显示了名为SamplePlugin的插件类的三个可能的签名。
public SamplePlugin()
public SamplePlugin(string unsecure)
public SamplePlugin(string unsecure, string secure)
Run Code Online (Sandbox Code Playgroud) dynamics-crm ×7
c# ×4
linq ×2
plugins ×2
assemblies ×1
azure ×1
crm ×1
dynamics-365 ×1
javascript ×1
web-services ×1
wif ×1