Разное - [решено] Подружить реестр с внутренними ссылками 1С

Аватара пользователя
Stavral

Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Stavral »

Пытаюсь научить Windows 7 открывать т.н. внутренние ссылки 1С Предприятие (разновидность URI). Сама ссылка имеет такой вид: e1c://server/srv-cm2.test.ru/basa1c#e1cib/data/Справочник.ВнутренниеДокументы?ref=9bd4567542136c11e38813d6f7f28b



Чтобы винда узнавала ссылку, нужно внести изменения в реестре и связать приложение клиента 1С с именем ссылки. В ветке HKEY_CLASSES_ROOT создаю раздел e1c и подразделы shell/open/command - тут прописываю ключ для открытия этой ссылки клиентом 1С: "C:\Program Files (x86)\1cv8\common\1cestart.exe" - вроде открывает.



Проблема в том, что эту запись надо распространить политиками по компьютерам домена. Естественно, ОСи х32 и х64 у нас в соотношении 50/50. Т.е. в ключе реестра путь до 1cestart.exe варьируется в зависимости от разрядности системы - надо сделать переменные. ОК, иду в переменные среды, там добавляю параметр PATH и в нем указываю два пути до возможного расположения клиента 1С: %Programfiles%\1cv8\common;%Programfiles(x86)%\1cv8\common.



В реестре меняю прописанный в ключе путь на "%1cestart.exe%" (точно не знаю, надо ли ставить % - пробовал с ними и без них). В общем, при попытке зайти по ссылке выдается ошибка, что приложение не найдено.



Делал это все в первый раз, раньше опыта не было, потому полагаю, что где-то чего-то забыл прописать. Подскажите, пожалуйста, если кто знает!
Аватара пользователя
Blast

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Blast »

Цитата Stavral:



точно не знаю, надо ли ставить %
Разное - [решено] Подружить реестр с внутренними ссылками 1С




Ставить. А еще попробуйте значение параметра писать так:

Код:

Код: Выделить всё

@%1cestart.exe%


Цитата Stavral:



два пути до возможного расположения клиента 1С: %Programfiles%\1cv8\common;%Programfiles(x86)%\1cv8\common
Разное - [решено] Подружить реестр с внутренними ссылками 1С




То есть в 64-разрядных системах к одной и той же папке - Program Files (x86) Изображение

Переменные там такие:



%ProgramFiles% = C:\Program Files (x86)

%ProgramFiles(x86)% = C:\Program Files (x86)

%ProgramW6432% = C:\Program Files



Можете свою переменную и не создавать, а писать переменную PF, примерно так:



@%ProgramFiles%\1cv8\common\1cestart.exe %1

или

@%ProgramW6432%\1cv8\common\1cestart.exe %1



Может чего не то насоветовал, не проверял еще Изображение
Аватара пользователя
Stavral

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Stavral »

Цитата Blast:



Переменные там такие:

%ProgramFiles% = C:\Program Files (x86)

%ProgramFiles(x86)% = C:\Program Files (x86)

%ProgramW6432% = C:\Program Files
Разное - [решено] Подружить реестр с внутренними ссылками 1С




Да, я читал об этом на каком-то ресурсе. Только вот опытном это не подтверждается, как ни странно. На 64-битной системе переменная среды "%Programfiles%\1cv8\common" не дает возможность открыть 1cestart.exe из командной строки. А вот переменная "%Programfiles(x86)%\1cv8\common" - дает... В свою очередь на 32-битной системе работает именно "%Programfiles%\1cv8\common", а "%Programfiles(x86)%\1cv8\common" - нет. Таким образом, придется все-таки обе переменные политиками распространять. Ну или политиками же определять сначала разрядность...



В любом случае, не работает, если в ключе реестра указываю переменную, а не полный путь :-( Непонятно как-то, почему реестре не воспринимает переменные.
Аватара пользователя
Stavral

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Stavral »

Stavral, а с чего он вдруг должен «воспринимать»? «Воспринимают» или «не воспринимают» приложения. Специально для «не воспринимающих» был заведён тип параметра «REG_EXPAND_SZ». Если в Вашем случае сие допустимо — можете попробовать.
Аватара пользователя
Iska

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Iska »

Stavral, а с чего он вдруг должен «воспринимать»? «Воспринимают» или «не воспринимают» приложения. Специально для «не воспринимающих» был заведён тип параметра «REG_EXPAND_SZ». Если в Вашем случае сие допустимо — можете попробовать.
Аватара пользователя
Blast

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Blast »

Blast, у меня получилось в таком варианте:





Код:

Код: Выделить всё

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\e1c]
"URL Protocol"=""
[HKEY_CLASSES_ROOT\e1c\shell]
[HKEY_CLASSES_ROOT\e1c\shell\open]
[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@="\"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\" /URL \"%1\""

Но хочется еще доработать, чтобы использовать переменные, о которых писал выше.



По логике, чтобы получить требуемое, надо лишь заменить C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\ на %1cestart.exe% - но это почему-то не работает. При этом в переменных среды все указано, запуск 1cestart.exe через "Выполнить" тоже работает - т.е. система восприняла новую переменную. Почему же когда переменную помещаю в реестр - все перестает работать?
Аватара пользователя
Stavral

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Stavral »

Blast, у меня получилось в таком варианте:





Код:

Код: Выделить всё

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\e1c]
"URL Protocol"=""
[HKEY_CLASSES_ROOT\e1c\shell]
[HKEY_CLASSES_ROOT\e1c\shell\open]
[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@="\"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\" /URL \"%1\""

Но хочется еще доработать, чтобы использовать переменные, о которых писал выше.



По логике, чтобы получить требуемое, надо лишь заменить C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\ на %1cestart.exe% - но это почему-то не работает. При этом в переменных среды все указано, запуск 1cestart.exe через "Выполнить" тоже работает - т.е. система восприняла новую переменную. Почему же когда переменную помещаю в реестр - все перестает работать?
Аватара пользователя
Stavral

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Stavral »

Цитата Stavral:



со значением @%1cestart.exe% /URL
Разное - [решено] Подружить реестр с внутренними ссылками 1С




1. У Вас есть такая переменная окружения — «%1cestart.exe%»?

2. Если есть — попробуйте обрамить кавычками путь — «"%1cestart.exe%"».
Аватара пользователя
Iska

Re: Разное - [решено] Подружить реестр с внутренними ссылками 1С

Сообщение Iska »

Цитата Stavral:



заменить C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\ на %1cestart.exe%
Разное - [решено] Подружить реестр с внутренними ссылками 1С




Не так, переменную назначить к папке, а не к исполняемому файлу. То есть к C:\Program Files (x86)\1cv8\common\
Ответить

Вернуться в «Microsoft Windows 7»