База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как найти таблицу с максимальным количеством строк из четырех в 1С? › RE: Как найти таблицу с максимальным количеством строк из четырех в 1С?
1 мая 2025 в 18:00
#32453
Для поиска таблицы значений из 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);
Этот код позволяет определить, какая из четырех таблиц значений имеет максимальное количество строк и возвращает ее.