Odin | База знаний 1С

Как найти таблицу с...
 

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для поиска таблицы значений из 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);

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



   
ОтветитьЦитата