Поиск и удаление неиспользуемых элементов справочников

05.02.13

База данных - Чистка данных

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

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

Наименование Файл Версия Размер
ПоискНеиспользуемых82.epf
.epf 17,26Kb
707
.epf 17,26Kb 707 Скачать

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

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

Внимание! При очистке большого справочника со множеством ссылок (например Номенклатура и Контрагенты) возможна нехватка памяти и свертка приложения 1С. Такие справочники лучше чистить медленно и с удовольствием - выбирая по одной группе.

См. также

Удаление данных с отбором и построением дерева ссылок в базах 1С 8.1-8.3 УТ 10.3./11, БП 2/3, ЗУП 2.5/3, КА 1.1/2, УНФ 1.6/3.0

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

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

9600 руб.

22.02.2013    135913    248    144    

418

Универсальное выборочное удаление данных из базы 1С (любые конфигурации на упр.формах: БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и т.д.)

Чистка данных Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

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

3350 руб.

28.11.2019    24309    46    16    

58

SALE! 10%

Выборочное удаление организаций из баз (управляемые формы), с удалением всех ссылающихся на эти организации данных

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Позволяет удалить организации из любых программ на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3980 3582 руб.

16.03.2015    113705    181    75    

217

Замена Номенклатуры+Характеристики

Чистка данных Логистика, склад и ТМЦ Платформа 1С v8.3 План видов характеристик 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Настраиваемая обработка, позволяющая заменить пару: Номенклатура+Характеристика в документах, их движениях и независимых регистрах сведений. Без перепроведения. Поможет, если вы по каким-то причинам решили отказаться от характеристик

3600 руб.

04.08.2015    41110    88    70    

49

Удаление битых ссылок 1С в базе без монопольного режима

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если в вашей информационной базе крутится очень много данных, или база должна быть доступна 24/7 (как в моем случае), или же вы боитесь запускать тестирование и исправление, НО существует потребность удалить битые ссылки, тогда эта обработка сможет Вам помочь. Обработка выявляет битые ссылки как в самих объектах метаданных, так и в их табличных частях(!), а так же может их удалить.

2400 руб.

23.08.2021    9258    15    3    

20

Очистка дублей в синхронизированных базах (УТ, БП, РТ, УНФ)

Чистка данных Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3960 руб.

27.06.2018    18805    10    3    

15

Очистка регистров сведений от записей по помеченным на удаление элементам

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

1200 руб.

21.01.2022    7123    5    6    

9

Очистка кэша 1С. Исполнитель

Чистка данных Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    4531    4    SerVer1C    25    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. sbv2005 347 25.10.10 11:49 Сейчас в теме
2. grGogy 27.10.10 16:25 Сейчас в теме
Про подчинённые справочники автор слукавил.
Ссылка из подчинённого справочника определяет элемент в Используемые.
4. defender 357 28.10.10 09:26 Сейчас в теме
(2) Нужно снять галочку "неиспользуемые без ссылок"
5. grGogy 28.10.10 11:01 Сейчас в теме
(4) Именно со снятой галочкой.
8. defender 357 28.10.10 15:44 Сейчас в теме
(5) (7) Сорри, была ошибка, исправил, перезалил.
Спасибо
3. Lyekka 26 27.10.10 16:43 Сейчас в теме
6. Tarlich 115 28.10.10 11:55 Сейчас в теме
Однозначно + (Только надо еще проверить в действии)
7. Tarlich 115 28.10.10 12:06 Сейчас в теме
Что ставлю , что не ставлю "Неиспользуемые без ссылок" - номенклатуру у которой есть ссылка только на ед.изм всеравно ставит как используемые -((
9. rasswet 82 03.11.10 14:27 Сейчас в теме
если в регистре сведений есть измерение справочник1, заполнено элементом этого справочника. и более нигде этот элемент не встречается в базе. эта обработка покажет его как неиспользуемый?
10. defender 357 03.11.10 15:17 Сейчас в теме
(9) Покажет если это ведущее измерение
11. Abadonna 3958 03.11.10 16:02 Сейчас в теме
Берешь справочник, помечаешь ВСЕ элементы на удаление.
Делаешь стандартную "Удаление помеченных объектов"
С оставшихся в живых пометки снимаешь.
Вот и вся обработка, зато гарантия 100%, что ничего случайно не грохнешь
nicknick23; Sartr; Altair777; Alraune; +4 3 Ответить
12. defender 357 03.11.10 16:42 Сейчас в теме
(11) 1. Этой обработкой тоже 100% ничего случайно не грохнешь.
2. Элементы которые были помечены на удаление, после отмены пометки таковыми быть перестанут.
37. CaSH_2004 372 23.05.12 03:54 Сейчас в теме
(11)
Берешь справочник, помечаешь ВСЕ элементы на удаление.
Делаешь стандартную "Удаление помеченных объектов"
С оставшихся в живых пометки снимаешь.
Вот и вся обработка, зато гарантия 100%, что ничего случайно не грохнешь

Категорически не согласен - пробовал много раз, кажеться что все просто однако, мне очень странно слышать такое от уважаемого гуру 1С, т.к. есть множество подводных камней, например:
1. Предположим что в базе ОЧЕНЬ много элементов, пометка на удаление это получение объекта со всеми вытекающими, т.е. запись, а это соответственно ОЧЕНЬ долго, уверен что дольше чем просто сравнить какие ссылки и на что
2. Далее даже если 1 не верно, то после пометки нужно делать тот же самый поиск ссылок и контроль уникальности - а это таже куча времени которое мы вроде должны съэкономить, потом удаление, а потом только опять снятие пометки удаления со ВСЕХ элементов. т.е. если у нас 100 тыс. из них скажем 10 тыс. неиспользуемых, то мы гоняем запись просто так 90 тыс элементов (с подчиненными!!!) аж 2 раза!!! только ради удаления 10% - за это просто уволить нужно человека
3. Особый нюанс с подчиненными - они тоже удаляются и это арифметиеская прогрессия количества объектов
4. А что делать если базу нельзя монопольно взять? Или будем удалять, а пользователи пусть работают как могут? Вот только они не смогут.
5. Что интересно делать если в базе версионизация настроена? Куча дополнительных пустых записей что мы гоняли 90 тыс. объектов в состояния?
6. Что делать если настроено хитрое реагирование на пометку удаления объекта, а мы не в курсе т.к. база не наша или просто забыли? А действия необротимые или сложно-обратимые
7. Что делать если база РБД? Все объекты помеченные пойдут в обмен даже если их снять с пометки файл распухнет и все это будет грузиться, т.е. надо и это учитывать а если не учли? а филиалов несколько?

Это основные проблемы РЕАЛЬНО с которыми я столкнулся, и на такой вариант проблемы я бы пошел только четко зная сколько примерный % неиспользуемых, как работает база, и что: нет РБД, версионизирования, она типовая
Конечно это во многом решается ОбменДанными.Загрузка = Истина, однако запись то все равно идет, и не везде этот отсев отработает, только там где он проверяется.
Вобщем я за ювелирный подход, не надо "отрезать палец по самое горло" :) а то пациента это не обрадует
criptid; nicknick23; ketr; izofen; Istur; pahmutov; SuperSpade; defender; +8 Ответить
39. defender 357 23.05.12 10:14 Сейчас в теме
(37) CaSH_2004,
мощно задвинул, зачот :)
13. Abadonna 3958 03.11.10 16:54 Сейчас в теме
Элементы которые были помечены на удаление, после отмены пометки таковыми быть перестанут.

А и не фиг им быть помеченными, раз ссылки есть ;)
14. defender 357 03.11.10 17:00 Сейчас в теме
(13) Юзеры иногда помечают для каких-то там своих хитрых целей (как-то видел как девушка рабочие документы хранила в "корзине"). И не нужно трогать то, что не нами помечалось.
38. CaSH_2004 372 23.05.12 04:09 Сейчас в теме
(13)
А и не фиг им быть помеченными, раз ссылки есть

Чтобы разобраться зачем и где используется этот объект, и возможно заменить его на другой или просто убить в ссылке, а просто так снимать пометку я бы не советовал где не попадя без разбору
15. Abadonna 3958 03.11.10 17:34 Сейчас в теме
Разбаловал ты своих юзверей ;)
А у меня шаг влево - шаг вправо: уже на экзекуцию нарвался
16. johnrex 02.01.11 11:51 Сейчас в теме
Прекрасная разработка. Сам хотел уже писать, а тут уже всё оказывается написано до нас!

Есть один серьезный изъян, но его исправить можно одной строчкой кода.
Для подчиненных справочников это работать не будет:
строкаТипа = Строка(ТипЗнч(Стр.Данные));
Потому что для ссылки справочника строкаТипа станет, например "ЕдиницаИзмерения", а дальше по коду:
ИначеЕсли Найти(строкаТипа, "Справочник") > 0
Разумеется ничего найдено не будет и подчиненный справочник будет пропущен. Соответственно переменная должна принять значение вроде "СправочникСсылка.ЕдиницыИзменения"
Можно сделать вот так:
строкаТипа = Стр.Метаданные.ПолноеИмя();
17. xavi 352 21.01.11 15:05 Сейчас в теме
(16) Если применить это исправление, тогда в строке

ИначеЕсли Найти(строкаТипа, "Регистр сведений") > 0 Тогда

нужно убрать пробел:

