Получить внешнюю навигационную ссылку

1. mymyka 09.10.12 10:26 Сейчас в теме
Вообщем сабж. База опубликована на веб-сервере, делаем оповещение через почту о новых задачах. В тело письма хотелось бы добавить внешнюю ссылку на задачу. Проблема в том, что конструкция ПолучитьНавигационнуюСсылкуИнформационнойБазы() в клиент-сервере возвращает что-то вроде "e1c://server/rphost/имя_базы", а нужно "http://имя_сервера/имя_базы/локаль/". Прибить адрес гвоздями или завести константу не вариант, база не одна, да и права на константу не охота обновлять постоянно.
Вопрос в том, как ПолучитьНавигационнуюСсылкуИнформационнойБазы() будьто находимся на &ВебКлиент?
Есть встроенная форма получения навигационной ссылки с возможностью преобразовать ее во внешнюю, но я что-то такой формы в конфе не нашел, мб плохо искал, мб она вшита в само ядро.
mayit@mail.ru; +1 Ответить
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
5. Skromnyi 13 09.10.12 13:47 Сейчас в теме
Алексей Гаврилов
Добрый день!
Возможно-ли вообще такое:
При поступлении уведомления на почту, что-бы там была не просто ссылка на документ, а что-то типа гиперссылки, что-бы можно было нажать на нее и сразу перейти в программу к этому документу?
Мне нравится · · Отменить подписку на обновления публикации · 6 сентябрь в 15:04
2 пользователям это нравится

Дарья Колганова хороший вопрос, а что получается что почтовый клиент должен будет запускать клиент 1С?
7 сентябрь в 0:19 · Мне нравится

Андрей Кононученко тут http://infostart.ru/public/143405/ и тут http://www.delo-press.ru/articles.php?n=5447
7 сентябрь в 8:48 · Мне нравится · 1

Александр Лебедев Надо чтобы запускался не клиент 1С а веб браузер с 1С это более реально. Именно так реализовано в документообороте Naudoc
7 сентябрь в 9:09 · Мне нравится

Алексей Гаврилов Попробую немного дополнить:
Вот так Приходит уведомление на почту:
Ссылка: e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c29

Если в программе нажать "Получить ссылку...." (не зависит от вида клиента):
e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13

При "Получить ссылку... " при нажатой кнопке "Внешняя" (при запуске под тонким клиентом):
e1c://filev/F/1C_Base/1C/DocMngCorpTest#e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13

При "Получить ссылку... " при нажатой кнопке "Внешняя" (при запуске под Web-клиентом):
http://localhost/DocMngCorpTest/#e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13

Необходимо, что-бы уведомление приходило в виде гиперссылки, как в последнем варианте
7 сентябрь в 9:24 · Отредактировано · Мне нравится

Алексей Гаврилов Да, совершенно верно Александр, что-бы запускался веб-браузер и открывалась опубликованная база
7 сентябрь в 9:28 · Мне нравится

Валерий Цихоня Коллеги, если кто скачал файл с http://infostart.ru/public/143405/, выложите пожалуйста.
7 сентябрь в 9:35 · Мне нравится

Сергей Леконцев Делали такую доработку на проекте. Была создана константа "Адрес веб-сервера 1С", содержимым которой дополнялась ссылка. Получившееся значение добавлялось в тело уведомления вместо стандартной строки.
8 сентябрь в 15:48 · Мне нравится

Алексей Гаврилов Сергей, а можно чуть поподробней и можно ли это сделать используя бизнесс-процессы или обязательно надо вносить изменения в конфигуратор?
8 сентябрь в 16:11 · Мне нравится

Сергей Леконцев конфигуратор менять придется, т.к. корректируем стандартную обработку отправки уведомлений.
8 сентябрь в 16:21 · Мне нравится

Алексей Гаврилов а примерный код нельзя посмотреть?
8 сентябрь в 16:27 · Мне нравится

