protected virtual void GLIntegrityCheckFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            GLIntegrityCheckFilter filter = Filter.Current;

            bool errorsOnForm = PXUIFieldAttribute.GetErrors(sender, null).Count > 0;

            LedgerList.SetProcessEnabled(!errorsOnForm);
            LedgerList.SetProcessAllEnabled(!errorsOnForm);

            LedgerList.SetProcessDelegate(
                (PostGraph postGraph, Ledger ledger) => Validate(postGraph, ledger, filter));
        }
예제 #2
0
        public GLHistoryValidate()
        {
            GLSetup setup = glsetup.Current;
            GLIntegrityCheckFilter filter = Filter.Current;

            LedgerList.SetProcessCaption(Messages.ProcValidate);
            LedgerList.SetProcessAllCaption(Messages.ProcValidateAll);
            LedgerList.SetProcessDelegate((PostGraph postGraph, Ledger ledger) => Validate(postGraph, ledger, filter));

            PXUIFieldAttribute.SetEnabled <Ledger.selected>(LedgerList.Cache, null, true);
            PXUIFieldAttribute.SetEnabled <Ledger.ledgerCD>(LedgerList.Cache, null, false);
            PXUIFieldAttribute.SetEnabled <Ledger.descr>(LedgerList.Cache, null, false);
        }
        private static void Validate(PostGraph graph, Ledger ledger, GLIntegrityCheckFilter filter)
        {
            if (string.IsNullOrEmpty(filter.FinPeriodID))
            {
                throw new PXException(Messages.Prefix + ": " + Messages.ProcessingRequireFinPeriodID);
            }

            while (RunningFlagScope <PostGraph> .IsRunning)
            {
                System.Threading.Thread.Sleep(10);
            }

            using (new RunningFlagScope <GLHistoryValidate>())
            {
                graph.Clear();
                graph.IntegrityCheckProc(ledger, filter.FinPeriodID);
            }
        }