Имя: Пароль:
1C
 
Удаление строк тч по заданному условию
🠗 (Волшебник 04.12.2017 10:55)
0 falselight
 
04.12.17
10:38
Есть тч. При удалении строки из этой тч нужно удалить строки
из другой тч в которой содержатся строки с данным значением.
Как это правильно сделать в обычном приложении?
Найти строки с этой строкой функцией НайтиСтроки()?
Как правильно потом удалить их?
1 Волшебник
 
модератор
04.12.17
10:39
методом Удалить() в цикле
2 Адинэснег
 
04.12.17
10:47
Для Каждого СТр Из Массив Строк Цицл
ТЧ.Удалить(СТр);
КонецЦикла;

элемент массива - ссылка на строку, с индексом можешь лохануться если не обратным счетчиком пойдешь
3 falselight
 
04.12.17
10:53
верно ли так?

        ПараметрыОтбора = Новый Структура;
        ПараметрыОтбора.Вставить("Магазин", Элемент.ТекущаяСтрока.Магазин);
        НайденныеСтроки = ПП_ТоварыМагазинов.НайтиСтроки(ПараметрыОтбора);
        Для каждого СтрДляУд Из НайденныеСтроки Цикл
            ПП_ТоварыМагазинов.Удалить(ПП_ТоварыМагазинов.Индекс(СтрДляУд));
        КонецЦикла;
4 VladZ
 
04.12.17
10:55
(3) можно и так: ПП_ТоварыМагазинов.Удалить(СтрДляУд)
5 vde69
 
модератор
04.12.17
10:55
если это на сервере то верно так


        ПараметрыОтбора = Новый Структура;
        ПараметрыОтбора.Вставить("Магазин", Элемент.ТекущаяСтрока.Магазин);
        НайденныеСтроки = ППТоварыМагазинов.НайтиСтроки(ПараметрыОтбора);
        Для каждого СтрДляУд Из НайденныеСтроки Цикл
            ПП
ТоварыМагазинов.Удалить(СтрДляУд);
        КонецЦикла;
6 Волшебник
 
модератор
04.12.17
10:55
(3) Тебе уже код написали, но ты продолжаешь тупить

ПП_ТоварыМагазинов.Удалить(СтрДляУд)
7 falselight
 
04.12.17
11:16
(4,5,6) в процедуру удалить нужно передавать же индекс?!
8 dezss
 
04.12.17
11:19
(7) дочитай сп до конца. То, что после запятой, тоже прочитай.