Ir para conteúdo

Identificar saltos na sequência numérica das nf's


mamartins25

Posts Recomendados


  • Tópicos Que Criei:  9
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  22
  • Conteúdo/Dia:  0.03
  • Reputação:   4
  • Pontos/Conquistas:  205
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Dispositivo:  Windows

Bom dia Pessoal.

Estou precisando identificar se teve algum salto no número sequencial das nf's dentro do mês, contido na tabela: Númeromov.

Algum de vocês saberia como identificar via sistema ou por consulta sql?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.802
  • Conteúdo/Dia:  1.34
  • Reputação:   291
  • Pontos/Conquistas:  106.268
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Offline
  • Idade:  51
  • Dispositivo:  Windows

Vc pode dar um select e verifica o maior valor, menor, e a quantidade de regs. Com isso sabe se está correto. É uma ideia. 

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.802
  • Conteúdo/Dia:  1.34
  • Reputação:   291
  • Pontos/Conquistas:  106.268
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Offline
  • Idade:  51
  • Dispositivo:  Windows

Ahh, detalhe, o NUMEROMOV não é uma tabela, e sim um campo Da TABELA TMOV.

Exemplo de consulta que pode lhe ajudar ai na sua necessidade: 

SELECT CODCOLIGADA, CODTMV, CODFILIAL, SERIE,

MAX(NUMEROMOV) AS MAIORNF, MIN(NUMEROMOV) AS MENORNF, COUNT(*) AS QTDREGS

FROM TMOV 

WHERE CODCOLIGADA = '1' AND CODTMV = '2.2.01' /* AQUI AJUSTE COM A SUA COLIGADA E COD. TIPO MOVTO DE NF */

GROUP BY  CODCOLIGADA, CODTMV, CODFILIAL, SERIE

 

 

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  9
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  22
  • Conteúdo/Dia:  0.03
  • Reputação:   4
  • Pontos/Conquistas:  205
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Dispositivo:  Windows

Opa @Jair - Fórmula . Vou seguir por essa linha de raciocínio que vc mostrou. Muito obrigado pela orientação.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  470
  • Conteúdo/Dia:  0.21
  • Reputação:   132
  • Pontos/Conquistas:  3.143
  • Conteúdo Resolvido:  0
  • Dias Ganho:  63
  • Status:  Offline
  • Idade:  35
  • Dispositivo:  Android

@mamartins25, boa noite, 

Uma outra forma, pode ser essa: 

 

/***

USE CORPORERM
GO 

;WITH TAB_INFMOV 
AS
(
    SELECT 
         T.CODCOLIGADA
        ,T.CODFILIAL
        ,T.CODTMV
        ,MIN(CAST(T.NUMEROMOV AS INT)) AS 'NROMIN'
        ,MAX(CAST(T.NUMEROMOV AS INT)) AS 'NROMAX'
    FROM DBO.TMOV T
    WHERE T.CODCOLIGADA = 1 
    AND T.CODTMV = '1.1.01'
    AND T.CODFILIAL = 63 
    AND T.DATAMOVIMENTO >= '2022-01-01'
    AND T.DATAMOVIMENTO <  '2022-02-01'
    GROUP BY T.CODCOLIGADA, T.CODFILIAL, T.CODTMV 
)
, TAB_SEQ
AS
(
    SELECT CODCOLIGADA, CODFILIAL, CODTMV, NROMIN AS 'SEQ' FROM TAB_INFMOV

    UNION ALL

    SELECT T1.CODCOLIGADA, T1.CODFILIAL, T1.CODTMV, T1.SEQ + 1 
    FROM TAB_SEQ T1
    CROSS APPLY TAB_INFMOV T2 
    WHERE T1.SEQ <= T2.NROMAX
)
, TAB_DADOS
AS
(
    SELECT 
         S.CODCOLIGADA
        ,S.CODFILIAL
        ,S.CODTMV
        ,S.SEQ
        ,T.NUMEROMOV
        ,T.IDMOV
        ,IIF(T.IDMOV IS NULL , 1, 0) AS 'VALIDACAO'
    FROM TAB_SEQ S 
    OUTER APPLY 
    (
        SELECT 
             T2.NUMEROMOV
            ,T2.IDMOV
        FROM DBO.TMOV T2
        WHERE T2.CODCOLIGADA = S.CODCOLIGADA
        AND T2.CODFILIAL = S.CODFILIAL
        AND T2.CODTMV = S.CODTMV
        AND T2.DATAMOVIMENTO >= '2022-01-01'
        AND T2.DATAMOVIMENTO <  '2022-02-01'
        AND CAST(T2.NUMEROMOV AS INT) = S.SEQ
    
    ) T
)
SELECT 
     D.CODCOLIGADA
    ,D.CODFILIAL
    ,D.CODTMV
    ,D.SEQ
    ,D.NUMEROMOV
    ,D.IDMOV
    ,D.VALIDACAO
FROM TAB_DADOS D
OPTION (MAXDOP 1, MAXRECURSION 0 )

***/

 

Abraços

  • Like 1
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  9
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  22
  • Conteúdo/Dia:  0.03
  • Reputação:   4
  • Pontos/Conquistas:  205
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Dispositivo:  Windows

Show @luisgustavogomes. Obrigado meu amigo.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.