ИначеЕсли Найти(строкаТипа, "РегистрСведений") > 0 Тогда
19. provnick 29.09.11 21:27 Сейчас в теме
Интересно, в бухгалтерии заработало, а в УТ, по контрагентам работает, а по номенклатуре сработало только после изменений замеченных в (16) и (17), и не удаляет найденное, а только помечает, и так же в 8.2, соответственно после конвертации так же работает. И если возможно, желательно, не только наименование, но код, чтобы отображался.Плюс.
20. defender 357 30.09.11 17:04 Сейчас в теме
(16)(17)(19) Доработал поиск, сконвертировал под 8.2. Спасибо
18. kauksi 216 01.07.11 08:52 Сейчас в теме
РАБОТАЕТ! в отличие от многих других обработок!
21. kozai05 14.10.11 17:07 Сейчас в теме
Отлично, а а то у соседнего аналога почему-то не было в списке справочника "Контрагенты".
22. kozai05 14.10.11 17:30 Сейчас в теме
Проверил, выбрал справочник контрагентов. Убрал галочку "Неиспользуемые без ссылок". Обработка вывела мне все в используемые. Что-то не пойму, может это не то что мне нужно? У меня стоит цель очистить справочник от контрагентов, которые не участвую ни в каких остатках или оборотах. Но ведь у них хоть как будет ссылка с договора или регистра контактной информации, это в обработке предусмотрено? По какому принципу работает этот крыжик?
23. defender 357 14.10.11 17:40 Сейчас в теме
Если крыжик установлен - в неиспользуемые выбираются те у которых нет вообще никаких ссылок.
Крыжик снят - признаком "используемости" считается только участие в документах и пр. кроме подчиненных справочников и регистров движений
задумывалось именно так.
24. kozai05 14.10.11 17:53 Сейчас в теме
Понятно, значит выходит что с контрагентами поработать правильно не получится? У всех ведь есть, хоть даже пустые, но записи в регистре сведений контактной информации.
Выходит примерно такая картина:
http://s017.radikal.ru/i409/1110/b0/2a5b6914daad.jpg
53. fokin 16.10.14 08:38 Сейчас в теме
скажите, а как решается вопрос в (24), у меня просто такая же проблема - ищу решение, зазря качать не хочется
25. yushmakovmv 25.10.11 10:24 Сейчас в теме
26. Najly 61 14.11.11 11:51 Сейчас в теме
Ваша обработка очень помогла, спасибо большое. Но пришлось поправить три строчки:
1) На условие Найти(строкаТипа, "РегистрСведений") > 0 РегистрыСведений не отлавливались, предполагаю, что там опечатка в какой-то из букв р,е,с,т,н. Переписала заново в русской раскладке, все заработало.
2) Когда вы ищете по наименованию метаданных, тип на которой ссылается объект, рекомендую поставить в поисковой строке ".". То есть, например, Найти(строкаТипа, "Документ.") > 0, иначе под это условие подходит регистр сведений ОбъектыДоступаДокументов.
3) Не используемых контрагентов найти не получилось, т.к. они ссылаются сами на себя. Добавила в ваш блок небольшое условие и все заработало.
ИначеЕсли Найти(строкаТипа, "Справочник.") > 0 Тогда
Если Стр.Данные <> мО И НЕ Стр.Данные.ПометкаУдаления Тогда
Istur; NtS; lootinn; +3 Ответить
30. lootinn 14.03.12 08:58 Сейчас в теме
Полезная обработка, после внесения изменений из (26) с контрагентами работает как надо.
27. Genneral 04.01.12 23:03 Сейчас в теме
Спасибо, Номенклатуру в УТ 10.3 после свертки почистила на ура.
28. yalo 23.01.12 11:49 Сейчас в теме
В справочнике Контрагентов был полный караууу. Спасибо все почистила, очень пригодилась!!!!!
29. izz 20.02.12 16:14 Сейчас в теме
Спасибо! Пользуюсь этой обработкой
31. NtS 29.03.12 00:13 Сейчас в теме
а у меня контрагентов все равно не чистит(((как будьто ссылка на самого контрагента
32. NtS 29.03.12 00:27 Сейчас в теме
(31) заработало!!! комментарии как следует нужно читать )) огромное спасибо (26)
33. defender 357 30.03.12 15:14 Сейчас в теме
(32) По многочисленным просьбам трудящихся :) сделал доработки из (26)
34. OLga_gab 30.03.12 23:13 Сейчас в теме
Спасибо!!! Классно работает!
35. lees 16.05.12 11:12 Сейчас в теме
Мне интересна была реализация, пригодится потом. Спасибо!
36. infotrade 16.05.12 11:41 Сейчас в теме
Обработка полезна, после внесения некторых изменений все работает... Спасибо автору...
40. CaSH_2004 372 24.05.12 04:43 Сейчас в теме
Интересно как это у всех работает, а у меня нет? Скачал последнее - все описанные выше поправки имеются - ни фига не работает!
У меня Контрагент + Банк. счет + Договор, ссылок на подчиненные нет, провериил лично
В коде нигде не нашел чтобы подчиненные проверялись на наличие на них ссылок! Однако прочитав внимательно описание:
Неиспользуемыми считаются элементы на которые есть ссылки в регистрах сведений в ведущем измерении, в подчиненных справочниках и документах помеченных на удаление.

