Запустить бизнес-процесс по выделенной записи
Как запустить бизнес процесс только по выделенной записи в реестре?
Нравится
http://www.community.terrasoft.ru/forum/topic/10554
Как пример можно посмотреть запуск процесса LeadManagement из реестра Лидов запускается по ИД (файл LeadSectionV2 пакета CoreLead)
/**
* Выполняет запуск процесса квалификации с точки его последней активности.
*/
executeQualificationProcess: function() {
var activeRow = this.getActiveRow();
var qualificationProcessId = activeRow.get("QualificationProcessId");
if (qualificationProcessId) {
ProcessModuleUtilities.continueExecuting(qualificationProcessId, this);
} else {
ProcessModuleUtilities.executeProcess({
"sysProcessName": "LeadManagement",
"parameters": {
"LeadId": this.getPrimaryColumnValue(),
"ManualLaunch": true
}
});
}},
Попытался создать, но почему-то не запускается, где я ошибаюсь?
{ "operation": "insert", "name": "runActiveSaleButton", "parentName": "DataGrid", "propertyName": "activeRowActions", "values": { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.GREEN, "classes": {"textClass": "actions-button-margin-right"}, "click": {"bindTo": "runActiveSale"}, "caption": "Активная продажа" } }
runActiveSale: function() { //var AccountId = this.get('Id'); var AccountId = this.getPrimaryColumnValue(); var processArgs = { sysProcessName: 'ActiveSale', parameters: { AccountId: AccountId } }; this.runProcess(processArgs.sysProcessName, processArgs.parameters, this); }
Я так понял, что с версии 7.3 идет не click,а tag (у нас 7.5)
Даже добавил ProcessModuleUtilities
Но все равно не получается:
{ "operation": "insert", "name": "runActiveSaleButton", "parentName": "DataGrid", "propertyName": "activeRowActions", "values": { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.GREEN, "caption": "Активная продажа", "tag": "runActiveSale" } }
runActiveSale: function() { //var AccountId = this.get('Id'); var AccountId = this.getPrimaryColumnValue(); var processArgs = { sysProcessName: 'ActiveSale', parameters: { AccountId: AccountId } }; ProcessModuleUtilities.runProcess(processArgs.sysProcessName, processArgs.parameters, this); }
Александр, пример реализации кнопки запуска процесса по активной записи в разделе Контакты (змещающая схема ContactSectionV2)
define("ContactSectionV2", ["ProcessModuleUtilities"], function(ProcessModuleUtilities) { return { entitySchemaName: "Contact", methods: { runProcess: function() { var activeRow = this.get("ActiveRow"); var config = { sysProcessName: "MyProcess", parameters: { RecordId: activeRow } }; ProcessModuleUtilities.executeProcess(config); }, onActiveRowAction: function(buttonTag) { if (buttonTag === "runProcess") { this.runProcess(); } else { this.callParent(arguments); } } }, diff: /**SCHEMA_DIFF*/[{ "operation": "insert", "name": "DataGridActiveRowQualificationProcessAction", "parentName": "DataGrid", "propertyName": "activeRowActions", "values": { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.GREEN, "caption": "Run process", "tag": "runProcess" } }]/**SCHEMA_DIFF*/ }; } );