首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >beatbox:在Account对象上更新多条记录的自定义字段

beatbox:在Account对象上更新多条记录的自定义字段
EN

Stack Overflow用户
提问于 2017-07-30 13:58:19
回答 1查看 316关注 0票数 1

我要通过一些类似的

object_dict ={“名称”:“示例帐户”,“类型”:“帐户”,“Id”:“00001834fiBkAAO”,“score_c”:'333'}

并且只想在Account对象上更新一个自定义字段('score__c'),但是我对以下3件事感到困惑:

  1. 帐户有15个字符的Id,但我有18个字符,显然可能是因为15个字符一个不可能是独一无二的销售力量附加3个字符。但是,beatbox更新如何处理这个问题呢?它会更新吗?
  2. 与使用service.upsert命令传递键所在位置不同,update是如何工作的?它会考虑将名称和ID作为复合键&然后更新'score__c‘字段吗?
  3. beatbox如何知道要更新名称、Id和score__c中的哪个字段?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-30 18:47:32

  1. 18个字符ID中的最后3个字符对前面字符的大小写进行编码,以便在不区分大小写的编程语言中将对象的长ID进行等效性比较。您可以使用您得到的信息,无论是短的还是长的。(您的ID是16个字符长,无效。)
  2. 更新的对象仅由type和主键id标识。所有其他名称都是更新的列。因此,您可以忽略“名称”,如果您不想更新它。
  3. dtto

编辑解释了“您可以使用您得到的东西,无论是短ID还是长ID"

SFDC上的所有内容都接受短ID或长ID (web接口、Apex、VisualForce、API、导入数据等)。浏览器中的内部顶点代码和web URL、视图和报告使用15个字符,因为它保证处理后的大小写敏感。每个输出(比如备份、报表导出、开发人员控制台或Salesforce API)都有18个字符的ID,这样就可以很容易地处理不区分大小写的问题,例如Excel。

您可能永远不需要删除或添加最后3个字符。唯一的问题可能是,如果将从浏览器复制/粘贴的ID与导出的数据组合在一起,但更喜欢不区分大小写的搜索或比较的工具也有一些方法可以做到区分大小写。您也可以通过函数CASESAFEID()SELECT Id from Account WHERE Id = 'short_id...'获得长ID,也可以通过Python中的函数id获得长ID,但我重复一遍,我从未真正需要它。(除了更准确地猜测字符串可能是有效的Salesforce ID : ID未找到或Salesforce报告的无效ID外)安全只需在Excel中搜索包含在工作表中的短ID,因为ID具有以下结构:

代码语言:javascript
复制
ID structure:
    TTTII0XXXXXXXXXCCC
TTT = type of object
II = server instance where the data row was originally created
0 = it is still guaranteed zero at this position, but can be subject of change
XXXXXXXXX = ID of the row, jumping, but approximately increasing in a long-term scale
CCC = encoded case sensitive info

因此,在长ID中搜索的短ID只有在开始时才有可能匹配。

编辑2 Salesforce建议您使用18个字符的ID。 (开发人员指南)

如果通过一个调用( svc.create(list_of_200_rows_data) )将多个行一起创建,则可以创建大量类似的15个字符if。有趣的是,ID字段和查找字段是比较敏感的案例,甚至是短的SELECT Id, Name FROM Contact WHERE AccountId = '0010000ID15CHAR'字段,而文本字段则是不敏感的SELECT FirstName FROM Contact WHERE LastName='sMiTh'案例比较。因此,如果您曾经为从其他Salesforce数据库迁移的行保存一些“old_id”(必须将其保存为文本),则必须将它们保存为18个字符的ID。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45400579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档