Настройка операций пользовательского класса

Для настройки операций, которые будут доступны для объектов пользовательского класса, используйте вкладку «Операции» в окне «Класс <наименование класса>».

Для открытия окна

По умолчанию в таблице отображаются стандартные операции, недоступные для изменения и удаления.

Добавление операции

Редактирование операции

Удаление операции

Перемещение операции

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

Обработчики операций

Для настройки обработчиков операций:

Для задания обработчика операций из веб-приложения в поле «Скрипт» укажите URL-адрес скрипта (js-файла или html-страницы, содержащей скрипт), реализующего операции, например, https://TestServer/CustomObjects/Index.html или https://TestServer/CustomObjects/Operations.js.

Ниже приведён пример JavaScript-кода обработчика операций над объектом пользовательского класса:

var url = location.search;//URL-адерс текущей страницы. При выборе операции из контекстного меню пользовательского объекта будет выглядеть так: S/Index.html?op=Open&k=600

//где S - путь до скрипта, Index.html - страница со скриптом, Open - имя операции, 600 - ключ пользовательского объекта

var tmp = new Array();

    tmp = url.split("&");//массив символов в адресной строке, разделенных &

    if (tmp.length > 1) {

        var strPar = tmp[0];//берем первый элемент массива tmp

        var param_op = new Array();

        var param_op = strPar.split("=");//массив символов в адресной строке, разделенных =

        if (param_op.length > 1) {

            switch (param_op[1]) {

               case "Open"://если op=Open

                    location.replace("https://TestServer/CustomObjects/open.htm");//Переход на указанный сайт

                    break;

               case "Edit"://если op=Edit

                    location.replace("https://TestServer/CustomObjects/edit.htm");

                    break;

               case "Delete"://если op=Delete

                    alert("Операция Delete");

                    break;               

            }

        }

При выборе пунктов «Open» или «Edit» будет осуществлён переход на указанные страницы сайта соответственно. При выборе пункта «Delete» будет выведено сообщение.

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

Sub <ИдентификаторОперации>(<Параметр>: IMetabaseObjectDescriptor);

Если предполагается создание параметрических объектов, то также должны быть определены методы с постфиксом WithParams и следующей сигнатурой:

Sub <ИдентификаторОперации>WithParams(<Параметр1>: IMetabaseObjectDescriptor; <Параметр2>: IMetabaseObjectParamValues);

В навигаторе объектов операции для объектов будут доступны, если соблюдены следующие условия:

Пример класса-обработчика операций приведён в подразделе «Создание объектов пользовательского класса».

См. также:

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