【发布时间】:2017-03-02 16:59:55
【问题描述】:
我可以在这里寻求您的指导,我的问题是我在 Create Requisition(RQ504000) 屏幕上添加了一个分支过滤器,我试图覆盖 RQRequestProcessing 类但它不起作用。我还尝试在字段更新后在记录视图上添加 WhereAnd,但它也不起作用。非常感谢任何建议。
【问题讨论】:
标签: acumatica
我可以在这里寻求您的指导,我的问题是我在 Create Requisition(RQ504000) 屏幕上添加了一个分支过滤器,我试图覆盖 RQRequestProcessing 类但它不起作用。我还尝试在字段更新后在记录视图上添加 WhereAnd,但它也不起作用。非常感谢任何建议。
【问题讨论】:
标签: acumatica
我建议你以下解决方案:
public class RQRequestSelectionExt : PXCacheExtension<RQRequestSelection>
{
#region AllocatedAmount2
public abstract class usrBranchID : IBqlField
{
}
[PXDBInt]
[PXUIField(DisplayName = "Branch ID")]
[PXDefault(2)]
[Branch]
public int? UsrBranchID { get; set; }
#endregion
}
public class RQRequestProcessExt : PXGraphExtension<RQRequestProcess>
{
[PXFilterable(new System.Type[] { })]
public RQRequestProcess.RQRequestProcessing Records;
public IEnumerable records()
{
var currentFilter = Base.Filter.Current;
var filterExt = currentFilter.GetExtension<RQRequestSelectionExt>();
var newList = Base.Records.Select();
ArrayList result = new ArrayList();
foreach (PXResult<RQRequestLineOwned> listItme in newList)
{
var row = listItme.GetItem<RQRequestLineOwned>();
if (filterExt.UsrBranchID != null)
{
if (row.BranchID == filterExt.UsrBranchID)
{
result.Add(row);
}
}
else
{
result.Add(row);
}
}
return result;
}
}
另外一个,你可以尝试用 WhereAnd 玩,但我自己用它不是很成功。
【讨论】: