Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá Pessoal, muito bom dia.
Estou com uma situação em que não estou conseguindo solucionar.
Alguém poderia me ajudar?
Necessito efetuar os cálculos do total de faturamento, porém devo abater as devoluções.
O problema é que, tenho uma tabela onde se encontram os faturamentos e outra onde se encontram as devoluções.
A chave é o campo nota_fiscal.
O problema é que, se seleciono o ano de faturamento igual a 2015, serão filtradas somente notas de devolução que foram imputadas na tabela de devolução no ano de 2015, todavia, tenho devoluções que entraram em 2015, de notas de 2012 e 2014.
Como proceder para que ao selecionar o faturamento de 2015, traga TODAS as notas que foram lançadas na tabela de devolução para o ano_devolução também igual a 2015.
Segue prints e QVW para auxílio.
Muito obrigado a todos.
Claudemir Dioto
Claudemir, boa tarde, nesse caso você teria que fazer um concatenate.
Onde deixar os campos da nota de devolução iguais com o da nota.
Campos esses que são dimensão :
Exemplo : Nf : cliente, datanota, anonota, mesnota,representantecod, valornota
Dev cliente,dataentrada,anoentrada,mesentrada,representantecod,vlentrada
Os campos devem ficar com a mesma nomenclatura :
Exemplo :
Load cliente,datanota as nfdata, anonota as anonf, mesnota as mesnf,representantecod as pkrepre, valornota from nota;
concatenate
load cliente,dataentrada as nfdata,anoentrada as as anonf,mesentrada as mesnf,representantecod as pkrepre,vlentrada;
Assim você pode fazer na expressão : sum(valornota) - sum(vlentrada) ou ainda no script o valor da entrada você multiplica -1 e renomeia para o mesmo nome do valor da nota. (valornota).
Espero que isso ajude.
Claudemir, boa tarde, nesse caso você teria que fazer um concatenate.
Onde deixar os campos da nota de devolução iguais com o da nota.
Campos esses que são dimensão :
Exemplo : Nf : cliente, datanota, anonota, mesnota,representantecod, valornota
Dev cliente,dataentrada,anoentrada,mesentrada,representantecod,vlentrada
Os campos devem ficar com a mesma nomenclatura :
Exemplo :
Load cliente,datanota as nfdata, anonota as anonf, mesnota as mesnf,representantecod as pkrepre, valornota from nota;
concatenate
load cliente,dataentrada as nfdata,anoentrada as as anonf,mesentrada as mesnf,representantecod as pkrepre,vlentrada;
Assim você pode fazer na expressão : sum(valornota) - sum(vlentrada) ou ainda no script o valor da entrada você multiplica -1 e renomeia para o mesmo nome do valor da nota. (valornota).
Espero que isso ajude.
Segue o exemplo :
Olá Malcon, bom dia.
Obrigado pelo retorno.
Utilizando sua dica do Concatenate até funciona da forma como está montado os dados, ou seja, em duas tabelas em Excel.
O problema é que tenho que fazer isso direto no script. Na tabela de devolução, não tenho o campo Ano.
Somente um campo para relacionar com a tabela de faturamento que é o número da nota fiscal.
Tentei ler separadamente a tabela de devolução com o concatenate porém, perco informações do faturamento.
Creio que teria que ser de outra forma.
Claudemir Dioto,
Não conheço o sistema, porém a maioria dos ERP que conheço tem suas tabelas de notas de entrada, onde a maioria da devoluções gera uma entrada.
A sua data seria data da entrada. 01/01/2016 e essa data você deve quebrar :
No seu script month(DataEntrada), Year(DataEntrada) e Day(DataEntrada).
Porque isso ?
A grande maioria das empresas, deduzem suas devoluções quando a mercadoria voltou para empresa :
Exemplo : Vendi em 10 de dezembro de 2015 .
Porém o cliente devolveu a mercadoria em 20/01/2016. Entendo que a devolução nesse caso vai abater sobre o faturamento de janeiro de 2016.
Não consigo entender que você só tem o campo para relacionar com a nota de saida.
Mas agora se você tem a nota de devolução e na devolução tem as chaves para ligar com a de saida, ou seu processo de deduzir a devolução seria no mês da nota de saida ??
Ou seja :
Em dezembro faturei 1 milhão . Em janeiro devolvi uma nota de dezembro de 100 mil .
Dessa forma o fechamento de dezembro seria 900 mil ?? Ou seja , deduz de faturamento retroativo ? Isso mesmo ??
Agora se for isso , você pode fazer o seguinte :
Pegue a nota de entrada , monta a chave da nota de entrada com a de saida. Isso em uma tabela temporaria.
Depois leia a nota de saida com a mesma chave e faça um Inner join com os dados da nota de saida, para a nota de entrada. Após isso feito ai sim faça um concatenate da entrada com a de saída.
Maicon Mello
Cria devol.qvd fazendo um join entre a tabela de vendas e devolução completa os dados um com o outro criando uma linha idêntica a da venda só com valor negativo depois concatena os dados isso vai gerar a informação...
Sugiro marcar a resposta correta ou útil para fechamento do tópico !