通过 API 在 Salesforce 中进行 INVALID_FIELD_FOR_INSERT_UPDATE

问题描述 投票:0回答:2

作为数据屏蔽项目的一部分,我尝试对 Salesforce 进行批量更新,当我尝试通过 API 更新特定自定义对象的字段时,收到错误 INVALID_FIELD_FOR_INSERT_UPDATE。 我们的自定义对象有一些标准字段和一些自定义字段。自定义字段是我试图更新的内容,但我一直被拒绝。

我尝试更新的每个字段都是长文本区域(32768)或文本(255)。没有查找、控制字段、验证规则,也没有字段依赖性。 我可以通过屏蔽过程对其他对象(例如帐户)进行修改。我还可以通过 Web UI 对此自定义对象的值进行修改。 我尝试过作为 API 组的成员以及系统管理员。

有人可以指出我正确的方向吗?我无权访问屏蔽工具的源代码,但我在 SF 中拥有提升的权限。 预先感谢您的建议。

具体错误: INVALID_FIELD_FOR_INSERT_UPDATE 错误消息:无法创建/更新字段:名称。请检查此字段的安全设置,并验证您的个人资料或权限集是否可以读取/写入。

有趣的是,我并没有尝试更新“名称”字段。名称似乎是对象上的自动编号字段,但我不确定为什么该字段会在更新到不同列时更改值。

salesforce
2个回答
7
投票

如果有人面临同样的问题,无法更新“名称”列,因为它的数据类型为“名称”。

有2种解决方案:

  1. 如果您想推送人名,请尝试推送名字和姓氏。 “名称”将自动填充。
  2. 如果您想推送产品名称,请尝试将名称字段的类型更改为文本。如果这不起作用,那么您可以将名称推送到 FirstName 或 LastName,以强制方式为准(只是一个解决方法)。

0
投票

我今天遇到了类似的问题,这就是解决的方法。我的确切错误如下:

OneLogin 错误:用户在应用程序中创建失败。 INVALID_FIELD_FOR_INSERT_UPDATE:无法创建/更新字段:ProfileId。请检查此字段的安全设置,并验证您的个人资料或权限集是否可以读取/写入。

修复错误:

审核字段更新设置:除非特别允许,否则 Salesforce 通常会限制对某些系统字段(例如 ProfileId)的直接访问。 Salesforce 设置中的“用户界面”下有一个设置,允许您可能需要启用“在创建记录时设置审核字段”和“更新非活动所有者的记录”。

Screenshot of checkbox

© www.soinside.com 2019 - 2024. All rights reserved.