Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запуск предприятия под другим пользователем , Версия платформы 8.3.10, Конфигурация 1С:CRM для Украины, редакция 2.          
lenuneya Подменю пользователя
сообщение 27.06.17, 11:54
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Друзья, помогите разобраться.
На платформе 8.3.9 обработка работала, а сейчас уже нет (Управляемые формы).

У меня есть "самописная" обработка "Запуск под пользователем", где выбирается пользователь и по кнопке запускается предприятие под ним.
Суть обработки в том, что я под полными правами, не зная пароля пользователя, могу зайти под его правами.
Обработка устанавливает временный пароль пользователю, запускает приложение, и далее восстанавливает пароль.
Но сейчас, почему-то запуск приложения происходит под тем же пользователем, под которым выполняется команда обработки.

Пример процедуры
&НаКлиенте
Процедура Запустить1СНажатие(Команда)
    
    ИмяПользователяИБ = "";
    
    УстановитьВременныйПароль(ИмяПользователяИБ);    
    
    Попытка
        
        #Если Не ВебКлиент Тогда
            ЗапуститьСистему("ENTERPRISE " + СтрокаСоединенияИБ() + "/N""" + ИмяПользователяИБ + """ " + "/P""123""");
        #КонецЕсли
        
        Пауза(Объект.Задержка);
        
        ВосстановитьПрежнийПароль();        
        
    Исключение
        ВосстановитьПрежнийПароль();        
    КонецПопытки;
    
КонецПроцедуры


Может я что-то пропускаю?
Заранее спасибо за ответы!

logist Подменю пользователя
сообщение 27.06.17, 12:23
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

В настройках пользователя ИБ снимите флаг "Защита от опасных действий"

p.s. а вообще по приведенному коду ничего не понятно, всё спрятано в вызываемых процедурах.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: lenuneya,

Bernet Подменю пользователя
сообщение 27.06.17, 18:26
Сообщение #3

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

мне вот интересно каким образом обработка восстанавливает пароль, насколько я знаю, вообще обычным способом прочитать пароль пользователя нельзя, он шифруется. Видел обработку которая по хеш-коду каким-то образом выдавала пароль юзера, но как точно это все происходит не знаю


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

lenuneya Подменю пользователя
сообщение 30.06.17, 10:54
Сообщение #4

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

logist @ 27.06.17, 13:23 * ,
Спасибо! Но снятие флага не помогло.

Bernet @ 27.06.17, 19:26 * ,
у пользователя ИБ есть свойство "СохраняемоеЗначениеПароля", и да, оно закодировано, т.е. явно пароль не видно.
но его значение можно сохранить в переменную, потом заменить на свое, на время, а после выполнения входа, вернуть прежнее значение.

&НаСервере 
Процедура УстановитьВременныйПароль(ИмяПользователяИБ)
    
    СохраняемоеЗначениеПароля123     = "QL0AFWMIX8NRZTKeof9cXsvbvu8=,QL0AFWMIX8NRZTKeof9cXsvbvu8=";
    
    ПользовательИБ = Неопределено;     
    Если ЗначениеЗаполнено(Объект.Пользователь) Тогда        
        ПользовательИБ = ПолучитьПользовательИБ(Объект.Пользователь);
    Иначе
        Возврат;
    КонецЕсли;

    Если ПользовательИБ <> Неопределено Тогда
        ИмяПользователяИБ = ПользовательИБ.Имя;
        Объект.СохраняемоеЗначениеПароляСтарое = ПолучитьРеквизитПользователя(ПользовательИБ, "СохраняемоеЗначениеПароля");
        ПользовательИБ.СохраняемоеЗначениеПароля = СохраняемоеЗначениеПароля123;
        Объект.АутентификацияСтандартная = ПолучитьРеквизитПользователя(ПользовательИБ,"АутентификацияСтандартная");      
        Если Не Объект.АутентификацияСтандартная Тогда                                    // Включаем аутентификацию 1С, если она отключена.
            ПользовательИБ.АутентификацияСтандартная = Истина;
        КонецЕсли;
        
        ПользовательИБ.Записать();
    Иначе
        Возврат;
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура ВосстановитьПрежнийПароль()
    ПользовательИБ = Неопределено;     
    Если ЗначениеЗаполнено(Объект.Пользователь) Тогда        
        ПользовательИБ = ПолучитьПользовательИБ(Объект.Пользователь);
    Иначе
        Возврат;
    КонецЕсли;
    
    ПользовательИБ.СохраняемоеЗначениеПароля = Объект.СохраняемоеЗначениеПароляСтарое;
    ПользовательИБ.АутентификацияСтандартная = Объект.АутентификацияСтандартная;
    ПользовательИБ.Записать();
КонецПроцедуры

lenuneya Подменю пользователя
сообщение 06.07.17, 10:26
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

lenuneya @ 30.06.17, 11:54 * ,
на жаль, ніхто мені не допоміг.
запитання залишається відкритим

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 13:05
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!