![]() |
#17 |
Участник
|
Может подойти класс 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(); // ожидание завершения чистки } X++: bpt.waitUntilSignaled(); 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). |
|
|