Передача данных из окна веб-ресурса html в MS Dynamics CRM

Мне нужно передать данные (массив строк) из окна веб-ресурса HTML в форму. Обратите внимание, что окно означает окно (оно НЕ внедрено в форму CRM, НЕ является диалогом, это окно, открытое из формы). Я использовал Xrm.Utility.openWebResource. Мне нужно либо повлиять на поля в форме или вызвать функцию JS на форме. Любая помощь приветствуется.

PS "onunload" игнорируется Chrome

1 ответ

Решение

Попробуйте что-то вроде этого. Вызов функции из потомка в родительском window.opener выполнимо Также вам нужна библиотека Json для сериализации / десериализации, чтобы объекты могли передаваться между окнами.

В родительском окне CRM:

function openWebResource() {   
    var popupWindow = Xrm.Utility.openWebResource(...);
}

function callFunction(myObjects) {
    var entity = JSON.parse(myObjects);

    if (entity) {
           var value = new Array();
           value[0] = new Object();
           value[0].id = entity.Id;
           value[0].Name = entity.Name;

       // do your logic here
    }
}

Во всплывающем окне (веб-ресурс):

function callParent() {
    var entity = {};
    entity.Id = 1;
    entity.Name = “test”;

    var arr = JSON.stringify(entity);
    window.opener.callFunction(arr);
}
Другие вопросы по тегам