Имя: Пароль:
1C
Админ
Вопрос к знатокам или почему не работает код
0 adrond
 
27.04.14
22:07
Коллеги есть непонятная ситуация
Вроде очень простой код (см. ниже), но он не работает.
Небольшая преамбула, есть 2 базы 1С одна самописная, вторая стандартная, и одни и теже пользователи в обоих базах. Есть задача что бы пользователь мог менять пароль только в одной базе, а во второй все менялось автоматом. Но ничего не получается, пароль во второй базе меняется, но он точно не совпадает с тем значением, что пытались установить.
Пробовал использовать ПользовательИнформационнойБазы.СохраняемоеЗначениеПароля, но он не изменяется после изменения пароля, а только при следующей загрузке появляется новое значение.
Предположил, что может быть проблема с кодировками, но даже только цифры в пароле не проходят
В чем может быть проблема ?
    текПользовательБаза1 = ПользователиИнформационнойБазы.ТекущийПользователь();
    текПользовательБаза1.Пароль = Пароль;
    текПользовательБаза1.Записать();
    
    V8 = Новый COMОбъект("V82.ComConnector");
    Сервер = "XXXX";
    БазаДанных   = "XXXX";
    Пользователь = "XXXX";
    Пароль       = "XXXX";
    СтрокаПодключения =  "srvr='" + Сервер + "'; ref='" + БазаДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';";
    Попытка
        Соединение = V8.Connect(СтрокаПодключения);        
    Исключение
        Отказ = Истина;
        Возврат;
    КонецПопытки;
    текПользовательБаза2 = Соединение.ПользователиИнформационнойБазы.НайтиПоИмени(текПользователь.Имя);
    текПользовательБаза2.Пароль = Пароль;
    текПользовательБаза2.Записать();
1 zak555
 
27.04.14
22:09
сделай аутентификацию через ОС
2 adrond
 
28.04.14
10:34
(1) Есть причины по которым мы не можем использовать данный вариант
3 FreeHunter
 
28.04.14
10:49
ты явно понимай, что 1с то же шифрует пароли, поэтому так тупо передавать нельзя, RTFM
4 adrond
 
28.04.14
12:10
(3) При чем здесь это? 1С шифрует пароль на этапе хранения его в системе, но при чем здесь установка пароля? В первой базе пароль же нормально меняется, и все отличие первой базы от второй это вызов по OLE. В FM нет ни слова про эти отличия
5 mikecool
 
28.04.14
12:20
(4) в отладке - пароль точно присваивается?
ЖР во второй базе не материт?
6 sirsp
 
28.04.14
12:27
(0) Ну а что ты хочешь? Строка
Пароль       = "XXXX";
Меняет значение переменной, которое и записывается в базу.
7 Галахад
 
гуру
28.04.14
12:28
Ну как бэ...
    
текПользовательБаза1.Пароль = Пароль;
Пароль       = "XXXX"; <----
текПользовательБаза2.Пароль = Пароль;
8 adrond
 
28.04.14
12:48
(6) (7) Спасибо. Глаз замылился. Это говорит только о том, что работать в выходные зло!
9 mikecool
 
28.04.14
12:51
кому то и понедельник выходной...
2 + 2 = 3.9999999999999999999999999999999...