RDT1C/CommonForms/ирАдаптацияРасширения/Ext/Form/Module.bsl
Администратор b16256e209 .
2020-08-19 01:22:57 +03:00

131 lines
10 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.

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