首页 > 解决方案 > 字段的 Adempiere 列标注不适用于导入和从(来自代码)选项创建行

问题描述

Adempiere字段标注不适用于导入选项或从选项创建行。如果我通过代码而不是手动选择来做事,它会忽略字段标注。我想到了一种解决方案,
将标注代码转移到模型类 beforeSave() 或 afterSave() 但这对于所有功能来说太耗时了
请分享,如果还有其他解决方案

标签: javajakarta-eecalloutsadempiere

解决方案


您是正确的,标注仅在用户输入表单或表格期间使用。如果您有需要以编程方式应用于数据更改的规则,则可以考虑以下几个选项:

  • 正如您所提到的,模型更改,但除非这本质上是通用的,否则它会使您的代码与核心项目不同,并使升级更加费力;
  • 模型验证器 - 您可以注册一个模型验证器,该模型验证器将在持久性对象 (PO) 的保存前或保存后调用。
  • 在表定义中,您可以定义表验证规则。

为了避免对许多记录进行耗时的操作,您还可以将代码添加到导入验证器和“创建自”过程中,如果这些是您发现问题的区域。

最后,您可以创建一个单独的进程来验证数据并在需要时在后台运行它。

另一方面,如果代码运行得足够快,可以让用户调用(意味着用户没有注意到明显的延迟),那么将代码添加到模型验证器应该没问题。


推荐阅读