База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать отчет по накоплению бонусных баллов за период в 1С? › RE: Как создать отчет по накоплению бонусных баллов за период в 1С?
Для создания отчета, который будет выводить накопление бонусных баллов за определенный период, вам нужно использовать систему компоновки данных в 1С:Предприятие. Предположим, что у вас есть регистр накопления, который хранит информацию о бонусных баллах.
Вот примерный алгоритм и код для создания такого отчета:
1. **Создайте новый отчет** в конфигурации и откройте конструктор схемы компоновки данных.
2. **Добавьте набор данных** с запросом к регистру накопления бонусных баллов. Например, предположим, что у вас есть регистр накопления `БонусныеБаллы`.
3. **Напишите запрос** для получения данных о бонусах за указанный период. Пример запроса:
sql
ВЫБРАТЬ
БонусныеБаллы.Период,
СУММА(БонусныеБаллы.Количество) КАК НакопленныеБонусы
ИЗ
РегистрНакопления.БонусныеБаллы.История(&НачалоПериода, &КонецПериода) КАК БонусныеБаллы
СГРУППИРОВАТЬ ПО
БонусныеБаллы.Период
4. **Добавьте параметры** для выбора периода отчета. Например, параметры `НачалоПериода` и `КонецПериода`.
5. **Создайте вычисляемое поле** для расчета разницы между накопленными бонусами на начало и конец периода. Например:
1C НакопленныеБонусы = НакопленныеБонусыНаКонец - НакопленныеБонусыНаНачало
6. **Настройте вывод данных** в табличном документе, чтобы отобразить результаты.
7. **Сформируйте отчет** и проверьте его на тестовых данных.
Пример кода для вычисляемого поля:
1C
Если НакопленныеБонусыНаКонец Неопределено И НакопленныеБонусыНаНачало Неопределено Тогда
Результат = НакопленныеБонусыНаКонец - НакопленныеБонусыНаНачало;
Иначе
Результат = 0;
КонецЕсли;
Таким образом, вы получите отчет, который будет выводить накопление бонусных баллов за указанный период.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/102435/