Показать сообщение отдельно
Старый 05.04.2007, 13:57   #13  
EDVard_imported is offline
EDVard_imported
Участник
 
49 / 10 (1) +
Регистрация: 22.07.2004
Коллеги!

С шедуллером, который запускается по времени, все просто и способов множество.

А вот как быть с запуском Navision с конкретным параметром, обработку которого несложно сделать в 1CU (NASHandler)??? Причем проблема не с самим запуском и не со съеданием сессии (какой бы то ни было), а именно с тем, чтобы NAS закрылся и чтобы его можно было запустить в следующий раз с другим параметром.

Например, нам нужен некий механизм управления батчами (обработки пакетов по миграции данных из разных систем, по учету и т.д.), который должен работать из некого внешнего приложения, написанного, к приеру на Delphi. Есть список процессов, которые нужно администровать централизованно. Есть администратор, который при необходимости должен запускать тот или иной процесс (в любой из ИС предприятия) вручную.
Задача в том, чтобы запустить Navision с неким параметром (ID задачи из диспетчера задач), в результате чего бы выполнилась определенная задача диспетчера задач.
И задачу это можно решить с помощью NAS, НО! После запуска NAS из командной строки, этот самый администратор должен нажать кнопку ESC, чтобы закончить работу NAS для того, чтобы запустить следующую задачу (например).
В принципе - администратору не сложно нажать эту кнопку, но хочется как-то сделать процесс красивее что ли. Чтобы по нажатию некой кнопки в написанном на Delhpi (или в любой другой среде разработки) приложении запускался NAS с определенным параметром, в триггере NASHandler происходила обработка этого параметра, запускалась соответствующая задача диспетчера задач и после ее успешного завершения NAS закрывался, освобождая тем самым сессию NAS и закрывая окно командной строки. То есть, по сути, нужно симитировать нажатие кнопки ESC админимтсратором, которого так ждет NAS для того, чтобы завершить свою работу.
В случае возниконовения ошибки обработки какой-либо задачи хотелось бы при этом получать сообщение либо писать информацию об ошибке в лог.
Если есть у кого то такой опыт, поделитесь, пожалуйста.