Удаление неиспользуемых элементов справочника

Есть многоуровневый справочник Контрагенты. Как определить для каждого элемента этого справочника, используется ли он – где-то задействован в документах или операциях и если нет, то удалить.
Попробуйте воспользоваться процедурой НайтиСсылки(), например, вот так:
ТЗСсылок = СоздатьОбъект(“ТаблицаЗначений”);
СпрК = СоздатьОбъект(“Справочник.Контрагенты”);
ВсегоПомечено = 0;
СпрК.ПорядокНаименований();
СпрК.ВыбратьЭлементы();
Пока СпрК.ПолучитьЭлемент()=1 Цикл
Если СпрК.ЭтоГруппа()<>1 Тогда
ТЗСсылок.УдалитьСтроки();
НайтиСсылки(СпрК.ТекущийЭлемент(),ТЗСсылок);
Если ТЗСсылок.КоличествоСтрок()=0 Тогда
Если СпрК.ПометкаУдаления()<>1 Тогда
СпрК.Удалить(0);
ВсегоПомечено = ВсегоПомечено + 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Сообщить(“Итого помечено на удаление “ + СокрЛП(ВсегоПомечено)+” контрагента(ов)”);

| опубликовано: 7 Сентябрь 2007, 10:31

Комментирование этой статьи закрыто