RDT1C/DataProcessors/ирРедакторОбъектаБД/Ext/ObjectModule.bsl
Администратор f7aee23020 .
2019-09-22 23:27:06 +03:00

91 lines
6.8 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;
КонецЦикла;
КонецПроцедуры // ОбновитьНайденныеСсылки()
Процедура ОткрытьСсылающийсяОбъектВРедактореОбъектаБД(ТекущаяСтрока) Экспорт
Если ирОбщий.ЛиКорневойТипСсылочногоОбъектаБДЛкс(ТекущаяСтрока.ТипМетаданных) Тогда
КлючОбъекта = ТекущаяСтрока.Данные;
ИначеЕсли ирОбщий.ЛиКорневойТипКонстантыЛкс(ТекущаяСтрока.ТипМетаданных) Тогда
КлючОбъекта = ирОбщий.ОбъектБДПоКлючуЛкс(ТекущаяСтрока.Метаданные);
Иначе // Регистр сведений
КлючОбъекта = ирОбщий.ОбъектБДПоКлючуЛкс(ТекущаяСтрока.Метаданные, ЗначениеИзСтрокиВнутр(ТекущаяСтрока.Данные));
КонецЕсли;
//ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(КлючОбъекта, Объект);
ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(КлючОбъекта, ТекущаяСтрока.Ссылка);
КонецПроцедуры
Функция РедактироватьМодифицированныйОбъект(ОбъектБД, пИскомоеЗначение = Неопределено, КлючУникальности = Неопределено) Экспорт
Форма = ПолучитьФорму(,, КлючУникальности);
ЭтотОбъект.ПараметрКлючИлиОбъект = ОбъектБД;
ЭтотОбъект.ПараметрПрочитатьОбъект = Ложь;
ЭтотОбъект.ПараметрИскомоеЗначение = пИскомоеЗначение;
Форма.Открыть();
Возврат Форма;
КонецФункции
//ирПортативный лФайл = Новый Файл(ИспользуемоеИмяФайла);
//ирПортативный ПолноеИмяФайлаБазовогоМодуля = Лев(лФайл.Путь, СтрДлина(лФайл.Путь) - СтрДлина("Модули\")) + "ирПортативный.epf";
//ирПортативный #Если Клиент Тогда
//ирПортативный Контейнер = Новый Структура();
//ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер);
//ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда
//ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля);
//ирПортативный ирПортативный.Открыть();
//ирПортативный КонецЕсли;
//ирПортативный #Иначе
//ирПортативный ирПортативный = ВнешниеОбработки.Создать(ПолноеИмяФайлаБазовогоМодуля, Ложь); // Это будет второй экземпляр объекта
//ирПортативный #КонецЕсли
//ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий");
//ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш");
//ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер");
//ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный");
ЭтотОбъект.ПараметрПрочитатьОбъект = Истина;
ЭтотОбъект.СвязиИПараметрыВыбора = Истина;