Имя: Пароль:
1C
1С v8
Вопросы(предупреждения) при сохр.пользователя ИБ и при запуске 1с - как отключить?
0 Остап Ибрагимович
 
10.04.23
18:33
скриншоты: https://i.ibb.co/ypXMNsj/image.png
УФ.

1. само собой, &НаСервере:
ПользовательИб = ПользователиИнформационнойБазы.НайтиПоИмени(ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
Если ПользовательИб.РежимЗапуска <> РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Тогда
    УстановитьПривилегированныйРежим(Истина);
    ПользовательИб.РежимЗапуска = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение;
    ПользовательИБ.Записать(); //<<< тут брейкпойнт
    УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;

-- в момент выполнения "ПользовательИБ.Записать()" - см.скриншот №1.
при этом (в табло отладчика при остановке на брейкпонте) значение выражения "ПривилегированныйРежим()" (без кавычек, само собой) равно "Истина" (тоже без кавычек)
Как избавиться от такого вопроса (сделать авто-ДА)? Перекосячивает всю логику работы.

2. &НаКлиенте. Попытка запуска 1с (с подрихтованными - см.п.1 - параметрами, ну там еще по мелочи параметров добавлено):
ЗапуститьПриложение("""" + ФайлЗапускаКлиента.ПолноеИмя + """ ENTERPRISE /IBConnectionString""" + ...
- см.скриншот №2.
Как избавиться от такого вопроса (сделать авто-ДА)? Перекосячивает всю логику работы.

заранее благодарен и всё такоэ
1 Остап Ибрагимович
 
10.04.23
18:34
ЗЫ: альтернативный линк на скриншоты - https://ibb.co/bFPy6d9
2 Serg_1960
 
11.04.23
09:28
Защита от опасных действий?
Юзверь.UnsafeOperationProtection.UnsafeOperationWarnings = Ложь;
Юзверь.Записать();
3 Остап Ибрагимович
 
11.04.23
10:43
(2): см. (0), (1).
какой юзверь? текущий? для тек.сеанса сработает?
4 Остап Ибрагимович
 
11.04.23
10:56
(3)+: после (2) для тек.пользователя:
ПользователиИнформационнойБазы.НайтиПоИмени(ПользователиИнформационнойБазы.ТекущийПользователь().Имя).ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = Ложь
НО при этом:
ПользователиИнформационнойБазы.ТекущийПользователь()..ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях = Истина
- и, соответственно, все гадские вопросы остались.
5 Serg_1960
 
11.04.23
13:32
Ыыы... я лишь намекнул: можно отключить защиту от опасных действий - для всех или для конкретного пользователя :(
https://helpf.pro/faq83/view/1850.html

А для (2) потребуется перезагрузка сеанса, чтобы изменения вступили в действие. Как-то типа так:

    Юзверь = ПользователиИнформационнойБазы.ТекущийПользователь();
    Если Юзверь.UnsafeOperationProtection.UnsafeOperationWarnings Тогда
        Юзверь.UnsafeOperationProtection.UnsafeOperationWarnings = Ложь;
        Юзверь.Записать();
        ЗавершитьРаботуСистемы(Ложь, Истина);
    КонецЕсли;