RDT1C/DataProcessors/ирРедакторОбъектаБД/Ext/ObjectModule.bsl
Администратор 5df4dd76c5 Редактор параметров сеанса
*Исправлена ошибка открытия формы при наличии параметров с запретом изменения
    Консоль запросов
        *Исправлено заполнение колонок текущих типов значений параметров при открытии снимка запроса
    Редактор хранилища значения
        *Исправлена невозможность редактировать текст в поле ввода
    Редактор предопределенных
        +При создании объекта теперь запрашивается выбор "элемент или группа"
    Редактор объекта БД
        +Команды "Новый объект" и "Новая группа" теперь предлагают сохранять уникальный идентификатор текущего нового объекта/группы
        *Исправлена свежая потеря ссылки нового при включенном флажке "Запись на сервере"
        *Исправлена свежая ошибка удаления объекта
        +В управляемой форме
            реализована поддержка реквизитов типа ХранилищеЗначения
            сделаны все закладки
            сделаны почти все команды
2017-09-25 00:12:25 +03:00

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