Удаление объектов по виду и периоду с отбором по всем реквизитам без монопольного режима для 8.2 обычное приложение

Обработка для окончательного удаления помеченных на удаление объектов с отбором по виду объекта, периоду и всем реквизитам с контролем ссылочной целостности. Объекты, содержащие ссылки отображаются в виде дерева. Работает на всех конфигурациях для платформы 1С 8.2 в режиме обычного приложения.

Обновление:

— 12.04.14 — реализовано сохранение настроек, решены все проблемы, указанные в комментариях (спасибо за отзывы). Добавлен вывод состояния при длительных действиях, а так же вывод прогресс бара при удалении объектов.

— 15.02.13 — реализован отбор с помощью СКД по всем возможным реквизитам всех объектов. *На некоторых конфигурациях могут быть ошибки, связанные с отсутствием используемых картинок.

— 05.02.13 — добавлена возможность работы с планами видов характеристик, счетами, планами видов расчета, бизнес-процессами и задачами.

Обработка предназначена для удаления помеченных на удаление объектов (справочники, документы, планы видов характеристик, планы счетов, планы видов расчета, бизнес-процессы, задачи). Отбор всех объектов осуществляется по виду. Для документов, бизнес-процессов и задач доступен отбор по периоду.

Как пользоваться:

1. Установить отбор по периоду (не обязательно).

2. Нажать на «+» в панели верхнего табличного поля.

3. Выбрать нужные виды объектов.

3.1 Установить отбор по реквизитам, если нужно.

4. Нажать «Заполнить».

5. Внимательно расставить флажки в табличном поле удаляемых объектов. Красным цветом в дереве объектов, содержащих ссылку на удаляемый объект, выделяются те что помечены на удаление.

6. Нажать кнопку «Удалить».

Если ссылка на помеченный на удаление объект содержится где то еще — обработка об этом узнает и выведет красный флажок. Не смотря на это, есть возможность непосредственно удалить объект, но тогда появятся битые ссылки и могу быть серьезные последствия, так лучше этого не делать.

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

Обработку делал для себя, может кому пригодится, когда надо быстро и безопасно удалить однотипные объекты, не выгоняя всех из базы. Её так же можно доверить продвинутым пользователям, запретив изменение состояния флажков: Табличное поле «Объекты», свойство «ТолькоПросмотр».

Отзывы и пожелания приветствуются.

