public string BaseCuryID() { GL.Company c = PXSelect <GL.Company> .Select(Graph); return(c?.BaseCuryID); }
protected virtual IEnumerable details() { ARStatementForCustomerParameters header = Filter.Current; Dictionary <DetailKey, DetailsResult> result = new Dictionary <DetailKey, DetailsResult>(EqualityComparer <DetailKey> .Default); List <DetailsResult> curyResult = new List <DetailsResult>(); if (header == null) { return(curyResult); } Customer customer = CustomerRepository.FindByID(header.CustomerID); if (customer != null) { bool useCurrency = customer.PrintCuryStatements ?? false; GL.Company company = PXSelect <GL.Company> .Select(this); foreach (ARStatement st in PXSelect <ARStatement, Where <ARStatement.statementCustomerID, Equal <Required <ARStatement.customerID> > >, OrderBy <Asc <ARStatement.statementCycleId, Asc <ARStatement.statementDate, Asc <ARStatement.curyID> > > > > .Select(this, header.CustomerID)) { DetailsResult res = new DetailsResult(); res.Copy(st, customer); if (useCurrency) { DetailsResult last = curyResult.Count > 0 ? curyResult[curyResult.Count - 1] : null; if (last != null && last.StatementCycleId == res.StatementCycleId && last.StatementDate == res.StatementDate && last.CuryID == res.CuryID) { last.Append(res); } else { curyResult.Add(res); } } else { DetailKey key = new DetailKey(res.StatementDate.Value, res.StatementCycleId); res.ResetToBaseCury(company.BaseCuryID); if (!result.ContainsKey(key)) { result[key] = res; } else { result[key].Append(res); } } } return(useCurrency ? (curyResult as IEnumerable) : (result.Values as IEnumerable)); } return(curyResult); }
/// <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 Dunning Letters</returns> protected virtual IEnumerable details() { PrintParameters header = Filter.Current; List <DetailsResult> result = new List <DetailsResult>(); if (header == null) { yield break; } GL.Company company = PXSelect <GL.Company> .Select(this); foreach (PXResult <ARDunningLetter, Customer> it in PXSelectJoin <ARDunningLetter, InnerJoin <Customer, On <Customer.bAccountID, Equal <ARDunningLetter.bAccountID> > >, Where <ARDunningLetter.dunningLetterDate, Between <Required <ARDunningLetter.dunningLetterDate>, Required <ARDunningLetter.dunningLetterDate> >, And <ARDunningLetter.consolidated, Equal <Required <ARDunningLetter.consolidated> > > >, OrderBy <Asc <ARDunningLetter.bAccountID> > > .Select(this, header.BeginDate, header.EndDate, this.Consolidated)) { DetailsResult res = new DetailsResult(); ARDunningLetter dl = it; Customer cust = it; res.Copy(this, dl, cust); if (this.Filter.Current.Action == 0) { if (header.ShowAll == false && (dl.DontPrint == true || dl.Printed == true)) { continue; } } if (this.Filter.Current.Action == 1) { if (header.ShowAll == false && (dl.DontEmail == true || dl.Emailed == true)) { continue; } } if (this.Filter.Current.Action == 2) { if (header.ShowAll == false && (dl.DontEmail == true || dl.Emailed == true)) { continue; } } result.Add(res); } foreach (var item in result) { Details.Cache.SetStatus(item, PXEntryStatus.Held); yield return(item); } Details.Cache.IsDirty = false; }
protected virtual IEnumerable details() { ARStatementDetailsParameters header = Filter.Current; List <DetailsResult> result = new List <DetailsResult>(); if (header == null) { return(result); } GL.Company company = PXSelect <GL.Company> .Select(this); foreach (PXResult <ARStatement, Customer> it in PXSelectJoin <ARStatement, InnerJoin <Customer, On <Customer.bAccountID, Equal <ARStatement.statementCustomerID> > >, Where <ARStatement.statementDate, Equal <Required <ARStatement.statementDate> >, And <ARStatement.statementCycleId, Equal <Required <ARStatement.statementCycleId> > > >, OrderBy <Asc <ARStatement.statementCustomerID, Asc <ARStatement.curyID> > > > .Select(this, header.StatementDate, header.StatementCycleId)) { DetailsResult res = new DetailsResult(); ARStatement st = (ARStatement)it; Customer cust = (Customer)it; res.Copy(st, cust); if (cust.PrintCuryStatements ?? false) { DetailsResult last = result.Count > 0 ? result[result.Count - 1] : null; if (last != null && last.CustomerId == res.CustomerId && last.CuryID == res.CuryID) { last.Append(res); } else { result.Add(res); } } else { res.ResetToBaseCury(company.BaseCuryID); DetailsResult last = result.Count > 0 ? result[result.Count - 1] : null; if (last != null && last.CustomerId == res.CustomerId) { last.Append(res); } else { result.Add(res); } } } return(result); }
protected virtual System.Collections.IEnumerable details() { ARStatementForCustomerParameters header = Filter.Current; Dictionary <DetailKey, DetailsResult> result = new Dictionary <DetailKey, DetailsResult>(EqualityComparer <DetailKey> .Default); List <DetailsResult> curyResult = new List <DetailsResult>(); if (header == null) { return(curyResult); } Customer customer = PXSelect <Customer, Where <Customer.bAccountID, Equal <Required <Customer.bAccountID> > > > .Select(this, header.CustomerID); if (customer != null) { bool useCurrency = customer.PrintCuryStatements ?? false; GL.Company company = PXSelect <GL.Company> .Select(this); foreach (ARStatement st in PXSelect <ARStatement, Where <ARStatement.statementCustomerID, Equal <Required <ARStatement.customerID> > >, OrderBy <Asc <ARStatement.statementCycleId, Asc <ARStatement.statementDate, Asc <ARStatement.curyID> > > > > .Select(this, header.CustomerID)) { DetailsResult res = new DetailsResult(); res.Copy(st, customer); if (useCurrency) { DetailsResult last = curyResult.Count > 0 ? curyResult[curyResult.Count - 1] : null; if (last != null && last.StatementCycleId == res.StatementCycleId && last.StatementDate == res.StatementDate && last.CuryID == res.CuryID) { last.Append(res); } else { curyResult.Add(res); } //curyResult.Add(res); } else { DetailKey key = new DetailKey(res.StatementDate.Value, res.StatementCycleId); res.ResetToBaseCury(company.BaseCuryID); if (!result.ContainsKey(key)) { result[key] = res; } else { result[key].Append(res); } } } PXUIFieldAttribute.SetVisible <DetailsResult.curyID>(this.Details.Cache, null, useCurrency); PXUIFieldAttribute.SetVisible <DetailsResult.curyStatementBalance>(this.Details.Cache, null, useCurrency); PXUIFieldAttribute.SetVisible <DetailsResult.curyOverdueBalance>(this.Details.Cache, null, useCurrency); PXUIFieldAttribute.SetVisible <DetailsResult.statementBalance>(this.Details.Cache, null, !useCurrency); PXUIFieldAttribute.SetVisible <DetailsResult.overdueBalance>(this.Details.Cache, null, !useCurrency); return(useCurrency ? (System.Collections.IEnumerable)curyResult : (System.Collections.IEnumerable)result.Values); //return (System.Collections.IEnumerable)result.Values; } return(curyResult); }
protected virtual IEnumerable details() { ARSetup setup = ARSetup.Current; PrintParameters header = Filter.Current; List <DetailsResult> result = new List <DetailsResult>(); if (header == null) { yield break; } GL.Company company = PXSelect <GL.Company> .Select(this); foreach (PXResult <ARStatement, Customer> it in PXSelectJoin <ARStatement, InnerJoin <Customer, On <Customer.bAccountID, Equal <ARStatement.statementCustomerID> > >, Where <ARStatement.statementDate, Equal <Required <ARStatement.statementDate> >, And <ARStatement.statementCycleId, Equal <Required <ARStatement.statementCycleId> > > >, OrderBy <Asc <ARStatement.statementCustomerID, Asc <ARStatement.curyID> > > > .Select(this, header.StatementDate, header.StatementCycleId)) { DetailsResult res = new DetailsResult(); ARStatement st = it; Customer cust = it; res.Copy(st, cust); if (setup.ConsolidatedStatement != true && st.BranchID != header.BranchID) { continue; } if (Filter.Current.Action == 0 && header.ShowAll != true && (st.DontPrint == true || st.Printed == true)) { continue; } if ((Filter.Current.Action == 1 || Filter.Current.Action == 2) && header.ShowAll != true && (st.DontEmail == true || st.Emailed == true)) { continue; } if (cust.PrintCuryStatements == true) { if (Filter.Current.CuryStatements != true) { continue; } DetailsResult last = result.Count > 0 ? result[result.Count - 1] : null; if (last?.CustomerID == res.CustomerID && last?.CuryID == res.CuryID) { last.Append(res); } else { result.Add(res); } } else { if (Filter.Current.CuryStatements == true) { continue; } res.ResetToBaseCury(company.BaseCuryID); DetailsResult last = result.Count > 0 ? result[result.Count - 1] : null; if (last?.CustomerID == res.CustomerID) { last.Append(res); } else { result.Add(res); } } } foreach (var item in result) { var located = Details.Cache.Locate(item); if (located != null) { yield return(located); } else { Details.Cache.SetStatus(item, PXEntryStatus.Held); yield return(item); } } Details.Cache.IsDirty = false; }
protected virtual IEnumerable history() { APHistoryFilter header = Filter.Current; if (header == null) { yield break; } if (header.Period == null) { PXSelectBase <Vendor> sel = new PXSelectJoinGroupBy <Vendor, LeftJoin <APHistory, On <APHistory.vendorID, Equal <Vendor.bAccountID> > >, Aggregate < Sum <APHistory.finPtdCrAdjustments, Sum <APHistory.finPtdDiscTaken, Sum <APHistory.finPtdDrAdjustments, Sum <APHistory.finPtdPayments, Sum <APHistory.finPtdPurchases, Sum <APHistory.finPtdRGOL, Sum <APHistory.tranPtdCrAdjustments, Sum <APHistory.tranPtdDiscTaken, Sum <APHistory.tranPtdDrAdjustments, Sum <APHistory.tranPtdPayments, Sum <APHistory.tranPtdPurchases, Sum <APHistory.tranPtdRGOL, GroupBy <Vendor.bAccountID> > > > > > > > > > > > > > >(this); if (header.APAcctID != null) { sel.WhereAnd <Where <Vendor.aPAcctID, Equal <Current <APHistoryFilter.aPAcctID> > > >(); } if (header.APSubID != null) { sel.WhereAnd <Where <Vendor.aPSubID, Equal <Current <APHistoryFilter.aPSubID> > > >(); } bool foreign = false; if (header.CuryID != null) { sel.WhereAnd <Where <Vendor.curyID, Equal <Current <APHistoryFilter.curyID> > > >(); GL.Company company = PXSelect <GL.Company> .Select(this); foreign = (company == null || company.BaseCuryID != header.CuryID); if (foreign) { PXUIFieldAttribute.SetVisible <APHistoryResult.rGOL>(History.Cache, null, false); } } if (header.CashAcctID != null) { sel.WhereAnd <Where <Vendor.cashAcctID, Equal <Current <APHistoryFilter.cashAcctID> > > >(); } if (header.PaymentTypeID != null) { sel.WhereAnd <Where <Vendor.paymentTypeID, Equal <Current <APHistoryFilter.paymentTypeID> > > >(); } if (header.VendorClassID != null) { sel.WhereAnd <Where <Vendor.vendorClassID, Equal <Current <APHistoryFilter.vendorClassID> > > >(); } if (header.Status != null) { sel.WhereAnd <Where <Vendor.status, Equal <Current <APHistoryFilter.status> > > >(); } foreach (PXResult <Vendor, APHistory> record in sel.Select()) { Vendor vendor = record; APHistory history = record; APHistoryResult res = new APHistoryResult(); res.AcctCD = vendor.AcctCD; res.AcctName = vendor.AcctName; if (header.ByFinancialPeriod != true) { if (!foreign) { res.Purchases = history.TranPtdPurchases ?? 0m; res.Payments = history.TranPtdPayments ?? 0m; res.Discount = history.TranPtdDiscTaken ?? 0m; res.RGOL = history.TranPtdRGOL ?? 0m; res.CrAdjustments = history.TranPtdCrAdjustments ?? 0m; res.DrAdjustments = history.TranPtdDrAdjustments ?? 0m; res.Balance = res.Purchases - res.Payments - res.Discount + res.RGOL - res.DrAdjustments + res.CrAdjustments; } else { res.Purchases = history.TranPtdPurchases ?? 0m; res.Payments = history.TranPtdPayments ?? 0m; res.Discount = history.TranPtdDiscTaken ?? 0m; res.RGOL = 0m; res.CrAdjustments = history.TranPtdCrAdjustments ?? 0m; res.DrAdjustments = history.TranPtdDrAdjustments ?? 0m; res.Balance = res.Purchases - res.Payments - res.Discount - res.DrAdjustments + res.CrAdjustments; } } else { if (!foreign) { res.Purchases = history.FinPtdPurchases ?? 0m; res.Payments = history.FinPtdPayments ?? 0m; res.Discount = history.FinPtdDiscTaken ?? 0m; res.RGOL = history.FinPtdRGOL ?? 0m; res.CrAdjustments = history.FinPtdCrAdjustments ?? 0m; res.DrAdjustments = history.FinPtdDrAdjustments ?? 0m; res.Balance = res.Purchases - res.Payments - res.Discount + res.RGOL - res.DrAdjustments + res.CrAdjustments; } else { res.Purchases = history.FinPtdPurchases ?? 0m; res.Payments = history.FinPtdPayments ?? 0m; res.Discount = history.FinPtdDiscTaken ?? 0m; res.RGOL = 0m; res.CrAdjustments = history.FinPtdCrAdjustments ?? 0m; res.DrAdjustments = history.FinPtdDrAdjustments ?? 0m; res.Balance = res.Purchases - res.Payments - res.Discount - res.DrAdjustments + res.CrAdjustments; } } if (res.Balance != 0m || header.ShowWithBalanceOnly != true) { yield return(res); } } } else { PXSelectBase <Vendor> sel = new PXSelectJoinGroupBy <Vendor, LeftJoin <APHistory, On <APHistory.vendorID, Equal <Vendor.bAccountID>, And <APHistory.finPeriodID, Equal <Current <APHistoryFilter.period> > > > >, Aggregate < Sum <APHistory.finBegBalance, Sum <APHistory.finYtdBalance, Sum <APHistory.finPtdCrAdjustments, Sum <APHistory.finPtdDiscTaken, Sum <APHistory.finPtdDrAdjustments, Sum <APHistory.finPtdPayments, Sum <APHistory.finPtdPurchases, Sum <APHistory.finPtdRGOL, Sum <APHistory.tranBegBalance, Sum <APHistory.tranYtdBalance, Sum <APHistory.tranPtdCrAdjustments, Sum <APHistory.tranPtdDiscTaken, Sum <APHistory.tranPtdDrAdjustments, Sum <APHistory.tranPtdPayments, Sum <APHistory.tranPtdPurchases, Sum <APHistory.tranPtdRGOL, GroupBy <Vendor.bAccountID> > > > > > > > > > > > > > > > > > >(this); PXUIFieldAttribute.SetVisible <APHistoryResult.balance>(History.Cache, null, false); PXUIFieldAttribute.SetVisible <APHistoryResult.begBalance>(History.Cache, null); PXUIFieldAttribute.SetVisible <APHistoryResult.endBalance>(History.Cache, null); if (header.APAcctID != null) { sel.WhereAnd <Where <Vendor.aPAcctID, Equal <Current <APHistoryFilter.aPAcctID> > > >(); } if (header.APSubID != null) { sel.WhereAnd <Where <Vendor.aPSubID, Equal <Current <APHistoryFilter.aPSubID> > > >(); } bool foreign = false; if (header.CuryID != null) { sel.WhereAnd <Where <Vendor.curyID, Equal <Current <APHistoryFilter.curyID> > > >(); GL.Company company = PXSelect <GL.Company> .Select(this); foreign = (company == null || company.BaseCuryID != header.CuryID); if (foreign) { PXUIFieldAttribute.SetVisible <APHistoryResult.rGOL>(History.Cache, null, false); } } if (header.CashAcctID != null) { sel.WhereAnd <Where <Vendor.cashAcctID, Equal <Current <APHistoryFilter.cashAcctID> > > >(); } if (header.PaymentTypeID != null) { sel.WhereAnd <Where <Vendor.paymentTypeID, Equal <Current <APHistoryFilter.paymentTypeID> > > >(); } if (header.VendorClassID != null) { sel.WhereAnd <Where <Vendor.vendorClassID, Equal <Current <APHistoryFilter.vendorClassID> > > >(); } if (header.Status != null) { sel.WhereAnd <Where <Vendor.status, Equal <Current <APHistoryFilter.status> > > >(); } foreach (PXResult <Vendor, APHistory> record in sel.Select()) { Vendor vendor = record; APHistory history = record; APHistoryResult res = new APHistoryResult(); res.AcctCD = vendor.AcctCD; res.AcctName = vendor.AcctName; if (header.ByFinancialPeriod != true) { if (!foreign) { res.Purchases = history.TranPtdPurchases ?? 0m; res.Payments = history.TranPtdPayments ?? 0m; res.Discount = history.TranPtdDiscTaken ?? 0m; res.RGOL = history.TranPtdRGOL ?? 0m; res.CrAdjustments = history.TranPtdCrAdjustments ?? 0m; res.DrAdjustments = history.TranPtdDrAdjustments ?? 0m; res.BegBalance = history.TranBegBalance ?? 0m; res.EndBalance = res.BegBalance + res.Purchases - res.Payments - res.Discount + res.RGOL - res.DrAdjustments + res.CrAdjustments; } else { res.Purchases = history.TranPtdPurchases ?? 0m; res.Payments = history.TranPtdPayments ?? 0m; res.Discount = history.TranPtdDiscTaken ?? 0m; res.RGOL = 0m; res.CrAdjustments = history.TranPtdCrAdjustments ?? 0m; res.DrAdjustments = history.TranPtdDrAdjustments ?? 0m; res.BegBalance = history.TranBegBalance ?? 0m; res.EndBalance = res.BegBalance + res.Purchases - res.Payments - res.Discount - res.DrAdjustments + res.CrAdjustments; } } else { if (!foreign) { res.Purchases = history.FinPtdPurchases ?? 0m; res.Payments = history.FinPtdPayments ?? 0m; res.Discount = history.FinPtdDiscTaken ?? 0m; res.RGOL = history.FinPtdRGOL ?? 0m; res.CrAdjustments = history.FinPtdCrAdjustments ?? 0m; res.DrAdjustments = history.FinPtdDrAdjustments ?? 0m; res.BegBalance = history.FinBegBalance ?? 0m; res.EndBalance = res.BegBalance + res.Purchases - res.Payments - res.Discount + res.RGOL - res.DrAdjustments + res.CrAdjustments; } else { res.Purchases = history.FinPtdPurchases ?? 0m; res.Payments = history.FinPtdPayments ?? 0m; res.Discount = history.FinPtdDiscTaken ?? 0m; res.RGOL = 0m; res.CrAdjustments = history.FinPtdCrAdjustments ?? 0m; res.DrAdjustments = history.FinPtdDrAdjustments ?? 0m; res.BegBalance = history.FinBegBalance ?? 0m; res.EndBalance = res.BegBalance + res.Purchases - res.Payments - res.Discount - res.DrAdjustments + res.CrAdjustments; } } if (res.Balance != 0m || header.ShowWithBalanceOnly != true) { yield return(res); } } } }