private static bool CheckForOverdueInvoices(PXGraph aGraph, string aStatementCycleID, DateTime aOpDate) { ARBalances doc = PXSelectJoin <ARBalances, InnerJoin <Customer, On <ARBalances.customerID, Equal <Customer.bAccountID> > >, Where <Customer.statementCycleId, Equal <Required <Customer.statementCycleId> >, And <ARBalances.oldInvoiceDate, LessEqual <Required <ARBalances.oldInvoiceDate> > > > > .SelectWindowed(aGraph, 0, 1, aStatementCycleID, aOpDate); return(doc != null); }
/// <summary> /// Generates a list of documents that meet the filter criteria. /// This list is used for display in the processing screen /// </summary> /// <returns>List of Customers with Dunning Letters</returns> protected virtual IEnumerable details() { CreditHoldParameters header = Filter.Current; List <DetailsResult> result = new List <DetailsResult>(); if (header == null) { yield break; } foreach (PXResult <Customer, ARDunningLetter> record in GetCustomersToProcess(header)) { ARDunningLetter dunningLetter = record; Customer customer = record; if (header.ShowAll == false && customer.Status != header.IncludedCustomerStatus) { continue; } DetailsResult res = new DetailsResult(); res.Copy(this, dunningLetter, customer); ARBalances balances = CustomerMaint.GetCustomerBalances <Override.Customer.sharedCreditCustomerID>(this, customer.BAccountID); if (balances != null) { res.InvBal = balances.CurrentBal ?? 0.0m; } result.Add(res); } foreach (var item in result) { Details.Cache.SetStatus(item, PXEntryStatus.Held); yield return(item); } Details.Cache.IsDirty = false; }