java - Adempiere 列标注不适用于从(从代码)选项导入和创建行

标签 java jakarta-ee callouts adempiere

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

最佳答案

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

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

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

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

另一方面,如果代码对于用户标注来说运行得足够快(意味着用户没有注意到明显的延迟),那么将代码添加到模型 validator 应该没问题。

关于java - Adempiere 列标注不适用于从(从代码)选项导入和创建行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58415171/

相关文章:

jsf - 每次我在 JSF2 中发出 Ajax 请求时,我都会得到一个新的 session bean,为什么?

java - 具有全局上下文上下文 :component-scan? 的 Spring MVC 注释

java - 将字符串转换为小写以在 xhtml 中进行属性绑定(bind)?

android - 如何在安卓应用中提及用户

ios - 如何保存选中的MKAnnotation?

java - 如何等待所有线程(可变数量的线程)完成并继续 Main?

java - 如何降低我的方法的循环复杂度

java - 如何在Java中将一个模拟对象注入(inject)另一个模拟对象的模拟中?

java - 如何在 Maven 中包含/引用 jackson-all.jar

twitter-bootstrap - 在 bootstrap carousel 上放置标注