示例#1
0
 //Подготовка архивного отчета для чтения значений
 public void PrepareArchiveReport()
 {
     if (_archiveReport == null)
     {
         Book.AddEvent("Подготовка архивного отчета", CodeFinal);
         try
         {
             _archiveReport = new ArchiveReport(CodeFinal + "_" + Book.FullThreadName, Name, ReportType.Excel, Book.LastChangeLinks);
             if (!IsSave && !IsSystem)
             {
                 foreach (var param in Params.Values)
                 {
                     if (param.IntervalTypes.Count > 0)
                     {
                         var ap  = param.ArchiveParam;
                         var arp = new ArchiveReportParam(param.FullCode, Code, ap.DataType, ap.SuperProcess, ap.FirstParam.CalcParamType, param.IntervalTypes);
                         _archiveReport.AddParam(arp);
                         foreach (var cell in param.Cells)
                         {
                             if (arp.Queries.ContainsKey(cell.IntervalType))
                             {
                                 cell.ArchiveQueryValues = arp.Queries[cell.IntervalType];
                             }
                         }
                         foreach (var shape in param.Shapes)
                         {
                             if (arp.Queries.ContainsKey(shape.IntervalType))
                             {
                                 shape.ArchiveQueryValues = arp.Queries[shape.IntervalType];
                             }
                         }
                         foreach (var t in param.IntervalTypes)
                         {
                             if (t != IntervalType.Empty && !_intervalTypes.Contains(t))
                             {
                                 _intervalTypes.Add(t);
                             }
                         }
                     }
                 }
             }
             using (Book.Start(30))
                 Archive.PrepareReport(_archiveReport);
         }
         catch (Exception ex)
         {
             Book.AddError("Ошибка подготовки архивного расчета", ex);
         }
     }
 }
示例#2
0
        public PrintReport(ArchiveReport report)
        {
            AccountId         = report.AccountId;
            Owner             = report.Owner;
            HeatingStateStart = Math.Round(report.HeatingStartDebit - report.HeatingStartCredit, 2);
            WerStateStart     = Math.Round(report.WerStartDebit - report.WerStartCredit, 2);
            ForHeating        = report.HeatingForService - report.HeatingPreviliges;
            ForWer            = report.WerForMonth - report.WerPreviliges;
            ForWater          = report.WaterForMonth;
            HeatingPayment    = Math.Round(report.HeatingBank + report.HeatingCash, 2);
            double werTotalPayment = Math.Round(report.WerBank + report.WerCash, 2);
            double werPayment      = Math.Round(werTotalPayment - report.WaterForMonth, 2);

            WerPayment      = werTotalPayment == 0.0 ? 0.0 : werPayment < 0.0 ? 0.0 : werPayment;
            WaterPayment    = werTotalPayment == 0.0 ? 0.0 : report.WaterForMonth;
            HeatingStateEnd = Math.Round(report.HeatingEndDebit - report.HeatingEndCredit, 2);
            WerStateEnd     = Math.Round(report.WerEndDebit - report.WerEndCredit, 2);
            MonthAndYear    = $"{Date.GetShortMonth(Date.GetNumMonth(report.Month))}.{report.Year}";
        }