База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как найти таблицу с максимальным количеством строк из четырех в 1С? › RE: Как найти таблицу с максимальным количеством строк из четырех в 1С?
1 мая 2025 в 18:00
#32453

Участник
Для поиска таблицы значений из 4 таблиц с максимальным числом строк в 1С, можно использовать следующий код:
1С (Код)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 1C Функция НайтиМаксимальнуюТаблицу(Таблица1, Таблица2, Таблица3, Таблица4) // Создаем массив для хранения количества строк КоличествоСтрок = Новый Массив; // Заполняем массив количеством строк в каждой таблице КоличествоСтрок.Добавить(Таблица1.Количество()); КоличествоСтрок.Добавить(Таблица2.Количество()); КоличествоСтрок.Добавить(Таблица3.Количество()); КоличествоСтрок.Добавить(Таблица4.Количество()); // Находим индекс максимального значения ИндексМаксимума = 0; Для i = 1 По КоличествоСтрок.Количество() Цикл Если КоличествоСтрок[i] > КоличествоСтрок[ИндексМаксимума] Тогда ИндексМаксимума = i; КонецЕсли; КонецЦикла; // Возвращаем таблицу с максимальным количеством строк Возврат ?(ИндексМаксимума = 0, Таблица1, ИндексМаксимума = 1, Таблица2, ИндексМаксимума = 2, Таблица3, Таблица4); КонецФункции |
### Пример использования функции:
1С (Код)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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); |
Этот код позволяет определить, какая из четырех таблиц значений имеет максимальное количество строк и возвращает ее.