Introducción

Los formularios de la aplicación AHORA-ERP que contengan grids o rejillas disponen de nuevas opciones algunas de ellas avanzadas para que ya sea por usuario, departamento, delegación o grupos de usuarios se puedan generar modificaciones sobre la visualización y control del grid.

Una de las nuevas características que se ha añadido en las grid es la poder filtrar entre los registros que estamos visualizando, pulsando sobre cualquier grid con el botón derecho, a parte de ver las opciones de menú personalizadas, tenemos las siguientes opciones de menú que son generales para cualquier grid de la aplicación.

Imagen


En esta nueva versión, las columnas de los grids que tienen desplegables realizan búsquedas sensitivas sobre los registros además, si tenemos configurados los siguientes parámetros LIMITADOSCOMBOITEMS, MAXCOMBOITEMS con valores distintos de 0, podemos limitar tanto el número de registros a cargar como el número de registros que aparecen en las combos.

Ejemplo:

Si el nº de registros supera 500 (MAXCOMBOITEMS), entonces sólo se mostrarán 10 registros (LIMITADOSCOMBOITEMS), que serán los 10 primeros que cumplan el principio de lo que el usuario ha escrito en la combo. Y si no supera los 500 la combo carga todos los registros. 

Destacamos que ahora si pulsamos el botón derecho sobre un registro del grid, el marcador de la línea del grid se sitúa sobre la línea. De esta forma los procesos del menú contextual hacen referencia a la línea en la que estamos situados.

 

Acceso a la Configuración del Grid Usuario

Los usuarios administradores que son los que pertenecen al grupo definido en el parámetro de configuración GRUPOADMON tienen la posibilidad de acceder a la configuración de cualquier grid o rejilla que exista en la aplicación. El acceso a esta funcionalidad se hace pulsando sobre el cuadro superior izquierda de la grid, a través del botón derecho del ratón accederemos al menú contextual con las diferentes opciones del grid. 

Imagen

 

Opciones del Grid Usuario

El grid usuario nos ofrece varias opciones todas las opciones están disponibles para los usuarios excepto el menú principal configurar. La principal característica de este formulario es poder cambiar y configurar las propiedades de las columnas del grid así como añadir columnas personalizadas que no están como propiedades del objeto. Para esta última opción tenemos que rellenar el grid de campos nuevos situado en la parte inferior del objeto.

Ordenar

Al pulsar esta opción del menú contextual accedemos a la siguiente pantalla donde podemos ordenar los registros del grid según nuestro criterio. En la parte de la izquierda aparecen los campos visibles del grid y mediante las flechas podemos ordenar por uno o mas campo de forma ascendente (predeterminada) o descendente si desmarcamos el check.

Imagen


Destacar que esta configuración no se queda guardada para un próximo uso es decir, que la próxima vez que entremos en el formulario donde hemos establecido los campos de ordenación los registros no se mostrarán ordenados según el criterio previamente establecido. 

Configurar

Se puede crear una configuración del grid para cada grupo de seguridad que tengamos establecido en el programa. Los cambios en configuración del grid son realizados generalmente para poder ocultar columnas, modificar el ancho, cambiar establecer reglas de color para la validación de campos y un largo etcétera que veremos en el apartado especifico para ello. Ir a configuración del grid usuario (en este mismo documento, más abajo). 

Imprimir

En esta opción de menú tenemos la posibilidad de imprimir, mediante el formulario estándar de listados los registros del grid. 

Si el grid no es de un objeto nos mostraría la impresión de la grid, de lo contrario aparecerían los listados configurados para el objeto que hace la llamada. 

Ejemplo: Pedidos_Lineas. En caso de que no tengamos configurado ningún listado para el objeto de la grid aparecerá un listado por defecto con todos los campos visibles del grid en formato de visualización vertical. 

Exportar

Con esta opción tenemos la posibilidad de exportar los registros tal y como los estamos visualizando en el grid al programa Microsoft Excel®. Si previamente los registros los teníamos ordenado al exportarlo mantendrá el criterio de ordenación. 

Objetos en Árbol

Si tenemos habilitado en la columna de configuración del grid combowhere una sentencia para ver el objeto este se mostrará en el árbol o en una ventana nueva. Ver campos del formulario configuración del grid.

Límite

Mediante esta opción tenemos la posibilidad de limitar los registros que aparecen en el grid bien mediante un número de registros o un porcentaje que introduce el usuario. 

Configuración del Grid Usuario

Las modificaciones que realicemos sobre algún grid de la aplicación se quedarán guardadas en las tablas Ahora_grids y Ahora_Grids_Campos. 

Las diferentes configuraciones se pueden realizar por ejemplo para qué dependiendo de un departamento-delegación-empresa u otro puedan tener diferentes configuraciones. Si queremos añadir campos adicionales del objeto a una grid que proviene de un objeto de la aplicación, pero que sus campos no están visibles o no han sido cargados, debemos de rellenar el grid inferior con los campos que devuelve la vista o tabla de la colección del objeto.

Para añadir campos adicionales que no son del objeto debemos rellenar en la tabla objetos el campo Edición Grid con una vista que contenga tanto la tabla/vista del objeto como los campos que hemos añadido.

Captura de Pantalla

Imagen

 

Campos del Formulario Configuración del Grid

