Acumatica - 提高倍数 error/Exception

Acumatica - Raise multiple error/Exception

美好的一天

我正在尝试同时引发多个错误。

示例: 当 Acumatica 在保存过程中发现错误时,它会同时显示所有错误:

我正在尝试在我的销售订单网格上实现相同的目标:

    protected void SOLine_RowPersisting(PXCache cache, PXRowPersistingEventArgs e)
    {
        //logic ...
        if (ShowError)
        {
            string errorMsg = "locationID error msg";
            // The error shows on SOLine.locationID
            cache.RaiseExceptionHandling<SOLine.locationID>(row, row.LocationID, new PXSetPropertyException(errorMsg, PXErrorLevel.Error));
        }
    }

有没有更好的抛出异常的方式来实现同时抛出多个错误?

FieldValidating 事件是添加这些消息的理想场所。

我用的是PXUIFieldAttribute.SetError方法。它适用于大多数情况,并且不会抛出异常。

您可以在 RowSelected 方法中进行多次 SetError/SetWarning 调用:

PXUIFieldAttribute.SetError<DAC.field>(cache, row, "Error Message");

或者您可以在多个 FieldValidating 事件中放置一个。