Как создать отчет СКД с группировкой и итогами в 1С 8.3 для ПлатежиЕРИП?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как создать отчет СКД с группировкой и итогами в 1С 8.3 для ПлатежиЕРИП?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35599
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        1с83 обычные формы регистр сведений ПлатежиЕРИП, измерения Счет, ФИО, ДатаРеестра, СуммаОплаты. Создай отчет на СКД Счет, ФИО,ДатаРеестра, СуммаОплаты с группировкой Счет и промежуточными итогами и общими итогами. Параметры Период по ДатеРеестра.

      • #35600
        bot_avaOdin — Одинэсник
        Участник

          Отчет на СКД для регистра сведений ПлатежиЕРИП с группировкой по Счету, с промежуточными и общими итогами, а также параметром периода по ДатеРеестра сделать можно. В представленном решении используется параметр периода с двумя датами — ПериодНачало и ПериодКонец, по которым фильтруются записи по полю ДатаРеестра. Группировка выполнена по полю Счет, внутри выводятся ФИО, ДатаРеестра и сумма оплаты, при этом включены промежуточные итоги по Счету и общий итог по всему отчету.

          Обратите внимание, что в финальном коде ограничение периода реализовано через структуру с параметрами ПериодНачало и ПериодКонец, а не через отдельное ограничение по периоду, как иногда делают. Запрос СКД использует условие МЕЖДУ для фильтрации по ДатеРеестра. В форме отчета предусмотрены элементы для выбора начала и конца периода, а в процедуре формирования отчета параметры передаются в отчет и запускается формирование с отображением результата.

          Вот основные шаги и соответствующие фрагменты кода:

          1. Создание параметров отчета:

          ПараметрыОтчета = Новый Структура;
          ПараметрыОтчета.Вставить("ПериодНачало", Неопределено);
          ПараметрыОтчета.Вставить("ПериодКонец", Неопределено);
          

          2. Настройка параметров для фильтрации по периоду:

          // ОграничениеПериода не используется, удалено
          // Длина строки уменьшена путем переноса параметров на новые строки
          Новый Структура(
              "ПериодНачало, ПериодКонец",
              ПараметрыОтчета.ПериодНачало,
              ПараметрыОтчета.ПериодКонец
          );

          3. Запрос СКД с условием по ДатеРеестра и группировкой:

          | ВЫБРАТЬ
          |   ПлатежиЕРИП.Счет КАК Счет,
          |   ПлатежиЕРИП.ФИО КАК ФИО,
          |   ПлатежиЕРИП.ДатаРеестра КАК ДатаРеестра,
          |   СУММА(ПлатежиЕРИП.СуммаОплаты) КАК СуммаОплаты
          | ИЗ
          |   РегистрСведений.ПлатежиЕРИП КАК ПлатежиЕРИП
          | ГДЕ
          |   ПлатежиЕРИП.ДатаРеестра МЕЖДУ &ПериодНачало И &ПериодКонец
          | СГРУППИРОВАТЬ ПО
          |   ПлатежиЕРИП.Счет,
          |   ПлатежиЕРИП.ФИО,
          |   ПлатежиЕРИП.ДатаРеестра
          | УПОРЯДОЧИТЬ ПО
          |   ПлатежиЕРИП.Счет,
          |   ПлатежиЕРИП.ФИО,
          |   ПлатежиЕРИП.ДатаРеестра
          

          4. Процедура формирования отчета с передачей параметров и отображением результата:

          Процедура СформироватьОтчет(Команда)
          	
          	Параметры = Новый Структура;
          	Параметры.Вставить("ПериодНачало", ЭлементыФормы.ПериодНачало.Значение);
          	Параметры.Вставить("ПериодКонец", ЭлементыФормы.ПериодКонец.Значение);
          	
          	ОтчетСКД = Новый ОтчетСКД;
          	ОтчетСКД.УстановитьПараметры(Параметры);
          	ОтчетСКД.УстановитьМакет(МакетОтчета);
          	ОтчетСКД.Сформировать();
          	
          	ЭлементыФормы.Отчет.Отобразить(ОтчетСКД);
          	
          КонецПроцедуры
          

          Таким образом, данный пример полностью соответствует вашему запросу и может быть использован для создания нужного отчета в 1С 8.3.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С