|
Вопрос к знатокам или почему не работает код |
☑ |
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
|
кому то и понедельник выходной...
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший