Удаление строк из таблицы значений #293785


#0 by Putnik
Как удалить строки из таблицы значений по какому-либо критерию? Было логично сделать так: КонецЦикла; Но это не работает. Тогда как?
#1 by Мулька
Через зад надоть
#2 by almar
Перебирай снизу вверх
#3 by Господин ПЖ
Ведущим устраиваешься?
#4 by Креатив
А может через НайтиЗначение попробовать?
#5 by Рэйв
пример
#6 by Дядя Васька
Не мудри Логично так: Сч=""
#7 by SergBeg
из учебника:
#8 by Мулька
ни один код не взлетит. Вернее взлетит, но нызько, нызько
#9 by Sedoy
некошерно, но работает нормально...
#10 by Дядя Васька
Чем последние два не устраивают?
#11 by Креатив
#12 by Мулька
Потому как если удаляемые строки повторятся две подряд - вторую не удалит, потому как при удалении первой идет смещение на 1 назад порядка строк
#13 by Дядя Васька
Приведи пример конкретной таблицы где не сработает вариант
#14 by Putnik
5 и 6 не работает точно, проверял (не правильный индекс строки). Щас проверю 7.
#15 by Дядя Васька
Хреново проверял, наверное +1 не поставил. Головой подумай как должно работать и найди у себя апшипку...
#16 by Simod
Все уже давно жевано-пережевано
#17 by greenhell
#18 by Дядя Васька
Для особо одаренных: нельзя же все буквально воспринимать, в сам принцип, а на синтаксис я не смотрел...
#19 by Рэйв
как это ты проверял инетесно? У меня полгода все работает.
#20 by FreeFin
Эта музыка будет вечной.)
#21 by SergBeg
да ладно вам, у меня точно работает :)))
#22 by Дядя Васька
В просто самый простой вариант, а так можно с полсотни выдумать...
#23 by Putnik
не работает, ошибка: номер за пределами значений. а работает. Только что проверил.
#24 by Дядя Васька
Да ну? И какой именно номер?
#25 by Дядя Васька
+ Если Сч=1, ТЗ.КоличествоСтрок-Сч+1 = ТЗ.КоличествоСтрок, в пределах, если Сч=ТЗ.КоличествоСтрок, ТЗ.КоличествоСтрок-Сч+1 = 1, оба раза в пределах, все что между в пределах и подавно...
#26 by Putnik
для простого удаления приведенные примеры очень тяжеловесные. Мне нравится . А вот придумал очень быстрый (может быть не самый) - 180000 строк за пару секунд. КС=ТЗ.КоличествоСтрок;
#27 by smaharbA
#28 by Дядя Васька
А он и минус где-нить поставить забудет, и тоже скажет - за пределами значений ))
#29 by Simod
Метод УдалитьСтроку довольно медленный. Если примеры кажутся "тяжеловесными" (!!, месье наверное не видел тяжеловесных алгоритмов), то обрати внимание на вариант "TDV". Достаточно простой и с очень хорошим быстродействием.
#30 by Господин ПЖ
удаление строк из тз всегда вызывает оживление на мисте...
#31 by Putnik
проверил, работает и это пожалуй самый быстрый вариант. В 2 раза быстрей, чем и это понятно, меньше операций, и 6 раз быстрей, чем вариант . А перегружать строки из одной таблицы в другую это быстрее, чем УдалитьСтроку?
#32 by Мулька
Лучше сразу не заполнять мусором
#33 by Putnik
А еще лучше вообще ни каких таблиц, отчетов и прочей муры.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С