如何在Invoices(SO303000)的Add SO Line对话框添加自定义HS Code字段
解决方案
步骤1:扩展Add SO Line对话框绑定的DAC
Add SO Line对话框默认绑定的DAC为SOOrderLineForInvoice,你需要先扩展该DAC关联HS Code字段:
public class SOOrderLineForInvoiceExt : PXCacheExtension<PX.Objects.SO.SOOrderLineForInvoice> { #region UsrHSCode [PXDBString(50)] [PXUIField(DisplayName = "HS Code", Visible = true, Enabled = false)] [PXFormula(typeof(Selector<SOOrderLineForInvoice.inventoryID, InventoryItemExt.usrHSCode>))] public virtual string UsrHSCode { get; set; } public abstract class usrHSCode : PX.Data.BQL.BqlString.Field<usrHSCode> { } #endregion }
步骤2:页面自定义添加字段到弹窗
- 打开自定义项目编辑器,定位到屏幕ID SO303000(Invoices)
- 进入页面布局编辑界面,查找定位Add SO Line对话框控件
- 选中对话框内置的Grid控件,在列配置中添加刚刚扩展的
UsrHSCode字段,调整列宽、显示顺序后保存配置 - 发布整个自定义项目后即可在Add SO Line弹窗看到HS Code字段
可选补充:如果你需要选中SO行后HS Code自动同步到生成的发票行,可额外扩展
ARTranDAC添加同名字段,通过PXDefault或者行事件将SOOrderLineForInvoice的UsrHSCode赋值到ARTran对应字段即可。
内容的提问来源于stack exchange,提问作者Erick
相关产品推荐
相关产品推荐

