Las consultas genéricas en Acumatica. Desbloqueando su poder
Las consultas genéricas en Acumatica son una de las características que más aprecio del sistema, porqué permiten a los usuarios administrar y explotar al máximo la información que diariamente genera su organización.
Las Consultas Genéricas en Acumatica son la base de la productividad por qué a partir de ellas los usuarios podrían, entre otras cosas:
- Mejorar el análisis y la disponibilidad de datos
- Automatizar el envío de notificaciones y correos electrónicos masivos.
- Tener una visión amplificada y personalizada de los datos que genera su organización.
- Compartir datos en tiempo real y de manera segura con herramientas de Bussiness Intelligence.
- Crear índices y gráficos que faciliten el análisis de los resultados.
- Crear automatizaciones para procesamiento de transacciones.
Todas estas posibilidades dentro de la intuitiva interfaz de usuarios de Acumatica.
Requerimientos.
Para dominar el uso de las consultas genéricas en Acumatica no es necesario ser expertos en programación o bases de datos. Sin embargo, es muy útil tener bases sólidas de estructura de datos y por supuesto, contar con los roles y permisos necesarios para crear o modificar las consultas genéricas en Acumatica.
Identificando las consultas genéricas en Acumatica.
Las consultas genéricas están repartidas en todos los módulos de Acumatica y son comúnmente utilizadas como listados de inicio para pantallas de captura de transacciones. Por ejemplo, una de las consultas genéricas más populares entre los usuarios, es la de “Ordenes de Venta” del módulo con el mismo nombre.
En esta consulta podemos ver el listado de las últimas transacciones de venta registradas con la información general más importante por registro.

Ilustración 1. Consulta genérica para Órdenes de venta
Es también una práctica común que las consultas genéricas en Acumatica se agrupen bajo la sección de “Consultas” de cada módulo del sistema.

Ilustración 2. Menú de Consultas Módulo de Ventas.
Mi primer consulta genérica en Acumatica.
Para ilustrar esta guía, vamos a crear un ejemplo de consulta genérica en Acumatica que muestre los artículos vendidos recientemente:
1. Ingreso a la pantalla de “Consultas Genéricas” (SM208000).
Esta opción estará disponible bajo el módulo de Desarrollo:

Ilustración 3. Pantalla Consulta Genérica (SM208000)
2. Agregamos un nuevo registro colocándole un título apropiado.
Exploramos las propiedades disponibles en la pantalla:

Ilustración 4. Detalles generales de la consulta
Explicación de las propiedades.
| Título de Consulta. En este campo el usuario deberá ingresar el nombre – identificador que llevará su consulta. Es importante no utilizar nombres demasiado largos, utilizar solo caracteres alfanuméricos y de preferencia no dejar espacios en blanco entre las palabras. |
| Título del Mapa del Sitio. Cuando recién creamos una consulta, este campo aparecerá vacío. Sin embargo, como veremos más adelante, este campo registrará el nombre con el que aparecerá nuestra consulta en el menú del sistema. |
| Workspace. Se refiere al espacio de trabajo o módulo bajo el cual publicaríamos nuestra consulta. Este campo se mantendrá inhabilitado hasta que la consulta sea publicada más adelante. |
| Categoría. Campo para registrar la sección bajo la cual se enlistará nuestra consulta. Al igual que los campos anteriores, este permanecerá deshabilitado hasta que publiquemos la consulta genérica. |
| No. Pantalla. Un campo reservado para registrar el identificador alfanumérico que tendrá nuestra consulta genérica en el sistema. |
| Show Deleted Records. Casilla para confirmar si queremos que nuestra consulta genérica muestre también los registros eliminados por los usuarios. |
| Show Archived Records. Casilla para confirmar que se muestren o no los registros que ya fueron archivados. |
| Expose vía OData. Nos permite compartir la consulta genérica usando Odata para inteligencia de negocios. |
| Expose to the Mobile Application. Nos permite desplegar la consulta en la aplicación móvil de Acumatica. |
| Ordenar Parámetros En Columnas: La cantidad de columnas en las que Acumatica repartirá los campos de filtros si es que se usan. |
| Select Top. Un campo de tipo entero que nos permite decirle a Acumatica la cantidad de registros que puede traer en la consulta. Cómo ejemplo, podríamos usarlo para traer un top 1000 de artículos más vendidos. |
| Records per Page. Acumatica ajusta automáticamente al tamaño de la pantalla, la cantidad de registros que muestra por página en las consultas genéricas. Sin embargo, nosotros podemos sobre escribir esa función y colocar un número fijo de registros por página. |
| Export Top. Este parámetro es utilizado en la función de exportación a Excel. Si el valor es 0, Acumatica exportará la totalidad de los datos filtrados en la consulta. |
Por el momento, salvo por el título de la consulta, el resto de las propiedades podría quedarse en su valor default.
3. Buscando el origen de los datos.
Para determinar de donde vamos a obtener los datos con los que poblaremos nuestra consulta, es necesario comprender que en Acumatica, la información se guarda en tablas relacionales conocidas como DACs (Data Access Class).
La manera en que los usuarios pueden conocer el nombre preciso del DAC o los DACs que necesitan utilizar en la consulta, es navegando hacia la o las pantallas en donde se ingresa esa información. Por ejemplo:
Para el caso de mi consulta de productos vendidos en el mes, vamos a navegar hasta la pantalla de “Ordenes de Venta” (SO301000) y en específico, a la pestaña de Detalles, que es donde los usuarios ingresan las partidas de los pedidos. Una vez ahí, y teniendo mi usuario el rol “Customizer”, señalo alguno de los campos en la sección que me interesa, utilizando la siguiente combinación de teclas – mouse:
Ctrl + Alt + Botón derecho del mouse.
Acumatica sobrepondrá en la pantalla un pequeño pop up que contendrá la identidad del DAC que debo utilizar en mi consulta genérica:

