gifts2017

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

Опубликовал Сергей Карташев (Elisy) в раздел Обработки - Свертка базы

Обработка полезна при обрезке баз с большим числом документов. Обработка работает быстрее в 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.

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

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

См. также

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

Комментарии

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

Вообще, 1С очень долго удаляет и меняет объекты. И особенно долго реструктуризирует данные, даже те, которые не были изменены. А все из-за запросов в цикле, которые создатели 1С так часто где надо и где не надо применяют. Вместо того, чтобы прочитать соточку тысяч записей регистра сведений, которые стали из-за изменения типа невалидны и сразу записать их в таблицу NG, создатели 1С делают это в цикле, по одной записи, обрабатывают их (опять же медленно), потом записывают в NG. В итоге нормальные компании не могут использовать в своей операционной деятельности продукты 1С, ибо обновление базы 36 часов, при том что данные не изменились ни на йоту, - это полный беспредел.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа