Sistema de Gestión de Negocios "Hexa"

Base de datos de conocimiento.

Doc. Ref. 28815
Título: Los métodos BD en Hexa V9
Autor: Soltec
Última actualización: 17/08/2018
#asiento #apunte #cuenta #contabilidad


Los métodos BD en Hexa V.9

El objeto BD es una instancia de la clase cBD que siempre está activa y disponible y es accesible desde los Hexa-Scripts. Dispone de métodos y propiedades que facilitan realizar consultas y sentencias sobre la base de datos de formaa ágil y sencilla.

En este documento se expone también la existencia de la clase "Rs" (RecordSet) que permite, desde el objeto BD, crear y tratar conjuntos de registros.

Los métodos disponibles son los siguientes:

Propiedades y métodos relacionados con operaciones contra la base de datos.
    BD.Cmp(Tabla, Campo, Condicion, Auxiliar)

    Devielve el valor de un campo de una tabla cumpliendo una condición. EL parámetro auxiliar indica si la tabla es de la base de datos principal o auxiliar. Si la condición devuelve más de un registro, devuelve el valor del primero, por lo que conviene especificar un "ORDER BY". Es muy útil para obtener muy ágilmemnte el valor de un campo.

    Ejemplo:

    Main = BD.Cmp("Cliente", "Zona", "Codigo=1234", false)

    Resultado:

    Norte
    BD.CmpL(Tabla, Campo, Condicion, Orden, LongitudMaxima, Auxiliar)

    Igual que el método "Cmp" pero devolviendo una lista de valores. La longitud máxima permite limiter el tamaño de la lista. Si es cero, supone longitud ilimitada.

    Ejemplo:

    Main = BD.CmpL("Cliente", "Codigo", "Zona='Norte'", "Codigo ASC", 0, false)

    Resultado:

    1234,2456,5400,8765,9065
    BD.EsAuxiliar(Tabla)

    Devuelve verdadero o falso en función de si la tabla pertenece a la base de datos auxiliar o principal.

    Ejemplo:

    Main = BD.Auxiliar("Articulo") & "-" & BD.Auxiliar("Paciente")

    Resultado:

    0-1
