![]() |
#1 |
Участник
|
Использую Navision 3.7 с логинами БД.
Каждый раз при вхождении в программу приходится вводить имя пользователя и пароль. Каким образом можно сделать так, чтобы имя пользователя было "уже введенным" и нужно было вводить только пароль? Спасибо. |
|
![]() |
#2 |
Участник
|
К сожалению, встроенными средствами никак (если речь идет о нативной БД). Можно написать программу или скрипт, который будет запускать NAV и посылать клавиатурные нажатия.
Для написания скрипта подойдут программы типа AutoIT или AutoHotkey. Не так давно пытался найти уже готовую программу, но безуспешно. Есть только такие, которые вводят и логин и пароль, а таких которые только логин не встречал. |
|
![]() |
#3 |
Участник
|
Спасибо!
А можно дать ссылку на программу, которая "вводит и логин и пароль"? |
|
![]() |
#4 |
Участник
|
Обычно это всякие утилиты для разработчиков, работающих со множеством баз разных версий.
Я пользовался CodeGenius, он помимо запуска содержит еще кучу полезных функций. На mibuso лежит еще Navision Starter. Если у вас розница, то подобная утилита входит в состав LS Retail. |
|
![]() |
#5 |
Administrator
|
|
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Administrator
|
честно - не знаю
от себя даю процентов 80, что да, ибо это их домайкрософтовские технологии: и зуп и натив... а разговор про нативную шел? |
|
![]() |
#8 |
Administrator
|
придумал термин!
зупачистка ![]() |
|
![]() |
#9 |
Участник
|
Про какую шел разговор - не знаю. SQLный клиент действительно запоминает последний логин, а вот добиться такого же поведения от нативного мне не удалось, хоть с параметрами ярлык, хоть без параметров.
|
|
![]() |
#10 |
Участник
|
База нативная.
В ярлыке нет ничего лишнего. Имя пользователя не запоминается. |
|
![]() |
#11 |
Участник
|
Вот мои наработки на тему ввода имени пользователя для AutoHotkey. Но хочу сразу предупредить, что скрипт очень сырой, по-хорошему его надо доработать. Направления для доработки приведены в коде в виде комментариев:
Код: ;Запрещаем две одовременно работающие копии скрипта #SingleInstance ignore ;Включаем поиск по частичным совпадениям SetTitleMatchMode 2 ;Запускаем навик Run, C:\Program Files\Microsoft Navision 4\Client\fin.exe "database=c:\temp\newstore.fdb"`,"company=CRONUS"`,"ntauthentication=0"`,"NetType=tcp", C:\Program Files\Microsoft Navision 4\Client\, , AppPID ;Ждем появления его окна ;Название и класс окна приведены для русской 4-ки, у других версий они могут отличаться WinWait, Microsoft Business Solutions-Navision ahk_class C/SIDE Application ahk_pid %AppPID% ;Здесь может появиться: ;1 - окно логина ;2 - окно лицензии ;3 - ничего ;4 - окно выбора базы (хотя оно вроде само по себе не появляется) ;Какое-нить предупреждение, например что сервер не найден ;И эту ситуацию нужно как-то обработать ;Ждем появления окна логина ;Название и класс окна приведены для русской 4-ки, у других версий они могут отличаться WinWait, Логин ahk_class C/SIDE Glued ;Активизируем его IfWinNotActive { WinActivate WinWaitActive } ;GUI Navision сделаны по какой-то хитрой (возможно старой) технологии и получить хендл отдельного элемента ;управления нельзя, чтобы применить к нему SeText, поэтому будем использовать Send Send, Username{ENTER} ;Имя пользователя желательно читать из какого-нибудь файла |
|
![]() |
#12 |
Участник
|
Цитата:
А похожу штуку делал на VBS, она логинилась, выбирала в меню резеровное копирование и запускала. |
|
![]() |
#13 |
Участник
|
Цитата:
Аутентификация виндовс вообще избавит от ввода пароля.
|
|
![]() |
#14 |
Участник
|
А вы добавьте в nav пользователя с локального компьютера.
|
|