Изменение основного вида сетки действий в CRM 4.0 с использованием JavaScript - PullRequest
1 голос
/ 26 октября 2010

У меня есть задача изменить значки конвертов на главной странице представления «Действия» («Рабочее место», «Моя работа» -> «Действия») для каждой строки в сетке в зависимости от пользовательского статуса строки в crm 4.0.Мне нужно сделать это с помощью JavaScript.Кто-нибудь знает, есть ли способ сделать это и где должен быть размещен код JavaScript?Я предполагаю, что мне нужно перехватить событие сетки onLoad, пройти сетку, проверить условие и щелкнуть URL-адрес значка.Но я не могу понять, как подключиться к этому событию ...

Большое спасибо!

Я получил несколько очень полезных советов, и вот что я получил до сих пор.
1.Я добавил SiteMap для загрузки пользовательской страницы вместо страницы по умолчанию (/workplace/home_activities.aspx)
2. Вот код пользовательской страницы, размещение onreadystatechange в html было единственным способом, которым я мог заставить эту функциюзапустить.Не знаю почему.

HTML>
HEAD>
TITLE>
script language="javascript" type="text/javascript">
function Run()
{
 var objIframe = getIframe();

   if(objIframe.readyState == "complete")
   {
    var docFrame = objIframe.contentWindow.document;
    var grid = docFrame.getElementById("crmGrid");

    var allRecords = grid.InnerGrid.AllRecords;

    for(var i=0; i 

<pre>
function getIframe()
{
   return document.getElementById("wraperActivitiesFrame");
}
/ script> / HEAD> body> iframe id = "wraperActivitiesFrame" src = "/ workplace / home_activities.aspx" WIDTH = "100%" HEIGHT = "100%" onreadystatechange = "Run ()">/ HTML>

Проблема, с которой я столкнулся сейчас, заключается в том, что эта функция не запускается снова, когда я пытаюсь просмотреть таблицу.У меня есть 2 страницы деятельности;когда страница загружается в первый раз - у меня появляются окна с предупреждениями, но когда я нажимаю стрелку «страница 2» - ничего не происходит.Зачем???Что я делаю не так?

1 Ответ

0 голосов
/ 26 октября 2010

Вы вроде можете подключиться к этому событию.Вы создаете HTML-страницу «обертку», которую загружаете в CRM вместо сетки действий по умолчанию через Sitemap.Эта оболочка содержит полноразмерный IFrame, в который вы загружаете фактическую сетку, и в обработчике IFrame onreadystatechange (для readyState == 4) вы просматриваете DOM сетки (jQuery может сделать это немного проще, ноЯ сам почти не использовал jQuery) и делаю все необходимые изменения (это означает, что JavaScript входит в HTML-страницу оболочки).Если вы позвоните по номеру setInterval и попробуете это сделать, это будет даже безопасно для обновления сетки и просмотра страниц.

...