首页 > 解决方案 > 我可以在销售订单屏幕中获取客户的自定义文件吗?

问题描述

我在客户屏幕上创建了一个自定义字段“Inner Branch ID”。我的问题是如何在销售订单 BLC 中获取它的价值?使用 PXSelect 方法?真的让我很困惑...

自定义归档

销售订单筛选

标签: 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;

推荐阅读