Задача состоит из 2-х подзадач
- Открытие тонкого клиента 1С по ссылке.
- Открытие заданного объекта при старте системы на стороне 1С.
Открытие тонкого клиента 1С по ссылке.
Данным действием мы регистрируем в операционной системе собственный протокол e1cb, к которому можно получить доступ из браузера по ссылке вида e1cb://навигационная_ссылка. При переходе по данной ссылке будет вызвана команда запуска 1с с соответствующей переданной навигационной ссылкой.
Вариант 1, подходит для 8.2 и 8.3, требует в дальнейшем модификации конфигурации.
Для этого нужно зарегистрировать в операционной системе собственный протокол. Это делается с помощью файла реестра.
Текст файла:
Windows Registry Editor Version 5.00Запускаем с правами администратора и вносим изменения, заменив предварительно пути, адрес сервера, порт и имя базы.
[HKEY_CLASSES_ROOT\e1cb] "URL Protocol"="e1cb" @="URL:e1cb"
[HKEY_CLASSES_ROOT\e1cb\DefaultIcon]
@="C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe,0"
[HKEY_CLASSES_ROOT\e1cb\shell]
[HKEY_CLASSES_ROOT\e1cb\shell\open]
[HKEY_CLASSES_ROOT\e1cb\shell\open\command]
@="\"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\" ENTERPRISE /S\"ServerName:Port\\Database_Name\" /C\"%1\""
Данный пример иллюстрирует соединение с базой в клиент-серверном варианте. Для файловой базы нужно использовать параметр /F"путь_до_каталога_с_файловой_базой" вместо /S.
Для большего удобства рекомендуется настроить доменную аутентификацию, чтобы пользователю не нужно было вводить логин и пароль.
Пример ссылки для данного варианта:
e1cb://e1cib/data/Документ.бит_ПроектДоговора?ref=80cc00505681538311e43a7255c2162a
Вариант 1, подходит только для 8.3, не требует в дальнейшем модификации конфигурации.
Текст файла реестра аналогичен за исключением последнего параметра.
Windows Registry Editor Version 5.00В этом случае ссылка на стороне 1С будет обработана автоматически, однако этот параметр появился только в 8.3
[HKEY_CLASSES_ROOT\e1cb] "URL Protocol"="e1cb" @="URL:e1cb"
[HKEY_CLASSES_ROOT\e1cb\DefaultIcon]
@="C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe,0"
[HKEY_CLASSES_ROOT\e1cb\shell]
[HKEY_CLASSES_ROOT\e1cb\shell\open]
[HKEY_CLASSES_ROOT\e1cb\shell\open\command]
@="\"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\" ENTERPRISE /S\"ServerName:Port\\Database_Name\" /URL \"%1\""
Открытие заданного объекта при старте системы на стороне 1С.
Для того, чтобы в первом случае при старте 1С открылся заданный объект нужно внести небольшую правку в код конфигурации.
Открываем "Модуль управляемого приложения"
Находим функцию "ПриНачалеРаботыСистемы()" и в ее конец добавляем:
ПопыткаВсе, теперь при старте системы будет проверяться передаваемый параметр и открываться соответствующий объект.
Если ЗначениеЗаполнено(ПараметрЗапуска) Тогда
ПерейтиПоНавигационнойСсылке(СтрЗаменить(ПараметрЗапуска, "e1cb://", ""));
КонецЕсли;
Исключение
КонецПопытки;