Sistema de Gestión de Negocios "Hexa"

Base de datos de conocimiento.

Doc. Ref. 7868
Título: Obtención de precios y denominaciones de artículos
Autor: Philippe Calvó
Última actualización: 20/06/2007
#Articulos #Descuentos #Precios


Obtención de precios y denominaciones de artículos

Los precios y denominaciones a aplicar y visualizar delos artículos dependen de múltiples factores:

  • Valores especificados en la tabla "Articulo"
  • Denominaciones especificadas en la tabla "ArticuloIdioma"
  • Importes especificados en la tabla "ArticuloTarifa"
  • Descuentos especificados en la tabla "Descuento"
  • Valores especificados en la tabla "ClienteArticulo"

Básicamente, el precio y la denominación son función del código de cliente y el código de artículo.El procedimiento que debe seguir el sistema para la determinación del precio de un artículo es el siguiente (en cuanto se cumple un criterio en el orden expuesto, se deja de evaluar las siguientes posibilidades):

  • Si existe un registro en la tabla "ClienteArticulo" con los correspondientes valores en los campos "Cliente" y "Artículo", el valor del precio es el contenido en el campo "Precio" de este registro.
  • Si el cliente tiene especificada una tarifa (Campo "Tarifa" del registro correspondiente de la tabla "Cliente") y en la tabla "TarifaPrecio" existe un registro para la tarifa especificada y artículo (Campos "Tarifa" y Articulo"), se aplica el valor del campo "Precio" de esta tabla.
  • Si existe el artículo (Campo "Codigo" de la tabla "Articulo") y éste tiene especificado un grupo (Campo "Grupo") y el cliente también tiene especificado un Grupo (Campo "Grupo"), se comprueba si existe un registro en la tabla "Descuento" con los valores correspondientes en los campos "GrupoClientes" y "GrupoArticulos" y en caso afirmativo se devuelve el campo "Precio" de la tabla de Artículos con el descuento especificado en el campo "Descuento" de la tabla de descuentos. Si el campo "IncrementoCoste" de esta tabla es verdadero, el porcentaje de descuento especificado se aplica como incremento sobre el campo "Coste" de la tabla de artículos.
  • Si no existe un descuento explicado en el punto anterior, pero si que existe el artículo, se devuelve simplemente el valor del campo "Precio" del registro correspondiente de la tabla "Articulo"
  • Si el artículo no existe, se devuelve cero.

Se dispone de la función "Precio" que tiene como parámetros el código de artículo y el código de cliente y que realiza el proceso anterior devolviendo el importe correspondiente.Para la obtención de las denominaciones se realiza un proceso similar al anterior:

  • Si existe un registro en la tabla "ClienteArticulo" con los correspondientes valores en los campos "Cliente" y "Artículo", la denominación es la contenida en el campo "Denominacion" de este registro.
  • Si el cliente tiene un idioma concreto especificado en el campo "Idioma" y existe un registro en la tabla "ArticuloIdioma" con los valores correspondientes en los campos "Articulo" e "Idioma", se utiliza el campo "Denominacion" de este registro.
  • Si simplemente existe el artículo, se utiliza el campo "Denominacion" del registro correspondiente de la tabla "Articulo"
  • Si el artículo no existe, se devuelve una cadena vacía

Se dispone de la función "Denominacion" que tiene como parámetros el código de artículo y el código de cliente y que realiza el proceso anterior devolviendo una cadena con la denominación correspondiente.Nota: Las tablas GrupoClientes, GrupoArticulos y Tarifa, definen las posibles grupos de clientes y artículos y tarifas a utilizar. Sin embargo no es imprescindible que existan los correspondientes registros para que se puedan utilizar valores. Por ejemplo: Si en un registro de cliente con código "7412" (al que le queremos vender el artículo "FRT03" se especifica en el campo "Tarifa" el valor "Media" como tarifa a utilizar y en la tabla Tarifa existe un registro con los valores "Media" en el campo "Tarifa", "FRT03" en el campo "Articulo" y 12.450 en el campo "Precio", se aplicaré este precio, aunque no exista en la tabla "Tarifa" un registro con el valor "Media" en el campo nombre y algo así como "Tarifa habitual para clientes generales" en el campo "Descripción". No obstante, la mayor parte de los procedimientos del sistema impedirán que se introduzcan valores de artículos y precios en tarifas o que se asignen tarifas a clientes si no existe el correspondiente registro en la tabla de tarifas.

Volver a la búsqueda anterior