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

05.02.13

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ПоискНеиспользуемых82.epf
.epf 17,26Kb
709 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    41868    230    117    

215

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

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

10800 руб.

22.02.2013    142414    280    147    

448

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

Данные обработки помогут Вам быстро и просто выполнить перезапись любых ссылочных объектов, а также провести/снять с проведения документы с возможностью выбора регистров и произвольными отборами, в Ваших базах 1С на платформах 8.1-8.3. Обработка позволят найти документы с движениями или без них. Все это дает Вам мощный инструмент для работы. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А также обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! Данные обработки входят в ТОП-100 продаж, что является залогом популярности, надежности в работе, и признанием других покупателей.

7200 руб.

17.09.2013    806342    58    51    

94

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

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

5000 руб.

28.11.2019    28427    76    20    

91

Чистка данных Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

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

5136 руб.

23.08.2021    11084    23    3    

29

Оптовая торговля Логистика, склад и ТМЦ Чистка данных Программист Бухгалтер Пользователь 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если вы начали работать в программном продукте Управление Торговлей, редакция 11 или Комплексная Автоматизация редакция 2 и включили механизм учёта серий, то перейти обратно в учёт без серий будет не так-то просто. Сложность заключается в том, что нужно очистить серии в табличной части документа, например, Реализация Товаров и услуг. Предлагаем алгоритм перехода на учет без серий для программного продукта УТ11. (Очистка серий.)

2400 руб.

09.04.2019    30347    47    15    

50

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

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

1 стартмани

25.12.2023    11047    243    WeterSoft    7    

16

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

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

1 стартмани

25.10.2023    6590    6    SerVer1C    27    

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

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

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

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

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

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

ИначеЕсли Найти(строкаТипа, "РегистрСведений") > 0 Тогда
19. provnick 29.09.11 21:27 Сейчас в теме
Интересно, в бухгалтерии заработало, а в УТ, по контрагентам работает, а по номенклатуре сработало только после изменений замеченных в (16) и (17), и не удаляет найденное, а только помечает, и так же в 8.2, соответственно после конвертации так же работает. И если возможно, желательно, не только наименование, но код, чтобы отображался.Плюс.
20. defender 361 30.09.11 17:04 Сейчас в теме
(16)(17)(19) Доработал поиск, сконвертировал под 8.2. Спасибо
18. kauksi 217 01.07.11 08:52 Сейчас в теме
РАБОТАЕТ! в отличие от многих других обработок!
21. kozai05 14.10.11 17:07 Сейчас в теме
Отлично, а а то у соседнего аналога почему-то не было в списке справочника "Контрагенты".
22. kozai05 14.10.11 17:30 Сейчас в теме
Проверил, выбрал справочник контрагентов. Убрал галочку "Неиспользуемые без ссылок". Обработка вывела мне все в используемые. Что-то не пойму, может это не то что мне нужно? У меня стоит цель очистить справочник от контрагентов, которые не участвую ни в каких остатках или оборотах. Но ведь у них хоть как будет ссылка с договора или регистра контактной информации, это в обработке предусмотрено? По какому принципу работает этот крыжик?
23. defender 361 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 361 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 374 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 361 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 26 09.06.13 21:12 Сейчас в теме
Работает великолепно! Очень быстро, в отличии от других аналогичных, на БП 2.0.48.7 Автору плюс и большое спасибо
46. kvp 30.09.13 15:16 Сейчас в теме
47. Рамзес 30 27.02.14 15:25 Сейчас в теме
Спасибо, хорошая обработка! Но не хватает отборов!
48. defender 361 27.02.14 15:48 Сейчас в теме
(47) Рамзес,
не могли бы мысль несколько развернуть? Что отбирать, как и зачем?
49. Рамзес 30 19.03.14 16:29 Сейчас в теме
50. CaSH_2004 374 10.06.14 15:56 Сейчас в теме
(49)Уважаю за доработку и публикацию, побольше бы таких адекватных
51. CaSH_2004 374 10.06.14 15:58 Сейчас в теме
(48)Забавно слышать от 1С-ника что такое отбор и для чего он. Представьте справочник в 1 млн. записей и в базе порядка сотни пользователей работают - как будете чистить справочник?
52. Istur 1475 04.07.14 10:43 Сейчас в теме
В строке 224 ошибочный код. Есть:
строкаТипа = Строка(ТипЗнч(Данные));
он не работает, надо:
строкаТипа = Строка(стрМета.ПолноеИмя());
54. zhuravlev_as 485 24.12.18 20:17 Сейчас в теме
Что обозначает настройка "Ограничивать количество ссылок"?
55. defender 361 25.12.18 16:19 Сейчас в теме
(54) В списке ссылок на выбранный объект показывает первые 100 ссылок, а не все. Полезно когда ссылок много
56. TABEZI1234 01.02.19 07:45 Сейчас в теме
(55) Здравствуйте.Например , я хочу удалять элементы справочников до 2018года; в какой функции вашей обработки нужно делать изменения?
57. пользователь 01.02.19 08:23
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация