Имя: Пароль:
1C
1С v8
Альтернатива НайтиПоСсылкам
0 k1noshkin
 
24.10.16
18:12
Добрый день.

Есть задача проверить все элементы справочников контрагентов и договоров контрагентов на наличие ссылок на них. Если нет ссылок из документов и определенных справочников, то нужно пометить их на удаление.

В коде на строку с "НайтиПоСсылкам" уходит приблизительно 99.9% времени. Она осуществляет поиск ссылок на объекты, переданные в параметре <СписокСсылок>. В среднем на одного контрагента уходит 30 секунд. А в базе их более 6000. Что в итоге выливается в 50 часов!

Нашёл две аналогичные обработки на инфостарте - там тоже используется "НайтиПоСсылкам".

Есть ли какая-то альтернатива?
1 Волшебник
 
модератор
24.10.16
18:14
1. Пометь на удаление все элементы.
2. Проведи удаление помеченных объектов с контролем ссылочной целостности.
3. С оставшихся объектов сними пометку удаления.
2 МихаилМ
 
24.10.16
18:21
в найти по ссылкам можно передовать массив ссылок а не одну. также можно по метаданным построить структуру и для каждой таблицы запустить фоновое задание. будет еще в -цать раз быстрее.