Pergunta

Eu estou carregando uma janela do Microsoft CRM 4.0 a partir de uma página Intranet usando window.open (...).

Quando os fecha a janela, eu preciso dele para pressionar programaticamente um botão na página que abriu. Eu posso fazer isso de minha própria forma, obtendo o botão (cujo nome é passado na querystring) e executar o seu método clique em JavaScript.

Eu pensei que eu poderia tentar abrir minha própria janela com um iframe que contém a página CRM como eu faço com outros sistemas baseados na web em nossa intranet. Na página Posso, então, clique no botão no evento onunload da página. No entanto, embora isso funciona para a maioria dos nossos sistemas, com CRM eu recebo dois problemas.

  1. Se eu abrir uma janela em seguida, basta fechá-lo recebo um erro de CRM.
  2. Se eu pressione o botão Salvar e fechar da janela de CRM ele salva, mas não fecha.

Existe uma solução para isso?

Foi útil?

Solução

Você poderia fazer algo como usar uma chamada básica javascript window.opener.

Page 1 abre uma janela de CRM. No OnSave dessa janela CRM você chama algo como isto:

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

Onde DoSomeFunction () é uma função javascript definido na Página 1. O que você poderia usar um uma chamada __doPostBack () PageMethod ou. Eu não tive a oportunidade de experimentar isso dentro MS CRM, mas, em teoria, esse trabalho abordagem poder.

Referência em window.opener javascript:

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

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

Outras dicas

Não são os erros causados ??pela prevenção cross-site-scripting? A menos que o aplicativo de intranet e residir CRM no mesmo servidor, enviando dados e para trás entre eles é irritantemente difícil.

Desculpe se eu não entendo exatamente o que você quer realizar, mas não posso inteiramente visualizar sua descrição. Talvez um simples esboço / desenho vai ajudar?

Eu estou trabalhando com Dynamics CRM-me no momento e estou feliz em ajudar, uma vez que corri em todos os tipos de problemas com ele e teve que inventar inúmeras soluções alternativas. Feliz por ação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top