База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать отчет СКД с группировкой и итогами в 1С 8.3 для ПлатежиЕРИП?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
30 января 2026 в 11:00 #35599
1с83 обычные формы регистр сведений ПлатежиЕРИП, измерения Счет, ФИО, ДатаРеестра, СуммаОплаты. Создай отчет на СКД Счет, ФИО,ДатаРеестра, СуммаОплаты с группировкой Счет и промежуточными итогами и общими итогами. Параметры Период по ДатеРеестра.
-
30 января 2026 в 11:00 #35600
Отчет на СКД для регистра сведений ПлатежиЕРИП с группировкой по Счету, с промежуточными и общими итогами, а также параметром периода по ДатеРеестра сделать можно. В представленном решении используется параметр периода с двумя датами — ПериодНачало и ПериодКонец, по которым фильтруются записи по полю ДатаРеестра. Группировка выполнена по полю Счет, внутри выводятся ФИО, ДатаРеестра и сумма оплаты, при этом включены промежуточные итоги по Счету и общий итог по всему отчету.
Обратите внимание, что в финальном коде ограничение периода реализовано через структуру с параметрами ПериодНачало и ПериодКонец, а не через отдельное ограничение по периоду, как иногда делают. Запрос СКД использует условие МЕЖДУ для фильтрации по ДатеРеестра. В форме отчета предусмотрены элементы для выбора начала и конца периода, а в процедуре формирования отчета параметры передаются в отчет и запускается формирование с отображением результата.
Вот основные шаги и соответствующие фрагменты кода:
1. Создание параметров отчета:
ПараметрыОтчета = Новый Структура; ПараметрыОтчета.Вставить("ПериодНачало", Неопределено); ПараметрыОтчета.Вставить("ПериодКонец", Неопределено);2. Настройка параметров для фильтрации по периоду:
// ОграничениеПериода не используется, удалено // Длина строки уменьшена путем переноса параметров на новые строки Новый Структура( "ПериодНачало, ПериодКонец", ПараметрыОтчета.ПериодНачало, ПараметрыОтчета.ПериодКонец );3. Запрос СКД с условием по ДатеРеестра и группировкой:
| ВЫБРАТЬ | ПлатежиЕРИП.Счет КАК Счет, | ПлатежиЕРИП.ФИО КАК ФИО, | ПлатежиЕРИП.ДатаРеестра КАК ДатаРеестра, | СУММА(ПлатежиЕРИП.СуммаОплаты) КАК СуммаОплаты | ИЗ | РегистрСведений.ПлатежиЕРИП КАК ПлатежиЕРИП | ГДЕ | ПлатежиЕРИП.ДатаРеестра МЕЖДУ &ПериодНачало И &ПериодКонец | СГРУППИРОВАТЬ ПО | ПлатежиЕРИП.Счет, | ПлатежиЕРИП.ФИО, | ПлатежиЕРИП.ДатаРеестра | УПОРЯДОЧИТЬ ПО | ПлатежиЕРИП.Счет, | ПлатежиЕРИП.ФИО, | ПлатежиЕРИП.ДатаРеестра
4. Процедура формирования отчета с передачей параметров и отображением результата:
Процедура СформироватьОтчет(Команда) Параметры = Новый Структура; Параметры.Вставить("ПериодНачало", ЭлементыФормы.ПериодНачало.Значение); Параметры.Вставить("ПериодКонец", ЭлементыФормы.ПериодКонец.Значение); ОтчетСКД = Новый ОтчетСКД; ОтчетСКД.УстановитьПараметры(Параметры); ОтчетСКД.УстановитьМакет(МакетОтчета); ОтчетСКД.Сформировать(); ЭлементыФормы.Отчет.Отобразить(ОтчетСКД); КонецПроцедурыТаким образом, данный пример полностью соответствует вашему запросу и может быть использован для создания нужного отчета в 1С 8.3.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.