问题标签 [dynamics-crm-365]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
198 浏览

javascript - 比较来自不同实体的字段

我正在比较来自两个不同实体的字段,因此如果值不同,那么表单 1 上的字段将设置为另一个表单上的字段值。问题是,尽管逻辑对于某些块来说似乎是正确的拒绝继续到下一个 if/else 块,除非之前的值改变了。

因此,无论是否更改,它都会毫无问题地检查州和国家/地区的块。但是,除非州或国家/地区被更改(或国家/地区被注释掉),否则它不会继续到主要专业来检查这些值。不知道我在这里缺少什么。我已经确保没有任何东西是嵌套的,并且所有的逻辑都确实有效。

0 投票
1 回答
786 浏览

c# - 报价验证插件不阻止在 InvalidPluginExecutionException 上关闭报价

我正在编写一个插件来在保存之前验证报价。我们要强制规定必须有报价产品线

报价前的项目可以激活、赢得或丢失。草稿模式没有这个要求。

我编写了以下代码,当按下功能区上的“关闭报价”按钮并选择Won原因时,会弹出一个带有错误消息的业务流程错误框。

但是,在关闭错误消息并刷新页面后,报价被设置为关闭。为什么即使抛出异常,报价也会关闭?

仅供参考,插件阶段设置为预操作。

这是我的源代码(2017 年 10 月 2 日更新):

2017 年 10 月 2 日更新:

我为 SetState 创建了一个单独的步骤并更新了我的源代码。

设置状态

但是,我仍然遇到同样的问题。当我关闭报价时,我收到错误,但是当我刷新页面时,报价已设置为关闭。

关闭报价

注意:报价处于活动状态,没有报价详情,因此无法赢得报价。

异常成功显示。

应按原样显示业务流程错误。但是,当我刷新页面时,报价单的状态已设置为“已关闭”。如果抛出异常,为什么要这样做?

报价已关闭。

0 投票
1 回答
3753 浏览

asp.net-mvc-5 - 在 Web 应用程序中连接到 CRM 的最佳实践

很抱歉,如果这个问题有点宽泛,但如果这是关于正常的基于 ASP.NET MVC 5 Owin 的应用程序的问题,默认连接到 MSSQL 服务器,我不会有这么难的时间,但我们使用 CRM 作为我们的数据库。

好的,正如我提到的正在开发 ASP.NET MVC5 应用程序并且很难找到创建、保持打开和关闭与 Dynamics CRM 365 的连接的最佳实践?

我发现了很多帖子和博客,但每个人都站在他这边。

有人说最好每个请求都在using语句中打开新连接,这样它就可以立即关闭(这听起来不错,但请求可能会很慢,因为每次请求都需要打开与 CRM 的新连接)。
有人说最好singleton在应用程序范围内创建对象,在应用程序生命周期内保持打开状态,并在每次请求时重用它。

通常我会OrganizationServiceProxy在一些简单的控制台应用程序中使用,但在这种情况下我不确定我应该使用OrganizationServiceProxy还是CrmServiceClient其他什么?

如果有人有或遇到过类似的问题,任何提示都会很棒。

更新:

@尼克诺

我从SDK 365下载了 SDK,并且正在使用这个 dll-s。
Microsoft.Xrm.Sdk.dll, Microsoft.Crm.Sdk.Proxy.dll,Microsoft.Xrm.Tooling.Connector.dllMicrosoft.IdentityModel.Clients.ActiveDirectory.dll.

你提到

Microsoft.CrmSdk.XrmTooling.CoreAssembly 8.2.0.5。

如果这个nuget包使用我下载的官方程序集是否正确,或者这个包有一些修改?

关于那个测试

验证测试

如果我做对了,无论我是使用using语句、实现Dispose()方法还是只在应用程序范围内使用静态类,我都会得到相同的实例(如果我使用默认设置RequireNewInstance=false)?

为简化代码,我通常创建一个静态类(也可以使用单例,但通常会过度使用)来返回一个 CrmServiceClient 对象。这样,如果我想更改有关如何建立连接的任何内容,我的代码就不会被新的 CrmServiceClient 调用乱七八糟。

因此,在应用程序范围内创建应用程序生命周期的静态类是一种好习惯吗?这意味着每个发出请求的用户都会使用相同的实例?那不是那个连接的性能问题吗?

您的所有方法调用都将执行完成或抛出异常,因此即使 GC 需要一段时间,也没有打开的连接在那里占用资源和/或阻止其他活动。

这个带我回到我总是得到相同实例CrmServiceClient的部分,并得到了 xrm.tooling 处理另一端的缓存连接的部分,但在这一端发生了什么(Web 应用程序)。不是与 CRM(即CrmServiceClient)非托管资源的连接,我不应该Dispose()明确吗?

我发现了一些示例,CrmServiceClient并且几乎所有示例CrmServiceClientIOrganizationService使用了CrmServiceClient.OrganizationWebProxyClientor CrmServiceClient.OrganizationServiceProxy

为什么会这样?这样做有什么好处?

我有很多问题,但这已经是要问的了,有什么在线文档可以指点我吗?