A continuación se exponen los campos que configuran el grid tanto superior como inferior.

  • Orden: Es un valor numérico que nos dice el orden en el que saldrán los campos que estén visibles en el grid
  • Propiedad: Generalmente coincide con el campo de la tabla establecido desde el objeto desde el cual provenimos. Si el nombre empieza con el carácter @ significa que es un campo calculado a partir de otro. Mirar columna Substitución
  • Descripción: Es el nombre que aparecerá como nombre de columna en el grid, puede diferir del campo propiedad
  • Visible: Si está marcado el campo significa que la columna será visible de cara al usuario.
  • Bloquear: Marcado significa que no podremos realizar ninguna modificación al respecto.
  • Bloquear Tabla: Significa que esta propiedad no será guardada en la tabla correspondiente del objeto, normalmente se usa en los campos calculados.
  • Obligatorio: Marcado significa que el programa nos recordará que el campo debe de estar relleno para poder guardar la línea del grid.
  • Total: Se usa en campos numéricos, al marcar esta columna indicamos al grid que sume los valores de toda la columna y los muestre en el pie del grid.
  • Ancho: Establecemos el ancho de la columna.
  • Formato: Desde aquí por ejemplo podemos modificar el número de decimales de una columna o la forma en que visualizaremos los campos de fecha. 
    Para los campos de tipo fecha podemos establecer los siguientes formatos:


dd/mm/yyyy d-mm-yy

Los valores posibles para los campos numéricos son:

#,##0 Significa que la columna se visualizará sin decimales.
    • ,##0.00 (2 decimales)
  1. ,##0.0000 (4 decimales)
  • Default: Es el valor que guardará por defecto al insertar la línea. Podemos gastar una sentencia SQL igual que en el campo sustitución
  • NoTabStop: Si está marcado el check significa que al pulsar la tecla tabulación o enter el foco no pasará por esta columna. No significa que la columna esté bloqueada.
  • TipCabecera: Es la etiqueta que se visualiza al situarse por encima de la columna mediante el puntero del ratón
  • Combo: Nos indica que la columna dispondrá de una combo o desplegable para seleccionar los ítems, también automáticamente se habilitan los asistentes al pulsa la tecla F3 sobre la columna. 
    El valor que debemos poner es una sentencia SQL. 
    Ejemplo:


SELECT Descrip D, Descrip, IdArticulo FROM VCombo_Articulos_PedCli ORDER BY Descrip

Prestamos especial atención a la repetición de la columna que vamos a guardar en la tabla, debemos siempre de repetir la columna que vamos a guardar/visualizar dos veces porque la primera se oculta siempre. La primera columna debe llevar un alias.
Destacamos que si en código existe una sentencia SQL no funcionará correctamente, Ejemplo Ver artículo Cliente.

  • ComboInner: Se utiliza para limitar lo que hay en la combo. Tiene el formato “Vista;CampoEnlace;CampoOrden” o “Vista;CampoEnlace”
  • ComboWhere: Se usa para poder poner un where en la vista que está usando. Puede llevar campos referentes al mismo registro (como en la sustitución,ej: @IdPedido)
  • ComboRefresh: Si marcamos el check, nos indicará si la combo se refresca al cambiar de registro. Esto es si vuelve a consultar al servidor todos los datos. Sobretodo es necesario que esta propiedad esté a True cuando la combo depende de otro campo de la grid, por ejemplo: Select IdCliente IdCli,IdCliente,Cliente FROM Clientes_Datos WHERE Padre=@IdCli, donde @IdCli significa que existe un campo en el grid que se llama IdCli y que estaría representando al cliente padre.


Combo: “SELECT IdArticulo IdArt,IdARticulo,Descrip FROM vCombo_Articulos ComboRefresh: True ComboInner: “vCombo_Materiales;IdArticulo;IdArticulo” ComboWhere: “IdArticulo IN (SELECT IdArticulo FROM Pedidos_cli_Lineas WHERE IdPedido=@IdPedido )”
  • ActivarColor: Marcaremos esta casilla cuando queramos modificar el color de la columna (fondo y/o letra), de lo contrario la propiedad ColorFondo, ColorLetra y ReglaColor no funcionarán.
  • ColorFondo: Esta pendiente el mostrar un formulario para elegir el color, actualmente podemos poner un valor en hexadecimal y el automáticamente nos lo convierte a long. Por ejemplo &H0FF00FF
  • ColorLetra: Esta pendiente el mostrar un formulario para elegir el color.
  • ReglaColor: Podemos establecer una fórmula para validar el valor del campo (x) En aBackColor hay que devolver el color de fondo de la celda y aForeColor el color del texto.
  • Substitución: Es una sentencia SQL que se utiliza para obtener el valor de un campo a través de una consulta donde en el where utilizamos alguna propiedad del campo del grid, añadiendo el signo [@] delante del nombre. Ejemplo:


Donde el campo @IdArticulo corresponde a la propiedad Idarticulo del grid. Select IdFamilia FROM articulos_familias AF INNER JOIN articulos A ON A.IdFamilia=AF.IdFamila AND A.IdArticulo=@IdArticulo 
  • FormulaSelect: Para poner cálculos con campos a los que tenga acceso el from de la grid. Ejemplo: IsNull(Precio,0)*IsNull(Cantidad,0). Normalmente estos campos se bloquean porque son campos que no se pueden grabar. Es como si a la select le añadiésemos otra columna. También podemos añadir dbo.fundameprecio(Idarticulo)

 

Menús

Existen dos menús asociados en esta pantalla:

  • Principal: Desde esta opción podemos cargar los campos que queramos modificar del grid. No es aconsejable cargar toda la configuración del grid puesto que supone un coste de tiempo. Es altamente recomendable eliminar los registros de los cuales no hemos hecho cambios.
  • Asignar: Asigna a qué grupos de seguridad se les aplicará la configuración del grid. El menú carga el formulario de Asignación de grupos. Hipervínculo a Seguridad


Más acerca de las propiedades del grid en el siguiente artículo


Propiedades de la grid


Para saber más sobre este control, no te pierdas el siguiente artículo


Grid - Todo lo que debes saber sobre este control