Propiedades y métodos relacionados con operaciones contra la base de datos.
Propiedades y métodos relacionados con la conexión y características de la base de datos.
  • BD.Actual(Auxiliar)

    Propiedad que devuelve o establece la cadena de conexión de la base de datos actual. Hexa permite la conexión simultánea a dos bases de datos, la principal y la auxiliar. El parámetro booleano "Auxiliar" permite indicar si nos referimos a ésta.

    Ejemplo:

    Main = BD.Actual(false)

    Resultado:

    Provider=SQLOLEDB.1;Password=8h4%382$3u24nx;Persist Security Info=True;User ID=sa;Initial Catalog=hexagemini;Data Source=srv7\sqlexpress;Connection Timeout=3600
  • BD.Conecta()

    Conecta la base de datos. Si se modifica algún parámetro de conexión, éste método permite realizar la conexión.

  • BD.Directorio()

    Hexa siempre está trabajando en un directorio en el que sencuentra sus ficheros y carpetas de trabajo. Esta propuedad devuelve la ruta de ese directorio.

    Ejemplo:

    Main = BD.directorio()

    Resultado:

    \\srv7\datos\hexa
  • BD.SQLSRV()

    Hexa puede trabajar contra diferentes tipos de bases de datos. La más habitual es SQL Server. Esta propuedad devuelve verdadero si es este tipo de base de datos. Es útil para confirmarlo antes de usar prestaciones específicas de este tipo de base de datos. Sólo lectura.

    Ejemplo:

    Main = BD.SQLSRV()

    Resultado:

    1
  • BD.MySQL()

    Equivalente en MySQL para la base de datos auxiliar. Sólo la base de datos auxiliar puede ser MySQL. Sólo lectura.

    Ejemplo:

    Main = BD.MySQL()

    Resultado:

    0
  • BD.Usr(Auxiliar)

    Devuelve el usuario de la base de datos (que no es el mimsm que el usuario que inicia sesión en Hexa. Sólo lectura.

    Ejemplo:

    Main = BD.Usr(false)

    Resultado:

    sa
  • BD.Passwd(Auxiliar)

    Devuelve la clave de la base de datos. Sólo lectura.

    Ejemplo:

    Main = BD.Passwd(false)

    Resultado:

    8h4%382$3u24nx
  • BD.Server(Auxiliar)

    Devuelve el nombre del servidor de la base de datos. Sólo lectura.

    Ejemplo:

    Main = BD.Server(false)

    Resultado:

    srv7\sqlexpress
  • BD.Database(Auxiliar)

    Devuelve el nombre del servidor de la base de datos. Sólo lectura.

    Ejemplo:

    Main = BD.Database(false)

    Resultado:

    hexagemini
  • BD.FechaTrabajo()

    Al arrancar Hexa, se establece una fecha de trabajo que, por defecto, es la actual del equipo desde el que se está trabajando. Esta propiedad permite consultar o modificar la fecha de trabajo. Algunos procesos, como la facturación, utilizan la fecha de trabajo; con esta propiedad se puede modificar y preparar cómodamente por ejemplo hoy, facturas que se emitirán mañana.

    Ejemplo:

    BD.FechaTrabajo = cDate ("1/3/2018")

    Establece una fecha trabajo diferente a la actual.

  • BD.Plataforma()

    Devuelve el sistema de plataforma en que estamos ejecutando Hexa: 2 = windows forms, 3 = web

  • BD.Database(Auxiliar)

    Devuelve el nombre del servidor de la base de datos. Sólo lectura.

    Ejemplo:

    Main = BD.Database(false)

    Resultado:

    hexagemini
  • BD.UsuarioActual()

    Establece o devuelve el nombre del usuario que ha iniciado la sesión en Hexa

    Ejemplo:

    Main = BD.UsuarioActual ()

    Resultado:

    jgonzalez
  • BD.EquipoActual()

    Establece o devuelve el nombre del equipo desde el que se está usando Hexa. Si está establecido, devolverá el establecido, si no lo está, devuelve el nombre del sistema windows desde el que se está ejecutando Hexa. Hay que tener en cuenta que el equipo se puede modificar por porgramación. En el entorno de un punto de venta o tienda con varios terminales (TPV) puede ser interesante establecer el equipo en función de condiciones:

    Ejemplo:

    If BD.UsuarioActual () = "jgonzalez" Then BD.EquipoActual = "caja1" Else BD.EquipoActual = "caja2"
La clase cRs y sus poperaciones desde el objeto BD

La clase Rs, permite, crear y tratar conjuntos de registros. Esta basada en la clase "DataTable" (sin heredar de ella). Estos son sus métodos y propiedades:

  • Rs.Consulta()

    Propiedad que establece o devuelve la consulta SQL que se realiza para cargar su contenido con el método "Abrir".

  • Rs.Abrir(Auxiliar)

    Este método abre el conjunto de registros.

  • Rs.Cerrar()

    Cierra el conjunto de registros liberando toda la memoria utilizada.

  • Rs.TablaDatos()

    Propiedad que devuelve el DataTable en que se basa el conjunto de datos.

  • Rs.getJson()

    Propiedad que devuelve el contenido del conjunto de datos en formato JSON.

  • Rs.Campo(Nombre)

    Devuelve el contenido de la columna indicada por "Nombre" y la fila actual.

  • Rs.Campo(Nombre, Fila)

    Devuelve el contenido de la columna indicada por "Nombre" y la fila indicada.

  • Rs.Cantidad

    Devuelve la cantidad actual de filas del comjunto de datos.

  • Rs.Posicion

    Devuelve el número de fila actual (la primera es 0).

  • Rs.Fin

    Propiedad que indica si hemos sobrepasado el último registro.

  • Rs.Ultimo(), Rs.Siguiente(), Rs.Anterior(), Rs.Primero()

    Métodos que desplazan la fila actual a la última, siguiente, anterior y primera respectivamente.

  • Rs.NuevaFila ()

    Crea una nueva fila a continuación de la última.

  • Rs.OrdenFila (Fila, NuevaPosicion)

    Mueve una fila a la posicion indicada.

  • Rs.NuevaColumna (Nombre, Tipo)

    Crea una nueva columna a continuación de la última. Utiliza tipos Hexa (Entero, Real, Texto, Memo, Booleano, Fecha, Hora).

  • Rs.OrdenColumna (Nombre, NuevaPosicion)

    Mueve una columna a la posicion indicada.

  • Rs.EliminarColumna (Nombre)

    Elimina una columna.

  • Rs.EliminarFila (Fila)

    Elimina una fila.

  • Rs.Ordenar (Campo)

    Ordena el conjunto de datos por el campo indicado. De puede indicar ASC o DESC a continuación del nombre de la columna

  • Rs.CreaExcel (Ruta)

    Exporta a un fichero excel el conjunto de datos

Indice: Las clases y sus métodos en Hexa V.9

Volver a la búsqueda anterior