微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

添加过滤器后,“准备付款”页面未显示 PayDate

如何解决添加过滤器后,“准备付款”页面未显示 PayDate

添加一个新过滤器来准备付款(AP503000)。过滤器按预期工作。

经过测试,我意识到 Pay Date(APInvoice.PayDate) 没有在网格中显示数据 如何显示发薪日数据?

enter image description here

我看到很多数据来自 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 举报,一经查实,本站将立刻删除。