Вход | Регистрация
 

Хранилище общих настроек, общее для всех пользователей

Хранилище общих настроек, общее для всех пользователей
Я
   Гений 1С
 
03.02.21 - 10:43
Написал обработку обмена. Она может запускаться вручную, а может и по расписанию. Думаю использовать механизм запуска внешних обработок БП3 по расписанию.
По идее при запуске по расписанию можно указать пользователя, от имени которого запускается задание, но не факт.

Хотелось бы использовать ХранилищеОбщихНастроек.Загрузить, общее для всех пользователей, а не для конкретного пользователя, такое есть?

ХранилищеОбщихНастроек.Загрузить("Обмен_МойСклад_1С", ИмяНастройки);

ХранилищеНастроекМенеджер.<Имя хранилища> (SettingsStorageManager.<Storage name>)
Загрузить (Load)
Синтаксис:
Загрузить(<КлючОбъекта>, <КлючНастроек>, <ОписаниеНастроек>, <ИмяПользователя>)

Ну иначе можно конечно скопировать настройки по этому разделу от себя в робота, как вариант, хз...
   TormozIT
 
1 - 03.02.21 - 10:50
Смотри ирОбщий.СохранитьЗначениеЛкс(). Без прав администратора сделать (0) я не нашел способ.
   Гений 1С
 
2 - 03.02.21 - 10:53
(1) может свое хранилище заюзать, а не общее? там же есть и другие хранилища?
   Гений 1С
 
3 - 03.02.21 - 10:53
(1) что ты имеешь ввиду под правами админа? УстановитьПривилегированныйРежим(Истина) не катит?
   hhhh
 
4 - 03.02.21 - 11:08
(3) ну, проверьте.
   Гений 1С
 
5 - 03.02.21 - 11:09
(1) где смотреть-та? Если у тебя плугин под рукой, кинь сюда плиз текст
   Гений 1С
 
6 - 03.02.21 - 11:12
Хотя забыл, что CFE можно открыть в конфигураторе. Итак?

Функция СохранитьЗначениеЛкс(КлючНастроек, Значение, ДляВсехПользователей = Ложь) Экспорт 

    #Если ТонкийКлиент Или ВебКлиент Или МобильныйКлиент Тогда

        ирСервер.СохранитьЗначениеЛкс(КлючНастроек, Значение);
    #Иначе

        Если ДляВсехПользователей И ПравоДоступа("АдминистрированиеДанных", Метаданные) Тогда
            ИмяПользователя = ирКэш.ИмяПродукта();
        Иначе
            //ИмяПользователя = Неопределено; // Такое значение вызывает ошибки у нестандартных хранилищ

            ИмяПользователя = ИмяПользователя();
        КонецЕсли; 
        ХранилищеОбщихНастроек.Сохранить(ирКэш.ИмяПродукта(), КлючНастроек, Значение,, ИмяПользователя);
    #КонецЕсли 

    
КонецФункции


Функция ИмяПродукта() Экспорт 
    
    Возврат "ИнструментыРазработчикаTormozit";
    
КонецФункции


А, да, точняк, она ж требует имя пользователя, можно использовать произвольное имя, например "geniy1s.ru", гыгыгы. Помню, юзал это но забыл. но это ты под ОФ наверное мучаешься, под УФ должно работать через УстановитьПривилегированныйРежим(Истина)
   Гений 1С
 
7 - 05.02.21 - 12:17
Ларчик просто открывался, вот пример:
Функция СохранитьХранимуюНастройку(ИмяНастройки, Значение) Экспорт
    УстановитьПривилегированныйРежим(истина);
    ХранилищеОбщихНастроек.Сохранить("Обмен_МойСклад_1С", ИмяНастройки, Значение, "Обмен_МойСклад_1С");
КонецФункции

Функция ВосстановитьХранимуюНастройку(ИмяНастройки) Экспорт
    УстановитьПривилегированныйРежим(истина);
    Возврат ХранилищеОбщихНастроек.Загрузить("Обмен_МойСклад_1С", ИмяНастройки, "Обмен_МойСклад_1С" );
КонецФункции
   Kassern
 
8 - 05.02.21 - 12:22
(7) Что мешает воспользоваться реквизитом ХранилищеНастроек в справочнике ДополнительныеОтчетыИОбработки для хранения настроек внешней обработки?
   Вафель
 
9 - 05.02.21 - 12:33
(7) это во внешней обработке то?
прив режим не установится

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.