ITabHyperlink.Action

Синтаксис

Action: String;

Описание

Свойство Action определяет действие, производимое при срабатывании гиперссылки.

Действие Пример значения свойства
Открытие файла "C:\Image.jpg"
Будет открыт указанный файл.
Открытие ссылки "http://www.example.com"
Будет открыт указанный адрес.
Открытие листа отчета "=Лист2"
Будет осуществлен переход на заданный лист отчета.
Отображение диапазона ячеек "=a0:b3;d0:f3"
Будет осуществлено позиционирование на указанном диапазоне.
Отображение объекта в центре экрана "#Лист2!PrxChart1"
Будет осуществлено позиционирование на диаграмме, которая расположена на втором листе отчета.
Открытие объекта репозитория "@Dim"
Будет открыт объект с идентификатором «Dim».
Открытие объекта репозитория с передачей параметров "@Dim(STRING=a;INT=1;FLOAT=0.01;DATE=09.02.2021 00:00:00)"
Будет открыт объект с идентификатором «Dim» и указанными параметрами.
Параметры объекта передаются в круглых скобках в виде конструкции <идентификатор параметра>=<значение параметра> и отделяются друг от друга точкой с запятой. Значение параметра может принимать единичное и множественное значение. Множественное значение указывается в квадратных скобках в виде массива: "@Dim(STRING=[q,e];INT=[1,2];FLOAT=[0.01,0.02];DATE=[09.02.2021 00:00:00,10.02.2021 00:00:00])"
Выполнение процедуры/функции В зависимости от того где находится реализация макроса, различается способ указания пути к макросу в данном свойстве:
  • Макрос реализован в модуле/форме репозитория: <идентификатор модуля/формы>.<наименование макроса>;

  • Макрос реализован в одном из объектов сборки репозитория: <идентификатор сборки>.<наименование макроса>.

В макросе могут быть одновременно указаны JS-функция и Fore-функция. При этом JS-функция будет выполнятся только при просмотре в веб-приложении, а Fore-функция только при просмотре в настольном приложении «Форсайт. Аналитическая платформа»:

  • Fore: <OBJ3331.MyFunc>. В настольном приложении будет выполнена функция «MyFunc», содержащаяся в модуле с идентификатором «OBJ3331»;

  • Javascript: <alert("Функция JavaScript")>. В веб-приложении будет выполнена JS-функция, выводящая сообщение «Функция JavaScript».

Сигнатура js-функции:

function <Наименование функции>(пользовательские параметры, args)

{

}

Пример функции:

function testHyperlink(type, args)

{

debugger;

console.log(type);

console.log(args);

}

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

  • Report. Параметр для управления отчётом;

  • DataEntryForm. Параметр для управления формой ввода;

  • DataArea. Параметр для управления табличной областью.

Пример функции при использовании в форме ввода:

function addAttachmentsTB(row, col, args)

{

           var rep = args.Report

           var da = args.DataArea

           var grid = da.getGridView();

           var tabSheet = grid.getTabSheet();

           var tabSheetRange = tabSheet.getCell(row, col);

           attachFile(da, tabSheetRange);

}

В модулях/формах репозитория реализация пользовательских макросов должна производиться в глобальном пространстве имен (Global Scope).

Пример

В рассматриваемом примере предполагается существование объекта Report типа IPrxReport.

Добавьте ссылки на системные сборки: Report, Tab.

Sub UserProc;
Var
    Rep: IPrxReport;
    Tab: ITabSheet;
    Range: ITabRange;
    Hyperlink: ITabHyperlink;
Begin
    Tab := Rep.ActiveSheet.Table;
    Range := Tab.Cell(
00);
    Hyperlink := Range.Style.Hyperlink;
    Hyperlink.Action := 
"=Лист2";
    Hyperlink.Enable := TriState.OnOption;
    Hyperlink.SeparateLinkText := TriState.OnOption;
    Hyperlink.Text := 
"Перейти на Лист2";
End Sub UserProc;

После выполнения примера в ячейке «А0» регламентного отчета будет создана гиперссылка с текстом «Перейти на Лист2», при нажатии на которую будет осуществляться переход на «Лист2».

См. также:

ITabHyperlink