Блокировка карты по нажатию на Кнопку

Всем добрый день!

Появилась трудность с реализацией запуска процесса "Блокировка карты" по нажатию на кнопку.
Для страницы "Карты" создал замещающую страницу BankCardPagev2. Добавил в diff создание кнопки "CardBlock", прописал метод ProcCardBlock. Создал процесс UsrCardBlock, в котором создал параметр ProcParamCardId.
Может я что забыл сделать, можете подсказать, плиз.

2) Правильно я понимаю, что для реализации запуска процесса по кнопке, сам процесс достаточно начинать с простого начального события?

P.S. Кнопка на странице появилась, при нажатии на нее выдает ошибку: "ProcessModuleUtilities is not defined"

define('BankCardPageV2', ['BankCardPageV2Resources', 'GeneralDetails'],
function(resources, GeneralDetails) {
        return {
                entitySchemaName: 'BankCard',
                details: /**SCHEMA_DETAILS*/{
        "BankAccountInBankCardDetailV2": {
                "schemaName": "BankAccountInBankCardDetailV2",
                "entitySchemaName": "BankCardBankAccount",
                "filter": {
                        "masterColumn": "Id",
                        "detailColumn": "BankCard"
                }
        }
}/**SCHEMA_DETAILS*/,
                diff: /**SCHEMA_DIFF*/[
        {
                "operation": "merge",
                "name": "StartDate",
                "values": {
                        "layout": {
                                "column": 0,
                                "row": 0,
                                "colSpan": 12,
                                "rowSpan": 1
                        }
                }
        },
        {
                "operation": "merge",
                "name": "EndDate",
                "values": {
                        "layout": {
                                "column": 0,
                                "row": 1,
                                "colSpan": 12,
                                "rowSpan": 1
                        }
                }
        },
        {
                "operation": "merge",
                "name": "BankCardStatus",
                "values": {
                        "layout": {
                                "column": 12,
                                "row": 0,
                                "colSpan": 12,
                                "rowSpan": 1
                        }
                }
        },
        {
                "operation": "insert",
                "name": "UsrBlockType",
                "values": {
                        "layout": {
                                "column": 0,
                                "row": 2,
                                "colSpan": 12,
                                "rowSpan": 1
                        },
                        "bindTo": "UsrBlockType",
                        "caption": {
                                "bindTo": "Resources.Strings.BlockTypeCaption"
                        },
                        "textSize": 0,
                        "contentType": 3,
                        "labelConfig": {
                                "visible": true
                        },
                        "enabled": true
                },
                "parentName": "StatusGroupGridLayout",
                "propertyName": "items",
                "index": 3
        },
        {
                "operation": "insert",
                "name": "UsrBlockReason",
                "values": {
                        "layout": {
                                "column": 12,
                                "row": 2,
                                "colSpan": 12,
                                "rowSpan": 1
                        },
                        "bindTo": "UsrBlockReason",
                        "caption": {
                                "bindTo": "Resources.Strings.BlockReasonCaption"
                        },
                        "textSize": 0,
                        "contentType": 3,
                        "labelConfig": {
                                "visible": true
                        },
                        "enabled": true
                },
                "parentName": "StatusGroupGridLayout",
                "propertyName": "items",
                "index": 4
        },
        {
                "operation": "insert",
                //"parentName": "LeftContainer",
                "name": "NewButton",
                "values": {
                                "itemType": Terrasoft.ViewItemType.BUTTON,
                                "style": Terrasoft.controls.ButtonEnums.style.RED,
                                "caption": "CardBlock",
                                "click": {"bindTo": "ProcCardBlock"}
                }
        }
]/**SCHEMA_DIFF*/,
                attributes: {},
                methods: {
                                ProcCardBlock: function() {
                                        var activeRowId = this.get("ActiveRow");
                                        var args = {
                                                sysProcessName: "UsrCardBlock",
                                                parameters :{
                                                        ProcParamCardID: activeRowId
                                                }
                                        };
                                ProcessModuleUtilities.runProcess(args.sysProcessName, args.parameters, this);
                                }
                        },
                rules: {},
                userCode: {}
        };
});

Нравится

5 комментариев

Добрый день.
Вам нужно в первых двух строчка :

define('BankCardPageV2', ['BankCardPageV2Resources', 'GeneralDetails'],
function(resources, GeneralDetails) {

дописать ProcessModuleUtilities , это примерно выглядить должно так:

define('BankCardPageV2', ['BankCardPageV2Resources', 'GeneralDetails', 'ProcessModuleUtilities '],
function(resources, GeneralDetails, ProcessModuleUtilities ) {

Роман, спасибо!
Теперь кнопка реагирует на нажатие :)
Но появляется ошибка

"При выполнении запроса возникла ошибка
статус ответа: 404 (Not Found)
url запроса: http://172.26.20.18:81/0/ServiceModel/ProcessEngineService.svc/UsrCardB…
метод: POST
данные запроса: {}"

Исходя из ошибки, предполагаю, что у меня косяк с процессом. Сейчас процесс сделал самый простой : начальное событие простое - открыть страницу редактирования - завершающее событие.
В методе ProcCardBlock объявлен параметр ProcParamCardId, такой же параметр создал в процессе и в странице редактирования передаю ID записи значение этого параметра.
Можете подсказать, что не так или чего не сделал, чтобы верно передать в процесс ID записи и он стартанул.

С уважением,
Дмитрий

В урл видно же что параметр не передался, точнее вместо айди передалось андефайнед:
?ProcParamCardID=undefined

Т.к. вы:
var activeRowId = this.get("ActiveRow");

пытаетесь получить в карточке, в карточке нет атрибута ActiveRow, если вам нужно Id записи карточки, то так и пишите

var activeRowId = this.get("Id");

Всем большое спасибо.

Процесс запустили :)

Коллеги, добрый день.

Возникли трудности с переносом кнопки в блок кнопок "Сохранить", "Отменить", "Действия".

Как я понимаю, выбор контейнера в поле "parentName" зависит от типа страницы (новая или редактируемая).
Если использовать LeftContaner, то кнопка отлично уходит в верхний левый угол на новых записях.
А если использовать CombinedModeActionButtonsCardLeftContainer то кнопка распологается снизу слева на странице как новой так и редактируемой страницы.
Можете подсказать, что нужно изменить в коде, чтобы кнопка появились слева вверху вместе с кнопками "Сохранить", "Отменить", "Действия".

"operation": "insert",
		"parentName": "CombinedModeActionButtonsCardRightContainer",
		"propertyName" :"items",
		"name": "NewButton",
		"values": {
			"itemType": Terrasoft.ViewItemType.BUTTON,
			"style": "red",
			"caption": {"bindTo": "Resources.Strings.CardBlockCapture"},
			"click": {"bindTo": "ProcCardBlock"},
			"layout": {
				"column": 1,
				"row": 6,
				"colSpan": 1
Показать все комментарии