Hare.ru @ Коллективный разум / Hare.ru @ Дикое место

Архив hare.ru 
Мысли, конвертированные в текст

Собственные руки TM


Все статьи раздела

Как запустить ERT-файл из Проводника?

Алексей Бажитов (Алексей Бажитов май 2002Этот вопрос относится поднимается на форумах по V7 с завидной регулярностью. Для чего может понадобится такая фича – это пусть каждый решает сам, я же просто опишу как это сделать технически. Прежде всего: курочить глобальный мо)

Этот вопрос относится поднимается на форумах по V7 с завидной регулярностью. Для чего может понадобится такая фича – это пусть каждый решает сам, я же просто опишу как это сделать технически.

Прежде всего: курочить глобальный модуль не нужно, вообще никаких изменений в конфигурации не понадобится. Для решения задачи мы возьмём не V7, а встроенный в Windows сервер сценариев (Windows Script Host, WSH).

Пишем сценария, вот такой:

set wshShell = wScript.createObject("wScript.shell")
wshShell.run """C:\V7\bin\1cv7s.exe"" enterprise /d""C:\MyBase\"" /nПупкин /p123"
wScript.sleep 120000 'подождем пока загрузится (2 минуты)
wshShell.appActivate "1С:Предприятие"
wshShell.sendKeys "^(o)"
wshShell.sendKeys wScript.arguments.unnamed.item(0)
wshShell.sendKeys "~"

И сохраним его с именем, к примеру, RunErt.vbs. Теперь берём командную строку и пишем в ней:

RunErt.vbs C:\ERT\МояКульнаяОбработка.ert

Жмем Enter, и через 2 минуты, оно ка-а-ак прыгнет ;-)

Естественно, ключи запуска 1cv7 нужно подставить ваши, да и задержку времени, возможно, придется подобрать экспериментально.

Если же нужно запустить ERT в уже загруженной сессии 1С:Предприятия, тогда сценарий будет еще короче:

set wshShell = wScript.createObject("wScript.shell")
wshShell.appActivate "1С:Предприятие"
wshShell.sendKeys "^(o)"
wshShell.sendKeys wScript.arguments.unnamed.item(0)
wshShell.sendKeys "~"

При желании можно даже проассоциировать ert-файлы с RunErt.vbs, тогда по двойному клику из Проводника они будут открываться на исполнение внутри V7.

Может возникнуть проблема: если запущено несколько экзепляров Предприятия, то неизвестно, в каком именно будет открыт наш внешний отчёт.

Заранее согласен со всеми критиками: это не самый красивый, не самый надежный, не самый правильный… да и наверняка не единственный способ проблемы. Но всё же он работает.

Вообще, используя WSH и SendKeys можно делать много всяких интересных вещей. Порулим конфигуратором? Скажем, чтобы он ночью сам загружал в рабочую базу новую конфигурацию (над которой мы работали днём)? Да запросто.

Как работать с WSH (в частности, как эмулировать нажатия клавиш) – читайте в документации, ссылка прилагается.

Партнеры:


Также может быть интересно:

Канал Россия 1 на http://spbtvonline.ru/
   
 Сайт поддерживается за счет партнеров:
:::... Сайт содержит архив двух версий hare.ru Карта сайта