22 Comments

  1. OrsoBear

    При открытии выдает ошибку на 229 строку. Поле агрегатного объекта не обнаружено. Утвердить.

    Reply
  2. OrsoBear

    У меня нетиповая конфигурация, и в библиотеке картинок некоторых не оказалось.

    Reply
  3. rfcor

    картинки можно отключить — закомментировать код в модуле основной формы в самом конце, где присваиваются картинки из библиотеки.

    Reply
  4. Yimaida

    Спасибо, классная обработка.

    А для меня так еще и будет образец, как использовать СКД в продвинутом отборе. Была у меня в одной задаче потребность использовать СКД-шный отбор, но я с ходу не понял как его реализовать…

    Reply
  5. makas

    Обработка — понравилась.

    Единственное пожелание: — Добавьте в обработку сохранение и восстановление настроек

    Reply
  6. Vladisa

    я тоже вовсю пользую! +

    Reply
  7. rfcor

    (5) makas, спасибо за замечание, включу в следующее обновление вместе с другими изменениями. А пока что это можно легко сделать самостоятельно. Открыть обработку в конфигураторе, зайти в свойства основной формы, поставить галку «Сохранять значения», и выбрать сохраняемые значения. Имеет смысл сохранять только настройку периода и табличной части «ВидыОбъектов», потому что настройки компоновщика инициализируются заново при открытии обработки.

    Reply
  8. Angel_19

    Когда нажал кнопку заполнить — и произошло заполнение документами помеченными на удаление, трудно найти документы с красными галками (если они вообще есть). Может добавить настройку как-то, чтобы не удалялись объекты для которых существуют другие ссылки и удаление нежелательно.

    Reply
  9. Angel_19

    И может вывоводить сообщения об успешном удалении объектов, а то не совсем понятно, идет работа или зависло…

    Reply
  10. Angel_19

    Добавил объект, нажимаю — Заполнить, и ничего непроисходит…

    Хотя объекты помеченные на удаление точно есть.

    В чем может быть проблема?

    Reply
  11. besick

    1С:Предприятие 8.2 (8.2.19.83)

    «Управление торговлей», редакция 10.3 (10.3.28.1)

    Выбрал номенклатуру, всю помеченную на удаление (Очень Много), вместе с той на которую есть ссылки.

    При нажатии кнопки удалить пишет ошибку:

    {Форма.Форма.Форма(27)}: Значение не является значением объектного типа (Удалить)

    Ст.СсылкаНаОбъект.ПолучитьОбъект().Удалить();

    При этом в поле «Помеченные на удаление объекты» появляется: <объект не найден> (тут цифры и буквы)

    Что делать?

    создается впечатление что обработка спотыкается на уже удаленных объектах.

    Да так и есть, удаляет кучку и останавливается.

    Приходится закрывать обработку, потом запускать по новой, выбор-заполнить-выбрать все-удалить-стоп

    и так по кругу, но потихоньку работает.

    Reply
  12. taniaid

    Спасибо за обработку,единственный минус что если перевыбрать период, то при нажатии кнопки заполнить отображаются предыдущие данные и приходится перезапускать саму обработку.

    Reply
  13. rfcor

    (5) Добавил.

    (8) Красные галки можно и не искать. Обработка не ставит к удалению объекты с красными галками (это значит на объект есть ссылка где то еще).

    (9,10) Добавил вывод текущего состояния при длительных операциях и вывод прогресс-бара в левом нижнем углу во время удаления элементов.

    (11) Проблема решена.

    (12) Исправил, теперь после изменения периода данные отбираются корректно.

    Reply
  14. valeriy-vm

    очень долго работает( 6000 объектов ищет 1 час 20 минут с отбором по определенному справочнику

    Reply
  15. rfcor

    (14) В Вашем случае производительность ограничивается возможностями железа. Самое долгое — выполнение поиска ссылок на помеченный на удаление объект.

    Reply
  16. novav

    Проблема (11) осталась!

    Reply
  17. Sergio1C

    При нажатии на кнопку «Заполнить» очищаются все отборы и, соответственно, в список попадают все объекты.

    Reply
  18. jobkostya1c8

    Резко понадобилась подобная. Даже не успел протестировать. Даже предыдущую правда обработку пришлось допиливать довольно серьезно. Надеюсь, эта тоже работоспособна в современных условиях.

    Reply
  19. Дмитрий74Чел

    Запустил обработку, не указывая отбора по времени- указал тип документа=списание с р/сч. Нажал Заполнить — ничего, пустой результат.

    Reply
  20. Дмитрий74Чел

    Ладно, указал период — нашла документы.

    Теперь указал отбор — но он слетает (очищается) при нажатии «заполнить».

    Ну и наконец. Обработка совершенно не годится для удаления документов: помечает все красными галками — т.е. что есть ссылки на удаляемый документ. А они конечно есть — в регистрах. Но документ-то является там ведущим измерением. Т.е. все нормально, можно удалять.

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

    В общем, абсолютно «сырой» продукт.

    Reply
  21. mikhailovaew

    Интересно, просматривает ли автор тему? Мне нужна обработка удаления помеченных с отбором по реквизиту. Тут этот самый отбор как раз и не работает! Отбор можно установить, но на заполнение он никак не влияет — как замечено в комментариях (17) и (20), при заполнении он тупо очищается.

    В общем, перед скачиванием нужно всегда внимательно читать комментарии (

    Reply
  22. Manonegro

    1с 8.3 упп — не заполняет список помеченных документов.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *