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

21.12.20

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

В ходе работы в программе в ней зачастую накапливается "мусор". Данная разработка может помочь убрать его... (обычные или управляемые формы)

Скачать файл

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

Наименование По подписке [?] Купить один файл
ПометкаНеспользуемыхЭлементовСправочников 5.epf сохранение и чтение настроек через файл
.epf 20,31Kb
89
89 Скачать (1 SM) Купить за 1 850 руб.
ПометкаНеспользуемыхЭлементовСправочников 3.epf с ИСКЛЮЧЕНИЯМИ
.epf 18,11Kb
168
168 Скачать (1 SM) Купить за 1 850 руб.
ПометкаНеспользуемыхЭлементовСправочников (2).epf
.epf 15,61Kb
460
460 Скачать (1 SM) Купить за 1 850 руб.
Пометка на удаление неиспользуемых элементов справочников и документов (управляемые формы)
.epf 16,76Kb ver:1.0.1
48
48 Скачать (1 SM) Купить за 1 850 руб.

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

Пометка ДОКУМЕНТОВ - на РИСК И УСМОТРЕНИЕ ПОЛЬЗОВАТЕЛЯ. Читайте "Справку"

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

02/10/2012 Добавлена возможность для справочников делать исключения,

"разрешить циклические ссылки" в конфигурации, например:

* Контрагент - Основной договор --- Договор - Владелец

2015/03/18 Версия 4

По желанию пользователей добавлено сохранение и чтение настроек через файл.

Кнопки "Сохранить в файл..." и "Восстановить из файла..." работают следующим образом:

В файл сохраняются наименования и тип помеченного на исполнение - КАК ТЕКСТ!.

При восстановлении - снимаются все отметки на исполнение! а затем ищется соответствие типа и наименования из файла (КАК ТЕКСТ!). Если соответствие найдено - то элемент помечается на выполнение.

 

2015/03/19 Версия 5

Добавлены кнопки "пометить все" и "снять пометки у всех"

 

2020/12/20   Вариант для управляемых форм.

Тестировался на 8.3.15.1887, БСП не используется.

Команды снятия/установки меток - работают с учетом отбора (т.е. для видимых элементов таблиц)

Интерфейс (русский/украинский)

P.S. Модальное окно предупреждения при открытии - оставил.

 

администрирование сжатие чистка удаление обработка управляемые формы УФ

См. также

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

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

8400 руб.

20.08.2024    13034    100    46    

104

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

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

9600 руб.

22.02.2013    139023    263    144    

434

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

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

3582 руб.

16.03.2015    195631    215    82    

250

Чистка данных Программист Пользователь Платформа 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, Розница и др. Это могут быть как неиспользуемые элементы справочников, так и неактуальные организации. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся.

3350 руб.

28.11.2019    26319    62    16    

77

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

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

3960 руб.

27.06.2018    19284    11    3    

16

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

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

2400 руб.

09.04.2019    29278    43    14    

45

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

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

1 стартмани

25.10.2023    5562    5    SerVer1C    26    

23

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

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

06.02.2023    21014    1414    Neiron_1C    22    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. AnryMc 849 02.02.10 20:58 Сейчас в теме
2. ChinChin 03.02.10 10:26 Сейчас в теме
{Форма.Форма(30)}: Поле объекта не обнаружено (Адресные сокращения)
Выборка=Справочники[ТЭ.НаименованиеСправочника].Выбрать();
4. ChinChin 03.02.10 10:31 Сейчас в теме

Добавь "ОбработкаПрерыванияПользователя" в циклах.
И на Банковских счетах тоже вспоткнулся (2)
11. AnryMc 849 04.02.10 22:16 Сейчас в теме
3. ChinChin 03.02.10 10:27 Сейчас в теме
И можно было бы кнопки управления флажками разметить - муторно по всем строкам галки ставить :(
9. AnryMc 849 03.02.10 22:19 Сейчас в теме
(3) Не делал пециально - чтобы было время "одуматься" :D
5. ChinChin 03.02.10 10:39 Сейчас в теме
Жесть в отладчике:
Выборка=Справочники[ТЭ.НаименованиеСправочника].Выбрать()

Отгадай что подставляешь в квадратных скобках для поиска метаданных?
"АдресныеСокращения" или "Адресные сокращения"??? Поэтому ошибок нет только в справочниках из одного слова!!!

И нафига спрашивается в цикле по каждому элементу запускать "НайтиПоСсылкам"? Для чего, по твоему, на вход предусмотрена подача массива ссылок на объекты - что бы туда одну ссылку загружать? Необоснованно увеличил скорость выполнения обработки раз в 100 (если не больше)!
7. ChinChin 03.02.10 14:54 Сейчас в теме
(5) Конечно не "скорость", а "время"!!! :D
8. AnryMc 849 03.02.10 22:16 Сейчас в теме
(All) Извините выложил версию с ошибкой. Исправлено.
+ тоже самое по документам НО НА СВОЙ СТРАХ И РИСК!

(7) А скорость меня и не волновала ;)
6. Borisych 500 03.02.10 12:28 Сейчас в теме
товарищ AnryMc еще "зеленый" прогер :D
10. AnryMc 849 04.02.10 22:13 Сейчас в теме
(6) А почему слово ЗЕЛЕНЫЙ в кавычках?

Чуть доделал - (3)
12. Borisych 500 05.02.10 00:36 Сейчас в теме
(10) ну дык в переносном же смысле :D
13. ChinChin 05.02.10 02:51 Сейчас в теме
Оптимизированный код для справочников (под документы переделать не проблема), у меня с этим кодом обработка по всем справочникам базы за три минуты пробежалась, нашла 1229 неиспользуемых элементов:

Если фСправочники Тогда

ТЗ_Ссылок = Новый ТаблицаЗначений;

Для Каждого ТЭ Из ОбластьПоиска Цикл

Если ТЭ.ТипОбласти <> "Справочник" Тогда
Продолжить;
КонецЕсли;

Если ТЭ.Обрабатывать = Ложь Тогда
Продолжить;
КонецЕсли;

Состояние("Обрабатываем справочник: " + ТЭ.НаименованиеОбласти);

МассивСсылок = Новый Массив;

ТЗ_Ссылок.Очистить();

Выборка = Справочники[ТЭ.ИмяОбласти].Выбрать();

Пока Выборка.Следующий() Цикл

Если Выборка.Предопределенный Тогда
Продолжить;
КонецЕсли;

Если Выборка.ПометкаУдаления Тогда
Продолжить;
Конецесли;

Если Выборка.ЭтоГруппа тогда
Продолжить;
Конецесли;

МассивСсылок.Добавить(Выборка.Ссылка);
ОбработкаПрерыванияПользователя();

КонецЦикла;

Если МассивСсылок.Количество() = 0 тогда
Продолжить;
КонецЕсли;

ТЗ_Ссылок = НайтиПоСсылкам(МассивСсылок);
ТЗ_Ссылок.Свернуть("Ссылка");

МассивСсылокНайденых = ТЗ_Ссылок.ВыгрузитьКолонку("Ссылка");

ЗапросПоСправочникам = Новый Запрос;
ЗапросПоСправочникам.Текст =

"ВЫБРАТЬ
| ЭлементыСправочников.Ссылка КАК Элемент
|ПОМЕСТИТЬ ВТ_СсылкиДляПроверки
|ИЗ
| Справочник." + ТЭ.ИмяОбласти + " КАК ЭлементыСправочников
|ГДЕ ЭлементыСправочников.Ссылка В (&МассивЭлементов)
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ТаблицаСсылок.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ВТ_Ссылки
|ИЗ
| Справочник." + ТЭ.ИмяОбласти + " КАК ТаблицаСсылок
|ГДЕ ТаблицаСсылок.Ссылка В (&МассивСсылок)
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ЭлементыСправочников.Элемент КАК Элемент,
| СсылкиПослеПроверки.Ссылка
|ИЗ
| ВТ_СсылкиДляПроверки КАК ЭлементыСправочников
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ТаблицаСсылок.Ссылка КАК Ссылка
| ИЗ
| ВТ_Ссылки КАК ТаблицаСсылок) КАК СсылкиПослеПроверки
| ПО ЭлементыСправочников.Элемент = СсылкиПослеПроверки.Ссылка
|ГДЕ
| СсылкиПослеПроверки.Ссылка ЕСТЬ NULL ";

ЗапросПоСправочникам.УстановитьПараметр("МассивЭлементов",МассивСсылок);
ЗапросПоСправочникам.УстановитьПараметр("МассивСсылок",МассивСсылокНайденых);

РезультатЗапроса = ЗапросПоСправочникам.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл

//Ссылок нет можно удалять
НУ = РезультатПоиска.Добавить();
НУ.ТипОбъекта = "Спр.: " + Выборка.Элемент.ПолучитьОбъект().Метаданные().Синоним;
НУ.ОбъектСсылка = Выборка.Элемент;

ОбработкаПрерыванияПользователя();

КонецЦикла;

КонецЦикла;


КонецЕсли;
AnryMc; BoneD; +2 Ответить
14. ChinChin 05.02.10 03:00 Сейчас в теме
При установке пометки по Номенклатуре выскакивает такая бяка:
"Перед записью необходимо определить единицу измерения!"

Думаю надо использовать режим обмена данными перед записью.
"ТУО.ОбменДанными.Загрузка = Истина;"
15. AnryMc 849 05.02.10 07:47 Сейчас в теме
(14) + (13) Спасибо. В ближайшее время добавлю
16. AnryMc 849 06.02.10 08:39 Сейчас в теме
Добавлены выраженные пожелания
17. boogie 490 01.06.10 18:12 Сейчас в теме
В статусе быстро-быстро мелькает "На удаленте",
Хорошо бы добавить прогресс - я тут кууучу мусора удалял и не знал когда уже наконец
а так +!
Легко удалил неиспользуемые договоры контрагентов.

И ещё: при отметке галочками нескольких видов элементов, хотелось бы, чтобы если есть ссылки только между собой у объектов, они бы тоже считались неиспользуемыми, например у объекта договор контрагента есть ссылка на владельца, а у контрагента - ссылка на основной договор, в итоге циклическая ссылка и они не отмечаются, а выявить очень сложно. Конечно, это бага проектирования базы жесточайшая, но так делает 1С.
21. AnryMc 849 24.09.12 17:15 Сейчас в теме
(17) boogie, (18) average, (19) Ольга_tmp, (20) Vitko_freedomcars,
Это задача из серии: «что первично – курица или яйцо?»
Не вижу необходимости добавлять исключение (номенклатура – единица измерения) в более менее общий алгоритм поиска. Данная ситуация должна разрешаться стандартной обработкой «Групповая обработка справочников и документов» (например, делается отбор элементов справочника «Номенклатура» по нужной позиции значения реквизита «Базовая единица измерения» и для отобранных элементов выполняется обработка установки реквизита в другую единицу или «пустую»).

Иначе нужно делать перекрестный анализ типов всех реквизитов всех метаданных, что долго и непродуктивно (и не всегда очевидно) или давать возможность пользователю выбирать реквизиты отбора (что тоже тяжело и обязывает его знать структуру метаданных).
30. AnryMc 849 02.10.12 11:56 Сейчас в теме
(17) boogie, (18) average, (19) Ольга_tmp, (20) Vitko_freedomcars,

Для справочников добавил колонку "Исключение" можно исключить из проверок ссылки определенного справочника, например:
"Контрагенты" - "Договора контрагентов",
"Номенклатура" - "Единицы измерения", ...
18. average 62 07.11.10 10:13 Сейчас в теме
Обработка ничего не дает при работе со справочниками Номенклатура и Контрагенты
По следующей причине:
В элементах этих справочников есть реквизит основная единица измерения и основной договор.
Справочники ссылаются друг на друга и удалить их этой обработкой не возможно
19. Ольга_tmp 72 16.05.11 18:50 Сейчас в теме
да, с номенклатурой грустно
20. Vitko_freedomcars 31 07.06.11 11:47 Сейчас в теме
Автор, доделай обработку. Интерес к ней есть, а вот номенклатуру - не почистишь!
22. firuzji 24.09.12 22:30 Сейчас в теме
Хорошая идея!
Если у кого есть для 7.7- ки, выложите плиз.
За идею "+".
23. AnryMc 849 24.09.12 23:08 Сейчас в теме
(22) firuzji,
К сожалению для 7.7 не делал...
24. Alex_E 2382 24.09.12 23:46 Сейчас в теме
(22) firuzji, На ИТС -
Для 7.7 ObjDel.ert
firuzji; AnryMc; +2 Ответить
25. AnryMc 849 25.09.12 08:00 Сейчас в теме
(24) Alex_E,
Может я отстал, но раньше эта обработка не искала ссылок на объекты, а просто отбирала их.
26. Alex_E 2382 25.09.12 09:39 Сейчас в теме
(25) Не совсем понял, что значит не отбирала а искала - но смысл в том, что с её помощью можно пометить на удаление объекты, на которые нет ссылок.
27. AnryMc 849 25.09.12 10:04 Сейчас в теме
(26) Alex_E,
ПАРДОН. Давно это было - забыл.
28. Alex_E 2382 25.09.12 10:26 Сейчас в теме
(27) Давно, я просто пользовался, и однажды круто налетел (в доработанной конфе удалил служебные справочники, на кот. реально не было ссылок, а они использовались при создании документов) - поэтому и запомнилось - особенно как я потом с помощью FoxPro восстанавливал dbf :-)
29. firuzji 25.09.12 13:10 Сейчас в теме
31. agulaev 33 17.10.12 21:31 Сейчас в теме
"Зеленый", спасибо! Плюс!
32. yuraos 1005 29.01.13 14:16 Сейчас в теме
что-то скромненькая обработочка...
есть и покруче функционально:
- под 8.х (автор, правда, решил деньги брать, изначально было бесплатно)
- под 7.7 (бесплатно)
33. AnryMc 849 29.01.13 14:28 Сейчас в теме
(32) yuraos,
1) Для 7.7 см. пост (24)
2) Моя появилась 02.02.2010 20:57, а та для 8.х - 09.02.2012 22:06 Разница в 2 года
34. yuraos 1005 29.01.13 17:37 Сейчас в теме
(33) мда ...
много воды утекло с тех времен
;)
мго чего наделадось.
35. AnryMc 849 06.05.13 18:10 Сейчас в теме
(34) yuraos,

