【问题标题】:400 - Bad Request while saving Date Only field in CRM using Web API400 - 使用 Web API 在 CRM 中保存仅日期字段时出现错误请求
【发布时间】:2018-01-12 13:07:51
【问题描述】:

我正在使用 Microsoft Dynamics 365 Web API 方法与 CRM 数据进行交互。

这里我想用类型更新字段:DATE and TIME

我在请求正文中传递的日期值如下:

"packfirstday":"1-15-2018"

除了上述之外,我还尝试过使用 DateTime 和不同的日期格式。 例如

mm-dd-yyyy
m-dd-yyyy
mm/dd/yyyy
yyyy/mm/dd
yyyy-mm-dd

PS:我尝试在没有日期字段的情况下发布它正在成功保存详细信息。

【问题讨论】:

  • 您能否包含示例 POST 请求和响应?
  • 也要小心你的日期格式。不是mm 分钟吗?如果你想要几个月,我想你需要MM

标签: dynamics-crm microsoft-dynamics dynamics-crm-365 dynamics-crm-webapi microsoft-dynamics-webapi


【解决方案1】:

问题不在于代码,简单的误解。

有 2 个组件,即行为和格式。您将格式设置为“仅限日期”而不是 Behavior。行为决定数据库术语,而格式用于在表单中显示日期选择器控件。

因此,当您在 web api 中仅使用日期部分设置字段时 - CRM 数据库也需要时间部分。

将行为设置为仅日期,因此这将起作用:

"packfirstday":"2018-01-15" //YYYY-mm-dd format

或者也改变你的代码来打发时间:

"packfirstday":"2018-01-15T11:10:00.000Z" //UTC offset

由于用户本地行为仍然期望时间部分。

【讨论】:

  • 我尝试了第一种方法将行为设置为仅日期创建另一个字段,它按预期工作但由于我确实有客户的 CRM,一旦我将行为更改为 Date-Only,它将不允许再次更改该字段。 所以我尝试了第二种方法,即在现有字段上使用 UTC 偏移量,但它不起作用并引发错误 400-BadRequest。你能指导我完成第二种方法吗?
  • 经过编辑,它期待 '.'而不是 ':' 毫秒。标记为您的帮助@Arun 先生的答案。再次感谢您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-13
  • 1970-01-01
  • 2019-07-17
  • 1970-01-01
  • 2013-09-27
相关资源
最近更新 更多