Сергей Леконцев Код примитивный. В общем модуле.БизнесПроцессыИЗадачиВызовСервера пишем вместо стандартной строки следующее: Если ЗначениеЗаполнено(Константы.АдресВебСервера.Получить()) Тогда
НавигационнаяСсылка = СокрЛП(Константы.АдресВебСервера.Получить())+"/#"+ПолучитьНавигационнуюСсылку(ЗадачаСтруктура.Ссылка);
Иначе
НавигационнаяСсылка =ПолучитьНавигационнуюСсылкуИнформационнойБазы()+"/#"+ПолучитьНавигационнуюСсылку(ЗадачаСтруктура.Ссылка);
КонецЕсли;
8 сентябрь в 16:33 · Отредактировано · Мне нравится · 2

Алексей Гаврилов Спасибо большое!
8 сентябрь в 16:33 · Мне нравится

Алексей Гаврилов Все получилось, но возникла одна маленькая заминка: при открытии письма в Lotus Notes ссылка не отображается как гиперссылка из-за русских слов в теле ссылки.
14 сентябрь в 11:39 · Мне нравится

Сергей Леконцев А откуда у вас там русские слова оказались?
14 сентябрь в 13:55 · Мне нравится

Алексей Гаврилов Справочник.ВнутренниеДокументы вот это в составе ссылки
14 сентябрь в 14:05 · Мне нравится

Алексей Гаврилов http://localhost/DocMngCorpTest/#e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13
14 сентябрь в 14:08 · Мне нравится

Сергей Леконцев а. ну да, точно. Попробуйсте в самом лотусе создть различные варианты ссылок с русскими именами, может что-то получится "нащупать"
14 сентябрь в 14:12 · Мне нравится

Алексей Гаврилов есть там возможность принудительного создания ссылки вручную и тогда он вполне себе нормально начинает понимать эту ссылку, но как этот механизм работает и как его увязать с уведомлением что приходит на почту увы не знаю
14 сентябрь в 14:20 · Мне нравится

Валерий Цихоня Сергей, а подскажите пожалуйста, в какую процедуру модуля вносить указанные вами изменения?
3 октября в 15:16 · Мне нравится

Сергей Леконцев ОбщийМодуль.БизнесПроцессыИЗадачиВызовСервера
3 октября в 15:36 · Мне нравится

Валерий Цихоня А в какой процедуре или функции Вы делали изменения?
3 октября в 15:37 · Мне нравится

Сергей Леконцев Прошу прощения, невнимательно прочитал. СформироватьПредставлениеЗадачи(ЗадачаСтруктура). Там видимо в последних релизах код процедуры немного изменился, поэтому предыдущий код нужно немного подработать напильником
3 октября в 15:47 · Мне нравится

