ALTER PROCEDURE [dbo].[sp_conBalanceClasResResultado]
(
@mes int = 12,
@periodo int = 2023,
@unegocio int = -1
)

as

DECLARE @tablaAcumulado TABLE (tipo int, descripcion varchar(300), saldoAcumulado decimal(18,4))


INSERT INTO @tablaAcumulado
SELECT 	1,
		'RESULTADO' as descripcion,
		CASE
		WHEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0))) > 0 THEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0))) * -1
		WHEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0))) < 0 THEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0)))
		END AS saldoAcumulado
FROM conComprobantes AS C2
		inner join conPlanCuentas on C2.periodo=conPlanCuentas.periodo
											AND C2.cuenta=conPlanCuentas.cuenta
		INNER JOIN ConPlanBalanceClasificado ON conPlanCuentas.periodo=ConPlanBalanceClasificado.periodo 
									AND conPlanCuentas.balanceClas=ConPlanBalanceClasificado.cuenta
WHERE C2.periodo= @periodo
		AND (mes BETWEEN 1 AND @mes OR @mes = 0)
		AND (uni_negocio=@unegocio OR @unegocio=-1)
   AND (conPlanCuentas.tipoNaturaleza = 0 or
		 conPlanCuentas.tipoNaturaleza = 1)

DECLARE @tablaMes TABLE (tipo int, descripcion varchar(300), saldoMes decimal(18,4))

INSERT INTO @tablaMes
SELECT  1,
		'RESULTADO' as descripcion,
		CASE
		WHEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0))) > 0 THEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0))) * -1
		WHEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0))) < 0 THEN (sum(ISNULL(debe,0))-sum(ISNULL(haber,0)))
		END AS saldoMES
FROM conComprobantes AS C2
		inner join conPlanCuentas on C2.periodo=conPlanCuentas.periodo
											AND C2.cuenta=conPlanCuentas.cuenta
		INNER JOIN ConPlanBalanceClasificado ON conPlanCuentas.periodo=ConPlanBalanceClasificado.periodo 
									AND conPlanCuentas.balanceClas=ConPlanBalanceClasificado.cuenta
WHERE C2.periodo= @periodo
		AND (mes = @mes )
		AND (uni_negocio=@unegocio OR @unegocio=-1)
   AND (conPlanCuentas.tipoNaturaleza = 0 or
		 conPlanCuentas.tipoNaturaleza = 1)

SELECT  A.descripcion,
		ISNULL(M.saldoMes,0) AS saldoMes,
		ISNULL(A.saldoAcumulado,0) AS saldoAcumulado
FROM @tablaAcumulado AS A
		LEFT OUTER JOIN @tablaMes AS M ON A.tipo = M.tipo