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

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

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

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

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

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

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


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


А, да, точняк, она ж требует имя пользователя, можно использовать произвольное имя, например "geniy1s.ru", гыгыгы. Помню, юзал это но забыл. но это ты под ОФ наверное мучаешься, под УФ должно работать через УстановитьПривилегированныйРежим(Истина)
7 Гений 1С
 
гуру
05.02.21
12:17
Ларчик просто открывался, вот пример:

Функция СохранитьХранимуюНастройку(ИмяНастройки, Значение) Экспорт
    УстановитьПривилегированныйРежим(истина);
    ХранилищеОбщихНастроек.Сохранить("Обмен_МойСклад_1С", ИмяНастройки, Значение, "Обмен_МойСклад_1С");
КонецФункции

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