- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Query para apurar Qtd Faturamento
×
Linguagem de Programação ADVPL
Perguntas Query para apurar Qtd Faturamento
- alex.magno
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 68
- Obrigados Recebidos: 0
10 anos 8 meses atrás #21588
por alex.magno
Query para apurar Qtd Faturamento foi criado por alex.magno
Boa tarde,
Estou precisando fazer uma query para verificar a quantidade de produtos faturados num período.
Montei desse jeito:
Eu preciso considerar o status da NF, para não considerar NF com status "NF não autorizada".
Como considerar o status nessa query?
Valeu!
Estou precisando fazer uma query para verificar a quantidade de produtos faturados num período.
Montei desse jeito:
SELECT D2_COD, SUM(D2_QUANT) AS QTD
FROM SD2010
WHERE D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND D_E_L_E_T_ <> '*'
GROUP BY D2_COD
Eu preciso considerar o status da NF, para não considerar NF com status "NF não autorizada".
Como considerar o status nessa query?
Valeu!
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 8 meses atrás #21591
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Query para apurar Qtd Faturamento
RODA AI NÃO TESTEI OK.
SELECT D2_COD, SUM(D2_QUANT) AS QTD
FROM SD2010, SF4010, SF2010
WHERE D2_FILIAL = '01' AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND F2_FILIAL = F2_FILIAL AND F2_DOC = D2_DOC AND F2_SERIE = D2_SERIE
AND F2_CLIENTE = D2_CLIENTE AND F2_LOJA = D2_LOJA
AND F4_FILIAL = D2_FILIAL
AND F4_CODIGO = D2_TES -- AMARRA TES A TABELA DE TES
AND F4_DUPLIC = 'S' -- GERA DUPLICATA
AND F4_ESTOQUE = 'S' -- MOVIMENTA ESTOQUE
AND F2_TIPO = 'N' -- NOTA NORMAL
AND F2_CHVNFE <> '' -- CHAVE NFE PREENCHIDA NOTA VALIDADA
AND SF2010.D_E_L_E_T_ <> '*'
AND SF4010.D_E_L_E_T_ <> '*'
AND SD2010.D_E_L_E_T_ <> '*'
GROUP BY D2_COD
SELECT D2_COD, SUM(D2_QUANT) AS QTD
FROM SD2010, SF4010, SF2010
WHERE D2_FILIAL = '01' AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND F2_FILIAL = F2_FILIAL AND F2_DOC = D2_DOC AND F2_SERIE = D2_SERIE
AND F2_CLIENTE = D2_CLIENTE AND F2_LOJA = D2_LOJA
AND F4_FILIAL = D2_FILIAL
AND F4_CODIGO = D2_TES -- AMARRA TES A TABELA DE TES
AND F4_DUPLIC = 'S' -- GERA DUPLICATA
AND F4_ESTOQUE = 'S' -- MOVIMENTA ESTOQUE
AND F2_TIPO = 'N' -- NOTA NORMAL
AND F2_CHVNFE <> '' -- CHAVE NFE PREENCHIDA NOTA VALIDADA
AND SF2010.D_E_L_E_T_ <> '*'
AND SF4010.D_E_L_E_T_ <> '*'
AND SD2010.D_E_L_E_T_ <> '*'
GROUP BY D2_COD
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- alex.magno
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 68
- Obrigados Recebidos: 0
10 anos 8 meses atrás #21643
por alex.magno
Respondido por alex.magno no tópico Query para apurar Qtd Faturamento
Luiz, boa tarde
Deu certo sim, só precisei fazer um ajuste.
Provavelmente você esqueceu de alterar o nome do campo no primeiro AND
onde está AND F2_FILIAL = F2_FILIAL eu alterei para AND F2_FILIAL = D2_FILIAL.
Segue a instrução atualizada:
Valeu pela força!
Deu certo sim, só precisei fazer um ajuste.
Provavelmente você esqueceu de alterar o nome do campo no primeiro AND
onde está AND F2_FILIAL = F2_FILIAL eu alterei para AND F2_FILIAL = D2_FILIAL.
Segue a instrução atualizada:
SELECT D2_COD, SUM(D2_QUANT) AS QTD
FROM SD2010, SF4010, SF2010
WHERE D2_FILIAL = '01' AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND F2_FILIAL = D2_FILIAL AND F2_DOC = D2_DOC AND F2_SERIE = D2_SERIE
AND F2_CLIENTE = D2_CLIENTE AND F2_LOJA = D2_LOJA
AND F4_FILIAL = D2_FILIAL
AND F4_CODIGO = D2_TES -- AMARRA TES A TABELA DE TES
AND F4_DUPLIC = 'S' -- GERA DUPLICATA
AND F4_ESTOQUE = 'S' -- MOVIMENTA ESTOQUE
AND F2_TIPO = 'N' -- NOTA NORMAL
AND F2_CHVNFE <> '' -- CHAVE NFE PREENCHIDA NOTA VALIDADA
AND SF2010.D_E_L_E_T_ <> '*'
AND SF4010.D_E_L_E_T_ <> '*'
AND SD2010.D_E_L_E_T_ <> '*'
GROUP BY D2_COD
Valeu pela força!
Por favor Acessar ou Registrar para participar da conversa.
- sandroulisses
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 1
- Obrigados Recebidos: 0
10 anos 8 meses atrás #21656
por sandroulisses
Respondido por sandroulisses no tópico Query para apurar Qtd Faturamento
SELECT D2_COD, SUM(D2_QUANT) AS QTDFAT, SUM(D2_TOTAL) AS VLRFAT FROM SD2010 D2
INNER JOIN SF4010 F4 ON F4_FILIAL = D2_FILIAL --USE SOMENTE SE A SF4 FOR EXCLUSIVA
AND F4_CODIGO = D2_TES
AND F4_DUPLIC = 'S'
AND F4_ESTOQUE = 'S'
AND F4.D_E_L_E_T_=''
INNER JOIN SF2010 F2 ON F2_FILIAL=D2_FILIAL
AND F2_COD=D2_DOC
AND F2_SERIE=D2_SERIE
AND F2_CLIENTE=D2_CLIENTE
AND F2_LOJA=D2_LOJA
AND F2_TIPO='N'
AND F2_CHVNFE<>''
AND F2.D_E_L_E_T_=''
WHERE D2_FILIAL = '01'
AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND D2.D_E_L_E_T_=''
GROUP BY D2_COD
INNER JOIN SF4010 F4 ON F4_FILIAL = D2_FILIAL --USE SOMENTE SE A SF4 FOR EXCLUSIVA
AND F4_CODIGO = D2_TES
AND F4_DUPLIC = 'S'
AND F4_ESTOQUE = 'S'
AND F4.D_E_L_E_T_=''
INNER JOIN SF2010 F2 ON F2_FILIAL=D2_FILIAL
AND F2_COD=D2_DOC
AND F2_SERIE=D2_SERIE
AND F2_CLIENTE=D2_CLIENTE
AND F2_LOJA=D2_LOJA
AND F2_TIPO='N'
AND F2_CHVNFE<>''
AND F2.D_E_L_E_T_=''
WHERE D2_FILIAL = '01'
AND D2_EMISSAO BETWEEN '20140301' AND '20140331'
AND D2.D_E_L_E_T_=''
GROUP BY D2_COD
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Query para apurar Qtd Faturamento
Tempo para a criação da página:0.095 segundos