Данная функция делает поле динамически обязательным или рекомендуемым. Скопируйте функцию в событие 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;
}
}
Источник
Наверняка вы уже знакомы с решением от Jim Wang для выбора нескольких значений из picklist MS CRM, а стиль самого picklist был изменен с добавлением чекбоксов.

Отличное решение, но, иногда, возникает необходимость выбирать все элементы из списка и если значений много, то будет неудобно выбирать каждое по отдельности. Поэтому вот небольшой javascript сниппет, который позволяет решить данную задачу.
Читать полностью »
При создании атрибута типа Datetime вы можете выбрать два варианта его отображения: только дата,дата и время. Ну а если нужно только время?
Можно создать атрибут типа DateTime, выбрать отображение Дата и время и средствами javascript на форме уже спрятать часть с датой.
Так как часть с временем недоступна по умолчанию (пока не будет заполнена часть с датой), следует присвоить начальное значение полю и потом уже прятать дату.
crmForm.all.new_field.DataValue = new Date();
document.getElementById(«new_field»).childNodes[0].childNodes[0].style.display = «none»;
document.getElementById(«new_field»).childNodes[0].childNodes[1].style.display = «none»;
где new_field-ваше поле DateTime.
В одном из постов я описывал как создать Автонумератор для Microsoft Dynamics CRM 4.0 с помощью механизма Workflow . Этот пример был больше ознакомительным с механизмом Workflow и использовать его на практике вызовет ряд неудобств. Сегодня я опишу как создать автонумерацию для любой сущности с помощью плагина. За основу был взят вариант http://www.codeplex.com/crmnumbering/ и немного модернизированный «под себя» с реализованной возможностью задавать префикс для генерируемого номера и более гибкой возможность настройки 
Читать полностью »
Обычно, чтобы предупредить пользователя о чем-то, используют алерты, но это не всегда удобно, можно пользоваться своими уведомлениями:

пользовательские уведомления
как, например, это по умолчанию сделано в CRM:

Например, при создании продукта
Marco Amoedo предложил код, который можно использовать для вставки своих уведомлений. Вот пример:
Читать полностью »