Публикация

Как убрать возможность быстрое добавление записей (действие New/Создать) в справочном поле

Вопрос

Можно ли убрать эту всплывающую подсказку New ... ?

правильно ли я понимаю, что getPreventQuickAddSchemaNames нужно добавлять в конкретные страницы карточек, откуда необходимо исключить добавление новых элементов справочников?

Нельзя ли это исключить один раз в LookupQuickAddMixin ?

Ответ

Если во всем приложении, то можете попробовать перекрыть метод onLookupDataLoaded

(код ниже и UsrLookupQuickAddMixin - название пользовательской схемы):
 

define("UsrLookupQuickAddMixin", ["LookupQuickAddMixin"], function() {
    Ext.define("Terrasoft.UsrLookupQuickAddMixin", {
        override: "Terrasoft.LookupQuickAddMixin",
 
        onLookupDataLoaded: Terrasoft.emptyFn
    });
});

и затем подключить модуль в BootstrapModulesV2 (необходимо заместить)


 

define("BootstrapModulesV2", ["UsrLookupQuickAddMixin"], function() {
    return {};
});

после этого очистить кэш.

Нравится

Поделиться

3 комментария

А как это делать после 7.13, когда нельзя замещать модули?

Владимир, BootstrapModulesV2 замещать как раз можно.

 

Функциональность схемы BootstrapModulesV2, заключается в том, что она загружается сразу при логине. Соответственно в ней можно инициализировать модули логику которых потом можно будет использовать.

 

Это часто используется как замена запрещённому замещению модулей, когда делают свой аналог в схеме с другим названием, замещают им стандартный при помощи override, а затем подключают в BootstrapModulesV2, чтобы доработанная версия грузилась при старте.

 

Ещё один пример этого подхода для доработки стандартных элементов есть тут в нижнем комментарии.

Можно, например, вместо onLookupDataLoaded,  заместить getPreventQuickAddSchemaNames добавим нужные сущности, например Продажи - "Opportunity":
 

define("UsrLookupQuickAddMixin", ["LookupQuickAddMixin"], function() {
    Ext.define("Terrasoft.UsrLookupQuickAddMixin", {
        override: "Terrasoft.LookupQuickAddMixin",

        getPreventQuickAddSchemaNames: function() {
            return ["SysAdminUnit", "VwSysSchemaInfo", "VwQueueSysProcess", "Opportunity"];
        },
    });
});

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