diff --git a/Build/Build.fbl6 b/Build/Build.fbl6 index 82b76c4..2725114 100644 Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 553497e..9c6fdd3 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -54,6 +54,58 @@ MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataModuleImpresiones
TDataModule @@ -63,58 +115,6 @@ TDataModule
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fConfigurarConexion
TForm diff --git a/Source/Informes/1/InformeObjetivosAgentesAlbaranes.fr3 b/Source/Informes/1/InformeObjetivosAgentesAlbaranes.fr3 index 2eecd5d..ba8b6fd 100644 --- a/Source/Informes/1/InformeObjetivosAgentesAlbaranes.fr3 +++ b/Source/Informes/1/InformeObjetivosAgentesAlbaranes.fr3 @@ -1,19 +1,19 @@ - + - - - - + + + + - - + + - + - + @@ -27,26 +27,26 @@ - - - + + + - + - + - + - + diff --git a/Source/Informes/2/InformeObjetivosAgentesAlbaranes.fr3 b/Source/Informes/2/InformeObjetivosAgentesAlbaranes.fr3 index 2eecd5d..ba8b6fd 100644 --- a/Source/Informes/2/InformeObjetivosAgentesAlbaranes.fr3 +++ b/Source/Informes/2/InformeObjetivosAgentesAlbaranes.fr3 @@ -1,19 +1,19 @@ - + - - - - + + + + - - + + - + - + @@ -27,26 +27,26 @@ - - - + + + - + - + - + - + diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm index f1a60bf..8cdf5c7 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm @@ -619,49 +619,47 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Default = True Name = 'IBX' SQL = - 'select OBJETIVOS.ID_AGENTE, OBJETIVOS.AGENTE, OBJETIVOS.ANO,'#10' ' + - ' OBJETIVOS.MES,'#10' OBJETIVOS.descripcion,'#10' CLIENTES_NUEVOS.C' + - 'ANTIDAD as ALTAS_CLIENTE,'#10' CLIENTES_TOTALES.CANTIDAD as CLIEN' + - 'TES_TOTALES,'#10' OBJETIVOS.CANTIDAD_OBJETIVO,'#10' OBJETIVOS.IMPO' + - 'RTE_OBJETIVO,'#10' ALCANZADO.CANTIDAD_CONSEGUIDA,'#10' ALCANZADO.C' + - 'ANTIDAD_DEVUELTA,'#10' ALCANZADO.IMPORTE_CONSEGUIDO,'#10' ALCANZAD' + - 'O.IMPORTE_DEVUELTO,'#10' (ALCANZADO.CANTIDAD_CONSEGUIDA - OBJETIV' + - 'OS.CANTIDAD_OBJETIVO) as CANTIDAD_RESULTADO,'#10' (ALCANZADO.IMPO' + - 'RTE_CONSEGUIDO - OBJETIVOS.IMPORTE_OBJETIVO) as IMPORTE_RESULTAD' + - 'O,'#10' case when (ALCANZADO.IMPORTE_CONSEGUIDO > 0) then (ALCANZ' + - 'ADO.IMPORTE_CONSEGUIDO/ALCANZADO.CANTIDAD_CONSEGUIDA)'#10' else 0' + - #10' end as IMPORTE_MEDIO_UNIDAD,'#10' case when (ALCANZADO.IMPOR' + - 'TE_CONSEGUIDO > 0) then (ALCANZADO.IMPORTE_CONSEGUIDO/CLIENTES_T' + - 'OTALES.CANTIDAD)'#10' else 0'#10' end as IMPORTE_MEDIO_CLIENTE'#10#10'fr' + - 'om'#10#10'(select AO.ID_AGENTE, C.NOMBRE as AGENTE, AO.ANO,'#10' AO.MES' + - ','#10' P.descripcion,'#10' sum(AO.CANTIDAD_OBJETIVO) as CANTIDAD_O' + - 'BJETIVO,'#10' sum(AO.IMPORTE_OBJETIVO) as IMPORTE_OBJETIVO'#10'from V' + - '_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join periodos_aux P on ((P.pe' + - 'riodo = '#39'MENSUAL'#39') and (P.valor = AO.MES))'#10'left join contactos C' + - ' on (C.ID = AO.ID_AGENTE)'#10'where (AO.ANO = :ANO1)'#10'group by 1,2,3,' + - '4,5'#10'order by 1,2,3,4,5) OBJETIVOS'#10#10#10'left join'#10'(select ID_AGENTE,' + - ' AGENTE, ANO, MES, sum(CANTIDAD_CONSEGUIDA) as CANTIDAD_CONSEGUI' + - 'DA,'#10' sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA, sum(IMPORTE_CO' + - 'NSEGUIDO) as IMPORTE_CONSEGUIDO,'#10' sum(IMPORTE_DEVUELTO) as IMPOR' + - 'TE_DEVUELTO'#10' from v_inf_objetivos_albaranes'#10' where ((v_inf_objet' + + 'select SEN.ID_AGENTE, C.NOMBRE as AGENTE, ANO, MES,'#10' P.descri' + + 'pcion,'#10#10' coalesce(CLIENTES_TOTALES.NUM_CLIENTES_TOTALES, 0) a' + + 's CLIENTES_TOTALES,'#10#10' sum(ALTAS_CLIENTE) as ALTAS_CLIENTE,'#10#10' ' + + ' sum(CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(IMPORTE_OBJE' + + 'TIVO) as IMPORTE_OBJETIVO,'#10#10' sum(CANTIDAD_CONSEGUIDA) as CANT' + + 'IDAD_CONSEGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA,'#10' ' + + ' sum(IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEV' + + 'UELTO) as IMPORTE_DEVUELTO,'#10#10' (sum(CANTIDAD_CONSEGUIDA) - sum' + + '(CANTIDAD_OBJETIVO)) as CANTIDAD_RESULTADO,'#10' (sum(IMPORTE_CON' + + 'SEGUIDO) - sum(IMPORTE_OBJETIVO)) as IMPORTE_RESULTADO,'#10' case' + + ' when (sum(IMPORTE_CONSEGUIDO) > 0) then (sum(IMPORTE_CONSEGUIDO' + + ')/sum(CANTIDAD_CONSEGUIDA))'#10' else 0'#10' end as IMPORTE_MEDIO_' + + 'UNIDAD,'#10#10' case when (sum(IMPORTE_CONSEGUIDO) > 0) then (sum(I' + + 'MPORTE_CONSEGUIDO)/coalesce(CLIENTES_TOTALES.NUM_CLIENTES_TOTALE' + + 'S, 0))'#10' else 0'#10' end as IMPORTE_MEDIO_CLIENTE'#10#10'from'#10'('#10'selec' + + 't AO.ID_AGENTE, AO.ANO, AO.MES,'#10'0 as ALTAS_CLIENTE,'#10'sum(AO.CANTI' + + 'DAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(AO.IMPORTE_OBJETIVO) as ' + + 'IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CANTIDAD_DEVUEL' + + 'TA, 0 as IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO'#10'from V_INF_OB' + + 'JETIVOS_ALB_AGENTES AO'#10'left join contactos C on (C.ID = AO.ID_AG' + + 'ENTE)'#10'where (AO.ANO = :ANO1)'#10'group by 1,2,3'#10#10'UNION ALL'#10#10'select I' + + 'D_AGENTE, ANO, MES,'#10'0 as ALTAS_CLIENTE,'#10'0 as CANTIDAD_OBJETIVO, ' + + '0 as IMPORTE_OBJETIVO,'#10'sum(CANTIDAD_CONSEGUIDA) as CANTIDAD_CONS' + + 'EGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELTA, sum(IMPORTE' + + '_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_DEVUELTO) as IMP' + + 'ORTE_DEVUELTO'#10'from v_inf_objetivos_albaranes'#10'where ((v_inf_objet' + 'ivos_albaranes.id_empresa = :ID_EMPRESA) and (v_inf_objetivos_al' + - 'baranes.ANO = :ANO1))'#10' group by 1,2,3,4'#10' order by 1,2,3,4) ALCAN' + - 'ZADO on ((OBJETIVOS.id_agente = ALCANZADO.id_agente) and (OBJETI' + - 'VOS.ano = ALCANZADO.ANO) and (OBJETIVOS.mes = ALCANZADO.MES))'#10#10'l' + - 'eft join'#10'(select ID_AGENTE, ANO, MES, count(ID_CLIENTE) as CANTI' + - 'DAD'#10'from v_inf_obj_clientes_agentes'#10'where (ANO = :ANO1)'#10'group by' + - ' 1,2,3'#10'order by 1,2,3) CLIENTES_NUEVOS on ((OBJETIVOS.id_agente ' + - '= CLIENTES_NUEVOS.id_agente) and (OBJETIVOS.ano = CLIENTES_NUEVO' + - 'S.ANO) and (OBJETIVOS.mes = CLIENTES_NUEVOS.MES))'#10#10'left join'#10'(se' + - 'lect ID_AGENTE, count(ID_CLIENTE) as CANTIDAD'#10'from v_inf_obj_cli' + - 'entes_agentes'#10'group by 1'#10'order by 1) CLIENTES_TOTALES on (OBJETI' + - 'VOS.id_agente = CLIENTES_TOTALES.id_agente)'#10#10#10'where {where}'#10 + 'baranes.ANO = :ANO1))'#10'group by 1,2,3'#10#10'UNION ALL'#10#10'select ID_AGENT' + + 'E, ANO, MES,'#10'count(ID_CLIENTE) as ALTAS_CLIENTE,'#10'0 as CANTIDAD_O' + + 'BJETIVO, 0 as IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as C' + + 'ANTIDAD_DEVUELTA, 0 as IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO' + + #10'from v_inf_obj_clientes_agentes'#10'where (ANO = :ANO1)'#10'group by 1,' + + '2,3'#10') SEN'#10#10'left join periodos_aux P on ((P.periodo = '#39'MENSUAL'#39') ' + + 'and (P.valor = MES))'#10'left join contactos C on (C.ID = SEN.ID_AGE' + + 'NTE)'#10#10'left join'#10'('#10'select coalesce(ID_AGENTE, -1) as ID_AGENTE, c' + + 'ount(ID_CLIENTE) as NUM_CLIENTES_TOTALES'#10'from clientes_datos'#10'gro' + + 'up by 1'#10') CLIENTES_TOTALES on (CLIENTES_TOTALES.ID_AGENTE = SEN.' + + 'id_Agente)'#10#10'where {where}'#10'group by 1,2,3,4,5,6'#10'order by 1,2,3,4,' + + '5,6'#10#10#10#10 StatementType = stSQL ColumnMappings = < - item - DatasetField = 'AGENTE' - TableField = 'AGENTE' - end item DatasetField = 'ANO' TableField = 'ANO' @@ -725,6 +723,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente item DatasetField = 'IMPORTE_MEDIO_CLIENTE' TableField = 'IMPORTE_MEDIO_CLIENTE' + end + item + DatasetField = 'AGENTE' + TableField = 'AGENTE' end> end> Name = 'InformeListadoObjetivosMensual' @@ -752,12 +754,12 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Size = 20 end item - Name = 'ALTAS_CLIENTE' + Name = 'CLIENTES_TOTALES' DataType = datInteger end item - Name = 'CLIENTES_TOTALES' - DataType = datInteger + Name = 'ALTAS_CLIENTE' + DataType = datLargeInt end item Name = 'CANTIDAD_OBJETIVO' @@ -2129,44 +2131,45 @@ object RptAlbaranesCliente: TRptAlbaranesCliente ConnectionType = 'Interbase' Default = True SQL = - 'select OBJETIVOS.ID_AGENTE, OBJETIVOS.AGENTE, OBJETIVOS.ANO,'#10' ' + - ' OBJETIVOS.TRIMESTRE,'#10' OBJETIVOS.descripcion,'#10' CLIENTES_NU' + - 'EVOS.CANTIDAD as ALTAS_CLIENTE,'#10' CLIENTES_TOTALES.CANTIDAD as' + - ' CLIENTES_TOTALES,'#10' OBJETIVOS.CANTIDAD_OBJETIVO,'#10' OBJETIVO' + - 'S.IMPORTE_OBJETIVO,'#10' ALCANZADO.CANTIDAD_CONSEGUIDA,'#10' ALCAN' + - 'ZADO.CANTIDAD_DEVUELTA,'#10' ALCANZADO.IMPORTE_CONSEGUIDO,'#10' AL' + - 'CANZADO.IMPORTE_DEVUELTO,'#10' (ALCANZADO.CANTIDAD_CONSEGUIDA - O' + - 'BJETIVOS.CANTIDAD_OBJETIVO) as CANTIDAD_RESULTADO,'#10' (ALCANZAD' + - 'O.IMPORTE_CONSEGUIDO - OBJETIVOS.IMPORTE_OBJETIVO) as IMPORTE_RE' + - 'SULTADO,'#10' case when (ALCANZADO.IMPORTE_CONSEGUIDO > 0) then (' + - 'ALCANZADO.IMPORTE_CONSEGUIDO/ALCANZADO.CANTIDAD_CONSEGUIDA)'#10' ' + - 'else 0'#10' end as IMPORTE_MEDIO_UNIDAD,'#10' case when (ALCANZADO' + - '.IMPORTE_CONSEGUIDO > 0) then (ALCANZADO.IMPORTE_CONSEGUIDO/CLIE' + - 'NTES_TOTALES.CANTIDAD)'#10' else 0'#10' end as IMPORTE_MEDIO_CLIEN' + - 'TE'#10#10'from'#10#10'(select AO.ID_AGENTE, C.NOMBRE AS AGENTE, AO.ANO,'#10' ' + - 'AO.TRIMESTRE,'#10' P.descripcion,'#10' sum(AO.CANTIDAD_OBJETIVO) a' + - 's CANTIDAD_OBJETIVO,'#10' sum(AO.IMPORTE_OBJETIVO) as IMPORTE_OBJ' + - 'ETIVO'#10'from V_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join periodos_aux' + - ' P on ((P.periodo = '#39'TRIMESTRAL'#39') and (P.valor = AO.TRIMESTRE))'#10 + - 'left join contactos C on (C.ID = AO.ID_AGENTE)'#10'where (AO.ANO = :' + - 'ANO1)'#10'group by 1,2,3,4,5'#10'order by 1,2,3,4,5) OBJETIVOS'#10#10'left joi' + - 'n'#10'(select ID_AGENTE, AGENTE, ANO, TRIMESTRE, sum(CANTIDAD_CONSEG' + - 'UIDA) as CANTIDAD_CONSEGUIDA,'#10' sum(CANTIDAD_DEVUELTA) as CANTIDA' + - 'D_DEVUELTA, sum(IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO,'#10' sum(' + - 'IMPORTE_DEVUELTO) as IMPORTE_DEVUELTO'#10' from v_inf_objetivos_alba' + - 'ranes'#10' where ((v_inf_objetivos_albaranes.id_empresa = :ID_EMPRES' + - 'A) and (v_inf_objetivos_albaranes.ANO = :ANO1))'#10' group by 1,2,3,' + - '4'#10' order by 1,2,3,4) ALCANZADO on ((OBJETIVOS.id_agente = ALCANZ' + - 'ADO.id_agente) and (OBJETIVOS.ano = ALCANZADO.ANO) and (OBJETIVO' + - 'S.TRIMESTRE = ALCANZADO.TRIMESTRE))'#10#10'left join'#10'(select ID_AGENTE' + - ', ANO, TRIMESTRE, count(ID_CLIENTE) as CANTIDAD'#10'from v_inf_obj_c' + - 'lientes_agentes'#10'where (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1,2,' + - '3) CLIENTES_NUEVOS on ((OBJETIVOS.id_agente = CLIENTES_NUEVOS.id' + - '_agente) and (OBJETIVOS.ano = CLIENTES_NUEVOS.ANO) and (OBJETIVO' + - 'S.trimestre = CLIENTES_NUEVOS.TRIMESTRE))'#10#10'left join'#10'(select ID_' + - 'AGENTE, count(ID_CLIENTE) as CANTIDAD'#10'from v_inf_obj_clientes_ag' + - 'entes'#10'group by 1'#10'order by 1) CLIENTES_TOTALES on (OBJETIVOS.id_a' + - 'gente = CLIENTES_TOTALES.id_agente)'#10#10' where {where}'#10#10#10#10#10#10 + 'select SEN.ID_AGENTE, C.NOMBRE as AGENTE, ANO, TRIMESTRE,'#10' P.' + + 'descripcion,'#10#10' coalesce(CLIENTES_TOTALES.NUM_CLIENTES_TOTALES' + + ', 0) as CLIENTES_TOTALES,'#10#10' sum(ALTAS_CLIENTE) as ALTAS_CLIEN' + + 'TE,'#10#10' sum(CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(IMPORT' + + 'E_OBJETIVO) as IMPORTE_OBJETIVO,'#10#10' sum(CANTIDAD_CONSEGUIDA) a' + + 's CANTIDAD_CONSEGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUEL' + + 'TA,'#10' sum(IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPOR' + + 'TE_DEVUELTO) as IMPORTE_DEVUELTO,'#10#10' (sum(CANTIDAD_CONSEGUIDA)' + + ' - sum(CANTIDAD_OBJETIVO)) as CANTIDAD_RESULTADO,'#10' (sum(IMPOR' + + 'TE_CONSEGUIDO) - sum(IMPORTE_OBJETIVO)) as IMPORTE_RESULTADO,'#10' ' + + ' case when (sum(IMPORTE_CONSEGUIDO) > 0) then (sum(IMPORTE_CONS' + + 'EGUIDO)/sum(CANTIDAD_CONSEGUIDA))'#10' else 0'#10' end as IMPORTE_' + + 'MEDIO_UNIDAD,'#10#10' case when (sum(IMPORTE_CONSEGUIDO) > 0) then ' + + '(sum(IMPORTE_CONSEGUIDO)/coalesce(CLIENTES_TOTALES.NUM_CLIENTES_' + + 'TOTALES, 0))'#10' else 0'#10' end as IMPORTE_MEDIO_CLIENTE'#10#10'from'#10'(' + + #10'select AO.ID_AGENTE, AO.ANO, AO.TRIMESTRE,'#10'0 as ALTAS_CLIENTE,'#10 + + 'sum(AO.CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(AO.IMPORTE_O' + + 'BJETIVO) as IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CAN' + + 'TIDAD_DEVUELTA, 0 as IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO'#10'f' + + 'rom V_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join contactos C on (C.I' + + 'D = AO.ID_AGENTE)'#10'where (AO.ANO = :ANO1)'#10'group by 1,2,3'#10#10'UNION A' + + 'LL'#10#10'select ID_AGENTE, ANO, TRIMESTRE,'#10'0 as ALTAS_CLIENTE,'#10'0 as C' + + 'ANTIDAD_OBJETIVO, 0 as IMPORTE_OBJETIVO,'#10'sum(CANTIDAD_CONSEGUIDA' + + ') as CANTIDAD_CONSEGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEV' + + 'UELTA, sum(IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORT' + + 'E_DEVUELTO) as IMPORTE_DEVUELTO'#10'from v_inf_objetivos_albaranes'#10'w' + + 'here ((v_inf_objetivos_albaranes.id_empresa = :ID_EMPRESA) and (' + + 'v_inf_objetivos_albaranes.ANO = :ANO1))'#10'group by 1,2,3'#10#10'UNION AL' + + 'L'#10#10'select ID_AGENTE, ANO, TRIMESTRE,'#10'count(ID_CLIENTE) as ALTAS_' + + 'CLIENTE,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORTE_OBJETIVO,'#10'0 as CAN' + + 'TIDAD_CONSEGUIDA, 0 as CANTIDAD_DEVUELTA, 0 as IMPORTE_CONSEGUID' + + 'O, 0 as IMPORTE_DEVUELTO'#10'from v_inf_obj_clientes_agentes'#10'where (' + + 'ANO = :ANO1)'#10'group by 1,2,3'#10') SEN'#10#10'left join periodos_aux P on (' + + '(P.periodo = '#39'TRIMESTRAL'#39') and (P.valor = TRIMESTRE))'#10'left join ' + + 'contactos C on (C.ID = SEN.ID_AGENTE)'#10#10'left join'#10'('#10'select coales' + + 'ce(ID_AGENTE, -1) as ID_AGENTE, count(ID_CLIENTE) as NUM_CLIENTE' + + 'S_TOTALES'#10'from clientes_datos'#10'group by 1'#10') CLIENTES_TOTALES on (' + + 'CLIENTES_TOTALES.ID_AGENTE = SEN.id_Agente)'#10#10'where {where}'#10'group' + + ' by 1,2,3,4,5,6'#10'order by 1,2,3,4,5,6'#10#10#10#10 StatementType = stSQL ColumnMappings = < item @@ -2263,12 +2266,12 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Size = 20 end item - Name = 'ALTAS_CLIENTE' + Name = 'CLIENTES_TOTALES' DataType = datInteger end item - Name = 'CLIENTES_TOTALES' - DataType = datInteger + Name = 'ALTAS_CLIENTE' + DataType = datLargeInt end item Name = 'CANTIDAD_OBJETIVO' @@ -2327,44 +2330,45 @@ object RptAlbaranesCliente: TRptAlbaranesCliente ConnectionType = 'Interbase' Default = True SQL = - 'select OBJETIVOS.ID_AGENTE, OBJETIVOS.AGENTE, OBJETIVOS.ANO,'#10' ' + - ' OBJETIVOS.SEMESTRE,'#10' OBJETIVOS.descripcion,'#10' CLIENTES_NUE' + - 'VOS.CANTIDAD as ALTAS_CLIENTE,'#10' CLIENTES_TOTALES.CANTIDAD as ' + - 'CLIENTES_TOTALES,'#10' OBJETIVOS.CANTIDAD_OBJETIVO,'#10' OBJETIVOS' + - '.IMPORTE_OBJETIVO,'#10' ALCANZADO.CANTIDAD_CONSEGUIDA,'#10' ALCANZ' + - 'ADO.CANTIDAD_DEVUELTA,'#10' ALCANZADO.IMPORTE_CONSEGUIDO,'#10' ALC' + - 'ANZADO.IMPORTE_DEVUELTO,'#10' (ALCANZADO.CANTIDAD_CONSEGUIDA - OB' + - 'JETIVOS.CANTIDAD_OBJETIVO) as CANTIDAD_RESULTADO,'#10' (ALCANZADO' + - '.IMPORTE_CONSEGUIDO - OBJETIVOS.IMPORTE_OBJETIVO) as IMPORTE_RES' + - 'ULTADO,'#10' case when (ALCANZADO.IMPORTE_CONSEGUIDO > 0) then (A' + - 'LCANZADO.IMPORTE_CONSEGUIDO/ALCANZADO.CANTIDAD_CONSEGUIDA)'#10' e' + - 'lse 0'#10' end as IMPORTE_MEDIO_UNIDAD,'#10' case when (ALCANZADO.' + - 'IMPORTE_CONSEGUIDO > 0) then (ALCANZADO.IMPORTE_CONSEGUIDO/CLIEN' + - 'TES_TOTALES.CANTIDAD)'#10' else 0'#10' end as IMPORTE_MEDIO_CLIENT' + - 'E'#10#10'from'#10#10'(select AO.ID_AGENTE, C.NOMBRE as AGENTE, AO.ANO,'#10' A' + - 'O.SEMESTRE,'#10' P.descripcion,'#10' sum(AO.CANTIDAD_OBJETIVO) as ' + - 'CANTIDAD_OBJETIVO,'#10' sum(AO.IMPORTE_OBJETIVO) as IMPORTE_OBJET' + - 'IVO'#10'from V_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join periodos_aux P' + - ' on ((P.periodo = '#39'SEMESTRAL'#39') and (P.valor = AO.SEMESTRE))'#10'left' + - ' join contactos C on (C.ID = AO.ID_AGENTE)'#10'where (AO.ANO = :ANO1' + - ')'#10'group by 1,2,3,4,5'#10'order by 1,2,3,4,5) OBJETIVOS'#10#10'left join'#10'(s' + - 'elect ID_AGENTE, AGENTE, ANO, SEMESTRE, sum(CANTIDAD_CONSEGUIDA)' + - ' as CANTIDAD_CONSEGUIDA,'#10' sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEV' + - 'UELTA, sum(IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO,'#10' sum(IMPOR' + - 'TE_DEVUELTO) as IMPORTE_DEVUELTO'#10' from v_inf_objetivos_albaranes' + - #10' where ((v_inf_objetivos_albaranes.id_empresa = :ID_EMPRESA) an' + - 'd (v_inf_objetivos_albaranes.ANO = :ANO1))'#10' group by 1,2,3,4'#10' or' + - 'der by 1,2,3,4) ALCANZADO on ((OBJETIVOS.id_agente = ALCANZADO.i' + - 'd_agente) and (OBJETIVOS.ano = ALCANZADO.ANO) and (OBJETIVOS.SEM' + - 'ESTRE = ALCANZADO.SEMESTRE))'#10#10'left join'#10'(select ID_AGENTE, ANO, ' + - 'SEMESTRE, count(ID_CLIENTE) as CANTIDAD'#10'from v_inf_obj_clientes_' + - 'agentes'#10'where (ANO = :ANO1)'#10'group by 1,2,3'#10'order by 1,2,3) CLIEN' + - 'TES_NUEVOS on ((OBJETIVOS.id_agente = CLIENTES_NUEVOS.id_agente)' + - ' and (OBJETIVOS.ano = CLIENTES_NUEVOS.ANO) and (OBJETIVOS.semest' + - 're = CLIENTES_NUEVOS.SEMESTRE))'#10#10'left join'#10'(select ID_AGENTE, co' + - 'unt(ID_CLIENTE) as CANTIDAD'#10'from v_inf_obj_clientes_agentes'#10'grou' + - 'p by 1'#10'order by 1) CLIENTES_TOTALES on (OBJETIVOS.id_agente = CL' + - 'IENTES_TOTALES.id_agente)'#10#10'where {where}'#10#10#10#10#10#10#10#10 + 'select SEN.ID_AGENTE, C.NOMBRE as AGENTE, ANO, SEMESTRE,'#10' P.d' + + 'escripcion,'#10#10' coalesce(CLIENTES_TOTALES.NUM_CLIENTES_TOTALES,' + + ' 0) as CLIENTES_TOTALES,'#10#10' sum(ALTAS_CLIENTE) as ALTAS_CLIENT' + + 'E,'#10#10' sum(CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(IMPORTE' + + '_OBJETIVO) as IMPORTE_OBJETIVO,'#10#10' sum(CANTIDAD_CONSEGUIDA) as' + + ' CANTIDAD_CONSEGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUELT' + + 'A,'#10' sum(IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORT' + + 'E_DEVUELTO) as IMPORTE_DEVUELTO,'#10#10' (sum(CANTIDAD_CONSEGUIDA) ' + + '- sum(CANTIDAD_OBJETIVO)) as CANTIDAD_RESULTADO,'#10' (sum(IMPORT' + + 'E_CONSEGUIDO) - sum(IMPORTE_OBJETIVO)) as IMPORTE_RESULTADO,'#10' ' + + ' case when (sum(IMPORTE_CONSEGUIDO) > 0) then (sum(IMPORTE_CONSE' + + 'GUIDO)/sum(CANTIDAD_CONSEGUIDA))'#10' else 0'#10' end as IMPORTE_M' + + 'EDIO_UNIDAD,'#10#10' case when (sum(IMPORTE_CONSEGUIDO) > 0) then (' + + 'sum(IMPORTE_CONSEGUIDO)/coalesce(CLIENTES_TOTALES.NUM_CLIENTES_T' + + 'OTALES, 0))'#10' else 0'#10' end as IMPORTE_MEDIO_CLIENTE'#10#10'from'#10'('#10 + + 'select AO.ID_AGENTE, AO.ANO, AO.SEMESTRE,'#10'0 as ALTAS_CLIENTE,'#10'su' + + 'm(AO.CANTIDAD_OBJETIVO) as CANTIDAD_OBJETIVO, sum(AO.IMPORTE_OBJ' + + 'ETIVO) as IMPORTE_OBJETIVO,'#10'0 as CANTIDAD_CONSEGUIDA, 0 as CANTI' + + 'DAD_DEVUELTA, 0 as IMPORTE_CONSEGUIDO, 0 as IMPORTE_DEVUELTO'#10'fro' + + 'm V_INF_OBJETIVOS_ALB_AGENTES AO'#10'left join contactos C on (C.ID ' + + '= AO.ID_AGENTE)'#10'where (AO.ANO = :ANO1)'#10'group by 1,2,3'#10#10'UNION ALL' + + #10#10'select ID_AGENTE, ANO, SEMESTRE,'#10'0 as ALTAS_CLIENTE,'#10'0 as CANT' + + 'IDAD_OBJETIVO, 0 as IMPORTE_OBJETIVO,'#10'sum(CANTIDAD_CONSEGUIDA) a' + + 's CANTIDAD_CONSEGUIDA, sum(CANTIDAD_DEVUELTA) as CANTIDAD_DEVUEL' + + 'TA, sum(IMPORTE_CONSEGUIDO) as IMPORTE_CONSEGUIDO, sum(IMPORTE_D' + + 'EVUELTO) as IMPORTE_DEVUELTO'#10'from v_inf_objetivos_albaranes'#10'wher' + + 'e ((v_inf_objetivos_albaranes.id_empresa = :ID_EMPRESA) and (v_i' + + 'nf_objetivos_albaranes.ANO = :ANO1))'#10'group by 1,2,3'#10#10'UNION ALL'#10#10 + + 'select ID_AGENTE, ANO, SEMESTRE,'#10'count(ID_CLIENTE) as ALTAS_CLIE' + + 'NTE,'#10'0 as CANTIDAD_OBJETIVO, 0 as IMPORTE_OBJETIVO,'#10'0 as CANTIDA' + + 'D_CONSEGUIDA, 0 as CANTIDAD_DEVUELTA, 0 as IMPORTE_CONSEGUIDO, 0' + + ' as IMPORTE_DEVUELTO'#10'from v_inf_obj_clientes_agentes'#10'where (ANO ' + + '= :ANO1)'#10'group by 1,2,3'#10') SEN'#10#10'left join periodos_aux P on ((P.p' + + 'eriodo = '#39'SEMESTRAL'#39') and (P.valor = SEMESTRE))'#10'left join contac' + + 'tos C on (C.ID = SEN.ID_AGENTE)'#10#10'left join'#10'('#10'select coalesce(ID_' + + 'AGENTE, -1) as ID_AGENTE, count(ID_CLIENTE) as NUM_CLIENTES_TOTA' + + 'LES'#10'from clientes_datos'#10'group by 1'#10') CLIENTES_TOTALES on (CLIENT' + + 'ES_TOTALES.ID_AGENTE = SEN.id_Agente)'#10#10'where {where}'#10'group by 1,' + + '2,3,4,5,6'#10'order by 1,2,3,4,5,6'#10#10#10#10 StatementType = stSQL ColumnMappings = < item @@ -2407,10 +2411,6 @@ object RptAlbaranesCliente: TRptAlbaranesCliente DatasetField = 'DESCRIPCION' TableField = 'DESCRIPCION' end - item - DatasetField = 'SEMESTRE' - TableField = 'SEMESTRE' - end item DatasetField = 'AGENTE' TableField = 'AGENTE' @@ -2434,6 +2434,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente item DatasetField = 'IMPORTE_MEDIO_CLIENTE' TableField = 'IMPORTE_MEDIO_CLIENTE' + end + item + DatasetField = 'SEMESTRE' + TableField = 'SEMESTRE' end> end> Name = 'InformeListadoObjetivosSemestral' @@ -2461,12 +2465,12 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Size = 20 end item - Name = 'ALTAS_CLIENTE' + Name = 'CLIENTES_TOTALES' DataType = datInteger end item - Name = 'CLIENTES_TOTALES' - DataType = datInteger + Name = 'ALTAS_CLIENTE' + DataType = datLargeInt end item Name = 'CANTIDAD_OBJETIVO' @@ -3766,12 +3770,12 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Size = 20 end item - Name = 'ALTAS_CLIENTE' + Name = 'CLIENTES_TOTALES' DataType = datInteger end item - Name = 'CLIENTES_TOTALES' - DataType = datInteger + Name = 'ALTAS_CLIENTE' + DataType = datLargeInt end item Name = 'CANTIDAD_OBJETIVO' @@ -3858,12 +3862,12 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Size = 20 end item - Name = 'ALTAS_CLIENTE' + Name = 'CLIENTES_TOTALES' DataType = datInteger end item - Name = 'CLIENTES_TOTALES' - DataType = datInteger + Name = 'ALTAS_CLIENTE' + DataType = datLargeInt end item Name = 'CANTIDAD_OBJETIVO' @@ -3950,12 +3954,12 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Size = 20 end item - Name = 'ALTAS_CLIENTE' + Name = 'CLIENTES_TOTALES' DataType = datInteger end item - Name = 'CLIENTES_TOTALES' - DataType = datInteger + Name = 'ALTAS_CLIENTE' + DataType = datLargeInt end item Name = 'CANTIDAD_OBJETIVO' diff --git a/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas b/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas index 7c326b3..2ed2f22 100644 --- a/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas +++ b/Source/Modulos/Contactos/Model/schContactosClient_Intf.pas @@ -3,7 +3,7 @@ unit schContactosClient_Intf; interface uses - Classes, DB, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; const { Data table rules ids @@ -812,7 +812,7 @@ type end; { TContactosDataTableRules } - TContactosDataTableRules = class(TDADataTableRules, IContactos) + TContactosDataTableRules = class(TIntfObjectDADataTableRules, IContactos) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -986,7 +986,7 @@ type end; { TGruposClienteDataTableRules } - TGruposClienteDataTableRules = class(TDADataTableRules, IGruposCliente) + TGruposClienteDataTableRules = class(TIntfObjectDADataTableRules, IGruposCliente) private protected { Property getters and setters } @@ -1075,7 +1075,7 @@ type end; { TDatosBancariosDataTableRules } - TDatosBancariosDataTableRules = class(TDADataTableRules, IDatosBancarios) + TDatosBancariosDataTableRules = class(TIntfObjectDADataTableRules, IDatosBancarios) private protected { Property getters and setters } @@ -1403,7 +1403,7 @@ type end; { TClientesDataTableRules } - TClientesDataTableRules = class(TDADataTableRules, IClientes) + TClientesDataTableRules = class(TIntfObjectDADataTableRules, IClientes) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -1912,7 +1912,7 @@ type end; { TProveedoresDataTableRules } - TProveedoresDataTableRules = class(TDADataTableRules, IProveedores) + TProveedoresDataTableRules = class(TIntfObjectDADataTableRules, IProveedores) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -2369,7 +2369,7 @@ type end; { TEmpleadosDataTableRules } - TEmpleadosDataTableRules = class(TDADataTableRules, IEmpleados) + TEmpleadosDataTableRules = class(TIntfObjectDADataTableRules, IEmpleados) private f_NOTAS: IROStrings; f_FORMACION_BASE: IROStrings; @@ -2696,7 +2696,7 @@ type end; { TDireccionesContactoDataTableRules } - TDireccionesContactoDataTableRules = class(TDADataTableRules, IDireccionesContacto) + TDireccionesContactoDataTableRules = class(TIntfObjectDADataTableRules, IDireccionesContacto) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -2846,7 +2846,7 @@ type end; { TClientesDescuentosDataTableRules } - TClientesDescuentosDataTableRules = class(TDADataTableRules, IClientesDescuentos) + TClientesDescuentosDataTableRules = class(TIntfObjectDADataTableRules, IClientesDescuentos) private protected { Property getters and setters } @@ -2911,7 +2911,7 @@ type end; { TGruposProveedorDataTableRules } - TGruposProveedorDataTableRules = class(TDADataTableRules, IGruposProveedor) + TGruposProveedorDataTableRules = class(TIntfObjectDADataTableRules, IGruposProveedor) private protected { Property getters and setters } @@ -2958,7 +2958,7 @@ type end; { TGruposEmpleadoDataTableRules } - TGruposEmpleadoDataTableRules = class(TDADataTableRules, IGruposEmpleado) + TGruposEmpleadoDataTableRules = class(TIntfObjectDADataTableRules, IGruposEmpleado) private protected { Property getters and setters } @@ -3118,7 +3118,7 @@ type end; { TContactos_RefreshDataTableRules } - TContactos_RefreshDataTableRules = class(TDADataTableRules, IContactos_Refresh) + TContactos_RefreshDataTableRules = class(TIntfObjectDADataTableRules, IContactos_Refresh) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -3274,7 +3274,7 @@ type end; { TContratosEmpleadosDataTableRules } - TContratosEmpleadosDataTableRules = class(TDADataTableRules, IContratosEmpleados) + TContratosEmpleadosDataTableRules = class(TIntfObjectDADataTableRules, IContratosEmpleados) private protected { Property getters and setters } @@ -3309,7 +3309,7 @@ type end; { TDescripcionesProveedoresDataTableRules } - TDescripcionesProveedoresDataTableRules = class(TDADataTableRules, IDescripcionesProveedores) + TDescripcionesProveedoresDataTableRules = class(TIntfObjectDADataTableRules, IDescripcionesProveedores) private protected { Property getters and setters } @@ -3398,7 +3398,7 @@ type end; { TPersonalContactoDataTableRules } - TPersonalContactoDataTableRules = class(TDADataTableRules, IPersonalContacto) + TPersonalContactoDataTableRules = class(TIntfObjectDADataTableRules, IPersonalContacto) private protected { Property getters and setters } @@ -3511,7 +3511,7 @@ type end; { TAgentes_ComisionesDataTableRules } - TAgentes_ComisionesDataTableRules = class(TDADataTableRules, IAgentes_Comisiones) + TAgentes_ComisionesDataTableRules = class(TIntfObjectDADataTableRules, IAgentes_Comisiones) private protected { Property getters and setters } @@ -3570,7 +3570,7 @@ type end; { TListaAnosObjetivosAlbDataTableRules } - TListaAnosObjetivosAlbDataTableRules = class(TDADataTableRules, IListaAnosObjetivosAlb) + TListaAnosObjetivosAlbDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosObjetivosAlb) private protected { Property getters and setters } @@ -3754,7 +3754,7 @@ type end; { TAgentesDataTableRules } - TAgentesDataTableRules = class(TDADataTableRules, IAgentes) + TAgentesDataTableRules = class(TIntfObjectDADataTableRules, IAgentes) private f_NOTAS: IROStrings; procedure NOTAS_OnChange(Sender: TObject); @@ -3988,7 +3988,7 @@ type end; { TClientesDescuentosArticulosDataTableRules } - TClientesDescuentosArticulosDataTableRules = class(TDADataTableRules, IClientesDescuentosArticulos) + TClientesDescuentosArticulosDataTableRules = class(TIntfObjectDADataTableRules, IClientesDescuentosArticulos) private protected { Property getters and setters } @@ -4107,7 +4107,7 @@ type end; { TAgentes_Objetivos_albaranesDataTableRules } - TAgentes_Objetivos_albaranesDataTableRules = class(TDADataTableRules, IAgentes_Objetivos_albaranes) + TAgentes_Objetivos_albaranesDataTableRules = class(TIntfObjectDADataTableRules, IAgentes_Objetivos_albaranes) private protected { Property getters and setters } @@ -4214,7 +4214,7 @@ type end; { TAgentes_Objetivos_facturasDataTableRules } - TAgentes_Objetivos_facturasDataTableRules = class(TDADataTableRules, IAgentes_Objetivos_facturas) + TAgentes_Objetivos_facturasDataTableRules = class(TIntfObjectDADataTableRules, IAgentes_Objetivos_facturas) private protected { Property getters and setters } @@ -4285,7 +4285,7 @@ type end; { TListaAnosObjetivosFacDataTableRules } - TListaAnosObjetivosFacDataTableRules = class(TDADataTableRules, IListaAnosObjetivosFac) + TListaAnosObjetivosFacDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosObjetivosFac) private protected { Property getters and setters } diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index 5dd6a2c..2e77227 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -36,6 +36,8 @@ FalseTrueFalse/standaloneTrueFalse4210FalseFalseFalseFalseFalse308212524.2.1.04.2.1.0martes, 31 de enero de 2012 10:21 + + ExpressPrinting System by Developer Express Inc. FactuGES_Server.dprFalse