Dinaup - Base de Conocimientos Help

Introducción

En la parte izquierda de la ventana principal, se encuentra el menú de navegación. Aquí, los usuarios pueden acceder a diferentes dashboards. Al hacer clic en un dashboard, se cargan los widgets correspondientes.

Los widgets pueden ser de análisis de datos o proporcionar acceso a secciones e informes. Los widgets de tipo informe cargan diferentes informes, tanto personalizados por el usuario como predefinidos en el sistema. Sin embargo, estos widgets no permiten agregar datos.

Por otro lado, los widgets de tipo sección permiten ver un listado de registros disponibles en dicha sección. Además, ofrecen opciones para agregar y editar registros. Al seleccionar estas opciones, se abre el formulario de datos correspondiente a esa sección.

Funcionalidades clave

Dinaup ofrece una serie de funcionalidades que lo hacen una herramienta poderosa para la administración de datos:

  • DinaScript: Es el lenguaje de programación propio de Dinaup, diseñado para trabajar y manipular los datos del software. Con DinaScript, puedes acceder a toda la información y manipularla según tus necesidades.

  • Algoritmos: Utilizando DinaScript, puedes crear algoritmos que convierten el código en una operación SQL. Estos después se pueden consultar desde Dinascripts, desde otros algoritmos, asociar a campos, utilizar como criterio de filtrado, utilizar como criterio de calculado en columnas informe.

  • Documentos dinámicos: Esta funcionalidad permite generar documentos de texto plano con DinaScript. Puedes configurar el mimetype, lo que te permite crear plantillas de impresión, archivos JSON, CSS y cualquier otro tipo de documento de texto plano.

  • Informes y Columnas: A través de una interfaz no-code, puedes crear informes y columnas para ver listados. Esta opción es muy potente y permite crear informes muy complejos. Puedes agrupar, ordenar, filtrar datos y crear columnas con algoritmos.

  • Secciones, Campos y campos autocalculados: Estas funcionalidades te permiten personalizar aún más tu experiencia con Dinaup.

  • Scripts: Con los scripts puedes automatizar tareas y procesos dentro del software.

Algoritmos

Dinaup ofrece distintos tipos de algoritmos para trabajar con los datos:

  • Algoritmo Lineal: Este tipo de algoritmo se ejecuta sobre un registro de sección. Puede operar entre campos, consultar otros algoritmos y acceder a relaciones (por ejemplo, venta.empleado.comision). Siempre utiliza relaciones directas y está optimizado para ello. Un caso de uso podría ser ejecutar un algoritmo lineal sobre la sección “Ventas”, como por ejemplo: venta.total * venta.empleado.comision / 100

  • Algoritmo Cruzado: Este tipo de algoritmo permite ejecutar operaciones cruzadas. A diferencia del algoritmo lineal, este podría ejecutarse sobre “Empleados” en lugar de “Ventas”. Al ser cruzado, nos pedirá que configuremos la relación empleados.id = ventas.empleadoid y entonces podremos utilizar funciones de agregado como max, sum, count, etc. Un ejemplo podría ser: F.Valores_Sumar(Ventas.Total) * Empleado.comision / 100.

  • Algoritmo de Búsqueda: Este algoritmo se utiliza para optimizar búsquedas. Se ejecuta sobre una sección y te pide que rellenes dos fórmulas: la fórmula de filtrado (por ejemplo, cliente.esvip=1) y la fórmula de resultado que debería devolver las IDs que estás buscando (por ejemplo, cliente.id). Este algoritmo puede asociarse a informes para filtrarlos o puede llamarse desde otros algoritmos.

  • Algoritmo de datos: Se ejecuta sobre todos los registros de una sección, por ejemplo sobre Ventas sum(Ventas.Total) eso permite obtener datos entre otras cosas para mostrar en widgets de tipo gráfica.

  • Algoritmo Independiente: Estos son algoritmos sin contexto de datos, es decir, no se ejecutan sobre ninguna sección. Se pueden utilizar para operar con datos de la sesión del usuario o para ejecutar operaciones entre otros algoritmos. Por ejemplo: UsuarioSesionActual.Algoritmo.TotalVentas * UsuarioSesionActual.comnision / 100.

Algoritmos y Variables

