|
Не удаляются все строки из Таб. Значений | ☑ | ||
---|---|---|---|---|
0
Альбатрос
11.05.12
✎
11:30
|
Доброго времени суток!
Простейший код на 8.2.15.301: Процедура УбратьНажатие(Элемент) Для каждого Стр из ТабЗагрузки цикл Если НЕ Стр.Отм тогда Продолжить; КонецЕсли; ТабЗагрузки.Удалить(Стр); КонецЦикла; КонецПроцедуры Стр.отм это флажок. Так вот, выполнение данного кода не удаляет все отмеченные строки из таблицы, а только половину. То есть, отмечено 8 строк, при нажатии удаляет 4 из них, нажимаешь еще раз - удаляет 2 из оставшихся четырех. Почему так происходит? |
|||
1
viktor_vv
11.05.12
✎
11:33
|
Потому что при выполнении ТабЗагрузки.Удалить(Стр); выборка смещается вперед на одну.
|
|||
2
Reset
11.05.12
✎
11:33
|
Архибаян. Не используй удаление в цикле "для каждого"
В данном случае можешь написать ТабЗагрузки.Загрузить(ТабЗагрузки.Выгрузить(Новый Структура("Отм",Ложь))); |
|||
3
Аслан
11.05.12
✎
11:33
|
Стандартные грабли :)
|
|||
4
Rizhij_Nikitos
11.05.12
✎
11:33
|
Потому что СТр.ОТм эт че такое?
Можно удалить все строки табличной части следующим кодом Пока ТабЗагрузки.Количество()>0 Цикл ТабЗагрузки.Удалить(0); КонецЦикла; и все, суть ты понял. |
|||
5
Cube
11.05.12
✎
11:34
|
(0) Пользуйся поиском, лентяй! v8: Удаление проводок из регистра бухгалтерии
|
|||
6
del123
11.05.12
✎
11:35
|
ы = 0;
пока ы < ТабЗагрузки.КОличество() цикл стр = табзагрузки[ы]; если не стр.отм тогда табзагрузки.удалить(стр); иначе ы = ы +1; конецесли; конеццикла; |
|||
7
Reset
11.05.12
✎
11:35
|
(4) Код замечателен
|
|||
8
Альбатрос
11.05.12
✎
11:36
|
Спасибо за помощь!
|
|||
9
vmv
11.05.12
✎
11:37
|
1. вы не ту профессию выбрали, обсуждать тут нечего и советовать тоже
|
|||
10
del123
11.05.12
✎
11:37
|
(2) прикольно, не знал)
|
|||
11
Reset
11.05.12
✎
11:40
|
(10) Я поторопился там, Загрузить/выгрузить - это для табличной части. Для ТЗ можно через "Скопировать"
|
|||
12
vmv
11.05.12
✎
11:40
|
ТабЗагрузки.Количество()>0
и прочие сравнения коллекционных выборок не требуют явного сравнения, ибо Количество() - это число, а число конвертируется в булево Это ж еще пять лет назад писали в жкк и 40 лет назад в алголе, мдя |
|||
13
Паучог
11.05.12
✎
11:43
|
(2) мне тоже понравился такой вариант
|
|||
14
Rizhij_Nikitos
11.05.12
✎
14:32
|
(11) чем тебе код не понятен, я хотел показать что надо пользоваться циклом
ПОка Условие Цикл КонецЦикла; |
|||
15
Fragster
гуру
11.05.12
✎
14:37
|
Для Сч = 1-ТабЗагрузки.КОличество() по 0 цикл
стр = табзагрузки[-Сч]; если не стр.отм тогда табзагрузки.удалить(стр); конецесли; конеццикла; |
|||
16
palpetrovich
11.05.12
✎
14:45
|
странно, вот знаешь-же что баян и все-равно лезешь в ветку ...видать баян - он как наркотик - затягивает :)
|
|||
17
kosts
11.05.12
✎
14:48
|
Вариант
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |