Универсальная обработка, работает на "Управляемых формах", любой конфигурации. Обработка ищет ссылки на выбранный объект в дереве метаданных конфигурации для «Документов», "Обработок", "Планов Видов Характеристик", "Планов Обмена", «Справочников». Для «Регистров сведений и накопления», осуществляется поиск документов регистраторов.
1. Версия 1
Тестирование версии проводилось на базе платформы 8.3.5-8.3.6 .
Поиск осуществляется нажатием кнопки "Найти ссылки" или "двойным кликом", на строке дерева метаданных. Первоначально в дерево загружается все объекты метаданных "Документы", "Регистры накопления", "Регистры сведений", "Справочники". При нажатии кнопки "Показать не пустые объекты", в дерево метаданных грузятся только объекты, имеющие хотя бы один экземпляр в базе данных, одновременно заполняется поле количество (объектов метаданных). При этом поиск ссылок ограничивается , данными усеченного дерева метаданных
"Двойной клик" на строке таблицы найденных ссылок, открывает форму списка объектов. То же самое происходит при нажатии кнопки "Список объектов", только список открывается для текущей строки из дерева объектов метаданных.
Обработка будет особенно полезна для изучения структуры и взаимосвязей в незнакомых конфигурациях.
2. Версия 1.2
Тестирование проводилось на базе платформы 8.3.6-8.3.9 .
Изменения в версии 1.2.
1. Таблица значений «Ссылки на объект» заменена, полем дерева значений «Список метаданных» с типом «Таблица значений» .
2. Поскольку штатными средствами , а именно с помощью кнопки "Вывести список...", не удалось организовать печать поля дерева значений «Список метаданных» - «Ссылки на метаданные»-появляется ошибка "недостаточно памяти" и программа закрывается, был реализован код печати таблицы значений поля без создания макета:
&НаКлиенте
Процедура ПечатьСсылок(Команда)
ТекСтрока = Элементы.ТипыМетаданных.ТекущиеДанные;
ТекСтрокаСсылок = ТекСтрока.СсылкиНаМетаданные;
Если ТекСтрокаСсылок.Количество()=0 Тогда
Возврат;
КонецЕсли;
Заголовок = ТекСтрока.ПредставлениеМетаданных;
Родитель = ТекСтрока.ПолучитьРодителя().ПредставлениеМетаданных;
ПечатьСсылокНаСервере(ТекСтрокаСсылок, Заголовок, Родитель).Показать()
КонецПроцедуры
Функция ПечатьСсылокНаСервере(ТекСтрока, Заголовок, Родитель)
ТабЗнач = Новый ТаблицаЗначений();
ТабЗнач.Колонки.Добавить("НомерСсылки",, "№ строки");
ТабЗнач.Колонки.Добавить("ИмяСсылочногоРеквизита",, "Имя ссылочного реквизита");
ТабЗнач.Колонки.Добавить("ТипПоляСсылочногоРеквизита",, "Тип ссылочного реквизита");
ТабЗнач.Колонки.Добавить("ИмяОбъектаМетаданныхСодеращегоРеквизит",, "Имя объекта метаданных содеращего реквизит");
Для каждого Строка Из ТекСтрока Цикл
СтрокаТз = ТабЗнач.Добавить();
СтрокаТз.НомерСсылки = Строка.НомерСсылки;
СтрокаТз.ИмяСсылочногоРеквизита = Строка.ИмяРеквизита;
СтрокаТз.ИмяОбъектаМетаданныхСодеращегоРеквизит = Строка.ОбъектМетаданных;
СтрокаТз.ТипПоляСсылочногоРеквизита = Строка.ТипПоля;
КонецЦикла;
ТабДок = Новый ТабличныйДокумент;
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗнач);
ПострПечать.Выполнить();
ПострПечать.ТекстЗаголовка = "Список ссылок на "+Родитель+" "+Заголовок;
Для каждого Колонка Из ПострПечать.ВыбранныеПоля Цикл
КолонкаИмя = ТабЗнач.Колонки[Колонка.Имя];
Колонка.Представление = КолонкаИмя.Заголовок;
КонецЦикла;
ПострПечать.Вывести(ТабДок);
Возврат ТабДок;
КонецФункции
3. Версия 1.3
Тестирование проводилось на базе платформы 8.3.10-8.3.12 .
Изменения в версии 1.3.
- Добавлена функция поиска по первым символам набора с клавиатуры.
- Добавлен элемент управления "Искать только прямые ссылки". Этот флаг фильтрует объекты в которых стоит ссылочный тип "Любая ссылка". Разницу в количестве найденных ссылок иллюстрируют два нижеследующих рисунка. Первый, без установленного флага, показывает количество найденных ссылок по справочнику "Валюты" - 318. Второй с установленным флагом, показывает количество найденных ссылок по справочнику "Валюты" - 172, при этом в поле "Имя реквизита" находится только прямая ссылка на справочник "Валюты".
- Добавлено поле "Отбор" в дерево "Список метаданных" и элемент управления "Искать по отбору". При установке этого флага и и отметки в поле отбор дерева, например, на строку "Обработки", поиск ссылок будет осуществляться только в подчиненных строках "Обработки". Флаг в поле "Отбор", установленный на верхнем уровне дерева "Список метаданных" является более приоритетным по отношению к флагам "Отбор" на нижних уровнях этого дерева. Это значит, что поиск ссылок при установленном флаге в поле "Отбор" на строке "Обработки" будет игнорировать флаги "Отбор" на подчиненных строках. Если снять флаг отбор с верхнего уровня, то поиск ссылок будет осуществляться по строкам нижнего уровня строки "Обработки", с установленным флагом "Отбор". Все это действует и для других объектах дерева метаданных.
- В панель управления таблицы "Ссылки на метаданные", добавлена кнопка "Отметить в списке метаданных". Эта кнопка позволяет отмечать объекты дерева "Список метаданных" по списку объектов таблицы "Ссылки на метаданные". Например, выведем регистраторы регистра накопления "Выручка и себестоимость продаж"
При нажатии кнопки "Отметить в списке метаданных", все документы таблицы "Ссылки на метаданные", будут отмечены в дереве "список метаданных".
Таким образом любой следующий выбранный объект дерева "Список метаданных", бедт искать ссылки только по выбранным строкам дерева.
Всем известно, как не удобно пользоваться стандартной опцией "Все функции". Каждый раз приходится заходить в меню, и выбирать нужный объект. К тому же эта стандартная опция не имеет функции поиска, что тормозит выбор нужного объекта в дереве конфигурации. Дополнительным бонусом обработки, является возможность использования в качестве аналога "Все функции" с расширенными возможностями и функцией поиска объектов по первым символам набора с клавиатуры. При желании обработку можно разместить в дополнительных отчетах и обработках.
Пример использования данной обработки, в частности функционала "Отметить в списке метаданных", для разработки отчета из публикации "Продажи в динамике изменения цен номенклатуры за период" конфигурации "Управление торговлей 11" подрелизов 11.2.-11.4, рассмотрен в публикации здесь (Пример).
4. Версия 1.4
Тестирование проводилось на базе платформы 8.3.10-8.3.12 .
Изменения в версии 1.4.
В удобной форме, предоставлена возможность просмотра подписок на события объектов конфигурации.
4. Версия 1.41
Тестирование проводилось на базе платформы 8.3.10-8.3.12 .
Добавлена возможность увидеть подписки на события выбранного объекта конфигурации.