Además de las funcionalidades ya mencionadas, todos los algoritmos en Dinaup pueden tener “preguntas”. Estas preguntas se convierten en variables que se pueden utilizar en las operaciones de los algoritmos. Por ejemplo, se puede preguntar un valor numérico, texto, si/no, fecha, fecha y hora, hora. Además, también se puede preguntar el ID de un “dato”. Imagina que tienes un algoritmo de filtrado sobre tareas. Podrías definir las siguientes preguntas:

  • Duración mínima de la tarea en segundos (valor entero)

  • Empleado de la tarea (un dato ID relacionado con la sección empleado)

Esto significa que para poder ejecutar el algoritmo, debes proporcionar estos valores al algoritmo. Luego, el algoritmo los introduce en variables como v.DuracionMinimaDeLaTareaEnSegundos y v.EmpleadoDeLaTarea, que se pueden utilizar en las fórmulas del algoritmo.

¿Cómo se indica el valor?

  • Si el algoritmo se llama desde otro algoritmo, puedes pasarle los valores por parámetros, como en MiAlgoritmo(param1,param2).

  • Si el algoritmo se llama desde un informe, será el propio informe el que le proporcione los valores.

  • Estas funcionalidades hacen que los algoritmos en Dinaup sean extremadamente flexibles y adaptables a tus necesidades específicas.

Compatibilidad y casos de uso

Los algoritmos en Dinaup pueden configurarse y utilizarse de diversas maneras para adaptarse a tus necesidades:

  • Llamada a algoritmos desde otros algoritmos: Puedes llamar a un algoritmo desde otro algoritmo. Esto es útil para ejecutar funciones avanzadas y también como buena práctica para refactorizar y evitar código duplicado.

  • Asociación de algoritmos a campos de una sección: Puedes asociar un algoritmo a un campo de una sección. Por ejemplo, en la sección de productos, el campo “Stock inventario” tiene asociado un algoritmo cruzado entre Productos y Movimientos de inventario. Al asociar un algoritmo a un campo, cada vez que se agregue, elimine o modifique información de productos o movimientos de inventarios, se recalculará el stock. Esta opción está optimizada para que solo se recalcule si ha habido cambios, ahorrando muchos problemas y quebraderos de cabeza en los desarrollos de software. Otro ejemplo es el campo “Saldo disponible en cuenta bancaria”, que suma el “total operación” de la sección “Movimientos bancarios”.

  • Asociación de algoritmos lineales y compuestos a columnas de informe y filtrado: Los algoritmos lineales y compuestos pueden asociarse a columnas en los informes y en las opciones de filtrado. Esto permite personalizar aún más la visualización y análisis de tus datos.

  • Uso de algoritmos en documentos dinámicos: Los algoritmos también pueden utilizarse en documentos dinámicos, lo que permite generar documentos personalizados basados en tus datos.

Documentos dinámicos

Ejemplo:

Introducción

Los Documentos Dinámicos en Dinaup son una herramienta poderosa para generar contenido de texto plano basado en tus datos, ejemplos:

  • Generación de texto plano: Los Documentos Dinámicos generan contenido de texto plano. Esto significa que puedes crear cualquier tipo de documento que se base en texto, desde informes y análisis hasta notas y recordatorios.

  • Soporte para distintos mimetypes: Los Documentos Dinámicos soportan distintos mimetypes. Esto te permite generar no solo documentos de texto, sino también otros formatos como JSON, CSS, y más. Puedes configurar el mimetype según tus necesidades.

  • Preguntas que se convierten en variables: Al igual que con los algoritmos, los Documentos Dinámicos permiten definir preguntas que se convierten en variables. Estas variables se pueden utilizar en las operaciones del documento.

  • Agregar a un dashboard como widget: Puedes agregar un Documento Dinámico a un dashboard como un widget. Esto te permite tener acceso rápido y fácil a tus documentos más importantes directamente desde la ventana principal de Dinaup.

  • Consultar desde API: Los Documentos Dinámicos también se pueden consultar desde la API de Dinaup. Esto te permite integrar tus documentos con otras aplicaciones y servicios, ampliando aún más las posibilidades de lo que puedes hacer con Dinaup.

Casos de uso

