#Область ОписаниеПеременных
&НаКлиенте
Перем ОбновитьИнтерфейс;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежимеСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежимеСлужебный");
Элементы.ГруппаНастройкаИспользованияПрофилейБезопасности.Видимость =
Пользователи.ЭтоПолноправныйПользователь(, Истина)
И МодульРаботаВБезопасномРежимеСлужебный.ДоступнаНастройкаПрофилейБезопасности();
Иначе
Элементы.ГруппаНастройкаИспользованияПрофилейБезопасности.Видимость = Ложь;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
Элементы.ГруппаОткрытьПараметрыПроксиСервера.Видимость =
Пользователи.ЭтоПолноправныйПользователь(, Истина)
И Не ОбщегоНазначения.ИнформационнаяБазаФайловая();
Иначе
Элементы.ГруппаОткрытьПараметрыПроксиСервера.Видимость = Ложь;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Элементы.СоздаватьЭлектронныеПодписиНаСервере.Видимость = Не ОбщегоНазначения.РазделениеВключено();
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
Если ОбщегоНазначения.ИнформационнаяБазаФайловая()
И Не ОбщегоНазначения.КлиентПодключенЧерезВебСервер() Тогда
Элементы.ГруппаАвтоматическаяОбработкаПодписей.ОтображениеПодсказки = ОтображениеПодсказки.Нет;
КонецЕсли;
Иначе
Элементы.ГруппаЭлектроннаяПодписьИШифрование.Видимость = Ложь;
КонецЕсли;
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
Элементы.ГруппаСвойства.Видимость = Ложь;
Иначе
МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами");
Если Не МодульУправлениеСвойствами.ЕстьВладельцыМеток() Тогда
Элементы.ГруппаМетки.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодписьСервисаDSS") Тогда
ЭтоАдминистратор = Пользователи.ЭтоПолноправныйПользователь(, Истина);
Элементы.ИспользоватьСервисОблачнойПодписи.Видимость = ЭтоАдминистратор;
Элементы.ИспользоватьСервисОблачнойПодписи.Доступность = ЭтоАдминистратор И МодульЭлектроннаяПодпись.РазрешенДоступКИнтернетСервисам();
Элементы.ИспользоватьСервисОблачнойПодписи.РасширеннаяПодсказка.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(
"Разрешает использовать для подписания сервисы подписи DSS. Использование сервиса для формирования квалифицированной электронной подписи требует <a href = ""НастройкиDSS"">дополнительных настроек</a>.")
Иначе
Элементы.ГруппаОблачнаяПодпись.Видимость = Ложь;
КонецЕсли;
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
Элементы.ГруппаВерсионирование.Видимость = Ложь;
КонецЕсли;
Элементы.ГруппаПубликацияИнформационнойБазы.Видимость = Не (ОбщегоНазначения.РазделениеВключено()
Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто());
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
ХранитьИсториюИзменений = МодульВерсионированиеОбъектов.ЗначениеФлажкаХранитьИсторию();
Иначе
Элементы.ГруппаВерсионирование.Видимость = Ложь;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск")
И Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
МодульПолнотекстовыйПоискСервер = ОбщегоНазначения.ОбщийМодуль("ПолнотекстовыйПоискСервер");
ИспользоватьПолнотекстовыйПоиск = МодульПолнотекстовыйПоискСервер.ЗначениеФлажкаИспользоватьПоиск();
Иначе
Элементы.ГруппаУправлениеПолнотекстовымПоиском.Видимость = Ложь;
КонецЕсли;
Если (ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УдалениеПомеченныхОбъектов") )
И Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
МодульУдалениеПомеченныхОбъектов = ОбщегоНазначения.ОбщийМодуль("УдалениеПомеченныхОбъектов");
РежимРегламентногоЗадания = МодульУдалениеПомеченныхОбъектов.РежимУдалятьПоРасписанию();
УдалениеПомеченныхИспользование = РежимРегламентногоЗадания.Использование;
Элементы.НастроитьРасписание.Доступность = УдалениеПомеченныхИспользование;
Элементы.ГруппаРегламентноеУдалениеПомеченных.Видимость = Не ОбщегоНазначения.РазделениеВключено();
Иначе
Элементы.ГруппаУдалениеПомеченных.Видимость = Ложь;
КонецЕсли;
ЗаполнитьЧасовыеПояса();
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ЧасовойПоясПрограммы = ПолучитьЧасовойПоясИнформационнойБазы();
Если ПустаяСтрока(ЧасовойПоясПрограммы) Тогда
ЧасовойПоясПрограммы = ЧасовойПояс();
КонецЕсли;
Иначе
ЧасовойПоясПрограммы = ЧасовойПоясСеанса();
КонецЕсли;
Элементы.ЯзыкиВеденияУчета.Видимость =
ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность")
И Метаданные.Языки.Количество() > 1;
НастройкиРазделаПроизводительность();
УстановитьДоступность();
НастройкиПрограммыПереопределяемый.ОбщиеНастройкиПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключитьОбработчикОжидания("УстановитьВидимостьОбработчикОжидания", 1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
ОбновитьИнтерфейсПрограммы();
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВерсионированиеОбъектовКлиент");
МодульВерсионированиеОбъектовКлиент.ОбработкаОповещенияИзмененияФлажкаХранитьИсторию(
ИмяСобытия,
ХранитьИсториюИзменений);
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
МодульПолнотекстовыйПоискКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПолнотекстовыйПоискКлиент");
МодульПолнотекстовыйПоискКлиент.ОбработкаОповещенияИзмененияФлажкаИспользоватьПоиск(
ИмяСобытия,
ИспользоватьПолнотекстовыйПоиск);
КонецЕсли;
Если ИмяСобытия = "Запись_НаборКонстант" И Источник = "РазрешитьДоступКИнтернетСервисам" Тогда
УстановитьДоступность("РазрешитьДоступКИнтернетСервисам");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ЗаголовокПрограммыПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
СтандартныеПодсистемыКлиент.УстановитьРасширенныйЗаголовокПриложения();
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьСвойстваПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура АдресПубликацииИнформационнойБазыПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура КаталогВременныхФайловДляWindowsПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура КаталогВременныхФайловДляLinuxПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура КоличествоПотоковДлительныхОперацийПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура АдресПубликацииИнформационнойБазыВИнтернетеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПодключитьОбработчикОжидания("АдресПубликацииИнформационнойБазыВИнтернетеНачалоВыбораПродолжение", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура АдресПубликацииИнформационнойБазыВЛокальнойСетиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПодключитьОбработчикОжидания("АдресПубликацииИнформационнойБазыВЛокальнойСетиНачалоВыбораПродолжение", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ХранитьИсториюИзмененийПриИзменении(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВерсионированиеОбъектовКлиент");
МодульВерсионированиеОбъектовКлиент.ПриИзмененииФлажкаХранитьИсторию(ХранитьИсториюИзменений);
КонецЕсли;
УстановитьДоступность("ХранитьИсториюИзменений");
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьПолнотекстовыйПоискПриИзменении(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
МодульПолнотекстовыйПоискКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПолнотекстовыйПоискКлиент");
МодульПолнотекстовыйПоискКлиент.ПриИзмененииФлажкаИспользоватьПоиск(ИспользоватьПолнотекстовыйПоиск);
КонецЕсли;
УстановитьДоступность("ИспользоватьПолнотекстовыйПоиск");
КонецПроцедуры
&НаКлиенте
Процедура УдалениеПомеченныхИспользованиеПриИзменении(Элемент)
ОповещениеОбИзменении = Новый ОписаниеОповещения("УдалениеПомеченныхИспользованиеПриИзмененииЗавершение", ЭтотОбъект);
Если (ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.УдалениеПомеченныхОбъектов")) Тогда
МодульУдалениеПомеченныхОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УдалениеПомеченныхОбъектовКлиент");
МодульУдалениеПомеченныхОбъектовКлиент.ПриИзмененииФлажкаУдалятьПоРасписанию(УдалениеПомеченныхИспользование, ОповещениеОбИзменении);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УдалениеПомеченныхИспользованиеПриИзмененииЗавершение(Изменение, ДополнительныеПараметры) Экспорт
Если (Изменение = Неопределено) Тогда
Возврат;
КонецЕсли;
УдалениеПомеченныхИспользование = Изменение.Использование;
Элементы.НастроитьРасписание.Доступность = УдалениеПомеченныхИспользование;
КонецПроцедуры
&НаКлиенте
Процедура ТипПодписиПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура АдресаСерверовМетокВремениПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ДобавлятьМеткиВремениАвтоматическиПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура УсовершенствоватьПодписиПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура УсовершенствоватьПодписиСДатыПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПроверятьЭлектронныеПодписиНаСервереПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура СоздаватьЭлектронныеПодписиНаСервереПриИзменении(Элемент)
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ГруппаАвтоматическаяОбработкаПодписейРасширеннаяПодсказкаОбработкаНавигационнойСсылки(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ОбработкаНавигационнойСсылкиОткрытиеНастроекЭП(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ДекорацияПроверкаУстановкиКриптопровайдераОбработкаНавигационнойСсылки(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ОбработкаНавигационнойСсылкиОткрытиеНастроекЭП(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ПроверятьЭлектронныеПодписиНаСервереРасширеннаяПодсказкаОбработкаНавигационнойСсылки(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ОбработкаНавигационнойСсылкиОткрытиеНастроекЭП(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СоздаватьЭлектронныеПодписиНаСервереРасширеннаяПодсказкаОбработкаНавигационнойСсылки(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ОбработкаНавигационнойСсылкиОткрытиеНастроекЭП(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ТипПодписиКриптографииПоУмолчаниюРасширеннаяПодсказкаОбработкаНавигационнойСсылки(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ОбработкаНавигационнойСсылкиОткрытиеНастроекЭП(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура УсовершенствоватьПодписиАвтоматическиРасширеннаяПодсказкаОбработкаНавигационнойСсылки(
Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
МодульЭлектроннаяПодписьКлиент.ОткрытьОтчетПродлениеСрокаДействияЭлектронныхПодписей("ТребуетсяУсовершенствоватьПодписи")
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьСервисОблачнойПодписиРасширеннаяПодсказкаОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если НавигационнаяСсылкаФорматированнойСтроки = "НастройкиDSS" Тогда
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(АдресСтатьиСервисаDSS());
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьСервисОблачнойПодписиПриИзменении(Элемент)
Если НЕ ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодписьСервисаDSS") Тогда
Возврат;
КонецЕсли;
Если НаборКонстант.ИспользоватьСервисDSS Тогда
ПараметрыЦикла = Новый Структура;
ПараметрыЦикла.Вставить("Элемент", Элемент);
ОповещениеСледующее = Новый ОписаниеОповещения("ПроверитьВключениеОпцииИспользованиеСервисаDSS", ЭтотОбъект, ПараметрыЦикла);
СписокКоманд = Новый СписокЗначений;
СписокКоманд.Добавить("ОК", НСтр("ru = 'Подтвердить'"));
СписокКоманд.Добавить("Нет", НСтр("ru = 'Отмена'"), Истина);
ТекстВопроса = НСтр("ru = 'Внимание, если сервис подписи DSS будет использоваться для формирования квалифицированной электронной подписи, то нужно самостоятельно произвести настройки для выполнения <a href = ""%1"">требований</a>, предъявляемых к такой подписи.'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Подтверждаете использование сервиса?'");
ТекстВопроса = СтроковыеФункцииКлиент.ФорматированнаяСтрока(ТекстВопроса, АдресСтатьиСервисаDSS());
МодульСервисКриптографииDSSКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("СервисКриптографииDSSКлиент");
МодульСервисКриптографииDSSКлиент.ВывестиВопрос(
ОповещениеСледующее,
ТекстВопроса,
СписокКоманд,
,
НСтр("ru = 'Требуются дополнительные настройки'"));
Иначе
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЧасовойПоясПрограммыПриИзменении(Элемент)
ЧасовойПоясПрограммыПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура АдресаСерверовМетокВремениНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПодключитьОбработчикОжидания("АдресаСерверовМетокВремениНачалоВыбораПродолжение", 0.1, Истина);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ИспользованиеПрофилейБезопасности(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежимеКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаВБезопасномРежимеКлиент");
МодульРаботаВБезопасномРежимеКлиент.ОткрытьДиалогНастройкиИспользованияПрофилейБезопасности();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДополнительныеРеквизиты(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
МодульУправлениеСвойствамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеСвойствамиКлиент");
МодульУправлениеСвойствамиКлиент.ОткрытьСписокСвойств(Команда.Имя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДополнительныеСведения(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
МодульУправлениеСвойствамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеСвойствамиКлиент");
МодульУправлениеСвойствамиКлиент.ОткрытьСписокСвойств(Команда.Имя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Метки(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
МодульУправлениеСвойствамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеСвойствамиКлиент");
МодульУправлениеСвойствамиКлиент.ОткрытьСписокСвойств(Команда.Имя);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НастроитьХранениеИсторииИзменений(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВерсионированиеОбъектовКлиент");
МодульВерсионированиеОбъектовКлиент.ПоказатьНастройку();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НастроитьПолнотекстовыйПоиск(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
МодульПолнотекстовыйПоискКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПолнотекстовыйПоискКлиент");
МодульПолнотекстовыйПоискКлиент.ПоказатьНастройку();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура РегиональныеНастройки(Команда)
ПараметрыФормы = Новый Структура("Источник", "ПанельАдминистрированияБСП");
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность") Тогда
МодульМультиязычностьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("МультиязычностьКлиент");
МодульМультиязычностьКлиент.ОткрытьФормуРегиональныхНастроек(, ПараметрыФормы);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПосмотретьПомеченныеНаУдаление(Команда)
Если (ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.УдалениеПомеченныхОбъектов")) Тогда
МодульУдалениеПомеченныхОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УдалениеПомеченныхОбъектовКлиент");
МодульУдалениеПомеченныхОбъектовКлиент.ПерейтиКПомеченнымНаУдаление(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НастроитьРасписание(Команда)
Если (ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.УдалениеПомеченныхОбъектов")) Тогда
МодульУдалениеПомеченныхОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УдалениеПомеченныхОбъектовКлиент");
МодульУдалениеПомеченныхОбъектовКлиент.НачатьИзменениеРасписанияРегламентногоЗадания();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДиагностикаСерверовМетокВремени(Команда)
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Возврат;
КонецЕсли;
МодульЭлектроннаяПодписьСлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиент");
МодульЭлектроннаяПодписьСлужебныйКлиент.ДиагностикаСерверовМетокВремени();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура УстановитьВидимостьОбработчикОжидания()
УстановитьВидимостьНаКлиенте("");
КонецПроцедуры
&НаКлиенте
Процедура АдресаСерверовМетокВремениНачалоВыбораПродолжение()
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
АдресаСерверовМетокВремениУстановитьПоУмолчанию();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура АдресПубликацииИнформационнойБазыВИнтернетеНачалоВыбораПродолжение()
АдресПубликацииИнформационнойНачалоВыбораЗавершение("АдресПубликацииИнформационнойБазыВИнтернете");
КонецПроцедуры
&НаКлиенте
Процедура АдресПубликацииИнформационнойБазыВЛокальнойСетиНачалоВыбораПродолжение()
АдресПубликацииИнформационнойНачалоВыбораЗавершение("АдресПубликацииИнформационнойБазыВЛокальнойСети");
КонецПроцедуры
&НаКлиенте
Процедура АдресПубликацииИнформационнойНачалоВыбораЗавершение(ИмяРеквизита)
Если ОбщегоНазначенияКлиент.КлиентПодключенЧерезВебСервер() Тогда
АдресПубликацииИнформационнойБазыНачалоВыбораНаСервере(ИмяРеквизита, СтрокаСоединенияИнформационнойБазы());
Подключаемый_ПриИзмененииРеквизита(Элементы[ИмяРеквизита]);
Иначе
ПоказатьПредупреждение(, НСтр("ru = 'Не удалось автоматически заполнить поле, т.к. клиентское приложение не подключено через веб-сервер.'"));
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура АдресПубликацииИнформационнойБазыНачалоВыбораНаСервере(ИмяРеквизита, СтрокаСоединения)
ПараметрыСоединения = СтроковыеФункцииКлиентСервер.ПараметрыИзСтроки(СтрокаСоединения);
Если ПараметрыСоединения.Свойство("WS") Тогда
НаборКонстант[ИмяРеквизита] = ПараметрыСоединения.WS;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция АдресаСерверовМетокВремениУстановитьПоУмолчанию()
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
КонстантаАдресаСерверовМетокВремени = МодульЭлектроннаяПодписьСлужебный.АдресаСерверовМетокВремениПоУмолчанию();
ПриИзмененииРеквизитаСервер("АдресаСерверовМетокВремени");
КонецЕсли;
Возврат "";
КонецФункции
#Область Клиент
&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизита(Элемент, ОбновлятьИнтерфейс = Истина)
ИмяКонстанты = ПриИзмененииРеквизитаСервер(Элемент.Имя);
ОбновитьПовторноИспользуемыеЗначения();
Если ОбновлятьИнтерфейс Тогда
ОбновитьИнтерфейс = Истина;
ПодключитьОбработчикОжидания("ОбновитьИнтерфейсПрограммы", 2, Истина);
КонецЕсли;
УстановитьВидимостьНаКлиенте(ИмяКонстанты);
Если ИмяКонстанты <> "" Тогда
Оповестить("Запись_НаборКонстант", Новый Структура, ИмяКонстанты);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьИнтерфейсПрограммы()
Если ОбновитьИнтерфейс = Истина Тогда
ОбновитьИнтерфейс = Ложь;
ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаНавигационнойСсылкиОткрытиеНастроекЭП(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
Если НавигационнаяСсылкаФорматированнойСтроки = "Программы" Тогда
МодульЭлектроннаяПодписьКлиент.ОткрытьНастройкиЭлектроннойПодписиИШифрования("Программы");
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "ПроверитьУстановкуПрограммКриптографии" Тогда
ПараметрыПроверки = Новый Структура;
ПараметрыПроверки.Вставить("УстанавливатьРасширение", Истина);
ПараметрыПроверки.Вставить("УстанавливатьКомпоненту", Истина);
ПараметрыПроверки.Вставить("ПредлагатьУстановитьПрограмму", Истина);
МодульЭлектроннаяПодписьКлиент.ПроверитьУстановкуПрограммКриптографии(ЭтотОбъект, ПараметрыПроверки,
Новый ОписаниеОповещения("ПослеПроверкиПрограммКриптографии", ЭтотОбъект));
Иначе
МодульЭлектроннаяПодписьКлиент.ОткрытьНастройкиЭлектроннойПодписиИШифрования("Сертификаты");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция АдресСтатьиСервисаDSS()
Возврат "https://its.1c.ru/bmk/bsp_dss_reqs";
КонецФункции
&НаКлиенте
Процедура ПроверитьВключениеОпцииИспользованиеСервисаDSS(РезультатВыбора, ПараметрыЦикла) Экспорт
Если РезультатВыбора.Выполнено И РезультатВыбора.Результат = "ОК" Тогда
Подключаемый_ПриИзмененииРеквизита(ПараметрыЦикла.Элемент);
Иначе
НаборКонстант.ИспользоватьСервисDSS = Ложь;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ВызовСервера
&НаСервере
Функция ПриИзмененииРеквизитаСервер(ИмяЭлемента)
РеквизитПутьКДанным = Элементы[ИмяЭлемента].ПутьКДанным;
ИмяКонстанты = СохранитьЗначениеРеквизита(РеквизитПутьКДанным);
УстановитьДоступность(РеквизитПутьКДанным);
ОбновитьПовторноИспользуемыеЗначения();
Возврат ИмяКонстанты;
КонецФункции
#КонецОбласти
#Область Сервер
&НаСервере
Функция СохранитьЗначениеРеквизита(РеквизитПутьКДанным)
Если РеквизитПутьКДанным = "" Тогда
Возврат "";
КонецЕсли;
ТерминКонстанта = "Константа";
ЧастиИмени = СтрРазделить(РеквизитПутьКДанным, ".");
Если ЧастиИмени.Количество() = 2 Тогда
КонстантаИмя = ЧастиИмени[1];
КонстантаЗначение = НаборКонстант[КонстантаИмя];
ИначеЕсли ЧастиИмени.Количество() = 1
И СтрСравнить(Лев(РеквизитПутьКДанным, СтрДлина(ТерминКонстанта)), ТерминКонстанта) = 0 Тогда
КонстантаИмя = Сред(РеквизитПутьКДанным, СтрДлина(ТерминКонстанта) + 1);
КонстантаЗначение = ЭтотОбъект[РеквизитПутьКДанным];
Иначе
Возврат "";
КонецЕсли;
Если Константы[КонстантаИмя].Получить() <> КонстантаЗначение Тогда
Константы[КонстантаИмя].Установить(КонстантаЗначение);
КонецЕсли;
Если КонстантаИмя = "ИспользоватьДополнительныеРеквизитыИСведения" И КонстантаЗначение = Ложь Тогда
Прочитать();
КонецЕсли;
Возврат КонстантаИмя;
КонецФункции
&НаСервере
Процедура УстановитьДоступность(РеквизитПутьКДанным = "")
Если (РеквизитПутьКДанным = "НаборКонстант.ИспользоватьДополнительныеРеквизитыИСведения" Или РеквизитПутьКДанным = "")
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
Элементы.ГруппаДополнительныеСведения.Доступность =
НаборКонстант.ИспользоватьДополнительныеРеквизитыИСведения;
Элементы.ГруппаСвойстваПравая.Доступность =
НаборКонстант.ИспользоватьДополнительныеРеквизитыИСведения;
КонецЕсли;
Если (РеквизитПутьКДанным = "ХранитьИсториюИзменений" Или РеквизитПутьКДанным = "")
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
Элементы.НастроитьХранениеИсторииИзменений.Доступность = ХранитьИсториюИзменений;
КонецЕсли;
Если (РеквизитПутьКДанным = "ИспользоватьПолнотекстовыйПоиск" Или РеквизитПутьКДанным = "")
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
Элементы.НастроитьПолнотекстовыйПоиск.Доступность = ИспользоватьПолнотекстовыйПоиск;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.НастроитьФормуОбщихНастроек(ЭтотОбъект, РеквизитПутьКДанным);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
ИспользуютсяПрофилиБезопасности = МодульРаботаВБезопасномРежиме.ИспользуютсяПрофилиБезопасности();
Иначе
ИспользуютсяПрофилиБезопасности = Ложь;
КонецЕсли;
Если РеквизитПутьКДанным = "" Тогда
ДоступностьНастройкиПроксиНаСервере = Не ИспользуютсяПрофилиБезопасности;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ГруппаОткрытьПараметрыПроксиСервера",
"Доступность", ДоступностьНастройкиПроксиНаСервере);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ГруппаНастройкаПроксиСервераНаСервереНедоступнаПриИспользованииПрофилейБезопасности",
"Видимость", Не ДоступностьНастройкиПроксиНаСервере);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидимостьНаКлиенте(ИмяКонстанты)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Если ИмяКонстанты = "ИспользоватьЭлектронныеПодписи"
Или ИмяКонстанты = "ИспользоватьШифрование"
Или ИмяКонстанты = "СоздаватьЭлектронныеПодписиНаСервере"
Или ИмяКонстанты = "ПроверятьЭлектронныеПодписиНаСервере"
Или ИмяКонстанты = "" Тогда
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
Если Не МодульЭлектроннаяПодписьКлиент.СоздаватьЭлектронныеПодписиНаСервере()
И Не МодульЭлектроннаяПодписьКлиент.ПроверятьЭлектронныеПодписиНаСервере()
И (МодульЭлектроннаяПодписьКлиент.ИспользоватьЭлектронныеПодписи()
Или МодульЭлектроннаяПодписьКлиент.ИспользоватьШифрование()) Тогда
ПараметрыПроверки = Новый Структура;
ПараметрыПроверки.Вставить("УстанавливатьРасширение", Ложь);
ПараметрыПроверки.Вставить("УстанавливатьКомпоненту", Ложь);
ПараметрыПроверки.Вставить("ПредлагатьУстановитьПрограмму", Ложь);
МодульЭлектроннаяПодписьКлиент.ПроверитьУстановкуПрограммКриптографии(ЭтотОбъект, ПараметрыПроверки,
Новый ОписаниеОповещения("ПослеПроверкиПрограммКриптографии", ЭтотОбъект));
Иначе
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
УстановитьДоступность(ИмяКонстанты);
Иначе
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПослеПроверкиПрограммКриптографии(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Программы.Количество() = 0 И Результат.ПрограммыНаСервере.Количество() = 0 Тогда
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Истина;
Иначе
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура НастройкиРазделаПроизводительность()
МногопоточныеОперацииДоступны = Не (ОбщегоНазначения.ИнформационнаяБазаФайловая() Или ОбщегоНазначения.РазделениеВключено());
Элементы.ГруппаПроизводительность.Видимость = МногопоточныеОперацииДоступны;
Элементы.ГруппаВременныеКаталогиКластераСерверов.Видимость = МногопоточныеОперацииДоступны;
Если МногопоточныеОперацииДоступны Тогда
Если НаборКонстант.КоличествоПотоковДлительныхОпераций < 1 Или НаборКонстант.КоличествоПотоковДлительныхОпераций > 99 Тогда
НаборКонстант.КоличествоПотоковДлительныхОпераций = 4;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьЧасовыеПояса()
Для Каждого ОписаниеЧасовогоПояса Из ПолучитьДопустимыеЧасовыеПояса() Цикл
СмещениеДатой = Дата(1, 1, 1) + СмещениеСтандартногоВремени(ОписаниеЧасовогоПояса);
ПредставлениеСмещения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("(UTC+%1)",
Формат(СмещениеДатой, "ДФ=HH:mm; ДП=00:00;"));
ПредставлениеЧасовогоПояса = ПредставлениеСмещения + " " + ОписаниеЧасовогоПояса;
Элементы.ЧасовойПоясПрограммы.СписокВыбора.Добавить(ОписаниеЧасовогоПояса, ПредставлениеЧасовогоПояса);
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЧасовойПоясПрограммыПриИзмененииНаСервере()
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Если ЧасовойПоясПрограммы <> ПолучитьЧасовойПоясИнформационнойБазы() Тогда
УстановитьПривилегированныйРежим(Истина);
Попытка
УстановитьМонопольныйРежим(Истина);
УстановитьЧасовойПоясИнформационнойБазы(ЧасовойПоясПрограммы);
УстановитьМонопольныйРежим(Ложь);
Исключение
УстановитьМонопольныйРежим(Ложь);
ВызватьИсключение;
КонецПопытки;
УстановитьПривилегированныйРежим(Ложь);
УстановитьЧасовойПоясСеанса(ЧасовойПоясПрограммы);
КонецЕсли;
Иначе
УстановитьЧасовойПоясСеанса(ЧасовойПоясПрограммы);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти