Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cuit | varchar | 20 | |
| @p_todos | varchar | 1 | |
| @ids | varchar | 100 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
obtener_estado_de_resultados_resumido '30501677643'
obtener_estado_de_resultados_resumido null,null,'366137,366138'
select * from balances_contables where id_balance = 366137
*/
CREATE OR ALTER PROCEDURE dbo.obtener_estado_de_resultados_resumido
@p_cuit varchar(20),
@p_todos varchar(1) = 'N',
@ids varchar(100) = NULL
AS
BEGIN
SET NOCOUNT ON;
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET CONCAT_NULL_YIELDS_NULL ON
/*
SELECT top 5 convert(varchar(10),balances_fide.fecha_balance,103) as fecha_balance,
isnull(res_vtanet,0) as ventas,(isnull(res_vtanet,0) + isnull(res_cosmer,0)) as resultado_bruto,
((isnull(res_gascom,0) + isnull(res_gasadm,0) + isnull(res_gasfin,0)) / isnull(res_vtanet,0)) as grafico_gastos_totales,
(res_vtanet + isnull(res_cosmer,0) + isnull(res_gascom,0) +isnull(res_gasadm,0) +isnull(res_gasfin,0) +isnull(res_otros,0)+isnull(res_resinv,0) +isnull(res_ie,0)+isnull(res_otrosing,0) +isnull(res_otrosegr,0) +isnull(res_resfin,0) +isnull(res_iva,0)) as ganancias
from balances_fide where cuit = @p_cuit and datediff(YY,fecha_balance,getdate()) < 7 AND balances_fide.visible = 1 ORDER BY FECHA_BALANCE DESC
*/
if(ISNULL(@ids,'') != '')
BEGIN
set @ids = '0,'+@ids
/*declare @data xml
declare @temp table(id int)
select @data = '<t>' + replace(@ids, ',', '</t><t>') + '</t>'
insert into @temp
select t.c.value('.', 'int') as id
from @data.nodes('t') as t(c)
*/
SELECT convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
bc.res_vtanet,
bc.res_cosmer,
bc.res_resfin,
bc.res_gascom,
bc.res_gasadm,
bc.res_gasfin,
bc.res_otrosing,
bc.res_otrosegr,
bc.ganancia,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
inner join dbo.DelimitedSplit8K(@ids, ',') lista on bc.id_balance= lista.Item
where -- id_balance in (SELECT id FROM @temp) AND
isnull(bc.visible,0) = 1
AND isnull(estado,'') = 'PUBLICADO'
order by fecha_order
END
ELSE
BEGIN
declare @p_top int = 5
if (@p_todos = 'S') begin set @p_top = 6 end
SELECT top (@p_top)
bc.estado as estado,
convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
bc.res_vtanet,
bc.res_cosmer,
bc.res_resfin,
bc.res_gascom,
bc.res_gasadm,
bc.res_gasfin,
bc.res_otrosing,
bc.res_otrosegr,
bc.ganancia,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
where bc.cuit = @p_cuit and bc.fecha_balance >= convert(date,dateadd(yy, -6, getdate()))
AND (@p_todos = 'S' or isnull(bc.visible,0) = 1)
AND isnull(estado,'') != 'ELIMINADO'
order by fecha_order desc, id_balance desc
END
END
--'30501677643'
GO
GO
/*
obtener_estado_de_resultados_resumido '30501677643'
obtener_estado_de_resultados_resumido null,null,'366137,366138'
select * from balances_contables where id_balance = 366137
*/
CREATE OR ALTER PROCEDURE dbo.obtener_estado_de_resultados_resumido
@p_cuit varchar(20),
@p_todos varchar(1) = 'N',
@ids varchar(100) = NULL
AS
BEGIN
SET NOCOUNT ON;
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET CONCAT_NULL_YIELDS_NULL ON
/*
SELECT top 5 convert(varchar(10),balances_fide.fecha_balance,103) as fecha_balance,
isnull(res_vtanet,0) as ventas,(isnull(res_vtanet,0) + isnull(res_cosmer,0)) as resultado_bruto,
((isnull(res_gascom,0) + isnull(res_gasadm,0) + isnull(res_gasfin,0)) / isnull(res_vtanet,0)) as grafico_gastos_totales,
(res_vtanet + isnull(res_cosmer,0) + isnull(res_gascom,0) +isnull(res_gasadm,0) +isnull(res_gasfin,0) +isnull(res_otros,0)+isnull(res_resinv,0) +isnull(res_ie,0)+isnull(res_otrosing,0) +isnull(res_otrosegr,0) +isnull(res_resfin,0) +isnull(res_iva,0)) as ganancias
from balances_fide where cuit = @p_cuit and datediff(YY,fecha_balance,getdate()) < 7 AND balances_fide.visible = 1 ORDER BY FECHA_BALANCE DESC
*/
if(ISNULL(@ids,'') != '')
BEGIN
set @ids = '0,'+@ids
/*declare @data xml
declare @temp table(id int)
select @data = '<t>' + replace(@ids, ',', '</t><t>') + '</t>'
insert into @temp
select t.c.value('.', 'int') as id
from @data.nodes('t') as t(c)
*/
SELECT convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
bc.res_vtanet,
bc.res_cosmer,
bc.res_resfin,
bc.res_gascom,
bc.res_gasadm,
bc.res_gasfin,
bc.res_otrosing,
bc.res_otrosegr,
bc.ganancia,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
inner join dbo.DelimitedSplit8K(@ids, ',') lista on bc.id_balance= lista.Item
where -- id_balance in (SELECT id FROM @temp) AND
isnull(bc.visible,0) = 1
AND isnull(estado,'') = 'PUBLICADO'
order by fecha_order
END
ELSE
BEGIN
declare @p_top int = 5
if (@p_todos = 'S') begin set @p_top = 6 end
SELECT top (@p_top)
bc.estado as estado,
convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
bc.res_vtanet,
bc.res_cosmer,
bc.res_resfin,
bc.res_gascom,
bc.res_gasadm,
bc.res_gasfin,
bc.res_otrosing,
bc.res_otrosegr,
bc.ganancia,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
where bc.cuit = @p_cuit and bc.fecha_balance >= convert(date,dateadd(yy, -6, getdate()))
AND (@p_todos = 'S' or isnull(bc.visible,0) = 1)
AND isnull(estado,'') != 'ELIMINADO'
order by fecha_order desc, id_balance desc
END
END
--'30501677643'
GO
Depends On
3Used By
No items found