Если Вы использовали статьи KB Article, то возможно, сталкивались с подобной проблемой. Рассмотрим на примере. Есть обращение, у которого на вкладке Notes and Article вставлен раздел Knowledge Base Article, где Вы можете в Lookup’е выбрать статью и, отметив checkbox «Show Article», отобразить статью в маленьком iFrame. Как оказалось, этот раздел всего лишь отображает страницу «/CS/articles/viewer/default.aspx» и передает Article ID как параметр. Эту зону нельзя подредактировать, а просматривать статью в таком маленьком окошке совсем неудобно.

ms-crm-article-default-view

С помощью некоторых изменений, уберем этот раздел совсем, добавим новую вкладку KB Article и  создадим такой же функционал на эту вкладку.

Сначала следует экспортировать кастомизацию сущности Incident (Case) и внести в нее коррективы. Открываем файл customization.xml и удаляем часть кода, который передает Article ID в раздел Knowledge Base Article.

ms-crm-delete-onchange-article

Также удаляем row, которые содержат этот раздел

ms-crm-delete-row-article

Сохраняем, импортируем в MS CRM и публикуем. Важно хранить бэкапы кастомизаций на случай ошибки.

Через CRM создайте в сущности Incident новую вкладку  с именем KB Article, добавьте раздел с именем Knowledge Base Article, в него поместите поле kbarticleid,а на OnChange этого поля пропишите следующий код:

DisplayKBArticle();
function DisplayKBArticle()
{
var oKBArticle = crmForm.all.IFRAME_KBArticle;
if (oKBArticle != null)
{
var oKBId = crmForm.all.kbarticleid.DataValue;
if (oKBId == null)
{
oKBArticle.src = oKBArticle.url;
}
else
{
oKBArticle.src=»/» + ORG_UNIQUE_NAME + «/CS/articles/viewer/default.aspx?IsRestrictedMode=true&id=» + oKBId[0].id;
}
}
}

Включите событие и сохраните.  Добавьте в этот же раздел iFrame с такими настройками:

Name: IFRAME_KBArticle

URL: /_static/blank.htm

На вкладке Dependencies добавьте Knowledge Base Article.

Включите событие OnLoad сущности Incident и добавьте в него следующий скрипт:

if (crmForm.FormType == 2)
{
DisplayKBArticle();
}

function DisplayKBArticle()
{
var oKBArticle = crmForm.all.IFRAME_KBArticle;
if (oKBArticle != null)
{
var oKBId = crmForm.all.kbarticleid.DataValue;
if (oKBId == null)
{
oKBArticle.src = oKBArticle.url;
}
else
{
oKBArticle.src=»/» + ORG_UNIQUE_NAME + «/CS/articles/viewer/default.aspx?IsRestrictedMode=true&id=» + oKBId[0].id;
}
}
}

Сохраняем, публикуем и открываем запись с Обращением, получаем такую вот вещь:

ms-crm-article-corrected-view

Прикладываю customization.xml, в котором содержится  кастомизация только сущности Incident. Не забывайте, что если у вас были внесены какие-то изменения в данную сущности, то после публикации  этой кастомизации они пропадут.

За основу данного поста взят пост Display KB Article Your Way.