18 сент. 2012 г.

Обработка расшифровки ссылки на сайт в СКД

Просматривая статистику запросов, по которым зашли на мой блог, я обратил внимание на следующий "ссылка в своем макете скд". Предположив, что интересует открытие web-ссылки, выведенной в табличный документ при помощи СКД, я набросал следующий пример отчета (ссылка на файл конфигурации в конце документа).

Допустим, у нас в справочнике Контрагенты есть поле "Сайт". Создаем простой запрос в СКД:
ВЫБРАТЬ
 Контрагенты.Ссылка,
 Контрагенты.Сайт
ИЗ
 Справочник.Контрагенты КАК Контрагенты 
Задаем имя для детальных записей, например "Детали".

Настраиваем свой макет, добавляем макет группировки для детальных записей

Прописываем параметры полей, устанавливаем параметр расшифровки для параметра "Сайт".

Теперь создаем форму отчета, в процедуре обработки расшифровки табличного документа модуля формы (в моем случае это РезультатОбработкаРасшифровки) пишем следующее:
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
 
 
 Если Найти(Расшифровка, "http://") > 0 ИЛИ Найти(Расшифровка, "www.") > 0 Тогда
  СтандартнаяОбработка = Ложь;
  ЗапуститьПриложение(Расшифровка);
 КонецЕсли;
 
КонецПроцедуры
 
Готово, переходим в режим предприятия, запускаем наш отчет. При выборе ссылки должен запуститься браузер и открыть нашу страницу.
Тестовая конфигурация

2 комментария:

  1. А можно вывести в виде гиперссылки? Чтобы открывалось по одинарному клику? Особенно интересно если это будет не вэб ссылка, а заданный текст, клик по которому будет обрабатываться программно

    ОтветитьУдалить
    Ответы
    1. Можно, у ячейки есть свойство Гиперссылка. А отображение и значение ссылки можно задать, используя свойства Параметр и ПараметрРасшифровки.

      Удалить