【问题标题】:Autonumbring - Lastnumber used was edited自动编号 - 最后使用的编号已编辑
【发布时间】:2021-12-29 05:40:37
【问题描述】:

场景 - CD 字段使用 ISKey =true 定义,而数据库 ID 字段用作主键键列 CD 字段与自动编号序列绑定。

用户生成了多个文档,假设从 0001 到 0034 现在他回到自动编号序列并再次将 LastNumberUsed 更改为 0001。

现在,当创建新文档时,给出的最新编号是 0002,而该编号已被使用。

我认为 acumatica 不应该允许任何具有相同关键字段的文档,即使该文档是由代码创建的。 请提出建议。

【问题讨论】:

  • 重要说明 - CD 字段不是数据库中的 Key 字段。
  • 我们观察到,如果 CD 字段是数据库中的主键字段,则编号序列按预期工作并跳过使用的数字,但如果 CD 字段不是数据库中的主键并且仅在 DAC 中,它是用 ISKey=True 属性定义的,然后它允许通过自动编号顺序重复值,这会导致菜单其他问题,例如 Inquiry 仅重定向到第一个数字而不是重复的新创建的数字文档等。

标签: acumatica


【解决方案1】:

根据我的理解,我可以提出两种不同的方法来实现这一点。您可以尝试其中任何一种方法。

  1. 您可以将 PXUnique 属性添加到 CD 字段,这将不允许保存该字段的重复项。
  2. 您可以在 RowPersisting 事件中验证 CD 字段是否存在重复项,这将确保不会在该字段中保存任何重复值。

【讨论】:

    【解决方案2】:

    是的。 Acumatica 将不允许再次使用相同的数字(键字段始终唯一)。我们可以在最后一个数字中使用任何前缀

    Screenshot

    【讨论】:

    • 您好 Jini,我的问题是,它再次允许使用的号码,我担心它不应该允许。最后一个数字是如何从我需要检查的数据库或 UI 中更改的,但在文档级别,它允许重新获取序列中已使用的文档编号。
    • 添加了对原始问题的评论以获取更多详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 2014-11-24
    • 2014-01-21
    相关资源
    最近更新 更多