Заполнение полей в карточке звонка во время действия CallToNumber из карточки контакта или контрагента
Доброго времени суток, коллеги!
И, в продолжение Темы звонков мы с Вами будем модернизировать этот замечательный функционал!
Как было замечено, по клику на «ссылку позвонить», в карточку звонка не подтягиваются данные контакта из карточки контакта. Требуется небольшая доработка, чтобы это исправить. Но, хочу заметить, что это не является ошибкой, просто данный функционал не предусматривался в коробочной версии при работе с ссылками типа calltonumber. Изначально совершение звонка передавалось в программу для звонков по умолчанию на уровне операционной системы, а это может быть что угодно - и скайп, и телефония.
Для реализации поставленной цели, запустим Terrasoft Administrator. Откроем сервис Common\Library\CommunicationActionSmartTag\scr_CommunicationActionSmartTag и найдем в нем функцию HandleCommunicationActionSmartTag().
В указанную функцию следует добавить следующие изменения:
- Строка var dlDataDataset = ParentWindow.ComponentsByName('dlData').Dataset;
- Переменная dlDataDataset в принимаемые параметры функции ProcessCommunicationAction()
//added current Dataset value
var dlDataDataset = ParentWindow.ComponentsByName('dlData').Dataset;
ProcessCommunicationAction(DataControl.DataField.Tag,
DataControl.DataField.Value,dlDataDataset);
Затем, в этом же сервисе, следующая функция ProcessCommunicationAction():
- В объявление функции добавьте принимаемый параметр Dataset
- Условие if (Assigned(Dataset)) { Params.Dataset = Dataset; }
if (Assigned(Dataset)) {
Params.Dataset = Dataset;
}
// -------------------------
После этого, перейдите к сервису Common\Library\scr_HyperlinkUtils, найдите функцию HyperlinkCallToNumber() и внесите в нее изменения:
var USI = ExtractUSICodeEx(Params.Dataset.USI);
if (USI == 'ds_Contact') {
DefaultValues('ContactID') = Params.Dataset('ID');
DefaultValues('AccountID') = Params.Dataset('AccountID');
}
Сохраните изменения, проверьте работу.
Логика работы в условии if, переведенная здесь чуть выше - примерная. Измените ее по своему Вкусу, в зависимости какой USI датасета Вы получаете.
Нравится