首页 > 解决方案 > Acumatica - 要求设置扩展中的字段不为空

问题描述

我有一个设置 DAC 扩展,它定义了 SOOrder 字段的默认值。在用户可以使用销售订单表单之前,我需要此字段不为空。我知道如何通过使用 DAC 上的 PXPrimaryGraphAttribute 使用自定义设置 DAC 来完成此操作,但我不确定如何使用 DAC 扩展来完成此操作。当我的自定义设置字段为空时,我想让销售订单表单看起来像这样:

在此处输入图像描述

这是我的 DAC 扩展:

    public sealed class SOSetupExt : PXCacheExtension<SOSetup>
    {
        [SalesPerson(DisplayName = "Enabled Default Salesperson", Required = true)]
        public int? UsrEnabledDefaultSalesperson { get; set; }
        public abstract class usrEnabledDefaultSalesperson : PX.Data.BQL.BqlInt.Field<usrEnabledDefaultSalesperson> { }
    }

标签: acumaticadata-access

解决方案


使用图形扩展事件处理程序验证字段并抛出PXSetupNotEnteredException异常:

throw new PXSetupNotEnteredException(ErrorMessages.SetupNotEntered, typeof(SOSetup), typeof(SOSetup).Name);

推荐阅读