Ilustración 5. Identificando la estructura de datos
Si damos click sobre el vínculo de texto “SOLine” Acumatica mostrará el explorador de DACs.
En este explorador de DACs podremos extraer el “NameSpace” del DAC, con lo cual tendremos certeza de ingresar a nuestra consulta la fuente de datos correcta:

Ilustración 6. Explorador de DACs
Para nuestro ejemplo, la ruta completa de nuestro DAC sería la combinación del “Namespace” + “Nombre del DAC” = PX.Objects.SO.SOLine
4. Introduciendo el origen de los datos en nuestra consulta genérica.
Para ingresar el DAC o los DACS que vayamos a utilizar en nuestra consulta, nos enfocamos en la pestaña “Data Source” de la pantalla Consulta Genérica en Acumatica para agregar un registro:

Ilustración 7. Estableciendo el origen de los datos
En el campo bajo la columna “Source Name” podemos buscar el DAC que necesitamos agregar. Sin embargo, como yo ya investigué previamente el nombre de mi DAC. Lo introduciré directamente:

Ilustración 8. Ejemplo para origen de datos
Si guardamos los cambios o hacemos Tab, podemos observar que Acumatica completará el resto de la información, incluyendo el campo “Alias”. El Alias será la manera corta con la nosotros identificaremos el DAC de ahora en adelante en nuestra consulta genérica:

Ilustración 9. Alias del origen de datos
Para nuestro ejemplo, este será el único origen de datos que voy a utilizar. Sin embargo, dependiendo de la complejidad y extensión de nuestra consulta, aquí agregaríamos todos los DAC’s que vayamos a necesitar.
5. Estableciendo las relaciones entre mis orígenes de datos.
Nosotros podemos crear consultas tan complejas como sea necesario. Siempre y cuando, conozcamos y entendamos bien la relación entre los DACs.
En este ejemplo voy a suponer que, a partir de la información de las partidas de las órdenes de venta, quiero traer la información particular de cada artículo introducido.
La manera más sencilla de crear una relación entre DACs es utilizando la función “ADD RELATED TABLE” disponible en la pestaña “DATA SOURCES:

Ilustración 10. Función para agregar tablas relacionadas
Teniendo ya identificada la ruta del DAC que nos interesa unir, lo seleccionamos en el campo “Tabla Hija” del pop up que sobresaldrá en pantalla:

Ilustración 11. Uniendo tablas relacionadas por medio de propiedades comunes
Automáticamente Acumatica determinará la o las propiedades que nos servirán para concretar la unión entre ambos DACs:

Ilustración 12. Propiedades comunes de los DACs
Damos clic en el botón “SELECT RELATED TABLE”:

