我已经下载了CRM Dynamics SDK并将其保存在本地目录中.在我的代码中,我正在使用EntityCollection(与Xrm名称空间相关的其他类),这意味着我需要添加using Microsoft.Xrm.Sdk;.
问题是在编译期间我得到错误说:
命名空间"Microsoft"中不存在类型或命名空间名称"Xrm"(您是否缺少程序集引用?)
所以,我仔细检查参考已经作出,非常准确,我看microsoft.xrm.sdk的确就是我的列表中.只是为了确定,我已经删除它并通过指向具有相同名称的DLL再次添加它.但无济于事......令人讨厌的事情是,我的同事使用相同的代码并在机器上编译(唯一的区别是他在Win 7上,我在Win 8上).
我们如何解决这个问题?
我们使用Crm 2011作为我们的持久层,我们注意到了糟糕的性能.
我们看起来并且看到有索引,但索引是实体中所有列的组合(差不多).这使得它在所有意图和目的上几乎无用.
那么我该如何加快速度呢?我可以去数据库并手动添加一个索引,但是如果可能的话,我希望通过适当的渠道以及将来的可维护性.我已经转移了Bing和Google以及Stackoverflow,但我找不到有关此基本功能的任何信息.
请帮忙.
我必须创建“日期之间”条件。
当我这样写时:
ConditionExpression modifiedOnCondition = new ConditionExpression();
modifiedOnCondition.AttributeName = "modifiedon";
modifiedOnCondition.Operator = ConditionOperator.Between;
modifiedOnCondition.Values = new Object[] { startDate, endDate };
Run Code Online (Sandbox Code Playgroud)
startDate并且endDate是DateTime。我在 上遇到错误modifiedOnCondition.Values。它说:
无法分配属性或索引器“Microsoft.Xrm.Sdk.Query.ConditionExpression.Values”——它是只读的
我该如何解决?
我想创建一个QueryExpression来模拟这个SQL语句
select * from A
inner join B on A.b_id=B.ID
where B.Name like "% what ever %"
Run Code Online (Sandbox Code Playgroud)
这就是FetchXML的样子
<?xml version="1.0" encoding="UTF-8"?>
<fetch distinct="true" mapping="logical" output-format="xml-platform" version="1.0">
<entity name="A">
<attribute name="ID" />
<attribute name="sce_name" />
<link-entity name="B" alias="ab" to="b_id" from="A">
<filter type="and">
<condition attribute="Name" value="% what ever %" operator="like" />
</filter>
</link-entity>
</entity>
</fetch>
Run Code Online (Sandbox Code Playgroud)
我怎么能在让这个QueryExpression LinkQuery Conditions和Filters,也是我不想从开始乙因为一个可能的条件太多.
这是我到目前为止所尝试的
QueryExpression query = new QueryExpression("A");
query.ColumnSet.AllColumns = true;
var link = new LinkEntity() …Run Code Online (Sandbox Code Playgroud) 我正在寻找一些检索消息的工作示例并检索多个消息插件(早期绑定).我没有找到任何成功的例子在线查找.我已经检查了SDK和各种论坛.链接或工作示例将不胜感激!
我想要完成的是在UI上呈现之前截取和更新特定字段.我能够通过javascript部分完成这个,这是首选的方法,但遗憾的是网格等中的演示文稿无法以这种方式处理.
我在网上找到了一个链接
在这个例子中,他能够拦截消息并更新值,但这似乎只适用于汇总6(我在10).
与上述帖子有关的还有一个来自Chaitany
在这个例子中,他正在实现一个类似的解决方案作为后期操作,并从上下文输出参数中获取属性"BusinessEntity".(这让我感到困惑,因为我没有看到在Retrieve Reponse中定义的这个属性我认为这应该是RetrieveResponse的一个属性.
最终,我想要一个拦截检索或检索多个的解决方案,调整显示的值,然后在保存表单时恢复.
我正在使用Microsoft XRM SDK以编程方式添加实体.但是,每次运行.Create()命令时都会出现以下错误:
Required member 'LogicalName' missing for field 'Target'
Run Code Online (Sandbox Code Playgroud)
第一次在我们公司使用这项服务和类似的资源是稀缺的,所以不确定这个错误意味着什么或如何调查/解决它.
下面是我为处理XRM通信而创建的类.我实例化construtor中的每个连接属性.然后,在这种情况下,打电话CreateAgency(AgentTransmission agt).CreateAgency()在.Create(account)方法调用的方法中抛出异常.
class DynamicsCommunication
{
private Uri OrganizationUri = new Uri("http://devhildy03/xRMDRMu01/XRMServices/2011/Organization.svc");
private ClientCredentials credentials;
private OrganizationServiceProxy servicePoxy;
private Guid accountId;
private Entity account;
public DynamicsCommunication()
{
credentials = new ClientCredentials();
credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
servicePoxy = new OrganizationServiceProxy(OrganizationUri, null, credentials, null);
accountId = Guid.Empty;
}
public string UpdateDynamics(AgentTransmission agt)
{
switch (DeterminAction(agt))
{
case DynamicsAction.Create:
return CreateAgency(agt);
case DynamicsAction.Update:
return …Run Code Online (Sandbox Code Playgroud) 我有一个错误
'名称空间'Xrm'在命名空间'Microsoft'中不存在.
我已经添加了Microsoft.Xrm.Sdk.dll.我的项目的框架版本是Framework 4.5.我在CRM 2015 SDK文件夹中添加了.dll.为什么会发生这种情况?谢谢你的帮助!
我使用JavaScript根据某些选项设置所需的字段级别,该字段显示为可选,但表单无法保存,请填写此字段.
我的代码
Xrm.Page.ui.controls.get("new_field").setRequiredLevel("none");
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会发生这种情况我试图使用此代码隐藏字段
Xrm.Page.ui.controls.get("new_field").setVisible(false);
Run Code Online (Sandbox Code Playgroud)
它隐藏了该字段,但是当我按下保存时,该字段再次显示为魅力,无法保存表单.
我需要定期(即每晚)与CRM单向同步外部数据.
这包括创建新记录以及更新现有记录.
这意味着,我必须跟踪由同步过程创建的CRM实体的ID.
强调textI我已经设法从数据库表行创建和更新CRM中的记录,所以这不是问题.
id:插入新行时表的主键设置new_myentityid:映射实体的主要属性,在同步过程创建记录之后设置new_name etc:记录属性的值我没有id在数据库中拥有一个PrimaryKey()并new_myentityid在一个单独的列中跟踪CRM ID(),我还可以摆脱id-columns并制作表的CRM-ID-Column(new_myentityid)主键,插入新记录(当将其设置newid()),所以基本上代替id与new_myentityid从数据库的角度.然后我可以通过ExecuteMultipleRequest组合来批量upsert UpsertRequest.
这样,我会在每个映射表中保存一列,以及在创建它们之后存储CRM ID的逻辑.
这是可以接受的还是有什么东西可以让我避免这种情况?
我正在阅读Microsoft文档中的Xrm对象,但我找不到具体的东西.
我需要限制创建或编辑门户评论(活动类型)的一些角色.因此,我不能简单地修改安全角色.
我在编辑门户网站评论表单时看到有一个JavaScript页面在页面加载时执行:
编辑时,它会使用很多这个Xrm对象.
在伪代码中我应该这样做
if(ActiveUser.hasRoles(["Some role", "Some other role"]) {
Page.setReadOnly(true);
}
Run Code Online (Sandbox Code Playgroud)
我已经有一个脚本(作为一个Web资源)来检查这样的角色,但我不知道如何使表单"只读"或仅使用Xrm.任何线索如何实现这一点?
编辑1:
我可以使用以下代码执行此操作:
// Ribbon "Save" button
document.querySelector('#crmRibbonManager').style.display = "none";
// Status "Save" button
document.querySelector('#savefooter_statuscontrol').style.display = "none";
Xrm.Page.ui.controls.get().forEach(function (control) {
if(!control.getDisabled()) {
control.setDisabled(true);
}
});
Run Code Online (Sandbox Code Playgroud)
当然,由于文档尚未加载,我收到页面加载错误.但我很确定我可以使用一些技术来禁用这些属性,我必须研究它.Xrm
javascript microsoft-dynamics dynamics-crm xrm dynamics-crm-365
我们在表单上有一个嵌入的 HTML Web 资源,该资源具有控件的 name 属性(“WebResource_MyWebResource”)。
是否有一种方法可以从 HTML web 资源中使用,它允许我们动态获取其自己的父控件的 name 属性,或者我们是否需要将 webresource 控件名称作为数据参数传递以在脚本中使用它通过parent.Xrm.Page.getControl(arg)?
我们不想硬编码资源名称,因为它用于通用功能,并且不一定知道最终用户将为控件提供的名称。
xrm ×12
dynamics-crm ×7
c# ×4
crm ×4
javascript ×3
.net ×1
dll ×1
indexing ×1
odata ×1
plugins ×1