Цитата(Vofka @ 13.09.12, 21:22) необходимо зарегистрироваться для просмотра ссылки
Всем спасибо, попробую поиграться с этим всем.
Никогда такое не делал. Поигрался. Но это как воду в решете носить
Плюс возможно цифры поплывут если, например, что то "помеченое" выбрано в проведеном документе.
В принципе можно проверять если проведенный документ то пропускать. И наверное проверку на удаленность объектов еще добавить.
//примерный код, тренеруемся на копии
Перем СпЗн, ТабЗн;
НачатьТранзакцию();
Сообщить("Выполняется поиск...");
НайтиПомеченныеНаУдаление(СпЗн);
НайтиСсылки(СпЗн,ТабЗн);
ТабЗн.Свернуть("Объект","");
ТабЗн.ВыбратьСтроки();
Пока ТабЗн.ПолучитьСтроку()=1 Цикл
ВидОб = ТабЗн.Объект.Вид();
Если ТипЗначения(ТабЗн.Объект)=11 Тогда
Об=СоздатьОбъект("Справочник."+ВидОб);
Если Об.НайтиЭлемент(ТабЗн.Объект)=1 Тогда
Об.Удалить(0);
Сообщить("Установлена пометка: "+Об);
КонецЕсли;
ИначеЕсли ТипЗначения(ТабЗн.Объект)=12 Тогда
Об=СоздатьОбъект("Документ."+ВидОб);
Если Об.НайтиДокумент(ТабЗн.Объект)=1 Тогда
Об.Удалить(0);
Сообщить("Установлена пометка: "+Об);
// стремный справочник партии...
Парт=СоздатьОбъект("Справочник.Партии");
Если Парт.НайтиПоРеквизиту("Док",ТабЗн.Объект,1)=1 Тогда
Парт.Удалить(0);
Сообщить("Установлена пометка: "+Парт);
КонецЕсли;
КонецЕсли;
Иначе
Сообщить("Тип объекта "+ ТипЗначения(ТабЗн.Объект)); //хз
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
ЗЫ Мне кажется может стоит подумать об обрезке базы. Или о переносе данных. (хотя это наверное не меньший гемор)