Ilustración 13. Seleccionar tabla relacionada
Acumatica agregará automáticamente el DAC y creará por nosotros la relación, por lo que nosotros solo debemos hacer click en el botón “Agregar”:

Ilustración 14. Agregar relación
Si revisamos la pestaña de Relaciones, podemos corroborar los detalles de la relación entre ambos DACs:

Ilustración 15. Pestaña de relaciones
6. Agregando las columnas a nuestra consulta genérica.
Después de haber seleccionado correctamente nuestros orígenes de datos y realizado correctamente la configuración de las relaciones, llega el momento de determinar que datos queremos ver en nuestra consulta. Para esto, nos trasladamos a la pestaña “CUADRICULA DE RESULTADOS”.
Aquí enlistaremos de manera ordenada, las propiedades que llevan los registros de la consulta y el DAC al que pertenecen.
Para nuestro ejemplo, vamos a traernos. Del DAC de SOLine:
- Folio de la orden.
- Tipo de orden
- Identificador del producto
- Descripción del producto
- Cantidad
- Unidad de medida
- Precio unitario
Del DAC de InventoryItem:
- Tipo de producto
- Clase de artículo
Esto, en la cuadrícula de resultados se deberá ingresar línea por línea, cuidando primero introducir el DAC en la columna “Objeto” y después la propiedad del DAC que se desea mostrar en la columna “Data Field”:

Ilustración 16. Cuadrícula de resultados
Explicación de las propiedades.
El resto de las columnas no siempre serán necesarias. Sin embargo, a continuación, describimos su función en la siguiente tabla:
| Activo. Casilla con la que le indicamos al sistema si debe mostrar la propiedad introducida |
| Objeto. Campo para introducir el DAC al cual pertenece la propiedad que queremos introducir. |
| Data Field. Propiedad con el dato que se requiere mostrar en la consulta. |
| Campo de Esquema. En este campo seleccionamos alguna propiedad cuyo formato y apariencia tomaremos de referencia para mostrar los datos del campo. |
| Ancho px. Acumatica maneja automáticamente la longitud de los campos según el tipo de dato que se quiera mostrar. Sin embargo, le da al usuario la posibilidad de poner una longitud específica. Es importante señalar que el valor numérico que se introduzca aquí deberá ser en pixeles. |
| Estilo. Este campo nos permite introducir personalizados condicionales a los datos que tenga el registro. |
| Visible. Casilla de verificación para indicarle al sistema si la columna será visible o estará oculta en el listado |
| Default Navigation. Casilla de verificación para indicarle al sistema que, si el dato en la columna hace referencia a un documento, el valor se presente en modo de hipervínculo para que los usuarios puedan abrir documentos desde nuestra consulta. |
| Navegar a. A través de este campo le podemos indicar al sistema el destino específico del hipervínculo que presentará en la consulta. |
| Agregar Función. Es una propiedad un poco más avanzada que nos permite definir la manera en que los valores resultantes deberán ser calculados para datos agrupados. Se utilizan funciones como (AVG, COUNT, MAX, MIN, SUM) |
La cuadrícula de resultados de nuestra consulta podría quedar de la siguiente manera:

Ilustración 17. Insertando propiedades a la Consulta Genérica
7. Optimizando nuestra consulta con parámetros.
En este momento ya tenemos gran parte de nuestra consulta, y si hacemos click en el botón “Ver Consulta”, Acumatica nos mostrará en una nueva ventana el resultado del ejercicio que hemos estado haciendo:

Ilustración 18. Ejemplo de Consulta Genérica sin parámetros
Sin embargo, aún tenemos optimizaciones y ajustes por hacer.
Una recomendación para consultas de datos tan extensas como esta, es la colocación de parámetros que delimiten inicialmente los datos mostrados en la consulta. Para este caso vamos a agregarle fecha inicial y fecha final de consulta. De esta manera, los usuarios podrán definir el periodo de tiempo que quieran traer.
Vamos a trasladarnos a la pestaña “PARÁMETROS” en donde agregaremos los 2 filtros para las fechas de consulta:

