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