helpf.pro
Регистрация

v8. Удаление строк в ТаблицеЗначений по условию

snfr1c
16.02.2011 18:29Прочитано: 3325
Здравствуйте.
Есть возможность удалить строки в ТаблицеЗначений по условию, например
Код 1C v 8.х
 
// 1. Удаление строк согласно условию
НулевыеСтроки = ТаблицаПослеПодмен.НайтиСтроки(Новый Структура("Сумма",0));
Для каждого СтрокаТаблицы Из НулевыеСтроки Цикл
ТаблицаПослеПодмен.Удалить(СтрокаТаблицы)
КонецЦикла;


а мне надо удалить строки где сумма не равна 0. Подскажите как указать условие в отборе.
Yandex
Возможно, вас также заинтересует
Реклама на портале
bugor666
17.02.2011 10:52Ответ № 1
(0) snfr1c, Структура вовсе не удобная фигня для таких операций. Сделай через "П". Скинь в массив, удали нулевые, а потом из массива в структуру.
E_Migachev
17.02.2011 12:30Ответ № 2
(0) snfr1c, т.е. тебе нужно оставить строку в которых Сумма равна 0?
Если да, то:
Код 1C v 8.х
 ПараметрыОтбора = Новый Структура("Сумма",0);
ТЗНов = ТЗ.Скопировать(ПараметрыОтбора);
// в результате в ТЗнов будут только строки из ТЗ, в которых значение поля "Сумма"=0
snfr1c
17.02.2011 17:06Ответ № 3
решил таким кодом
Код 1C v 8.х
 		СтрокиКУдалению = Новый Массив;

Для Каждого СтрокаТаблицы Из ТаблицаЗначений Цикл

Если СтрокаТаблицы.ПеременнаянеРавная0 <> 0 Тогда
СтрокиКУдалению.Добавить(СтрокаТаблицы);
КонецЕсли;

КонецЦикла;

Для Каждого СтрокаКУдалению Из СтрокиКУдалению Цикл
ТаблицаЗначений .Удалить(СтрокаКУдалению);
КонецЦикла;
snfr1c
17.02.2011 17:07Ответ № 4
(2) да, твой вариант даже лучше и проще. спасибо
snfr1c
17.02.2011 17:11Ответ № 5
(3) мой вариант хорош когда есть множественные условия
snfr1c
21.02.2011 13:44Ответ № 6
Вопрос закрыт!
Подсказка: Для быстрого поиска ответов - используйте 'Поиск'
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.