03.11.2005, 12:54 | #1 |
Участник
|
Возникла необходимость запустить несколько клиентов навижн с помощью планировщика, соответственно нужно знать прошел запуск клиента нормально или нет т.к. пакетное задание должно запускаться, только если все клиенты стартовали удачно.
Пытался провернуть следующее: Создал таблицу 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 (последний) клиент спокойно проходит этот цикл и начинает работать. Такое ощущение, что предыдущие клиенты не обновляют таблицу и не видят галку. Какие есть соображения? Может можно сделать проще, а я туплю? |
|
03.11.2005, 14:06 | #2 |
Участник
|
Честно говоря не очень понял, что вы пытаетесь сделать. Но может быть вам каким-то образом для этих целей использовать виртуальную таблицу Сессия (2000000009)?
__________________
MBS Certified Master in Navision Developer |
|
03.11.2005, 16:11 | #3 |
Участник
|
Сесия появляется при конекте к базе а меня интересует открытие фирмы. У меня в каждом клиенте своя фирма и пакетник делает межфирменный учет.
|
|