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

Меняем View для Microsoft Dynamics CRM 4.0
- Здесь рассматривается unsupported метод, поэтому обязательно сделайте копию файла «AppGridFilterContainer.htc«. Находится файл здесь: C:\Program Files\Microsoft Dynamics CRM Server\CRMWeb\_static\_controls\appgridfiltercontainer
- Редактируем файл любым текстовым редактором и в конце файла ищем следующие строки:
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.
- Откройте сущность 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).
Оригинал здесь

14.05.2010 в 14:30
Что то не получается у меня так как у Вас написано в СРМ 4.
Всё делаю правильно, но ничего не меняется
14.05.2010 в 20:31
Очистите кеш браузера, у меня из-за это не менялось
17.05.2010 в 06:29
Да чистил и всё равно
17.05.2010 в 06:31
Может проблемы в том, что у меня русский CRM? Хотя value всё равно на англ
28.01.2011 в 17:44
Действительно для CRM 4.0 рецепт не работает..
29.01.2011 в 11:52
Что-то у меня тоже не отрабатывает рецепт для MS CRM 4.0
29.01.2011 в 14:34
Работающее решение для 4-ки выглядит вот так: http://social.microsoft.com/Forums/en-US/crmdevelopment/thread/3dc25fa6-6875-4cae-879b-c179caa24bdf
29.01.2011 в 14:50
Странно, я публикую то, что сам попробовал и что работает. Хорошо, что нашли 2й вариант