|
Удалить строки таблицы значений по условию на форме. | ☑ | ||
---|---|---|---|---|
0
tabarigen
29.12.18
✎
12:40
|
Всем добра.
Пробую удалить строки ТЗ на УФ. По какому либо условию. Пока делаю так, сначала нахожу все строки которые не попадают под мое условие, помещаю в новую ТЗ, потом эту временную ТЗ загружаю в исходную ТЗ. а хотелось бы как то так. &НаСервере Процедура ОчиститьНаСервере() Для Каждого стр из Объект.Таблица Цикл Если стр.Цена < 1000 Тогда индекс = стр.ПолучитьИдентификатор(); Объект.Таблица.Удалить(индекс); КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура Очистить(Команда) ОчиститьНаСервере(); КонецПроцедуры Но так не получается, потому, что после каждой итерации удаления индекс у строки ТЗ меняется, и соответственно возникает чехарда.. |
|||
1
Галахад
гуру
29.12.18
✎
12:42
|
Удалять надо с конца.
|
|||
2
lxs
29.12.18
✎
12:43
|
В массив загоняй строки:
Массив.Добавить(Стр); А затем: Для каждого ЭлементМассива Из Массив Цикл Объект.Таблица.Удалить(ЭлементМассива); КонецЦикла; |
|||
3
lxs
29.12.18
✎
12:43
|
(1) ректальное программирование.. ну-ну
|
|||
4
tabarigen
29.12.18
✎
12:46
|
Еще пробуют так.
Строки = Таблица.НайтиСтроки(Новый Структура("Цена",0)); Интересно могу ли я в параметрах отбора задать условие меньше 1000 |
|||
5
tabarigen
29.12.18
✎
12:46
|
ща гляну как сп
|
|||
6
IOANNscrp
29.12.18
✎
12:46
|
сч= Объект.Таблица.Количество()-1;
Пока сч>=0 цикл Если Объект.Таблица[сч].Цена <1000 тогда док.Товары.Удалить(сч); КонецЕслИ; сч=сч-1; Конеццикла; |
|||
7
Галахад
гуру
29.12.18
✎
12:49
|
(3) Чо это?
|
|||
8
lxs
29.12.18
✎
12:50
|
(7) То, что предлагаешь ты..
|
|||
9
lxs
29.12.18
✎
12:50
|
(4) В структуре ты можешь указать какое-то конкретное значение. Вариант твой конечно жизнеспособен, но именно с таким нюансом.
|
|||
10
tabarigen
29.12.18
✎
12:56
|
(1) так что ль
&НаСервере Процедура ОчиститьНаСервере() Для Индекс = -Объект.Таблица.Количество()+1 По 0 Цикл Если Объект.Таблица[-Индекс].Цена < 1000 Тогда Объект.Таблица.Удалить(-Индекс); КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура Очистить(Команда) ОчиститьНаСервере(); КонецПроцедуры |
|||
11
IOANNscrp
29.12.18
✎
12:56
|
Увидел минусы, дальше не стал смотреть))
|
|||
12
tabarigen
29.12.18
✎
12:58
|
(11) ну ладно...
потому и спрашиваю, как |
|||
13
tabarigen
29.12.18
✎
12:58
|
лучше
|
|||
14
IOANNscrp
29.12.18
✎
12:59
|
убрать минусы где обращаетесь к элементу по индексу
|
|||
15
tabarigen
29.12.18
✎
12:59
|
(14) зато работает. да и судя по всему, многие так и делают.
|
|||
16
IOANNscrp
29.12.18
✎
13:00
|
Виноват
|
|||
17
tabarigen
29.12.18
✎
13:01
|
(16) хватит агрить =[
|
|||
18
IOANNscrp
29.12.18
✎
13:04
|
(17) не, серьезно, я виноват, не внимательно код посмотрел
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |