Настройка контекстного меню каталога 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, нужно только правильно вычислить соответствующие ключи системного реестра.