如何在 SAP B1 中自动计算 Header 和行 UDF 值

How do I auto compute Header and Row UDF values in SAP B1

我们有一个插件可以处理销售订单并从中创建交货。我计划在 ODLN 和 DLN1 表上都有一个 UDF U_Inner_Volume。他们应该在创建交付时自动计算。

DLN1.U_Inner_Volume 将具有以下公式:

DLN1.Volume * 0.75

ODLN.U_Inner_Volume 将具有以下公式:

SUM(DLN1.U_Inner_Volume)

数据库是MS-SQL。

在您的插件中,您可以收听 FORM_DATA_ADD 事件。由于在任何 B1 表单中添加数据后可能会引发事件,因此请检查事件的表单 UID 或表单类型。您正在专门查找销售订单表格。 之后您可以读取 DLN1 值并计算和更新 UDF。

另一个(更侧重于数据库)选项是使用存储过程SBO_SP_TransactionNotification。它会在每次交易后自动调用。在这里,您可以检查 ADD 的交易类型和销售订单的对象类型。