Обработка быстрой пометки на удаление

Публикация № 387972

Обработки - Свертка базы

Elisy .Net Bridge MSSQL Microsoft SQL Server .Net framework

5
Обработка полезна при обрезке баз с большим числом документов. Обработка работает быстрее в 80-100 раз по сравнению с типовой групповой обработкой справочников и документов. Требует .Net framework 4 и Elisy .Net Bridge.

Обработка разработана на основе LinqTo1C. Используется прямой доступ к данным MSSQL.

Тестировалась в режиме совместимости 8.2.16.

Достоинства

  1. Работает отбор по периоду
  2. Работает отбор по видам документов
  3. Помечает документы на удаление
  4. Удаляет движения в регистрах накопления, сведений, бухгалтерии
  5. Помечает документы в журналах документов
  6. Код открыт
  7. Работает в транзакции

Недостатки:

  1. Игнорирует документы, где запрещено проведение, например, корректировка записей регистров. 
  2. Результат не отражается в планах обмена. Решается одновременным запуском в связанных базах.
  3. Не затрагивает таблицы итогов. Решается пересчетом итогов через Конфигуратор - Тестирование и Исправление.
  4. Поставляется «Как есть» без каких-либо гарантий и с вероятными негативными эффектами.
  5. Требует сторонний компонент Elisy .Net Bridge 4.0.6 и .Net framework 4. Работоспособна на ознакомительной версии .Net bridge.
5

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

Наименование Файл Версия Размер
ПометкаУдаленияПрямымЗапросом.epf
.epf 13,77Kb
11.08.15
33
.epf 1.0 13,77Kb 33 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. genayo 12.08.15 16:31 Сейчас в теме
Если декларируется увеличение скорости на порядок, неплохо было бы представить хоть какие-нибудь замеры...
3. Elisy 930 13.08.15 05:56 Сейчас в теме
(1) genayo,
1) На тестовой базе удаление групповой обработкой 1 месяца занимало более 4х часов. Удаление по обработке заняло 3-4 минуты - разница примерно в 80 раз.
2) Есть аналогичная разработка: https://infostart.ru/public/65176/ в ней декларируется "3 часа прямых запросов против 12 суток штатной пометки" - разница в 96 раз.
Отсюда декларируемое увеличение скорости: в 80-100 раз.
2. the1 362 12.08.15 23:18 Сейчас в теме
Федор Михалыч дело говорит =)
4. Elisy 930 17.08.15 11:11 Сейчас в теме
Выложил статью с подробным описанием метода на Хабре
http://habrahabr.ru/post/264687/
5. anig99 2683 17.08.15 16:53 Сейчас в теме
(4) где её разумно раскритиковали (: Прямая работа с SQL не всегда хороша.
6. Elisy 930 18.08.15 06:04 Сейчас в теме
(5) Не понятно, где вы нашли разумность у фанатов 1С. Констатация общеизвестных фактов была, а альтернатив разумных не прозвучало. Может вы больше знаете чем я и предложите, как не ждать 2 дня удаления документов?
7. anig99 2683 18.08.15 08:22 Сейчас в теме
(6) нет-нет. разумность не в том, чтобы пользоваться штатной удалялкой, а в том, чтобы подходить к такому удалению с очень большой осторожностью и проверкой всех возможных зависимостей, рассматривая такие случаи, как единичные.
8. Elisy 930 18.08.15 09:45 Сейчас в теме
(7) anig99,
Еще одной причиной, почему я развел такую бурную деятельность по поводу этой обработки в Интернете стало опасение, что чего-то мог не учесть. Обязательно кто-то делал аналогичную работу. Поэтому особое внимание уделяю комментариям. Пока, к большому удовольствию, не нашел неразрешимых проблем, связанных с применением этого метода.
9. ander_ 04.05.16 04:50 Сейчас в теме
Если тестирование и исправление фактически является обязательной частью процесса, оно же здесь тоже включено при оценке ускорения? так?
10. Elisy 930 11.05.16 06:29 Сейчас в теме
(9) ander_,
Если точнее, пересчет итогов является обязательной частью. Были получены положительные результаты при Тестировании и Исправлении. Скорее всего, через Управление итогами были бы получены такие же результаты. Сейчас уже не смогу сказать, сколько времени занимает эта операция. Но если стоит цель достичь ускорения, заявленного в статье, то через управление итогами можно перекрутить итоги на начало операции пометки на удаление. Эта операция не займет времени.
11. b-dm 169 22.09.16 14:16 Сейчас в теме
У меня не заработало, к сожалению..
12. starik-2005 1866 22.09.16 14:29 Сейчас в теме
(11) b-dm, а у Вас есть "Требует .Net framework 4 и Elisy .Net Bridge."?

Вообще, 1С очень долго удаляет и меняет объекты. И особенно долго реструктуризирует данные, даже те, которые не были изменены. А все из-за запросов в цикле, которые создатели 1С так часто где надо и где не надо применяют. Вместо того, чтобы прочитать соточку тысяч записей регистра сведений, которые стали из-за изменения типа невалидны и сразу записать их в таблицу NG, создатели 1С делают это в цикле, по одной записи, обрабатывают их (опять же медленно), потом записывают в NG. В итоге нормальные компании не могут использовать в своей операционной деятельности продукты 1С, ибо обновление базы 36 часов, при том что данные не изменились ни на йоту, - это полный беспредел.
13. kote 501 27.02.19 18:24 Сейчас в теме
(12) ну а что Вы хотели, если работа идет через объекты - у каждого объекта вызывается метод Удалить()

Но может если озадачить создателей платформы этой проблемой, то можно будет найти решение - в какой нибудь новой функции, типа
УдалитьОбъектыПоСсылкам({МассивОбъектов}).. тут хотя бы можно будет параллельно запустить много запросов на удаление в БД - для каждого типа свой отдельный запрос..
Оставьте свое сообщение