IE 2016

Выборочное удаление помеченных объектов (управляемые формы 1С 8.2)

Опубликовал Pro-tone в раздел Администрирование

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

Если вам понравилась данная разработка, но вам ее функционал мал - покупайте полную версию 

http://infostart.ru/public/148771/ где реализован рекурсивный обход подчиненных объектов с возможностью выборочной отметки

дочерних и корневых объектов, чего нет в этой версии.


Обновил версию до 1.5


           Добавлена возможность авторегистрации обработки в справочнике "Дополнительные отчеты и обработки"


Обновил версию до 1.4


           Добавлена автоматическая очистка подчиненных записей регистров сведений 1го уровня вложенности.


Обновил версию до 1.3


          Добавил кнопки простановки/снятия флагов обработки в дереве метаданных (по просьбе Samarin)


Обновил версию до 1.2

  • Теперь в дерево объектов включены все ссылочные объекты метаданных 
  • Отображаются картинки всех объектов в дереве метаданных

Версия 1.1


         Метаданные и найденные объекты с пометками удаления представлены в форме дерева значений.

         Подходит для управляемого приложения и клиентов любой толщины.

         Пока сделал только для документов,справочников и ПВХ. Пишите если нужно какие другие объекты. Можно выбирать               определенный вид объекта метаданных перед обработкой. Это большой плюс в сравнении с типовой обработкой при большом кол-ве данных.

         Один из главных плюсов (а также отличий) обработки в реализации в ней т.н. "порционного удаления" объектов. Это крайне       полезно при большой нагрузке на сервер 1С с большим количеством пользователей при большом объеме удаляемых объектов. Дабы не "подвешивать" сервер на долгое время можно назначить кол-во удаляемых объектов в порции, а также время следущего вызова процедуры удаления. 

         Рассматриваю пожелания на доработку кроме рекурсии (пока нет на нее времени).

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

Наименование Файл Версия Размер Кол. Скачив.
Выборочное удаление помеченных объектов (для управляемых форм 1С 8.2)
.epf 23,10Kb
05.04.13
587
.epf 23,10Kb 587 Скачать

См. также

PowerTools от 1 000

Лучшие комментарии

17. flack (файл скачал) 28.09.2012 12:10
Неплохо было бы сделать функционал, позволяющий выбирать:
1.Удаляем с контролем целостности (мягкий)
2.Удаляем без контроля целостности (грубый)
3.Удаляем объект и все связанные с ним объекты (очень грубый =))
Ответили: (18)
+ 2 [ demart-omsk; elenko1; ]
# Ответить
20. Pro-tone 05.04.2013 15:36
(19) Сделано. Обновил до 1.5. Там уже есть авторегистрация доп.обработки.
+ 1 [ bird21; ]
# Ответить

Комментарии

1. Поручик 30.07.2012 23:40
(0) Для большей универсальности все остальные ссылочные объекты тоже добавить.
Ответили: (2)
# Ответить
2. Pro-tone 30.07.2012 23:46
(1) угу, сделаю, просто делал под свои цели - мне только 3 объекта были нужны
# Ответить
3. apostal86 08.08.2012 09:23
Вы пишете в описании: "Это крайне полезно при большой нагрузке на сервер 1С с большим количеством пользователей при большом объеме удаляемых объектов. Дабы не "подвешивать" сервер на долгое время можно назначить кол-во удаляемых объектов в порции, а также время следущего вызова процедуры удаления" - подразумеваете удаление не в монопольном режиме?
Ответили: (4)
# Ответить
4. Pro-tone 18.08.2012 22:04
(3) apostal86, все верно, не в монопольном режиме обработка удаления может очень сильно грузить сервер 1С особенно при большом кол-ве помеченных на удаление объектов, такое наблюдалось и не раз. Пакетное удаление решает эту проблему.
# Ответить
5. Samarin (файл скачал) 06.09.2012 09:43
Спасибо за обработку - полезная!
Что я изменил:
1) Поменял местами кнопки "Контроль" и "Удаление", так интуитивней - юзеры быстрее разберутся.
2) Флажки "Использование" в дереве - по умолчнию Истина, при открытии формы обработки. Чтобы сразу можно после запуска нажимать кнопку "Контроля", без лишних телодвижений.
Очень не хватает перехода по ссылкам на те объекты, из-за которых нельзя удалить.
Ответили: (6)
# Ответить
6. Pro-tone 06.09.2012 09:53
(5) спасибо за комментарий.

1) Возможно - надо будет прикинуть как лучше
2) При большом кол-ве объектов поиск помеченных по всем видам объектов это далеко не очень хорошо, потому что это порой отнимает значительное серверное время на поиск всех объектов с пометками удаления. На то оно и выборочное удаление, чтобы пользователь сам мог проставить флажки на те объекты, что ему необходимы.

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

