|
Удаление строк из табличной части | ☑ | ||
---|---|---|---|---|
0
galimovmaks
05.11.13
✎
11:39
|
Пишу так
Для Каждого Элемент Из Массив Цикл Для Каждого ТекСтрока Из ДокументРП_ПоступлениеОплаты.Оплата Цикл Если Элемент.Ссылка <> ТекСтрока.Договор.НаправлениеДеятельности Тогда ДокументРП_ПоступлениеОплаты.Оплата.Удалить(ТекСтрока); КонецЕсли; КонецЦикла; надо удалить строки из ТЧ, которые не удовлетворяют требованию. Удаляются не все строки. где ошибка? |
|||
1
Fish
05.11.13
✎
11:40
|
(0) В логике.
|
|||
2
Ненавижу 1С
гуру
05.11.13
✎
11:40
|
в логике кода
|
|||
3
Wobland
05.11.13
✎
11:41
|
можно найти нужные строки и поудалять их циклически, можно с конца идти...
|
|||
4
PR
05.11.13
✎
11:41
|
Здравствуй, стопицотмиллиардовпервая такая ветка :))
Проходи с конца в начало. |
|||
5
galimovmaks
05.11.13
✎
11:42
|
(4) то есть с конца в начало?
|
|||
6
1dvd
05.11.13
✎
11:43
|
(4) прошлая была юбилейная, значит. А мы не отметили...
|
|||
7
Wobland
05.11.13
✎
11:43
|
(5) да. с конца в начало
|
|||
8
PR
05.11.13
✎
11:44
|
(5) Да
|
|||
9
Wobland
05.11.13
✎
11:44
|
(6) 0x2D79883D2001 - не такая уж юбилейная
|
|||
10
1dvd
05.11.13
✎
11:47
|
(9) вообще-то 0х5B677ACCC800
|
|||
11
Wobland
05.11.13
✎
11:47
|
стопицот - это 100*500?
|
|||
12
Wobland
05.11.13
✎
11:48
|
ну и 1 я зря прибавил, раз речь о прошлой
|
|||
13
1dvd
05.11.13
✎
11:48
|
стопицотмиллиардовпервая = 100 500 000 000 001
|
|||
14
Wobland
05.11.13
✎
11:50
|
сто раз по пицот мильярдов же - 100*500*10^9
|
|||
15
1dvd
05.11.13
✎
11:51
|
(14) почитай интернеты. стопицот = 100500
|
|||
16
Фокусник
05.11.13
✎
11:52
|
(0) В общем слушай: когда ты делаешь ДокументРП_ПоступлениеОплаты.Оплата.Удалить(ТекСтрока)
при этом текущая строка у тебя становится "следующая" за удаленной. А потом новый цикл ЕЩЕ РАЗ смещает строку на "следующую", поэтому строки после удаленных выпадают из проверки и остаются не удаленные. Вариантов много, самые очевидные: 1. Делать перебор строк с конца 2. Первым проходом собирать удаляемые строки в массив, вторым проходом удалять строки из массива. (я за этот способ, как более наглядный) 3. И еще куча менее очевидных и более креативных способов :) |
|||
17
Wobland
05.11.13
✎
11:53
|
(15) а, ну если именно "пицот", то всё может быть ;)
|
|||
18
Wobland
05.11.13
✎
11:54
|
а так "100500" воспинимается как строка, как заменитель "стопицот". но смысловая нагрузка выражения имхо как раз "100 по 500"
|
|||
19
DexterMorgan
05.11.13
✎
12:30
|
(16) Зануда
|
|||
20
Фокусник
05.11.13
✎
13:59
|
(19) Программист обязан быть занудой ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |