Поиск неиспользуемых ссылок и пометка их на удаление (с описанием кода)

01.04.19

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

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

Файлы

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

Наименование Скачано Купить файл
Поиск неиспользуемых ссылок и пометка их на удаление:
.epf 7,37Kb ver:1.0
23 2 500 руб. Купить

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

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

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

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

Тестировалось в УПП 1.3.

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

Смысл простой.

1) Выбираем Справочники или Документы. (С документом стоит быть аккуратным, обработка писалась для чистки справочников)

2) Нажимаем "Найти и пометить на удаление неиспользуемое". Выполняется поиск по наличию ссылок в системе на элемент. Если ссылок не найдено элемент помечается на удаление.


Основной функционал поиска, при необходимости можете доработать под ваши задачи:    

Запрос = Новый Запрос;	
	
	Для каждого ЭлементТипа Из ОписаниеТиповОбъекта.Типы() Цикл
		
		ОбъектМетаданных = Метаданные.НайтиПоТипу(ЭлементТипа);
		
		Если Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда
		    ВидОбъекта = "Справочник";
		ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
		    ВидОбъекта = "Документ";
		КонецЕсли;
			
		Запрос.Текст = 
			"ВЫБРАТЬ
			|	ВыборкаЭлементов.Ссылка как Ссылка
			|ИЗ
			|	"+ВидОбъекта+"."+ОбъектМетаданных.Имя+" КАК ВыборкаЭлементов
			|Где
			|	не ПометкаУдаления";
		
		РезультатЗапроса = Запрос.Выполнить();	
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		
		Шаг = 0;
		Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			М = Новый Массив;
			М.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
			ЕстьСсылки = НайтиПоСсылкам(М);
			колСсылок = ЕстьСсылки.Количество();
			Если колСсылок > 0 Тогда
				Сообщить("На этот элемент есть Ссылки в системе:" +ВыборкаДетальныеЗаписи.Ссылка);
				Сообщить("количество ссылок: "+колСсылок);
				//Тут возможно обработать найденные ссылки
				//Возможно все найденные ссылки помечены на удаление и вы желаете ваш элемент после 
				//анализа всё же пометить на удаление
				//При большом объеме данных будет долго анализировать информацию... 
				//Для каждого ст из ЕстьСсылки Цикл
				//	 //
				//	 //
				//КонецЦикла;                                                             
			Иначе
				Шаг = Шаг + 1;
				Сообщить(""+Шаг+") Помечен на удаление: " +ВыборкаДетальныеЗаписи.Ссылка);
				Об = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
				Об.ПометкаУдаления = Истина;
				Об.Записать();			
			КонецЕсли;
		КонецЦикла;
		
		Сообщить("Всего помечено на удаление: "+Шаг); 
		
	КонецЦикла;

Можете поблагодарить, если Вам помог описанный функционал.

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

Обработка чистка поиск неиспользуемых ссылок пометка удаление 1С.

См. также

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

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

24900 руб.

20.08.2024    58125    311    154    

283

Чистка данных Системный администратор Программист 1С:Предприятие 8 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. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 30.09.2025, версия 4.5)

12200 руб.

22.02.2013    144600    288    147    

455

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

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

6100 руб.

16.03.2015    279692    246    83    

281

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

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

13420 руб.

14.05.2012    166422    356    253    

587

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

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

5084 руб.

09.04.2019    31197    48    15    

51

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

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

5084 руб.

23.08.2021    11970    25    3    

31
Для отправки сообщения требуется регистрация/авторизация