Добавить действие в контекстное меню при нажатии правной кнопки мыши.

Добрый день,
есть BPMOnline SD + CRM on-site.
Хочу добавить вот такйю штуку:
в разделах "Инциденты" и "запросы на обслуживание" сделать так, чтобы при нажатии правной кнопки мыши на запись, можно было поменять статус инцидента, "закрыт" или "в работе", например. Т.е. чтобы не открывать карточку инцидента, только для того, чтобы поменять статус.
Куда копать?
Спасибо.

Нравится

7 комментариев

Здравствуйте, Кирилл.

Вам нужно на событии нажатия на это меню выполнить Update запрос^

var myUpdate =  new Update(userConnection, "MyTable")
        .Set("Number", new QueryParameter("Number", T1.Number + 1, "Int")
.Where("Id").IsEqual(Column.Parameter(new Guid(Page.DataSource.ActiveRow.GetColumnuValue("ID").ToString())));
myUpdate.Execute();

Добавить само меню можно с помощью этих методов:

Terrasoft.Configuration.DynamicMenuConstructor.ClientAppendMenuItem()
Terrasoft.Configuration.DynamicMenuConstructor.SetComponentMenuItemClickSignal()

Телефонические компоненты их используют, например.

Вот кусочек кода, динамически строящий менюшку системных переменных, и привязывающий на OnClick сигнал "SysVariableMenuItemClick":

foreach(var systemValueItem in UserConnection.SystemValueManager.GetItems()) {
	var systemValue = UserConnection.SystemValueManager.GetInstanceByUId(systemValueItem.UId);
	Terrasoft.Configuration.DynamicMenuConstructor.ClientAppendMenuItem(
		Page, Page.AddSysVariableButton.ClientID,
		systemValue.Name, systemValue.Caption.ToString(),
		new ControlImage(), systemValue.Name, "SysVariableMenuItemClick");
}
Terrasoft.Configuration.DynamicMenuConstructor.SetComponentMenuItemClickSignal(Page, Page.AddSysVariableButton.ClientID, "SysVariableMenuItemClick");

Дмитрий, спасибо за ответ.
Мне нужно искать OnClick в БП на "странице раздела Запросы на обслуживание"? Там нет.

Кирилл, добавляете в БП страницы сигнал "MySignal" (к примеру), после него элемент скрипт, где получаете ID записи и выполняете UPDATE. Как привязать сигнал MySignal к событию OnClick вашей кнопки контекстного меню - описано выше.

Дмитрий, спасибо.
Мне это не совсем просто дается. В какое место БП добавить сигнал? У меня в БП этой страницы куча
И сигнал какого события: начальное, промежуточное генер., промежуточное обрабатывающее, завершающее?

Здравствуйте, Кирилл!

Начиная с версии 5.4 есть возможность запускать БП по определенному событию. Дл яэтого используется элемент Сигнал (см приложение)

Здраввствуйте, Анна.
Вообще у меня 5.2 on-site и такой элемент у меня есть. Только я не пойму куда его вставить.
Кстати, а когда будет 5.4 доступна для клиентов, у которых on-site версия? И если 5.4 уже есть, есть какой-нибудь release notes?

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

Тогда как начиная с версии 5.4 БП может стартовать по событию, например, добавление или изменение объекта. Кроме того, стартовый элемент Сигнал в 5.4 имеет отдельное окно найтройки, и может быть запущен с неким фильтром. Детальнее в документации.

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