gifts2017

Удаление помеченных объектов группами

Опубликовал Алексей Мутовкин (mrWatson) в раздел Администрирование - Чистка базы

Предлагаемая обработка поможет в тех случаях когда в базе накопилось много помеченных на удаление объектов и штатными средствами удалить их не получается.

1. Получаем массив помеченных на удаление (МПУ).
2. Берем первый элемент из МПУ, и будем формировать группу на удаление (ГНУ).
Т.е. помещаем элемент в ГНУ.
3. Ищем в базе ссылки на ГНУ. Если среди них есть не помеченные на удаление, то элемент заносим в пропущенные и удаляем из МПУ. Переходим к п.1
4. Если все найденные ссылки также помечены на удаление, то добавляем их в ГНУ.
5. Если в ГНУ появились новые сслыки, то переходим к п.3.
6. Если новых ссылок не появилось, т.е. ГНУ ссылается на себя и все эл-ты ГНУ помеч. на удаление, то можно непосредственно удалять из базы данных всю группу. Что и делается в транзакции. Далее удаляем обработанный элемент из МПУ и переходим к п.1.

Папка служебных файлов хранит лог сообщений и таблицу с пропущенными объектами.
По кнопке "Прочитать" можно увидеть в таблице пропущенные объекты и поработать с ними.
Обработка открыта. Ответственность за работу обработки в вашей базе вы берете на себя.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Удалятор.epf
.epf 10,00Kb
28.09.10
246
.epf 10,00Kb 246 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Sergey Ivanov (aresstokrat) 12.09.11 23:33
Объясните пожалуйста, есть у меня неудаляемые объекты. Но обработке нужен лог файл, я не знаю где его взять и как он называется. Платформа 8.2 + КА 1.1
2. Владимир Кузнецов (mr.Kot) 21.09.11 10:21
Было бы хорошо, если бы в обработке помжно было бы задать период и его бы и удаляли
3. Наталья Зотова (natik86) 27.09.11 18:44
Подскажите пожалуйста, а в УТ 10.3 (82) будет эта обработка работать или нет?
4. Алексей Мутовкин (mrWatson) 27.09.11 22:24
(1) просто укажите пустой каталог, в нем программа сама создаст необходимые файлы, если их нет.
Если файлы есть, то программа их задействует.
(2) обработка открыта для изменения
(3) да, будет работать, обработка не зависит от конфигурации. но не забывайте делать бэкап.
5. Евгений (Old Daemon) 30.09.11 09:48
8.2 УПП Нажимаю запустить - получаю {Форма.Форма.Форма(138)}: Значение не является значением объектного типа (ПометкаУдаления)
Если СтрТабСсылок.Данные.ПометкаУдаления Тогда
6. Алексей Мутовкин (mrWatson) 30.09.11 10:38
(5) ВОзьмите в попытку, и в исключении

Соообщить(ТипЗнч( СтрТабСсылок.Данные))

данный объект не удаляйте, пропустите.
8. Сергей Пискунов (serjpsv) 23.12.11 16:45
Не запускается под ЗУП 8.2
9. Сергей Пискунов (serjpsv) 23.12.11 16:45
А в конфигураторе открівается нормально
10. Алексей Мутовкин (mrWatson) 23.12.11 17:35
(9) serjpsv, в ЗУПе не проверял, а что за ошибка-то?
11. v i (vis_tmp) 18.11.14 07:43
Хорошая обработка, пригодилась в работе.
12. Константин Исиченко (IsiKosta) 03.09.15 10:42
Комплексная автоматизация, редакция 1.1 (1.1.62.1)
Ситуация после нескольких запусков подряд:

{Форма.Форма.Форма(58)}: Индекс находится за границами массива
ПомечНаУдаление = МассивПомеченныхНаУдаление[0];
13. Константин Исиченко (IsiKosta) 03.09.15 10:59
Для тех, кто не хочет выбирать файл, добавьте Попытку

Если (КолВоПомеченныхНаУдаление/100) = Цел(КолВоПомеченныхНаУдаление/100) Тогда
СообщитьЛог("******* сохраняем в файл ***********",ЛогТекстовыйДокумент);
ЗначениеВФайл(ИмяФайлаПропущенные,Пропущенные);

Попытка
ЛогТекстовыйДокумент.Записать(ИмяФайлаЛог);
Исключение
КонецПопытки;

КонецЕсли;
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа