ITabHyperlink.Action

Синтаксис

Action: String;

Action: string;

Описание

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

Действие Пример значения свойства
Открытие файла "C:\Image.jpg"
Будет открыт указанный файл.
Открытие ссылки "http://www.example.com"
Будет открыт указанный адрес.
Открытие листа отчета "=Лист2"
Будет осуществлен переход на заданный лист отчета.
Отображение диапазона ячеек "=a0:b3;d0:f3"
Будет осуществлено позиционирование на указанном диапазоне.
Отображение объекта в центре экрана "#Лист2!PrxChart1"
Будет осуществлено позиционирование на диаграмме, которая расположена на втором листе отчета.
Открытие объекта репозитория "@Dim"
Будет открыт объект с идентификатором «Dim».
Выполнение процедуры/функции В зависимости от того где находится реализация макроса, различается способ указания пути к макросу в данном свойстве:
  • Макрос реализован в модуле/форме репозитория: <идентификатор модуля/формы>.<наименование макроса>

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

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

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

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

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

В модулях/формах репозитория реализация пользовательских макросов должна производиться в глобальном пространстве имен (Global Scope).
В .NET-модулях/.NET-формах репозитория реализация пользовательских макросов должна производиться в каком-либо классе. Макрос должен представлять из себя  статическую процедуру/функцию.
"OBJ34114.MyFunction"
Будет выполнена функция «MyFunction», содержащаяся в модуле с идентификатором «OBJ34114».

Пример

В рассматриваемом примере предполагается существование объекта 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;

Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.ForeSystem;

Private 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.tsOnOption;
    Hyperlink.SeparateLinkText := TriState.tsOnOption;
    Hyperlink.Text := 
"Перейти на Лист2";
End Sub

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

См. также:

ITabHyperlink