// ***************************************************************************** // Computación en Acción, S.A. de C.V. (C) Copyright 2005 // Todos los Derechos Reservados. // // Sistema: ContpaqNG // // Título: Biblioteca de Catálogos. // // Descripción: Incluye las funciones comunes para el manejo de catálogos // excepto cuentas que tiene su biblioteca propia // // Fecha: 9/Mayo/2005 // Autor: Ricardo Paláu Castañeda // // ***************************************************************************** // Historial de Revisiones: // Fecha ID-ND/NC Descripción // ***************************************************************************** // ***************************************************************************** // Definiciones y asumidos globales para la librería // ***************************************************************************** // ***************************************************************************** // Variables de ámbito global // ***************************************************************************** // ***************************************************************************** // Definicion de funciones para el reporte // ***************************************************************************** gCadenaTemp = ' ' //****************************************************************************** // Argumento - aTMonedas: Tabla demonedas // Argumento - aCodigoMoneda: Código de la moneda. // // Salida - Número de registro de la moneda. //****************************************************************************** DefFunc fAjustaCodigo(aLongitud; aCodigo) Local lCodigo lCodigo = @Substr(gCadenaTemp;0;aLongitud-@len(aCodigo))& aCodigo Retorna lCodigo FinFunc //****************************************************************************** // fBuscaIdCatalogo() // Dado un código regresa su identificador. // // Argumento - aCatalogo: Tabla del catálogo // Argumento - aCodigo: Código a buscar. // // Salida - Id. //****************************************************************************** DefFunc fBuscaIdCatalogo(aCatalogo:Tabla; aCodigo) aCatalogo.AgregaColumna ['Id'] aCatalogo.Agregacondicion [aCatalogo(Codigo) = aCodigo] aCatalogo.Procesa Si aCatalogo->Encontro retorna aCatalogo(Id) FinSi retorna 0 FinFunc //****************************************************************************** // fBuscaCodigoCatalogo() // Dado un Id regresa su Código // // Argumento - aCatalogo: Tabla del catálogo. // Argumento - aId: Id a buscar. // // Salida - Código. //****************************************************************************** DefFunc fBuscaCodigoCatalogo(aCatalogo:Tabla;aId) aCatalogo.AgregaColumna['Codigo'] aCatalogo.AgregaCondicion[aCatalogo(Id)=aId] aCatalogo.Procesa Si aCatalogo->Encontro retorna aCatalogo(Codigo) Finsi retorna '' FinFunc //****************************************************************************** // fBuscaDescripcionCatalogo() // Dado un Id regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo. // Argumento - aId: Id a buscar. // // Salida - Descripción. //****************************************************************************** DefFunc fBuscaDescripcionCatalogo(aCatalogo:Tabla;aId) aCatalogo.AgregaColumna['Nombre'] aCatalogo.AgregaCondicion[aCatalogo(Id)=aId] aCatalogo.Procesa Si aCatalogo->Encontro retorna aCatalogo(Nombre) Finsi retorna '' FinFunc //****************************************************************************** // fBuscaDescripcionPorCodigo() // Dado un código de catálogo regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo. // Argumento - aCodigo: Código a buscar. // // Salida - Descripción. //****************************************************************************** DefFunc fBuscaDescripcionPorCodigo(aCatalogo:Tabla;aCodigo) aCatalogo.AgregaColumna['Nombre'] aCatalogo.AgregaCondicion[aCatalogo(Codigo)=aCodigo] aCatalogo.Procesa Si aCatalogo->Encontro retorna aCatalogo(Nombre) Finsi retorna '' FinFunc //FUNCIONES DE MONEDAS CM_MONE_CODIGO_MONEDA_BASE = ' 1' CM_MONE_CODIGO_MONEDA_BASE_EXT = ' 2' //****************************************************************** // fBuscaDecimalesMoneda() // Dado un código de moneda regresa su número de decimales. // // Argumento - aTMonedas: Tabla de de monedas. // Argumento - aCodigoMoneda: Código de la moneda, formato '1'. // // Salida - Decimales de la moneda. //****************************************************************** DefFunc fBuscaDecimalesMoneda(aTMonedas:Tabla; aCodigoMoneda) // Buscar la moneda base para obtener su número de centavos aTMonedas.AgregaColumna['Decimales'] aTMonedas.AgregaCondicion[aTMonedas(Codigo) = aCodigoMoneda] aTMonedas.Procesa Si !aTMonedas->Encontro Retorna 2 FinSi Retorna aTMonedas(Decimales) FinFunc //****************************************************************************** // fBuscaIdMoneda() // Dado un código de moneda regresa su identificador. // // Argumento - aCatalogo: Tabla del catálogo de monedas // Argumento - aCodigo: Código de la moneda a buscar. // // Salida - Id de la moneda. //****************************************************************************** DefFunc fBuscaIdMoneda(aCatalogo:Tabla; aCodigo) retorna fBuscaIdCatalogo(aCatalogo; aCodigo) FinFunc //****************************************************************************** // fBuscaCodigoMoneda() // Dado un Id de moneda regresa su Código // // Argumento - aCatalogo: Tabla del catálogo de monedas. // Argumento - aId: Id de la moneda a buscar. // // Salida - Código de la moneda. //****************************************************************************** DefFunc fBuscaCodigoMoneda(aCatalogo:Tabla;aId) retorna fBuscaCodigoCatalogo(aCatalogo;aId) FinFunc //****************************************************************************** // fBuscaDescripcionMoneda() // Dado un Id de moneda regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo de monedas. // Argumento - aId: Id de la moneda a buscar. // // Salida - Descripción de la moneda. //****************************************************************************** DefFunc fBuscaDescripcionMoneda(aCatalogo:Tabla;aId) retorna fBuscaDescripcionCatalogo(aCatalogo;aId) FinFunc //****************************************************************************** // fBuscaDescripcionMonedaPorCodigo() // Dado un código de moneda regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo de monedas. // Argumento - aCodigo: Código de la moneda a buscar. // // Salida - Descripción de la moneda. //****************************************************************************** DefFunc fBuscaDescripcionMonedaPorCodigo(aCatalogo:Tabla;aCodigo) retorna fBuscaDescripcionPorCodigo(aCatalogo;aCodigo) FinFunc //FUNCIONES DE DIARIOS //****************************************************************************** // fBuscaIdDiario() // Dado un código de diario regresa su identificador. // // Argumento - aCatalogo: Tabla del catálogo de diarios // Argumento - aCodigo: Código del diario a buscar. // // Salida - Id del diario. //****************************************************************************** DefFunc fBuscaIdDiario(aCatalogo:Tabla; aCodigo) retorna fBuscaIdCatalogo(aCatalogo; aCodigo) FinFunc //****************************************************************************** // fBuscaCodigoDiario() // Dado un Id de diario regresa su Código // // Argumento - aCatalogo: Tabla del catálogo de diarios. // Argumento - aId: Id del diario a buscar. // // Salida - Código del diario. //****************************************************************************** DefFunc fBuscaCodigoDiario(aCatalogo:Tabla;aId) retorna fBuscaCodigoCatalogo(aCatalogo;aId) FinFunc //****************************************************************************** // fBuscaDescripcionDiario() // Dado un Id de diario regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo de diarios. // Argumento - aId: Id del diario a buscar. // // Salida - Descripción del diario. //****************************************************************************** DefFunc fBuscaDescripcionDiario(aCatalogo:Tabla;aId) retorna fBuscaDescripcionCatalogo(aCatalogo;aId) FinFunc //FUNCIONES DE ACTIVOS FIJOS //****************************************************************************** // fBuscaIdActivoFijo() // Dado un código de activo fijo regresa su identificador. // // Argumento - aCatalogo: Tabla del catálogo de activos fijos // Argumento - aCodigo: Código del activo fijo a buscar. // // Salida - Id del activo fijo //****************************************************************************** DefFunc fBuscaIdActivoFijo(aCatalogo:Tabla; aCodigo) retorna fBuscaIdCatalogo(aCatalogo; aCodigo) FinFunc //****************************************************************************** // fBuscaCodigoActivoFijo() // Dado un Id de activo fijo regresa su Código // // Argumento - aCatalogo: Tabla del catálogo de activos fijos. // Argumento - aId: Id del activo fijo a buscar. // // Salida - Código del activo fijo. //****************************************************************************** DefFunc fBuscaCodigoActivoFijo(aCatalogo:Tabla;aId) retorna fBuscaCodigoCatalogo(aCatalogo;aId) FinFunc //****************************************************************************** // fBuscaDescripcionActivoFijo() // Dado un Id de activo fijo regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo de activos fijos. // Argumento - aId: Id del activo fijo a buscar. // // Salida - Descripción del diario. //****************************************************************************** DefFunc fBuscaDescripcionActivoFijo(aCatalogo:Tabla;aId) retorna fBuscaDescripcionCatalogo(aCatalogo;aId) FinFunc //FUNCIONES DE TIPOS DE POLIZAS //****************************************************************************** // fBuscaIdTipoPoliza() // Dado un código de tipo de póliza regresa su identificador. // // Argumento - aCatalogo: Tabla del catálogo de tipos de póliza // Argumento - aCodigo: Código del tipo de póliza a buscar. // // Salida - Id del tipo de póliza //****************************************************************************** DefFunc fBuscaIdTipoPoliza(aCatalogo:Tabla; aCodigo) retorna fBuscaIdCatalogo(aCatalogo; aCodigo) FinFunc //****************************************************************************** // fBuscaCodigoTipoPoliza() // Dado un Id de Tipo de póliza regresa su Código // // Argumento - aCatalogo: Tabla del catálogo de tipos de póliza. // Argumento - aId: Id del tipo de póliza a buscar. // // Salida - Código del tipo de póliza. //****************************************************************************** DefFunc fBuscaCodigoTipoPoliza(aCatalogo:Tabla;aId) retorna fBuscaCodigoCatalogo(aCatalogo;aId) FinFunc //****************************************************************************** // fBuscaDescripcionTipoPoliza() // Dado un Id de tipo de póliza regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo de tipos de póliza. // Argumento - aId: Id del tipo de póliza a buscar. // // Salida - Descripción del tipo de póliza. //****************************************************************************** DefFunc fBuscaDescripcionTipoPoliza(aCatalogo:Tabla;aId) retorna fBuscaDescripcionCatalogo(aCatalogo;aId) FinFunc //FUNCIONES DE SEGMENTOS DE NEGOCIO //****************************************************************************** // fBuscaIdSegmentoNegocio() // Dado un código de segmento de negocio regresa su identificador. // // Argumento - aCatalogo: Tabla del catálogo de segmentos de negocio // Argumento - aCodigo: Código del segmento de negocio a buscar. // // Salida - Id del segmento de negocio //****************************************************************************** DefFunc fBuscaIdSegmentoNegocio(aCatalogo:Tabla; aCodigo) retorna fBuscaIdCatalogo(aCatalogo; aCodigo) FinFunc //****************************************************************************** // fBuscaCodigoSegmentoNegocio() // Dado un Id de segmento de negocio regresa su Código // // Argumento - aCatalogo: Tabla del catálogo de segmentos de negocio. // Argumento - aId: Id del segmento de negocio a buscar. // // Salida - Código del tipo de póliza. //****************************************************************************** DefFunc fBuscaCodigoSegmentoNegocio(aCatalogo:Tabla;aId) retorna fBuscaCodigoCatalogo(aCatalogo;aId) FinFunc //****************************************************************************** // fBuscaDescripcionSegmentoNegocio() // Dado un Id de segmento de negocio regresa su Descripción // // Argumento - aCatalogo: Tabla del catálogo de tipos de póliza. // Argumento - aId: Id del segmento de negocio a buscar. // // Salida - Descripción del tipo de póliza. //****************************************************************************** DefFunc fBuscaDescripcionSegmentoNegocio(aCatalogo:Tabla;aId) retorna fBuscaDescripcionCatalogo(aCatalogo;aId) FinFunc //****************************************************************************** // fBuscaNumRegistroMoneda() // Busca el npumero de registro en su tabla que corresponde a una moneda. // // IMPORTANTE: // Esta función se usa en la función EJECUTA al pasar un código de moneda como // parámetro a otro reporte. Es necesario usarla porque al manejar en un // CtrlLista las monedas y recibir un código,el reporte ejecutado confunde la // posición en la lista con el código de la moneda y presenta información erronea. // // Argumento - aTMonedas: Tabla demonedas // Argumento - aCodigoMoneda: Código de la moneda. // // Salida - Número de registro de la moneda. //****************************************************************************** DefFunc fBuscaNumRegistroMoneda(aTMonedas:Tabla; aCodigoMoneda) Local lNumRegistro aTMonedas.AgregaColumna['Codigo'] aTMonedas.OrdenaPor['Codigo'] aTMonedas.Procesa lNumRegistro = 0 Mientras aTMonedas->Encontro Si aTMonedas(Codigo) = aCodigoMoneda FinCiclo Finsi lNumRegistro = lNumRegistro + 1 aTMonedas.Busca Siguiente FinMientras Retorna @Int(lNumRegistro) FinFunc