Настройки (БСП)

Автор: 1С
ОбщийМодуль.ИнтеграцияОбъектовОбластейДанных
БСП

Настройки. Возвращает настройки внешней учетной системы.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

Настройки (БСП)

ГлобальныеНастройки (БСП)

НастройкиОбновления (БСП)

НастройкиПользователя (БСП)

НастройкиНеЗаданы (БСП)

НастройкиПодсистемы (БСП)

FTPНастройкиСоединения (БСП)

НастройкиОтправкиSMS (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз