|
Удаление помеченных объектов | ☑ | ||
---|---|---|---|---|
0
osa1C
06.10.21
✎
12:10
|
Нарвался на базу самописку, на основе УПП 1.2 и в ней куча мусора аж с 2011 года. Хотелось бы хоть постепенно, хоть помесячно очищать этот мусор. Кто сталкивался с подобным, подскажите варианты решения. Вариант обрезания базы по годам не подходит. Надо вычистить помеченные на удаление объекты.
|
|||
1
mistеr
06.10.21
✎
12:13
|
(0) Обработка из ИР весьма неплоха. Может обрабатывать порциями.
|
|||
2
Галахад
гуру
06.10.21
✎
12:14
|
Регламент. Пусть чистит порциями. Можно по ночам.
|
|||
3
Базис
naïve
06.10.21
✎
12:14
|
(0) Сам увидишь, что очень много ссылок на служебные объекты.
Как-то раз очистил УПП до состояния "Всё лишнее удалено", ушло тьма времени. Максимум возможного - замена на служебный элемент "Старое и ненужное" в каждом очищаемом справочнике. (1) Она упрётся в сотни ссылок, которые надо разгребать руками. |
|||
4
osa1C
06.10.21
✎
12:19
|
(3) упрется в том и дело, но хоть бы записала ссылки и при следующем запуске либо подставляла выбранные вручную значения, или убивала ненужные
|
|||
5
TormozIT
гуру
12.10.21
✎
00:14
|
(4) Если нужно заменить ссылки, то логичнее использовать инструмент "Поиск дублей и замена ссылок (ИР)". Там на странице "Правила замены ссылок" можно для каждого объекта указать замену.
|
|||
6
TormozIT
гуру
12.10.21
✎
00:16
|
(5) Ну а если для всех ссылок одного типа нужно одна общая замена, то на странице "Группы дублей" логичнее создать одну группу дублей и назначить элемент-замену правильным.
|
|||
7
TormozIT
гуру
12.10.21
✎
00:18
|
(4) Если же ты имел ввиду что то другое, то я не смог понять куда записывать какие ссылки и куда их подставлять при следующем запуске. Поясни подробнее.
|
|||
8
ДенисЧ
12.10.21
✎
05:04
|
(7) Я так понял - он хочет простое. Найти все помеченные, запомнить найденное. Удалить 1000. Закрыть 1с. Завтра вернуться, загрузить список, удалить ещё 1000...
|
|||
9
TormozIT
гуру
12.10.21
✎
07:26
|
(8) Такое уже есть там. Поэтому то и непонятно.
|
|||
10
Василий Алибабаевич
12.10.21
✎
08:03
|
(0)
1. НайтиПомеченныеНаУдаление - вернет массив помеченных на удаление. Возможно с отбором по каким-то, нужным вам, критериям. 2. Из массива взять столько сколько нужно объектов и скормить их в УдалитьОбъекты. 3. Все. |
|||
11
lodger
12.10.21
✎
08:44
|
(10) 4. останется 500 неразрешимых ссылок.
5. НайтиПомеченныеНаУдаление - вернет массив из 1000 помеченных на удаление. 6. УдалитьОбъекты снесет 250 и останется 750 неразрешимых ссылок. 7. НайтиПомеченныеНаУдаление - вернет массив из 1000 помеченных на удаление. 8. УдалитьОбъекты снесет 125 и останется 875 неразрешимых ссылок. 9. НайтиПомеченныеНаУдаление - вернет массив из 1000 помеченных на удаление. 10. УдалитьОбъекты снесет 63 и останется 937 неразрешимых ссылок. 11. n+1. УдалитьОбъекты снесет 0 и останется 1000 неразрешимых ссылок. |
|||
12
Обработка
12.10.21
✎
08:49
|
Если свернуть нельзя то только порционное удаление.
Еще могу посоветовать выбирать приоритеты отбора так что сначала удаляется объекты на которые меньше всех ссылаются. |
|||
13
osa1C
12.10.21
✎
08:59
|
(12) ну меньше всего ссылок на удаленные договоры абонентов. И их конечно куча.
|
|||
14
Василий Алибабаевич
12.10.21
✎
09:00
|
(11) "останется 750 неразрешимых ссылок." На следующей итерации их можно исключить из массива удаляемых.
ЗЫ. Если дурака заставить богу молться то он и лоб расшибит не остановится. |
|||
15
Dmitrii
гуру
12.10.21
✎
10:46
|
(0) >> Надо вычистить помеченные на удаление объекты.
Зачем вам это нужно? Какие цели вы при этом ставите? Что хотите получить? На 90% это бесполезная трата огромного количества времени. Если задача тупо в том, чтобы типовое удаление помеченных объектов отрабатывало, а сейчас оно не успевает отрабатывать из-за слишком большого количества помеченных объектов, то просто снимите пометки на удаление со старых объектов. Например, по личному опыту, пользователи очень часто помечают на удаление элементы справочников, которые не используются ими в текущей работе, но раньше использовались. Удалены такие объекты быть не могут (они реально использовались ранее и на них имеется куча рабочих ссылок). У таких точно должна быть снята пометка удаления и попутно можно впихнуть префикс в наименования типа "(не используется)". Можно определиться с несколькими видами объектов, имеющих самое большое количество помеченных. Далее смотреть - почему не удаляются и выбирать конкретную стратегию - как чистить. Какие служебные регистры и справочники нужно для этого очистить и можно ли это сделать безболезненно. Можно ли где-то выполнить поиск и замену значений с очисткой ссылок или заменой на ссылки на служебные элементы. Короче стратегия будет каждый раз индивидуальная. Где-то для этого лучше буде привлечь кого-то из ответственных пользователей. Геморрой неимоверный при весьма неочевидных преимуществах. |
|||
16
УдавВПопугаях
12.10.21
✎
10:54
|
быстрее перенести остатки в чистую базу или если совсем быстро - shift+del
|
|||
17
Обработка
12.10.21
✎
11:21
|
(16) В теме же написано что свертка не предполагается никак.
Цитата "Вариант обрезания базы по годам не подходит." |
|||
18
УдавВПопугаях
12.10.21
✎
11:28
|
(17) это ерунда. движения оставить, а мусор вычистить - ну и вычищайте, процентов 10 от помеченных может и удалите. вполне рабочая встроенная обработка "Удаление помеченных объектов"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |