|
Как кошерно удалить строки в документе по условию?
| ☑ |
0
Shur1cIT
18.10.13
✎
11:13
|
проблема в том что при удалении строки в цикле происходит позиционирование на следующую строку в цикле которое не обрабатывается условием, в 7.7 ставили знак перехода на условие в случае удаления строки ,а как в 8 быть? сори за ламерский вопрос
|
|
1
almar
18.10.13
✎
11:15
|
(0) Нужно перебирать строки в обратном порядке, от последней к первой
|
|
2
Fragster
модератор
18.10.13
✎
11:15
|
хз, я в клюшках не ставил условие перехода и как-то работало
|
|
3
Fragster
модератор
18.10.13
✎
11:16
|
если автор не хочет мозг влючить - то предлагаю ему цикл в цикле - и пока хоть одна строка удалилась - повторять...
|
|
4
skunk
18.10.13
✎
11:17
|
с помощью НайтиСроки выбрать нужные строки в массив ... далее в цикле удалить
|
|
5
Холодильник
18.10.13
✎
11:21
|
переходить на 77
|
|
6
Конфигуратор1с
18.10.13
✎
11:22
|
(4) +1
|
|
7
Конфигуратор1с
18.10.13
✎
11:23
|
Как вариант еще запрос к табчасти с отбором а потом его же загрузить в табчасть)
|
|
8
Shur1cIT
18.10.13
✎
11:28
|
(1) ок спасибо
|
|
9
Shur1cIT
18.10.13
✎
11:30
|
(4) там несколько условий поэтому тупо отобрать по значению реквизита не получиться
|
|
10
Конфигуратор1с
18.10.13
✎
12:42
|
(9) тогда запросом
|
|
11
skunk
18.10.13
✎
12:44
|
(10)+1
|
|
12
mzelensky
18.10.13
✎
12:59
|
(0) Удалять нужно с конца. Типа так:
Сч=Тз.Количество()-1;
Пока Сч >= 0 цикла
...
сч=-1;
КонецЦикла;
Тогда НИКОГДА не будет косяков с прыжками по строкам. Удаляй, хоть заудаляйся.
|
|
13
mzelensky
18.10.13
✎
13:00
|
(12) естественно "сч=-1;" нужно понимать как "сч= сч-1;"
|
|
14
Толич
18.10.13
✎
13:04
|
(0) Заполни ТЗ из ТЧ по условию.
Очисти ТЧ.
Загрузи ТЧ из ТЗ.
|
|
15
Squares
18.10.13
✎
13:04
|
(10) +1
|
|