| ♥ 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. Marked as spam |
| 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' 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. Marked as spam 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 Obrigado Rui, assim consigo lá chegar. | |
| 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
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
Marked as spam | |