private void GetPaymentDocSumByRepaymentJournal(fmCDocRCB PaymentDocument, crmBankAccount bankAccount, out Decimal SumIn, out Decimal SunOut) { XPQuery <fmCPRRepaymentJurnal> repaymentJournals = new XPQuery <fmCPRRepaymentJurnal>(this.Session, true); var queryRepaymentJournals = (from repaymentJournal in repaymentJournals where repaymentJournal.PaymentDocument == PaymentDocument && repaymentJournal.BankAccount == bankAccount select repaymentJournal).ToList <fmCPRRepaymentJurnal>(); // В журнале привязок хранятся величины сумм для валют - платежа и обязательства. Суммы берём в валюте платежа. SumIn = queryRepaymentJournals.Sum(x => x.SumIn); SunOut = queryRepaymentJournals.Sum(x => x.SumOut); }
private void GetPaymentDocSumByOperationJournal(fmCDocRCB PaymentDocument, crmBankAccount bankAccount, out Decimal SumIn, out Decimal SunOut) { XPQuery <fmCSAOperationJournal> operationJournals = new XPQuery <fmCSAOperationJournal>(this.Session, true); var queryOperationJournals = (from operationJournal in operationJournals where operationJournal.PaymentDocument == PaymentDocument && operationJournal.BankAccount == bankAccount select operationJournal).ToList <fmCSAOperationJournal>(); // Как я понял, валюта выписки определяется по 3-м знакам счёта выписки, поэтому валюта везде одинаковая и суммирование ниже корректно. // В Валюте платежа SumIn = queryOperationJournals.Sum(x => x.SumIn); SunOut = queryOperationJournals.Sum(x => x.SumOut); }