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