Валерий Цихоня А можно как-то сделать так, чтобы не открывался новый сеанс 1С в веб-браузере при переходе по ссылке, а просто новое окно открывалось?
Divedition; loza-vc; Danila-Master; RenatKa; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
18. пользователь 26.10.23 05:29
Сообщение было скрыто модератором.
...
2. mymyka 09.10.12 11:44 Сейчас в теме
что? никто не сталкивался с механизмом генерации навигационных ссылок? (
3. Skromnyi 13 09.10.12 13:01 Сейчас в теме
4. mymyka 09.10.12 13:26 Сейчас в теме
А можно копипасту ответа или краткую суть? Просто фейсбук на работе заблокирован.
5. Skromnyi 13 09.10.12 13:47 Сейчас в теме
Алексей Гаврилов
Добрый день!
Возможно-ли вообще такое:
При поступлении уведомления на почту, что-бы там была не просто ссылка на документ, а что-то типа гиперссылки, что-бы можно было нажать на нее и сразу перейти в программу к этому документу?
Мне нравится · · Отменить подписку на обновления публикации · 6 сентябрь в 15:04
2 пользователям это нравится

Дарья Колганова хороший вопрос, а что получается что почтовый клиент должен будет запускать клиент 1С?
7 сентябрь в 0:19 · Мне нравится

Андрей Кононученко тут http://infostart.ru/public/143405/ и тут http://www.delo-press.ru/articles.php?n=5447
7 сентябрь в 8:48 · Мне нравится · 1

Александр Лебедев Надо чтобы запускался не клиент 1С а веб браузер с 1С это более реально. Именно так реализовано в документообороте Naudoc
7 сентябрь в 9:09 · Мне нравится

Алексей Гаврилов Попробую немного дополнить:
Вот так Приходит уведомление на почту:
Ссылка: e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c29

Если в программе нажать "Получить ссылку...." (не зависит от вида клиента):
e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13

При "Получить ссылку... " при нажатой кнопке "Внешняя" (при запуске под тонким клиентом):
e1c://filev/F/1C_Base/1C/DocMngCorpTest#e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13

При "Получить ссылку... " при нажатой кнопке "Внешняя" (при запуске под Web-клиентом):
http://localhost/DocMngCorpTest/#e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13

Необходимо, что-бы уведомление приходило в виде гиперссылки, как в последнем варианте
7 сентябрь в 9:24 · Отредактировано · Мне нравится

Алексей Гаврилов Да, совершенно верно Александр, что-бы запускался веб-браузер и открывалась опубликованная база
7 сентябрь в 9:28 · Мне нравится

Валерий Цихоня Коллеги, если кто скачал файл с http://infostart.ru/public/143405/, выложите пожалуйста.
7 сентябрь в 9:35 · Мне нравится

Сергей Леконцев Делали такую доработку на проекте. Была создана константа "Адрес веб-сервера 1С", содержимым которой дополнялась ссылка. Получившееся значение добавлялось в тело уведомления вместо стандартной строки.
8 сентябрь в 15:48 · Мне нравится

Алексей Гаврилов Сергей, а можно чуть поподробней и можно ли это сделать используя бизнесс-процессы или обязательно надо вносить изменения в конфигуратор?
8 сентябрь в 16:11 · Мне нравится

Сергей Леконцев конфигуратор менять придется, т.к. корректируем стандартную обработку отправки уведомлений.
8 сентябрь в 16:21 · Мне нравится

Алексей Гаврилов а примерный код нельзя посмотреть?
8 сентябрь в 16:27 · Мне нравится

Сергей Леконцев Код примитивный. В общем модуле.БизнесПроцессыИЗадачиВызовСервера пишем вместо стандартной строки следующее: Если ЗначениеЗаполнено(Константы.АдресВебСервера.Получить()) Тогда
НавигационнаяСсылка = СокрЛП(Константы.АдресВебСервера.Получить())+"/#"+ПолучитьНавигационнуюСсылку(ЗадачаСтруктура.Ссылка);
Иначе
НавигационнаяСсылка =ПолучитьНавигационнуюСсылкуИнформационнойБазы()+"/#"+ПолучитьНавигационнуюСсылку(ЗадачаСтруктура.Ссылка);
КонецЕсли;
8 сентябрь в 16:33 · Отредактировано · Мне нравится · 2

Алексей Гаврилов Спасибо большое!
8 сентябрь в 16:33 · Мне нравится

Алексей Гаврилов Все получилось, но возникла одна маленькая заминка: при открытии письма в Lotus Notes ссылка не отображается как гиперссылка из-за русских слов в теле ссылки.
14 сентябрь в 11:39 · Мне нравится

Сергей Леконцев А откуда у вас там русские слова оказались?
14 сентябрь в 13:55 · Мне нравится

Алексей Гаврилов Справочник.ВнутренниеДокументы вот это в составе ссылки
14 сентябрь в 14:05 · Мне нравится

Алексей Гаврилов http://localhost/DocMngCorpTest/#e1cib/data/Справочник.ВнутренниеДокументы?ref=bbd1001fd05e0a3f11e1f361dab40c13
14 сентябрь в 14:08 · Мне нравится

Сергей Леконцев а. ну да, точно. Попробуйсте в самом лотусе создть различные варианты ссылок с русскими именами, может что-то получится "нащупать"
14 сентябрь в 14:12 · Мне нравится

Алексей Гаврилов есть там возможность принудительного создания ссылки вручную и тогда он вполне себе нормально начинает понимать эту ссылку, но как этот механизм работает и как его увязать с уведомлением что приходит на почту увы не знаю
14 сентябрь в 14:20 · Мне нравится

Валерий Цихоня Сергей, а подскажите пожалуйста, в какую процедуру модуля вносить указанные вами изменения?
3 октября в 15:16 · Мне нравится

Сергей Леконцев ОбщийМодуль.БизнесПроцессыИЗадачиВызовСервера
3 октября в 15:36 · Мне нравится

Валерий Цихоня А в какой процедуре или функции Вы делали изменения?
3 октября в 15:37 · Мне нравится

Сергей Леконцев Прошу прощения, невнимательно прочитал. СформироватьПредставлениеЗадачи(ЗадачаСтруктура). Там видимо в последних релизах код процедуры немного изменился, поэтому предыдущий код нужно немного подработать напильником
3 октября в 15:47 · Мне нравится

Валерий Цихоня А можно как-то сделать так, чтобы не открывался новый сеанс 1С в веб-браузере при переходе по ссылке, а просто новое окно открывалось?
Divedition; loza-vc; Danila-Master; RenatKa; +4 Ответить
6. mymyka 09.10.12 14:06 Сейчас в теме
Вообщем только через константу, печаль. Тем не менее за старания благодарю )
7. Tavalik 3409 31.07.14 10:00 Сейчас в теме
И что в итоге? Сделали через константу?
В моем случае придется делать справочник, т. к. разничные пользователи из разных сетей подключаются к базе под разными адресами.
8. Tavalik 3409 31.07.14 11:23 Сейчас в теме
Все оказалось намного проще. Есть метод:

