Филимонов Иван | Руководитель группы автоматизации учета | ООО "Трансстроймеханизация"

«Менеджер потоков: Реализация «любой» задачи в потоках»

Реализация «любой» задачи в потоках: Обработка коллекции (например: запись\перезапись элементов справочников\документов, формирование сложных отчетов и т.д.); Обработка зависимых объектов (например, восстановление последовательности, формирование цепочек документов и т.д.). Платформа одна – задач много Единый подход к многопоточным задачам; Вся логика задачи – отдельно («любой» модуль БД / внешняя обработка); Взаимодействие через события. Доп функционал: Контроль за «падением» потоков и их рестарт; Поддержка многократных попыток обработать объект; Возможность оперативно получать «ответ» от потоков; Возможность в любой момент прервать работу; Мониторинг деятельности «Менеджера потоков».

Удаление данных из базы по выбранным организациям

Администрирование - Чистка базы

Обработка позволяет пометить на удаление (удалить непосредственно) данные справочников и документов по списку организаций (за исключением списка выбранных организаций) из базы данных.

В конфигурации обязательно должен присутствовать справочник "Организации"

Варианты использования:

1) Необходимо удалить данные по списку определенных организаций

2) Необходимо удалить все данные кроме списка определенных организаций

3) Необходимо удалить данные по списку организаций за определенный период

Предполагаемый порядок действия с обработкой:

1) Определяются настройки отбора по организациям и периоду документов

2) Нажимается кнопка "Заполнить", в результате:

  • определяются все возможные места использования выбранного списка организаций в справочниках и документах как в реквизитах, так и в реквизитах табличных частей
  • по обнаруженным местам использования, определяется количество элементов каждого справочника и документа к предполагаемому удалению
  • справочники/документы упорядочиваются по убыванию числа элементов к удалению

3) Убираются галочки со справочников/документов, которые по определенным причинам не должны быть помечены на удаление

4) Нажимается кнопка "Пометить на удаление"

Существует возможность удалять объекты непосредственно, при этом велика вероятность появления битых ссылок. После проведения операции в режиме непосредственного удаления рекомендуется провести тестирование и исправление.   

Обработка написана на управляемых формах (можно подключить как внешнюю), должна работать со всеми конфигурациями на платформе 8.3.6.1977 и выше.

Замечание 1: Обработка может работать достаточно продолжительное время 

Замечание 2: Рекомендуется перед использованием обработки проверить дату запрета редактирования

Замечание 3: Рекомендуется перед использованием обработки снять копию с базы данных и запускать обработку в монопольном режиме

Замечание 4: На вкладке дополнительно по умолчанию установлены признаки, влияющие на скорость удаления объектов:

  • Удалять в режиме «Групповое перепроведение» - в справочниках и документах в событиях «Перед записью» проверяется наличие свойства, если оно присутствует – исключается ряд действий замедляющий удаление объектов
  • Удалять непроведенные объекты в режиме: ОбменДанными.Загрузка = Истина

Версия 1.4 (18.05.2018):

В обработку добавлен функционал управления итогами. При удалении большого массива документов рекомендуется отключить использование итогов в регистрах бухгалтерии/накопления.

ВНИМАНИЕ: при отключенных итогах не возможна корректная работа пользователей (отсутствуют виртуальные таблицы регистров)!!! Операцию рекомендуется проводить исключительно в монопольном режиме, для последующей корректной работы пользователей необходимо включить использование итогов!

  

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

Наименование Файл Версия Размер
Удаление данных из базы по выбранным организациям:
.epf 29,31Kb
18.05.18
52
.epf 29,31Kb 52 Скачать

См. также

