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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.03.2003, 19:12   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
"Поймать" сообщение
Вот так я могу послать сообщение любому пользователя, работающему с Аксаптой в данный момент:

PHP код:
 AOSSessionInfo::sendMessage(sesIdtitlemessage); 
Соответсвенно у этого пользователя выскочит окошко с этим сообщением. А нельзя ли програмно обработать получение этого сообщения ?

Или может есть другой способ запустить на выполнение Аксаптовский класс, но не у себя, а на чужой машине ?
Старый 11.03.2003, 19:31   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Можно по setTimeOut на форме анализировать изменение какого-нибудь глобального признака (например, поля в таблице) и вызвать метод, правда, опять же на форме.
__________________
Андрей.
Старый 12.03.2003, 08:56   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Можно по setTimeOut на форме
То есть подразумевается, что должна быть открыта конкретная форма ? Тогда это не то - хотелось бы, чтобы сообщение ловилось независимо от того, какие формы открыты.

PHP код:
 анализировать изменение какого-нибудь глобального признака (напримерполя в таблице
Эта таблица сразу станет узким местом в системе

Но все равно спасибо за помощь

Может есть еще идеи ?
Старый 12.03.2003, 09:36   #4  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
А нельзя ли програмно обработать получение этого сообщения
Стандартными средствами Аксапты нельзя

А в связи с чем возник данный вопрос? Может есть более простые способы решения?
Старый 12.03.2003, 09:44   #5  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
А в связи с чем возник данный вопрос?
Распределенные вычисления

Чувствую, что опять услышу, что Аксапта для этого не предназначена

Допустим есть задача разузлования и обсчета сложной спецификации целиком реализованной мной. На одном компе эта задача решается нереально долго. Була идея ПОПРОБОВАТЬ следующее - смотрим сейчас сеансы пользователей, посылаем им запрос "на сколько они загружены", если они "не очень" загружены "поручить" им выполнять часть рабоы по обсчету вызывая на удаленных компьютерах соответсвующие методы соответствующих классов.
Старый 12.03.2003, 09:55   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Сомнительно, что это возможно...

Может быть, лучше попросить пользователя на некоторой раб.станции запустить нужный тебе процесс, который мог бы синхронизироваться с остальными такими же процессами и который можно прервать, если он сильно будет мешать работе?
Или соптимизировать задачу
Старый 12.03.2003, 10:00   #7  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Изначально опубликовано Андре


Распределенные вычисления

Чувствую, что опять услышу, что Аксапта для этого не предназначена

Допустим есть задача разузлования и обсчета сложной спецификации целиком реализованной мной. На одном компе эта задача решается нереально долго. Була идея ПОПРОБОВАТЬ следующее - смотрим сейчас сеансы пользователей, посылаем им запрос "на сколько они загружены", если они "не очень" загружены "поручить" им выполнять часть рабоы по обсчету вызывая на удаленных компьютерах соответсвующие методы соответствующих классов.
я решал аналогичную задачу так : при входе у всех пользователей (по настройке в SysUserInfo) появляется окошко в углу программы. дизайн = только заголовок окна (поиграйся с Frame). А уж в этой форме по setTimeOut через каждые 5 минут запускается на выполнение мой класс. Правда время работы я ему отвел секунд 5-10.
__________________
С уважением, Вячеслав.
Старый 12.03.2003, 10:27   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
По моему, лучше для этого приспособить обработку пакетных заданий. Пусть у всех пользователей запускается Пакетный сервер, обрабатывающий задания только конкретной группы. Как тебе такой вариант? Придется, правда, немного форму сервера подредактировать, чтобы пользователь ее случайно не закрыл...
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 12.03.2003, 10:36   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Maxim Gorbunov
Придется, правда, немного форму сервера подредактировать, чтобы пользователь ее случайно не закрыл...
А, не, не надо. Тут посмотрел я этот класс немного. Можно его и без формы запустить на выполнение. Только вот Info он будет генерить.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 12.03.2003, 10:39   #10  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
попросить пользователя
Безнадежное дело. Лучше уж богу помолиться

Цитата:
при входе у всех пользователей (по настройке в SysUserInfo) появляется окошко в углу программы....
Попробую. Спасибо.

Цитата:
По моему, лучше для этого приспособить обработку пакетных заданий.
Честно говоря, я с пакетными заданиями не особенно разбирался

Как я понимаю, когда выполняется это пакетное задание, на этом компьютере в Аксапте работать уже затруднительно. Это так ?
Интересует обмен информацией между различными компами выполняющими часть общей задачи. В пакетном режиме это возможно ?
Интересует балансировка нагрузка на разные компы выполняющими часть общей задачи. В пакетном режиме это возможно ?
Старый 12.03.2003, 10:57   #11  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Андре
Как я понимаю, когда выполняется это пакетное задание, на этом компьютере в Аксапте работать уже затруднительно. Это так ?
Зависит от того, как напишешь задание.
Цитата:
Изначально опубликовано Андре
Интересует обмен информацией между различными компами выполняющими часть общей задачи. В пакетном режиме это возможно ?
Опять же, ответственность за это несут задания. Связь осуществляется, обычно, через таблицы.

А с RunBase ты разбирался? Если нет - советую почитать про это в Best Practice Handbook. В кратце, добро это выглядит так: ты определяешь класс, потомок RunBase. Всю работу запаковываешь в его метод run (если знаком с Java, это очень похоже на интерфейс Runnable и Thread'ы). Чтобы сделать пакетное задание, используй RunBaseBatch (он, кстати, потомок RunBase). Тогда пакетный сервер будет запускать этот самый метод run. Вот в него ты и можешь добавить балансировку нагрузки, обмен сообщениями и все, что хочешь.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 12.03.2003, 11:28   #12  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Связь осуществляется, обычно, через таблицы.
Но по моему, через таблицы ОЧЕНЬ плохой вариант. Куча клиентов РЕГУЛЯРНО обращаются к одной и той же таблице. Фигня какая-то..

Можно попробовать поработать с WinAPI - те же сокеты. Никто не пробовал работать с ними в Аксапте ?


P.S. Спасибо за объяснение насчет RunBase.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сообщение AX3 KR3 - "INI-file corrupt" egorych DAX: Администрирование 2 27.06.2007 11:05
Как изменить сообщение "Пользователь был заблокирован администратором"? Hidden DAX: Функционал 12 09.06.2005 16:39
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Как "поймать" имя вызываемого отчета ATimTim DAX: Программирование 4 27.08.2004 11:46
"LIKE" и "OR" в "qbds" @x DAX: Программирование 14 20.01.2004 13:20
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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