如何解决添加过滤器后,“准备付款”页面未显示 PayDate
我添加了一个新过滤器来准备付款(AP503000)。过滤器按预期工作。
经过测试,我意识到 Pay Date(APInvoice.PayDate) 没有在网格中显示数据 如何显示发薪日数据?
我看到很多数据来自 APAdjust,缺失的数据来自 APInvoice。
代码:
namespace PX.Objects.AP
{
// Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active
public class APPayBills_Extension : PXGraphExtension<APPayBills>
{
#region Event Handlers
[PXFilterable]
public PXFilteredProcessingJoin<
APAdjust,PayBillsFilter,InnerJoin<APInvoice,On<APInvoice.docType,Equal<APAdjust.adjdDocType>,And<APInvoice.refNbr,Equal<APAdjust.adjdRefNbr>>>,LeftJoin<APTran,On<APInvoice.paymentsByLinesAllowed,Equal<True>,And<APTran.tranType,And<APTran.refNbr,Equal<APAdjust.adjdRefNbr>,And<APTran.lineNbr,Equal<APAdjust.adjdLineNbr>>>>>>>>
APDocumentList;
protected virtual IEnumerable apdocumentlist()
{
PayBillsFilter row;
row = Base.Filter.Select();
PayBillsFilterExt payBillsFilterExt = row.GetExtension<PayBillsFilterExt>();
foreach (APAdjust item in Base.APDocumentList.Select())
{
if (!string.IsNullOrEmpty(payBillsFilterExt.UsrEPEmployee))
{
//To test remove all code and only leave the else ( yield return item;)
BAccount bAccount = PXSelect<
BAccount,Where<BAccount.bAccountID,Equal<required<APAdjust.vendorID>>>>
.Select(Base,item.vendorID);
BAccountExt bAccountExt = bAccount.GetExtension<BAccountExt>();
if (bAccountExt.UsrEmployeeID == payBillsFilterExt.UsrEPEmployee)
{
yield return item;
}
}
else
{
yield return item;
}
}
}
#endregion
}
}
解决方法
当您的视图是两个表 APAdjust 和 APInvoice 之间的连接时,您将生成一条 APADjust 记录。尝试这样的事情:
protected virtual IEnumerable apdocumentlist()
{
var sel = new PXSelectJoin<APAdjust... (view definition)
foreach( var rec in sel.Select())
{
Check your field;
yield rec;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。