Рассмотрим задачу: позвонить из BPMonline на городской/сотовый номер. Самое простое, что приходит в голову - это звонить через скайп. Как реализовать именно такой сценарий, я и покажу сегодня на примере раздела "Контрагенты" в семерке.
Для всяких дополнительных действий с записями реестра в семерке by design используется меню "Действия" (как ни странно). Туда и добавим наш функционал. Как только пользователь выбирает контрагента, в действиях появляется пункт "Позвонить в Skype":
Номер телефона берется из основного средства связи для контрагента. После подтверждения сразу пойдет набор номера:
Собственно, к самому интересному - к коду:
function(sandbox, Account, structure, resources, MaskHelper, BaseFiltersGenerateModule) {
structure.userCode = function() {
this.methods.callViaSkype = function() {
var selectedId = this.get("activeRow");
var collection = this.get("gridData");
var selected = collection.get(selectedId);
var number = selected.get("Phone");
var callLink = document.createElement('a');
callLink.href = 'skype:' + number + '?call'
document.body.appendChild(callLink);
callLink.click();
document.body.removeChild(callLink);
};
this.methods.getActiveRowSelected = function() {
return this.get("activeRow") ? true : false;
};
var actions = this.actions ? this.actions : [];
actions.push({
caption: '',
className: 'Terrasoft.MenuSeparator'
}, {
caption: resources.localizableStrings.SkypeCall,
methodName: "callViaSkype",
enabled: {
bindTo: "getActiveRowSelected"
}
});
this.actions = actions;
}
return structure;
});
Весь код состоит из определения текущего выбранного контрагента, поиска его номера и формирования skype-ссылки, по которой будет осуществляться переход-звонок.
Все гениальное просто, все вопросы - в комментарии.
Александр, добрый день.
Хорошо получилось.
А есть идея как сделать тоже звонок, но уже через кнопку рядом с номером телефона. Возможно не на AccountSection, а на AccountPage.т.е. получается рядом с каждым телефоном будет кнопка (со значком трубки), по нажатию которой будет проводится определённое событие.
"Кашапов Ренат" написал:А есть идея как сделать тоже звонок, но уже через кнопку рядом с номером телефона
Ренат, не совсем понятно, в чем проблема? Если нужно добавить кнопку на страницу, то это тоже можно сделать, а дальше с помощью CSS задизайнить, как надо.