Los Documentos Dinámicos en Dinaup pueden ser utilizados en una variedad de casos de uso. Aquí te presento algunos ejemplos:

  • Generación de informes personalizados: Puedes utilizar los Documentos Dinámicos para generar informes personalizados basados en tus datos. Por ejemplo, podrías crear un informe de ventas mensual que muestre el total de ventas, el producto más vendido y el empleado del mes.

  • Creación de facturas y recibos: Los Documentos Dinámicos pueden ser utilizados como plantillas de impresión para generar facturas y recibos. Puedes personalizar la plantilla para incluir tu logotipo, detalles de contacto y otros elementos necesarios.

  • Visualización de datos con gráficas: Al ser HTML, los Documentos Dinámicos pueden incluir scripts y crear gráficas con JavaScript. Esto te permite visualizar tus datos de manera más interactiva y atractiva.

  • Generación de documentos PDF: Los Documentos Dinámicos pueden utilizarse para generar documentos PDF. Esto es útil si necesitas compartir o guardar tus datos en un formato fácilmente accesible.

  • Automatización de tareas: Puedes utilizar los Documentos Dinámicos para automatizar tareas repetitivas. Por ejemplo, podrías crear un documento que genere automáticamente un informe de fin de mes y lo envíe por correo electrónico a los interesados.

  • Plantilla de emails: Por ejemplo puedes crear un email de bienvenida para los clientes y enviárselo desde el sistema cuando este se de alta.

  • Generación de JSON: Pues crear JSON mezclando diferentes datos del sistema que luego se puede consultar desde API.

  • Documentos: Se puede crear simplemente documentos en HTML + Bootstrap HTML sin script, se puede después asociar a un dashboard y entonces, cuando cargue el dashboard en lugar de mostrar widget mostrará el documento HTML.

  • Excel: Libro registro de facturas recibidas y emitidas generan un documento HTML con tablas el cual permite copiar y pegar en Excel. Estos son solo algunos ejemplos de lo que puedes hacer con los Documentos Dinámicos en Dinaup. La flexibilidad y potencia de esta herramienta te permiten adaptarla a tus necesidades específicas.

Informes

Introducción Informes

Los informes en Dinaup son una herramienta poderosa para visualizar y analizar tus datos. Aquí te explico cómo funcionan:

  • Asociación con una sección: Los informes siempre están asociados a una sección, que es sobre la cual se ejecutan. De manera predeterminada, un informe no tiene columnas, pero puedes agregarlas según tus necesidades.

  • Configuraciones de los informes: Los informes tienen diferentes configuraciones como título, categoría, subcategoría, resultados por página, entre otros.

  • Ordenamiento de informes: Puedes ordenar los informes según diferentes criterios. Por ejemplo, podrías ordenar un informe de facturas por fecha, ya sea de manera ascendente o descendente.

  • Filtrado rápido: Esta funcionalidad no-code te permite filtrar los informes de manera rápida y sencilla. Por ejemplo, podrías crear un filtro para ver solo las “Tareas pendientes” o las “Ventas del trimestre actual”.

  • Filtrado por algoritmo: En lugar de utilizar el filtrado rápido, puedes asociar un algoritmo para filtrar el informe. Los algoritmos son más potentes y ofrecen más opciones de filtrado, aunque requieren un poco más de esfuerzo de configuración.

  • Columnas: Puedes agregar columnas de la sección y de secciones relacionadas. También puedes agregar columnas que sean algoritmos.

  • Preguntas: Puedes configurar preguntas y utilizar las respuestas en los algoritmos asociados a las columnas, en los algoritmos de búsqueda asociados al filtrado, o incluso en el filtrado rápido. Por ejemplo, podrías crear un informe “Tareas por empleado y estado” que te pregunte el empleado y el estado. Las respuestas a estas preguntas se convertirán en un filtro para el informe.

Con estas funcionalidades, los Informes y Columnas en Dinaup te permiten personalizar la visualización y análisis de tus datos.

Secciones y Campos

742ec564932a469489985e6a66b975e9 Las secciones en Dinaup son espacios donde se almacenan los datos estructurados de una empresa. Cada valor se almacena en un campo, haciendo que las secciones sean análogas a las tablas de una base de datos relacional.

La configuración de una sección y sus campos determina cómo se creará dinámicamente el formulario correspondiente. Dependiendo del tipo de campo, el sistema puede generar diferentes tipos de entradas en el formulario, como casillas de texto para campos de texto, desplegables para campos con opciones predefinidas, campos numéricos para valores enteros o decimales, y casillas de verificación (checkbox) para campos de tipo Sí/No. Esto permite una gran flexibilidad y adaptabilidad a las necesidades específicas de cada sección.

