8.х Создание навигационной ссылки

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Persempre, 8 апр 2014.

  1. TopicStarter Overlay
    Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    Добрый день. При создании задач в Документообороте хотел бы чтоб приходило письмо со ссылкой при клике на которую можно было бы открыть нужный док. Всё бы ничего но когда приходит ссылка 192.168.1.100/docmen//#e1cib/data/Задача.ЗадачаИсполнителя?ref=9d1f9c8e994cc20711e3bedeb2ba4fa0
    естественно ничего не открывается, почему-то начиная с Задача это уже не ссылка... и как побороть что-то не пойму. Подскажите пож-та коллеги, заранее спасибо

    и да... если формирую вот так:
    НавСсылка = ПолучитьНавигационнуюСсылку(ИсточникСсылки);
    НавСсылка = "192.168.1.100/docmen/" + "/#" + НавСсылка;
    если явно не указывать строку с ip и базой то выдает ссылку иного типа: e1c://server/...
    запуск происходит в режиме тонкого клиента.
  2. TopicStarter Overlay
    Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    Проблема была в кодировках. Кому интересно расскажу. Веб браузер не умеет читать русские символы. Перекодировал то, что русским и всё взлетело
  3. Svb
    Online

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Интересно, конечно. Расскажите, всё )
  4. TopicStarter Overlay
    Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    В общем сначала выдаётся ссылка вида: 192.168.1.100/docmen//#e1cib/data/Задача.ЗадачаИсполнителя?ref=9d1f9c8e994cc20711e3bedeb2ba4fa0
    И как видно, первую часть видим в виде ссылки а вторую просто в виде текста, можно конечно руками копипастом всё делать, скопировав полную ссылку и вставив в окно браузера, но разве пользователь будет это делать...
    После некоторых размышлений начал пеперисывать функцию возвращающую ссылку, вставил туда <a href = ' НашаСсылка ' > Представление ссылки </a> но в таком же виде оно и выводилось
    <a href = ' 192.168.1.100/docmen//#e1cib/data/Задача.ЗадачаИсполнителя?ref=9d1f9c8e994cc20711e3bedeb2ba4fa0 ' > Представление ссылки </a>
    и ничего не поделаешь. Наверное если бы использовали почтовый клиент типа outlook то вопросов бы не возникало, но используется веб-браузер.
    И тут до меня дошло, что веб почему-то не понимает русского языка. И собственно всё решение проблемы. Тк Задача.ЗадачаИсполнителя будет всегда, то скачал самую новую платформу в которой есть встроенная функция КодироватьСтроку() - закодировал в UTF-8 и сделал константу такого вида:
    "http://192.168.1.100/docmen/#e1cib/data/ %D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0.%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8F ?ref="

    где %D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0.%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8F это как раз Задача.ЗадачаИсполнителя
    после этого осталось сгенерить 9d1f9c8e994cc20711e3bedeb2ba4fa0 - а это не гуид совсем. и функция Прав(ПолучитьНавигационнуюСсылку(Задача),32) (а именно 32 символа там) добрасывает недостающие данные.
    Топорно, коряво, но работает, генерирует рабочую ссылку. Единственное что ссылка показывается полностью, и как сделать так чтоб она показывалась гиперссылкой я не знаю. Вернее почему-то нет настройки отправлять письмо в виде html а не в виде текста, который не понимает <a href = ' НашаСсылка ' > Представление ссылки </a>
    Svb нравится это.
  5. Svb
    Online

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Спасибо, возьму на заметку

Поделиться этой страницей