Forum
See question

Como identificar em SQL os documentos de Compras/Vendas anulados no Primavera?   

59 views
0
0

Boa tarde,

Estou a desenvolver um mapa/listagem de documentos de Compras por período diretamente a partir da base de dados do Primavera (SQL).

A minha dúvida é a seguinte:

Como posso identificar, em SQL, quais os documentos que estão “Anulados”?

Ou seja: Em que tabela ou colunas fica guardado o estado de “Anulado” quando usamos o botão Anular nos documentos de Compras? se ficar…

Preciso dessa informação para conseguir excluir esses documentos da listagem.

Obrigado desde já pela ajuda.

Faça login para poder traduzir
Compras
Evolution
Primavera
Vendas
Marked as spam
Criado há 2 meses e 2 semanas tiagorodrigues
t
tiagorodrigues Iniciante
3 answers
-2
Private answer

A informação relativa ao estado "Anulado" dos documentos de Compras ou Vendas no Cegid Primavera é armazenada na base de dados. Para identificar os documentos anulados, pode verificar a tabela CabecDoc, onde a coluna Estado indica o estado do documento. Um valor associado ao estado de anulação deve ser explorado (normalmente, o valor usado para "Anulado" é específico da configuração do sistema).

Segue um exemplo básico de consulta SQL que pode ajudá-lo a verificar e excluir os documentos anulados da sua listagem:

Exemplo de Query SQL:

SELECT Documento, TotalDocumento, DataFROM CabecDocWHERE Estado = 'Anulado'
AND TipoDoc = 'VNC' -- Substituir pelo tipo de documento correspondente (ou remover o filtro, se necessário)
AND Data BETWEEN '2023-01-01' AND '2023-12-31'; -- Defina o período desejado

No entanto, verifique no seu sistema qual o valor concreto da coluna Estado para designar "Anulado" e adapte a query conforme necessário. Também pode substituir ou incluir tabelas como LinhasDoc caso precise validar informações adicionais dos documentos.

Nota: Certifique-se de ter permissões e que a consulta seja validada com cautela antes de ser usada em produção.

Esta resposta foi gerada por inteligência artificial com base na informação disponível e pode não refletir todas as especificidades do seu caso.
Ajude-nos a melhorar esta funcionalidade:
• Se a resposta corresponde à sua questão, assinale-a com "Mark as best answer",
• Se a resposta estiver incorreta, dê-lhe um voto negativo e aguarde a resposta da comunidade.

Faça login para poder traduzir
Marked as spam
Criado há 2 meses e 2 semanas cegidpulse
cegidpulse Community Moderator
    Comments
    A tabela correta é Cabecdocstatus, coluna estado, onde os estados possíveis nos documentos de compra/venda são os seguintes : T : Transformado P : Pendente R : Rejeitado/Anulado G : Aguarda cotação C : Cotado A : Aprovado E : Em aprovação F : Fechado
    2 meses e 2 semanas
    ruinunes
      Obrigado Rui, assim consigo lá chegar.
      2 meses e 2 semanas
      tiagorodrigues
        1
        Private answer

        Olá @tiagorodrigues, deixo aqui para as vendas (compras é similar)

        Para obteres as Vendas ANULADAS:

        SELECT c.TipoDoc,c.Serie,c.NumDoc FROM dbo.CabecDoc C INNER JOIN dbo.CabecDocStatus cs ON cs.IdCabecDoc=c.Id
        WHERE cs.Anulado = 1 --AND cs.Estado='R'

         

        Para obteres as Vendas ESTORNADAS:

        SELECT c.TipoDoc,c.Serie,c.NumDoc,nc.TipoDoc,nc.Serie,nc.NumDoc FROM dbo.CabecDoc C INNER JOIN dbo.CabecDocStatus cs ON cs.IdCabecDoc=c.Id
        INNER JOIN dbo.LinhasDoc l ON l.IdCabecDoc=c.Id
        INNER JOIN dbo.LinhasDoc lnc ON lnc.IDLinhaEstorno=l.Id
        INNER JOIN dbo.CabecDoc nc ON nc.Id=lnc.IdCabecDoc
        WHERE cs.Estado='T'

         

        Faça login para poder traduzir
        Marked as spam
        Criado há 2 meses e 2 semanas manuelquelhas
        manuelquelhas Loyal Contributor
          2
          Private answer
          Marked as spam
          Criado há 2 meses e 2 semanas brunogomes
          brunogomes Most Valuable Professional