Добрый день!
Пытаюсь сделать по инструкции https://community.terrasoft.ua/articles/kak-skryt-knopku-zapustit-process. но кнопка остается.
Что забыл сделать, подскажите, пожалуйста?
define("BootstrapModulesV2", ["LeftPanelTopMenuModuleV2"], function() {
return {
methods: {},
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
};
});
Нравится
Убрать кнопки можно, я уже делал это, но я Вам предлагаю другой вариант решения задачи.
Так как в список попадают только процессы которые активны, и запускаемые вручную (не по сигналу или таймеру), и те что имеют у себя тэг "Business Process" (это самое главное замечание), нужно просмотреть бизнесс процессы и убрать (или изменить) тэг на что-то другое. В основном это надо для Ваших кастомных процессов, и увидите что остались там не так много стандартных процессов выключения которых не повлияет на работу системы. Таким образом, Вы сможете в этом списке оставлять процессы которые реально понадобятся пользователям (к примеру запустить расчет или что-то сформировать), не вырезая стандартную логику, а если таких у Вас нет, то просто убрать из списка этого все и там будет пусто.
Учтите один нюанс, начиная с версии 7.17.0 если ТЭГ будет не заполнен то процесс в "Библиотеке процессов" виден не будет, и Вы не сможете им управлять - сменить версию можно будет только перейдя в процесс из цепочки и проставить "Сделать актуальной версией", а вот выключить уже не как не выйдет. Потому ТЭГ убирайте только у тех процессов что используете как подпроцессы (так как при его вызове, даже если он отключен он все равно включится), в других случаях можно к примеру в ТЭГ писать имя процесса.
Лично я пошел по второму пути после выяснений нюансов из логики работы кода и у поддержки, и думаю он все же оптимален, но если решите скрыть, я посмотрю код у себя и напишу.
Проблема в том что убрать Вам прийдеться не только кнопку круглую, но и из меню, и еще команду в окне поиска как на скрине
Убрать кнопки можно, я уже делал это, но я Вам предлагаю другой вариант решения задачи.
Так как в список попадают только процессы которые активны, и запускаемые вручную (не по сигналу или таймеру), и те что имеют у себя тэг "Business Process" (это самое главное замечание), нужно просмотреть бизнесс процессы и убрать (или изменить) тэг на что-то другое. В основном это надо для Ваших кастомных процессов, и увидите что остались там не так много стандартных процессов выключения которых не повлияет на работу системы. Таким образом, Вы сможете в этом списке оставлять процессы которые реально понадобятся пользователям (к примеру запустить расчет или что-то сформировать), не вырезая стандартную логику, а если таких у Вас нет, то просто убрать из списка этого все и там будет пусто.
Учтите один нюанс, начиная с версии 7.17.0 если ТЭГ будет не заполнен то процесс в "Библиотеке процессов" виден не будет, и Вы не сможете им управлять - сменить версию можно будет только перейдя в процесс из цепочки и проставить "Сделать актуальной версией", а вот выключить уже не как не выйдет. Потому ТЭГ убирайте только у тех процессов что используете как подпроцессы (так как при его вызове, даже если он отключен он все равно включится), в других случаях можно к примеру в ТЭГ писать имя процесса.
Лично я пошел по второму пути после выяснений нюансов из логики работы кода и у поддержки, и думаю он все же оптимален, но если решите скрыть, я посмотрю код у себя и напишу.
Александр Тыра пишет:
Учтите один нюанс, начиная с версии 7.17.0 если ТЭГ будет не заполнен то процесс в "Библиотеке процессов" виден не будет
А почему бы разработчикам не придумать второй тэг "Hidden Business Process"?
Александр Тыра пишет:
Убрать кнопки можно, я уже делал это
Александр, можете свой вариант скинуть убирания кнопки? Вариант с неотображением процессов не очень нравится заказчику. Кроме того, манипуляции с изменением/удалением тега не убирают из списка процесс, к сожалению.
Создайте модуль без наследников, в нем:
define("KtLeftPanelTopMenuModule", ["LeftPanelTopMenuModule"],
function() {
Ext.define("Terrasoft.configuration.KtLeftPanelTopMenuModuleViewModel", {
alternateClassName: "Terrasoft.KtLeftPanelTopMenuModuleViewModel",
override: "Terrasoft.LeftPanelTopMenuModuleViewModel",
getTopMenuConfig: function() {
var esq = this.callParent(arguments);
var index = esq.map(function(e) { return e.id; }).indexOf("menu-startprocess-button");
if (index > -1) {
esq.splice(index, 1);
}
return esq;
}
});
}
);
Это уберет кнопку круглую. Думаю по аналогии можно убрать и кнопку с надписью "Запустить процесс", а вот как команду выпилить не подскажу, даже не смотрел
При этом необходимо замещать BootstrapModulesV2?
define("BootstrapModulesV2", ["KtLeftPanelTopMenuModule"], function() {
return {
methods: {},
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
};
});
Спасибо за ваши ответы
Но пока не получается реализовать на своей стороне...
Проведите отладку, отрабатывает ли у Вас вообще изменённая логика.