Принцип работы обработки заключается в том, что она, по каждому виду документа, делает поиск помеченных на удаление документов. Потом, с помощью запросов, проверяет ссылки на эти документы из других объектов. И затем, если таких ссылок не найдено, формирует список документов, которые можно непосредственно удалить из базы.
Обработка сделана как замена стандартной 1С-вской процедуре "Удаление помеченных объектов".
Преимущества:
- не требует монопольного режима
- может работать в "горячем" режиме, параллельно работе других пользователей
- обработку можно в любой момент времени остановить
Недостатки:
- не делает проверки подчиненных объектов на предмет удаления
- не удаляет справочники
Порядок работы с обработкой:
- устанавливаем период выборки документов. можно и без него - тогда будут выбираться все документы (выбираются только помеченные на удаление)
- закладка "Список видов объектов" (основная для работы) - здесь формируется таблица со списком видов документов, количества помеченных на удаление и количества документов, которые можно удалить из базы, а так же устанавливается отметка "Проверять" - по каким видам документов делать проверку
- кнопки командной панели таблицы:
- "Очистить" - удаляет все строки из таблицы
- "Заполнить" - по каждому виду документа получает количество объектов помеченных на удаление, и если такие есть, добавляется строка в таблицу
- "Проверить" - запускает процедуру проверки выбранных (отметка "Проверять" в таблице) видов документов. проверка делается по каждому виду документа пакетами по 1000 документов (подобрал экспериментально для себя), после чего делается проверка на наличие ссылок на каждый документ, и если таковых не найдено, он (документ) помещается в таблицу на закладке "Объекты к удалению"
- "Удалить" - производится непосредственное удаление документов из базы, которые были добавлены в таблицу "Объекты к удалению"
- на закладке "Объекты к удалению" можно проделать все вышеназванные действия, только уже для одного вида документа, выбранного в поле "Вид объекта"
- закладки "Таблица ссылок" и "Объекты поиска" - служебные. на них расположены временные таблицы используемые для работы. " Таблица ссылок" - это что типа таблицы значений которую возвращает 1С-вская функция НайтиПоСсылкам(<>). " Объекты поиска" - здесь формируется таблица объектов метаданных, по которым необходимо производить поиск.
Из собственного опыта:
Необходимость данной обработки возникла из-за того что после свертки базы получилось порядка полутора миллиона объектов (в основном документы) помеченных на удаление. а стандартная процедура "Удаление помеченных объектов" вешала сервак наглухо и дождаться её завершения не представлялось возможным, т.к. работа в базе ведется ежедневно. Поэтому не долго думая и не очень долго "осваивая" интернет пришлось наваять сие чудо. В итоге - после пяти дней не очень напряженной работы в базе осталось около 300 тыс. этих документов.
Недостатки этой обработки - это скорее недоделки, т.к. меня и на этом этапе всё устроило.
Не делается проверка подчиненных объектов, которые тоже могут быть удалены. 1С-ка это наверняка делает, поэтому у неё и проверка ("контроль") занимает много времени. Но это, в принципе, обходится несколькими циклами работы данной обработки.
Не удаляются справочники - просто лень было доделать.
04.07.15
Доработал обработку и проверку ссылок по регистрам бухгалтерии.
(что бы не удалилось то что используется в проводках).
07.11.15
Добавлена обработка справочников (на предмет что и чего можно удалить). Всё по аналогии как и для документов.
(всё таки пришлось и это доделать)
ПРЕДУПРЕЖДЕНИЕ:
ИСПОЛЬЗУЕТЕ НА СВОЙ СТРАХ И РИСК.