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

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

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

        Написать код ля поиска таблицы значений из 4 таблиц с максимальным числом строк

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

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

          1C
          Функция НайтиМаксимальнуюТаблицу(Таблица1, Таблица2, Таблица3, Таблица4)
              // Создаем массив для хранения количества строк
              КоличествоСтрок = Новый Массив;
              
              // Заполняем массив количеством строк в каждой таблице
              КоличествоСтрок.Добавить(Таблица1.Количество());
              КоличествоСтрок.Добавить(Таблица2.Количество());
              КоличествоСтрок.Добавить(Таблица3.Количество());
              КоличествоСтрок.Добавить(Таблица4.Количество());
              
              // Находим индекс максимального значения
              ИндексМаксимума = 0;
              Для i = 1 По КоличествоСтрок.Количество() Цикл
                  Если КоличествоСтрок[i] > КоличествоСтрок[ИндексМаксимума] Тогда
                      ИндексМаксимума = i;
                  КонецЕсли;
              КонецЦикла;
              
              // Возвращаем таблицу с максимальным количеством строк
              Возврат ?(ИндексМаксимума = 0, Таблица1, ИндексМаксимума = 1, Таблица2, ИндексМаксимума = 2, Таблица3, Таблица4);
          КонецФункции
          

          ### Пример использования функции:

          1C
          // Предположим, у нас есть 4 таблицы значений
          Таблица1 = Новый ТаблицаЗначений;
          Таблица2 = Новый ТаблицаЗначений;
          Таблица3 = Новый ТаблицаЗначений;
          Таблица4 = Новый ТаблицаЗначений;
          
          // Заполняем таблицы значениями (пример)
          Таблица1.Колонки.Добавить("СделаноДата");
          Таблица1.Колонки.Добавить("СделаноКоличество");
          Таблица1.Добавить().СделаноДата = "10.04.2025";
          Таблица1.Добавить().СделаноКоличество = 50;
          
          Таблица2.Колонки.Добавить("УпакованоДата");
          Таблица2.Колонки.Добавить("УпакованоКоличество");
          Таблица2.Добавить().УпакованоДата = "11.04.2025";
          Таблица2.Добавить().УпакованоКоличество = 15;
          
          // И так далее для других таблиц...
          
          // Находим таблицу с максимальным количеством строк
          МаксимальнаяТаблица = НайтиМаксимальнуюТаблицу(Таблица1, Таблица2, Таблица3, Таблица4);
          

          Этот код позволяет определить, какая из четырех таблиц значений имеет максимальное количество строк и возвращает ее.

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