要向Acumatica位置选择器添加邮政编码筛选器,您可以根据以下步骤进行操作:
打开Acumatica定制/扩展的开发环境(如Visual Studio)。
找到并打开位置选择器的源代码文件。通常,位置选择器位于"LocationLookup.cs"或"LocationLookupPXSelector.cs"中。
在位置选择器类的构造函数中,查找到对基类构造函数的调用。添加一个参数,用于传递邮政编码筛选器的条件。
public class LocationLookup : PXCustomSelectorAttribute
{
public LocationLookup() : base(typeof(Location.locationID), typeof(Location.locationCD), typeof(Location.descr), typeof(Location.postalCode))
{
// 增加一个邮政编码筛选器的条件
this.FilterableConditions = new Type[] { typeof(Location.postalCode) };
}
}
public class LocationLookup : PXCustomSelectorAttribute
{
// ...
public virtual IEnumerable GetRecords()
{
// 获取过滤条件
var filter = GetFilter();
// 添加一个邮政编码筛选器的条件
if (!string.IsNullOrEmpty(filter.PostalCode))
{
yield return new PXResult(null, filter.PostalCode);
}
// 返回位置记录
foreach (PXResult result in PXSelect>>.Select(_Graph))
{
yield return result;
}
}
}
现在,当您使用位置选择器时,您将看到一个邮政编码筛选器可供使用。您可以输入邮政编码来筛选结果。