dbo.LED_Chequear_931

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@p_cliente int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <María Inés Soria>
-- Create date: <24/04/2023>
-- Description:  
/*
Hacer un producto nuevo para que el 931 del antepenúltimo mes entre en consideración del módulo de acceso. 
Un documento que no es de acceso y del mes de Enero no puede directamente ser killer de acceso en Abril. 
Esto requiere un producto especial que diariamente indique al módulo de acceso si ese documento anterior está ok o no.
El tipo de documento (2 y 872 del período Enero (dbo.PeriodoMenosTres() ) de un contratista x que no figure como verificado 
debe actualizar a todos los tipos de documento 1069 del mismo contratista_1 al estado R de rechazado en el mes 
de control de acceso vigente (dbo.PeriodoAdelantado()). Agregar en el motivo del rechazo de estos documentos 
que se los rechaza debido a que el F931 del mes de Enero no se encuentra verificado. 
Los documentos del mes de acceso se generan como Verificados inicialmente. Cliente = 9936068 (en principio)
*/

-- =============================================
CREATE OR ALTER PROCEDURE dbo.LED_Chequear_931 
  @p_cliente int = 9936068
AS
BEGIN
 SET NOCOUNT ON;
 DECLARE @horario varchar(16) = CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14)

-- No verificados 
 update led_docs 
 set estado_doc = 'R', rechazado = getdate(), rechazado_por = 15342812, 
  texto_rechazo = 'Se rechaza debido a que el F931 del mes ' + 
      substring(convert(varchar,dbo.PeriodoMenosTres()),5,2) + '/' +  
      substring(convert(varchar,dbo.PeriodoMenosTres()),1,4) +  
      ' no se encuentra verificado.',
  doc_log = convert(varchar(max), doc_log) + ' ' + @horario +  
       ': Se rechaza debido a que el F931 del mes ' + 
     substring(convert(varchar,dbo.PeriodoMenosTres()),5,2) + '/' +  
     substring(convert(varchar,dbo.PeriodoMenosTres()),1,4) +  
     ' no se encuentra verificado.'
     
 where tipo_doc = 1069 and periodo = dbo.PeriodoAdelantado() and estado_doc = 'V'

 and contratista_1 in (
       select D.contratista_1 
         from led_docs D
        inner join led_contratistas on (led_contratistas.contratista = D.contratista_1 and 
                led_contratistas.estado_contratista = 'A')
        where D.tipo_doc in (2,872)
          and D.cliente = @p_cliente
          and D.periodo = dbo.PeriodoMenosTres() 
          and D.estado_doc not in ('V','I')
       )

-- Verificados
 update led_docs 
 set estado_doc = 'V', rechazado = null, rechazado_por = null, 
  texto_rechazo = null,
  doc_log = convert(varchar(max), doc_log) + ' ' + @horario +  
       ': Verificado - El F931 del mes ' + 
     substring(convert(varchar,dbo.PeriodoMenosTres()),5,2) + '/' +  
     substring(convert(varchar,dbo.PeriodoMenosTres()),1,4) +  
     ' se encuentra verificado.'
     
 where tipo_doc = 1069 and periodo = dbo.PeriodoAdelantado() and estado_doc = 'R'
 
 and contratista_1 in (
       select D.contratista_1 
         from led_docs D
        inner join led_contratistas on (led_contratistas.contratista = D.contratista_1 and 
                led_contratistas.estado_contratista = 'A')
        where D.tipo_doc in (2,872)
          and D.cliente = @p_cliente
          and D.periodo = dbo.PeriodoMenosTres() 
          and D.estado_doc = 'V'      
       )   

END 
GO

Used By

No items found