Principales respuestas
Obtener fetchxml desde javascript

Pregunta
-
hola
estoy abriendo una pagina asp.net desde una Vista
el usuario crea custom view con filtros o checkea determinadas entidades, yo necesito obtener los mismo datos en el aspx
necesito obtener el fetchxml geenrado por la vista, desde el aspx
es posible obtener el fetchxml usando javascript ?
estoy usando CRM 2011
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina
- Editado Leandro TuttiniMVP lunes, 22 de abril de 2013 20:12
Respuestas
-
Hola Leandro
Bueno, el advFind solo existe en la pagina de la búsqueda avanzada. Es por ese motivo que (hablando del ejemplo de codeplex) se creo un boton en el ribbon de la busqueda avanzada.
Si tu quieres usar el boton, desde la vista normal de cuenta, te recomienda buscar el siguiente id effectiveFetchXml. Este tag, contiene el fetch actual de la vista que se selecciona
Salu2 Atilin | http://www.dexrm.com
- Propuesto como respuesta Demian Adolfo RaschkovanMVP, Moderator jueves, 25 de abril de 2013 15:52
- Marcado como respuesta Leandro TuttiniMVP viernes, 26 de abril de 2013 7:15
Todas las respuestas
-
Hola Leandro, para leer lo seleccionado, te recomiendo este ejemplo que esta aquí y lo explica bien:
Para recoger el fetchXML desde el ribbon tienes el ejemplo aquí (http://sliong.wordpress.com/2012/10/18/crm-2011-add-custom-ribbon-button-on-application-ribbon-advanced-find/)
en resumen esta aqui:
var
fetchXml = advFind.FetchXml;
suerte y un abrazo
Demian Adolfo Raschkovan Blog: http://crmtoall.blogspot.com If this post answers your question, please click "Mark As Answer" on the post and "Mark as Helpful"
-
hola
gracias por la ayuda
estuve revisando el codigo y eso del advFind.FetchXml seria genial, pero me pregunto que libreria .js deberia definir en el aspx que estos creando para tener acceso a ese advFind ?
estos buscando info sobre advFind, pero no logro ver de donde sale
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
-
hola Cristian
gracias por la repuesta, revise los link, pero aun no me queda claro de donde sale advFind
- habia pensado que era algun .js que debia definir en un <script> en mi pagina aspx
- habia evaluado de usar document.opener.advFind para ver si se tomaba como un objeto de la pagina padre que seria el crm
ninguna de las dos dio resultado
-----
el tema seria como obtener el FetchXml desde una pagina aspx, usando javascript
lo loco es que al crear un report de Reporting Service este recibe por parametro el FetchXml, el cual estoy usando en una dll que integro para obtener la seleccion de la view que el usuario creo o de las entidades que marco
yo no se que tipo de accion realizo el usuario, si es que selecciono algunos clientes o simplemente definio una vista custom al momento de lanzar la pagina, pero si necesito tener el FetchXml que esto genera para volver a lanzarlo y recuperar las entidades
Nota: mofique la ribbon de crm para poner un boton que lanza la pagina aspx que estoy creando
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Editado Leandro TuttiniMVP martes, 23 de abril de 2013 20:26
-
-
Hola Leandro,
En primer lugar.. bienvenido al mundo CRMistico jejeje...Bueno te comento, el advFind es la id de la pagina de la búsqueda, es decir, cuando haces una busqueda avanzada, la pagina donde tu generas la busqueda (remarcado en azul) es la advFind
Ahora, el FtechXml, es uno de sus atributos por así decirlo, el cual almacena el FetchXml
que haz generado previamente, en mi eejmplo, he buscado todas las cuentas de Spain.
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="account"><attribute name="name"/><attribute name="primarycontactid"/><attribute name="telephone1"/><attribute name="accountid"/><order attribute="name" descending="false"/><filter type="and"><condition attribute="address1_county" operator="eq" value="Spain"/></filter></entity></fetch>
Para poder sacar todos estos datos, abre el developer toolbar, te será de mucha ayuda.
Salu2 Atilin | http://www.dexrm.com
-
hola Atilio
que bueno has arrojado un poco de luz al tema, la verdad pense que seria mas facil armar una pagina tomando los valores de la view
ahora una pregunta, el boton que lanza la pagina lo tengo en la view de la entidad, o sea no la estoy lanzando desde la ventana de Advanced Filter
con Developer tools estaba buscando si existia este advFind en la view en este caso del account, de esta forma usando el
window.opener
poder acceder al xml
pero no pude localizarlo, sabes si esta presente en al ventana que listas las entidades , estoy desde esta pantalla imagen
alli puse el boton que lanza un aspx en popup, pero se podra acceder al fectxml aplicado en la vista ?
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Hola Leandro
Bueno, el advFind solo existe en la pagina de la búsqueda avanzada. Es por ese motivo que (hablando del ejemplo de codeplex) se creo un boton en el ribbon de la busqueda avanzada.
Si tu quieres usar el boton, desde la vista normal de cuenta, te recomienda buscar el siguiente id effectiveFetchXml. Este tag, contiene el fetch actual de la vista que se selecciona
Salu2 Atilin | http://www.dexrm.com
- Propuesto como respuesta Demian Adolfo RaschkovanMVP, Moderator jueves, 25 de abril de 2013 15:52
- Marcado como respuesta Leandro TuttiniMVP viernes, 26 de abril de 2013 7:15
-
hola
excelente pude ver que existe ese div con el fetch que necesito
estuve viendo la forma de recuperarlo, pero como era de esperar no podia ser facil ya que veo que esta dentro de un iframe
lo raro es que al usar
var frame = document.getElementByTagId('contentIFrame'); var fetch = frame.getElementByTagId('effectiveFetchXml').value;
obtengo un mensaje "El objeto no acepta esta propiedad o metodo", parece que se produce en getElementByTagId() pero es muy loco como puede suceder eso si estoy en un javascript directo en el boton que puse en la toolbar
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Hola Leandro,
Bueno, te contaré un secreto (pero shu shu no se lo digas a nadie ;) )
Yo, cuando hago JS, siempre pruebo primero en la consola del Developer tool,
en Chrome (si el CRM tiene el UR 12), puedes ejecutar la siguiente consulta
$("#contentIFrame")
Salu2 Atilin | http://www.dexrm.com
-
Hola Leandro,
Bueno, he estado probando algunas cosas y, veo que todavía con ese script puedes obtener el fetch.
He estado probando y le he dado en el clavo, te adjunto la imagen
He utilizado el siguiente código
document.getElementById('contentIFrame').contentDocument.getElementById('effectiveFetchXml')
Este script, funciona tanto en chrome como en explorer (10).
Salu2 Atilin | http://www.dexrm.com