Secciones compatibles

Diversas secciones pueden almacenarse en una misma tabla, lo cual resulta útil para secciones compatibles. Por ejemplo, “Productos” y “Servicios” son dos secciones diferentes, pero ambas son “Productos” que pueden venderse, comprarse, tener catálogos de precios, etc. Otra opción es que “Clientes”, “Empleados”, “Proveedores” y “Bancos” en Dinaup estén unidos para almacenarse en una misma tabla. Esto permite acceder a los datos directamente sin necesidad de cruzarlos.

La unión se realiza mediante “Secciones Bases” y “Secciones Derivadas”. Por ejemplo:

Sección Base Entidades

  • Sección Derivada Entidades (almacena clientes, proveedores, bancos)

  • Sección Derivada Empleados (almacena empleados de la empresa)

  • Sección Derivada Usuarios del sistema (almacena la cuenta de Administrador)

Sección Base Depósitos Monetarios

  • Sección Derivada Cajas

  • Sección Derivada Cuentas bancarias

Modo de almacenamiento

En Dinaup, los datos siempre deben estar asignados a una sección derivada. Podríamos imaginar una sección base como una unidad de almacenamiento general, y las secciones derivadas como particiones específicas dentro de esa unidad. Cada partición (sección derivada) almacena un tipo específico de datos, permitiendo una organización y gestión de datos eficiente y estructurada.

Secciones: Algoritmos e Informes

Si un algoritmo o informe se ejecuta sobre Cuentas bancarias no computará Cajas, si se ejecuta sobre Base Depósitos Monetarios computará tanto Cuentas bancarias como Cajas.

Campos en Secciones

Las secciones en Dinaup contienen campos que pueden tener distintos formatos, lo que permite una gran flexibilidad en la gestión de los datos. Aquí te presento los distintos formatos de campos que puedes encontrar:

  • Texto: Para almacenar información en formato de texto.

  • Entero: Para almacenar números enteros.

  • Decimal: Para almacenar números decimales.

  • Sí/No: Para almacenar valores booleanos, es decir, verdadero o falso.

  • Fecha: Para almacenar fechas.

  • Fecha y hora: Para almacenar fechas con su correspondiente hora. (UTC)

  • Hora: Para almacenar solo la hora.

  • Relación: Este tipo de campo almacena el identificador de otro registro para luego poder hacer operaciones con datos relacionados. Por ejemplo, el campo “Clientes” en “Ventas” se relaciona con el ID del cliente, permitiendo así acceder a la información del cliente para esa venta en particular.

Campos relacionados

Los campos de tipo relación en Dinaup pueden relacionarse con una sección base o una sección derivada. La diferencia entre estas dos opciones radica en el nivel de especificidad y flexibilidad que ofrecen:

  • Relación con una sección base: Al relacionar un campo con una sección base, tienes la flexibilidad de referenciar cualquier registro que pertenezca a cualquiera de sus secciones derivadas. Esto es útil cuando quieres permitir una amplia gama de opciones. Por ejemplo, si tienes un campo “Depósito Monetario” relacionado con en una sección de “Cobros de venta”, podrías relacionarlo con la sección base “Depósitos Monetarios” para poder seleccionar tanto Cajas como Cuentas Bancarias.

  • Relación con una sección derivada: Al relacionar un campo con una sección derivada, estás limitando las opciones a los registros específicos de esa sección derivada. Esto es útil cuando quieres restringir las opciones a un tipo específico de registro. Por ejemplo, si tienes un campo “Caja” en una sección de "Cierres de caja", podrías relacionarlo con la sección derivada “Cajas” para asegurarte de que solo puedes seleccionar cajas y que no puede realizar cierres de caja sobre Cuentas bancarias.

Es importante mencionar que la sección base no almacena información por sí misma. Los datos siempre deben estar asignados a una sección derivada.

En resumen, la elección entre relacionar un campo con una sección base o una sección derivada depende de tus necesidades específicas en términos de flexibilidad y especificidad.

Casos de uso de Secciones