Опять таки "шара"
36. alonzomozley 22 03.01.14 07:57 Сейчас в теме
37. AnryMc 849 14.01.14 18:19 Сейчас в теме
(36) alonzomozley,

Можно ещё "плюсик" поставить
38. alonzomozley 22 15.01.14 06:05 Сейчас в теме
39. AnryMc 849 15.01.14 08:42 Сейчас в теме
40. SEvAn 3 17.03.15 09:20 Сейчас в теме
Не хватает "Сохранить настройки" и чтобы их можно было восстановить на другой базе!
43. AnryMc 849 17.03.15 10:12 Сейчас в теме
(40) SEvAn,
Область отбора для поиска строиться каждый раз заново - "обходим метаданных".
Нет уверенности, что в другой конфигурации будут те же метаданные... Конечно можно поизвращаться сравнением имен... но не вижу смысла...
44. SEvAn 3 18.03.15 14:50 Сейчас в теме
(43) в "совсем" другой да, но часто сливаем несколько в одну и тогда не помешало бы)
Сделайте, хотя бы, чтобы можно было отметить все справочники, т.к. снимать отметку мне лично надо на нескольких всего.
Жду)
45. AnryMc 849 18.03.15 16:17 Сейчас в теме
(44) SEvAn,
Сделал сохранение и чтение настройки через файл - поиск "соответствия" по имени и типу (как текст).
Смотрите 4 версию.
46. SEvAn 3 19.03.15 15:40 Сейчас в теме
(45) кнопки называются почему-то одинаково и еще бы крыж "пометить/разметить все"
47. AnryMc 849 19.03.15 16:42 Сейчас в теме
(46) SEvAn,
кнопки называются почему-то одинаково
Упс - это всё лень матушка. исправлю...
48. AnryMc 849 19.03.15 17:34 Сейчас в теме
(46) SEvAn,
2015/03/19 Версия 5
Добавлены кнопки "пометить все" и "снять пометки у всех"
41. Поручик 4661 17.03.15 09:46 Сейчас в теме
В УТ 11.1 есть обработка Удаление неиспользуемых элементов справочников.
42. AnryMc 849 17.03.15 10:09 Сейчас в теме
(41) Поручик,
Эта публикация от 02.02.2010 20:57
Когда она (обработка) появилась в УТ 11.1?

ЗЫ Может "предьяву" 1С сделать - за плагиат? ;-)))
49. vasyak319 152 19.03.15 18:04 Сейчас в теме
Какой-то неоправданно скромный выбор объектов. А где бизнес-процесс, планы счетов, обмена, видов характеристик и расчёта?
50. AnryMc 849 19.03.15 18:12 Сейчас в теме
(49) vasyak319,

А ещё можно сделать чтобы 1С-ка сама работала - без оператора....
51. vasyak319 152 20.03.15 00:33 Сейчас в теме
(50) не надо юродствовать. То, что написал я, сделать проще простого и странно, что вы этого не сделали.
52. AnryMc 849 20.03.15 05:09 Сейчас в теме
(51) vasyak319, Сделать проще простого. Надо просто потратить немного времени, но пока я не могу себе этого позволить...
Можно написать много разного... Просто делал то что нужно было самому - потом выложил...
В моем случае - такой функционал был мне достаточен.
Навряд ли Вы найдете базы с сотнями введенных видов расчетов которые ни где не используются... А вот, например, справочник Номенклатура или Контрагенты - эти почти всегда с мусором...

ЗЫ Извините, если если "задел" своим постом.
53. AnryMc 849 06.01.21 08:53 Сейчас в теме
Добавлена версия для управляемых форм
Оставьте свое сообщение