Adempiere字段标注不适用于导入选项或从选项创建行。如果我通过代码而不是手动选择来做事,它会忽略字段标注。我想到了一种解决方案,
将标注代码转移到模型类 beforeSave() 或 afterSave() 但这对于所有功能来说太耗时了。
请分享,如果还有其他解决方案
问问题
70 次
1 回答
0
您是正确的,标注仅在用户输入表单或表格期间使用。如果您有需要以编程方式应用于数据更改的规则,则可以考虑以下几个选项:
- 正如您所提到的,模型更改,但除非这本质上是通用的,否则它会使您的代码与核心项目不同,并使升级更加费力;
- 模型验证器 - 您可以注册一个模型验证器,该模型验证器将在持久性对象 (PO) 的保存前或保存后调用。
- 在表定义中,您可以定义表验证规则。
为了避免对许多记录进行耗时的操作,您还可以将代码添加到导入验证器和“创建自”过程中,如果这些是您发现问题的区域。
最后,您可以创建一个单独的进程来验证数据并在需要时在后台运行它。
另一方面,如果代码运行得足够快,可以让用户调用(意味着用户没有注意到明显的延迟),那么将代码添加到模型验证器应该没问题。
于 2019-11-02T10:58:00.720 回答