示例#1
0
        private void butFormReport_Click(object sender, EventArgs e)
        {
            if (!GeneralRep.CheckOneSheet(false))
            {
                return;
            }
            var d = DateTime.Now;
            var t = new TimeInterval(Different.MinDate.AddYears(1), d.AddMilliseconds(-d.Millisecond));

            if (!_book.OnlyAbsolute)
            {
                t = _book.CheckPeriodTime(PeriodBegin.Text, PeriodEnd.Text);
                if (t == null)
                {
                    return;
                }
            }
            var fill = FillPages.Text;
            var save = SaveToArchive.Checked;

            _book.IsReportForming          = true;
            _book.Interval                 = new ArchiveInterval(IntervalType.Single, t.Begin, t.End, IntervalName.Text);
            GeneralRep.Application.Visible = false;
            SetCalcMode(true);
            if (_book.ThreadId == 0)
            {
                FormingReport(fill, save);
            }
            else
            {
                if (!_book.PrepareController())
                {
                    Different.MessageError("Ошибка запуска расчета");
                }
                _task = new Thread(() => FormingReport(fill, save))
                {
                    Priority = ThreadPriority.AboveNormal
                };
                _task.Start();
            }
        }
示例#2
0
 private bool SetInitialPeriod()
 {
     _videoBegin     = VideoBegin.Text.ToDateTime();
     _videoEnd       = VideoEnd.Text.ToDateTime();
     _periodLength   = PeriodLength.Text.ToInt();
     _betweenPeriods = BetweenPeriods.Text.ToInt();
     if (_periodLength == 0 || _betweenPeriods == 0)
     {
         Different.MessageInfo("Не заполнена длина интервала отчета или длительность ожидание");
         return(false);
     }
     SaveSettings();
     _periodBegin     = _videoBegin;
     _periodEnd       = _periodBegin.AddMinutes(_periodLength);
     PeriodBegin.Text = _periodBegin.ToString();
     PeriodEnd.Text   = _periodEnd.ToString();
     return(_book.CheckPeriodTime(PeriodBegin.Text, PeriodEnd.Text) != null);
 }
示例#3
0
        private bool SetInitialPeriod()
        {
            _periodLength = PeriodLength.Text.ToInt();
            _sourcesLate  = SourcesLate.Text.ToInt();
            if (_periodLength == 0)
            {
                Different.MessageInfo("Не заполнена длина интервала отчета");
                return(false);
            }
            SaveSettings();
            var d = DateTime.Now.AddMinutes(-_sourcesLate);

            d                = d.Date.AddHours(d.Hour).AddMinutes(d.Minute);
            _periodEnd       = d.AddMinutes(-(d.Minute % _periodLength));
            _periodBegin     = _periodEnd.AddMinutes(-_periodLength);
            PeriodBegin.Text = _periodBegin.ToString();
            PeriodEnd.Text   = _periodEnd.ToString();
            return(_book.CheckPeriodTime(PeriodBegin.Text, PeriodEnd.Text) != null);
        }