{
===============================================================================
  Copyright (©) 2001. Rodax Software.
===============================================================================
  Los contenidos de este fichero son propiedad de Rodax Software titular del
  copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
  en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
  acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
  bajo el que se suministra.
  -----------------------------------------------------------------------------
  Web:  www.rodax-software.com
===============================================================================
  Fecha primera versión: 01-10-2001
  Versión actual: 1.0.1
  Fecha versión actual: 21-10-2002
===============================================================================
  Modificaciones:

    Fecha         Comentarios
    ---------------------------------------------------------------------------
    21-10-2002  Se ha añadido la entidad Tipos de cliente
===============================================================================
}

unit Entidades;

interface

uses Tipos, Graphics;

const
    CaptionsIntervalos : array [TTipoIntervalo] of string = (
               ('Mensual'),           //tiMensual
               ('Trimestral'),        //tiTrimestral
               ('Semestral')          //tiSemestral
    );

    CaptionsEntidades : array [TRdxEntidad] of string = (
               (''),                            //entVacia
               ('albarán de cliente'),          //entAlbaranCliente
               ('albarán de proveedor'),        //entAlbaranProveedor
               ('albarán de instalador'),       //entAlbaranInstalador
               ('almacén/obra'),                //entAlmacen
               ('almacén'),                     //entAlmacenFisico
               ('obra'),                        //entAlmacenObra
               ('obra cerrada'),                //entObraCerrada
               ('material'),                    //entArticulo
               ('material de almacén'),         //entArticuloAlmacen
               ('material de almacén'),         //entArticuloAlmacenFisico
               ('material de obra'),            //entArticuloAlmacenObra
               ('materiales de almacén'),       //entArticulosAlmacen
               ('materiales de almacén'),       //entArticulosAlmacenFisico
               ('materiales de obra'),          //entArticulosAlmacenObra
               ('materiales de obra historica'),//entArticulosObraHistorica
               ('bancos'),                      //entBancos
               ('cliente'),                     //entCliente
               ('datos'),                       //entDatos
               ('empresa'),                    //entEmpresa
               ('estadísticas'),                //entEstadisticas
               ('factura de cliente'),          //entFacturaCliente
               ('factura de proveedor'),        //entFacturaProveedor
               ('familias'),                    //entFamilias
               ('tipos de cliente'),            //entTiposCliente
               ('forma de pago'),               //entFormasPago
               ('unidades de medida'),          //entUnidadesMedida
               ('instalador'),								  //entInstalador
               ('informes'),                    //entInformes
               ('Informe estadístico de presupuestos a clientes'),    //entInfEstPreCli
               ('Informe estadístico de facturación a clientes'),     //entInfEstFacCli
               ('Informe estadístico de facturación de proveedores'), //entInfEstFacPro
               ('Informe estadístico de beneficios'),                 //entInfEstBeneficios
               ('listado de clientes'),         //entListadoClientes
               ('listado de pedidos de proveedor'),         // entListadoPedidosProv
               ('listado de facturas de proveedor'),        // entListadoFacturasProv
               ('listado de facturas pendientes'),          // entListadoFacturasProvPendientes
               ('listado de IVA de facturas de proveedor'), // entListadoFacturasProvIVA
               ('listado de presupuestos de cliente'),      // entListadoPresupuestosCli
               ('listado de facturas de cliente'),          // entListadoFacturasCli
               ('listado de facturas pendientes'),          // entListadoFacturasCliPendientes
               ('listado de IVA de facturas de proveedor'), // entListadoFacturasCliIVA
               ('informe de contabilidad'),                 // entListadoContabilidad
               ('movimiento'),                  //entMovimiento
               ('opciones'),                    //entOpciones
               ('listado de proveedores'),      //entListadoProveedores
               ('pedido a proveedor'),          //entPedidoProveedor,
               ('presupuesto de cliente'),      //entPresupuestoCliente,
               ('poblaciones'),                 //entPoblaciones,
               ('proveedor'),                   //entProveedor,
               ('provincias'),                  //entProvincias,
               ('situaciones'),                 //entSituaciones,
               ('sucursal de cliente')          //entSucursalCliente,
    );

    CaptionsModos : array [Normal..Traslado] of string = (
              (''),                             //Normal
              ('Aceptar'),                      //Aceptar
              ('Añadir'),                       //Anadir
              ('Anular'),                       //Anular
              ('Consultar'),                    //Consultar
              ('Devolver'),                     //Devolver
              ('Eliminar'),                     //Eliminar
              ('Emitir'),                       //Emitir
              ('Entrada'),                      //Entrada
              ('Entrada'),                      //EntradaPedido
              ('Facturar'),                     //Facturar
              ('Listar'),                       //Listar
              ('Localizar'),                    //Localizar
              ('Modificar'),                    //Modificar
              ('Pagar'),                        //Pagar
              ('Recibir'),                      //Recibir
              ('Salida'),                       //Salida
              ('Salida'),                       //SalidaDevolucion
              ('Seleccionar'),                  //Seleccionar
              ('Trasladar')                     //Trasladar
    );

function darNombreGrupo (Entidad : TRdxEntidad) : string;
function darNombreEntidad (Entidad : TRdxEntidad) : string;
{function darColorOscuro (Value: TRdxEntidad):TColor;
function darColorNormal (Value: TRdxEntidad):TColor;
function darColorClaro (Value: TRdxEntidad):TColor;}

implementation

uses
  Colores, StrFunc;

function darNombreGrupo (Entidad : TRdxEntidad) : string;
begin
  case Entidad of
    entAlmacenObra,
    entObraCerrada,
    entArticulosAlmacenObra,
    entArticulosObraHistorica,
    entArticuloAlmacenObra,
    entInstalador,
    entAlbaranInstalador : Result := 'Obras';
    entAlmacen,
    entAlmacenFisico,
    entArticuloAlmacen,
    entArticuloAlmacenFisico,
    entArticulosAlmacen,
    entArticulosAlmacenFisico,
    entMovimiento          : Result :='Almacenes';
    entDatos,
    entArticulo,
    entFormasPago,
    entUnidadesMedida,
    entBancos,
    entFamilias,
    entTiposCliente,
    entSituaciones,
    entProvincias,
    entPoblaciones         : Result := 'Datos';
    entCliente,
    entSucursalCliente,
    entPresupuestoCliente,
    entAlbaranCliente,
    entListadoPresupuestosCli,
    entListadoFacturasCli,
    entListadoFacturasCliPendientes,
    entListadoFacturasCliIVA,
    entListadoClientes,
    entFacturaCliente      : Result := 'Clientes';
    entProveedor,
    entAlbaranProveedor,
    entPedidoProveedor,
    entListadoPedidosProv,
    entListadoFacturasProv,
    entListadoFacturasProvPendientes,
    entListadoFacturasProvIVA,
    entFacturaProveedor    : Result := 'Proveedores';
    entOpciones            : Result := 'Opciones';
    entEmpresa             : Result := 'Empresas';
    entInformes,
    entInfEstPreCli,
    entInfEstFacCli,
    entInfEstFacPro,
    entInfEstBeneficios,
    entListadoContabilidad : Result := 'Informes';
    entVacia               : Result := ' ';
    else
      Result := ' ';
  end;
end;

function darNombreEntidad (Entidad : TRdxEntidad) : string;
begin
  Result := StrCapitalize(CaptionsEntidades [Entidad]);
end;

function darColorOscuro (Value: TRdxEntidad) : TColor;
begin
  case Value of
    entAlmacen,
    entAlmacenFisico,
    entAlmacenObra,
    entObraCerrada,
    entArticuloAlmacen,
    entArticuloAlmacenFisico,
    entArticulosAlmacen,
    entArticulosAlmacenFisico,
    entArticuloAlmacenObra,
    entArticulosAlmacenObra,
    entArticulosObraHistorica,
    entInformes,
    entInfEstPreCli,
    entInfEstFacCli,
    entInfEstFacPro,
    entInfEstBeneficios,
    entMovimiento          : Result := RdxDarkGreen;
    entDatos,
    entPoblaciones,
    entProvincias,
    entArticulo,
    entInstalador,
    entFormasPago,
    entUnidadesMedida,
    entBancos,
    entFamilias,
    entTiposCliente,
    entSituaciones         : Result := RdxDarkBlue;
    entCliente,
    entSucursalCliente,
    entPresupuestoCliente,
    entAlbaranCliente,
    entListadoPresupuestosCli,
    entListadoFacturasCli,
    entListadoFacturasCliPendientes,
    entListadoFacturasCliIVA,
    entListadoClientes,
    entFacturaCliente      : Result := RdxDarkYellow;
    entProveedor,
    entPedidoProveedor,
    entListadoPedidosProv,
    entListadoFacturasProv,
    entListadoFacturasProvPendientes,
    entListadoFacturasProvIVA,
    entFacturaProveedor    : Result := RdxDarkRed;
    entOpciones : Result := rdxDarkBrown;
    else
      Result := RdxSepia;
  end;
end;

function darColorNormal (Value: TRdxEntidad) : TColor;
begin
  case Value of
    entAlmacen,
    entAlmacenFisico,
    entAlmacenObra,
    entObraCerrada,
    entArticuloAlmacen,
    entArticuloAlmacenFisico,
    entArticulosAlmacen,
    entArticulosAlmacenFisico,
    entArticuloAlmacenObra,
    entArticulosAlmacenObra,
    entArticulosObraHistorica,
    entInformes,
    entInfEstPreCli,
    entInfEstFacCli,
    entInfEstFacPro,
    entInfEstBeneficios,
    entMovimiento          : Result := RdxGreen;
    entDatos,
    entPoblaciones,
    entProvincias,
    entArticulo,
    entInstalador,
    entBancos,
    entFamilias,
    entTiposCliente,
    entFormasPago,
    entUnidadesMedida,
    entSituaciones         : Result := RdxBlue;
    entCliente,
    entSucursalCliente,
    entPresupuestoCliente,
    entAlbaranCliente,
    entListadoPresupuestosCli,
    entListadoFacturasCli,
    entListadoFacturasCliPendientes,
    entListadoFacturasCliIVA,
    entListadoClientes,
    entFacturaCliente      : Result := RdxYellow;
    entProveedor,
    entPedidoProveedor,
    entListadoPedidosProv,
    entListadoFacturasProv,
    entListadoFacturasProvPendientes,
    entListadoFacturasProvIVA,
    entFacturaProveedor    : Result := RdxRed;
    entOpciones : Result := RdxBrown;
    else
      Result := clBlack;
  end;
end;

function darColorClaro (Value: TRdxEntidad) : TColor;
begin
  case Value of
    entAlmacen,
    entAlmacenFisico,
    entAlmacenObra,
    entObraCerrada,
    entArticuloAlmacen,
    entArticuloAlmacenFisico,
    entArticulosAlmacen,
    entArticulosAlmacenFisico,
    entArticuloAlmacenObra,
    entArticulosAlmacenObra,
    entArticulosObraHistorica,
    entInformes,
    entInfEstPreCli,
    entInfEstFacCli,
    entInfEstFacPro,
    entInfEstBeneficios,
    entMovimiento          : Result := RdxLightGreen;
    entDatos,
    entPoblaciones,
    entProvincias,
    entArticulo,
    entInstalador,
    entFormasPago,
    entUnidadesMedida,
    entFamilias,
    entTiposCliente,
    entBancos,
    entSituaciones         : Result := RdxLightBlue;
    entCliente,
    entSucursalCliente,
    entPresupuestoCliente,
    entAlbaranCliente,
    entListadoPresupuestosCli,
    entListadoFacturasCli,
    entListadoFacturasCliPendientes,
    entListadoFacturasCliIVA,
    entListadoClientes,
    entFacturaCliente      : Result := RdxLightYellow;
    entProveedor,
    entPedidoProveedor,
    entListadoPedidosProv,
    entListadoFacturasProv,
    entListadoFacturasProvPendientes,
    entListadoFacturasProvIVA,
    entFacturaProveedor    : Result := RdxLightRed;
    entOpciones : Result := RdxLightBrown;
    else
      Result := RdxSepiaOscuro;
  end;
end;

end.
