En esta publicación se muestra cómo crear una vista SQL y vincularla a una clase de acceso a datos (DAC) de Acumatica para que esté disponible para las herramientas de generación de informes de Acumatica.
Como ejemplo de escenario, generaremos una vista de nuestra tabla de pagos de cuentas por pagar que podría ser utilizada para generar un archivo de pago positivo para nuestro banco. (Este es un ejemplo de creación de vistas SQL y no pretende ser una guía para crear un archivo de pago positivo).
Demostración creada en el entorno de Acumatica: 5.20.0531
Datos: Datos de SalesDemo del Portal de Socios de Acumatica

Propósito comercial
Las vistas SQL son tablas de base de datos de solo lectura creadas a partir de otras tablas en una base de datos. Las vistas se pueden incorporar a Acumatica como una clase de acceso a datos (DAC) y ser utilizadas por las herramientas de informes de Acumatica. Una vista SQL podría usarse para:
- Incluir datos mantenidos externamente en los informes de Acumatica
- Crear vistas de datos que se mantienen fuera de Acumatica
- Cambiar el nombre de los encabezados de campo de la base de datos
Las vistas SQL son un enfoque opcional para incorporar datos a Acumatica. El método preferido para mantener los datos en Acumatica es que todos los datos fluyan a través de la lógica de negocio de Acumatica. La gestión de datos con la lógica de negocio de Acumatica proporciona flexibilidad en los nombres de los encabezados de campo, garantiza un alto nivel de integridad de los datos, seguridad de datos centralizada y permite la integración automática con las herramientas de informes.
Descripción general del proceso técnico
En este artículo, describimos cómo:
- Crear una vista SQL simple utilizando datos de una base de datos de Acumatica
- Vincular la vista a nuestra aplicación de Acumatica utilizando las herramientas de personalización de Acumatica
- Generar informes utilizando la vista SQL que creamos
Implementación de Acumatica
En esta sección, describimos cómo demostrar rápidamente esta capacidad en Acumatica. Lo haremos en tres pasos:
- Crear una vista en nuestra base de datos SQL
- Vincular la vista de base de datos a un objeto en Acumatica
- Generar informes utilizando los datos
Paso 1: Crear una vista
La creación de una vista SQL no depende de Acumatica. Esto se logra utilizando herramientas estándar de Microsoft SQL. Para este ejercicio, utilizaremos la siguiente declaración SQL para seleccionar datos que serían útiles para crear un archivo PositivePay.

Al crear una vista, suele ser una buena idea incluir el campo CompanyID, ya que aparece en todas las tablas de la aplicación. En este caso, no lo incluimos porque no era necesario para el archivo de exportación Positive Pay.
La vista anterior incluye tres tablas:
- APPayment: incluye todos los pagos que enviamos a nuestras instituciones financieras. Solo queremos incluir pagos con cheque de una sola empresa que no estén compensados – por lo que limitamos los resultados utilizando la condición WHERE.
- APRegister: incluye todos los pagos que están preparados para ser efectuados. La información sobre el importe del cheque y la fecha de la transacción se encuentra en esta tabla.
- CashAccount: incluye el número de referencia necesario para el archivo que preparamos para nuestro banco.
Al ejecutar esto con los datos de demostración de RevisionTwo de agosto de 2015, se crea la vista siguiente. Hay 487 transacciones porque la mayoría de los pagos en los datos de demostración no están conciliados ni marcados como compensados.

Paso 2: Vincular vista a Acumatica
Las herramientas de desarrollo de Acumatica facilitan la exposición de la vista SQL que acabamos de crear a nuestras herramientas de informes.
Hacemos esto escribiendo código para crear una clase de acceso a datos en Acumatica que puede ser referenciada por nuestro Lenguaje de Consulta de Negocio (BQL). Esto puede sonar complejo, pero utilizando las herramientas de personalización de Acumatica se puede completar en solo un par de minutos. El proceso se describe a continuación.
Crear proyecto de personalización
Si está utilizando una cuenta con el rol de personalizador, entonces:
- Haga clic en el botón de personalización en la esquina superior derecha y haga clic en la primera opción para Seleccionar proyecto…

- Cree un nuevo proyecto y luego selecciónelo como su proyecto de trabajo:

- Vuelva al menú de personalización y seleccione la opción para Editar proyecto del menú desplegable4. En el nuevo proyecto de personalización, cree un nuevo archivo de código utilizando la plantilla IBqlTable como se ilustra a continuación:
- Seleccione el área de código del menú de personalización
- Haga clic en ‘+’ para añadir un nuevo objeto
- Seleccione IBqlTable como plantilla de archivo
- Introduzca el nombre de la vista que creó en el paso anterior. El nombre de la clase debe coincidir con el nombre de la vista que creó.
- Marque la casilla para generar miembros desde la base de datos. Esta opción hará que Acumatica cree automáticamente un archivo de código basado en los elementos de la tabla que usted creó.
- El resultado es el código que ve a continuación:

Nota: La única adición que hice al código generado automáticamente fue un indicador de campo clave. Una clave única dentro de mi nuevo objeto llamado PositivePay es importante para las herramientas de informes del sistema. Esta información habría sido poblada automáticamente por el sistema si mi vista de base de datos hubiera tenido una clave principal definida.
Compile y publique su personalización
Después de completar su personalización, simplemente compile y publique su proyecto como lo haría con cualquier otro proyecto de Acumatica. Los pasos se proporcionan a continuación.
- Vaya a Sistema > Personalización > Administrar > Proyectos de personalización
- Marque la casilla delante de su personalización
- Haga clic en el botón Publicar
El sistema valida automáticamente su solución. Presione el botón publicar para que su nueva tabla esté disponible en su sistema.

Paso 3: Crear informes
Con la nueva tabla de datos incorporada en Acumatica, puede empezar a usar los datos con sus herramientas de informes de Acumatica.
Ejemplo 1: Generador de consultas genéricas
Crear una nueva consulta genérica es fácil. Vaya al diseñador de consultas genéricas, introduzca un título simple, seleccione la nueva tabla que creó y añada campos a su cuadrícula de resultados.


Los resultados anteriores se basan en los datos de SalesDemo de la empresa RevisionTwo. Introduje el ID de la cuenta bancaria en la cuenta de efectivo asociada a mi cuenta corriente estándar. Este archivo se puede exportar a su banco para evitar que se cobren cheques fraudulentos.
Ejemplo 2: Diseñador de informes
El Diseñador de informes utiliza las mismas clases de acceso a datos que están disponibles para la Consulta genérica. Para mostrar esto:
- Abra el Diseñador de informes
- Seleccione el botón Construir esquema
- Introduzca su URL, usuario, contraseña y haga clic en Cargar esquema
- Seleccione su objeto.

Conclusión
El proceso de importar vistas SQL en Acumatica es bastante fácil. Después de un poco de práctica, puede crear vistas y la clase de acceso a datos en Acumatica en unos 5-10 minutos.
En este ejemplo, demostré cómo añadir una vista SQL, pero se puede usar un proceso similar para crear clases de acceso a datos (DAC) para otras tablas de base de datos. Esto facilita la incorporación de datos externos en los informes de Acumatica. Por ejemplo, creé una tabla de base de datos simple llamada SOGoals en mi base de datos de Acumatica, añadí un DAC siguiendo el mismo proceso definido en este artículo, y luego utilicé esos objetivos en mis informes.