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

#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С