Как скрыть кнопку "ЗАПУСТИТЬ ПРОЦЕСС"

Добрый день!

Пытаюсь сделать по инструкции 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*/

    };

});

 

 

 

Прикрепленные файлы

Нравится

10 комментариев
Лучший ответ

Убрать кнопки можно, я уже делал это, но я Вам предлагаю другой вариант решения задачи.

Так как в список попадают только процессы которые активны, и запускаемые вручную  (не по сигналу или таймеру), и те что имеют у себя тэг "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*/

    };

});

Павлов Антон,

 Нет, не надо

Спасибо за ваши ответы

Но пока не получается реализовать на своей стороне...

Проведите отладку, отрабатывает ли у Вас вообще изменённая логика.

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