Полями двойного типа я называю поля поиска, которые могут содержать идентификаторы записей различных типов.

Например, поле Потенциальный клиент в Возможной сделке может содержать идентификатор записи типа Организация и типа Контакт. Если нажать на кнопку поиска в этом поле, то CRM предложит нам определиться с типом записи:

Такая, безусловно, удобная функциональность вносит определенные проблемы при разработке бизнес-процессов.

Рассмотрим это на примере обработки экземпляра Возможной сделки (ВС) в бизнес-процессе (БП).

Читать полностью »

Часть 2. Разработка бизнес-процессов

Наконец-то появилось немного свободного времени (и как всегда – в выходные L), чтобы выполнить данное в прошлой статье обещание: рассказать о собственно разработке бизнес-процессов (БП) для автоматизации сделки. Итак, приступим…

Создание нового решения

Для написания БП нам понадобится настроить несколько сущностей: изменить существующие поля. Такую кастомизацию лучше всего выполнять в отдельном решении. Что такое Решение и как с ним работать – отдельная тема. И я надеюсь, вы ее уже освоили.

Создадим новое решение с именем Automation (отображаемое имя Автоматизация сделки).

и включим в него две сущности: Возможную сделку и Задачу.

Читать полностью »

Часть 1. Почему нужно автоматизировать ведение сделки и бизнес-процессы с ожиданием

Сегодня мы поговорим о правильном построении бизнес-процессов (БП) в CRM.

Наиболее известный из них – это автоматизация ведения Возможной сделки. Суть БП заключается в разбивке процесса продажи на несколько этапов, отличающихся вероятностью осуществления сделки.

В Интернете можно найти некий классический подход в построении БП сопровождения сделки в CRM. Обычно выделяют 6 этапов БП: Встреча (10%), Переговоры (20%), Договор (50%), Счет (70%), Заказ (90%), Реализация (95%). В скобках указана вероятность реализации сделки на каждом из этапов. Конкретные значения, естественно, целиком зависят от специфики бизнеса. Например, в нашей компании принято считать, что заключение договора – это еще полдела: ведь заказчик может заплатить не все деньги или вообще расторгнуть договор из-за отсутствия финансирования (с гос.структурами сегодня это происходит все чаще).

Для чего нужен этот БП в CRM?

Читать полностью »

В MS CRM 2011 Form Assistant  по умолчанию отключен во всех сущностях, кроме трех:

  • Case (incident)
  • Product
  • Service Activity (serviceappointment)

Для этих сущностей Form Assistant можно отключить установкой <form> (FormXML)enablerelatedinformation атрибута в false.

Или же воспользоваться JavaScript:

document.getElementById(‘tdRelatedInformationPane’).style.display = ‘none’;

Данная функция делает поле динамически обязательным или рекомендуемым. Скопируйте функцию в событие OnLoad и вызовите как указано в комментариях в примере:

//****************************************************
gSetFieldRequired = function (field, src, height, width){

/*
Description: This function is used to dynamically make a field required, recommended in JavaScript
Params:    field  = name of the field
src  = url with image eg. /_imgs/frm_required.gif
height =  number, optional e.g. 50
width  =  number optional e.g. 50
Returns:   nothing
Example 1 :  gSetFieldRequired(, 'new_partweight', 'required');     = add *-sign to label
Example 2:   gSetFieldRequired( 'new_partweight', 'recommended');     = add +-sign to label
Example 3:   gSetFieldRequired(, 'new_partweight', 'none');      = no image
Calls:    nothing
Author:  Geron Profet
*/

var attribute = document.getElementById(field);
if (!attribute){return};

switch(src.toLowerCase())
{
case 'required':
src = '/_imgs/frm_required.gif';
attribute.setAttribute('req', 2);
break;
case 'recommended':
src = '/_imgs/frm_recommended.gif';
attribute.setAttribute('req', 1);
break;
case 'none':
src = ''
attribute.setAttribute('req', 0);
break;
}

//if src is passed add image
if (src != '') {
var img = document.createElement("img");
img.setAttribute('src', src);

//check if custom height and width
if (height && height != '' ){img.setAttribute('height', height);}
if (width && width != '' ){img.setAttribute('height', width);}
//img.setAttribute('width', width);

var objLabel = document.getElementById(field+'_c');
if (objLabel){objLabel.appendChild(img)};
}
else{
document.getElementById(field+'_c').innerHTML = document.getElementById(field+'_c').innerText;
}
}

Источник


© 2009-2012 Microsoft Dynamics CRM | Авторы: Афендиков Константин и Головчан Екатерина |