Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
MVP 2010, 2011
- Консалтинг
- Проектирование
- Разработка
- Обучение
MVP 2010, 2011
Отправка почты по MAPI
Запись от Артем Enot Грунин размещена 19.11.2009 в 16:38
Теги contact, dom, email, java script, router
На написание данного поста меня вдохновил пример отсюда: Easy Emailing from a CRM Contact Record. С другой стороны тут же возник вопрос: зачем делать из метки кнопку? Куда логичнее и понятнее для пользователя будет сделать из нее ссылку с понятным хинтом при наведении курсора. В результате вышло вот что:
Интеграция с почтой - это извечно больной вопрос для MS CRM системы. К сожалению, тут часто приходится выбирать между удобством и здравым смыслом, например если мы будем отправлять почту через Outlook, то будут неадекватно работать уведомления из БП, а если через роутер, то письма не попадут в папку исходящие, что иногда критично. Последний маразм, впрочем, можно отнести к огрехам в реализации Exchange. Дело в том, что он берет на себя роль POP3 сервера, но роль SMTP оставляет на совести операционной системы. В результате почта идущая по этому протоколу промахивается мимо его почтовых баз. Метод описанный мной никак этого не исправляет, но он хотя бы избавляет нас от убогих стандартных средств отправки почты. Если работает отслеживание - то это уже шаг вперед.
Код:
var oEmail = crmForm.all.emailaddress1; var MSG_EM_CLICK_HINT = "Нажмите чтобы отправить e-mail"; var MSG_EMAIL_IS_NULL = "Не заполнен адрес элекронной почты"; var ALERT_JS = "javascript:alert('" + MSG_EMAIL_IS_NULL + "');"; HighlightEmail(oEmail); function HighlightEmail(oEmail) { var oLabel = crmForm.all[oEmail.id + "_c"]; // Текст ссылки var oLabelText = oLabel.innerText; // Замена кода элемента oLabel.innerHTML = "<A title='" + MSG_EM_CLICK_HINT + "' href='' style='text-decoration:underline;color:blue;'>" + oLabelText +"</A>"; var oAddress = oEmail.DataValue; oLabel.firstChild.href = oAddress != null ? ("mailto:" + oAddress) : ALERT_JS; // В случае изменения e-mail oEmail.attachEvent("onchange", function(){ var oAddress = oEmail.DataValue; oLabel.firstChild.href = oAddress != null ? ("mailto:" + oAddress) : ALERT_JS; }); }
Всего комментариев 0