Jump to content
mamartins25

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

Recommended Posts

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

 

Share this post


Link to post
Share on other sites

@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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.