Глобальный контекст (Global context)
ПолучитьНавигационнуюСсылкуИнформационнойБазы (GetInfoBaseURL)
Синтаксис:

ПолучитьНавигационнуюСсылкуИнформационнойБазы()

Возвращаемое значение:

Тип: Строка.

Описание:

Получает навигационную ссылку информационной базы.
Форматы сылки в зависимости от вида информационной базы:
Файловая
Если путь к файловой версии является UNC путем, то формат строка имеет следующий вид e1c://file/<UNC путь>;
Если путь к файловой версии содержит том, то формат строка имеет следующий вид - e1c://filev/<символ тома>/<остальной путь>;
Клиент-сервер
e1c://server/<имя сервера>/<имя ИБ>
Веб-сервер
http://<путь>;
https://<путь>
Эта ссылка может использоваться для создания абсолютной ссылки из относительной.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, интеграция.
9. DennyPhilord 65 10.02.15 11:46 Сейчас в теме
(8) Tavalik, в первом сообщении о ней говорилось.. Если работает регламентное задание, то только через константу похоже((
mayit@mail.ru; +1 Ответить
10. pavlmax 17.03.15 11:18 Сейчас в теме
Посмотрите релиз 1.4.8,
там были реализованы внешние ссылки в уведомлениях по почте.
11. Belua 30.03.15 06:46 Сейчас в теме
В последних релизах появилась константа Адрес публикации на сервере
mayit@mail.ru; +1 Ответить
12. merciful 16.01.16 10:20 Сейчас в теме
(11) Belua, Пожалуйста, Помогите! Перерыл весь интернет и нигде не нашел решения, как выводить в информационном письме ссылку на задачу вида http://мойвебсервер/и.т.д Где это настраивается и как????? На мой взгляд тривиальная задача, а нормально описанного решения нигде нет. Спасибо!
mayit@mail.ru; +1 Ответить
13. e2_shmidt 17.01.16 17:56 Сейчас в теме
Нужно в настройках уведомлений указать адрес веб-сервера. Настройки уведомлений находятся в Настройка программы - Общие настройки - Использовать уведомления - Настроить - Адрес публикации на веб-сервере.
jif; merciful; mayit@mail.ru; +3 Ответить
14. merciful 18.01.16 17:48 Сейчас в теме
Спасибо за помощь!
Может быть кто-нибудь подскажет как решить проблему с автозаполнением статьи ДДС в автозаполняемом шаблоне файла? Пример настройки во вложении. Скорее всего проблема с "Значением реквизита", так как если выбрать другие значения, автоподстановка в файле происходит. почему так происходит ума не приложу.
15. capitan 2507 06.08.18 16:37 Сейчас в теме
ОбщегоНазначения.АдресПубликацииИнформационнойБазыВЛокальнойСети()+"/#"+ПолучитьНавигационнуюСсылку(Документ)
Windsor77; Serg2000mr; Cmapnep; jif; +4 Ответить
16. Sergafan10 18.03.22 14:33 Сейчас в теме
(15)
Это для файлового варика. Взлетит в обоих:
ПолучитьНавигационнуюСсылкуИнформационнойБазы() + "#" + ПолучитьНавигационнуюСсылку(Ссылка);
user591389_aska_rabota; +1 Ответить
17. пользователь 24.01.23 23:00
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот