如果某些条件在代码中不匹配,而不是通过验证 Sql 查询,如何停止 SAP B1 Form_Data_Add 事件

How to Stop SAP B1 Form_Data_Add event if some criteria is not matching in Code ,not by the Validation Sql Query

当我添加销售订单时,我有一个增值税检查方法。

方法 returns bool 中的数据。

如果 bool 值为 False,则 Form_DATA_Add 该事件不应进一步工作,它应停止添加过程。

您可以使用 BubbleEvent 布尔值来处理您是否希望事件真正完成。

private static void OApplication_FormDataEvent(ref SAPbouiCOM.BusinessObjectInfo BusinessObjectInfo, out bool BubbleEvent)
    {
        //Foo as your bool method
        if (Foo())
        {
            BubbleEvent = true;
        }
        else
        {
            BubbleEvent = false;
        }
    }

像这样的东西应该可以解决问题,但我强烈建议使用 SBO_SP_TransactionNotification 来做这样的事情。还要管理 BusinessObjectInfo.BeforeAction 布尔值以确定您希望 ckecks 触发的确切时间,我建议使用 BusinessObjectInfo.BeforeAction = true