
ALTER FUNCTION [dbo].[CF_Cta_Cont]  (@Alias INT,@Fecha DATETIME) 
RETURNS INT
AS
BEGIN

DECLARE @Retorno INT
       ,@Alias_A_Imputar INT

SET @Alias_A_Imputar = (SELECT Valor_Integer FROM xParametros WHERE IdParametro = 'CtaNoDefinida' )

SET @Retorno =  (SELECT ISNULL(MAX(Id_Cta_Contable),0) 
		FROM Pla_Ctas_Cuentas_Contables C, dbo.Plan_Ctas T, Plan_Ctas_Ejercicios E
		WHERE C.Id_Plan_Cta = T.Id_Plan_Cta
		AND E.Id_Ejercicio = T.Id_Ejercicio
		AND E.Fecha_Inicio < @Fecha + 1
		AND E.Fecha_Cierre >= @Fecha
		AND C.Alias = @Alias
	) 

IF @Retorno = 0 
    SET @Retorno =  (SELECT ISNULL(MAX(Id_Cta_Contable),0) 
		FROM Pla_Ctas_Cuentas_Contables C, dbo.Plan_Ctas T, Plan_Ctas_Ejercicios E
		WHERE C.Id_Plan_Cta = T.Id_Plan_Cta
		AND E.Id_Ejercicio = T.Id_Ejercicio
		AND E.Fecha_Inicio < @Fecha + 1
		AND E.Fecha_Cierre >= @Fecha
		AND C.Alias = @Alias_A_Imputar
	) 		

RETURN @Retorno
END


