Ejemplo n.º 1
0
        protected virtual IEnumerable assets()
        {
            DisposalFilter filter = Filter.Current;

            PXSelectBase <FixedAsset> cmd = new PXSelectJoin <FixedAsset,
                                                              InnerJoin <FADetails, On <FixedAsset.assetID, Equal <FADetails.assetID> >,
                                                                         LeftJoin <Account, On <FixedAsset.fAAccountID, Equal <Account.accountID> > > >,
                                                              Where <FADetails.status, NotEqual <FixedAssetStatus.disposed>,
                                                                     And <FADetails.status, NotEqual <FixedAssetStatus.hold>,
                                                                          And <FADetails.status, NotEqual <FixedAssetStatus.suspended> > > > >(this);

            if (filter.BookID != null)
            {
                cmd.Join <InnerJoin <FABookBalance, On <FABookBalance.assetID, Equal <FixedAsset.assetID> > > >();
                cmd.WhereAnd <Where <FABookBalance.bookID, Equal <Current <DisposalFilter.bookID> > > >();
            }

            if (filter.ClassID != null)
            {
                cmd.WhereAnd <Where <FixedAsset.classID, Equal <Current <DisposalFilter.classID> > > >();
            }
            if (PXAccess.FeatureInstalled <FeaturesSet.multipleCalendarsSupport>() || filter.OrgBAccountID != null)
            {
                cmd.WhereAnd <Where <FixedAsset.branchID, Inside <Current <DisposalFilter.orgBAccountID> > > >();
            }
            if (filter.ParentAssetID != null)
            {
                cmd.WhereAnd <Where <FixedAsset.parentAssetID, Equal <Current <DisposalFilter.parentAssetID> > > >();
            }

            int startRow  = PXView.StartRow;
            int totalRows = 0;

            List <PXFilterRow> newFilters = new List <PXFilterRow>();

            foreach (PXFilterRow f in PXView.Filters)
            {
                if (f.DataField.ToLower() == "status")
                {
                    f.DataField = "FADetails__Status";
                }
                newFilters.Add(f);
            }
            List <object> list = cmd.View.Select(PXView.Currents, null, PXView.Searches, PXView.SortColumns, PXView.Descendings, newFilters.ToArray(), ref startRow, PXView.MaximumRows, ref totalRows);

            PXView.StartRow = 0;
            return(list);
        }
Ejemplo n.º 2
0
        protected virtual void DisposalFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            DisposalFilter filter = (DisposalFilter)e.Row;

            if (filter == null)
            {
                return;
            }

            Assets.SetProcessEnabled(filter.DisposalMethodID != null);
            Assets.SetProcessAllEnabled(filter.DisposalMethodID != null);
            PXProcessingStep[] targets = PXAutomation.GetProcessingSteps(this);
            if (targets.Length > 0)
            {
                Assets.SetProcessTarget(targets[0].GraphName,
                                        targets.Length > 1 ? null : targets[0].Name,
                                        targets[0].Actions[0].Name,
                                        targets[0].Actions[0].Menus[0],
                                        filter.DisposalDate,
                                        filter.DisposalPeriodID,
                                        filter.DisposalAmt,
                                        filter.DisposalMethodID,
                                        filter.DisposalAccountID,
                                        filter.DisposalSubID,
                                        filter.DisposalAmtMode,
                                        filter.DeprBeforeDisposal,
                                        filter.Reason);
            }
            else
            {
                throw new PXException(SO.Messages.MissingMassProcessWorkFlow);
            }

            PXUIFieldAttribute.SetEnabled <DisposalFilter.disposalAmt>(sender, e.Row, filter.DisposalAmtMode == DisposalFilter.disposalAmtMode.Automatic);
            PXUIFieldAttribute.SetEnabled <FixedAsset.disposalAmt>(Assets.Cache, null, Filter.Current.DisposalAmtMode == DisposalFilter.disposalAmtMode.Manual);
        }