Расширение функциональности

Для запуска алгоритмов расчета, выполнения модулей, написанных на Fore, открытия объекта репозитория создайте пользовательскую кнопку.

Для использования пользовательских кнопок:

  1. Создайте алгоритм расчета, модуль Fore или объект репозитория. В качестве открываемого объекта репозитория может быть выбран: справочник, регламентный отчёт, форма ввода.

  2. Создайте пользовательскую кнопку.

  3. Примените пользовательскую кнопку.

Создание пользовательских кнопок

Для создания пользовательской кнопки используйте диалог «Добавление пользовательской кнопки»:

Для открытия диалога

Диалог состоит из области «Пользовательские операции» и области настроек кнопки.

Для создания кнопки:

  1. Нажмите кнопку «Добавить» в области «Пользовательские операции» для создания новый кнопки.

  2. Введите наименование кнопки в поле «Наименование кнопки», отражающее её функциональность. По умолчанию наименование кнопки «Пользовательская кнопка N», где N - порядковый номер кнопки.

  3. Выберите из раскрывающегося списка тип объекта: «Алгоритм расчета», «Модуль Fore» или «Открытие объекта».

  4. Загрузите пиктограмму для кнопки. Нажмите кнопку «Загрузить», в открывшемся окне выберите путь до файла пиктограммы с расширением *.png, *.jpg, *.jpeg, *.bmp. После загрузки в поле «Значок» отобразится указанная пиктограмма. Если пиктограмма не загружена, то на вкладке «Пользовательские функции» ленты инструментов будет отображено только название кнопки.

Примечание. Для корректного отображения пиктограмм пользовательских кнопок используйте 32-битные изображения с прозрачностью.

  1. Выберите размер пиктограммы, отображаемой на вкладке «Пользовательские операции», установив переключатель в области «Размер значка»: мелкий или крупный. При выборе крупной пиктограммы наименование кнопки будет отображаться под кнопкой, при выборе мелкой - рядом с ней. При добавлении нескольких кнопок с мелкими пиктограммами они располагаются в несколько строк на ленте инструментов, тогда как кнопки с крупными пиктограммами располагаются последовательно, занимая всю высоту ленты инструментов.

  1. Задайте предобработчик для вывода текстового сообщения с произвольным текстом при нажатии на пользовательскую кнопку. Для этого установите флажок «Предобработчик». В списке «Модуль» выберите модуль, написанный на языке Fore, список содержит все модули в репозитории и папки, в которых есть модули. В списке «Название исполняемого метода/функции» выберите функцию, список содержит все функции выбранного модуля, соответствующие сигнатуре:

Function <Название функции>(<Report>: IPrxReport): String;

Параметр:

Report. В параметр передается форма ввода в формате IPrxReport. При работе с этим объектом будут доступны все свойства и методы интерфейса IPrxReport.

  1. Задайте постобработчик для возможности выполнять требуемые действия после:

Для этого установите флажок «Постобработчик». В списке «Модуль» выберите модуль, написанный на языке Fore, список содержит все модули в репозитории и папки, в которых есть модули. В списке «Название исполняемого метода/функции» выберите метод или функцию, список содержит все методы/функции выбранного модуля, соответствующие сигнатуре:

Sub <Название метода>(<Report>: IPrxReport);

Function <Название функции>(<Report>: IPrxReport): Type;

Параметр:

Report. В параметр передается форма ввода в формате IPrxReport. При работе с этим объектом будут доступны все свойства и методы интерфейса IPrxReport.

Задать можно только один постобработчик.

  1. Выберите из раскрывающегося списка объект, который будет исполняться при нажатии на кнопку. Список представляет собой дерево объектов репозитория, в котором отображаются объекты, выбранного типа, и папки, содержащие эти объекты. В зависимости от выбранного типа наименование списка и набор настроек будет различным:

Настройка аналогична настройке параметров для алгоритмов расчёта в табличной области.

Public Sub <Название функции>(<Report>: IPrxReport);

Begin

End Sub <Название функции>;

Параметр:

Report. В параметр передается форма ввода в формате IPrxReport. При работе с этим объектом будут доступны все свойства и методы интерфейса IPrxReport.

Если в указанном модуле нет класса, то список «Название класса» будет скрыт.

Установите флажок «Открывать в модальном окне» для блокировки работы с родительской формой во время открытия объекта. Доступно, если объект, который настраивается для открытия, является формой ввода.

Установите флажок «Обновлять после закрытия окна» и выберите листы, которые необходимо обновить после закрытия объекта. Выбрать можно один, несколько или все листы. Флажок становится доступным после установки флажка «Открывать в модальном окне».

Ниже будет отображена область параметров и область настройки передачи значения в выделенный параметр. Если у выбранного объекта есть параметры, то выделите параметр и укажите способ передачи значения в раскрывающемся списке «Способ задания значения»:

Для изменения порядка расположения кнопок на вкладке «Пользовательские функции» ленты инструментов используйте кнопки /.

Для удаления кнопок используйте кнопку «Удалить» в области пользовательских операций.

Применение пользовательских кнопок

Созданные пользовательские кнопки отображаются на вкладке «Пользовательские функции» ленты инструментов. Вкладка становится доступной после добавления пользовательской кнопки.

Если кнопка была настроена на выполнение алгоритма расчёта, то при нажатии на неё будет запущен расчёт. Если кнопка была настроена на модуль Fore, то при нажатии на неё будет запущен указанный модуль. Если кнопка была настроена на открытие объекта репозитория, то при нажатии на неё будет открыт объект.

Если для кнопки был настроен предобработчик, то сразу после нажатия на кнопку будет выведен диалог с текстом, который вернёт функция предобработчника. В диалоге будут доступны кнопки «ОК» и «Отмена». Для выполнения действия пользовательской кнопки нажмите кнопку «ОК» в диалоге. Для отмены действия пользовательской кнопки нажмите кнопку «Отмена» в диалоге.

Если для кнопки был настроен постобработчик, то после выполнения действия пользовательской кнопки будет произведены действия описанные в модуле, указанном в качестве постобработчика.

См. также:

Построение формы ввода | Работа с готовой формой ввода