|
ТЗ - удалить строки по отбору |
☑ |
0
spectre1978
18.02.14
✎
09:12
|
Добрый день!
Как красивее всего удалить из ТЗ строки, которые соответствуют некоторому отбору (структура)? Есть метод НайтиСтроки () по отбору, но нет соответствующего метода УдалитьСтроки ().
|
|
1
ДенисЧ
18.02.14
✎
09:12
|
Найти строки возвращает массив строк. Циклом его обойди и удали каждую смтроку
|
|
2
zulu_mix
18.02.14
✎
09:14
|
запросом выбрать только нужные и ввалить обратно в эту же ТЗ
|
|
3
spectre1978
18.02.14
✎
09:14
|
(1) ну это ежу понятно. А изящнее никак?
|
|
4
Wobland
18.02.14
✎
09:16
|
(3) ТабличечкаЗначеньиц.Удалить(ОчереднаяНайденнаяСтрочечкаТабличечки)
|
|
5
spectre1978
18.02.14
✎
09:16
|
(2) выбрать только нужные нельзя, нет внятного критерия. Критерий есть только на ненужные.
|
|
6
Wobland
18.02.14
✎
09:16
|
(5) у нас ненужная - это НЕ нужная. а у вас?
|
|
7
Рэйв
18.02.14
✎
09:17
|
(5) а знак <> в условии уже отменили?
|
|
8
spectre1978
18.02.14
✎
09:17
|
(4) Ясно, значит, других вариантов нет. ОК.
|
|
9
Рэйв
18.02.14
✎
09:17
|
(6)ну или так.
|
|
10
zulu_mix
18.02.14
✎
09:18
|
(5) нужные = НЕ ненужные
|
|
11
TeMochkiN
18.02.14
✎
09:18
|
ТЗ = Новый ТаблицаЗначений;
//Заполняем ТЗ чем-либо
Отбор = Новый Структура;
//Заполняем структуру отбора
МассивУдаляемыхСтрок = ТЗ.НайтиСтроки(Отбор);
Для Каждого ЭлементМассива Из МассивУдаляемыхСтрок Цикл
ТЗ.Удалить(ЭлементМассива);
КонецЦикла;
|
|
12
spectre1978
18.02.14
✎
09:19
|
(11) Делаю так. Вопрос закрыт, спасибо.
|
|
13
Рэйв
18.02.14
✎
09:21
|
(12)Можно было сказать спасибо еще на первом посту:-)
|
|
14
TeMochkiN
18.02.14
✎
09:21
|
(13) чувак думал, что можно изящнее
|
|
15
TeMochkiN
18.02.14
✎
09:23
|
Наверно, он хотел
ТЗ.Удалить(ТЗ.НайтиСтроки(Отбор))
|
|
16
Рэйв
18.02.14
✎
09:24
|
(15)Ну, если было бы наследование в 1С, то можно было бы:-) А так - пусть довольствуется тем что есть.
|
|