コード例 #1
0
        protected virtual void CATransfer_InAccountID_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
        {
            CATransfer   transfer      = e.Row as CATransfer;
            CashAccount  cashaccountIn = (CashAccount)PXSelectorAttribute.Select <CATransfer.inAccountID>(sender, transfer);
            CurrencyInfo currinfo      = CurInfoIN.Select();

            if (cashaccountIn?.CuryRateTypeID != null)
            {
                currinfo.CuryRateTypeID = cashaccountIn.CuryRateTypeID;
            }
            else
            {
                CMSetup cmsetup = PXSelect <CMSetup> .Select(this);

                if (!string.IsNullOrEmpty(cmsetup?.CARateTypeDflt))
                {
                    currinfo.CuryRateTypeID = cmsetup.CARateTypeDflt;
                }
            }
            sender.SetDefaultExt <CATransfer.inCuryID>(transfer);
            CurInfoIN.Cache.RaiseFieldUpdated <CurrencyInfo.curyRateTypeID>(currinfo, null);

            if (cashaccountIn?.Reconcile != true)
            {
                transfer.ClearedIn   = true;
                transfer.ClearDateIn = transfer.InDate;
            }
            else
            {
                transfer.ClearedIn   = false;
                transfer.ClearDateIn = null;
            }
            CurrencyInfoAttribute.SetEffectiveDate <CATransfer.inDate, CATransfer.inCuryInfoID>(sender, e);
        }
コード例 #2
0
        public GeneralLedgerMaint()
        {
            CMSetup record = cmsetup.Current;

            PXUIFieldAttribute.SetVisible <Ledger.baseCuryID>(LedgerRecords.Cache, null, record.MCActivated == true);
            PXUIFieldAttribute.SetEnabled <Ledger.baseCuryID>(LedgerRecords.Cache, null, record.MCActivated == true);
        }
コード例 #3
0
        protected virtual void CATransfer_OutAccountID_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
        {
            CATransfer  transfer       = e.Row as CATransfer;
            CashAccount cashaccountOut = (CashAccount)PXSelectorAttribute.Select <CATransfer.outAccountID>(sender, e.Row);

            CurrencyInfo currinfo = CurInfoOUT.Select();

            if (cashaccountOut?.CuryRateTypeID != null)
            {
                currinfo.CuryRateTypeID = cashaccountOut.CuryRateTypeID;
            }
            else
            {
                CMSetup cmsetup = PXSelect <CMSetup> .Select(this);

                if (!string.IsNullOrEmpty(cmsetup?.CARateTypeDflt))
                {
                    currinfo.CuryRateTypeID = cmsetup.CARateTypeDflt;
                }
            }
            sender.SetDefaultExt <CATransfer.outCuryID>(transfer);
            CurInfoOUT.Update(currinfo);

            if (cashaccountOut?.Reconcile != true)
            {
                transfer.ClearedOut   = true;
                transfer.ClearDateOut = transfer.OutDate;
            }
            else
            {
                transfer.ClearedOut   = false;
                transfer.ClearDateOut = null;
            }
            CurrencyInfoAttribute.SetEffectiveDate <CATransfer.outDate, CATransfer.outCuryInfoID>(sender, e);
        }
コード例 #4
0
        /// <summary>
        /// Duplicates <see cref="UpdateCuryInfoExpense(PXCache, CAExpense)"/>. Should be refactored.
        /// </summary>
        public virtual void CATransfer_RowInserted(PXCache sender, PXRowInsertedEventArgs e)
        {
            var row = (CATransfer)e.Row;

            CashAccount  cashaccountOut = (CashAccount)PXSelectorAttribute.Select <CATransfer.outAccountID>(sender, row);
            CurrencyInfo currinfoOut    = PXSelect <CurrencyInfo, Where <CurrencyInfo.curyInfoID, Equal <Required <CATransfer.outCuryInfoID> >,
                                                                         And <CurrencyInfo.curyID, Equal <Required <CATransfer.outCuryID> > > > > .Select(this, row.OutCuryInfoID, row.OutCuryID);

            if (currinfoOut == null)
            {
                return;
            }

            if (cashaccountOut?.CuryRateTypeID != null)
            {
                currinfoOut.CuryRateTypeID = cashaccountOut.CuryRateTypeID;
            }
            else
            {
                CMSetup cmsetup = PXSelect <CMSetup> .Select(this);

                if (!string.IsNullOrEmpty(cmsetup?.CARateTypeDflt))
                {
                    currinfoOut.CuryRateTypeID = cmsetup.CARateTypeDflt;
                }
            }
            CuryInfo.Update(currinfoOut);

            CashAccount  cashaccountIn = (CashAccount)PXSelectorAttribute.Select <CATransfer.outAccountID>(sender, row);
            CurrencyInfo currinfoIn    = PXSelect <CurrencyInfo, Where <CurrencyInfo.curyInfoID, Equal <Required <CATransfer.inCuryInfoID> >,
                                                                        And <CurrencyInfo.curyID, Equal <Required <CATransfer.inCuryID> > > > > .Select(this, row.InCuryInfoID, row.InCuryID);

            if (cashaccountIn == null)
            {
                return;
            }

            if (cashaccountIn?.CuryRateTypeID != null)
            {
                currinfoIn.CuryRateTypeID = cashaccountIn.CuryRateTypeID;
            }
            else
            {
                CMSetup cmsetup = PXSelect <CMSetup> .Select(this);

                if (!string.IsNullOrEmpty(cmsetup?.CARateTypeDflt))
                {
                    currinfoIn.CuryRateTypeID = cmsetup.CARateTypeDflt;
                }
            }
            CuryInfo.Update(currinfoIn);
        }
コード例 #5
0
        protected virtual void ItemFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            ItemFilter filter = e.Row as ItemFilter;

            if (filter == null)
            {
                return;
            }
            CMSetup cmsetup = CMSetup.Current;

            PXUIFieldAttribute.SetEnabled(sender, e.Row, typeof(OwnedFilter.ownerID).Name, e.Row == null || (bool?)sender.GetValue(e.Row, typeof(OwnedFilter.myOwner).Name) == false);
            PXUIFieldAttribute.SetEnabled(sender, e.Row, typeof(OwnedFilter.workGroupID).Name, e.Row == null || (bool?)sender.GetValue(e.Row, typeof(OwnedFilter.myWorkGroup).Name) == false);
        }
コード例 #6
0
        public AccountMaint()
        {
            if (string.IsNullOrEmpty(Company.Current.BaseCuryID))
            {
                throw new PXSetupNotEnteredException(ErrorMessages.SetupNotEntered, typeof(Company), CS.Messages.BranchMaint);
            }
            if (IsCOAOrderVisible == null)
            {
                IsCOAOrderVisible = (GLSetup.Current.COAOrder > 3);
                PXUIFieldAttribute.SetVisible <Account.cOAOrder>(AccountRecords.Cache, null, (bool)IsCOAOrderVisible);
                PXUIFieldAttribute.SetEnabled <Account.cOAOrder>(AccountRecords.Cache, null, (bool)IsCOAOrderVisible);
            }
            CMSetup record = cmsetup.Current;

            PXUIFieldAttribute.SetVisible <Account.curyID>(AccountRecords.Cache, null, (bool)record.MCActivated);
            PXUIFieldAttribute.SetEnabled <Account.curyID>(AccountRecords.Cache, null, (bool)record.MCActivated);

            PXUIFieldAttribute.SetVisible <Account.revalCuryRateTypeId>(AccountRecords.Cache, null, (bool)record.MCActivated);
            PXUIFieldAttribute.SetEnabled <Account.revalCuryRateTypeId>(AccountRecords.Cache, null, (bool)record.MCActivated);
        }
コード例 #7
0
        protected virtual void PayBillsFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            PayBillsFilter filter = e.Row as PayBillsFilter;

            if (filter == null)
            {
                return;
            }
            CMSetup cmsetup = CMSetup.Current;

            PXUIFieldAttribute.SetVisible <PayBillsFilter.curyID>(sender, filter, (bool)cmsetup.MCActivated);

            CurrencyInfo info = CurrencyInfo_CuryInfoID.Select(filter.CuryInfoID);

            ARDocumentList.SetProcessDelegate(
                delegate(List <ARInvoice> list)
            {
                CreatePayments(list, filter, info);
            }
                );
        }
コード例 #8
0
        public string DefaultRateTypeID(string moduleCode)
        {
            string  rateType = null;
            CMSetup CMSetup  = (CMSetup)Graph.Caches[typeof(CMSetup)].Current;

            if (CMSetup == null)
            {
                CMSetup = PXSelectReadonly <CMSetup> .Select(Graph);
            }
            if (CMSetup != null && PXAccess.FeatureInstalled <CS.FeaturesSet.multicurrency>())
            {
                switch (moduleCode)
                {
                case GL.BatchModule.CA:
                    rateType = CMSetup.CARateTypeDflt;
                    break;

                case GL.BatchModule.AP:
                    rateType = CMSetup.APRateTypeDflt;
                    break;

                case GL.BatchModule.AR:
                    rateType = CMSetup.ARRateTypeDflt;
                    break;

                case GL.BatchModule.GL:
                    rateType = CMSetup.GLRateTypeDflt;
                    break;

                case GL.BatchModule.PM:
                    rateType = CMSetup.PMRateTypeDflt;
                    break;

                default:
                    rateType = null;
                    break;
                }
            }
            return(rateType);
        }
