|
Удаление строк из ТЗ по условию | ☑ | ||
---|---|---|---|---|
0
bolobol
10.09.13
✎
18:31
|
Доброго времени суток!
Задачка тут возникла актуальностью своей поражая: НайтиПоСсылкам(...) возвращает ТЗ в которой третья колонка - объект метаданных, которому соответствуют данные в которых найдена ссылка. Я могу использовать только справочники и документы, как из ТЗ правильно удалить всё остальное? Как создать ТЗ уже без лишних данных, таких как запись регистра? Спасибо. |
|||
1
MKZM
10.09.13
✎
18:33
|
Очистить()?
|
|||
2
MKZM
10.09.13
✎
18:34
|
Нужная = Новый ТаблицаЗначений;
|
|||
3
azernot
10.09.13
✎
18:38
|
Передать ТЗ в запрос и поставить условие на вхождение объекта метаданных в массив нужных объектов метаданных, выполнить, выгрузить. Этот самый массив создать перебором метаданных нужных типов.
|
|||
4
bolobol
10.09.13
✎
18:42
|
3 +
Таким образом, я понимаю, что просто указать для сравнения объект метаданных "Документ" и "Справочник" нереально даже запросом, да? |
|||
5
bolobol
10.09.13
✎
18:49
|
Да, ещё вопрос:
Такая конструкция не отработает ли быстрее, чем запрос: Для каждого СтрЭл из ТЗ Цикл Если Лев(СтрЭл[3], 3) <> "Спр" И Лев(СтрЭл[3], 3) <> "Док" Тогда ТЗ.Удалить(СтрЭл); КонецЦикла; Даёт ли гарантию "Для каждого", что при удалении текущего/выбранного элемента коллекции внутри цикла - обход пройдёт по всем элементам? Не будет скачков как при прямом переборе, когда индексы меняются? |
|||
6
azernot
10.09.13
✎
18:53
|
(5) Гарантированно не даёт. Нужно формировать массив удаляемых, а потом отдельным циклом удалять.
Что касается того, что быстрее - тебе и карты в руки, пробуй, замеряй. |
|||
7
hhhh
10.09.13
✎
21:52
|
(5) это и есть прямой перебор и индексы меняются однозначно.
|
|||
8
bolobol
11.09.13
✎
15:37
|
Запросом, к сожалению, а может - к счастью, не получается - "Тип не может быть выбран в запросе", а красивое и правильное решение в обход данной ошибки не придумалось.
А подсказали мне такое решение: "Метаданные.Справочники.Содержит(МетаданныеИЗТЗ)" "Для каждого" - действительно оказалось прямым перебором по индексам, а не по указателям на следующий. Всем спасибо! |
|||
9
bolobol
12.09.13
✎
13:14
|
А где гарантия, что вышеперечисленное - это _все_ ссылочные объекты?
|
|||
10
bolobol
12.09.13
✎
13:15
|
Упс... форум тупит)) Не туда
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |