Сколько у Вас рабочих мест 1С?

Рейтинг@Mail.ru

В этой статье будет рассмотрена возможность запуска отдельной сессии 1С:Предприятие 8 для проведения обменов в качестве службы Windows. Службы стартуют автоматически при запуске компьютера, у них есть режим восстановления — все это позволяет не заботиться о наличии запущенной пользователем сессии для эффективного обмена данными, выполнение обмена не мешает работе пользователя, выполнение обмена от отдельного пользователя позволяет не наделять лишними правами обычных пользователей.

Для начала сформируем строку запуска приложения 1С:Предприятие 8 в режиме выделенной сессии и выполнения фоновых заданий — замените поля в следующем примере на свои значения:

"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /IBConnectionString"File=""D:\1c_db"";"
/N Obmen /P 123456 /C"DoScheduledJobs SkipMessageBox AloneIBSession"

где сначала идет путь до исполняемого файла 1С Предприятие, затем режим запуска (ENTERPRISE), строка пути к базе ( признак File и путь до нее), имя и пароль пользователя с нужными правами (ключи  /N и /P), ключи командной строки режима запуска 1С Предприятия с выполнением назначенных заданий, без месседжбоксов (некому будет нажимать в них кнопки ОК и тп), в режиме отдельной сессии пользователя.

Для создания службы будем использовать две утилиты из NT Resource KIT  instsrv.exe позволяет создавать службы, srvany.exe позволяет запускать любое приложение в режиме службы Windows. Берем эти утилиты здесь, распаковываем, кладем в папку C:\Windows\System32, или аналогичную для вашей системы, создаем службу (запускаем команду в командной строке):

instsrv 1cObmen c:\windows\system32\srvany.exe

После создания службы нам нужно ее настроить, для этого открываем редактор реестра (Пуск->Выполнить->regedit.exe->ОК), открываем раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, находим там наш созданный сервис 1cObmen. В нем необходимо создать раздел Parameters (правая кнопка мыши на имени сервиса, Создать, Раздел, указать имя раздела), в разделе необходимо создать строковый параметр Application (правая кнопка мыши на разделе Parameters, Создать, Строковый параметр, указать имя параметра) со значением нашей строки запуска 1С Предприятие (двойной клик по параметру Application, вставить строку запуска в поле Значение, ОК):

"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /IBConnectionString"File=""D:\1c_db"";" 
/N Obmen /P 123456 /C"DoScheduledJobs SkipMessageBox AloneIBSession"

Теперь будет неплохо проверить указать для созданной службы параметры восстановления — Панель управления, Администрирование, Службы, запустите созданную службу (1cObmen), обновите вид (F5) через минуту, убедитесь что служба все еще работает, двойной клик по службе, вкладка Восстановление, установить для всех сбоев Перезапуск службы, ОК.

На этом все. Обычно для восстановления работы обмена в случае сбоев или каких-то зависаний пользователю достаточно перезапустить службу или компьютер.