|
![]() |
#1 |
Участник
|
Все, абсолютно все, "ждущие" ("слушающие") системы основаны на таймере. И пакетная обработка в том числе. Просто все настолько "тонет" во всяких "умных" словах и настройках или скрыто внутри "системного" кода, что добраться до сути становится проблематично...
Т.е. по таймеру, через определенные интервалы времени, запускается некий код, который проверят нет ли чего для выполнения. Далее - по ситуации. В Axapta, основой для ручного создания таймера, является метод setTimeOut(), который есть у любого класса, поскольку это метод "базового" ("родительского") класса Object. Соответственно, если нужен "глобальный" слушатель, то следует вызвать setTimeOut() глобального же объекта. Удобнее всего это сделать в глобальном классе Info. Общая схема примерно такая: 1) В классе Info создается собственный метод, например info.MyMethod(), в котором и производится анализ того, не надо ли что-то сделать. 2) В методе info.executeUserOptions() организуется вызов этого метода по таймеру примерно так X++: this.setTimeOut(identifierstr(MyMethod), 30*1000, false); X++: this.setTimeOut(identifierstr(MyMethod), 30*1000, false); Правда, возникает дополнительная проблема "совместного доступа". Т.е. чтобы два (или более) сеанса не начали выполнять одно и то же задание. Как это "разрулить" решается в каждом конкретном случае. В зависимости от того, что именно должно быть сделано. Да, кстати, если обмен директивами идет через таблицу, то ее ни в коем случае не надо кешировать. Вам ведь надо всегда читать актуальную информацию, а не то, что сохранено в кеше. ============================================================== Но, вообще-то, присоединяюсь к sukhanchik. Сначала ответьте самому себе ЧТО Вы собираетесь выполнять таким способом? Не "общими словами" вроде "администратору захотелось", а именно вполне конкретно. Например: администратору надо сделать перезагрузку AOS. Далее попробуйте уточнить, обязательно ли для этой обработки запускать для ВСЕХ клиентов или достаточно, чтобы работал хотя бы один клиент? А нельзя запустить этого одного именно тогда, когда "администратору захотелось"? |
|
|
За это сообщение автора поблагодарили: konfet (1), raniel (1), someOne (5). |
Теги |
обработка событий, события, сообщение |
|
![]() |
||||
Тема | Ответов | |||
Обработка входящего НДС | 12 | |||
Помогите!!!!!Обработка вх.НДС в SP4 | 4 | |||
Висит обработка фактуры | 12 | |||
Суммарная обработка накладной | 1 | |||
Окно сообщений | 4 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|