Ilustración 19. Insertando parámetros
Explicación de las propiedades.
| Activo. Casilla para habilitar o deshabilitar el parámetro. |
| Es Requerido. Casilla con la que le indicamos al sistema si la introducción del parámetro es obligatoria o no. |
| Nombre. El nombre interno que le asignamos al parámetro. Este será el nombre con el que distinguiremos el parámetro dentro de la configuración de la consulta. |
| Campo de Esquema. En este campo introducimos el campo con el que se relacionará nuestro parámetro. Para nuestro ejemplo, el campo será la fecha de la orden de venta. |
| Mostrar Nombre. El nombre visible del parámetro. Este nombre será el que los usuarios verán al correr nuestra consulta |
| Desde Esquema. Al activar esta casilla, el sistema nos dará valores sugeridos relacionados al campo que estemos trabajando. Desactivar la casilla, permitiría la introducción de cualquier dato. En nuestro ejemplo, activamos esta propiedad debido a que nos interesa que el sistema nos permita la introducción de un valor de tipo fecha. |
| Valor por Omisión. En este campo podemos introducir un valor default para el parámetro al ejecutar inicialmente la consulta. Para nuestro ejemplo, hemos definido con variables (@MonthStart y @MonthEnd) que por default la consulta traerá los valores comprendidos entre el inicio y el fin del mes en curso. |
8. Agregando las condiciones a la consulta genérica.
Hasta este punto, los parámetros se mostrarán en la pantalla de la consulta. Sin embargo, son totalmente inútiles porqué el listado de datos aún no está condicionado a los parámetros que los usuarios introduzcan.
Para cambiar esto, nos trasladaremos ahora a la pestaña “CONDICIONES” en donde capturaremos lo siguiente:

Ilustración 20. Los parámetros en las condiciones
Explicación de las propiedades.
| Activo. Casilla para habilitar o deshabilitar la condición capturada. |
| Corchetes. No lo utilizaremos en nuestro ejemplo. Sin embargo, esta propiedad nos mostrará una lista de opciones con diferentes números de paréntesis que nos ayudarán a agrupar las condiciones en distintos niveles. |
| Data Field. El campo sobre el cual se basará la condición. En nuestro ejemplo, la fecha de las órdenes de venta. |
| Condición. Campo para introducir la prueba lógica entre el Data Field y los Valor1 y Valor2. Para nuestro ejemplo, queremos que la fecha de las órdenes de venta “Esté entre” los valores 1 y 2. |
| Desde Esquema. Al activar esta casilla, el sistema nos dará valores sugeridos relacionados al campo que estemos trabajando. Desactivar la casilla, permitiría la introducción de cualquier dato. Para nuestro ejemplo desactivamos la casilla porqué los valores los tomaremos de los parámetros que introducimos previamente. |
| Valor 1 y Valor 2. Representan el complemento de nuestra prueba lógica. A través de estos campos le estamos diciendo al sistema que los datos que debe traer la consulta tienen que coincidir con uno o ambos valores. |
| Corchetes. Funciona en conjunto con la primer propiedad de corchetes, y sirve para cerrar los paréntesis con los que podemos agrupar nuestras condiciones. Como en nuestro ejemplo, la condición no es tan compleja, no es necesario introducir ningún valor en este campo. |
| Operador. Nos da la posibilidad de unir más de una condición. Con el valor “Y” se espera que se cumplan tanto la condición seleccionada como la siguiente. Con el valor “O” se espera que se cumpla alguna de las 2. |
9. Determinando el orden en que se mostrarán los resultados.
Acumatica ordenará los resultados de una manera predeterminada, la cual no siempre servirá a nuestros propósitos. Es por ello qué nos da la posibilidad de definir la manera en que queremos que la información se ordene en nuestra consulta genérica.
Ahora nos trasladaremos a la pestaña de “ORDEN DE AGRUPACIÓN” y agregaremos el siguiente registro:

Ilustración 21. Orden de Agrupación en la Consulta Genérica
Explicación de las propiedades:
| Activo. Casilla para habilitar o deshabilitar el parámetro de ordenamiento |
| Data Field. El valor sobre el cual haremos el ordenamiento de datos. Para nuestro ejemplo, el valor sobre el cual realizaremos el ordenamiento es el folio de venta. |
| Orden de Agrupación. Ascendente o Descendente. Para esta consulta, yo quiero que la consulta me muestre los datos más recientes primero, por lo que he seleccionado la opción Descendente. |
10. Comprobando que nuestra consulta genérica funcione.
Acumatica nos permite en cualquier momento tener una vista previa de la consulta que estemos trabajando sin necesidad de publicarla. Para ello tenemos 2 opciones.
Vista previa Opción 1.
Botón “VER CONSULTA” en el menú de acciones de la pantalla para abrir consulta en ventana nueva:

