Быстрое удаление документов (только для SQL)
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
На самом деле ничего страшного нет. Так как обработка сама вычищает все основные ссылки из таблиц: регистров, изменений, журналов. Если что-то и останеться запускаешь ТИИ, так как база стала намного меньше оно пройдет быстро и дочистит оставшиеся ссылки.
Отличная обработка, но пришлось подправить из-за 2 возникающих ошибок:
1) Некорректный перевод даты (если её выбирать в условии). SQL воспринимает: гггг.мм.дд, а переводилось в дд/мм/гггг.
2) В обработке в таблице _SequenceChangeRec выбиралось поле _Recorder_RRRef, а надо было _RecorderRRef.
1) Некорректный перевод даты (если её выбирать в условии). SQL воспринимает: гггг.мм.дд, а переводилось в дд/мм/гггг.
2) В обработке в таблице _SequenceChangeRec выбиралось поле _Recorder_RRRef, а надо было _RecorderRRef.
Чистил базу, перед обновлением конфигурации, и вводом начальных остатков, даже часть документов оставлял в базе, на удивление даже не пришлось перебрасывать в идентичную конфигурацию. Заработала на живую. Пробовал на торговле (2 часа на все) и Бухгалтерии (12 часов)
Бухгалтерия 4 года, сеть магазинов розница, количество маленькое, но строк много.
У меня перепроведение докуметов за ночь (с 18 по 09) успевает только один месяц. Прирост в год больше 10 Гб. Потому и открывал заново, что база уже не ворочается. Выгрузка DT занимала полтора часа.
У меня перепроведение докуметов за ночь (с 18 по 09) успевает только один месяц. Прирост в год больше 10 Гб. Потому и открывал заново, что база уже не ворочается. Выгрузка DT занимала полтора часа.
За обработку спасибо. В процессе использования сделал два уточнения:
1. Учёл смещение дат в sql-базе для пересчета значения даты в параметре.
2. При удалении последовательностей изменил запрос для указания ссылки на реквизит регистратора в трёх вариантах сразу (действует всегда только один):
_Recorder_RRef
или
_RecorderRRef
или
_Recorder_RRRef
1. Учёл смещение дат в sql-базе для пересчета значения даты в параметре.
2. При удалении последовательностей изменил запрос для указания ссылки на реквизит регистратора в трёх вариантах сразу (действует всегда только один):
_Recorder_RRef
или
_RecorderRRef
или
_Recorder_RRRef
Получилось выполнить удаление только на платформе 8.1, на 8.2 не находила документы, возможно причина была в том что 8.2 работает не по стандартному порту 1541 а по 2041. При удалении на 8.1 дико рос лог и обработка падала с ошибкой, указал ограничение логу в 20 Гигов, хватило и все прошло успешно.
Работает как часы. Меня очень сильно выручила.Базу с 40Gb до 5Gb урезал очень быстро(по сравнение с типовым удалением).
Только была проблема с отбором документов по периоду. Неверный формат преобразования дат в формат sql: у меня почему-то дата вот-так "2011-06-17". Если б еще автоматически определяло формат дат sql сервера. :) Хотя можно и без этого.
Только была проблема с отбором документов по периоду. Неверный формат преобразования дат в формат sql: у меня почему-то дата вот-так "2011-06-17". Если б еще автоматически определяло формат дат sql сервера. :) Хотя можно и без этого.
ELInfinito пишет:
Очень полезно и своевременно.
Только пришлось реализовать ссылочную целостность и добавить возможность удаления документов списком.
Спасибо!
Очень полезно и своевременно.
Только пришлось реализовать ссылочную целостность и добавить возможность удаления документов списком.
Спасибо!
Поясните пожалуйста, что конкретно имеется в виду под реализацией ссылочной целостности? Замена во всей конфигурации ссылок на удаляемые документы - пустой ссылкой?
Не работает отбор по дате!!! Выбираю все документы, в отборе указываю период для отбираемых документов - удалено документов 0!!! Из-за этой обработки купил подписку за 800!!! р. На#рена нужен аватар для публикации комментариев???!!!!
(46) quick, Вышло ?
Есть желание удалить ПРОВОДКИ по определенныйм документам с базе на 700 Гиг.
Обработка ПРОВОДКИ умеет удалять ?
Почему справшиваю - нарисовал запрос в SQL на удаление из основной таблицы - в надежде что из таблицы ЗначенияСубконто данные удалятся сами (триггерами).
Как оказалось 1С об этом не подумала.
Теперь вопрос - пытаться догадаться как именно связаны две таблицы (ключа в таблицах нет) или это может сделать эта обработка ?
Есть желание удалить ПРОВОДКИ по определенныйм документам с базе на 700 Гиг.
Обработка ПРОВОДКИ умеет удалять ?
Почему справшиваю - нарисовал запрос в SQL на удаление из основной таблицы - в надежде что из таблицы ЗначенияСубконто данные удалятся сами (триггерами).
Как оказалось 1С об этом не подумала.
Теперь вопрос - пытаться догадаться как именно связаны две таблицы (ключа в таблицах нет) или это может сделать эта обработка ?
Здравствуйте! Кто может описать какие подводные камни есть при удалении напрямую? где то это обсуждалось?
Очевидно что надо удалять корректно - т.е.
1) не удалять документы - т.к. там не только документ + табл части в разных таблицах SQL но и еще есть движения регистров и общие итоги! Вывод лучше не связываться с удалением документов!
2) удаление справочников - тут уже проще - надо лишь убедиться что на удаляемые элементы не осталось ссылок в других объектах базы.
3) удаление данных регистра сведений - совсем просто, но они и штатными средствами неплохо чистятся!
Вопрос:
Что то еще я не учел? Итоги или общие данные базы какие то? Все ли я верно написал в пунктах?
Очевидно что надо удалять корректно - т.е.
1) не удалять документы - т.к. там не только документ + табл части в разных таблицах SQL но и еще есть движения регистров и общие итоги! Вывод лучше не связываться с удалением документов!
2) удаление справочников - тут уже проще - надо лишь убедиться что на удаляемые элементы не осталось ссылок в других объектах базы.
3) удаление данных регистра сведений - совсем просто, но они и штатными средствами неплохо чистятся!
Вопрос:
Что то еще я не учел? Итоги или общие данные базы какие то? Все ли я верно написал в пунктах?
(49) суть удаления через скуль скорость!
Но вы должны быть экспертом и все эти пункты просчитать иначе привет базе))
В каком месте может вылезти ссылка на объект? Нужно в каждом случае рассматривать, что вы хотите удалить, а то что вы описали это только часть айсберга может быть.
О чем я говорю? Прогнать все метаданные, не только то что на поверхности, тогда и будет результат на лицо!
Но вы должны быть экспертом и все эти пункты просчитать иначе привет базе))
В каком месте может вылезти ссылка на объект? Нужно в каждом случае рассматривать, что вы хотите удалить, а то что вы описали это только часть айсберга может быть.
О чем я говорю? Прогнать все метаданные, не только то что на поверхности, тогда и будет результат на лицо!