![]() |
|
Удаление организаций в ERP | ☑ | ||
---|---|---|---|---|
0
cons74
26.12.17
✎
13:27
|
Добрый день.
ERP, десяток организаций, море документов. Встала необходимость удалить все организации кроме 3х. Вроде бы можно через РИБ выгрузить данные по 3м нужным организациям, но не делал ранее такого. Плюс плана обмена РИБ (и узла по Организациям) в типовой нет, это не БП 2.0. Да еще непонятно сколько оно будет выгружаться, а у нас вообще-то 24х7, так что скорее не вариант чем вариант. Штатное удаление помеченных (документов) вешает базу (железо не вытягивает прирост нагрузки к текущему немаленькому проведению документов еще и огромного удаления). Есть идея отключить итоги, якобы это ускоряет запись - но с учетом 24х7 боюсь что тоже не вариант (и еще как помню при включении может подвиснуть). Есть идея сделать удаление с паузой, порциями. Что еще можно применить для ускорения удаления? Или вдруг какие другие способы есть? |
|||
1
vvp91
26.12.17
✎
13:35
|
Следующий код драматически изменяет ситуацию.
ОбъектБД = СсылкаБД.ПолучитьОбъект(); ОбъектБД.ОбменДанными.Загрузка = Истина; ОбъектБД.Удалить(); |
|||
2
Мыш
26.12.17
✎
13:44
|
(1) Плохого не посоветуешь )
|
|||
3
ildary
26.12.17
✎
14:11
|
Нужна плашка "Вредные советы". А то придет script kiddy по ссылке из гугла и сделает на живой базе без бекапов.
|
|||
4
ShAV
26.12.17
✎
14:16
|
(1) красава
(2) какой вопрос - такой ответ :) |
|||
5
tesseract
27.12.17
✎
01:36
|
Я через генератор запроса на SQL когда-то делал. Кстати отработал быстро но оставил кучу висячих записей. Находил по GUID организацию и по иерархии все удалял изо всех документов, их движения и пр. Даже в вылизаной базе вел себя не совсем предсказуемо.
|
|||
6
Обработка
27.12.17
✎
07:01
|
(0)
1. Найти хороший другой сервер на время. 2. Сделать копию. 3. Удалить в копии базы все не нужные доки. 4. Перенести в копию (новую базу) все что нет по трем орг. 5. На время этой работу все не трогают прошлые периоды исключение текущие 2-3 дня. |
|||
7
Рэйв
27.12.17
✎
07:08
|
(1)А зачем убиваемому доку такой бантик
ОбъектБД.ОбменДанными.Загрузка = Истина; ?:-) |
|||
8
Обработка
27.12.17
✎
07:26
|
(7) Из-за этого бантика перенос в РИБ или синхронизация быстрее происходит. Ровно и удаление (отмена проведения) тоже.
|
|||
9
cons74
27.12.17
✎
07:56
|
(7) в большинстве типовых подписок прописано
Если ОбъектБД.ОбменДанными.Загрузка = Истина Тогда Возврат; КонецЕсли; Т.е. код отключает срабатывание подписок. |
|||
10
cons74
27.12.17
✎
07:57
|
блжад дайте кто-нить кнопку "код 1с" этот кривой автооформитель кода бесит!
|
|||
11
Рэйв
27.12.17
✎
08:32
|
(8)Какая нафиг отмена проведения прифизическом удалении?:-) Все движения останутся красиво висеть с "<Объект не найден>" в виде регистратора.
|
|||
12
Рэйв
27.12.17
✎
08:34
|
(9)Это написано для исключения лишних проверок при записи. Удаляемый физически объект даже не зайдет в ПередЗаписью чтобы насладиться этими строками:-)
|
|||
13
Mankubus
27.12.17
✎
08:41
|
(10) смотри тут http://www.forum.mista.ru/about.php
раздел "добавление новой темы" |
|||
14
Фрэнки
27.12.17
✎
08:55
|
(0) если какие-то Организации совсем совсем не нужны...
А у вас в базе с разграничением доступа к объектам (RLS) пользователи работают? Тогда запретите/исключите эти Организации из доступных и постепенно, не спеша занимайтесь уничтожением физических данных. Вот совсем не понимаю в чем смысл какой-то спешки с удалением объектов, если данные УЖЕ исключены из работы. |
|||
15
zak555
27.12.17
✎
09:10
|
(0) план обмена по организациям в 2.4 появился
|
|||
16
cons74
27.12.17
✎
14:00
|
(14) вот в связи с переходом на 2.4 как раз и хотим удалить "мусор", чтоб не мешал выполнять реструктуризацию при обновлении.
|
|||
17
Фрэнки
27.12.17
✎
14:04
|
тогда да, печально
|
|||
18
Seriy_Volk
27.12.17
✎
14:24
|
один мой друг, рассказывал про обработку "Быстрое удаление документов". Есть два тонких момента:
1. подход обработки может не совпадать с рекомендациями 1с по доступу к данным 2. движения документа не удаляются, но это можно победить последующим ТИИ с опцией удаления всего "подвисшего" |
|||
19
cons74
27.12.17
✎
14:26
|
(18) из-за пункта 2 не подойдет: на нашей базе оно займет более суток, чего нам никто не даст делать.
|
|||
20
Мыш
27.12.17
✎
14:35
|
(19) Свою обработку написать и там порциями резать?
|
|||
21
cons74
27.12.17
✎
14:57
|
(19) таки пишем. Но по-сути кроме
ВыборкаДетЗаписи.Ссылка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина) ничего и нет |
|||
22
n0ther
27.12.17
✎
14:58
|
(1) ешь слона порциями
1.определи метаданные, которые гарантировано, без проверки ссылочной целостности, удалятся (в первой итерации это скорее всего будут документы и регистры сведений). 2.удали их повторять с пункта 1 до достижения результат. когда данных станет гораздо меньше, можно уже штатным удалением |
|||
23
cons74
27.12.17
✎
15:01
|
Пометить-то помечу. А как потом удалять? С одной стороны - уже не так боязно делать(1), т.к. регистры пусты. С другой - все равно останутся "висяки" (те же присоединенные файлы на 30Гб).
Т.е. по-красивому использовать удаление с контролем ссылочной целостности - но штатная обработка работает ну о-о-очень медленно, да и порциями бы лучше (чтоб не вешать базу). |
|||
24
Мыш
27.12.17
✎
15:18
|
(23) Проверяешь программно наличие ссылок. Если их нет - удаляешь.
|
|||
25
Обработка
27.12.17
✎
15:49
|
Как-то на 1с77 еще из-за такой проблемы написал обработку с задержкой чтоб сильно не грузил базу. В итоге получилось.
В другой раз удаляли через скуль ну там вообще за считанные минуты удалял. |
|||
26
Сисой
27.12.17
✎
15:55
|
Я удалял в огромной базе. У меня есть обработка. Но она просто идет и потихоньку удаляет все, что относится к выбранным организациям. Базу не вешает, но учитывая 24*7 и необходимые таймауты, вам придется ждать много дней.
|
|||
27
Сисой
27.12.17
✎
15:58
|
(23) За присоединенные файлы в 30 Гб архитектора системы и админов нужно пороть сразу.
|
|||
28
Обработка
27.12.17
✎
16:20
|
У меня если база более 5-6 гигов я уже начинаю думать как бы дальше не быстро росло.
Если сервера крутые уже на пороге 10 гиг. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |