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 нужным Вам образом; - Загружаем и форму и кликаем 🙂
Скажите, а в 2011 что надо в скрипте изменить, а то он ругается если поле пустое
Все нада изменить 🙂 его нужно переписывать под синтаксис CRM 2011 🙂
Кстати со скриптом все само собой решилось после установки Rollup5 для CRM 2011. Все стало чудесным образом работать. Сдается мне — это связано с появлением возможности вставлять гиперссылки.