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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.05.2006, 20:29   #1  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Три вопроса . . .
1. Как сделать так, чтобы по нажатию кнопки запускался некий процесс и крутился до тех пор пока он не будет погашен ну хотя бы той же кнопкой, другими словами как сделать, чтобы процесс запустился в фоне?

2. Как находясь в одном AOS определить какие пользователи работают в другом?

3. И последний, ну самый грустный, как программно определить какие AOSы доступны?
Старый 02.05.2006, 21:30   #2  
Falcon is offline
Falcon
Восставший
Соотечественники
 
753 / 35 (3) +++
Регистрация: 08.02.2002
Адрес: Pincourt, Quebec, Canada
1. Как я понимаю, "в фоне" в Аксапте можно запустить только batch-процессы - на сервере, под управлением выделенного под это дело клиента...
Или - пишите прогу на С++ и вызывайте ее через shellexec...
Старый 03.05.2006, 07:55   #3  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
А как насчёт 2-го и 3-го вопросов?
Старый 03.05.2006, 08:58   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Dronas
1. Как сделать так, чтобы по нажатию кнопки запускался некий процесс и крутился до тех пор пока он не будет погашен ну хотя бы той же кнопкой, другими словами как сделать, чтобы процесс запустился в фоне?
Посмотрите как сделан пакетный сервер.
Он и "запускается", и "крутится до тех пор пока он не будет погашен".
__________________
полезное на axForum, github, vk, coub.
Старый 03.05.2006, 09:01   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Dronas
2. Как находясь в одном AOS определить какие пользователи работают в другом?

3. И последний, ну самый грустный, как программно определить какие AOSы доступны?
Разберитесь с классом Session и его родителем xSession.
Вы получите информацию кто где работает.

К сожалению, я не знаю как получить информацию о тех АОСах, которые где-то работают, но активных соединений к ним нет.
Разве что при помощи WinAPI запрашивать информацию из реестра. Удаленно.
Но чтобы получить ответ на такой запрос вам нужны права администратора на опрашиваемых машинах.
__________________
полезное на axForum, github, vk, coub.
Старый 03.05.2006, 09:43   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,320 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Dronas
1. Как сделать так, чтобы по нажатию кнопки запускался некий процесс и крутился до тех пор пока он не будет погашен ну хотя бы той же кнопкой, другими словами как сделать, чтобы процесс запустился в фоне?
Посмотрите форму \Forms\tutorial_Thread - это не то, что Вам нужно?
Оговорюсь сразу - это направление вообще говоря нигде не описано - кроме как в этой форме. Это нигде в Аксапте (по кр мере я не встречал) не используется. Соответственно качество работы не гарантировано
С другой стороны - по сведениям из достоверных источников это направление было существенно доработано в ядре Kernel Rollup I, которое в свою очередь было сделано на базе SP3-го ядра. Так что если у Вас ax32.exe версии ниже KR1 - то для использования вышеуказанного механизма настоятельно рекомендую обновить.

С остальными вопросами - тяжелее - тк как верно подметил Mazzy - для получения этой информации как минимум нужны соответствующие права пользователя на сервере, причем по умолчанию, без дополнительной подстройки такие права будут только у администраторов сервера, на котором стоит АОС.

Но сказать утвердительно - что этого сделать нельзя - тоже будет неправильно. Надо рыть.
__________________
Возможно сделать все. Вопрос времени
Старый 03.05.2006, 09:59   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Можно запустить отдельный поток на сервере AOS - в нем можно реализовать нужную вам логику - пример здесь
__________________
Axapta v.3.0 sp5 kr2
Старый 03.05.2006, 10:59   #8  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Цитата:
Сообщение от Dronas
13. И последний, ну самый грустный, как программно определить какие AOSы доступны?
Вообще-то это хакерство. Лучше вспомнить классиков. При запуске AOS-ов оставляйте себе где-нть записку, а при необходимости читайте ее. (А.С. Пушкин, Дубровский).

С уважением, itfs.
Старый 03.05.2006, 11:16   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Проблема не в том, чтобы оставить записку, а в том, чтобы узнать где она находится (см. тех же классиков).
Если оставлять записку в публичном доступе, то тут же возникает проблема авторизации доступа или обеспечения безопасности при неавторизованном доступе к подобной информации.

С потоками то же самое.
АОС сам по себе УЖЕ является потоком.
Надо знать где именно он находится. Если знаешь где он находится, то нужен авторизованный доступ к нему.

Вообще говоря, есть нормальный штатный способ для доступа к АОСу - зайти на него пользователем.
Но тут возникает другая проблема - держать столько автоботов, сколько есть АОСов, это значит впустую потратить лицензии на пользователей
__________________
полезное на axForum, github, vk, coub.
Старый 03.05.2006, 11:36   #10  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Цитата:
Сообщение от mazzy
Проблема не в том, чтобы оставить записку, а в том, чтобы узнать где она находится (см. тех же классиков).
В самом деле? Даже если кладет и вынимает один и тот же человек? (читай, программист это организовавший).
Да и насчет безопастности ... ну зашифруйте информацию ...

С уважением, itfs.
PS Нельзя так с классиками.
PPS Со мной - можно.
Старый 03.05.2006, 14:05   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от itfs
В самом деле? Даже если кладет и вынимает один и тот же человек? (читай, программист это организовавший).
Как скажете. Тогда ройте в сторону WMI.

Но мне кажется, что над вопросом безопасности стоит подумать еще раз
__________________
полезное на axForum, github, vk, coub.
Старый 03.05.2006, 15:59   #12  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
По поводу вопроса №1:
Как вариант, посмотрите форму SysLabelSearch. Обратите внимание на метод Object::setTimeOut().

По поводу вопроса №2:
Если Вы ставите вопрос так, тогда при условии, что у вас все клиенты работают в 3хуровенвой конфигурации, то все сессии, у которых clientKind() NotAOS, работают на других AOS'ах (не на вашем). А вообще, на сколько я помню, метод AOSName() у xSession вполне спасал (SP3).

По поводу вопроса №3:
А что Вы понимаете под доступностью AOS'а?

Пример 1: Работают 2 AOS'а, но ярлыки пользователей настроены так, что одна часть заходит только на первый AOS, а другая - на второй. Вопрос - считать ли второй AOS доступным для первой группы, если единственное, что мешает им воспользоваться - ярлык?

Пример 2: Работают 2 AOS'а для двух разных приложений. С клиентского компьютера доступен как первый, так и второй. Доступен ли второй AOS с точки зрения клиента, работающего с первым AOS'ом? Ведь они работают с разными приложениями.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Почему то Сводное планирование начало занимать в три раза больше времени? Hidden DAX: Функционал 7 29.09.2006 16:28
два вопроса по обработке событий... andy239 DAX: Программирование 4 27.05.2005 14:37
OLAP: два болезненных вопроса alisaap DAX: Функционал 3 02.04.2004 22:34
Как создать диалог вопроса? chuf DAX: Программирование 5 01.10.2003 11:30
Вместо русских букв - знаки вопроса Adson DAX: Функционал 6 12.09.2003 16:54

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:37.