|
v7: OLE. При указании неверного имени пользователя ничего не происходит | ☑ | ||
---|---|---|---|---|
0
live in sky dreams
16.08.18
✎
15:58
|
Соединяюсь с семерочной базой по OLE
Указываю строку соединения вида: СтрокаПодключения = """" + ПутьКПлатформе + """" + "enterprise /d""" + ПутьКБазе + """" + ?(ЗначениеЗаполнено(ИмяПользователя), " /n", "") + """" + СокрЛП(ИмяПользователя) + """" + ?(ЗначениеЗаполнено(ПарольПользователя), " /p", "") + """" + ПарольПользователя + """"; Далее инициализирую соединение СоединениеУстановлено = СоединениеСБазойИсточником.Initialize(СоединениеСБазойИсточником.RMTrade, СтрокаПодключения,"NO_SPLASH_SHOW"); Если логин и пароль пользователя указаны верно - то соединение проходит нормально. Если же ошибка в логине или пароле - просто висит процесс 1Cv7 на этапе входа в базу. Не ошибок, не предупреждений.. Ничего. Как-то можно с этим бороться? |
|||
1
aka AMIGO
16.08.18
✎
16:02
|
Может, Попытка/Ислючение помогут?
|
|||
2
Salimbek
16.08.18
✎
16:09
|
(1) Скорее - анализировать СоединениеУстановлено, и если нет, то СоединениеСБазойИсточником="";
(0) ИМХА, намного правильнее заводить как надо Пользователя и Пароль, тогда не придется мучить голову над обработкой такой исключительной ситуации. |
|||
3
aka AMIGO
16.08.18
✎
16:10
|
Кстати, "СоединениеУстановлено " должно что-то возвращать, вроде как 1 при установленном и "0" при ошибке
Проверь |
|||
4
live in sky dreams
16.08.18
✎
16:12
|
Оно все в попытку и обернуто.
Вопрос в том - как понять что не происходит на стороне семерки авторизации а просто бесхозно висит(не зависло) окно и послушно ждет ввода логина и пароля? Восьмера из которой подключаюсь ждет результ, окно семерки ждет логин и пасс, все ждут, все висит, ошибок нет... (2),(3) В СоединениеУстановлено что-то возвращается когда есть какой то результат, а тут нет результата.. |
|||
5
aka AMIGO
16.08.18
✎
16:20
|
При "неверном открытии" обычно появляется окно выбора открываемой базы
|
|||
6
aka AMIGO
16.08.18
✎
16:20
|
Или так: ПустоеЗначение(СоединениеУстановлено)=1
|
|||
7
aka AMIGO
16.08.18
✎
16:22
|
+6 пардон, это-ж 8-ка..
|
|||
8
uno-group
16.08.18
✎
16:26
|
Ну дык оно ждет пока введут правильный пароль. Как вариант самому парсить и проверять файл Юзерс что такой пользователь с таким паролем есть и только потом пытаться запустить 1с. иначе ругаться, что пароль не правильный.
|
|||
9
Йо
16.08.18
✎
16:43
|
Не надо указывать неверное имя пользователя и пароль.
Напиши правильное в коде или в каком-нибудь файле с параметрами. |
|||
10
HawkEye
16.08.18
✎
16:52
|
(0) в 7 ке в ПриНачалеРаботыСистемы - сохраняй в файл время и имя входа а 8-кой проверяй этот файл... если файла нет - значит 7-ка не запустилась
|
|||
11
live in sky dreams
16.08.18
✎
16:52
|
(8)(9)Я не знаю ни пользователей ни паролей тех кто будет этим пользоваться.
"Не надо указывать неверное имя пользователя и пароль." - ну конечно же не надо :) Но как пользователь узнает о том, что он ввел неверно что-то если опечатался? |
|||
12
live in sky dreams
16.08.18
✎
16:53
|
(10) менять конфу не вариант... Я вот думаю может поставить обработку ожидания.. И просто по таймауту рубить...
|
|||
13
HawkEye
16.08.18
✎
17:58
|
(12) лезь тогда в users.usr - парси его, вытаскивай логины пользователей и каталоги пользователей, потом проверяй если в каталоге пользователя 1cv7.lck - если есть значит зашел
|
|||
14
Йо
16.08.18
✎
18:33
|
(11) и не надо тебе знать этих пользователей. Сделай одного для своей задачи. Но лучше вообще не связываться с оле. Оно только выглядит красиво. А по сути медленно, нестабильно и куча проблем типа (0). Текстовые или хмл файлы для обмена может не так красивы, но в итоге лучше.
|
|||
15
G-Re
16.08.18
✎
18:40
|
Ты же сам вроде указываешь /n и /p, то есть говоришь, что пользователь и пароль должны быть введены руками. Вот она и ждёт этого ввода. Кажется так.
|
|||
16
Базис
naïve
16.08.18
✎
18:45
|
(15) Нет, это ключи cli для полей логина и пароля.
|
|||
17
Злопчинский
16.08.18
✎
19:34
|
(0) учимся говорить по-русску
"Не ошибок, не предупреждений..." следует читать как нИ ошибок, нИ предупреждений ;-) |
|||
18
Злопчинский
16.08.18
✎
19:37
|
эээээ, меня одного напрягло
?(ЗначениеЗаполнено(ИмяПользователя), " /n", "") ..как бы первым параметром должно быть ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ, а не значение...? ..или я чего-то не знаю/не понял... |
|||
19
Злопчинский
16.08.18
✎
19:40
|
Тьфу, блин, это ж код на стороне снеговика... сорри..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |