2015-03-31 3 views
1

Я новичок в jscript и имею проблемы, чтобы получить все элементы в подсете. Я попробовал код из этого сайтов,MS Dynamics CRM 2011, Получить элементы subgrid из другой формы

Retrieve rows in crm2011 subgrid with JScript

https://lakshmanindian.wordpress.com/2012/05/25/retrieve-subgrid-rows-in-crm-2011-using-jscript/

но получить каждый раз, когда сообщение об ошибке:

(Перевод)


Ошибка в пользовательское событие поля

поле: окно

Событие: OnLoad

Ошибка: Предпочтение «контроль» в неопределенном или нулевой ссылки нельзя назвать.


Последний код, который я попробовал:

var grid = document.getElementById("accountContactsGrid").control; 
for (var rowNo = 0; rowNo<grid.getRecordsFromInnerGrid().length; rowNo++) 
    for (var cellNo = 0; cellNo<grid.getRecordsFromInnerGrid()[rowNo][3].cells.length; cellNo++) 
    alert(grid.getRecordsFromInnerGrid()[rowNo][3].cells[cellNo].outerText); 

Я попробовал его на счет лица (компании) с Подсеточным "accountContactsGrid".

Моя основная цель - поймать все назначенные элементы в форме учетной записи и перечислить ее в форме контактов. Но только если установлен флажок «Eko».

Это мой рабочий код до сих пор:

var chkEko = Xrm.Page.getAttribute("testcrm_ekonomi").getValue(); 
if (chkEko === true) 
{ 
    alert("Eko active: " + chkEko); 
} 
else 
{ 
    alert("Eko not active: " + chkEko); 
} 
+0

Вы ищете что-то, как показано ниже? [Как написать в JQuery «window.parent.document.getElementById ('parentPrice'). InnerHTML»?] [1] [ориентируетесь родительское окно с помощью JQuery] [2] [1]: http://stackoverflow.com/questions/726816/how-to-write-this-in-jquery-window-parent-document-getelementbyidparentprice [2]: http://stackoverflow.com/questions/18372746/targeting-the-parent-window-using-jquery – Renjith

+0

Не жалко, что я ищу код Xrm (CRM), чтобы поймать элементы в сетке. Я должен использовать это, потому что мне нужно получить данные из другой формы. Насколько я понимаю, единственный способ получить элементы из других форм - это только путь Xrm ... – user3772108

+0

Как насчет того, чтобы вы извлекали эти записи, вы делаете вызов с помощью oData или Fetch и получаете все связанные сущности со своим родительским правом? – Sxntk

ответ

0

Через некоторое время и помощь некоторых потоков я был в состоянии получить информацию о этой сетки. Но теперь у меня есть проблема, чтобы поймать элементы. Я искал переменную «сетка» и обнаружил, что переменная является объектом. Поскольку я не знаю свойств объектов, я пытался их получить. Но кажется, что мой код не работает, и я не могу понять, почему. Вот код до сих пор:

function subgridItemCount() { 

// Get the Subgrid Control 
var grid = Xrm.Page.ui.controls.get('accountContactsGrid')._control; 

var keys = Object.keys(grid); 

var getKeys = function(obj){ 
    var keys = []; 
    for(var key in obj){ 
     keys.push(key); 
    } 
    return keys; 
} 
    for(var i = 0; i<keys.length; i++) { 
    document.write(keys[i]);  
    } 
} 

Сначала я хотел, чтобы получить свойство объекта, а затем PropertyValue. Или есть другой способ получить все значения объекта?

0

Кажется, что я ошибаюсь. Это то, что я пытаюсь сделать:

В форме account/company используется существующая сетка, которая называется Contacts. В этом поле назначаются определенные контакты (с кнопкой «добавить существующий контакт»).

Теперь, когда я открываю какой-либо Контакт, должен быть поле/сетка/iframe со списком всех компаний, которым назначен этот контакт.

Этот список должен быть связан с компаниями (когда я нажимаю на них, CRM должен открыть форму).

Может кто-нибудь может дать мне совет? Мой план был первым, чтобы искать все компании, а затем сравнить назначенные контакты с открытым с помощью некоторого Jscript.Затем сценарий должен отображать все соответствующие контакты в форме контакта.

Этот способ не очень эффективен, так как сценарий должен сначала прочитать все компании. Но я не знаю другого способа ...

Смежные вопросы