代码之家  ›  专栏  ›  技术社区  ›  Gary Chen

按名称排序(自动编号)无法按预期工作

  •  1
  • Gary Chen  · 技术社区  · 7 年前

    我创建了一个自定义对象并使用 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 回复  |  直到 7 年前
        1
  •  1
  •   eyescream    7 年前

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

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

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

    1. 首先在沙箱中尝试,而不是直接在生产中
    2. 宣布你要到处乱搞,在你完成之前,任何人都不应该在此对象上创建任何新记录。如果需要-通过大规模冻结用户帐户或取消配置文件上的“创建”权限来锁定用户。。。
    3. 尝试将字段的类型从自动编号更改为文本。如果该字段在任何代码中被引用,则必须临时注释掉。
    4. 运行数据修复-例如导出所有数据、在excel中修复、导入更新。只要对你有用。祈祷你没有达到任何验证规则(可能需要禁用一些?)
    5. 将字段翻转回自动编号,这次选择足够长的格式字符串。您可以选择指定计数器的初始值。
    6. 试试,创造一个新的记录。如果一切正常-删除该记录并再次重置计数器。
    7. 解锁用户