Передача данных из окна веб-ресурса 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);
}