Как при помощи контекстного меню MS Windows 7 открыть каталог базы 1С 7.7 в 1С:Предприятие


Настройка контекстного меню каталога Windows, для открытия в приложении 1С:Предприятие

Чтобы открыть каталог, являющийся каталогом информационной базы, в 1С:Предприятие 7.7, необходимо запустить это приложение, добавить соответствующую настройку в список информационных баз, выбрать нужный режим запуска 1С:Предприятие [Конфигуратор или Приложение], нажать в форме диалога «ОК», после чего, в появившемся окне диалога авторизации, ввести реквизиты доступа, снова нажать «ОК» и уже после этого откроется окно приложения. Все, теперь можно работать с приложением и в том числе убедиться, что открытый Вами в 1С каталог информационной базы «не тот».

Процедура, в целом, не слишком утомительная, но, скажем, Вы просматриваете свои копии информационных баз, которых, возможно, не так мало, и хотите как то ускорить процесс регистрации-открытия новой базы. Может быть есть, в таком случае, смысл распаковывать-переносить все информационные базы в один и тот же каталог, для которого у Вас уже есть регистрация в списке информационных баз и использовать эту регистрацию.

Предлагаемый в данной статье способ лучше в том плане, что ни регистрировать в списке информационных баз, ни переносить куда-то каталоги с базой данных не надо. Достаточно в проводнике, кликнув на нужном каталоге, выбрать пункт контекстного меню «Открыть в 1С» или «Открыть в конфигураторе 1С» и информационная база будет открыта в приложении 1С:Предприятие.

Как это сделать

Нужно в редакторе реестра, перейти в ветку [HKLM]\Software\Classes\Directory\shell и создать раздел «open1c» содержащие строковый параметр «MUIVerb» со значением «Открыть в 1с». В ветке  [HKLM]\Software\Classes\Directory\shell\open1c создать раздел «command» со значением «wscript.exe g:\open1c.vbs %1», где «g:\open1c.vbs» — произвольный путь к скрипту, текст которого я представлю ниже.

В результате приведенной выше последовательности действий, мы определили пункт «открыть в 1с» в контекстном меню каталога, при выборе которого, будет запускаться vb-скрипт, параметром которого будет строка-путь к каталогу.

Теперь текст самого скрипта:

'On Error Resume Next

Set WshShell = WScript.CreateObject("WScript.Shell")
 
WshShell.Run """C:\Program Files\1Cv77\BIN\1cv7s.exe"" enterprise /d" & WScript.Arguments(0) & " /nMyAccount /pMyPwd /m"
 
где "MyAccount" и "MyPwd" следует заменить на свои реквизиты доступа.
 
Аналогично, можно добавить пункт контекстного меню "open1cconf" с представлением "Открыть в конфигураторе 1с" и запуском скрипта:
 
'On Error Resume Next

Set WshShell = WScript.CreateObject("WScript.Shell")
 
WshShell.Run """C:\Program Files\1Cv77\BIN\1cv7s.exe"" config /d" & WScript.Arguments(0) & " /nMyAccount /pMyPwd

Примечание

В первую очередь, хочется отметить, что хранение в открытом виде реквизитов доступа к информационной базе чревато серьезными последствиями в случае несанкционированного доступа к Вашему рабочему месту. Чтобы повысить безопасность этого решения, можно: а) расположить скрипты в каталоге с ограниченным доступом, в частности, б) расположить скрипты в своей копии каталога «AppData» и тогда соответствующую ветку реестра править в разделе [HKCU]; в) скриптом переименовывать файл «users.usr» в соответствующем каталоге, чтобы беспрепятственно «пройти» авторизацию 1С:Предприятия без ввода реквизитов доступа; аналог NTLM-аутентификации для 1С 7.7 [здесь]. Тут могут быть разные варианты…

Наименование подразделов раздела «…\Directory\shell» и значение параметра «MUIVerb» может быть любым, путь в значении по умолчанию раздела «command» должен ссылаться на существующий файл.

Подобную настройку, вероятно, можно сделать и в других версиях Windows, нужно только правильно вычислить соответствующие ключи системного реестра.