Поиск ссылок на объект
Задачи пользователя - Поиск данных
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Предлагаю свое решение поиска ссылок на объект - аналог функции 1С – «НайтиПоСсылкам».
Требовалось перед удалением проверять наличие ссылок на источник удаления.
При использовании функции платформы 1С «НайтиПоСсылка» для поиска хотя бы одной ссылки на источник - оказалось неприемлемо, так как выбираются все имеющиеся записи в базе и это приводит к длительному выполнению функции. В параметрах функции отсутствует вариант отбора только определенного количества записей, а не всех.
Функция "ИмеютсяЗаписиПоИсточнику" находится в модуле менеджера обработки "сно_ПоискСсылокНаОбъектМетаданных".

Сначала разработал только функцию по возвращению булевого значения о наличии ссылок на источник, но, в процессе, сделал возможность вывести имеющиеся ссылки на искомый объект в таблицу с определенным количеством записей по объектам метаданных и возможность открытия формы по ссылке.
Публикация содержит 2 файла:
1. Конфигурация "НайтиПоСсылкам.cf" для внедрения в свою конфигурацию.
Тестирование проводил в своей конфигурации на платформе "1С:Предприятие 8.3 (8.3.27.1508)"
(ниже - видео по внедрению в конфигурацию) или ссылка в YouTube или ссылка на RUTUBE.
2. Расширение "Расш_ПоискСсылок.cfe"
Тестирование расширения проводил на конфигурации "Бухгалтерия предприятия, редакция 3.0 (3.0.175.24) ", платформа "1С:Предприятие 8.3 (8.3.27.1508)"
Для отображения кнопки "Показать ссылки на объект" в меню формы списка

нужно включить объект в список определяемого типа "сно_ПроверяемыеСсылкиНаОбъект"

В таблицу выводятся объекты метаданных с ссылками на источник:
- Справочники
- Документы
- Регистры сведений
- Регистры накопления
- Регистры бухгалтерии
- Планы видов характеристик
- Константы

Регистры не выводятся записями в первоначальной таблице, а открываются отдельно в форме как форма списка регистра. Так мне показалось удобнее.
Дополнение:
В модуле формы "Форма" обработки в строке 162 (а в расширении строка 160) нужно вставить дополнительно строки кода
//Регистратор
Если МассивЗнач.Количество() = 0 Тогда
СтроковоеПредставлениеТипа = Обработки.сно_ПоискСсылокНаОбъектМетаданных.СтроковоеПредставлениеТипа(ТипЗнч(Источник.Ссылка));
МассивСтрокПредстТипа = СтрРазделить(СтроковоеПредставлениеТипа,".",Ложь);
Если ВидМета = "регистрнакопления" И МассивСтрокПредстТипа[0] = "ДокументСсылка" Тогда
ИмяИРесурса = "Регистратор:Регистратор";
МассивЗнач.Добавить(ИмяИРесурса);
КонецЕсли;
КонецЕсли;
Выяснилось, что поиск ссылок на объект в регистре накопления не ведётся поиск по регистратору.



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

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

Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.175.24
Вступайте в нашу телеграмм-группу Инфостарт