Как создать отчет по накоплению бонусных баллов за период в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как создать отчет по накоплению бонусных баллов за период в 1С?

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

        Нужен отчет, который выведет накопление бонусных баллов за определенный период. Например, на первое января накоплено 150 бонусов, а на первое февраля 250 бонусов, отчет должен вывести 100 бонусов

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

          Для создания отчета, который будет выводить накопление бонусных баллов за определенный период, вам нужно использовать систему компоновки данных в 1С:Предприятие. Предположим, что у вас есть регистр накопления, который хранит информацию о бонусных баллах.

          Вот примерный алгоритм и код для создания такого отчета:

          1. **Создайте новый отчет** в конфигурации и откройте конструктор схемы компоновки данных.

          2. **Добавьте набор данных** с запросом к регистру накопления бонусных баллов. Например, предположим, что у вас есть регистр накопления `БонусныеБаллы`.

          3. **Напишите запрос** для получения данных о бонусах за указанный период. Пример запроса:

          sql
          ВЫБРАТЬ
              БонусныеБаллы.Период,
              СУММА(БонусныеБаллы.Количество) КАК НакопленныеБонусы
          ИЗ
              РегистрНакопления.БонусныеБаллы.История(&НачалоПериода, &КонецПериода) КАК БонусныеБаллы
          СГРУППИРОВАТЬ ПО
              БонусныеБаллы.Период
          

          4. **Добавьте параметры** для выбора периода отчета. Например, параметры `НачалоПериода` и `КонецПериода`.

          5. **Создайте вычисляемое поле** для расчета разницы между накопленными бонусами на начало и конец периода. Например:

          1C
          НакопленныеБонусы = НакопленныеБонусыНаКонец - НакопленныеБонусыНаНачало
          

          6. **Настройте вывод данных** в табличном документе, чтобы отобразить результаты.

          7. **Сформируйте отчет** и проверьте его на тестовых данных.

          Пример кода для вычисляемого поля:

          1C
          Если НакопленныеБонусыНаКонец  Неопределено И НакопленныеБонусыНаНачало  Неопределено Тогда
              Результат = НакопленныеБонусыНаКонец - НакопленныеБонусыНаНачало;
          Иначе
              Результат = 0;
          КонецЕсли;
          

          Таким образом, вы получите отчет, который будет выводить накопление бонусных баллов за указанный период.

          Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/102435/

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