Открытие объекта в 1С 8.2 и 8.3 по ссылке в тонком клиенте.

16.09.14

Разработка - Инструментарий разработчика

Очень часто в работе приходится делать рассылку оповещений с указанием в письме ссылки на какой-либо объект. Веб клиент работает не так стабильно как хотелось бы, поэтому иногда от него приходится отказаться. В данном случае есть альтернативное решение.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Файл для регистрации протокола в системе (вариант для 8.2)
.reg 0,43Kb ver:1
6
6 Скачать (1 SM) Купить за 1 850 руб.
Файл для регистрации протокола в системе (вариант для 8.3)
.reg 0,44Kb ver:1
36
36 Скачать (1 SM) Купить за 1 850 руб.
Очень часто в работе приходится делать рассылку оповещений с указанием в письме ссылки на какой-либо объект. Веб клиент работает не так стабильно как хотелось бы, поэтому иногда от него приходится отказаться. В данном случае есть альтернативное решение.

Задача состоит из 2-х подзадач
  1. Открытие тонкого клиента 1С по ссылке.
  2. Открытие заданного объекта при старте системы на стороне 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
[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С будет обработана автоматически, однако этот параметр появился только в 8.3

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

Открываем "Модуль управляемого приложения"

Находим функцию "ПриНачалеРаботыСистемы()" и в ее конец добавляем:

	 Попытка           
    Если ЗначениеЗаполнено(ПараметрЗапуска) Тогда
       ПерейтиПоНавигационнойСсылке(СтрЗаменить(ПараметрЗапуска, "e1cb://", ""));
    КонецЕсли;
Исключение
КонецПопытки;
Все, теперь при старте системы будет проверяться передаваемый параметр и открываться соответствующий объект.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    172016    964    403    

924

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14509    109    46    

108

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

9360 руб.

17.05.2024    27340    96    48    

138

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11948    45    33    

67

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191327    1153    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18108    7    32    

42

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1148    2    0    

5

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    104131    244    100    

307
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mikhailovaew 127 18.09.14 12:53 Сейчас в теме
а если база уже открыта, в ней работают, и тут пришло письмо со ссылкой, то что? будет открыт еще один экземпляр базы? хотелось бы, чтобы открылся объект по ссылке в уже открытом экземпляре
5. OstHusky 32 24.02.15 13:49 Сейчас в теме
(1) mikhailovaew, будет открыта отдельная база. Чтобы сделать открытие в существующей базе, я вижу единственный вариант - это делать свою внешнюю подключаемую компоненту, которая будет реализовывать на Си взаимодействие через механизмы разделения памяти операционной системы(мьютексы или именованные каналы) между запущенными процессами, что слишком трудозатратно по сравнению с полученным преимуществом.
2. Puk2 190 10.02.15 13:25 Сейчас в теме
т.е. при использовании данного метода можно сделать автоматический запуск только одной базы? К сожалению, нет прав админа, что бы проверить.
4. OstHusky 32 24.02.15 13:46 Сейчас в теме
(2) Puk2, Для того, чтобы организовать запуск разных баз, для каждой нужно сделать по отдельному протоколу(например e1cb2, e1cb3, e1cb4), и соответственно отдельному файлику реестра. И в ссылке указывать протокол нужной базы.
9. l4h 19.06.19 18:12 Сейчас в теме
(4)Есть два типа ссылок: внутренняя и внешняя, ту что описывает автор это внутренняя(в самой ссылке не указывается база данных) и есть внешняя она принимает вид: e1cb://filev/C/bases/Demo#e1cib/data/Документ.бит_ПроектДоговора?ref=80cc00505681538311e43a7255c2162a со всеми вытекающими.
3. AllexSoft 10.02.15 13:31 Сейчас в теме
Полезная штука, плюс! Хотя 1С вроде обещало что сделает такое на уровне платформы..
6. severnyj 29.06.15 13:25 Сейчас в теме
Вроде бы если сделать немного по-другому, то никакие пути к базам прописывать не надо, все открывается хорошо в уже открытом окне с базой 1с...
http://infostart.ru/public/293871/
SagittariusA; seregasame; +2 Ответить
7. newgluk 90 09.08.15 15:09 Сейчас в теме
как оформляете ссылку в тексте рассылки? у меня в письме просто текст (типа e1cib/data/Задача.ЗадачаИсполнителя?ref=94276cae8b4eeaf411e52a15958a1a5f) . если не трудно, покажите пример.
8. OstHusky 32 19.08.15 00:26 Сейчас в теме
Ссылка должна начинаться на e1cb://, а так же письмо должно быть в формате HTML
10. user717534 11 28.10.21 13:05 Сейчас в теме
https://its.1c.ru/db/v838doc#bookmark:dev:TI000001216 Здесь написано что ссылка должна начинаться на e1c:// - а не на e1cb://
Оставьте свое сообщение