Публикация

Запуск процесса из кнопки "Действия"

Отредактировать нужно первые 2 строчки, и блок Methods{}. Необходимо добавить определение ["ProcessModuleUtilities"], function(ProcessModuleUtilities),

Если  в function() уже есть что-то, то в скобки через запятую добавляем ProcessModuleUtilities, получится: function(smth, smth, smth, ProcessModuleUtilities).

Аналогично с параметрами: define("FinApplicationSection", ["smth", "smth", "ProcessModuleUtilities"], function(smth, smth, ProcessModuleUtilities)

define("FinApplicationPage", ["FinApplicationPageResources", "GeneralDetails", "ProcessModuleUtilities"],
function(resources, GeneralDetails, ProcessModuleUtilities) {
    return {
        entitySchemaName: 'FinApplication',
        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
        diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
        attributes: {},
        methods: {
            getActions: function() {//расширяем метод для коллекции кнопок действий
                var actionMenuItems = this.callParent(arguments);
                actionMenuItems.addItem(this.getActionsMenuItem({ //добавляем разделитель
                    Type: "Terrasoft.MenuSeparator",
                    Caption: ""
                }));
                actionMenuItems.addItem(this.getActionsMenuItem({//добавляем кнопку
                    "Caption": "Назначить экспертизы",//текст кнопки
                    "Tag": "runProcess",//имя метода, который запустит процесс, см. ниже
                    "Enabled": {"bindTo": "canEntityBeOperated"}//делать кнопку неактивной, если запись еще не создана
                }));
                return actionMenuItems;
            },
            runProcess: function() {// метод запуска процесса
                var activeRow = this.get("Id");// получаем id текцщей записи
                var config = {
                        sysProcessName: "UsrMyProcess",//имя процесса (то что латиницей с Usr...)
                        parameters: {
                                RecordId: activeRow//левое выражение = имя параметра процесса (по которому будем работать в процессе), правое = переменная, куда на 4 строчки выше мы зашили Id текущей записи
                        }
                };
                ProcessModuleUtilities.executeProcess(config);
            }
        },
        rules: {},
        userCode: {}
    };
});

 

Нравится

Поделиться

0 комментариев
Показать все комментарии