示例#1
0
        protected void baseVATPeriodFilterRowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            VATPeriodFilter filter = e.Row as VATPeriodFilter;

            if (filter?.OrganizationID == null)
            {
                return;
            }

            Organization organization = OrganizationMaint.FindOrganizationByID(this, filter.OrganizationID);

            if (organization.FileTaxesByBranches == true && filter.BranchID == null ||
                filter.VendorID == null || filter.TaxPeriodID == null)
            {
                return;
            }

            TaxPeriod taxPeriod = Period.Select();

            int?maxRevision = ReportTaxProcess.CurrentRevisionId(sender.Graph, filter.OrganizationID, filter.BranchID, filter.VendorID, filter.TaxPeriodID);

            filter.StartDate = taxPeriod?.StartDateUI;
            filter.EndDate   = taxPeriod?.EndDate != null     ? (DateTime?)(((DateTime)taxPeriod.EndDate).AddDays(-1)) : null;

            PXUIFieldAttribute.SetEnabled <VATPeriodFilter.revisionId>(sender, null, maxRevision > 1);
            PXUIFieldAttribute.SetEnabled <VATPeriodFilter.taxPeriodID>(sender, null, true);
        }
示例#2
0
        protected virtual void baseTaxPeriodFilterRowUpdated(PXCache sender, PXRowUpdatedEventArgs e)
        {
            VATPeriodFilter filter = (VATPeriodFilter)e.Row;

            if (filter == null)
            {
                return;
            }

            if (!sender.ObjectsEqual <VATPeriodFilter.organizationID, VATPeriodFilter.branchID>(e.Row, e.OldRow))
            {
                List <PXView> views = this.Views.Select(view => view.Value).ToList();
                foreach (var view in views)
                {
                    view.Clear();
                }
            }

            if (!sender.ObjectsEqual <VATPeriodFilter.organizationID>(e.Row, e.OldRow) ||
                !sender.ObjectsEqual <VATPeriodFilter.branchID>(e.Row, e.OldRow) ||
                !sender.ObjectsEqual <VATPeriodFilter.vendorID>(e.Row, e.OldRow))
            {
                if (filter.OrganizationID != null && filter.VendorID != null)
                {
                    PX.Objects.TX.TaxPeriod taxper = TaxYearMaint.FindPreparedPeriod(this, filter.OrganizationID, filter.VendorID);

                    if (taxper != null)
                    {
                        filter.TaxPeriodID = taxper.TaxPeriodID;
                    }
                    else
                    {
                        taxper             = TaxYearMaint.FindLastClosedPeriod(this, filter.OrganizationID, filter.VendorID);
                        filter.TaxPeriodID = taxper != null ? taxper.TaxPeriodID : null;
                    }
                }
                else
                {
                    filter.TaxPeriodID = null;
                }
            }

            Organization organization = OrganizationMaint.FindOrganizationByID(this, filter.OrganizationID);

            if (!sender.ObjectsEqual <VATPeriodFilter.organizationID>(e.Row, e.OldRow) ||
                !sender.ObjectsEqual <VATPeriodFilter.branchID>(e.Row, e.OldRow) ||
                !sender.ObjectsEqual <VATPeriodFilter.vendorID>(e.Row, e.OldRow) ||
                !sender.ObjectsEqual <VATPeriodFilter.taxPeriodID>(e.Row, e.OldRow) ||
                filter.RevisionId == null)
            {
                if (filter.OrganizationID != null &&
                    (filter.BranchID != null && organization.FileTaxesByBranches == true || organization.FileTaxesByBranches != true) &&
                    filter.VendorID != null && filter.TaxPeriodID != null)
                {
                    filter.RevisionId = ReportTaxProcess.CurrentRevisionId(this, filter.OrganizationID, filter.BranchID, filter.VendorID, filter.TaxPeriodID);
                }
                else
                {
                    filter.RevisionId = null;
                }
            }
        }