Способы получения/передачи ссылки на документ в программе 1С
1. Копирование ссылки на документ (журнал или любой объект программы 1С).
Для обмена между коллегами, работающими в одной информационной базе, данными по документам в программе 1С существует способ получения/передачи ссылки на документ.
Вместо того, чтобы сообщать коллеге наименование документа, его номер и дату, можно просто отправить ссылку на документ.
Как это сделать: открываем документ, который необходимо посмотреть коллеге, см. рисунок ниже.
Далее нажимаем кнопку в правом верхнем окне программы (выделено красным).


или заходим через главное меню – Сервис – Получить ссылку:

Затем появляется ссылка на документ:

Мы ее копируем и отправляем коллеге письмом или другим способом, которым Вы общаетесь с коллегами.
Также получить ссылку на документ в программе можно с помощью горячих клавиш Ctrl+F11.
2. Открытие документа при помощи ссылки на документ:
После получения ссылки на документ, коллега может его открыть следующими способами:
1. В правом верхнем углу окна программы нажать кнопку «Перейти по ссылке» (см. ниже).

Далее в появившемся окне вставляем присланную ссылку на документ:

И нажимаем кнопку «Перейти», после чего откроется требуемый документ.

2. Перейти по ссылке можно и другими способами: через главное меню – сервис – перейти по ссылке.
3. С помощью горячих клавиш Shift+F11.
Для обмена между коллегами, работающими в одной информационной базе, данными по документам в программе 1С существует способ получения/передачи ссылки на документ.
Ниже приведены примеры, как можно получить ссылку на документ и открыть документ при помощи ссылки:

