Удаление строк табличной части справочника по условию #688809


#0 by МистерДон
Изучаю 1с.8.2. возник вопрос относительно удаления строк табличной части по условию. Пример. У меня есть справочник склады, там есть табличная часть – заведующие Эта табличная часть состоит из 2 реквизитов (колонок), справочник “Сотрудники”  и комментарий ( строка). Задача, удалить в выбранном справочнике, в таблице строки, комментарий которых будет равен 300 или 500, или больше 1000 Логика удаления 1.    Находим ссылку на элемент справочника, получаем объект справочника 2.    Создаем структуру удаляемых строк 3.    Находим в табличной части эти строки (из структруры), и в цикле удаляем. Все вроде бы ничего, но я не могу в структуру вставить нормально условие. Скажем БОЛЬШЕ/МЕНЬШЕ  или сравнение кучи разных параметров. Удаляет только 1  запись с комментарием =300, а у меня целая куча условий. Подскажите, пожалуйста, как быть?
#1 by МойКодУныл
Обойди ТЧ, сформируй массив строк по условиям, потом обойди массив и удали. Можно прямо в цикле обхода удалять по расчетному индексу, но это не прозрачна, я так не люблю делать.
#2 by МистерДон
Я так понимаю, что в структуру гибкого сложного условия не вставить, как же тогда быть? Как красиво можно удалить строки? Если к примеру я сначала сам пробегусь по ТЧ и нужные строки соберу в массив, как этот массив дальше использовать? Пытался его использовать в ПодходящиеСтроки = ОбъектСправочника.Заведующие.НайтиСтроки(МОЙмассив); но ничего хорошего из этого не выходило.
#3 by mikecool
НайтиСтроки + удалить по массиву
#4 by mikecool
сделай так, чтобы вышло хорошо
#5 by Wobland
всё не читал. можно гибкое сложное условие оформить в запросе и выгрузить только нужное
#6 by МистерДон
Господа, подскажите, пожалуйста как использовать собранный массив удаляемых строк. вот прошелся я по ТЧ, собрал строки в массив, а как его дальше использовать правильно? пол дня уже голову ломаю разными способами. ОбъектСправочника.Заведующие.НайтиСтроки(МОЙмассив) - почему-то строки не ищет. Подскажите простым кодом, если не сложно.
#7 by МистерДон
Добавляю в массив следующим образом А потом уже ПодходящиеСтроки=ОбъектСправочника.Заведующие.Найти(МассивКУдалению); И не находит почему-то.
#8 by mikecool
а нахера выполнять "а потом уже"? у тебя итак массив строк есть - их и удаляй
#9 by Wobland
заставь ТЧ несколько раз удалить то, что в массие
#10 by МистерДон
Выдает ошибку: ОбъектСправочника.Заведующие.Удалить(ОчереднаяСтрока); по причине: Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)
#11 by МистерДон
Что-то совсем запутался, 100 лет назад работал плотно с семеркой, а тут как-то черт ногу сломит :)
#12 by Wobland
а там не ТЧ объекта ли надо в первом цикле?*
#13 by МистерДон
Все верно. Спасибо за подсказку, с ТЧ объекта сработало. Всем спасибо за участие и помощь. Реально с 8 утра ломал себе голову.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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