【发布时间】:2018-04-25 16:29:08
【问题描述】:
【问题讨论】:
标签: acumatica
【问题讨论】:
标签: acumatica
如果您只想显示添加到客户的自定义字段,您可以按照下面的屏幕截图所示进行操作
如果您想在某个事件或操作下获取代码中自定义字段的值,您可以执行以下操作:
using PX.Data;
using PX.Objects.AR;
using PX.Objects.SO;
using PX.Objects.CR;
using System;
namespace ClassLibrary1
{
public class SOOrderEntryExt: PXGraphExtension<SOOrderEntry>
{
public virtual void Customer_RowSelecting(PXCache sender,PXRowSelectingEventArgs eventArgs,PXRowSelecting baseMethod)
{
baseMethod?.Invoke(sender, eventArgs);
if(eventArgs.Row!=null)
{
Customer currentCustomer = (Customer)eventArgs.Row;
BAccountExt currentCustomerExtension = PXCache<BAccount>.GetExtension<BAccountExt>(currentCustomer);
var value = currentCustomerExtension.UsrCustomerNote;
}
}
}
}
Customer 继承自 BAccount 类,所以下面这行不会有任何问题:
BAccountExt currentCustomerExtension = PXCache<BAccount>.GetExtension<BAccountExt>(currentCustomer);
在此行之后,您将获得自定义字段的值,并且可以根据需要使用它:
var value = currentCustomerExtension.UsrCustomerNote;
【讨论】:
eventArgs.Row,您可以尝试获取this.Base.customer.Current 并获取它的扩展名