Кастомизация
25
Янв
3

Skype me!

Рассмотрим простой способ «интеграции» MS CRM и Skype. Вся реализация будет состоят собственно из Skype’а, иконок и JavaScript. Приступим:

  • Ключевым конпонентом конечно же является Skype: поэтому скачайте его и установите (а также запустите и заведите себе учетку, если у Вас ее еще нет);
  • Создайте новую папку в папке <сайт CRM>\ISV\ подпапку skype и поместите в нее специальные иконки;
  • Повесьте на onLoad формы такой скрипт:
    // Функция добавления Skype-кнопок к полю
    function attachCRMbutton(currentfieldName, lenght, call, chat, add) {
        // Получаем родительский DIV элемент поля
        var parentObject = document.getElementById(currentfieldName).parentNode;
        
        // Создаем HTML-таблицу с одной строкой
        var myTable = document.createElement("Table");
        myTable.setAttribute('width', '100%');
        myTable.setAttribute('cellSpacing', '0');
        myTable.setAttribute('cellPadding', '0');
        var myRow = myTable.insertRow(0);
    
        // Создаем в таблице две ячейки
        var originalChildNodesArea = myRow.insertCell(0);
        var buttonArea = myRow.insertCell(1);
        buttonArea.style.width = lenght; // Ширина ячейки с кнопками
    
        // Помещаем исходное поле в в первую ячейку
        for (var i = 0; i < parentObject.childNodes.length; i++) {
            var myChild = parentObject.childNodes[i];
            originalChildNodesArea.appendChild(myChild);
        }
        // Добавляем таблицу в исходный DIV элемент
        parentObject.appendChild(myTable);
    
        if (call) {
            // Создаем кнопку
            var myCallButton = document.createElement('<a href="skype:' + eval('crmForm.all.' + currentfieldName + '.DataValue') + '?call">');
    
            var myCallImg = document.createElement('<img src="/ISV/skype/call.png">');
            myCallImg.style.marginLeft = "6px";
            myCallButton.appendChild(myCallImg);
            buttonArea.appendChild(myCallButton); // Помещаем кнопку во вторую ячейку
        }
    
        if (chat) {
            // Создаем кнопку
            var myChatButton = document.createElement('<a href="skype:' + eval('crmForm.all.' + currentfieldName + '.DataValue') + '?chat">');
    
            var myChatImg = document.createElement('<img src="/ISV/skype/chat.png">');
            myChatImg.style.marginLeft = "6px";
            myChatButton.appendChild(myChatImg);
            buttonArea.appendChild(myChatButton); // Помещаем кнопку во вторую ячейку
        }
    
        if (add) {
            // Создаем кнопку
            var myAddButton = document.createElement('<a href="skype:' + eval('crmForm.all.' + currentfieldName + '.DataValue') + '?add">');
    
            var myAddImg = document.createElement('<img src="/ISV/skype/add.png">');
            myAddImg.style.marginLeft = "6px";
            myAddButton.appendChild(myAddImg);
            buttonArea.appendChild(myAddButton); // Помещаем кнопку во вторую ячейку
        }
    }
    
    // Вызов функции attachCRMbutton для добавления Skype-кнопок к полю
    // Параметры: имя поля, длинна ячейки зарезервированной под кнопки, кнопка звонка, кнопка чата, кнопка добавления контакта в свой список в Skype'е
    attachCRMbutton('telephone1', 25, true, false, false);
    attachCRMbutton('new_skype', 45, false, true, true);
    

    Этот скрипт состоит из функции, которая присоединяет справа к указанному полю одну, две или три кнопки, каждая из которых делает одну из следующих вещей: начинает чат с контактом, выпоняет звнок указанному контакту (или телефонному номеру) или добавляет контакт в свой список контактов.
    Соответственно оформите вызов функции attachCRMbutton нужным Вам образом;

  • Загружаем и форму и кликаем 🙂



Комментарии (3)
  • Ян 25.01.2011

    Скажите, а в 2011 что надо в скрипте изменить, а то он ругается если поле пустое

  • slivka_83 25.01.2011

    Все нада изменить 🙂 его нужно переписывать под синтаксис CRM 2011 🙂

  • Ян 25.01.2011

    Кстати со скриптом все само собой решилось после установки Rollup5 для CRM 2011. Все стало чудесным образом работать. Сдается мне — это связано с появлением возможности вставлять гиперссылки.

*

code