private Dictionary <string, string> CreateReportParams()
        {
            var branch    = _gafRepository.GetBranchByID(GAFPeriodView.Current.BranchID);
            var taxAgency = _gafRepository.GetVendorsByIDs(GAFPeriodView.Current.TaxAgencyID.SingleToArray()).Single();
            var taxPeriod = _gafRepository.GetTaxPeriodByKey(branch.ParentBranchID, taxAgency.BAccountID, GAFPeriodView.Current.TaxPeriodID);

            return(new Dictionary <string, string>
            {
                ["MasterBranchID"] = branch.BranchCD,
                ["VendorID"] = taxAgency.AcctCD,
                ["TaxPeriodID"] = FinPeriodIDAttribute.FormatForDisplay(taxPeriod.TaxPeriodID)
            });
        }
        protected virtual void FATran_FinPeriodID_FieldVerifying(PXCache sender, PXFieldVerifyingEventArgs e)
        {
            FATran tran = (FATran)e.Row;

            if (tran?.AssetID == null || tran.BookID == null || tran.TranDate == null)
            {
                return;
            }

            try
            {
                // TODO: AC-106141
                // Use BranchID of the fixed asset referenced by local FATran
                FABookPeriod period = PXSelect <
                    FABookPeriod,
                    Where <FABookPeriod.bookID, Equal <Required <FABookPeriod.bookID> >,
                           And <FABookPeriod.finPeriodID, Equal <Required <FABookPeriod.finPeriodID> > > > >
                                      .Select(this, tran.BookID, (string)e.NewValue);

                if (period == null)
                {
                    throw new PXSetPropertyException(Messages.NoPeriodsDefined);
                }

                FABookBalance bal = bookbalances.SelectSingle(tran.AssetID, tran.BookID);


                if ((tran.TranType == FATran.tranType.DepreciationPlus || tran.TranType == FATran.tranType.DepreciationMinus) && tran.Origin == FARegister.origin.Adjustment)
                {
                    if (!string.IsNullOrEmpty(bal.CurrDeprPeriod) && string.CompareOrdinal((string)e.NewValue, bal.CurrDeprPeriod) >= 0)
                    {
                        throw new PXSetPropertyException(CS.Messages.Entry_LT, FinPeriodIDFormattingAttribute.FormatForError(bal.CurrDeprPeriod));
                    }
                    if (!string.IsNullOrEmpty(bal.LastDeprPeriod) && string.CompareOrdinal((string)e.NewValue, bal.LastDeprPeriod) > 0)
                    {
                        throw new PXSetPropertyException(CS.Messages.Entry_LE, FinPeriodIDFormattingAttribute.FormatForError(bal.LastDeprPeriod));
                    }
                    if (!string.IsNullOrEmpty(bal.DeprFromPeriod) && string.CompareOrdinal((string)e.NewValue, bal.DeprFromPeriod) < 0)
                    {
                        throw new PXSetPropertyException(CS.Messages.Entry_GE, FinPeriodIDFormattingAttribute.FormatForError(bal.DeprFromPeriod));
                    }
                }
            }
            catch (PXSetPropertyException)
            {
                e.NewValue = FinPeriodIDAttribute.FormatForDisplay((string)e.NewValue);
                throw;
            }
        }