Ilustración 22. Acción para Ver Consulta en otra pestaña
Vista previa Opción 2.
Vista previa ampliando la pestaña lateral derecha:

Ilustración 23. Previsualización de Consulta en barra lateral
11. Publicando la Consulta Genérica en Acumatica.
Hemos concluido la configuración de nuestra primer consulta genérica básica. Sin embargo, ésta aún no estará visible para el resto de los usuarios hasta que corramos un proceso de “Publicación”.
La acción “PUBLISH TO THE UI” nos permitirá concluir con el proceso de desarrollo de Consultas Genéricas dándole a la consulta un lugar en específico en el menú o mapa de sitio de Acumatica y asignándole permisos para que los usuarios indicados puedan ver nuestra creación.
Una vez que hacemos click en la acción “PUBLISH TO THE UI” Acumatica sobrepondrá en pantalla el siguiente pop up:

Ilustración 24. Publicar Consulta con datos default
Acumatica pre llenará con valores default las propiedades de la Consulta. Sin embargo, nosotros debemos verificar y realizar los cambios necesarios para el buen funcionamiento de nuestra creación:

Ilustración 25. Ajustando detalles para publica Consulta
Explicación de las propiedades
| Título del Mapa de Sitio. Acumatica siempre pondrá por default el nombre que inicialmente le dimos a la consulta. Sin embargo, dado que este será el nombre con el que los usuarios verán y buscarán la consulta, es importante que pongamos una descripción más detallada. |
| Workspace. Aquí definimos el nombre del “Módulo” en el que queremos integrar nuestra consulta. |
| Categoría: La sección dentro del “WorkSpace” en la que queremos que nuestra consulta aparezca listada. |
| No. Pantalla. Acumatica le asigna un identificador automático iniciando siempre con el prefijo GI. Nosotros podemos personalizar este identificador para ajustarse a nuestras necesidades. Siempre y cuando se respete el formato de 8 dígitos. |
| Permisos de accesos. En este punto, tenemos 3 opciones: 1. Set to granted for all roles. Para otorgar permiso de acceso a todos los roles. 2. Set to revoked for all roles. Para revocar el permiso de acceso a todos los roles. 3. Copy Access rights from screen. Para copiar los permisos de acceso de una pantalla en particular. El sistema pone por default la opción 3 para copiar los permisos de acceso de la pantalla sobre la que estamos trabajando: “Consultas Genéricas” sin embargo, La recomendación en este punto es identificar una pantalla que naturalmente esté asociada con los datos que trae nuestra consulta personalizada. Para el ejemplo, seleccionamos la pantalla de Órdenes de Venta. |
Una vez que hagamos click en “Publicar”, Acumatica correrá el proceso por unos segundos, después de lo cual, la consulta genérica estará disponible para el resto de los usuarios.

Ilustración 26. Resultado final
Conclusión sobre las Consultas Genéricas en Acumatica
Ya has aprendido cómo crear consultas genéricas en Acumatica. Con esta habilidad, tienes un poder increíble para extraer y analizar datos de tu sistema. Ahora puedes crear informes personalizados, analizar tendencias y obtener información valiosa para tomar decisiones más estratégicas.
Recuerda que las consultas genéricas son solo una herramienta, y su verdadero poder reside en tu creatividad e ingenio al utilizarlas. ¡No dudes en experimentar, probar diferentes combinaciones de tablas y campos, y descubrir nuevas formas de obtener información relevante para tu negocio!
¿Te gustaría sacarle más provecho a las consultas genéricas? aprende a elaborar tablas pivote siguiendo nuestro tutorial para tablas dinámicas
Si está evaluando un ERP para su empresa, esto se resuelve de raíz con un ERP. Vea cómo funciona el ERP Acumatica que implementamos en México.
Ingeniero en Desarrollo de Software. Certified Acumatica Developer. Certified Business Consultant. Consultor e Implementador Experto en Acumatica ERP y Acumatica CRM. Desarrollador de módulos para Acumatica. Experto en el diseño de software para Acumatica, conexión con APIs, creación de flujos en Acumatica y reportes para inteligencia de negocios (BI) para el mercado de pequeñas y medianas empresas.
