AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.10.2012, 10:49   #1  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Наверно напишу какую то банальную и всем известную вещь, но вдруг кому-то понадобится.
В процессе работы столкнулся с необходимостью открытия нав по гиперссылке через RDP в опубликованном приложении NAV. Finhlink категорически отказывался запускать клиента NAV на терминале в окне приложения и я искал способ передать параметр гиперссылки напрямую опубликованному приложению finsql.exe

Выход оказался довольно простым, достаточно в параметрах запуска RDP передать параметр url=navision://client/run?servername=... и опубликованное приложение замечательно открывается.
Само собой эту гиперссылку можно вписать и в обычный ярлык запуска NAV.

PS
Странно, но в стандартной документации упоминания о такой возможности не нашел.
Помог файл fin.stx в котором перечислены параметры запуска приложений NAV.
Секция // Commandline Options
__________________
Want to believe...
Старый 15.10.2012, 14:29   #2  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от DA_NEAL Посмотреть сообщение
Наверно напишу какую то банальную и всем известную вещь, но вдруг кому-то понадобится.
В процессе работы столкнулся с необходимостью открытия нав по гиперссылке через RDP в опубликованном приложении NAV. Finhlink категорически отказывался запускать клиента NAV на терминале в окне приложения и я искал способ передать параметр гиперссылки напрямую опубликованному приложению finsql.exe

Выход оказался довольно простым, достаточно в параметрах запуска RDP передать параметр url=navision://client/run?servername=... и опубликованное приложение замечательно открывается.
Само собой эту гиперссылку можно вписать и в обычный ярлык запуска NAV.

PS
Странно, но в стандартной документации упоминания о такой возможности не нашел.
Помог файл fin.stx в котором перечислены параметры запуска приложений NAV.
Секция // Commandline Options
Спасибо! Не додумался полазить по fin.stx. В свое время придумал просто монструозный способ запуска навика в RDP по ссылке из писем (механизм утверждения) с использованием AutoIt и запуском навика с параметрами изнутри навика без параметров... В общем, работало, но это было крайне нетривиальное костыльное решение, которое даже стыдно показывать.
Старый 15.10.2012, 15:30   #3  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
[/quote]
Спасибо! Не додумался полазить по fin.stx. В свое время придумал просто монструозный способ запуска навика в RDP по ссылке из писем (механизм утверждения) с использованием AutoIt и запуском навика с параметрами изнутри навика без параметров... В общем, работало, но это было крайне нетривиальное костыльное решение, которое даже стыдно показывать.
[/quote]

Вот все таки как все похоже.
Я до этого способа делал то же самое.
На AutoIT написал утилиту которая по параметру URL создавала текстовой файлик с этим URL. Зарегал протокол в реестре а-ля navision:// где прописал эту утилиту. Она также создавала в локальном каталоге юзера RDP файлик и запускала его. В 1 кодюъните прописал проверку наличия файлика с URL в локальном каталоге и если он есть отрывал на CompanyOpen.Далее этот файлик грохался в этом же кодъюните. Таким образом работали гиперссылки на RDP. Но чето мне этот способ не очень нравился, тем более надо было бы всем ставить эту утилиту, вносить изменения в реестр у пользователей.
__________________
Want to believe...
Старый 15.10.2012, 16:31   #4  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от DA_NEAL Посмотреть сообщение
Вот все таки как все похоже.
Я до этого способа делал то же самое.
На AutoIT написал утилиту которая по параметру URL создавала текстовой файлик с этим URL. Зарегал протокол в реестре а-ля navision:// где прописал эту утилиту. Она также создавала в локальном каталоге юзера RDP файлик и запускала его. В 1 кодюъните прописал проверку наличия файлика с URL в локальном каталоге и если он есть отрывал на CompanyOpen.Далее этот файлик грохался в этом же кодъюните. Таким образом работали гиперссылки на RDP. Но чето мне этот способ не очень нравился, тем более надо было бы всем ставить эту утилиту, вносить изменения в реестр у пользователей.
Ахах
не поленился нашел свой код в LogInStart

Код:
AutostartShortcutSetup.SETRANGE(Enabled, TRUE);
IF AutostartShortcutSetup.FINDFIRST THEN
 BEGIN
  ShortcutNameWithPath:=STRSUBSTNO(AutostartShortcutSetup.Path, USERID);
  IF EXISTS(ShortcutNameWithPath) THEN
   BEGIN
     ShortcutToStart.TEXTMODE(TRUE);
     ShortcutToStart.OPEN(ShortcutNameWithPath);
     StartProgram := (ShortcutToStart.READ(Hlink)>0);
     ShortcutToStart.CLOSE;
     ERASE(ShortcutNameWithPath);
     IF StartProgram THEN 
       IF UPPERCASE(Text50000)=UPPERCASE(COPYSTR(Hlink, 1, STRLEN(Text50000))) THEN
         HYPERLINK(Hlink);
   END;
 END;
Собственно через AutoIT была задача создать файлик в папке с содержимым гиперссылки, и запустить NAV. Да, перехват протокола navision://, точнее замена ветки в реестре так же присутствовала :-)
Проверки тут параноидальные сделаны были - формально можно было запустить на терминальном сервере что-угодно, поэтому проверял, что это именно ссылка в стиле NAV :-)
Т.е. мое решение, кажется, вообще не отличается от вашего :-))
Старый 15.10.2012, 16:42   #5  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Ага почти тоже самое, только я запускал RDP приложение с примапленными локальными дисками юзера и файлик искал соответственно в локальной папке юзера по пути \\tsclient\...
а так то одна логика. Но имхо утопичный вариант, слишком все нахлобучено .
__________________
Want to believe...
Старый 15.10.2012, 16:44   #6  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
работает же :-)
Костыль. Но работает.
Конечно, вариант с url - это просто громадный шаг вперед.;-)
Старый 18.10.2012, 09:53   #7  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
У нас единая БД. И пользователи в перспективе по всей России. Несмотря на то что все в одной локальной сети, каналы связи не могут обеспечить комфортной работы в классическом клиенте например из какого - нибудь Новокузнецка.
__________________
Want to believe...
Старый 18.10.2012, 10:09   #8  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
В моей ситуации сервер с NAV уезжал на удаленную корпоративную площадку в Европу без локального доступа вообще. А NAVовские стандартные механизмы утверждения документов во всю использовались в локальной, российской компании. Политика по централизации. Процесс был не быстрый, и не приоритетный, с тех пор много воды утекло. Не факт, что в итоге переехал - я на том проекте уже давно не работаю - финала процесса не застал.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:01.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.