Aquí te presento algunos ejemplos:

  • Cobros: Cuando se realiza un cobro, existe un campo que se relaciona con la sección base “Depósitos Monetarios”. Esto te permite seleccionar tanto “Cajas” como “Cuentas Bancarias” para registrar el cobro.

  • Ventas: Cuando se realiza una venta, el campo “Cliente” se relaciona con la sección base “Entidades”. Esto te permite vender a cualquier entidad, incluyendo a los empleados.

  • Departamentos: Cuando agregas un departamento, el campo “Responsable de Departamento” se relaciona con la sección derivada “Empleados”. Esto significa que solo puedes seleccionar empleados para ser responsables de un departamento.

  • Movimientos Bancarios: La sección “Movimientos Bancarios” se relaciona con la sección derivada “Cuentas Bancarias”. Esto significa que no puedes registrar movimientos en cajas desde esta sección.

  • Cierres de Caja: En la sección “Cierres de Caja”, el campo “Caja” se relaciona con la sección derivada “Cajas”. Esto significa que no puedes realizar un cierre de caja de una cuenta bancaria desde esta sección. etc..

Campos

En Dinaup, los campos tienen diferentes propiedades que determinan su comportamiento y cómo se presentan en los formularios. Aquí te presento algunas de estas propiedades:

  • X, Y, W, H: Estas son las coordenadas que determinan dónde aparece el campo en el formulario.

  • Formato: Define el tipo de datos que almacena el campo. Puede ser texto, entero, booleano, etc.

  • Rol: Define el propósito específico del campo. Puede ser moneda, email, teléfono, URL, texto enriquecido, etc.

  • Sección relacionada: En caso de que el campo sea de formato relación, esta propiedad define la sección con la que se relaciona el campo.

  • Autorrellenado: Esta opción sirve para configurar un valor por defecto en los formularios. Por ejemplo, puedes configurar que al abrir el formulario para agregar una tarea, el campo “Estado” se rellene automáticamente como “Pendiente”.

  • Obligatorio: Si esta opción está activada, el campo debe ser rellenado obligatoriamente.

  • Bloqueado: Si esta opción está activada, el campo no puede ser editado por el usuario. Sin embargo, puede ser rellenado por scripts o de otro modo.

  • Algoritmo: Esta propiedad permite que el campo se calcule automáticamente con el valor producido por un algoritmo (algoritmo cruzado). Estos campos siempre están bloqueados etc..

Scripts

En Dinaup, los scripts son una herramienta poderosa que te permite realizar operaciones entre los valores de una ventana. Existen diferentes tipos de scripts que puedes utilizar:

  • Scripts de formulario: Estos scripts se ejecutan en el contexto de un formulario y te permiten realizar operaciones con los valores del formulario. Por ejemplo, podrías tener un script de formulario en la sección “Ventas” que calcule el total de la venta como Venta.Total = Venta.PVP * Venta.Unidades.

  • Scripts de campos: Estos scripts se ejecutan en el contexto de un campo específico y te permiten realizar operaciones con el valor del campo. Por ejemplo, podrías tener un script de campo que calcule el precio total de un producto en función de su precio unitario y la cantidad. Estos scripts te permiten automatizar cálculos y otras operaciones, lo que puede ahorrar tiempo y reducir la posibilidad de errores. Además, dado que los scripts se ejecutan automáticamente cuando se modifican los valores relevantes, siempre tendrás la información más actualizada disponible.

Destinadores

Flex destinadores

Los destinadores en Dinaup son una herramienta esencial para completar y llevar un control de los procesos en tu empresa. Aquí te explico cómo funcionan:

Los destinadores se utilizan para representar las distintas etapas o acciones que se realizan en un proceso. Por ejemplo, en el proceso de “Ventas”, podrías tener destinadores para “Cobros de venta” y “Salida de inventario”. De manera similar, en el proceso de “Compra”, podrías tener destinadores para “Pagos de compra” y “Entrada de inventario”.

Cada destinador tiene una sección de origen y una sección de destino. La sección de origen es donde comienza el proceso (por ejemplo, “Ventas” o “Compra”), y la sección de destino es donde se realiza la acción del destinador (por ejemplo, “Cobros de venta” o “Entrada de inventario”).

Un aspecto importante de los destinadores es que permiten llevar un control del estado de cada proceso. Por ejemplo, si una venta se cobra en distintos plazos, puedes utilizar un destinador para registrar cada cobro y llevar un control del total cobrado. De manera similar, si una compra implica la entrada de inventario en días distintos, puedes utilizar un destinador para registrar cada entrada y llevar un control del total recibido.

Esto te permite crear informes de estado y avisos que te ayudarán a mantener un seguimiento eficiente de todos tus procesos.

Last modified: 04 February 2025