private Boolean GetAnswer(UnitOfWork uow, fmCDocRCB paymentDocument, fmCPRPaymentRequest paymentRequest)
        {
            Decimal _Accuracy = 0.01m;  // Сопоставление с точностью до копейки

            // Сумма Платёжного документа по OperationJournal (в валюте платежа)
            Decimal operationPaymentDocSumIn = 0, operationPaymentDocSumOut = 0;

            GetPaymentDocSumByOperationJournal(uow, paymentDocument, out operationPaymentDocSumIn, out operationPaymentDocSumOut);
            // Одна из сумм operationPaymentDocSumIn или operationPaymentDocSumOut обязательно равна 0

            // Сумма Платёжного документа по RepaymentJournal (в валюте платежа - это величины SumIn и SumOut)
            Decimal repaymentDocSumIn = 0, repaymentDocSumOut = 0;

            GetPaymentDocSumByRepaymentJournal(uow, paymentDocument, out repaymentDocSumIn, out repaymentDocSumOut);
            // Одна из сумм repaymentDocSumIn или repaymentDocSumOut также обязательно равна 0

            // Величина непокрытия Платёжного документа Заявками (все суммы в валюте платежа)
            Decimal deltaDocSumIn  = operationPaymentDocSumIn - repaymentDocSumIn;
            Decimal deltaDocSumOut = operationPaymentDocSumOut - repaymentDocSumOut;

            if (Decimal.Compare(Math.Abs(deltaDocSumIn) + Math.Abs(deltaDocSumOut), _Accuracy) <= 0)
            {
                return(false);
            }
            // Всё сопоставлено уже с точностью до _Accuracy - так условились!
            return(true);
        }
        private void EnableButton()
        {
            if (View == null || View.CurrentObject == null || View.CurrentObject as fmCPRPaymentRequest == null)
            {
                return;
            }
            fmCPRPaymentRequest current = View.CurrentObject as fmCPRPaymentRequest;

            if (current.State != PaymentRequestStates.IN_PAYMENT && current.State != PaymentRequestStates.IN_BANK)
            {
                this.InBankAction.Enabled[DO_ENABLED]    = false;
                this.InPaymentAction.Enabled[DO_ENABLED] = false;
            }
            else if (current.State == PaymentRequestStates.IN_PAYMENT)
            {
                this.InBankAction.Enabled[DO_ENABLED]    = true;
                this.InPaymentAction.Enabled[DO_ENABLED] = false;
            }
            else if (current.State == PaymentRequestStates.IN_BANK)
            {
                this.InBankAction.Enabled[DO_ENABLED]    = false;
                this.InPaymentAction.Enabled[DO_ENABLED] = true;
            }

            // В связи с настройка триады кнопок перехода по бизнесс-процессу, две кнопки пока прячем,
            // затем их надо будет удалить навсегда. Аминь.
            this.InBankAction.Active[DO_ACTIVE]    = false;
            this.InPaymentAction.Active[DO_ACTIVE] = false;
        }
Ejemplo n.º 3
0
        private void EnableButton()
        {
            if (View == null || View.CurrentObject == null || View.CurrentObject as fmCPRPaymentRequest == null)
            {
                return;
            }
            fmCPRPaymentRequest current = View.CurrentObject as fmCPRPaymentRequest;

            if (current.State != PaymentRequestStates.TEMPLATE)
            {
                this.CreateTemplate.Enabled[DO_ENABLED] = true;
            }
            else if (current.State == PaymentRequestStates.TEMPLATE)
            {
                this.CreateTemplate.Enabled[DO_ENABLED] = false;
            }

            // Кнопка Утвердить служебны. записку
            if (current.State != PaymentRequestStates.OPEN || current.State != PaymentRequestStates.REGISTERED)
            {
                this.ApproveMemorandum.Enabled[DO_ENABLED] = true;
                if (this.ObjectSpace.GetObjectsToSave(true).Count > 0)
                {
                    this.ApproveMemorandum.Enabled[DO_ENABLED] = false;
                }
            }
            else if (current.State == PaymentRequestStates.TEMPLATE)
            {
                this.ApproveMemorandum.Enabled[DO_ENABLED] = false;
            }

            // В связи с настройка триады кнопок перехода по бизнесс-процессу, две кнопки пока прячем,
            // затем их надо будет удалить навсегда. Аминь.
            this.ApproveMemorandum.Active[DO_ACTIVE] = false;
        }
        private void GetPaymentRequestSumByRepaymentJournal(UnitOfWork uow, fmCPRPaymentRequest PaymentRequest, out Decimal SumIn, out Decimal SunOut, out Decimal SumObligationIn, out Decimal SunObligationOut)
        {
            XPQuery <fmCPRRepaymentJurnal> repaymentJournals = new XPQuery <fmCPRRepaymentJurnal>(uow);
            var queryRepaymentJournals = from repaymentJournal in repaymentJournals
                                         where repaymentJournal.PaymentRequest == PaymentRequest
                                         select repaymentJournal;

            SumIn  = queryRepaymentJournals.Sum(x => x.SumIn);
            SunOut = queryRepaymentJournals.Sum(x => x.SumOut);

            SumObligationIn  = queryRepaymentJournals.Sum(x => x.SumObligationIn);
            SunObligationOut = queryRepaymentJournals.Sum(x => x.SumObligationOut);
        }