Комментарии
1. Кузнецов Василий (collider) 25.05.17 12:01 Сейчас в теме
Это для того, что бы делить одну базу на несколько баз с отдельными организациями?
Есть более изящный способ через РИБ по организациям.
2. Илья Бородич (beardlyhich) 12 25.05.17 12:12 Сейчас в теме
(1) Скорее, в случае продажи бизнеса.
3. Илья Бородич (beardlyhich) 12 08.06.17 14:25 Сейчас в теме
Огромная просьба, при возникновении вопросов/замечаний, а главное предложений - пишите в комментариях или в личку. Будем исправлять/дорабатывать!
4. Наталья Конда (tasha.bessonova@gmail.com) 08.06.17 16:59 Сейчас в теме
Подскажите, а обработка тестировалась на ЗУП 3.0? Работает?
5. Илья Бородич (beardlyhich) 12 08.06.17 17:10 Сейчас в теме
(4)Наталья, Добрый вечер.
Обработка должна работать на всех конфигурациях. Если возникнут какие-то проблемы - я помогу (при необходимости доработаю под Вашу базу).
6. Сергей Соколов (balhomes) 6 04.09.17 18:41 Сейчас в теме
Обработка неспособна удалить договора по организации, поскольку
она не ищет и не удаляет связанные объекты - конртагенты, в которых эти договора указаны как основные, а также банковские счета связанные с этими контррагентами

В чем тогда смысл?
7. Илья Бородич (beardlyhich) 12 04.09.17 23:26 Сейчас в теме
(6)Контрагентов удалять нельзя - эта информация не привязана к организациям, банковские счета контрагентов также не привязаны к организациям. А вот с основными договорами контрагентов - идея хорошая (эта возможность будет добавлена в дальнейшем).

Сергей, какая у Вас конфигурация, я Вам вышлю внешнюю обработку, которая удаляет информацию об основных договорах контрагентов.
8. Илья Бородич (beardlyhich) 12 04.09.17 23:31 Сейчас в теме
(6)
(7)Также отработает следующая идея - пометить на удаление всех контрагентов, провести операцию удаления помеченных объектов, после чего снять пометку удаления с оставшихся контрагентов.
9. Олег Лейнер (LLITyPMAH) 08.10.17 19:48 Сейчас в теме
10. Илья Бородич (beardlyhich) 12 09.10.17 01:35 Сейчас в теме
(9) На Управление торговлей (10.3.44.1) / Демо в режиме тонкого клиента отработала.
12. Максим Горбачев (Tangram) 137 26.01.18 09:18 Сейчас в теме
(10) Договора контрагентов уже отслеживает?
13. Илья Бородич (beardlyhich) 12 28.01.18 17:47 Сейчас в теме
(12) В бухгалтерии 3.0, данные по основным договорам хранятся в регистре "Основные договора контрагента". Откройте регистр из всех функций, сделайте отбор динамического списка по договорам, помеченным на удаление. Выделяем все выведенные строки (ctrl + A), нажимаем удалить.
11. Петя Петров (Dimul555) 31.10.17 19:04 Сейчас в теме
14. Илья Бородич (beardlyhich) 12 31.01.18 12:21 Сейчас в теме
Обработка при удалении элементов добавляет дополнительное свойство к объектам - "НеОсуществлятьПроверку".

Для ускорения очистки конкретных документов (в моем случае платежных документов), добавляем в модулях объектов в начало процедур "ПередЗаписью", "ПриЗаписи" код:

// Для ускоренной очистки базы
Если ЭтотОбъект.ДополнительныеСвойства.Свойство("НеОсуществлятьПроверку") Тогда
Возврат;
КонецЕсли;
15. Илья Бородич (beardlyhich) 12 31.01.18 12:24 Сейчас в теме
(14) Для выделения конкретной (одной) организации из базы рекомендую также воспользоваться стандартной выгрузкой/загрузкой через xml-файл (обработку можно бесплатно скачать на ИТС).
16. Илья Бородич (beardlyhich) 12 27.03.18 09:13 Сейчас в теме
(15) Для управляемых форм можно воспользоваться этой: https://infostart.ru/public/805923/
17. Илья Бородич (beardlyhich) 12 18.05.18 16:58 Сейчас в теме
Рекомендую также обратить внимание на эту обработку (непосредственная очистка таблиц SQL):
https://infostart.ru/public/122546/
Оставьте свое сообщение