Вы имеете виду поиск ссылок с рекурсией. Это сделано в моей публикации http://infostart.ru/public/148771/ Рекомендую ознакомиться. Там еще много нового и полезного, но она не бесплатная.
Ответили: (8)
# Ответить
7. OleGazz 06.09.2012 11:39
спасибо за обработку, очень интересная вещь
# Ответить
8. Samarin (файл скачал) 06.09.2012 16:38
(6) Pro-tone, В моем случае - это база с небольшим документооборотом, поэтому я смело включил все флажки. Если это все обсуждаемо и спорно - тогда сделать кнопку вкл/выкл флагов всей колонки.
# Ответить
9. Pro-tone 06.09.2012 16:43
Samarin, это совершенно несложно, и без проблем могу сделать тогда в самое ближайшее время.
# Ответить
10. Pro-tone 07.09.2012 10:46
Samarin, сделал кнопки по вашей просьбе =)
# Ответить
11. flack (файл скачал) 27.09.2012 18:03
При "Контроле удаления" в список выводятся только те объекты, которые нельзя удалить!
Кнопка "Удалить" неактивна.
Платформа: 8.2.15.310
Конфигурация: ЗУП, редакция 2.5.
Ответили: (12)
# Ответить
12. Pro-tone 27.09.2012 22:22
(11) все верно, так и должно быть. Если нельзя удалить, значит есть подчиненные объекты. Хотите их видеть и легко удалять тоже в виде дерева? Рекомендую купить http://infostart.ru/public/148771/
Ответили: (14)
# Ответить
13. flack (файл скачал) 28.09.2012 09:44
Дело в том, что есть объекты, которые ни с чем ни связаны.
Стандартная обработка УдалениеПомеченныхОбъектов с контролем целостности спокойно удаляет несвязанные.
А в данной обработке те объекты, которые можно удалить вообще не выводятся. В итоге получаем очень сильно урезанный список объектов.
Ответили: (14)
# Ответить
14. Pro-tone 28.09.2012 11:23
(13) моя обработка имеет проверку контроля еще и по подчиненным записям регистрам сведений, чего не имеет типовая. Поэтому вы и думаете, что Стандартная обработка УдалениеПомеченныхОбъектов с контролем целостности спокойно удаляет несвязанные. Потому что в ней нет проверки на подчиненные записи РС.

Если вы напишите простой код для проверки наличия ссылок тех объектов, которые моя обработка не дает удалить, то увидите записи РС. При удалении объекта типовой обработкой, если он имеет свои ссылки в записях РС и записи не подчинены регистратору, а просто содержат поле со ссылкой на удаляемый объект, то скорее всего после удаления объекта останется запись, в поле которой будет такая вещь как "<Объект не найден>" (например, когда включено версионирование). Что не есть гуд. Данная моя обработка просто не даст такое допустить, а коммерческая в (12) дает возможность удалять любые подчиненные объекты, включая записи РС.
# Ответить
15. flack (файл скачал) 28.09.2012 11:53
В конфигурации Документооборот (1С:Документооборот 8 КОРП, редакция 1.1 (1.1.4.1)) обработка УдалениеПомеченныхОбъектов работает с контролем целостности как с РС, так и с остальными объектами как положено.
Ответили: (16)

Прикрепленные файлы:

screen_1.JPG
screen_2.JPG
screen_4.JPG
# Ответить
16. Pro-tone 28.09.2012 11:58
(15) ОК, хорошая иллюстрация! Стало быть типовая автоматически чистит записи РС если нет других подчиненных объектов. Без проблем - могу это так сделать, чтоб записи тоже вычищались.
# Ответить
17. flack (файл скачал) 28.09.2012 12:10
Неплохо было бы сделать функционал, позволяющий выбирать:
1.Удаляем с контролем целостности (мягкий)
2.Удаляем без контроля целостности (грубый)
3.Удаляем объект и все связанные с ним объекты (очень грубый =))
Ответили: (18)
+ 2 [ demart-omsk; elenko1; ]
# Ответить
18. Pro-tone 28.09.2012 12:27
(17)

1. Уже есть
2. Зачем это надо? Ошибки плодить в базе?
3. Речь идет о рекурсии. К тому же не видя, что удаляем - это плохо. А чтобы сделать видимым полное дерево подчиненных ссылок - это надо писать рекурсию с заполнением дерева ссылок.
В данной обработке ее делать не буду - слишком трудоемко.

Хотя поддерживаю сделать удаление автоматически подч. записей РС.
# Ответить
19. bird21 (файл скачал) 02.04.2013 11:16
Для большего удобства было бы здорово добавить стандартный функционал, позволяющий добавлять обработку в базу на управляемых формах как дополнительную обработку.
А-то возникает ошибка "Ошибка получения сведений о внешней обработке такой-то при ее загрузке: Метод объекта не обнаружен (СведенияОВнешнейОбработке)".
Ответили: (20)
# Ответить
20. Pro-tone 05.04.2013 15:36
(19) Сделано. Обновил до 1.5. Там уже есть авторегистрация доп.обработки.
+ 1 [ bird21; ]
# Ответить
21. zhenya17 (файл скачал) 12.08.2013 21:20
Поставила плюсик.
Из пожеланий: хочется, чтобы можно было открывать на просмотр те объекты, из-за которых невозможно удалить исходный. Сейчас ссылки отображаются, но чтобы понять, что в них, приходится дополнительно лезть в журналы документов, справочники и т.п.
Ответили: (23)
# Ответить
22. Liah82 (файл скачал) 19.11.2013 14:53
На платформе 8.2.18.109 конфигурации Бух. предприятия 2.0.52.6 почему-то вообще не запускается
Ответили: (23)
# Ответить
23. Pro-tone 20.11.2013 01:28
(21) принято
(22) потому что это обработка для управляемого приложения. В обычном работать не будет.
# Ответить
24. Eskimos (файл скачал) 25.12.2013 11:20
{Форма.Форма.Форма(76)}: Значение не является значением объектного типа (ПолноеИмя)
СтрокаПодчиненныеНайденныеСсылки.ТипОбъектаСтр = Метаданные.НайтиПоТипу(ТипЗнч(ТекСтрока.Данные)).ПолноеИмя();

Вот такая ошибка вылазит.
1С 8.2.18.61 База 1С:Розница
# Ответить
25. Putin_VV (файл скачал) 07.01.2014 11:07
не открывается обработка ни одной УТ ни БП
Ответили: (26)

Прикрепленные файлы:

план.gif
# Ответить
26. Pro-tone 07.01.2014 16:39
(25) Потому что ваши УТ и БП на обычном приложении, а эта обработка для управляемого.
# Ответить
27. Ibrogim (файл скачал) 16.01.2014 10:19
1) Не плохо бы вставить ОписаниеОшибки() в попытку удаления объекта
А то в случае фэйла просто краснеет текст "можно удалить" и непонятно, что произошло или не произошло.

УТ11.1.2.27 не удаляет объекты, которые спокойно удаляет типовая обработка
Ошибка:
{Форма.Форма.Форма(197)}: Ошибка при вызове метода контекста (Удалить): Нарушение прав доступа!

Обработка запущена под полными правами.
2) Рядом с большой кнопкой "плюсануть разработку" можно сделать небольшую "минусануть".
Ответили: (28) (38)
# Ответить
28. Pro-tone 16.01.2014 10:42
(27) под полными правами запускайте
Ответили: (29)
# Ответить
29. Ibrogim (файл скачал) 16.01.2014 11:04
(28) Pro-tone, Если вы внимательно прочитаете моё сообщение, то увидите :
Обработка запущена под полными правами.
Ответили: (30)
# Ответить
30. Pro-tone 16.01.2014 11:07
(29) Значит RLS наложен, в запросе к метаданным нужно довесить ВЫБРАТЬ РАЗРЕШЕННЫЕ
Ответили: (31)
# Ответить
31. Ibrogim (файл скачал) 16.01.2014 11:12
(30) Pro-tone, На выбранный объект RLS не наложены. Связанных объектов или РС нет (уже всё удалил)
+ повторюсь, что типовая обработка объект удаляет без проблем.

У вас есть под рукой УТ11? Попробуйте удалить реализацию вашей обработкой (предварительно почистив связанные объекты и РС)
Ответили: (32)
# Ответить
32. Pro-tone 16.01.2014 11:17
(31) На работе нет под рукой УТ, дома гляну.
# Ответить
33. bird21 (файл скачал) 21.01.2014 11:10
Пользуюсь уже некоторое время версией 1.5.
На БП 3.0 возникла проблема: обработка не удаляет объекты помеченные на удаление, но ссылающиеся друг на друга, при этом стандартное удаление помеченных объектов спокойно их удаляет.
Ответили: (34)

Прикрепленные файлы:

Версии.png
ВыборочноеУдалениеПомеченныхОбъектов.png
УдалениеПомеченныхОбъектовСтандартное.png
# Ответить
34. zhenya17 (файл скачал) 22.01.2014 03:40
(33) bird21, +1
Это не проблема в Бух 3.0, это проблема обработки :)
Мне тоже приходится удалять такие объекты в монопольном режиме стандартной обработкой...
# Ответить
36. Naumov (файл скачал) 12.03.2014 15:06
Из обработки невозможно открыть объекты, отображаемые в списке.
# Ответить
37. Klesk666 (файл скачал) 29.03.2014 06:13
в УТ 11 не удаляет документ "Передача товаров между организациями", пишет "нельзя удалить", в раскрываемом списке документа (я предполагаю что там показывается объект, который содержит ссылку на удаляемый) показывается этот же документ.
Ответили: (38)
# Ответить
38. Klesk666 (файл скачал) 06.08.2014 23:30
(27)
УстановитьПривилегированныйРежим(Истина);
ТекОбъект.Удалить();
УстановитьПривилегированныйРежим(Ложь);


(37)

Для Каждого ТекСтрока Из ТабСсылокНаОбъект Цикл
//Klesk666
Если ТекСтрока.Ссылка=Выборка.Ссылка и Выборка.Ссылка.ПолучитьОбъект().Метаданные()=ТекСтрока.Метаданные Тогда
Продолжить;
КонецЕсли;
//Klesk666
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл