Имя: Пароль:
1C
1С v8
проблема с циклом Для каждого
,
0 f1user56
 
24.08.12
17:02
Ребята, вам наверное покажется смешной и нелепой моя проблема, в некотором роде мне даже стыдно ее описывать, но надеюсь на вашу помощь... Есть цикл
Процедура КоманднаяПанель1УдалитьНулевыеСтроки(Кнопка)
           СтрокаТабличнойЧасти = ЭлементыФормы.ЭлементыТЦП.ТекущиеДанные;
           Для Каждого СтрокаТабличнойЧасти из ЭлементыФормы.ЭлементыТЦП Цикл
               Если СтрокаТабличнойЧасти.Количество = 0 Тогда
               СтрокаТабличнойЧасти.Удалить();
           КонецЕсли
           КонецЦикла;
           КонецПроцедуры
при попытке ее выполнения пишет "Итератор для значения не определен
           Для Каждого СтрокаТабличнойЧасти из ЭлементыФормы.ЭлементыТЦП Цикл"
Заранее вам спасибо, вы уже не раз меня выручали)
1 Wobland
 
24.08.12
17:03
удаляй из данных, а не из табличного поля
2 Fragster
 
гуру
24.08.12
17:03
баян!!!
3 Fragster
 
гуру
24.08.12
17:04
(1) все равно неправильно
4 Megas
 
24.08.12
17:04
+(1) из Базы данных SQL
5 Wobland
 
24.08.12
17:05
(3) ээ..
6 Irbis
 
24.08.12
17:05
С конца удалять надо или складывать строки в массив и потом удалять
7 Fragster
 
гуру
24.08.12
17:05
(5) при удалении строки итератор сбивается
8 andrewks
 
24.08.12
17:06
(5)
Для И=0 По 10 Цикл
Сообщить("шаг цикла");
И=И+1;
КонецЦикла;
9 ptiz
 
24.08.12
17:06
И кждый день такая тема.
10 Wobland
 
24.08.12
17:06
(7) не возражаю. я за то, чтобы обращаться к ТЧ, а не к ТП ваще-то
11 Ненавижу 1С
 
гуру
24.08.12
17:06
Массив0 = ЭлементыТЦП.НайтиСтроки(Новый Структура("Количество",0));
Для каждого Стр из Массив0 Цикл
 ЭлементыТЦП.Удалить(Стр);
КонецЦикла;
12 Fragster
 
гуру
24.08.12
17:07
(10) я на шаг вперед смотрю
13 f1user56
 
24.08.12
17:11
Ненавижу 1С, Огромное спасибо:)
да и вообще всем вам)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший