Consultas de Apoio
Descrição
Segue algumas consultas de apoio para validação de dados
Índice
Apuração de Valores de um Período
Apura os valores que devem ter sido integrados, onde:
ESTAB: Estabelecimento
CHAVEUNICA: Chave da nota na API
IDNOTA: Código da Fatura na API
TIPOOPER: Descrição do tipo de operação da nota
VALORBRUTO: Valor Bruto com Devolução Negativo e Venda Positivo
VALORBRUTOPOSITIVO: VendaBruta (Valor Bruto com Devolução Positivo e Venda Positivo)
VALCONT: Valor Contábil da Nota - O mesmo que o líquido do cliente com devoluções negativas e vendas positivas
SELECT
N.ESTAB AS ESTAB, -- Loja
N.ESTAB||TRIM(TO_CHAR(N.IDNOTA, '000000000000')) AS CHAVEUNICA, --ChaveUnica
N.IDNOTA AS IDNOTA, --Fatura
N.SITUACAO,
CASE
WHEN N.IDTIPOOPER = 'DV' AND N.SITUACAO IN (6,9) THEN 'Devolução Cancelada ou Denegada'
WHEN N.IDTIPOOPER = 'DV' AND N.SITUACAO NOT IN (6,9) THEN 'Devolução'
WHEN N.IDTIPOOPER <> 'DV' AND N.SITUACAO IN (6,9) THEN 'Venda Cancelada ou Denegada'
WHEN N.IDTIPOOPER <> 'DV' AND N.SITUACAO NOT IN (6,9) THEN 'Venda'
END AS TIPOOPER, --Tipo de Operação
CASE
WHEN N.SITUACAO IN (6,9) THEN 0
ELSE CASE WHEN N.IDTIPOOPER = 'DV'
THEN ARREDONDAR((NI.QTDTRIB * NI.VUNITARIO + NVL(NICP.VALSERVICO,0)),2) *-1
ELSE ARREDONDAR((NI.QTDTRIB * NI.VUNITARIO + NVL(NICP.VALSERVICO,0)),2)
END
END AS VALBRUTO, --VendaBruta (Valor Bruto com Devolução Negativo e Venda Positivo)
CASE
WHEN N.SITUACAO IN (6,9) THEN 0
ELSE ARREDONDAR((NI.QTDTRIB * NI.VUNITARIO + NVL(NICP.VALSERVICO,0)),2)
END AS VALBRUTOPOSITIVO, --VendaBruta (Valor Bruto com Devolução Positivo e Venda Positivo)
CASE
WHEN N.SITUACAO IN (6,9) THEN 0
ELSE CASE WHEN N.IDTIPOOPER = 'DV'
THEN NI.VALCONT *-1
ELSE NI.VALCONT
END
END AS VALCONT
FROM NOTAITEM NI
INNER JOIN NOTA N ON N.ESTAB = NI.ESTAB AND N.IDNOTA = NI.IDNOTA
INNER JOIN NOTAMCP NM ON NM.ESTAB = N.ESTAB AND NM.IDNOTA = N.IDNOTA
INNER JOIN NOTACONF C ON C.ESTAB = N.ESTABNOTACONF AND C.IDNOTACONF = N.IDNOTACONF
INNER JOIN TABLE(GETINTEGRALEOPARCELAS(NI.ESTAB, NI.IDNOTA)) FP ON (0=0)
INNER JOIN CONFGLOBAL I ON (0=0)
INNER JOIN CONFESTABLEO I1 ON I1.ESTAB = NI.ESTAB
INNER JOIN PESSOADOC P ON P.IDPESS = N.IDPESS
LEFT JOIN PESSOADOCCLIENTE PC ON PC.IDPESS = P.IDPESS
INNER JOIN FILIAL F ON F.ESTAB = I1.ESTAB
INNER JOIN EMPRESA EP ON EP.EMPRESA = F.EMPRESA
INNER JOIN NOTAITEMCP NICP ON NICP.ESTAB = NI.ESTAB AND NICP.IDNOTA = NI.IDNOTA AND NICP.SEQITEM = NI.SEQITEM
INNER JOIN NOTAICMS ON NI.ESTAB = NOTAICMS.ESTAB AND NI.IDNOTA = NOTAICMS.IDNOTA AND NI.SEQITEM = NOTAICMS.SEQITEM
INNER JOIN NOTAPIS ON NI.ESTAB = NOTAPIS.ESTAB AND NI.IDNOTA = NOTAPIS.IDNOTA AND NI.SEQITEM = NOTAPIS.SEQITEM
INNER JOIN NOTACOFINS ON NI.ESTAB = NOTACOFINS.ESTAB AND NI.IDNOTA = NOTACOFINS.IDNOTA AND NI.SEQITEM = NOTACOFINS.SEQITEM
LEFT JOIN CONFESTABLEO I2 ON I2.ESTAB = NI.ESTAB AND I2.MATRIZ = 'S'
LEFT JOIN PROGFID PF ON PF.IDPROGFID = PC.IDPROGFID
LEFT JOIN PESSOADOC P2 ON P2.IDPESS = P.IDPESSGRUPOECON
LEFT JOIN PESSOADOC P3 ON P3.IDPESS = GETIDVENDEDOR(NI.ESTAB,NI.IDNOTA)
LEFT JOIN RAMO R ON R.IDRAMO = PC.IDRAMO
LEFT JOIN ITEMEMP IEM ON IEM.EMPRESA = F.EMPRESA AND IEM.ESTABITEM = NI.ESTABITEM AND IEM.IDITEM = NI.IDITEM
LEFT JOIN ITEMREPOSICAO IR ON IR.ESTAB = NI.ESTAB AND IR.ESTABITEM = NI.ESTABITEM AND IR.IDITEM = NI.IDITEM
LEFT JOIN MOTIVOINAT MI ON MI.IDMOTIVOINAT = IR.IDMOTIVOINAT
LEFT JOIN NOTAIPI ON NI.ESTAB = NOTAIPI.ESTAB AND NI.IDNOTA = NOTAIPI.IDNOTA AND NI.SEQITEM = NOTAIPI.SEQITEM
LEFT JOIN NOTASERVICO ISS ON NI.ESTAB = ISS.ESTAB AND NI.IDNOTA = ISS.IDNOTA AND NI.SEQITEM = ISS.SEQITEM
WHERE (0=0)
AND I1.SINCRONIZA = 'S'
AND INSTR(I.LEOCONFDOCUMENTO,N.IDNOTACONF) > 0
AND C.MEDVDA = 'S'
AND N.SITUACAO IN (5,6,9,10)
AND (NM.PASSOUCAIXA = 'S' OR COALESCE(C.PASSACAIXA,'N') <> 'S')
AND COALESCE(IEM.CODREF,'0') NOT IN ('5000005')
AND N.EMISSAO BETWEEN :DTINI AND :DTFIN
;
Apuração de Valores de um Período INTEGRADO
Apura os valores que estão marcados como “Enviados” na integração:
ESTAB: Estabelecimento
CHAVEUNICA: Chave da nota na API
IDNOTA: Código da Fatura na API
TIPOOPER: Descrição do tipo de operação da nota
VALORBRUTO: Valor Bruto com Devolução Negativo e Venda Positivo
VALORBRUTOPOSITIVO: VendaBruta (Valor Bruto com Devolução Positivo e Venda Positivo)
VALCONT: Valor Contábil da Nota - O mesmo que o líquido do cliente com devoluções negativas e vendas positivas
SELECT
N.ESTAB AS ESTAB, -- Loja
N.ESTAB||TRIM(TO_CHAR(N.IDNOTA, '000000000000')) AS CHAVEUNICA, --ChaveUnica
N.IDNOTA AS IDNOTA, --Fatura
N.SITUACAO,
CASE
WHEN N.IDTIPOOPER = 'DV' AND N.SITUACAO IN (6,9) THEN 'Devolução Cancelada ou Denegada'
WHEN N.IDTIPOOPER = 'DV' AND N.SITUACAO NOT IN (6,9) THEN 'Devolução'
WHEN N.IDTIPOOPER <> 'DV' AND N.SITUACAO IN (6,9) THEN 'Venda Cancelada ou Denegada'
WHEN N.IDTIPOOPER <> 'DV' AND N.SITUACAO NOT IN (6,9) THEN 'Venda'
END AS TIPOOPER, --Tipo de Operação
CASE
WHEN N.SITUACAO IN (6,9) THEN 0
ELSE CASE WHEN N.IDTIPOOPER = 'DV'
THEN ARREDONDAR((NI.QTDTRIB * NI.VUNITARIO + NVL(NICP.VALSERVICO,0)),2) *-1
ELSE ARREDONDAR((NI.QTDTRIB * NI.VUNITARIO + NVL(NICP.VALSERVICO,0)),2)
END
END AS VALBRUTO, --VendaBruta (Valor Bruto com Devolução Negativo e Venda Positivo)
CASE
WHEN N.SITUACAO IN (6,9) THEN 0
ELSE ARREDONDAR((NI.QTDTRIB * NI.VUNITARIO + NVL(NICP.VALSERVICO,0)),2)
END AS VALBRUTOPOSITIVO, --VendaBruta (Valor Bruto com Devolução Positivo e Venda Positivo)
CASE
WHEN N.SITUACAO IN (6,9) THEN 0
ELSE CASE WHEN N.IDTIPOOPER = 'DV'
THEN NI.VALCONT *-1
ELSE NI.VALCONT
END
END AS VALCONT
FROM NOTAITEM NI
INNER JOIN NOTA N ON N.ESTAB = NI.ESTAB AND N.IDNOTA = NI.IDNOTA
INNER JOIN NOTAMCP NM ON NM.ESTAB = N.ESTAB AND NM.IDNOTA = N.IDNOTA
INNER JOIN NOTACONF C ON C.ESTAB = N.ESTABNOTACONF AND C.IDNOTACONF = N.IDNOTACONF
INNER JOIN TABLE(GETINTEGRALEOPARCELAS(NI.ESTAB, NI.IDNOTA)) FP ON (0=0)
INNER JOIN CONFGLOBAL I ON (0=0)
INNER JOIN CONFESTABLEO I1 ON I1.ESTAB = NI.ESTAB
INNER JOIN PESSOADOC P ON P.IDPESS = N.IDPESS
LEFT JOIN PESSOADOCCLIENTE PC ON PC.IDPESS = P.IDPESS
INNER JOIN FILIAL F ON F.ESTAB = I1.ESTAB
INNER JOIN EMPRESA EP ON EP.EMPRESA = F.EMPRESA
INNER JOIN NOTAITEMCP NICP ON NICP.ESTAB = NI.ESTAB AND NICP.IDNOTA = NI.IDNOTA AND NICP.SEQITEM = NI.SEQITEM
INNER JOIN NOTAICMS ON NI.ESTAB = NOTAICMS.ESTAB AND NI.IDNOTA = NOTAICMS.IDNOTA AND NI.SEQITEM = NOTAICMS.SEQITEM
INNER JOIN NOTAPIS ON NI.ESTAB = NOTAPIS.ESTAB AND NI.IDNOTA = NOTAPIS.IDNOTA AND NI.SEQITEM = NOTAPIS.SEQITEM
INNER JOIN NOTACOFINS ON NI.ESTAB = NOTACOFINS.ESTAB AND NI.IDNOTA = NOTACOFINS.IDNOTA AND NI.SEQITEM = NOTACOFINS.SEQITEM
LEFT JOIN CONFESTABLEO I2 ON I2.ESTAB = NI.ESTAB AND I2.MATRIZ = 'S'
LEFT JOIN PROGFID PF ON PF.IDPROGFID = PC.IDPROGFID
LEFT JOIN PESSOADOC P2 ON P2.IDPESS = P.IDPESSGRUPOECON
LEFT JOIN PESSOADOC P3 ON P3.IDPESS = GETIDVENDEDOR(NI.ESTAB,NI.IDNOTA)
LEFT JOIN RAMO R ON R.IDRAMO = PC.IDRAMO
LEFT JOIN ITEMEMP IEM ON IEM.EMPRESA = F.EMPRESA AND IEM.ESTABITEM = NI.ESTABITEM AND IEM.IDITEM = NI.IDITEM
LEFT JOIN ITEMREPOSICAO IR ON IR.ESTAB = NI.ESTAB AND IR.ESTABITEM = NI.ESTABITEM AND IR.IDITEM = NI.IDITEM
LEFT JOIN MOTIVOINAT MI ON MI.IDMOTIVOINAT = IR.IDMOTIVOINAT
LEFT JOIN NOTAIPI ON NI.ESTAB = NOTAIPI.ESTAB AND NI.IDNOTA = NOTAIPI.IDNOTA AND NI.SEQITEM = NOTAIPI.SEQITEM
LEFT JOIN NOTASERVICO ISS ON NI.ESTAB = ISS.ESTAB AND NI.IDNOTA = ISS.IDNOTA AND NI.SEQITEM = ISS.SEQITEM
WHERE (0=0)
AND I1.SINCRONIZA = 'S'
AND INSTR(I.LEOCONFDOCUMENTO,N.IDNOTACONF) > 0
AND C.MEDVDA = 'S'
NM.NOTASINC= 'S'
AND N.SITUACAO IN (5,6,9,10)
AND COALESCE(IEM.CODREF,'0') NOT IN ('5000005')
AND N.EMISSAO BETWEEN :DTINI AND :DTFIN
;
Dicionário de Dados
Dicionário do Banco de Dados
Caso tenha interesse em saber os campos do banco de dados que se relacionam a cada campo do sistema, sugerimos a leitura do artigo a seguir: https://nimitz.atlassian.net/l/c/NDGXWDD6
Erros Comuns
Situações que podem ocorrer durante o uso da rotina
Versão
Lote | Versão do Sistema | Versão do Banco de Dados | Versão da Documentação | Autor/Revisor |
---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|