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); }
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); }