Как добавить итоги по месяцу и вывести название месяца в запросе 1С?

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

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

        получить в этом запросе еще и итого по месяцу и вывести название месяца в начале группировки и итог в конце
        ВЫБРАТЬ
        ХозрасчетныйОстатки.Субконто3 КАК Документ,
        ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт КАК ОстатокКт
        ИЗ
        РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
        ГДЕ
        ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт > 0

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

          8

          Для получения итого по месяцу и вывода названия месяца в начале группировки, а итога — в конце, нужно в запрос добавить группировку по месяцу, вычислить месяц и название месяца, а также использовать объединение с итоговой строкой.

          Пример запроса с такими доработками:

          1C
          ВЫБРАТЬ
              НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ) КАК Месяц,
              Формат(НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ), "ММММ") КАК НазваниеМесяца,
              ХозрасчетныйОстатки.Субконто3 КАК Документ,
              СУММА(ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт) КАК ОстатокКт
          ИЗ
              РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
          ГДЕ
              ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт > 0
          СГРУППИРОВАТЬ ПО
              Месяц,
              НазваниеМесяца,
              Документ
          
          ОБЪЕДИНИТЬ ВСЕ
          
          ВЫБРАТЬ
              Месяц,
              НазваниеМесяца,
              NULL КАК Документ,
              СУММА(ОстатокКт) КАК ОстатокКт
          ИЗ
          (
              ВЫБРАТЬ
                  НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ) КАК Месяц,
                  Формат(НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ), "ММММ") КАК НазваниеМесяца,
                  ХозрасчетныйОстатки.Субконто3 КАК Документ,
                  ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт КАК ОстатокКт
              ИЗ
                  РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
              ГДЕ
                  ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт > 0
          ) КАК ВнутреннийЗапрос
          СГРУППИРОВАТЬ ПО
              Месяц,
              НазваниеМесяца
          
          УПОРЯДОЧИТЬ ПО
              Месяц,
              Документ NULLS LAST
          

          Объяснение:

          — В первой части запроса выбираются данные с группировкой по месяцу, названию месяца и документу, чтобы получить детализацию.
          — Во второй части — итог по месяцу (Документ = NULL), сумма по всем документам месяца.
          — Объединение `ОБЪЕДИНИТЬ ВСЕ` позволяет вывести сначала детальные строки, затем итоговые.
          — Сортировка по месяцу и по документу с NULLS LAST гарантирует, что итоги будут в конце каждой группы.
          — Название месяца выводится в каждой строке, можно в интерфейсе отчета настроить отображение только в начале группы.

          Если нужно, чтобы название месяца выводилось только в первой строке группы, а в остальных было пусто — это уже задача оформления отчета (например, в табличном документе или СКД с условным форматированием).

          Рекомендую посмотреть здесь: https://infostart.ru/public/77916/ — пример работы с группировками и итогами в запросах и отчетах 1С.

          # Кратко

          — Добавить вычисление месяца и названия месяца через НАЧАЛОПЕРИОДА и Формат.
          — Сделать группировку по месяцу и документу.
          — Добавить объединение с итоговой строкой по месяцу.
          — Отсортировать так, чтобы итоги шли в конце.
          — В отчете оформить вывод названия месяца в начале группы.

          Если нужна помощь с оформлением в табличном документе или СКД — могу помочь дополнительно.

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