Добрый день, коллеги. Необходимо добавить кнопку на панель визирования (помимо approve и reject).

Как я заметил данная панель геренируется по модулю ApprovalDashboardItemViewModel, но модули замещать нельзя. Как можно выкрутиться из такой ситуации? Кто-нибудь сталкивался с такой необходимостью?

Нравится

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

Замещать как и расширять модули можно, если делать это правильно.

Вот пример замещения модуля BaseCommunicationViewModel.

Создаем новый модуль, в данном случае будем замещать (override, можно использовать расширение extend(вместо override заменить)). Затем, где нужно, вызываете реализованный вами модуль.

Например в детали: 

define("AppFormCommunicationDetail", ["ScBaseCommunicationViewModel"],



Реализация модуля:

define("ScBaseCommunicationViewModel", ["BaseCommunicationViewModel"],
function() {
	Ext.define("Terrasoft.ScBaseCommunicationViewModel", {
		override: "Terrasoft.BaseCommunicationViewModel",
		alternateClassName: "Terrasoft.ScBaseCommunicationViewModel",
		getLinkUrl: function(value) {
			//нужная реализация метода
		}
	});
	return Terrasoft.ScBaseCommunicationViewModel;
});

 

Замещать как и расширять модули можно, если делать это правильно.

Вот пример замещения модуля BaseCommunicationViewModel.

Создаем новый модуль, в данном случае будем замещать (override, можно использовать расширение extend(вместо override заменить)). Затем, где нужно, вызываете реализованный вами модуль.

Например в детали: 

define("AppFormCommunicationDetail", ["ScBaseCommunicationViewModel"],



Реализация модуля:

define("ScBaseCommunicationViewModel", ["BaseCommunicationViewModel"],
function() {
	Ext.define("Terrasoft.ScBaseCommunicationViewModel", {
		override: "Terrasoft.BaseCommunicationViewModel",
		alternateClassName: "Terrasoft.ScBaseCommunicationViewModel",
		getLinkUrl: function(value) {
			//нужная реализация метода
		}
	});
	return Terrasoft.ScBaseCommunicationViewModel;
});

 

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

Всем привет!

Подскажите, как теперь кастомизировать модули в системе, если их запретили замещать ? Например мне нужно кастомизировать главное меню (модуль LeftPanelTopMenuModule) - как это сделать правильно без замещения модуля? 

Заранее спасибо за ваши ответы.

Нравится

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

Тёскин Дмитрий Валерьевич,

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

Добрый день.

Вы можете разработать свой пользовательский модуль с нужной логикой и подключить его вместо существующего LeftPanelTopMenuModule.

За основу для Вашего кастомного модуля можете взять стандартный модуль LeftPanelTopMenuModule.

Также из обсуждения этого поста следует, что возможность выполнить замещение модуля всё-таки есть, но это нужно делать через поддержку:

"При необходимости подобного замещения Вы можете создавать обращение в техническую поддержку, в рамках которого командой разработки будут предложены варианты как реализовать описанную функциональность без замещений или же зарегистрирована задача по реализации в будущих версиях"

Алла Савельева,

Спасибо за ответ. Только не совсем понимаю, как подменить стандартный модуль на свой. Подскажите как?

Тёскин Дмитрий Валерьевич,

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

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

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

Создаю новый модуль, в качестве родителя указываю Базовая страница справочника

Оно спрашивает да или нет -жму да - вываливается предупреждение, что Замещение модулей запрещено. К разработки принялись недавно, это первый случай когда нужно сделать свой модуль с родителем, кто сталкивался, что нужно делать?

Нравится

1 комментарий

Проблема решена, добавлять нужно не модуль, а схема модели предоставления карточки

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