Как свернуть таблицу значений по колонке в 1С?

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

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

        как свернуть таблицу значений по определенной калонке в 1С

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

          Для сворачивания таблицы значений по определенной колонке в 1С можно использовать метод `ГруппироватьПо` объекта `ТаблицаЗначений`. Этот метод позволяет сгруппировать строки таблицы по значениям указанной колонки.

          Вот пример кода, который демонстрирует, как это сделать:

          1C
          // Создаем таблицу значений
          Таблица = Новый ТаблицаЗначений;
          Таблица.Колонки.Добавить("Категория");
          Таблица.Колонки.Добавить("Сумма");
          
          // Добавляем данные
          Строка = Таблица.Добавить();
          Строка.Категория = "A";
          Строка.Сумма = 100;
          
          Строка = Таблица.Добавить();
          Строка.Категория = "B";
          Строка.Сумма = 200;
          
          Строка = Таблица.Добавить();
          Строка.Категория = "A";
          Строка.Сумма = 150;
          
          // Создаем новую таблицу для хранения сгруппированных данных
          СгруппированнаяТаблица = Новый ТаблицаЗначений;
          СгруппированнаяТаблица.Колонки.Добавить("Категория");
          СгруппированнаяТаблица.Колонки.Добавить("ИтогСумма");
          
          // Группируем данные
          Для Каждого Строка Из Таблица Цикл
              НайденнаяСтрока = СгруппированнаяТаблица.Найти(Строка.Категория, "Категория");
              Если НайденнаяСтрока = Неопределено Тогда
                  // Если категория не найдена, добавляем новую строку
                  НоваяСтрока = СгруппированнаяТаблица.Добавить();
                  НоваяСтрока.Категория = Строка.Категория;
                  НоваяСтрока.ИтогСумма = Строка.Сумма;
              Иначе
                  // Если категория найдена, суммируем значения
                  НайденнаяСтрока.ИтогСумма = НайденнаяСтрока.ИтогСумма + Строка.Сумма;
              КонецЕсли;
          КонецЦикла;
          
          // Выводим результат
          Для Каждого Строка Из СгруппированнаяТаблица Цикл
              Сообщить("Категория: " + Строка.Категория + ", Итоговая сумма: " + Строка.ИтогСумма);
          КонецЦикла;
          

          В этом примере мы создаем таблицу значений с колонками «Категория» и «Сумма», добавляем несколько строк, а затем группируем данные по колонке «Категория», суммируя значения в колонке «Сумма». Результат выводится в сообщениях.

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

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