Доброго времени суток, коллеги!
И, в продолжение Темы звонков мы с Вами будем модернизировать этот замечательный функционал!
Как было замечено, по клику на «ссылку позвонить», в карточку звонка не подтягиваются данные контакта из карточки контакта. Требуется небольшая доработка, чтобы это исправить. Но, хочу заметить, что это не является ошибкой, просто данный функционал не предусматривался в коробочной версии при работе с ссылками типа calltonumber. Изначально совершение звонка передавалось в программу для звонков по умолчанию на уровне операционной системы, а это может быть что угодно - и скайп, и телефония.
Для реализации поставленной цели, запустим Terrasoft Administrator. Откроем сервис Common\Library\CommunicationActionSmartTag\scr_CommunicationActionSmartTag и найдем в нем функцию HandleCommunicationActionSmartTag(). 
В указанную функцию следует добавить следующие изменения:
- Строка var dlDataDataset = ParentWindow.ComponentsByName('dlData').Dataset;
 
- Переменная dlDataDataset в принимаемые параметры функции ProcessCommunicationAction()
 
        var DataControl = ParentWindow.ComponentsByName(ActionMenuItem.Tag);
        //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; }
 
// add dataset to Params Array
                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 датасета Вы получаете.