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

Диалог состоит из области «Пользовательские операции» и области настроек кнопки.
Для создания кнопки:
Нажмите кнопку «Добавить» в области «Пользовательские операции» для создания новый кнопки.
Введите наименование кнопки в поле «Наименование кнопки», отражающее её функциональность. По умолчанию наименование кнопки «Пользовательская кнопка N», где N - порядковый номер кнопки.
Выберите из раскрывающегося списка тип объекта: «Алгоритм расчета», «Модуль Fore» или «Открытие объекта».
Загрузите пиктограмму для кнопки. Нажмите кнопку «Загрузить», в открывшемся окне выберите путь до файла пиктограммы с расширением *.png, *.jpg, *.jpeg, *.bmp. После загрузки в поле «Значок» отобразится указанная пиктограмма. Если пиктограмма не загружена, то на вкладке «Пользовательские функции» ленты инструментов будет отображено только название кнопки.
Примечание. Для корректного отображения пиктограмм пользовательских кнопок используйте 32-битные изображения с прозрачностью.
Выберите размер пиктограммы, отображаемой на вкладке «Пользовательские операции», установив переключатель в области «Размер значка»: мелкий или крупный. При выборе крупной пиктограммы наименование кнопки будет отображаться под кнопкой, при выборе мелкой - рядом с ней. При добавлении нескольких кнопок с мелкими пиктограммами они располагаются в несколько строк на ленте инструментов, тогда как кнопки с крупными пиктограммами располагаются последовательно, занимая всю высоту ленты инструментов.
Задайте предобработчик для вывода текстового сообщения с произвольным текстом при нажатии на пользовательскую кнопку. Для этого установите флажок «Предобработчик». В списке «Модуль» выберите модуль, написанный на языке Fore, список содержит все модули в репозитории и папки, в которых есть модули. В списке «Название исполняемого метода/функции» выберите функцию, список содержит все функции выбранного модуля, соответствующие сигнатуре:
Function <Название функции>(<Report>: IPrxReport): String;
Параметр:
Report. В параметр передается форма ввода в формате IPrxReport. При работе с этим объектом будут доступны все свойства и методы интерфейса IPrxReport.
Задайте постобработчик для возможности выполнять требуемые действия после:
закрытия объекта;
завершения отработки метода;
окончания расчёта алгоритма.
Для этого установите флажок «Постобработчик». В списке «Модуль» выберите модуль, написанный на языке Fore, список содержит все модули в репозитории и папки, в которых есть модули. В списке «Название исполняемого метода/функции» выберите метод или функцию, список содержит все методы/функции выбранного модуля, соответствующие сигнатуре:
Sub <Название метода>(<Report>: IPrxReport);
Function <Название функции>(<Report>: IPrxReport): Type;
Параметр:
Report. В параметр передается форма ввода в формате IPrxReport. При работе с этим объектом будут доступны все свойства и методы интерфейса IPrxReport.
Задать можно только один постобработчик.
Выберите из раскрывающегося списка объект, который будет исполняться при нажатии на кнопку. Список представляет собой дерево объектов репозитория, в котором отображаются объекты, выбранного типа, и папки, содержащие эти объекты. В зависимости от выбранного типа наименование списка и набор настроек будет различным:
Алгоритм расчёта. Выберите в списке «Выбор исполняемого объекта» алгоритм расчёта. Если у выбранного алгоритма есть параметры, то ниже списка будет отображена область настройки параметров:

Настройка аналогична настройке параметров для алгоритмов расчёта в табличной области.
Модуль Fore. В списке «Модуль» выберите модуль, написанный на языке Fore, список содержит все модули в репозитории и папки, в которых есть модули. В списке «Название класса» выберите класс, если он есть. В списке «Название исполняемого метода/функции» выберите метод или функцию. Функция должна иметь требуемую сигнатуру:
Public Sub <Название функции>(<Report>: IPrxReport);
Begin
…
End Sub <Название
функции>;
Параметр:
Report. В параметр передается форма ввода в формате IPrxReport. При работе с этим объектом будут доступны все свойства и методы интерфейса IPrxReport.
Если в указанном модуле нет класса, то список «Название класса» будет скрыт.
Открытие объекта. Выберите в списке «Открыть объект репозитория» требуемый объект. При выборе в качестве объекта, который настраивается для открытия, многолистовой формы ввода убедитесь, что у неё установлен флажок «Загрузка только активного листа» для ускорения открытия формы.
Установите флажок «Открывать в модальном окне» для блокировки работы с родительской формой во время открытия объекта. Доступно, если объект, который настраивается для открытия, является формой ввода.
Установите флажок «Обновлять после закрытия окна» и выберите листы, которые необходимо обновить после закрытия объекта. Выбрать можно один, несколько или все листы. Флажок становится доступным после установки флажка «Открывать в модальном окне».
Ниже будет отображена область параметров и область настройки передачи значения в выделенный параметр. Если у выбранного объекта есть параметры, то выделите параметр и укажите способ передачи значения в раскрывающемся списке «Способ задания значения»:
Не передавать. Значение по умолчанию. При открытии объекта в параметр ничего не будет передаваться;
Параметр формы. Отображается раскрывающийся список «Параметр», в котором доступны параметры формы. Список параметров формы отфильтрован по типу параметра объекта. Выбрать можно только один параметр. При открытии объекта в параметр передается значение параметра формы;
Атрибут измерения. Отображается раскрывающийся список «Атрибут», в котором доступны все атрибуты всех измерений всех табличных областей в форме. Для отображения только всех атрибутов всех измерений, без указания табличных областей, снимите флажок «Учитывать табличную область». По умолчанию флажок установлен. Выбрать можно только один атрибут. Отображается раскрывающийся список «Тип отметки», в котором доступны: первый элемент - в параметр передается выбранный атрибут первого элемента измерения из выделения; все элементы - в параметр передаются значения выбранного атрибута всех элементов измерения из выделения. При открытии объекта в параметр передается значение атрибута первого элемента или всех элементов выбранного измерения из выделенной в таблице области. Если ничего не выделено, то в параметр ничего не передается;
Вручную. В поле «Значение» отображается редактор, соответствующий типу параметра. Выбрать можно только один элемент. При открытии объекта в параметр передается указанное значение.
Для изменения порядка расположения кнопок на вкладке «Пользовательские
функции» ленты инструментов используйте кнопки
/
.
Для удаления кнопок используйте кнопку «Удалить» в области пользовательских операций.
Созданные пользовательские кнопки отображаются на вкладке «Пользовательские функции» ленты инструментов. Вкладка становится доступной после добавления пользовательской кнопки.
Если кнопка была настроена на выполнение алгоритма расчёта, то при нажатии на неё будет запущен расчёт. Если кнопка была настроена на модуль Fore, то при нажатии на неё будет запущен указанный модуль. Если кнопка была настроена на открытие объекта репозитория, то при нажатии на неё будет открыт объект.
Если для кнопки был настроен предобработчик, то сразу после нажатия на кнопку будет выведен диалог с текстом, который вернёт функция предобработчника. В диалоге будут доступны кнопки «ОК» и «Отмена». Для выполнения действия пользовательской кнопки нажмите кнопку «ОК» в диалоге. Для отмены действия пользовательской кнопки нажмите кнопку «Отмена» в диалоге.
Если для кнопки был настроен постобработчик, то после выполнения действия пользовательской кнопки будет произведены действия описанные в модуле, указанном в качестве постобработчика.
См. также: