logo

[ELMA3] Формирование ссылки на объект в отчете

Пример реализации, рассмотренный в данной статье, приведен для редакции ELMA Standart.

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

select tb.Subject, tb.Executor, tb.Id from TaskBase as tb
Пусть при выводе списка задач необходимо наименование задачи представлять в виде гиперссылки, по нажатию на которую должна открываться страница этой задачи. Чтобы реализовать это, добавим в запрос новую переменную lnk, которая и будет хранить эту ссылку:
select tb.Subject, tb.Executor, tb.Id, 
(cast(’http://127.0.0.1:8000/Workflow/WorkflowTask/Execute/’ as varchar(100)) + 
cast(tb.Id as varchar(100))) as  lnk
from TaskBase as tb
Фрагмент ссылки ’http://127.0.0.1:8000/Workflow/WorkflowTask/Execute/’ является одинаковым для всех задач, после этого необходимо дописать Id задачи, приведя его к строковому типу: cast(tb.Id as varchar(100)). Сложение этих двух строковых значений в итоге даст нужную ссылку. Добавить ее на макет отчета можно, вызвав контекстное меню для нужного поля (в данном случае Subject) и выбрав пункт меню Hyperlink. Далее необходимо указать выражение, возвращающее ссылку, как показано на рисунке.rsquo;http://127.0.0.1:8000/Workflow/WorkflowTask/Execute/ Фрагмент ссылки &