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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2012, 17:55   #17  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Может подойти класс Tread. Поскольку Вам все равно нужно чистить таблицу вне зависимости выполнилась ли бизнесс-логика или нет, то конструкцию можно организовать на примере следующего джоба :
X++:
static void Job620(Args _args)
{
   Thread bpt; // поток для бизнесс-процесса
   Thread clt; //  поток для удаления таблицы

   bpt = new Thread();
   clt = new Thread();

   bpt.setInputParm(connull()); // передача параметров потоку для бизнесс-процесса
   // запуск
   bpt.run( classnum( TestClassThread),staticmethodstr(TestClassThread,BuisnessProcess));
   bpt.waitUntilSignaled(); // ожидание завершения БП

   clt.setInputParm(connull()); /      
   clt.run( classnum( TestClassThread ), staticmethodstr(TestClassThread,ClearTable)); // чистка
   clt.waitUntilSignaled(); // ожидание завершения чистки
}
Потоки запускаются в разных сессиях, поэтому друг другу не мешают. Т.е. один поток не будет зависить от ошибки другого ( даже того же throw error()) А
X++:
bpt.waitUntilSignaled();
не даст очистить таблицу раньше времени. Для тестирования можете создать класс TestClassThread как указан в джобе и написать там 2 статических метода :
X++:
server static void BuisnessProcess(Thread t)
{
   container con = t.getInputParm();
   ;
   // выполнение бизнесс процесса

   // выполнение бизнесс процесса
   throw error('Ошибка');
}
X++:
server static void ClearTable(Thread t)
{
   container con = t.getInputParm();
   ;
   // очистка таблицы

   // очистка таблицы
   info('ClearTable');
}
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 22.03.2012 в 18:01.
За это сообщение автора поблагодарили: Андрей К. (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Масштабируемость AOS'а AX 2009 и принципы выполнения кода клиентских сессий на сервере gl00mie DAX: Администрирование 27 28.05.2013 17:40
Перенос точки выполнения в отладчике DAX2009 Bega DAX: Программирование 3 21.02.2011 15:21
axforum blogs: Можно ли снизить стоимость внедрения ERP-системы? Blog bot DAX Blogs 0 11.02.2011 15:11
Ускорение выполнения запроса Oracle + MS Axapta Горбунов Дмитрий DAX: Программирование 17 15.11.2005 18:13
Как можно управлять элементом Grid из кода? vitk DAX: Программирование 4 26.08.2004 16:02

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

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

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