RDT1C/DataProcessors/ирРедакторОбъектаБД/Ext/ObjectModule.bsl
Администратор 7c7b9477c3 Общее
*Чтение дополнительных реквизитов в результатах поиска ссылок переделано с объектного на запросное
        +При открытии таблицы или дерева значений в отдельном окне теперь восстанавливается текущая строка и колонка
        +В окне "О подсистеме" добавлена кнопка "Информация для технической поддержки"
        *Исправлена ошибка низкоуровневого получения описаний объектов на 8.3.8
    Форма уникального идентификатора
        +Добавлено поле ввода обратного варианта идентификатора
    Редактор объекта БД
        *Служебное поле "Идентификатор ссылки" изменило тип со Строка на "Уникальный идентификатор"
        *Генерация элементов управления табличных частей заменена на аналогичную движениям
        +В таблице результатов поиска в объекте добавлена колонка "Тип таблицы"
    Регистрация COM-компонент
        *Исправлена свежая ошибка открытия формы
2017-01-15 22:55:49 +03:00

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