Ejemplo n.º 1
0
        public virtual FABookPeriod.Key GetKeyFromReportParameters(
            PXGraph graph,
            object[] parameters,
            ReportParametersFlag reportParametersMask)
        {
            ParameterEvaluator <ReportParametersFlag> parameterEvaluator = new ParameterEvaluator <ReportParametersFlag>(reportParametersMask, parameters);

            HashSet <int?> branchIDs = new HashSet <int?>();
            int?           branchID  = (int?)parameterEvaluator[ReportParametersFlag.Branch];

            if (branchID != null)
            {
                branchIDs.Add(branchID);
            }
            branchIDs.AddRange(PXAccess.GetBranchIDsByBAccount((int?)parameterEvaluator[ReportParametersFlag.BAccount]).Cast <int?>());

            FAKeyWithSourceValues keyWithSourceValuesItem = EvaluateRawKey(graph,
                                                                           new FAKeyWithSourceValues()
            {
                SpecificationItem     = CachedSourcesSpecification.MainSpecificationItem,
                SourceOrganizationIDs = ((int?)parameterEvaluator[ReportParametersFlag.Organization]).SingleToList(),
                SourceBranchIDs       = branchIDs.ToList(),
                SourceAssetIDs        = ((int?)parameterEvaluator[ReportParametersFlag.FixedAsset]).SingleToList(),
                SourceBookIDs         = ((int?)parameterEvaluator[ReportParametersFlag.Book]).SingleToList()
            });

            if (keyWithSourceValuesItem.Key.OrganizationID == null && UseMasterOrganizationIDByDefault)
            {
                keyWithSourceValuesItem.Key.OrganizationID = MasterValue;
            }

            return(keyWithSourceValuesItem.Key);
        }