Ejemplo n.º 5
0
        private void GetPaymentRequestSumByRepaymentJournal(fmCPRPaymentRequest PaymentRequest, crmBankAccount bankAccount, out Decimal SumIn, out Decimal SunOut, out Decimal SumObligationIn, out Decimal SunObligationOut)
        {
            XPQuery <fmCPRRepaymentJurnal> repaymentJournals = new XPQuery <fmCPRRepaymentJurnal>(this.Session, true);
            var queryRepaymentJournals = (from repaymentJournal in repaymentJournals
                                          where repaymentJournal.PaymentRequest == PaymentRequest &&
                                          repaymentJournal.BankAccount == bankAccount
                                          select repaymentJournal).ToList <fmCPRRepaymentJurnal>();

            SumIn  = queryRepaymentJournals.Sum(x => x.SumIn);
            SunOut = queryRepaymentJournals.Sum(x => x.SumOut);

            SumObligationIn  = queryRepaymentJournals.Sum(x => x.SumObligationIn);
            SunObligationOut = queryRepaymentJournals.Sum(x => x.SumObligationOut);
        }
        private void DeclineAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            if (View == null || e.CurrentObject == null || e.CurrentObject as fmCPRPaymentRequest == null)
            {
                return;
            }
            ObjectSpace.CommitChanges();
            fmCPRPaymentRequest paymentRequest = e.CurrentObject as fmCPRPaymentRequest;

            fmCPRPaymentRequestBusinesLogic.DoDeclineAction(ObjectSpace, paymentRequest);
            ObjectSpace.CommitChanges();
            if (View is DetailView)
            {
                View.Close();
            }
        }
        private void SuspendAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            if (View == null || e.CurrentObject == null || e.CurrentObject as fmCPRPaymentRequest == null)
            {
                return;
            }
            ObjectSpace.CommitChanges();
            fmCPRPaymentRequest paymentRequest = e.CurrentObject as fmCPRPaymentRequest;

            fmCPRPaymentRequestBusinesLogic.DoSuspendAction(ObjectSpace, paymentRequest);
            ObjectSpace.CommitChanges();
            if (View is DetailView)
            {
                View.Close();
            }
            //fmCPRPaymentRequestBusinesLogic.DoTransitAction(ObjectSpace, e.Object as fmCPRPaymentRequest, (PaymentRequestStates)(e.OldValue), (PaymentRequestStates)(e.NewValue));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Привязать созданную заявку, включить в список всех заявок
        /// </summary>
        /// <param name="obj"></param>
        private void BindRequest(fmCPRPaymentRequest request, IObjectSpace workOS)
        {
            if (View.CurrentObject as fmCPRRepaymentTask == null)
            {
                return;
            }
            if (request == null)
            {
                return;
            }
            fmCPRRepaymentTask task  = View.CurrentObject as fmCPRRepaymentTask;
            fmCPRRepaymentTask nTask = workOS.GetObject <fmCPRRepaymentTask>(task);

            // Включение в список заявок в задаче
            nTask.AddRequestToAll(request, true);

            // обработка
            nTask.DoBindingRequest(request, true, 0);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Сумма заявки в рублях по курсу указанной в заявке валюты на указанную там же дату
        /// </summary>
        /// <param name="paymentRequest">Заявка</param>
        /// <param name="valutaPayment">Валюта к которой надо привести сумму</param>
        /// <returns>Сумма в валюте valutaPayment</returns>
        private Decimal GetRequestSumByCourse(fmCPRPaymentRequest paymentRequest, csValuta valutaPayment)
        {
            // Поясение о вычислении. Сумма в заявке - это в валюте обязательств, чтобы её сравнить
            // с суммой платежа, надо перевести по кросс-курсу к валюте платежа и уже полученную сумму сравнить.
            // Предлагается в качестве даты курса брать непустую из двух дат: this.DeductedFromPayerAccount или this.ReceivedByPayerBankDate

            // Тривиальный случай: валюта платежа совпадает с валютой обязательство
            if (paymentRequest.Valuta == valutaPayment)
            {
                return(paymentRequest.Summ);
            }

            // Валюты платежа и обязательств не совпадают. Надо вычислять кросс-курс на дату DateAccountChanged (изменения счёта)
            DateTime DateAccountChanged = (this.ReceivedByPayerBankDate != DateTime.MinValue) ? this.ReceivedByPayerBankDate : ((this.DeductedFromPayerAccount != DateTime.MinValue) ? this.DeductedFromPayerAccount : DateTime.MinValue);
            Decimal  crossCource        = csCNMValutaCourse.GetCrossCourceOnDate(Session, DateAccountChanged, paymentRequest.Valuta, valutaPayment);

            Decimal resultSum = Math.Round(paymentRequest.Summ * crossCource, 4);

            return(resultSum);
        }
        private void StateChange()
        {
            if (View == null || View.CurrentObject == null || View.CurrentObject as fmCPRPaymentRequest == null)
            {
                return;
            }
            fmCPRPaymentRequest current = View.CurrentObject as fmCPRPaymentRequest;

            if (current.State != PaymentRequestStates.IN_PAYMENT && current.State != PaymentRequestStates.IN_BANK)
            {
                return;
            }
            if (current.State == PaymentRequestStates.IN_BANK)
            {
                current.State = PaymentRequestStates.IN_PAYMENT;
            }
            else
            {
                current.State = PaymentRequestStates.IN_BANK;
            }
            EnableButton();
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Создать заявку выбранного типа и показать в модальном окне
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void NewRequestAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            if (e.SelectedChoiceActionItem != null)
            {
                // Вариант с явным показом заявки в модальном окне (пользователь вручную дорабатывает её)
                IObjectSpace workOS = ObjectSpace.CreateNestedObjectSpace();
                //IObjectSpace workOS = ObjectSpace;

                //fmCPRPaymentRequest request = CreateRequest(e.SelectedChoiceActionItem.Data as SuperRequest, workOS);
                SuperRequest        superRequest = e.SelectedChoiceActionItem.Data as SuperRequest;
                fmCPRPaymentRequest request      = fmCPRPaymentRequestBusinesLogic.CreateRequest(workOS, View.CurrentObject as fmCPRRepaymentTask, superRequest.RequestType as Type, GetFinRequestKindByIndex(superRequest.RequestKind));

                Boolean byFin = false;
                if (request.State == PaymentRequestStates.FINANCE_PAYMENT)
                {
                    byFin = true;
                }

                if (request != null)
                {
                    // Привязка
                    BindRequest(request, workOS);
                }

                if (byFin)
                {
                    request.State = PaymentRequestStates.FINANCE_PAYMENT;
                }

                // Показать картинку
                ShowRequest(workOS, request, e.ShowViewParameters);   //, workOS);

                // Сброс выбора в списке
                NewRequestAction.SelectedItem = null;

                // Не обновляется форма в Root после сохранения вложенного ObjectSpace и заявки нет в списке всех заявок
            }
        }
Ejemplo n.º 12
0
        private void CreateCFRegisterRecord(Session ssn, ForCashFlowRecord cashFlowRecord)     //, crmCParty ourParty) {
        {
            crmCashFlowRegister cfr = new crmCashFlowRegister(ssn);

            fmCPRRepaymentTask  repaymentTask  = cashFlowRecord.repaymentTask;
            fmCDocRCB           paymentDoc     = cashFlowRecord.paymentDoc;
            fmCPRPaymentRequest paymentRequest = cashFlowRecord.paymentRequest;

            Guid token = paymentRequest.Oid;

            cfr.Token   = token;
            cfr.Section = CashFlowRegisterSection.REPAYMENT_JOURNAL;

            cfr.SourceGUID = repaymentTask.Oid;   // Будет пустой GUID
            cfr.SourceType = repaymentTask.GetType();

            cfr.PaymentDocument = paymentDoc;
            cfr.BankAccount     = repaymentTask.BankAccount;
            cfr.Bank            = repaymentTask.BankAccount.Bank;
            cfr.OperationDate   = cashFlowRecord.date;

            fmCPRPaymentRequestContract paymentRequestContract = paymentRequest as fmCPRPaymentRequestContract;

            //if (paymentRequestContract != null && paymentRequestContract.ContractDeal != null) {
            //    cfr.Contract = paymentRequestContract.ContractDeal.Contract;
            //}
            if (paymentRequestContract != null)
            {
                cfr.Contract     = paymentRequestContract.Contract;
                cfr.ContractDeal = paymentRequestContract.ContractDeal;
            }

            cfr.fmOrder  = cashFlowRecord.paymentRequestObligation.Order;
            cfr.CostItem = cashFlowRecord.paymentRequestObligation.CostItem;
            cfr.Subject  = (cashFlowRecord.paymentRequestObligation.Order != null) ? cashFlowRecord.paymentRequestObligation.Order.Subject : null;

            cfr.PrimaryParty    = paymentRequest.PartyPaySender;
            cfr.ContragentParty = paymentRequest.PartyPayReceiver;

            //cfr.ObligationUnit =
            //cfr.PaymentItem =

            cfr.ValutaPayment    = paymentDoc.GetAccountValuta();
            cfr.ValutaObligation = cashFlowRecord.paymentRequestObligation.Valuta;

            // В валюте платежа
            //cfr.SumIn = this.PaymentDocument.GetSumIn(this.BankAccount);
            //cfr.SumOut = this.PaymentDocument.GetSumOut(this.BankAccount);

            /*
             * if (paymentDoc.PaymentReceiverRequisites.INN == ourParty.INN) {   // && this.PaymentDocument.PaymentReceiverRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
             *  cfr.SumIn = paymentDoc.PaymentCost;
             * }
             * if (paymentDoc.PaymentPayerRequisites.INN == ourParty.INN) {   // && this.PaymentDocument.PaymentPayerRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
             *  cfr.SumOut = paymentDoc.PaymentCost;
             * }
             */
            if (paymentDoc.PaymentReceiverRequisites.BankAccount == cashFlowRecord.repaymentJournalRecord.BankAccount)     // && this.PaymentDocument.PaymentReceiverRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
            //cfr.SumIn = cashFlowRecord.repaymentJournalRecord.SumIn;
            {
                cfr.SumIn = cashFlowRecord.sum;
            }
            if (paymentDoc.PaymentPayerRequisites.BankAccount == cashFlowRecord.repaymentJournalRecord.BankAccount)     // && this.PaymentDocument.PaymentPayerRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
            //cfr.SumOut = cashFlowRecord.repaymentJournalRecord.SumOut;
            {
                cfr.SumOut = cashFlowRecord.sum;
            }



            // В валюте обязательств

            /*
             * if (paymentDoc.PaymentReceiverRequisites.INN == ourParty.INN) {   // && this.PaymentDocument.PaymentReceiverRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
             *  cfr.SumObligationIn = cashFlowRecord.sum;
             * }
             * if (paymentDoc.PaymentPayerRequisites.INN == ourParty.INN) {   // && this.PaymentDocument.PaymentPayerRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
             *  cfr.SumObligationOut = cashFlowRecord.sum;
             * }
             */
            if (paymentDoc.PaymentReceiverRequisites.BankAccount == cashFlowRecord.repaymentJournalRecord.BankAccount)     // && this.PaymentDocument.PaymentReceiverRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
            //cfr.SumObligationIn = cashFlowRecord.sum;
            {
                cfr.SumObligationIn = Math.Round(cfr.SumIn * csCNMValutaCourse.GetCrossCourceOnDate(ssn, paymentDoc.GetAccountDateChange(), cfr.ValutaPayment, cfr.ValutaObligation), 4);
            }
            if (paymentDoc.PaymentPayerRequisites.BankAccount == cashFlowRecord.repaymentJournalRecord.BankAccount)     // && this.PaymentDocument.PaymentPayerRequisites.StatementOfAccount.BankAccount == this.BankAccount) {
            //cfr.SumObligationOut = cashFlowRecord.sum;
            {
                cfr.SumObligationOut = Math.Round(cfr.SumOut * csCNMValutaCourse.GetCrossCourceOnDate(ssn, paymentDoc.GetAccountDateChange(), cfr.ValutaPayment, cfr.ValutaObligation), 4);
            }

            // В рублях
            try {
                cfr.SumInAcc  = Math.Round(cfr.SumIn * csCNMValutaCourse.GetCrossCourceOnDate(ssn, paymentDoc.GetAccountDateChange(), cfr.ValutaPayment, GetValutaByCode(ssn, "RUB")), 4);
                cfr.SumOutAcc = Math.Round(cfr.SumOut * csCNMValutaCourse.GetCrossCourceOnDate(ssn, paymentDoc.GetAccountDateChange(), cfr.ValutaPayment, GetValutaByCode(ssn, "RUB")), 4);
            }
            catch {
            }

            cfr.PaymentRequestObligationGUID = cashFlowRecord.paymentRequestObligationGUID;

            //if (this.PaymentReceiverRequisites.INN == OurParty.INN && this.PaymentReceiverRequisites.StatementOfAccount.BankAccount == bankAccount) {
            //    Res = this.PaymentCost;
            //}
        }
Ejemplo n.º 13
0
        public Decimal GetSumRepaymentJournalOnDate(Session ssn, DateTime operationDate, fmCDocRCB paymentDoc, fmCPRPaymentRequest paymentRequest)
        {
            Decimal repaymentJournalSum = 0;

            XPQuery <fmCPRRepaymentJurnal> repaymentJournals = new XPQuery <fmCPRRepaymentJurnal>(ssn);
            var repaymentJournalQuery = from repaymentJournal in repaymentJournals
                                        where repaymentJournal.PaymentDocument == paymentDoc &&
                                        repaymentJournal.PaymentDate == operationDate
                                        select repaymentJournal;

            foreach (var repaymentJournal in repaymentJournalQuery)
            {
                repaymentJournalSum += repaymentJournal.SumOut * csCNMValutaCourse.GetCrossCourceOnDate(ssn, repaymentJournal.PaymentDate.Date, repaymentJournal.ValutaPayment, GetValutaByCode(ssn, "RUB"));
            }

            return(repaymentJournalSum);
        }
        private Decimal GetRequestSumByCourse(UnitOfWork uow, fmCDocRCB PaymentDocument, fmCPRPaymentRequest paymentRequest, csValuta valutaPayment)
        {
            // Поясение о вычислении. Сумма в заявке - это в в валюте обязательств, чтобы её сравнить
            // с суммой платежа, надо перевести по кросс-курсу к валюте платежа и уже полученную сумму сравнить. Вопрос: на
            // какой день брать курс? Предлагается брать непустую из двух дат: this.DeductedFromPayerAccount или this.ReceivedByPayerBankDate

            // Тривиальный случай: валюта платежа совпадает с валютой обязательство
            if (paymentRequest.Valuta == valutaPayment)
            {
                return(paymentRequest.Summ);   //.PaymentSumm;
            }


            // Валюты платежа и обязательств не совпадают. Надо вычислять кросс-курс на дату courseDate (изменения счёта)
            DateTime courseDate  = (PaymentDocument.DeductedFromPayerAccount != DateTime.MinValue) ? PaymentDocument.DeductedFromPayerAccount : PaymentDocument.ReceivedByPayerBankDate; //paymentRequest.PayDate;
            Decimal  crossCource = csCNMValutaCourse.GetCrossCourceOnDate(uow, courseDate, paymentRequest.Valuta, valutaPayment);

            Decimal resultSum = Math.Round(paymentRequest.Summ * crossCource, 4);

            return(resultSum);
        }
Ejemplo n.º 15
0
        public virtual void AutoBinding(crmBankAccount BankAccount, fmCPRPaymentRequest PaymentRequest, fmCPRRepaymentTask RepaymentTask)
        {
            // Привязка с распределением счетов

            // Проверка на уже связанность заявки
            XPQuery <fmCPRRepaymentJurnal> repaymentJurnalExists = new XPQuery <fmCPRRepaymentJurnal>(this.Session);
            var queryRepaymentJurnalExists = from repaymentJurnal in repaymentJurnalExists
                                             where repaymentJurnal.PaymentDocument == this
                                             select repaymentJurnal;

            if (queryRepaymentJurnalExists.Count() > 0)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Заявка уже привязана");
                return;
            }

            // Проверка на превышение сумм
            if (RepaymentTask.RepaymentRegisterSum + PaymentRequest.Summ > RepaymentTask.OperationRegisterSum)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Сумма связанных заявок превысит сумму по документам выписки. Привязка невозможна.");
                return;
            }


            // Наша организация
            crmCParty OurParty = GetOurParty();

            // Привязка в принципе возможна, т.е. выбранная заявка добавляется в fmCPRRepaymentJurnal
            fmCPRRepaymentJurnal newRepaymentJournalRecord = new fmCPRRepaymentJurnal(Session);

            newRepaymentJournalRecord.BankAccount = BankAccount;
            //newRepaymentJournalRecord.PaymentDate =
            newRepaymentJournalRecord.PaymentDocument = this;
            newRepaymentJournalRecord.PaymentRequest  = PaymentRequest;
            newRepaymentJournalRecord.PlaneFact       = CRM.Contract.Analitic.PlaneFact.FACT;

            if (OurParty.INN == PaymentRequest.PartyPayReceiver.INN)
            {
                newRepaymentJournalRecord.SumIn = PaymentRequest.Summ;
            }
            if (OurParty.INN == PaymentRequest.PartyPaySender.INN)
            {
                newRepaymentJournalRecord.SumOut = PaymentRequest.Summ;
            }

            newRepaymentJournalRecord.ValutaObligation = PaymentRequest.Valuta;        // Валюта обязательств
            newRepaymentJournalRecord.ValutaPayment    = PaymentRequest.PaymentValuta; // Валюта платежа


            // Обновление таблицы RepaymentTaskLines

            // Удаление всех записей из fmCPRRepaymentTaskLine
            Session.Delete(RepaymentTask.RepaymentTaskLines);
            //Session.PurgeDeletedObjects();

            // Журнал привязок
            XPQuery <fmCPRRepaymentJurnal> repaymentJurnals = new XPQuery <fmCPRRepaymentJurnal>(this.Session);
            var queryRepaymentJurnals = from repaymentJurnal in repaymentJurnals
                                        where repaymentJurnal.PaymentDocument == this
                                        select repaymentJurnal;
            var queryGroupRepaymentJurnals = from repaymentJurnal in queryRepaymentJurnals
                                             group repaymentJurnal by new { repaymentJurnal.PaymentRequest }
            into grj
                select new {
                PaymentRequest = grj.Key.PaymentRequest,
                GroupSumIn     = grj.Sum(row => row.SumIn),
                GroupSumOut    = grj.Sum(row => row.SumOut)
            };

            foreach (var grj in queryGroupRepaymentJurnals)
            {
                // Добавляем запись в fmCPRRepaymentTaskLine
                fmCPRRepaymentTaskLine newLine = new fmCPRRepaymentTaskLine(Session);
                newLine.RepaymentTask = RepaymentTask;
                RepaymentTask.RepaymentTaskLines.Add(newLine);
                newLine.PaymentRequest = PaymentRequest;
                newLine.RequestSum     = grj.GroupSumIn + grj.GroupSumOut; // Одна из них равна 0
            }
        }
Ejemplo n.º 16
0
        private void gridView_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
        {
            XafGridView gridView = (XafGridView)sender;

            selectedPaymentRequest = gridView.GetRow(e.FocusedRowHandle) as fmCPRPaymentRequest;
        }