dbo.obtener_score_contable_full

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

2
Name Data Type Length Description
@p_Cuit varchar 20
@id_balance int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec obtener_score_contable '30547242331'
exec obtener_score_contable_ant '30501677643'


exec obtener_score_contable_full '30501199253'


*/

CREATE OR ALTER PROCEDURE dbo.obtener_score_contable_full
@p_Cuit varchar(20),
@id_balance int = 0

AS
BEGIN
    SET NOCOUNT ON;
 declare @fecha_max date
  if(@id_balance > 0)
    BEGIN
   
    set @fecha_max = (select max(fecha_balance) from balances_contables where id_balance= @id_balance and visible = 1 and estado = 'PUBLICADO')
    if (datepart(yy,getdate()) - datepart(yy,@fecha_max) > 6)
    begin
      return
    end
    select convert(varchar(10),fecha_balance,103) as fecha_balance,

  ac_total as activo_corriente_total,
  anc_total as activo_no_corriente_total,
  act_total as activo_total,
  pc_total as pasivo_corriente_total,
  pnc_total as pasivo_no_corriente_total,
  pas_total as pasivo_total,
  patrimonio as patrimonio_neto,
  res_vtanet as ventas_netas,
  ganancia as resultado,


  ind_solvencia_pat as solvencia_patrimonial,
  ind_endeu as endeudamiento_total,
  convert(decimal(12,2),iif(isnull(patrimonio,0) > 0, isnull(pc_total,0)/patrimonio, 0)) as endeudamiento_corriente, /*** pasivo_corriente / patrimonio_neto  **/
  ind_captra as capital_de_trabajo,
  convert(decimal(12,2),iif(isnull(act_total,0) > 0, (isnull(ac_total,0)-isnull(pc_total,0))/act_total, 0)) as capital_corriente_sobre_activo, /** (activo_corriente - pasivo_corriente) / activo **/
  ind_liqcorr as liquidez_corriente,
  ind_liqseca as liquidez_seca,
  ind_indrot as rotacion_de_creditos,

  convert(decimal(12,2),iif( (isnull(res_compras,0)+isnull(res_gascom,0)+isnull(res_gasadm,0)+isnull(res_gasfin,0)) > 0, isnull(pc_total,0)*365/((isnull(res_compras,0)+isnull(res_gascom,0)+isnull(res_gasadm,0)+isnull(res_gasfin,0)) * 1.21) , 0 )) as rotacion_pasivo_corriente, /*** (pasivo_corriente * 365) / ((compras+gastos)*1.21) ***/
  ind_rotinv as rotacion_inventarios,
  convert(decimal(12,2),iif(isnull(act_total,0) > 0, isnull(res_vtanet,0)/act_total, 0)) as rotacion_activos,     /***    ventas / activo_total   ***/
  ind_rotact as rotacion_activo_fijo,
  ind_prest_pn as prestamos_sobre_patrimonio_neto,
  convert(decimal(12,2),iif(isnull(res_vtanet, 0) > 0, (isnull(pc_presta,0)+isnull(pnc_presta,0))*12/res_vtanet, 0)) as meses_deuda,    /**** (prestamos (o BCRA)) * 12 / ventas ***/ 
  convert(decimal(12,2),iif(isnull(res_vtanet, 0) > 0, (isnull(pc_presta,0)+isnull(pnc_presta,0))*365/res_vtanet, 0)) as dias_deuda,                /**** (prestamos (o BCRA)) * 365 / ventas ***/ 

  ind_marbru as margen_bruto,
  ind_utilfin as margen_neto,    /**** revisar ***/
  convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, (isnull(ganancia,0)+isnull(res_otrosegr,0)-isnull(res_otrosing,0)) /isnull(res_vtanet,0)*100 , 0)) as margen_operativo, 
  ind_retpat as margen_sobre_patrimonio,
  ind_rentabilidad as margen_sobre_activo,

  ebitda as ebitda,
  ind_ebipas as ebitda_pasivo,
  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(ebitda,0)/res_vtanet, 0)) as ebitda_ventas,    /******* ebitda / ventas *****/
  convert(decimal(12,2),iif(isnull(res_gasfin,0) > 0, isnull(ebitda,0)/res_gasfin, 0)) as etitda_intereses,     /**** ebitda / res_gasfin *****/

  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(res_gasfin,0)/res_vtanet, 0)) as gastos_financieros_ventas,   /*** res_gasfin / ventas ***/
  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(res_gascom,0)/res_vtanet, 0)) as gastos_comerciales_ventas,   /*** res_gascom / ventas ***/
  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(res_gasadm,0)/res_vtanet, 0)) as gastos_administracion_ventas,   /*** res_gasadm / ventas ***/

  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, (isnull(res_gasfin,0)+isnull(res_gascom,0)+isnull(res_gasadm,0))/res_vtanet, 0)) as gastos_totales_ventas,   /*** (res_gasfin + res_gascom + res_gasadm) / ventas ***/

  /*ind_invbu as inversiones_bienes_uso,*/  /*** revisar : patrimonio_neto / bienes_uso * 100 ***/
  convert(decimal(12,2),iif(isnull(anc_bieuso,0) > 0, isnull(patrimonio,0)/anc_bieuso, 0)) as inversiones_bienes_uso, 

  convert(decimal(12,2),iif(isnull(amortiza,0) > 0, isnull(anc_bieuso,0)/amortiza, 0)) as vida_restante_bienes_uso   /**  anc_bieuso / amortiza  **/

 /*************************************************************************************************/
 
 ,ind_endeuact as endeudamiento_activo_fijo,
 ind_solvencia as solvencia,
 ind_cappro as capital_propio,
 ind_inmact as inmovilizacion_de_activos,
 ind_inmpat as inmovilizacion_patrimonio_neto,

 ind_rotvta as rotacion_de_ventas,
 ind_rotvta_dias rotacion_de_ventas_dias,
 ind_rotact_dias as rotacion_activo_fijo_dias,

 ind_indrot_dias as rotacion_de_creditos_dias,
 ind_rotinv_dias as rotacion_inventarios_dias,

 ind_prest_vtas as prestamos_sobre_ventas,
 convert(decimal(12,2),iif (isnull(act_total,0)  !=0, ((isnull(ac_total,0)-isnull(pc_total,0))/act_total),0))       as capital_de_trabajo_activo,
 convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, ((isnull(res_vtanet,0)-isnull(res_cosmer,0))/res_vtanet),0)) as rentabilidad_bruta,
 convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, ((isnull(ganancia,0))/isnull(res_vtanet,0)),0))              as utilidad_neta,
 isnull(res_vtanet, 0) as ventas,
 isnull(res_otrosing, 0) as otros_ingresos,
 isnull(res_otrosegr, 0) as otros_egresos,
 isnull(ganancia, 0) as resultado_ejercicio,
 convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, isnull(ganancia,0)/isnull(res_vtanet,0)*100, 0)) as rentabilidad_sobre_ventas
 


   from balances_contables 
  where id_balance = @id_balance
    and fecha_balance = @fecha_max
    and visible = 1
     and estado = 'PUBLICADO' 
    END
  ELSE 
    BEGIN
 
 set @fecha_max = (select max(fecha_balance) from balances_contables where cuit= @p_Cuit and visible = 1 and estado = 'PUBLICADO')

 if (datepart(yy,getdate()) - datepart(yy,@fecha_max) > 6)
 begin
    return
 end
 select convert(varchar(10),fecha_balance,103) as fecha_balance,

  ac_total as activo_corriente_total,
  anc_total as activo_no_corriente_total,
  act_total as activo_total,
  pc_total as pasivo_corriente_total,
  pnc_total as pasivo_no_corriente_total,
  pas_total as pasivo_total,
  patrimonio as patrimonio_neto,
  res_vtanet as ventas_netas,
  ganancia as resultado,


  ind_solvencia_pat as solvencia_patrimonial,
  ind_endeu as endeudamiento_total,
  convert(decimal(12,2),iif(isnull(patrimonio,0) > 0, isnull(pc_total,0)/patrimonio, 0)) as endeudamiento_corriente, /*** pasivo_corriente / patrimonio_neto  **/
  ind_captra as capital_de_trabajo,
  convert(decimal(12,2),iif(isnull(act_total,0) > 0, (isnull(ac_total,0)-isnull(pc_total,0))/act_total, 0)) as capital_corriente_sobre_activo, /** (activo_corriente - pasivo_corriente) / activo **/
  ind_liqcorr as liquidez_corriente,
  ind_liqseca as liquidez_seca,
  ind_indrot as rotacion_de_creditos,

  convert(decimal(12,2),iif( (isnull(res_compras,0)+isnull(res_gascom,0)+isnull(res_gasadm,0)+isnull(res_gasfin,0)) > 0, isnull(pc_total,0)*365/((isnull(res_compras,0)+isnull(res_gascom,0)+isnull(res_gasadm,0)+isnull(res_gasfin,0)) * 1.21) , 0 )) as rotacion_pasivo_corriente, /*** (pasivo_corriente * 365) / ((compras+gastos)*1.21) ***/
  ind_rotinv as rotacion_inventarios,
  convert(decimal(12,2),iif(isnull(act_total,0) > 0, isnull(res_vtanet,0)/act_total, 0)) as rotacion_activos,     /***    ventas / activo_total   ***/
  ind_rotact as rotacion_activo_fijo,
  ind_prest_pn as prestamos_sobre_patrimonio_neto,
  convert(decimal(12,2),iif(isnull(res_vtanet, 0) > 0, (isnull(pc_presta,0)+isnull(pnc_presta,0))*12/res_vtanet, 0)) as meses_deuda,    /**** (prestamos (o BCRA)) * 12 / ventas ***/ 
  convert(decimal(12,2),iif(isnull(res_vtanet, 0) > 0, (isnull(pc_presta,0)+isnull(pnc_presta,0))*365/res_vtanet, 0)) as dias_deuda,                /**** (prestamos (o BCRA)) * 365 / ventas ***/ 

  ind_marbru as margen_bruto,
  ind_utilfin as margen_neto,    /**** revisar ***/
  convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, (isnull(ganancia,0)+isnull(res_otrosegr,0)-isnull(res_otrosing,0)) /isnull(res_vtanet,0)*100 , 0)) as margen_operativo, 
  ind_retpat as margen_sobre_patrimonio,
  ind_rentabilidad as margen_sobre_activo,

  ebitda as ebitda,
  ind_ebipas as ebitda_pasivo,
  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(ebitda,0)/res_vtanet, 0)) as ebitda_ventas,    /******* ebitda / ventas *****/
  convert(decimal(12,2),iif(isnull(res_gasfin,0) > 0, isnull(ebitda,0)/res_gasfin, 0)) as etitda_intereses,     /**** ebitda / res_gasfin *****/

  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(res_gasfin,0)/res_vtanet, 0)) as gastos_financieros_ventas,   /*** res_gasfin / ventas ***/
  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(res_gascom,0)/res_vtanet, 0)) as gastos_comerciales_ventas,   /*** res_gascom / ventas ***/
  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, isnull(res_gasadm,0)/res_vtanet, 0)) as gastos_administracion_ventas,   /*** res_gasadm / ventas ***/

  convert(decimal(12,2),iif(isnull(res_vtanet,0) > 0, (isnull(res_gasfin,0)+isnull(res_gascom,0)+isnull(res_gasadm,0))/res_vtanet, 0)) as gastos_totales_ventas,   /*** (res_gasfin + res_gascom + res_gasadm) / ventas ***/

  /*ind_invbu as inversiones_bienes_uso,*/  /*** revisar : patrimonio_neto / bienes_uso * 100 ***/
  convert(decimal(12,2),iif(isnull(anc_bieuso,0) > 0, isnull(patrimonio,0)/anc_bieuso, 0)) as inversiones_bienes_uso, 
   
  convert(decimal(12,2),iif(isnull(amortiza,0) > 0, isnull(anc_bieuso,0)/amortiza, 0)) as vida_restante_bienes_uso   /**  anc_bieuso / amortiza  **/


 /*************************************************************************************************/


 ,ind_liqcorr as liquidez_corriente,
 ind_liqseca as liquidez_seca,
 ind_endeu as endeudamiento_corriente,
 ind_endeuact as endeudamiento_activo_fijo,
 ind_solvencia as solvencia,
 ind_solvencia_pat as solvencia_patrimonial,
 ind_captra as capital_de_trabajo,
 ind_cappro as capital_propio,
 ind_invbu as inversiones_bienes_uso,
 ind_inmact as inmovilizacion_de_activos,
 ind_inmpat as inmovilizacion_patrimonio_neto,
 ind_marbru as utilidad_bruta,
 ind_utilfin as utilidad_neta,
 ind_retpat as retorno_sobre_patrimonio,
 ind_rotvta as rotacion_de_ventas,
 ind_rotvta_dias rotacion_de_ventas_dias,
 ind_rotact as rotacion_activo_fijo,
 ind_rotact_dias as rotacion_activo_fijo_dias,
 ind_rentabilidad as rentabilidad_sobre_activo,
 ind_ebipas as ebitda_pasivo,
 ind_indrot as rotacion_de_creditos,
 ind_indrot_dias as rotacion_de_creditos_dias,
 ind_rotinv as rotacion_inventarios,
 ind_rotinv_dias as rotacion_inventarios_dias,
 ind_prest_pn as prestamos_sobre_patrimonio_neto,
 ind_prest_vtas as prestamos_sobre_ventas,
 convert(decimal(12,2),iif (isnull(act_total,0)  !=0, ((isnull(ac_total,0)-isnull(pc_total,0))/act_total),0))       as capital_de_trabajo_activo,
 convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, ((isnull(res_vtanet,0)-isnull(res_cosmer,0))/res_vtanet),0)) as rentabilidad_bruta,
 convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, ((isnull(ganancia,0))/isnull(res_vtanet,0)),0))              as utilidad_neta,
 isnull(res_vtanet, 0) as ventas,
 isnull(res_otrosing, 0) as otros_ingresos,
 isnull(res_otrosegr, 0) as otros_egresos,
 isnull(ganancia, 0) as resultado_ejercicio,
 convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, isnull(ganancia,0)/isnull(res_vtanet,0)*100, 0)) as rentabilidad_sobre_ventas,
 convert(decimal(12,2),iif (isnull(res_vtanet,0) !=0, (isnull(ganancia,0)+isnull(res_otrosegr,0)-isnull(res_otrosing,0)) /isnull(res_vtanet,0)*100 , 0)) as rentabilidad_operativa

   from balances_contables 
  where cuit = @p_Cuit
    and fecha_balance = @fecha_max
    and visible = 1
     and estado = 'PUBLICADO' 
      END
END

GO

Depends On

1

Used By

No items found