RDT1C/DataProcessors/ирПоискСсылокНаОбъект/Ext/ObjectModule.bsl
Администратор 8c81edf0d2 .
2016-12-04 00:20:08 +03:00

83 lines
6.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//ирПортативный Перем ирПортативный Экспорт;
//ирПортативный Перем ирОбщий Экспорт;
//ирПортативный Перем ирСервер Экспорт;
//ирПортативный Перем ирКэш Экспорт;
//ирПортативный Перем ирПривилегированный Экспорт;
Перем ПараметрСсылка Экспорт;
Процедура НайтиИПоказатьСсылки(СсылкаНаКоторуюИщемСсылки) Экспорт
ПараметрСсылка = СсылкаНаКоторуюИщемСсылки;
ПолучитьФорму().Открыть();
КонецПроцедуры // НайтиСсылки()
// Заново заполняет табличное поле НайденныйСсылки.
//
// Параметры:
// Нет.
//
Процедура ОбновитьНайденныеСсылки(МассивСсылок, ЛиОпределятьСтатусСсылки = Истина) Экспорт
тзНайденныеСсылки = Новый ТаблицаЗначений;
#Если Клиент Тогда
Состояние("Поиск ссылок...");
#КонецЕсли
ирПривилегированный.НайтиПоСсылкамЛкс(МассивСсылок, тзНайденныеСсылки);
#Если Клиент Тогда
Состояние("");
#КонецЕсли
НайденныеСсылки.Очистить();
Для Каждого Строка Из тзНайденныеСсылки Цикл
СтрокаТЧ = НайденныеСсылки.Добавить();
НайденнаяСсылка = ЗначениеИзСтрокиВнутр(Строка.Данные);
СтрокаТЧ.Метаданные = Строка.Метаданные;
КорневойТипСсылки = ирОбщий.ПолучитьПервыйФрагментЛкс(СтрокаТЧ.Метаданные);
Если КорневойТипСсылки = "РегистрСведений" Тогда
СтрокаТЧ.Данные = Строка.Данные;
Иначе
СтрокаТЧ.Данные = НайденнаяСсылка;
КонецЕсли;
Если НайденнаяСсылка = Неопределено Тогда
НайденнаяСсылка = СтрокаТЧ.Метаданные;
КонецЕсли;
СтрокаТЧ.КартинкаСсылки = ирОбщий.ПолучитьИндексКартинкиСсылкиЛкс(НайденнаяСсылка, ЛиОпределятьСтатусСсылки);
МетаданныеСсылки = Метаданные.НайтиПоПолномуИмени(СтрокаТЧ.Метаданные);
СтрокаТЧ.ТипДанных = МетаданныеСсылки.Представление();
СтрокаТЧ.Ссылка = Строка.Ссылка;
СтрокаТЧ.ТипМетаданных = ирОбщий.ПолучитьПервыйФрагментЛкс(СтрокаТЧ.Метаданные);
СтрокаТЧ.Пометка = 1;
КонецЦикла;
ЭтотОбъект.Количество = тзНайденныеСсылки.Количество();
КонецПроцедуры // ОбновитьНайденныеСсылки()
Процедура ОткрытьСсылающийсяОбъектВРедактореОбъектаБД(ТекущаяСтрока) Экспорт
Если ирОбщий.ЛиКорневойТипСсылочногоОбъектаБДЛкс(ТекущаяСтрока.ТипМетаданных) Тогда
КлючОбъекта = ТекущаяСтрока.Данные;
ИначеЕсли ирОбщий.ЛиКорневойТипКонстантыЛкс(ТекущаяСтрока.ТипМетаданных) Тогда
КлючОбъекта = Новый (СтрЗаменить(ТекущаяСтрока.Метаданные, ".", "МенеджерЗначения."));
Иначе // Регистр сведений
КлючОбъекта = ирОбщий.ПолучитьНаборЗаписейПоКлючуЛкс(ТекущаяСтрока.Метаданные, ЗначениеИзСтрокиВнутр(ТекущаяСтрока.Данные));
КонецЕсли;
//ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(КлючОбъекта, Объект);
ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(КлючОбъекта, ТекущаяСтрока.Ссылка);
КонецПроцедуры
//ирПортативный #Если Клиент Тогда
//ирПортативный Контейнер = Новый Структура();
//ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер);
//ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда
//ирПортативный ПолноеИмяФайлаБазовогоМодуля = ВосстановитьЗначение("ирПолноеИмяФайлаОсновногоМодуля");
//ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля);
//ирПортативный КонецЕсли;
//ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий");
//ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш");
//ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер");
//ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный");
//ирПортативный #КонецЕсли