К сожалению, в Microsoft Dynamics CRM нет возможности изменить стандартные представления  (Views).  Например, при выборе Действия , по умолчанию, выводятся все активные действия на следующие 30 дней, но гораздо удобней видеть все действия. Вот пример как это сделать для MS CRM 4.0, ну и MS CRM 3.0 .

Действия на "Все"

Меняем View для Microsoft Dynamics CRM 4.0

  1. Здесь рассматривается unsupported метод, поэтому обязательно сделайте копию файла «AppGridFilterContainer.htc«. Находится файл здесь:  C:\Program Files\Microsoft Dynamics CRM Server\CRMWeb\_static\_controls\appgridfiltercontainer
  2. Редактируем файл любым текстовым редактором и в конце файла ищем следующие строки:

if(!IsNull(oCtrl.DataValue))
{
oCallback(oCtrl);

Которые мы заменим на следующий код:

if(!IsNull(oCtrl.DataValue))
{
if(oCtrl.DataValue==”LastXDays;30” || oCtrl.DataValue==”NextXDays;30” || oCtrl.DataValue==”0”)
{
oCtrl.DataValue = “All”
RefreshGridView();
}
oCallback(oCtrl);

Сохраните файл и удалите все временные файлы (Temporary Files) из IE!
Запускайте MS CRM, теперь  по умолчанию, для Действий из вкладки Контакта, Организации и Возможный сделок фильтр будет установлен на «Все» (в моем случае «All»)

Для Microsoft Dynamics CRM 3.0

В отличие от предыдущего решения для MS CRM 4.0, в тройке это же можно решить без изменения стандартных файлов, только с помощью JavaScript.

  1. Откройте сущность Contact для редактирования и в OnLoad() формы вставьте следующий код:

SetDefaultView = function(viewCombo, viewName) {
if (viewCombo.value != viewName) {
viewCombo.value = viewName;
viewCombo.FireOnChange();
}
}
areaActivityHistoryFrame_OnReadyStateChange = function() {
if (this.readyState == “complete”) {
var frame = document.frames(”areaActivityHistoryFrame”);
var viewCombo = frame.document.getElementById(”actualend”);
if (viewCombo.readyState == “complete”) {
SetDefaultView(viewCombo, “All”);
}
else {
viewCombo.onreadystatechange = function() {
if (this.readyState == “complete”) {
SetDefaultView(this, “All”);
}
}
}
}
}
areaOppsFrame_OnReadyStateChange = function() {
if (this.readyState == “complete”) {
var frame = document.frames(”areaOppsFrame”);
var viewCombo = frame.document.getElementById(”statecode”);
if (viewCombo.readyState == “complete”) {
SetDefaultView(viewCombo, “All”);
}
else {
viewCombo.onreadystatechange = function() {
if (this.readyState == “complete”) {
SetDefaultView(this, “All”);
}
}
}
}
}
areaActivitiesFrame_OnReadyStateChange = function() {
if (this.readyState == “complete”) {
var frame = document.frames(”areaActivitiesFrame”);
var viewCombo = frame.document.getElementById(”scheduledend”);
if (viewCombo.readyState == “complete”) {
SetDefaultView(viewCombo, “All”);
}
else {
viewCombo.onreadystatechange = function() {
if (this.readyState == “complete”) {
SetDefaultView(this, “All”);
}
}
}
}
}
loadArea(’areaActivityHistory’);
loadArea(’areaActivities’);
loadArea(’areaOpps’);
loadArea(’areaForm’);
document.frames(”areaActivityHistoryFrame”).document.onreadystatechange = areaActivityHistoryFrame_OnReadyStateChange;
document.frames(”areaActivitiesFrame”).document.onreadystatechange = areaActivitiesFrame_OnReadyStateChange;
document.frames(”areaOppsFrame”).document.onreadystatechange = areaOppsFrame_OnReadyStateChange;

Примечание: не забудьте ставить прямые кавычки ‘ и »

Гораздо более «поддерживаемый» метод :) Этот же код можно применить и для сущности Организации (account) и Возможной сделки (opportunity).

Оригинал здесь