Открывая документ и нажимая на кнопку «Получить ссылку», копируем ссылку в появившейся форме и отправляем коллеге для просмотра.
Коллега, получая ссылку, нажимает кнопку «Перейти по ссылке», в открывшейся форме вводит полученную ссылку и открывает документ по кнопке «Перейти».
Как в 1с открыть ссылку на документ
В статье будет описано, как в 1с открыть ссылку на документ, справочник и т.д. В данном случае имеется в виду открытие формы объекта, используя ссылку на него. Рассмотрим три способа решения поставленной задачи.
Открыть ссылку используя ПоказатьЗначение
Самый простой способ, использовать метод глобального контекста ПоказатьЗначение. Который показывает в диалоге значение переданное в параметре.
ПоказатьЗначение(, )
В параметр Значение передадим ссылку, которую необходимо открыть. Данный метод является ассинхронным, т.е. не ожидает закрытие указанного значения. Для целей ожидания и обработки закрытого значения, в процедуре существует первый параметр. Но для нашей задачи он не нужен и указывать его не следует.
Таким образом открытие ссылки будет выглядеть следующим образом:
ПоказатьЗначение(, Ссылка);
Если в вашей конфигурации разрешено открытие модальных окон (Свойства конфигурации -> Режим использования модальности, принимает значения Использовать или Использовать с предупреждениями), то можно использовать метод ОткрытьЗначение.
ОткрытьЗначение()
Открытие формы по ссылке
Также в 1с открыть ссылку можно при помощи метода ОткрытьФорму. Этот способ более сложен в реализации, но зато универсален. У него довольно много параметров, но для данной задачи нас интересуют первые два.
ОткрытьФорму(, )
ИмяФормы — в параметре следует указать полный путь к форме, которую вы собираетесь открыть.
Пример 1. Можно указать форму, которая является формой объекта по умолчанию:
"Документ.ПоступлениеТоваров.ФормаОбъекта"
Пример 2. Либо указать имя конкретной формы, которую вы хотите открыть. Если, например, форм объекта несколько.
"Документ.ПоступлениеТоваров.Форма.МояФормаОбъекта"
Параметры — структура параметров, которая передается в форму. Набор параметров разработчик выбирает сам, исходя их своих целей. Но некоторые параметры являются стандартными и используются для конкретных целей. Например, параметр Ключ, используется для указания платформе, форму какого объекта следует открыть (если Ключ, не указан, то будет открыта форма нового объекта). Таким образом в данный параметр необходимо передать ссылку на открываемый объект.
Пример 3. Открыть форму объекта для документа Поступление товаров.
ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("Ключ", Ссылка); ОткрытьФорму("Документ.ПоступлениеТоваров.ФормаОбъекта", ПараметрыФормы);
Получить более подробную информацию по методу ОткрытьФорму можно в статье Как в 1с открыть форму программно
Открытие формы по навигационной ссылке
Если у вас есть навигационная ссылка на документ или справочник, перейти по ней и открыть форму объекта можно, используя метод ПерейтиПоНавигационнойСсылке.
ПерейтиПоНавигационнойСсылке()
НавигационнаяСсылка = "e1cib/data/Документ._ДемоПоступлениеТоваров?ref=acb79eb068770e2511e47c89f0b33406"; ПерейтиПоНавигационнойСсылке(НавигационнаяСсылка);
Также навигационную ссылку можно получить из обычной ссылки. Для этого используется метод ПолучитьНавигационнуюСсылку.
ПолучитьНавигационнуюСсылку(, , )
В параметр Объект, в том числе, можно передать ссылку на документ или справочник.
Пример 5. Получить навигационную ссылку, используя обычную ссылку и открыть форму объекта.
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Ссылка); ПерейтиПоНавигационнойСсылке(НавигационнаяСсылка);
Открытие внешних ссылок на объект 1С с помощью тонкого клиента
Ежедневно работающие в 1С коллеги не дадут соврать, что часто сталкиваемся с ситуацией, когда необходимо из браузера или почты быстро открыть документ в 1С и не в браузере, а именно в тонком или толстом клиенте. Например, согласовываем какой-то документ и хотим уведомить подписанта о том, что необходимо поставить автограф в соответствующем бланке. Следовательно, подписывающему сотруднику отправляем письмо на почту в виде напоминания. Получатель открывает уведомление и видит, что все ждут, когда появится его подпись на согласованном документе. Сразу приходится открывать тонкий клиент 1С, искать этот документ, в котором нужно поставить галочку, ставить и закрывать 1С. Согласитесь, это очень неудобно и отнимает время, которого и так не хватает. Но хочу обрадовать читателей этой статьи, выход есть! Мы в компании используем собственно разработанную программу Управление IT-отделом 8 для решения задач клиентов. Зачастую программа находится в закрытом состоянии и дабы не столкнуться с ситуацией, описанной в примере, было принято решение облегчить процесс открывания объектов базы из электронной почты одним щелчком мыши. Как известно лень – это двигатель прогресса, а программисты люди ленивые и хотят жить проще. Поэтому перейдем к разбору и покажем, как мы открываем задания (тикеты) в тонком клиенте 1С, но не ищем их, когда приходит уведомление на почту, а щелкаем по на объект 1С.
Настройка конфигурации для открытия внешних ссылок
Сразу оговорюсь, что данный способ открытия внешних ссылок объектов базы в тонком клиенте можно использовать только в конфигурациях, работающих на платформе 1С:Предприятие 8.3.. Это связано с тем, что только в этой версии поддерживается возможность работы с командной строкой. Ближе к делу, первым делом настроим саму программу, для этого запускаем конфигурацию и переходим в раздел «Администрирование» — «Общие настройки» и раскроем подраздел «Публикация информационной базы». В данном подразделе доступны для заполнения два реквизита:
- Адрес в интернете – это адрес, который используется для формирования ссылок на объекты информационной базы, доступных через публикацию в сети интернет. Другими словами, в данном реквизите указывается адрес публикации базы на веб-сервере;
- Локальный адрес – это адрес, который используется для формирования ссылок на объекты информационной базы, доступных через публикацию в локальной сети.
Как видим, оба реквизита формируют ссылки на объекты, но сформированные ссылки имеют между собой существенные отличия. Позже в этом убедимся. Так, о чем это мы, ах, да перейдем к заполнению. Читающие эту публикацию наверняка уже опубликовали базу на веб-сервере, но если этого еще не случилось, то рекомендую ознакомиться с инструкцией и опубликовать базу, а после вернуться и продолжить. Сейчас поймете зачем. В реквизите «Адрес в интернете» указываем ссылку публикации вида:http://192.168.1.87/название_базы(опубликованной).Предположу, что этот адрес указан ранее, так как скорее всего база была уже опубликована и настроены прочие http-сервисы. Этот адрес будет использоваться для формирования ссылок в формате http, которые выглядят следующим образом: http://192.168.1.87/название_базы#e1cib/data/Документ.Задание?ref=9d3d2c4d54d87a9511eaa406f1917f8. .. При нажатии на данную ссылку откроется необходимый документ в веб-интерфейсе программы (через браузер). Однако разговор идет об открытии документов в тонком или толстом клиенте. Все верно, но ссылка на веб-интерфейс также необходима для тех случаев, когда не можем «дотянуться» до локальной сети, где расположена база. К слову, таким способом удобно пользоваться клиентам, которые хотят открывать документ из входящего письма. Теперь плавно переходим к теме публикации и приступим к заполнению реквизита «Локальный адрес».
Адрес файловой базы
Если Вы используете и настраиваете файловую базу, то в таком случае вводим адрес вида: e1c://filev/D/Base/uit. Расшифровка этого адреса выглядит так: e1c://обозначение файловой базы (filev)/полный путь к каталогу базы. Сформированная ссылка данным способом будет выглядеть: e1c://filev/D/Base/uit_hran#e1cib/data/Документ.Задание?ref=ab8e1378cd42059c4f33f1d2ed0b67ff.
Адрес серверной базы
В случае, если используете серверный вариант, тогда необходимо ввести адрес: e1c://адрес_сервера/имя_сервера/название_базы. Итоговая ссылка для серверных баз будет выглядеть: e1c://192.168.1.87/server (название сервера)/uit_base#e1cib/data/Документ.Задание?ref=ab8e1378cd42059c4f33f1d2ed0b67ff.
Далее перейдем к настройкам шаблонов оповещений, в которых и будут формироваться ссылки на открытие объектов информационной базы в тонком\толстом клиенте или в веб-интерфейсе. Открываем раздел «Справочники» и открываем форму списка «Шаблоны сообщений». Например, хотим быстро открывать задания по ссылке из уведомления, которые приходят при создании нового задания. Для этого переходим в настройки предопределенного шаблона сообщения «Шаблон сообщения e-mail для нового задания (для исполнителя)». В данном шаблоне по умолчанию уже имеется параметр «[Задание.ВнешняяСсылкаНаОбъект]». Этот параметр формирует ссылку на открывание документа в веб-интерфейсе, а для формирования ссылки используется адрес, указанный ранее в реквизите «Адрес в интернете». Нужно добавить еще один параметр «[Задание.ЛокальнаяСсылкаНаОбъект]», который будет формировать ссылку на открывание документа в тонком или толстом клиенте. Данная ссылка создается из адреса, который указали во втором реквизите «Локальный адрес».
Настройка Windows для открытия ссылок в тонком или толстом клиенте
Таким образом, в конфигурации настраивается любой из шаблонов сообщений для отправки уведомлений по заданиям. На этом настройка конфигурации закончена, однако это еще не все. Из-за того, что ссылка на открытие объекта базы в тонком клиенте формируется, как «e1c://», что естественно никак не воспринимается операционной системой Windows. Необходимо произвести небольшие настройки и научить ОС понимать какой программой открывать ссылки на объекты 1С подобного вида. Данные настройки буду производиться в реестре Windows. Создаем обычный текстовый документ, в который вставляем следующие команды (обратите внимание, что для разных версий программы, команды файла различаются):
Вариант реестрового файла для x86 программы.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\e1c]
@=»URL:e1c»
«URL Protocol»=»e1c»
«EditFlags»=hex:02,00,00,00
[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@=»C:\\Program Files (x86)\\1cv8\\common\\1ceunt.dll,17″
[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\»»
Вариант реестрового файла для x64 программы.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\e1c]
@=»URL:e1c»
«URL Protocol»=»e1c»
«EditFlags»=hex:02,00,00,00
[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@=»C:\\Program Files\\1cv8\\common\\1ceunt.dll,17″
[HKEY_CLASSES_ROOT\e1c\shell] [HKEY_CLASSES_ROOT\e1c\shell\open]
[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@=»\»C:\\Program Files\\1cv8\\common\\1cestart.exe\» /URL \»%1\»»
Стоит отметить, перед добавлением данного файла в реестр Windows необходимо убедиться в том, что по указанному пути каталогов, находится исполняемый файл 1сestart.exe. После этого сохраняем как файл реестра. Следующий шаг, это добавление данного файла непосредственно в сам реестр Windows. Для этого запускаем редактор реестра от имени администратора, нажимаем кнопку «Файл» — «Импорт», выбираем созданный файл и нажимаем открыть (Готовые реестровый файл будет прикреплен к публикации для скачивания). В принципе настройка операционной системы Windows, да и всего механизма закончена. В завершении остается только оценить работу функционала. Спасибо за внимание, удачи и успехов.
ВНИМАНИЕ. Данный функционал будет доступен, начиная с версии 3.1.7.0.
Внешние ссылки на объекты 1с (Как открыть 1с из битрикс24)
В некоторых случаях требуется запустить 1с с автоматическим открытием определённого документа. К примеру, программно создаётся документ 1с и необходимо автоматически открыть его. Для этого необходимо выполнить команду приведённую ниже.
- СЕРВЕР — IP адрес сервера на котором работает 1с (пример. 192.168.0.1)
- КОНФА — наименование конфигурации 1с (пример. UT)
- ИД — Id документа в 1с (пример. 80dc3d2b871a973a11e4ee771f1d4b2f)
Далее, можно попробовать немного усовершенствовать пример и получить довольно интересную возможность. Можно зарегистрировать в системе схему аналогичную «ftp:» или «mailto:» — «e1c:»
[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\»»
Это даст возможность открывать документы 1с из внешних систем по ссылкам вида e1c://