コード例 #9
0
        private void UpdateCuryInfoExpense(PXCache sender, CAExpense row)
        {
            if (row.CashAccountID == null)
            {
                return;
            }

            CashAccount  cashaccount = (CashAccount)PXSelectorAttribute.Select <CAExpense.cashAccountID>(sender, row);
            CurrencyInfo currinfo    = PXSelect <CurrencyInfo, Where <CurrencyInfo.curyInfoID, Equal <Required <CAExpense.curyInfoID> >,
                                                                      And <CurrencyInfo.curyID, Equal <Required <CAExpense.curyID> > > > > .Select(this, row.CuryInfoID, row.CuryID);

            if (currinfo == null)
            {
                return;
            }

            if (currinfo.CuryID != cashaccount.CuryID)
            {
                currinfo.CuryID = cashaccount.CuryID;
                CuryInfo.Update(currinfo);
            }

            if (cashaccount?.CuryRateTypeID != null)
            {
                currinfo.CuryRateTypeID = cashaccount.CuryRateTypeID;
            }
            else
            {
                CMSetup cmsetup = PXSelect <CMSetup> .Select(this);

                if (!string.IsNullOrEmpty(cmsetup?.CARateTypeDflt))
                {
                    currinfo.CuryRateTypeID = cmsetup.CARateTypeDflt;
                }
            }
            CuryInfo.Update(currinfo);

            sender.SetDefaultExt <CAExpense.curyID>(row);
        }
コード例 #10
0
        protected virtual void CATransfer_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            CATransfer transfer = (CATransfer)e.Row;

            if (transfer == null)
            {
                return;
            }
            CMSetup setup = cmsetup.Current;

            transfer.RGOLAmt = transfer.TranIn - transfer.TranOut;

            bool transferOnHold      = (transfer.Hold == true);
            bool transferNotReleased = (transfer.Released != true);
            bool transferReleased    = (transfer.Released == true);
            bool msActivated         = (setup.MCActivated == true);

            PXUIFieldAttribute.SetVisible <CATransfer.inCuryID>                             (sender, transfer, msActivated);
            PXUIFieldAttribute.SetVisible <CATransfer.outCuryID>                            (sender, transfer, msActivated);
            PXUIFieldAttribute.SetVisible <CATransfer.rGOLAmt>                              (sender, transfer, msActivated);
            PXUIFieldAttribute.SetVisible <CATransfer.inGLBalance>                          (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetVisible <CATransfer.outGLBalance>                     (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetVisible <CATransfer.cashBalanceIn>                    (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetVisible <CATransfer.cashBalanceOut>                   (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetVisible <CATransfer.tranIDIn_CATran_batchNbr> (sender, transfer, transferReleased);
            PXUIFieldAttribute.SetVisible <CATransfer.tranIDOut_CATran_batchNbr>(sender, transfer, transferReleased);

            PXUIFieldAttribute.SetEnabled(sender, transfer, false);


            AddTrxFilter filter = AddFilter.Current;

            if (filter != null)
            {
                PXUIFieldAttribute.SetEnabled(AddFilter.Cache, filter, transferNotReleased);
                AddFilter.Cache.AllowUpdate = transferNotReleased;
            }

            sender.AllowDelete             = transferNotReleased;
            sender.AllowUpdate             = transferNotReleased;
            TransferTran.Cache.AllowDelete = transferNotReleased;


            CashAccount cashaccountOut = (CashAccount)PXSelectorAttribute.Select <CATransfer.outAccountID>(sender, e.Row);
            CashAccount cashaccountIn  = (CashAccount)PXSelectorAttribute.Select <CATransfer.inAccountID>(sender, e.Row);

            bool clearEnabledIn  = transferNotReleased && (cashaccountIn != null) && (cashaccountIn.Reconcile == true);
            bool clearEnabledOut = transferNotReleased && (cashaccountOut != null) && (cashaccountOut.Reconcile == true);

            PXUIFieldAttribute.SetEnabled <CATransfer.hold>        (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.transferNbr> (sender, transfer, true);
            PXUIFieldAttribute.SetEnabled <CATransfer.descr>       (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.curyTranIn>  (sender, transfer, transferNotReleased && (transfer.OutCuryID != transfer.InCuryID));
            PXUIFieldAttribute.SetEnabled <CATransfer.inAccountID> (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.inDate>      (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.inExtRefNbr> (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.curyTranOut> (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.outAccountID>(sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.outDate>     (sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.outExtRefNbr>(sender, transfer, transferNotReleased);
            PXUIFieldAttribute.SetEnabled <CATransfer.clearedOut>  (sender, transfer, clearEnabledOut);
            PXUIFieldAttribute.SetEnabled <CATransfer.clearDateOut>(sender, transfer, clearEnabledOut && transfer.ClearedOut == true);
            PXUIFieldAttribute.SetEnabled <CATransfer.clearedIn>   (sender, transfer, clearEnabledIn);
            PXUIFieldAttribute.SetEnabled <CATransfer.clearDateIn> (sender, transfer, clearEnabledIn && transfer.ClearedIn == true);


            TransferTran.Cache.AllowInsert = false;
            TransferTran.Cache.AllowUpdate = false;

            AddFilter.Cache.RaiseRowSelected(AddFilter.Current);

            Release.SetEnabled(transferNotReleased && !transferOnHold);
            PrepareAdd.SetEnabled(transferNotReleased);
        }