Получить всплывающие окна CRM, чтобы обновить открывающееся окно - PullRequest
0 голосов
/ 30 декабря 2008

Я загружаю окно Microsoft CRM 4.0 со страницы внутренней сети, используя window.open (...).

Когда окно закрывается, мне нужно программно нажать кнопку на странице, которая его открыла. Я могу сделать это из собственной формы, получив кнопку (имя которой передается в строке запроса) и выполнив ее метод click в JavaScript.

Я подумал, что мог бы попытаться открыть свое собственное окно с фреймом, содержащим страницу CRM, как я это делаю с другими веб-системами в нашей Интранете. На странице я могу затем нажать кнопку в событии onunload страницы. Однако, хотя это работает для большинства наших систем, с CRM я получаю две проблемы.

  1. Если я открою окно и просто закрою его, я получу ошибку CRM.
  2. Если я нажимаю кнопку «Сохранить и закрыть» в окне CRM, он сохраняется, но не закрывается.

Есть ли решение для этого?

Ответы [ 2 ]

1 голос
/ 06 января 2009

Вы могли бы сделать что-то вроде использования базового вызова javascript window.opener.

Страница 1 открывает окно CRM. В OnSave этого окна CRM вы вызываете что-то вроде этого:

if(window.opener.DoSomeFunction != null)
  {
     window.opener.DoSomeFunction;
  }

Где DoSomeFunction () - это определенная функция JavaScript на странице 1. Вы можете использовать вызов PageMethod или __doPostBack (). У меня не было возможности попробовать это в MS CRM, но теоретически этот подход может сработать.

Ссылка на javascript window.opener:

http://www.dotnetspider.com/resources/22146-How-call-parent-page-javascript-function-from-popup-window.aspx

http://www.webreference.com/js/tutorial1/opener.html

0 голосов
/ 31 декабря 2008

Не являются ли ошибки, вызванные предотвращением межсайтовых скриптов? Если приложение интрасети и CRM не находятся на одном и том же сервере, пересылка данных между ними является досадно трудной.

Извините, если я не совсем понимаю, чего вы хотите достичь, но я не могу полностью визуализировать ваше описание. Может быть, простой эскиз / рисунок поможет?

В настоящий момент я работаю с Dynamics CRM и с радостью помогу, поскольку мы столкнулись с множеством проблем, и нам пришлось изобретать многочисленные обходные пути. Рад поделиться.

...