Показать содержание 

Tab > Интерфейсы сборки Tab > ITabHyperlink > ITabHyperlink.Action

ITabHyperlink.Action

Синтаксис

Action: String;

Описание

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

Комментарии

Значение свойства зависит от того, какой тип действия определён в свойстве ActionType:

Действие Значение свойства
Открыть файла Путь и наименование файла, который будет открыт, например: "C:\Image.jpg".

Примечание. Поддерживается только в настольном приложении.

Открыть ссылку URL-адрес, который необходимо открыть, например: "https://www.example.com".
Открыть лист отчёта Адрес активируемого листа, например: "=Лист2".
Показать диапазон ячеек Адрес ячейки, диапазона или составного диапазона, на котором будет осуществлено позиционирование. Если адрес находится за пределами видимости, то осуществляется прокрутка страницы и центрирование в области диапазона. Пример:
"=A10"
"=D0:F5"
"=a0:b3;d0:f3"
Показать объект в центре экрана Наименование листа и идентификатор объекта, расположенного на листе, в следующем формате: "#Лист!Объект". Пример: "#Лист2!PrxChart1".
Открыть объекта репозитория Идентификатор объекта с префиксом '@', например: "@STD_DIM".
Открыть объекта репозитория с передачей параметров Идентификатор объекта с префиксом '@' и список значений параметров. Параметры объекта передаются в круглых скобках в виде конструкции <идентификатор параметра>=<значение параметра> и отделяются друг от друга точкой с запятой. Параметр может принимать единичное или множественное значение. Множественное значение указывается в квадратных скобках в виде массива.
Пример единичных значений параметров:
"@STD_DIM(P_STRING=a;P_INT=1;P_FLOAT=0.01;P_DATE=09.02.2021 00:00:00)"
Пример множественных значений параметров:
"@STD_DIM(P_STRING=[a,b];P_INT=[1,2];P_FLOAT=[0.01,0.02];P_DATE=[09.02.2021 00:00:00,10.02.2021 00:00:00])"
Выполнить процедуру/функцию В качестве значения в специальном формате указывается выполняемый Fore-метод и/или js-функция. Если в настольном приложении указать Fore-метод и js-функцию, то дальнейшее поведение зависит от того, где будет осуществляться работа с таблицей:
  • при работе в настольном приложении - по гиперссылке выполняется Fore-функция;
  • при работе в веб-приложении - по гиперссылке выполняется JavaScript-функция. Одновременный вызов и Fore-метод и js-функции не производится.
Если указана только js-функция, то гиперссылка будет работать только в веб-приложении.
Формат вызова, указываемый в свойстве Action:
  • для вызова Fore-функции: fore:<идентификатор модуля/формы/сборки.наименование метода>;
  • для вызова js-функции: javascript:<имя функции()>.
Префиксы fore/javascript и угловые скобки являются обязательными. Если требуется указать Fore-метод и js-функцию одновременно, то значения разделяются между собой точкой с запятой. Fore-метод должен быть реализован в глобальном пространстве имён указываемого модуля/формы/сборки.
Пример значения свойства Action для вызова различных функций:
  • fore:<M_MODULE.TestFunction>
  • javascript:<TestJSFunction()>
  • fore:<M_MODULE.TestFunction>;javascript:<TestJSFunction()>
Выполняемые методы/функции могут иметь параметры. Значения параметров указываются в круглых скобках через запятую, например: fore:<M_MODULE.TestParamFunction(100, A)>.

Примечание. Указание ссылок на элементы таблицы для передачи их значений в метод/функцию не поддерживается.

Для получения подробной информации о сигнатуре и подключении js-функции к регламентному отчёту или форме ввода обратитесь к разделу «Подключение пользовательской js-функции к отчёту».

Пример

Для выполнения примера в репозитории предполагается наличие регламентного отчёта с идентификатором REGULAR_REPORT. В отчёте создано несколько листов, среди которых имеется лист с наименованием - Данные.

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

Sub UserProc;
Var
    MB: IMetabase;
    Report: IPrxReport;
    Tab: ITabSheet;
    Range: ITabRange;
    Hyperlink: ITabHyperlink;
Begin
    MB := MetabaseClass.Active;
    Report := MB.ItemById("REGULAR_REPORT").Edit As IPrxReport;
    Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
    Range := Tab.ParseCell("A0");
    Hyperlink := Range.Style.Hyperlink;
    Hyperlink.Action := "=Данные";
    Hyperlink.ActionType := TabHyperlinkActionType.GoToSheet;
    Hyperlink.Enable := TriState.OnOption;
    Hyperlink.SeparateLinkText := TriState.OnOption;
    Hyperlink.Text := "Перейти к данным";
    (Report As IMetabaseObject).Save;
End Sub UserProc;

При выполнении примера в ячейке A0 активного листа регламентного отчёта будет создан гиперссылка. По данной гиперссылке будет осуществляться переход на лист Данные.

См. также:

ITabHyperlink