【问题标题】:Adding custom field to Add SO Line dialog box in Invoices将自定义字段添加到发票中的“添加 SO 行”对话框
【发布时间】:2021-11-28 08:40:31
【问题描述】:

我在Stock Items (Screen ID IN202500) 中创建了一个名为HS Code 的自定义字段,并通过自定义其属性在Sales Orders (Screen ID - SO301000) 的行级别上显示它,如下所示。

public class SOLineExt : PXCacheExtension<PX.Objects.SO.SOLine>
{
    #region UsrHSCode
    [PXDBString(50)]
    [PXUIField(DisplayName = "HS Code", Visible = true, Enabled = false)]
    [PXFormula(typeof(Selector<SOLine.inventoryID, InventoryItemExt.usrHSCode>))]

    public virtual string UsrHSCode { get; set; }
    public abstract class usrHSCode : PX.Data.BQL.BqlString.Field<usrHSCode> { }
    #endregion
}

如何将相同的字段添加到Invoices (Screen ID SO303000) 上的添加 SO 行 对话框?

如何在Invoices屏幕上的Add SO Line对话框中正确引用自定义字段?

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    您需要扩展 SOLineForDirectInvoice DAC。现在这个 DAC 是一个投影,而不是一个实际的表格,因此您所要做的就是扩展 DAC 本身。在声明字段时,使用 type 属性上的 BqlField 属性,这将指示 acumatica 从何处读取字段的值 例如:

    #region UsrHSCode
    [PXDBString(50, BqlField = typeof(SOLineExt.usrHSCode))]
    [PXUIField(DisplayName = "HS Code", Visible = true, Enabled = false)]
    public virtual string UsrHSCode { get; set; }
    public abstract class usrHSCode : PX.Data.BQL.BqlString.Field<usrHSCode> { }
    #endregion
    

    一旦在 DAC 扩展中定义了它,您就可以将它添加到 Add SO Line 对话框中,该对话框可以在布局编辑器的对话框部分下找到

    发布后,新字段应在“添加 SO 行”对话框中可见。

    【讨论】:

      猜你喜欢
      • 2011-03-08
      • 2018-03-23
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 2018-07-04
      • 1970-01-01
      相关资源
      最近更新 更多