Sistema de Gestión de Negocios "Hexa"
Base de datos de conocimiento.
| Doc. Ref. 32008 Título: Los métodos Sel en Hexa V9 Autor: Soltec Última actualización: 17/08/2018#seleccciones #conjunto #registro #tabla |
Los métodos Sel en Hexa V.9
El objeto Sel, de la clase cSel, permite crear selecciones de registros, regenerar su detalle y convertir conjuntos de claves en condiciones SQL. Trabaja con las tablas Seleccion y DetalleSeleccion y admite claves numéricas, de texto o compuestas.
En los métodos con Condicion, Orden y Opciones, el criterio SQL se indica sin WHERE y el orden sin ORDER BY, salvo las particularidades descritas en cada caso. Opciones contiene valores con el formato Nombre=Valor; los textos con espacios se delimitan con comillas simples. Una condición vacía puede abarcar todos los registros. Los ejemplos utilizan datos ilustrativos.
Los métodos disponibles son los siguientes:
-
Sel.CSel(Condicion, Orden, Opciones)
Crea un registro de Seleccion y su DetalleSeleccion a partir del criterio de una tabla. Opciones: NombreTabla identifica la tabla; CampoNumero y CampoTexto indican uno o dos campos clave, debiendo existir al menos uno; Descripcion se limita a 50 caracteres; CantidadMaxima limita los registros y cero significa sin límite. Guarda el criterio de claves en Observaciones y genera el detalle con GDetSel. Devuelve "Creada seleccion Codigo=" y el identificador. El detalle conserva las claves obtenidas en el momento de crear la selección.
Ejemplo:
Main = Sel.CSel("Zona='Norte'", "Codigo", "NombreTabla='Cliente' CampoNumero='Codigo' Descripcion='Clientes Norte' CantidadMaxima=100") -
Sel.SQLCond(Tabla, CampoNumero, CampoTexto, Condicion, Orden, CantidadMaxima)
Consulta Tabla con Condicion y Orden y devuelve un criterio que contiene sus claves: una lista IN para un solo campo clave, o grupos de condiciones unidos por OR para CampoNumero y CampoTexto. CantidadMaxima igual a cero no limita el recorrido. No crea una selección en la base de datos. Devuelve cadena vacía ante un error; el caso sin registros no genera necesariamente un criterio SQL utilizable.
Ejemplo:
Main = Sel.SQLCond("Factura", "Numero", "Prefijo", "Cliente=1234", "Prefijo, Numero", 100) -
Sel.GDetSel(CodigoSeleccion)
Regenera los registros de DetalleSeleccion de CodigoSeleccion a partir de la tabla, campos clave y criterio guardados en Seleccion. Elimina primero el detalle anterior y devuelve la cantidad de registros introducidos. Es útil para actualizar una selección con los datos actuales de la tabla.
Ejemplo:
Main = Sel.GDetSel(25)
-
Sel.SQLDetSel(CodigoSeleccion)
Devuelve una condición SQL a partir de las claves almacenadas en DetalleSeleccion. Utiliza IN para una clave y grupos unidos por OR cuando hay clave numérica y de texto. Devuelve cadena vacía ante un error. En la rama de dos claves el código consulta CampoTexto en el registro de detalle, particularidad que puede impedir obtener el criterio si ese campo no existe.
Ejemplo:
Main = Sel.SQLDetSel(25)