понял что принял желаемое за действитеьное.
Итак что же делать уважаемый defender? Как это может оказаться что есть помеченные на удаление подчиненные элементы, а сам Владелец нет? Это однако нонсенс если не говорить о выборочной пометки вручную.
Все обычно как раз наоборот - все непомечены на удаление, и надо найти и пометить их.
Итак предлагаю это исправить на первый раз так, находим:
ИначеЕсли Найти(строкаТипа, "Справочник.") > 0 Тогда
    Если Стр.Данные <> мО И НЕ Стр.Данные.ПометкаУдаления Тогда

меняем на
ИначеЕсли Найти(строкаТипа, "Справочник.") > 0 Тогда
    Если Стр.Данные.Владелец <> мО И Стр.Данные <> мО И НЕ Стр.Данные.ПометкаУдаления Тогда


Это конечно половинное решение, т.к. даже если Владелец не присутствует например в документах, то например банк.счет может, но если исходить из следующих моментов:
1. В типовых конфах всегда используется одновременно и Владелец и Подчиенный, заодно рекомендую и другим разработчикам придерживаться этого правила
2. Удалять все равно желательно через монопольно или спец. обработкой с ИТС и проблем не будет т.к. я доверяю только таким методам
3. Банально нет времени все сделать правильно, однако если автор не против можно чуток доработать и выложить, вообще стоит наверно когда выкладываете свои доработки сразу оговаривать возможность доработки другими разработчиками, а то устаеш всех спрашивать "можно?", а без спроса как-то неудобно
Прикрепленные файлы:
poiskneispolzuemykh82 (red.CaSH).epf
41. clab 8 20.06.12 08:20 Сейчас в теме
На больших объемах виснет и вылетает.
42. defender 357 20.06.12 10:35 Сейчас в теме
Падает платформа из-за нехватки памяти. Из-за этого и сделана возможность проверять определенную папку, а не только справочник целиком.
43. пользователь 20.06.12 11:08
Сообщение было скрыто модератором.
...
44. AnryMc 849 19.02.13 16:33 Сейчас в теме
Попроще, но раньше...
http://infostart.ru/public/65132/

Пока не висла ни не вылетала
45. leks88 25 09.06.13 21:12 Сейчас в теме
Работает великолепно! Очень быстро, в отличии от других аналогичных, на БП 2.0.48.7 Автору плюс и большое спасибо
46. kvp 30.09.13 15:16 Сейчас в теме
47. Рамзес 29 27.02.14 15:25 Сейчас в теме
Спасибо, хорошая обработка! Но не хватает отборов!
48. defender 357 27.02.14 15:48 Сейчас в теме
(47) Рамзес,
не могли бы мысль несколько развернуть? Что отбирать, как и зачем?
49. Рамзес 29 19.03.14 16:29 Сейчас в теме
50. CaSH_2004 372 10.06.14 15:56 Сейчас в теме
(49)Уважаю за доработку и публикацию, побольше бы таких адекватных
51. CaSH_2004 372 10.06.14 15:58 Сейчас в теме
(48)Забавно слышать от 1С-ника что такое отбор и для чего он. Представьте справочник в 1 млн. записей и в базе порядка сотни пользователей работают - как будете чистить справочник?
52. Istur 1472 04.07.14 10:43 Сейчас в теме
В строке 224 ошибочный код. Есть:
строкаТипа = Строка(ТипЗнч(Данные));
он не работает, надо:
строкаТипа = Строка(стрМета.ПолноеИмя());
54. zhuravlev_as 392 24.12.18 20:17 Сейчас в теме
Что обозначает настройка "Ограничивать количество ссылок"?
55. defender 357 25.12.18 16:19 Сейчас в теме
(54) В списке ссылок на выбранный объект показывает первые 100 ссылок, а не все. Полезно когда ссылок много
56. TABEZI1234 01.02.19 07:45 Сейчас в теме
(55) Здравствуйте.Например , я хочу удалять элементы справочников до 2018года; в какой функции вашей обработки нужно делать изменения?
57. пользователь 01.02.19 08:23
Сообщение было скрыто модератором.
...
Оставьте свое сообщение