Цикл в цикле

1. user1835100 15.11.23 16:41 Сейчас в теме
Всем привет! Имеется кусок кода, в котором выполняется цикл в цикле.

Суть этого кода в том, что в таблице значений "ТаблицаКолонок" хранятся наименования колонок, которые создаются динамически и выводятся в дерево значений. При обходе дерева значений, мне нужно обращаться к этим созданным динамическим колонкам и проводить какие-то операции. В голову пришло сделать только цикл в цикле...

Есть какие-то другие способы решить данную задачу более элегантно и правильно?

P.S. Точного наименования колонок знать невозможно, поэтому пришлось прибегнуть к такому варианту кода


ТаблицаКолонок = РеквизитФормыВЗначение("НаименованияДинамическихКолонок");
    
    Для Каждого Строка Из ТаблицаКолонок Цикл 
        Для Каждого Элемент Из ДеревоЗначений.Строки Цикл 
                        
            Месяц =  Элемент.Родитель[Строка.НаименованиеКолонки];
            Если Месяц <> "" Тогда
                Платеж = Элемент.СуммаСНДС / КоличествоМесяцев;
                Элемент[Строка.НаименованиеКолонки] = Платеж;
            КонецЕсли;
                    
        КонецЦикла; 
    КонецЦикла;



Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 15.11.23 16:49 Сейчас в теме
(1) Цикл в цикле не является признаком плохого кода. А вот если внутри всего этого будет еще запрос, тогда очень плохо.
4. newlogin1 15.11.23 17:54 Сейчас в теме
(1)А других вариантов у вас и нет. Если бы месяцы были фиксированы (например в документе задается период - целые месяца) и в документе всегда есть колонки по этим месяцам, то табличка вам была бы не нужна, но цикл в цикле все равно был бы. Главное понимать для чего и почему используется
3. aka Любитель XML 15.11.23 17:27 Сейчас в теме
(1) это нормально. Но я обычно строки обхожу, а уже внутри колонки для каждой строки, не сути этого не меняет
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот