Удаление элементов справочников, не участвующих в движениях.


Обработка производит поиск и удаление элементов справочника, которые не участвуют ни в одном из движений.

 

Часто есть необходимость очистить справочник, например КОНТРАГЕНТЫ или НОМЕНКЛАТУРА от ненужного мусора. Но проблема в том, что узнать, какие элементы участвуют в движениях, а какие нет — весьма проблематично.

 

Данная обработка решает эту проблему в три «этапа»:

1. указывается тип справочника (или, при желании, конкретный элемент);

2. действия над ним (непосредственное удаление или пометка).

3. «Выполнить».

Enjoy…

 

Релизы:

1.1.0 — Исправлены мелкие баги. Добавлена возможность снимать с пометки удаления те объекты, которые уже участвуют в движениях.

2.1.0 — Введен автоматический и ручной режим обработки объектов. Изменен интерфейс. Исправлены мелкие баги.

2.2.1 — Добавлен механизм поиска движений в бухгалтерских регистрах. Исправлены, некоторые, баги в интерфейсе.

 

 

Надеюсь, многим эта обработка будет весьма полезна. 

«Да здравствует чистота и порядок!  — УРА, товарищи!» Wink

 

41 Comments

  1. Lara.Builova

    Хорошая штучка. Но мне в таких обычно не хватает еще одной опции — снять пометки на удаление.

    Reply
  2. Misanets

    Однозначно плюс. Как-то раз надо было почистить номенклатуру, пришлось помечать все на удаление, удалять, потом снимать с удаления. Писать тогда ничего не хотел, а вот если бы попалась Ваша обработка сэкономил бы себе время.

    Reply
  3. den_vladimir

    Весьма полезная обработка. Щас глянем!

    Reply
  4. den_vladimir

    Начал чистить статьи затрат

    {Форма.Форма.Форма(209)}: Поле объекта не обнаружено (ВидыНоменклатуры)

    ВидН = Справочники.ВидыНоменклатуры.НайтиПоКоду(«000000001»);

    Reply
  5. den_vladimir

    Оговорюсь — делал в БП 2.0

    Reply
  6. Danilnk

    Спасибо автору!

    Reply
  7. SiAl

    (0) Плюс поставил авансом. Советую сделать выбор не одного справочника, а всех справочников конфигурации с помощью списка с пометками. Код не смотрел, потому вопросы.

    Предопределенные игнорируются?

    Как решена проблема при непосредственном удалении и существовании ссылки на элемент в реквизитах других объектов?

    Как решен в вопрос с имеющемися RLS?

    Reply
  8. igwb

    den_vladimir, Данную ошибку исправил. На днях обновлю, после тестирования.

    SiAl, Отвечу поэтапно:

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

    2. Если, посредством RLS, будут стоять запреты на какие-либо действия над объектом, то вы попросту не совершите этих действий. Будут выдаваться ошибки по запрету. Вот и все.

    3. А стоит ли чистить все объекты по списку? Даже, чистка только одного вида справочника занимает колосальную кучу внутренней памяти и времени. А представьте, что будет, если выбор нескольких справочников вызовет, банально, просто закрытие программы?… Ну, если очень надо, то могу добавить эту возможность. но целесообразно ли??? Тем более, для каждого вида справочника у меня может быть выбрана отдельная группа элементов. А в списке это попросту будет невероятно сложно сделать. В общем, думаю, овчинка выделки не будет стоить из-за сложности такой обработки.

    Misanets, Специально для Вас, включу возможность снятия с пометки удаления объектов, участвующих в движении. Сразу после тестирования, добавлю обновленную обработку. Следите за релизами. 😀

    Reply
  9. SiAl
    igwb пишет:

    2. Если, посредством RLS, будут стоять запреты на какие-либо действия над объектом, то вы попросту не совершите этих действий. Будут выдаваться ошибки по запрету. Вот и все.

    Нет, я про другое. Что если ссылка на объект в реквизите элемента, который не доступен пользователю. То есть объект удалится, а ссылка будет битая? Значит надо использовать полные права?

    Reply
  10. Holly-khv

    Хорошая обработка. Как раз руки не доходили до справочников.

    Ушла чистить…

    Reply
  11. cbr900

    Еще неплохо было бы получить ТЧ с предварительным списком удаляемых элементов

    Reply
  12. zhleonid8

    респект от бухгалтера!!!!!удивлен и обрадован

    Reply
  13. igwb

    zhleonid8. — Благодарю.

    Lara.Builova — Ваш заказ выполнен (теперь и убирает пометки на удаления с объектов, имеющих движения) 🙂

    cbr900 — Можно сделать, но часто список объектов настолько велик, что каждый рассматривать не будет нужны. Если очень — очень это нужно, то сигнальте — добавлю.

    Misanets — спасибо за коммент.

    Reply
  14. cbr900

    Про ТЧ предварительных результатов.

    Это понятно, что она может быть сильно большой и т.д. и т.д., НО можно ведь выводить ее по флажку)) Когда надо выводим, когда не надо — не выводим

    Reply
  15. pitbul
    Код
    {Форма.Форма.Форма(127)}: Ошибка при вызове метода контекста (Выполнить)
             Результат = Запрос.Выполнить().Выбрать();
    по причине:
    
    по причине:
    {(6, 32)}: Ожидается выражение ")"
    И ЦеныАТТ.Период > ДАТАВРЕМЯ(2 <<?>>011, 01, 01, 0, 0, 0)
    

    Показать полностью

    При нажатии кнопки выполнить вылетает эта ошибка 🙁 как её исправить?

    Reply
  16. SiAl

    (15) pitbul, пробел надо убрать.

    Reply
  17. igwb

    pitbul. Пробел? … Где?

    e.kogan. Хорошо, когда есть выбор. — Правда? 🙂

    pitbul. Сразу, после очередного обновления, эту ошибку уберу.

    cbr900. На данный момент реализую эту возможность. Сразу после обновления будет доступно два механизма обработки: автоматический и ручной (Ваш вариант).

    Спасибо за комментарии!

    Reply
  18. pitbul
    SiAl пишет:

    пробел надо убрать.

    а где именно убрать пробел?

    Reply
  19. SiAl

    (19) pitbul, вместо

    И ЦеныАТТ.Период > ДАТАВРЕМЯ(2 011, 01, 01, 0, 0, 0)

    надо

    И ЦеныАТТ.Период > ДАТАВРЕМЯ(2011, 01, 01, 0, 0, 0)
    Reply
  20. Sairys

    Спасибо, чистка базы не повредит

    Reply
  21. powerpc

    ИБ 1С КОРП 2.0. Данной обработкой пометил неиспользуемые элементы Контрагентов на удаление. Снял с используемых пометки на удаление. Поискал ссылки на одного из помеченных. Расстроился. Выложил скриншот. Имхо, стандартный способ — пометить, удалить, снять пометки — надежен как танк.

    Reply
  22. igwb

    powerpc. Обработка выполняет проверку на движение по регистрам, а не на наличие объекта в документе. Об этом свидетельствует и название самой обработки. Если Вам нужна такая, дополнительная, функция, то можно дописать. Или я Вас неправильно понял: существовали именно движения по регистрам? На скрин-шоте этого не видно.

    Reply
  23. mihas1001

    Классная оброботочка, ждем от автора новых!

    Reply
  24. powerpc

    (23) проверил. Есть движения. И в Дт-Кт. И в оборотно-сальдовой ведомости по счету 62.01 есть обороты. Могу скриншоты выложить. Надо ?

    Reply
  25. alex_fursov

    Полезная обработка! Спасибо.

    Reply
  26. igwb

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

    Спасибо, за тестирование.

    Reply
  27. la1512

    Спасибо.

    Reply
  28. powerpc

    (27) спасибо Вам большое.

    Reply
  29. Yan-1986@mail.ru

    Полезно, спасибо огромное!

    Reply
  30. CaSH_2004

    (18)

    igwb пишет:

    e.kogan. Хорошо, когда есть выбор. — Правда? 🙂

    Да если новое улучшает результат предыдущих, а если оно явно слабее (я про список нескольких видов и элементов у каждого вида — это явно уже реализовано судя по скриншотам) то это удручает. Получается что все должны наступить на одни и те же грабли — пройти одну дорогу, не пользуясь наработками других, не изучая накопленный опыт. Работа ради работы называется «в холостую».

    Чувствуется гордость автора за то что он смог создать аналог! Интересный подход 🙂

    Такие ресурсы как Инфостарт специально созданы чтобы делится, учится, не работать «в холостую» каждый сам по себе — а вы копипастите. Даже если сами написали, то какой смысл выкладывать? Чтобы показать что вы тоже так можете? Поверим без подтверждений! И так уже по 6-7 однотипных обработок качаеш и изучаеш все чтобы понять какая-же лучше. И приходиш к мнению что нужно самому все дописывать т.к. всем лишь бы сделать что-то да выложить. А как насчет улучшить, если это «что-то» уже имеется, но там чего-то на ваш взгляд нехватает? При таком подходе не пришлось бы вздыхать глядя на свежие обработки: «ну вот изобритен уже 10-й вариант велосипеда — тепрь в сиреневый горошек», а радостно говорил — «наконец они новую фишку прикрутили — мне как раз ее не хватало!»

    Reply
  31. igwb

    CaSH_2004. Чего воду льём?.. Не нравится — не пользуйтесь. А, если чего-то не хватает, то конкретно, по пунктикам… И обоснуйте необходимость каждого. Если читали внимательно, то я дорабатываю свою обработку в соответствии с пожеланиями.

    И большая просьба:

    Комментарии типа: «копипастите»… — не кидайте без обоснований. Ок?!

    Reply
  32. CaSH_2004
    igwb пишет:

    CaSH_2004. Чего воду льём?.. Не нравится — не пользуйтесь. А, если чего-то не хватает, то конкретно, по пунктикам… И обоснуйте необходимость каждого. Если читали внимательно, то я дорабатываю свою обработку в соответствии с пожеланиями.

    И большая просьба:

    Комментарии типа: «копипастите»… — не кидайте без обоснований. Ок?!

    А чего уточнять — все равно не поймете. ТО что дорабатываеш — молодец. «Копипасте» можно заменить на «изобретать вилосипед» если это звучит приятнее. А вообще все изложено, но явно не понято, засим давайте не ругаться а предположим что чужое мнение нас не касается, т.к. у нас на все свое мнение, и оно естественно самое правильное. Ок?!

    Reply
  33. igwb

    (33) CaSH_2004,

    А вообще все изложено, но явно не понято, засим давайте не ругаться а предположим что чужое мнение нас не касается, т.к. у нас на все свое мнение, и оно естественно самое правильное. Ок?!

    — это Вы о себе, видимо.

    Мужик, рейтинг комментами зарабатываешь?…

    Reply
  34. CaSH_2004

    Кстати вопрос рейтинга очень интересный. Из чего складывается можно увидеть из профиля по ссылке, так что вопрос явно риторический. Мой понятно из чего сложился: 69+70+16=155 так написано в моем профиле

    А вот почему у тебя при сумме разработок 11+53+19=83 — так должно быть, а по факту 19. Странно как-то

    Я не меряюсь рейтингами, но интересно почему у меня не сходится? Есть какие мысли?

    Может тут пояснение: http://forum.infostart.ru/forum17/topic41628/, недавно нашел буду читать.

    Reply
  35. redkiller3

    Довольно удобная обработка, немного переписал аналогию для переноса элементов в другую группу.

    Reply
  36. a31
    Misanets пишет:

    Однозначно плюс. Как-то раз надо было почистить номенклатуру, пришлось помечать все на удаление, удалять, потом снимать с удаления. Писать тогда ничего не хотел, а вот если бы попалась Ваша обработка сэкономил бы себе время.

    Не понял предназначения. У меня все справочники в по папкам разложены, когда нужно подобное, пометил на удаление, удалил, то, что без движения удалилось, снял пометку удаления на остальном. Все. Зачем еще что-то? Может я что-то упустил? Но все равно спасибо за труд.

    Reply
  37. a31
    redkiller3 пишет:

    Довольно удобная обработка, немного переписал аналогию для переноса элементов в другую группу.

    Я никак не уловлю, а чем штатные переносы не устраивают? Или я что-то упускаю из вида? Или имеется ввиду групповой перенос или что еще может быть?

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

    Reply
  38. pmtvv

    автору спасибо

    Reply
  39. igwb

    a31.

    Я никак не уловлю, а чем штатные переносы не устраивают? Или я что-то упускаю из вида? Или имеется ввиду групповой перенос или что еще может быть?

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

    Читайте внимательно… Автор имел ввиду поиск неиспользуемых элементов и перенос в другую группы. Например, «УДАЛЕННЫЕ». Не плохая идея.

    a31.

    Не понял предназначения. У меня все справочники в по папкам разложены, когда нужно подобное, пометил на удаление, удалил, то, что без движения удалилось, снял пометку удаления на остальном. Все. Зачем еще что-то? Может я что-то упустил? Но все равно спасибо за труд.

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

    Reply
  40. pt_olga

    у нас в конфигурации Договора контрагентов это документы.

    В этой связи нужно дополнительное средство для очистки неиспользуемых документов. 🙁

    Reply

Leave a Comment

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