Скрыть рабочий стол при начале работы системы. Устанавливает состояние отмены при создании форм рабочего стола.
// Устанавливает состояние отмены при создании форм рабочего стола.
// Требуется, если при запуске программы возникает необходимость
// взаимодействия с пользователем (интерактивная обработка).
//
// Используется из одноименной процедуры в модуле СтандартныеПодсистемыКлиент.
// Прямой вызов на сервере имеет смысл для сокращения серверных вызовов,
// если при подготовке параметров клиента через модуль ПовтИсп уже
// известно, что интерактивная обработка требуется.
//
// Если прямой вызов сделан из процедуры получения параметров клиент,
// то состояние на клиенте будет обновлено автоматически, в другом случае
// это нужно сделать самостоятельно на клиенте с помощью одноименной процедуры
// в модуле СтандартныеПодсистемыКлиент.
//
// Параметры:
// Скрыть - Булево - если установить Истина, состояние будет установлено,
// если установить Ложь, состояние будет снято (после этого
// можно выполнить метод ОбновитьИнтерфейс и формы рабочего
// стола будут пересозданы).
//
Процедура СкрытьРабочийСтолПриНачалеРаботыСистемы(Скрыть = Истина) Экспорт
Если ТекущийРежимЗапуска() = Неопределено Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
// Сохранение или восстановление состава форм начальной страницы.
КлючОбъекта = "Общее/НастройкиНачальнойСтраницы";
КлючОбъектаХранения = "Общее/НастройкиНачальнойСтраницыПередОчисткой";
СохраненныеНастройки = ХранилищеСистемныхНастроек.Загрузить(КлючОбъектаХранения, "");
Если ТипЗнч(Скрыть) <> Тип("Булево") Тогда
Скрыть = ТипЗнч(СохраненныеНастройки) = Тип("ХранилищеЗначения");
КонецЕсли;
Если Скрыть Тогда
Если ТипЗнч(СохраненныеНастройки) <> Тип("ХранилищеЗначения") Тогда
ТекущиеНастройки = ХранилищеСистемныхНастроек.Загрузить(КлючОбъекта);
СохраняемыеНастройки = Новый ХранилищеЗначения(ТекущиеНастройки);
ХранилищеСистемныхНастроек.Сохранить(КлючОбъектаХранения, "", СохраняемыеНастройки);
КонецЕсли;
СтандартныеПодсистемыСервер.УстановитьПустуюФормуНаРабочийСтол();
Иначе
Если ТипЗнч(СохраненныеНастройки) = Тип("ХранилищеЗначения") Тогда
СохраненныеНастройки = СохраненныеНастройки.Получить();
Если СохраненныеНастройки = Неопределено Тогда
ХранилищеСистемныхНастроек.Удалить(КлючОбъекта, Неопределено,
ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
Иначе
ХранилищеСистемныхНастроек.Сохранить(КлючОбъекта, "", СохраненныеНастройки);
КонецЕсли;
ХранилищеСистемныхНастроек.Удалить(КлючОбъектаХранения, Неопределено,
ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
КонецЕсли;
КонецЕсли;
ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.ПараметрыКлиентаНаСервере);
Если Скрыть Тогда
ТекущиеПараметры.Вставить("СкрытьРабочийСтолПриНачалеРаботыСистемы", Истина);
ИначеЕсли ТекущиеПараметры.Получить("СкрытьРабочийСтолПриНачалеРаботыСистемы") <> Неопределено Тогда
ТекущиеПараметры.Удалить("СкрытьРабочийСтолПриНачалеРаботыСистемы");
КонецЕсли;
ПараметрыСеанса.ПараметрыКлиентаНаСервере = Новый ФиксированноеСоответствие(ТекущиеПараметры);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)