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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.11.2005, 12:54   #1  
Константин! is offline
Константин!
Участник
 
180 / 10 (1) +
Регистрация: 13.04.2005
Адрес: Казань
Возникла необходимость запустить несколько клиентов навижн с помощью планировщика, соответственно нужно знать прошел запуск клиента нормально или нет т.к. пакетное задание должно запускаться, только если все клиенты стартовали удачно.
Пытался провернуть следующее:
Создал таблицу c полями CompanyName,ClientRun потом в ф-и LogInStart() (CU1) в конце
ставлю галку
Table1.RESET;
Table1.SETRANGE(Company,COMPANYNAME);
IF Table1.FIND('-') THEN BEGIN
Table1.ClientRun:=TRUE;
Table1.MODIFY;
CODEUNIT.run(50000); // здесь лежит пакетник
end;

CODEUNIT 50000;
OnRun()
REPEAT
COMMIT;
GlobalDimCompany.RESET;
GlobalDimCompany.SETRANGE(ClientRun,FALSE);
UNTIL GlobalDimCompany.ISEMPTY;
// потом идет код пакетника

Так вот собственно проблема: весь этот алгоритм работает только для последнего клиента т.е. все N-1 клиент запускаются, ставят галку и начинают крутиться в цикли ждать пока все клиенты не поставят галку и никак этого не дожидаются и только N (последний) клиент спокойно проходит этот цикл и начинает работать. Такое ощущение, что предыдущие клиенты не обновляют таблицу и не видят галку. Какие есть соображения? Может можно сделать проще, а я туплю?
 


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

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

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