Sistema de Gestión de Negocios "Hexa"

Base de datos de conocimiento.

usuario usuariows del grupo no autorizado

Los métodos ObD en Hexa V.9

El objeto ObD, de la clase cObD, facilita la obtención de datos de Hexa: numeración y estado de documentos, importes pendientes, precios, impuestos, monedas y datos de personas. Algunos métodos de numeración y traducción también actualizan la base de datos, tal como se indica en su descripción.

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:

  • ObD.NumeroDocumento(Documento, Usr, Eqp, Especial)

    Obtiene y consume el siguiente número para Documento, teniendo en cuenta Usr, Eqp y el sufijo opcional Especial, vacío por defecto. Busca un contador aplicable, comprueba números ya utilizados y actualiza el contador; si corresponde recurre a Configuracion o crea un contador. No es una consulta sin efectos: incrementa la numeración.

    Ejemplo:

    Main = ObD.NumeroDocumento("Factura", BD.UsuarioActual, BD.EquipoActual)
  • ObD.PrefijoDocumento(Documento, Usr, Eqp, Especial)

    Devuelve el prefijo del contador de Documento aplicable a Usr, Eqp y Especial. Si no encuentra contador lo busca en Configuracion. Especial es opcional y vacío por defecto. No crea ni actualiza registros; cuando se está creando un documento debe consultarse después de NumeroDocumento.

    Ejemplo:

    Main = ObD.PrefijoDocumento("Factura", BD.UsuarioActual, BD.EquipoActual)
  • ObD.Siguiente(Tabla, CampoSiguiente, Condicion, BaseDeDatosAuxiliar)

    Devuelve el máximo de CampoSiguiente en Tabla, limitado por Condicion, más uno. BaseDeDatosAuxiliar selecciona la conexión. Si el campo es de texto limita la búsqueda al intervalo numérico contemplado. Devuelve cero con tabla o campo vacíos o ante un error. No reserva ni incrementa un contador.

    Ejemplo:

    Main = ObD.Siguiente("Cliente", "Codigo", "", False)
  • ObD.BuscaContador(Documento, Prefijo)

    Busca el contador de Documento que utiliza Prefijo para el usuario y equipo actuales. Devuelve su sufijo especial, quitando el nombre del documento; para el contador ordinario puede devolver cadena vacía y para facturas de contrato "Contrato". Si falta, puede crear un contador con ese prefijo y establecer su próximo número.

    Ejemplo:

    Main = ObD.BuscaContador("Factura", "A")
  • ObD.EspecialContador(Contador, Documento)

    Quita Documento del principio de Contador y devuelve el sufijo. Devuelve cadena vacía si Contador no empieza por Documento o es más corto.

    Ejemplo:

    Main = ObD.EspecialContador("Factura2026", "Factura")
  • ObD.EstFAP(Documento, Prefijo, Numero)

    Devuelve las operaciones permitidas sobre el documento identificado por Documento, Prefijo y Numero: 0 permite modificar y borrar, 1 modificar pero no borrar y 2 ninguna de las dos. Considera totales, cierre contable, estados y gestiones de cobro o pago. AlbaranInterno devuelve siempre 0.

    Ejemplo:

    Main = ObD.EstFAP("Factura", "A", 1234)
  • ObD.EstMovPrev(Condicion, Orden, Opciones)

    Examina los registros seleccionados de MovimientoPrevisto y devuelve dos caracteres. El primero resume lo tramitado o anulado y el segundo lo marcado para tramitar: 0 significa nada, 5 una parte y 1 todo. Por ejemplo 05 indica que no se ha tramitado y hay una parte marcada para tramitar. Opciones no se utiliza; sin movimientos el resultado queda vacío.

    Ejemplo:

    Main = ObD.EstMovPrev("PedidoPrefijo='A' AND PedidoNumero=1234", "Codigo", "")
  • ObD.ImpoPedidoPend(Condicion, Orden, Opciones)

    Calcula el importe pendiente de los pedidos seleccionados a partir de sus movimientos previstos y de la proporción de base pendiente respecto al total. Opciones: SoloReservado=Si considera la cantidad marcada para tramitar en lugar de toda la pendiente. Devuelve el importe como texto o el texto del error.

    Ejemplo:

    Main = ObD.ImpoPedidoPend("Prefijo='A' AND Numero=1234", "Numero", "SoloReservado=No")
  • ObD.ImpoReciboPend(Condicion, Orden, Opciones)

    Suma el Importe de los recibos no cobrados que cumplen Condicion. ConsiderarDisponible=Si incluye los cobrados cuya FechaDisponible es posterior a BD.FechaTrabajo. Orden no se utiliza. Devuelve la suma como texto o el texto del error.

    Ejemplo:

    Main = ObD.ImpoReciboPend("Cliente=1234", "", "ConsiderarDisponible=Si")
  • ObD.EstPed(Prefijo, Numero, Valor, Opciones)

    Devuelve una magnitud del pedido Prefijo/Numero, escogida mediante Valor. Admite BaseTotal, BaseTramitada, BaseTramitar, BaseAnulada, BasePendiente, UnidadesTotal, LineasTotal, LineasTramitadas, LineasTramitar, LineasParciales y UnidadesTramitadas. Los cálculos se basan en movimientos con cantidad positiva.

    También admite FechaDisponibleFecha, con FechaMinima en Opciones; BaseDisponibleFecha, con Fecha; y DescripcionPrevisionFechas, que resume porcentajes disponibles por fecha. Opciones es opcional y vacío por defecto. Un Valor desconocido devuelve cadena vacía. La consulta de UnidadesTramitadas contiene una expresión de campo mal formada en el código actual.

    Ejemplo:

    Main = ObD.EstPed("A", 1234, "BasePendiente")
  • ObD.EstCli(Codigo, Valor)

    Con Valor="Actividad" devuelve "Si" si el cliente Codigo tiene registros relacionados en las tablas comprobadas, como pedidos, albaranes, facturas, recibos, contactos, almacenes o contratos; en caso contrario devuelve "No". Otros valores devuelven cadena vacía.

    Ejemplo:

    Main = ObD.EstCli(1234, "Actividad")
  • ObD.EstPro(Codigo, Valor)

    Equivalente de EstCli para proveedores y sus documentos relacionados. Valor="Actividad" devuelve "Si" o "No"; otros valores devuelven cadena vacía.

    Ejemplo:

    Main = ObD.EstPro(1234, "Actividad")
  • ObD.ExisteContador(CodigoContador)

    Comprueba si existe CodigoContador para el usuario y equipo actuales según los filtros de la función. Devuelve un booleano y no modifica la numeración.

    Ejemplo:

    Main = ObD.ExisteContador("Factura")
  • ObD.Precio(CodigoArticulo, CodigoCliente)

    Obtiene el precio del artículo para CodigoCliente. Prioriza un precio no nulo y distinto de cero de ClienteArticulo, después la tarifa del cliente y finalmente Articulo.Precio. Devuelve cero si no obtiene precio. Comprueba las fechas de tarifa; la comprobación de caducidad consulta el nombre Caduda en una de sus expresiones.

    Ejemplo:

    Main = ObD.Precio("ART001", 1234)
  • ObD.PrecioProveedor(CodigoArticulo, CodigoProveedor)

    Busca el precio de compra para CodigoProveedor en ProveedorArticulo y en la tarifa del proveedor. Como alternativa utiliza Articulo.Coste y, si no obtiene valor, devuelve cero.

    Ejemplo:

    Main = ObD.PrecioProveedor("ART001", 1234)
  • ObD.Denominacion(CodigoArticulo, CodigoPersona, TipoPersona)

    Obtiene la denominación de un artículo para una persona. Prioriza ClienteArticulo o ProveedorArticulo, después ArticuloIdioma según el idioma de esa persona y finalmente Articulo.Denominacion. TipoPersona debe ser Cliente o Proveedor cuando CodigoPersona no es cero.

    Ejemplo:

    Main = ObD.Denominacion("ART001", 1234, "Cliente")
  • ObD.TIVA(Nombre)

    Devuelve el valor del campo Tipo del registro TipoIVA identificado por Nombre, convertido a número.

    Ejemplo:

    Main = ObD.TIVA("Normal")
  • ObD.TipoIVACN(Articulo)

    Obtiene el nombre de TipoIVA del artículo y devuelve su valor numérico mediante TIVA.

    Ejemplo:

    Main = ObD.TipoIVACN("ART001")
  • ObD.PREC(Nombre)

    Devuelve PorcentajeRE del registro TipoIVA identificado por Nombre.

    Ejemplo:

    Main = ObD.PREC("Normal")
  • ObD.PorcentajeRECN(Articulo)

    Devuelve el recargo de equivalencia del tipo de IVA asignado al artículo, mediante PREC.

    Ejemplo:

    Main = ObD.PorcentajeRECN("ART001")
  • ObD.PrecisionMoneda(Moneda)

    Devuelve los decimales de Moneda. Si no se especifica, utiliza la moneda general configurada; cuando no obtiene una definición de moneda utiliza DecimalesMoneda.

    Ejemplo:

    Main = ObD.PrecisionMoneda("EUR")
  • ObD.MultiplicadorMoneda(MonedaInicial, MonedaFinal)

    Devuelve el coeficiente de MonedaInicial dividido por el de MonedaFinal. Si falta la moneda inicial utiliza la configurada; los coeficientes cero se sustituyen por uno. El resultado permite convertir un importe multiplicándolo por ese factor.

    Ejemplo:

    Main = ObD.MultiplicadorMoneda("USD", "EUR")
  • ObD.DecLinDoc(Tipo)

    Devuelve los decimales configurados para las líneas de documentos. Tipo permite distinguir Entrada, Cantidad y el caso general. Para importes aplica un mínimo de dos decimales y para cantidades evita resultados negativos.

    Ejemplo:

    Main = ObD.DecLinDoc("Cantidad")
  • ObD.Traduce(Texto)

    Busca la traducción de Texto en IdiomaTexto según el idioma configurado para el usuario y equipo. Si no hay traducción conserva el texto; la función también contempla registrar textos pendientes de traducción.

    Ejemplo:

    Main = ObD.Traduce("Clientes")
  • ObD.Email(Tipo, Codigo)

    Obtiene el correo de la persona identificada por Tipo y Codigo. Contempla empleados y usuarios, resolviendo las relaciones correspondientes; para Empleado con código vacío utiliza el correo de configuración. Devuelve cadena vacía ante un error.

    Ejemplo:

    Main = ObD.Email("Cliente", "1234")
  • ObD.EMailEnvDoc(Documento, Prefijo, Numero, Destinatario)

    Busca el destinatario de correo de un documento comercial identificado por Prefijo y Numero. Destinatario indica el campo de contacto o persona que debe considerarse. Comprueba las condiciones de envío y la sintaxis del correo. Devuelve una referencia Tipo,Codigo, como Contacto,1234, no la dirección de correo; si no corresponde enviar devuelve cadena vacía.

  • ObD.Nombre(Tipo, Codigo)

    Devuelve el nombre compuesto de la persona Tipo/Codigo, reuniendo tratamiento, nombre de pila y apellidos o razones sociales según los campos existentes. Contempla la relación de usuarios con empleados y el uso de datos de configuración. Devuelve cadena vacía ante un error.

    Ejemplo:

    Main = ObD.Nombre("Cliente", "1234")
  • ObD.Direccion(Tipo, Codigo)

    Compone la dirección y datos de contacto de Tipo/Codigo a partir de vía, direcciones, código postal, población, provincia, teléfono, fax y correo. Devuelve cadena vacía ante un error.

    Ejemplo:

    Main = ObD.Direccion("Cliente", "1234")
  • ObD.UsuarioEsContacto(Usuario)

    Comprueba que Usuario sea un identificador numérico no cero y que coincida con el código de un Contacto existente. Aunque el tipo devuelto es Long, asigna una expresión booleana: verdadero se representa como -1 y falso como 0, no como el código del contacto.

    Ejemplo:

    Main = ObD.UsuarioEsContacto("1234")
  • ObD.ClienteContacto(Contacto)

    Devuelve el código numérico del cliente relacionado con Contacto, o cero si no obtiene un valor numérico.

    Ejemplo:

    Main = ObD.ClienteContacto(1234)
  • ObD.UsuarioEsComercial(Usuario)

    Devuelve el código Comercial almacenado en el registro Usuario. Cero indica que no obtiene un comercial asociado.

    Ejemplo:

    Main = ObD.UsuarioEsComercial(BD.UsuarioActual)
  • ObD.DescripcionUsuario(pagina)

    Genera un texto descriptivo del usuario de una página web a partir de Session("usuario"), Session("micontacto") y Session("micomercial"). Añade los datos de contacto, cliente o comercial relacionados; sin usuario devuelve "Usuario anónimo".

  • ObD.DescReg(Tabla, Condicion)

    Devuelve una descripción breve del registro de Tabla seleccionado por Condicion. Incluye tabla y clave; añade el nombre para personas, la denominación para artículos y el concepto para documentos comerciales.

    Ejemplo:

    Main = ObD.DescReg("Cliente", "Codigo=1234")

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

Volver a la búsqueda anterior