Имя: Пароль:
1C
 
Удаление колонок в дереве значений, удаляются не все колонки, как так?
0 igoza
 
26.06.15
10:24
Для Каждого Колонка ИЗ ЭлементыФормы.ТП.Колонки Цикл
        Если Колонка.Данные <> "Объект" Тогда            
            ЭлементыФормы.ТП.Колонки.Удалить(Колонка);
            Кол = Тп.Колонки.Найти(Колонка.Данные);
            ТП.Колонки.Удалить(Кол);
        КонецЕсли;
    КонецЦикла;

//я предполагал что останется одна колонка "Объект", но их остается половина + "Объект"
// почему так?
1 Fragster
 
гуру
26.06.15
10:25
потому что итератор сбивается, правильно напихать в массив, а потом пройтись по массиву и удалить
2 Fragster
 
гуру
26.06.15
10:26
либо через

Пока Сч < Колонки.Количество() Цикл
  Если УдаляемКолонку(Сч) Тогда
    УдалитьКолонку(Сч)
  Иначе
    Сч = Сч + 1;
  КонецЕсли;
КонецЦикла;
3 igoza
 
26.06.15
10:26
(1) так тоже самое, или не нада = а массив отдельно создавать?
КолонкиФормы = ЭлементыФормы.ТП.Колонки;
    Для Каждого Колонка ИЗ ЭлементыФормы.ТП.Колонки Цикл
        Если Колонка.Данные <> "Объект" Тогда            
            ЭлементыФормы.ТП.Колонки.Удалить(Колонка);
            Кол = Тп.Колонки.Найти(Колонка.Данные);
            ТП.Колонки.Удалить(Кол);
        КонецЕсли;
    КонецЦикла;
4 ASU_Diamond
 
26.06.15
10:26
а не проще будет через "свернуть"?
5 Fragster
 
гуру
26.06.15
10:28
(4) не угадал
6 igoza
 
26.06.15
10:31
спасибо, все получилось
Ошибка? Это не ошибка, это системная функция.