dbo.LN_balances_verificar

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_doc_id int 4
@p_user_id int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: LUIS J PRENAFETA
-- Create date: 03 AGOSTO 2018
-- Description: VERIFICA LA CARGA DE UN DOCUMENTO BALANCE LED SUBIDO POR UN PROVEEDOR, 
--              Y AL REGISTRO DE BALANCE_CONTABLE ASOCIADO LO PASA DE ESTADO CARGA LED
-- A GRABADO PARCIAL. CUALQUIER OTRO BALANCE_CONTABLE PREEXISTENTE PARA EL
--              MISMO CUIT Y FECHA DE CIERRE DEBE PASAR A ESTADO ELIMINADO (INCLUSO PUBLICADOS)
-- FINALMENTE DA COMO VERIFICADO EL REGISTRO DE DOCUMENTO LED
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_balances_verificar
 -- Add the parameters for the stored procedure here
 @p_doc_id         int,
 @p_user_id         int

AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here

 if (@p_doc_id is not null) begin

  declare @contraparte int
  declare @id_balance int
  declare @ident varchar(50)
  declare @fecha date
  declare @periodo int = null

  DECLARE @usuario varchar(50)

  select @usuario = first_name + ' ' + last_name
  from users where user_id = @p_user_id

  select @contraparte = LN_docs.contraparte,
    @ident = padrones.identificacion,
    @id_balance = balances_contables.id_balance,
    @fecha = balances_contables.fecha_balance,
    @periodo = balances_contables.periodo

  FROM LN_docs
  inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
  inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
  inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
  inner join identificadores on padrones.identificador = identificadores.identificador
  inner join country on identificadores.country_code = country.country_code
  inner join clientes on LN_docs.cliente = clientes.cliente
 
  inner join balances_contables on LN_docs.id_externo = balances_contables.id_balance

  where LN_docs.doc_id = @p_doc_id

    /*
     -- Marcamos como eliminado 
todo balance del mismo perĂ­odo y cuit excepto el que vamos a verificar 
    
     UPDATE balances_contables SET estado = 'ELIMINADO'
     WHERE cuit = @ident
     AND fecha_balance = @fecha
     AND id_balance <> @id_balance
    
     -- El balance verificado queda en forma de grabado parcial disponible para carga de datos 
    
     UPDATE balances_contables SET estado = 'GRABADO PARCIAL',
     modified = GETDATE(), modified_by = @p_user_id
     WHERE cuit = @ident
     AND fecha_balance = @fecha
     AND id_balance = @id_balance
       */


  /* El documento LED queda verificado */

  declare @inicio date = null

  if (@fecha is not null and @periodo > 0)
   set @inicio = dateadd(day, 1, dateadd(month, (-1) * @periodo, @fecha))


  UPDATE LN_docs set estado_doc = 'V', 
   inicio_ejercicio = @inicio,
   fin_ejercicio = @fecha,
   modified = GETDATE(), modified_by = @p_user_id,
   verificado_backend = GETDATE(),
   verificado_backend_por = @p_user_id,
   doc_log = CONVERT(VARCHAR(MAX),doc_log) + CHAR(13)+CHAR(10) + 
     CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14) + ' - Documento de balance verificado por ' + @usuario
  WHERE doc_id = @p_doc_id
  
  exec LN_dashboard_cliente 'score_documentos', NULL, NULL, NULL, @contraparte
  exec LN_dashboard_cliente 'score_final_contraparte', NULL, NULL, NULL, @contraparte

 end


END

GO

Used By

No items found