¿Cómo acceder a los informes que mediante programación en Salesforce usando Apex

StackOverflow https://stackoverflow.com/questions/4277332

  •  28-09-2019
  •  | 
  •  

Pregunta

Estoy intentando escribir una aplicación en la plataforma Salesforce que puede tirar de una lista de contactos de un informe y enviarlos a un servicio web (diles enviar un correo electrónico o SMS)

La única manera que puedo encontrar para hacer esto es añadir los resultados del informe de una campaña de nueva creación, y el acceso a continuación, esa campaña. Este parece ser el camino más largo.

Cada post que leí en línea dice que no puede acceder a los informes a través de Apex, sin embargo la mayoría o la totalidad de estos mensajes fueron escritos antes de la versión 20 de la API fue lanzado el mes pasado, que introdujo un nuevo objeto de informe. Que pueda información ahora mediante programación acceso sobre un informe (como la última fecha de ejecución, etc) pero todavía parece que no puede encontrar una manera de acceder a los datos de resultado de dicho informe.

¿Alguien sabe si hay una manera de hacer eso?

¿Fue útil?

Solución

Después de mucha investigación en ella, he descubierto la única manera de hacer esto en este momento es de hecho para raspar el documento CSV. Me imagino que Conga etc están utilizando exactamente este método.

Hemos estado haciendo esto desde hace un tiempo, y funciona. Las únicas salvedades son:

  • Salesforce nombre de usuario / contraseña / token de seguridad tiene que ser compartido a la aplicación de conexión. Si la contraseña cambios (y por defecto se cambia cada 30 días más o menos) el token también Los cambios y debe ser re-introducido.

  • Hay que saber la cantidad de la cuenta, lo que puede ser difícil de hacerlo bien. Por ejemplo, mientras que la mayoría de las cuentas europeas usarían emea.salesforce.com de acceso CSV, nuestra cuenta utiliza NA7 (América del Norte 7) a pesar de que estamos ubicados en Irlanda. Actualmente estoy enviando el anfitrión página a la aplicación y analizarlo para calcular el subdominio correcto uso, pero yo creo que tiene que ser una mejor manera de hacer esto.

Salesforce realmente necesita para solucionar esto mediante el suministro de una llamada API que permite a los resultados de informes personalizados a ser exportados sobre la marcha y que nos permite utilizar OAuth para conectarse a él. Pero, por supuesto, esto es poco probable que suceda.

Otros consejos

En la actualización SalesforceSpring 11, parece que se puede obtener más información sobre los informes: Como se indica en la API para Informe y ReportType , se puede acceder a través de Apex los campos utilizados en la consulta el Informe, leyendo el campo " columnas ", así como el campo utilizado para representar los filtros llamados " filtro ".

iteración a través de estos objetos, se permitirá construir una cadena que representa la misma consulta del Informe. Después de construir esa cadena se puede hacer una consulta dinámica con una llamada Database.query (..).

Parece ser un poco desordenado, pero debería funcionar .. (no determinado todavía!)

Como estados de cabecera, esto sólo funciona con informes personalizados!

Solo para aclarar a los compañeros novatos que encontrarán esto, cuando se hizo la pregunta que usted podría tener acceso a los datos del informe mediante programación, pero había que usar algunos métodos propensas hacky, error.

Esto es todo arreglado, ahora se puede acceder a los informes a través de la API como de Winter '14.

Documentación aquí - http://www.salesforce.com/ nosotros / desarrollador / docs / api_analytics / index.htm

Ir a la ciudad en los cuadros de mando personalizados, etc. Cruz-registrado desde la pila Cambio de Salesforce - https://salesforce.stackexchange.com/questions/337/can-report-data-be-accessed-programatically/

Pero Conga (appextremes) hacer esto en su producto QuickMerge, donde el usuario especifica el informe de identificación, y el guión ápice en la página se ejecuta el informe para extraer los resultados de una operación de combinación de correspondencia.

la API v20.0 añadido metadatos sobre los informes, pero no hay manera de ejecutar realmente el informe y obtener los resultados. Si se trata de un informe estándar, o un informe que ha definido, se puede trabajar a cabo la consulta SOQL equivalente para su informe y ejecutar eso, pero si su un informe de usuario final definido, no hay manera de hacer esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top