按名称排序(自动编号)并不像预期的顶点那样工作

时间:2017-11-21 08:18:38

标签: salesforce apex

我创建了一个自定义对象,并使用Name字段作为autonumber类型,TA - {0000}是其格式。

有一些样本数据:
TA - 666 TA - 777 TA - 888 TA - 999 TA - 1000
当我查询此对象order by Name desc时,它返回如下:
TA - 999 TA - 888 TA - 777 TA - 666 TA - 1000

那不是我的预期,谁可以提供帮助?

1 个答案:

答案 0 :(得分:0)

如果它创建了3位数字,则表示您的自动编号格式最初为TA - {000}TA - {0}。一旦达到格式的最大值,值就会“溢出”,然后继续到1000,1001,而不是将计数器循环回0。

因此,最初创建该领域的人没有提前计划。

您可以做的是尝试修复数据。

  1. 首先在沙箱中尝试而不是直接生产
  2. 宣布你将要乱搞很多东西,除非你完成,否则没有人应该在这个对象上创建任何新的记录。如果需要 - 通过批量冻结用户帐户或撤消个人资料中的“创建”权限来锁定人员......
  3. 尝试将字段的类型从自动编号更改为文本。如果在任何代码中引用该字段 - 您将不得不暂时将其注释掉。
  4. 运行数据修复 - 例如将其全部导出,修复excel,导入更新。什么对你有用。祈祷你没有达到任何验证规则(可能必须临时禁用一些?)
  5. 将字段翻转回自动编号,这次选择足够长的格式字符串。您将获得指定计数器初始值的选项。
  6. 试一试,创造新纪录。如果一切正常 - 删除该记录并重新重置计数器。
  7. 撤消您在验证规则,顶点等中更改的内容。
  8. 解锁用户