0 投票
1 回答
122 浏览

.net - 使用 CrmServiceClient 时基于 HTTP 请求的连接与应用程序生命周期连接

我正在开发 ASP.NET MVC5 应用程序,但我不是很熟悉,CrmServiceClient所以我需要帮助来决定哪种方法更适合我的应用程序。

很少解释如何构思应用程序,应用程序将拥有将在应用程序中运行的用户/代理。最大的问题是这应该怎么看?我应该为每个用户/代理创建他自己的实例/连接CrmServiceClient(每个用户将是 CRM 中的“系统用户”并提供他的凭据)还是我应该创建一个实例/连接CrmServiceClient(作为 CRM 的管理员)并完成所有操作.

基于 HTTP 请求的连接:
使用这种方法,我不确定CrmServiceClient如果每个用户提出的每个请求我都创建新实例(打开新连接)并且请求结束时Dispose()会如何处理?我会为每个用户获得新的实例,还是会为已经在之前的请求中建立连接的用户获得相同的实例?

应用程序生命周期连接:
使用这种方法,我将创建CrmServiceClient应用程序启动时的实例/连接,并在整个应用程序生命周期内保持打开状态,以便每个发出请求的用户都使用相同的实例。由于只有一个对 CRM 开放的实例/连接,这可能是一个很大的性能问题吗?一段时间后,该实例/连接将如何运作?它会自动关闭还是保持打开状态?(为简单起见,假设应用程序需要运行数天、数月、数年等......)

0 投票
1 回答
280 浏览

sdk - 安全令牌响应为空

正如我在标题中所说,我对 SecurityTokenRespone 有疑问。

当我调用生产 CRM 时,我得到了 SecurityTokenRespone,但是当我调用我们的测试 CRM 时,SecurityTokenRespone 为空......

这是因为我们的生产 CRM 配置了 ADFS 而测试 CRM 没有配置吗?

如果是,是否可以通过某种方式绕过(我们的测试 CRM 位于无法暴露于互联网的域中)?

谢谢 :)

0 投票
1 回答
654 浏览

c# - 如何检索 Dynamics 365 活动任务记录中描述字段的当前值?

我有一个 Dynamics 365 活动任务记录,其中包含一个值为“测试描述值”的描述。我想在插件中检索这个值。

我的主要代码概述如下。

迭代 foreach 循环表明task.Attributes不包含用于描述的键,我也无法使用 获取描述的当前值task["description"]。两者都返回 System.Collections.Generic.KeyNotFoundException。

是否可以在插件中获取活动任务记录的描述字段的当前值?如何?

0 投票
1 回答
1833 浏览

javascript - Microsoft Dynamics 365 根据值更改表单上的标题颜色

我在我的帐户/销售表格上设置了一个选项。基于此值,我想更改表单顶部的标题颜色。

我可以通过开发人员工具编辑 CSS 手动执行此操作,但是当我尝试通过表单属性和 Web 资源执行此操作时,我无法更改颜色。

作为基本测试,我只是试图通过 javascript 将 CSS 注入页面。

这是我创建的 CSS Web 资源。

这是我创建的 javascript Web 资源:

然后我转到我的销售表单,更改表单属性以加载到我的 Javascript Web 资源中,然后告诉它调用该函数myFormOnLoadOnLoad即使是表单。

我没有收到任何错误,我知道 JavaScript 被调用了,因为我添加了一个alert以确保我确实收到了警报。

我缺少什么来改变标题颜色?

jQuery 尝试

0 投票
1 回答
108 浏览

javascript - 使用 CRM WebAPI 执行 GetAllTimeZonesWithDisplayName 函数

我正在尝试执行该GetAllTimeZonesWithDisplayName函数来检索当前用户的时区;但是我遇到了一些困难

我一直在关注这个博客,但似乎发生了一些变化。根据作者的说法,我应该可以去:

但这会导致如下错误:

所以我查看了元数据(/api/data/v8.2/$metadata),我可以看到这个方法需要两个参数(我认为)

但我不知道该entityset参数需要什么,而且它似乎没有在MSDN 文档中列出

0 投票
1 回答
56 浏览

dynamics-crm - 无法在 VS 2012 for Windows 10 中安装 Dynamics CRM

我安装了 Windows 10 机器和 VS 2012。我正在尝试在我的机器上安装“Microsoft Dynamics 365 软件开发工具包 (SDK)”( https://www.microsoft.com/en-us/download/details.aspx?id=50032 )。

我提取了安装程序。但我没有在“工具”文件夹中看到开发者工具包。我检查了它没有安装的 VS 2012。

任何人都知道如何为 Windows 10 安装它。

请看下面的屏幕截图:

图片

0 投票
1 回答
769 浏览

dynamics-crm - Dynamics CRM - 在没有 Azure 的情况下获取访问令牌

我在 GitHub 上创建了很多有助于获取令牌的库。例如 - https://github.com/AleksandrRogov/DynamicsWebApi

在此处输入图像描述

但我没有“authorityUrl”,因为没有使用 Azure。没有 Azure 如何获得令牌?