¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Consulta de faturas de fornecedores com subtotais de documento e saldo pendente a pagar

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Tenho uma consulta na qual obtenho todas as faturas de fornecedores pendentes de pagamento com as informações do fornecedor, total da fatura, valor aplicado e montante pendente a pagar, além de mostrar a quantidade de dias em atraso da fatura, se for o caso, etc. No entanto, agora é necessário mostrar na mesma consulta os subtotais do total do documento e os subtotais do montante pendente por pagar por fornecedor, ou seja, na mesma consulta somar o total do documento e o total pendente por pagar, mas agrupado por fornecedor. Ainda não consegui mostrar os subtotais dessa forma. Até agora, tenho a seguinte consulta sem os subtotais:

/ SELECIONAR DE [dbo].[OPCH] T4 /

Declarar @Fecha1 como nvarchar(100)

/* ONDE */

set @Fecha1 = /* T4.CreateDate */ '[%0]'

SELECIONAR T0.[CardCode] AS 'Código do Fornecedor', T0.[CardName] AS 'Nome do Fornecedor', T0.[DocNum] AS 'Nro do Documento', T0.[DocDueDate] AS 'Data de Vencimento', T0.[DocTotal] AS 'Total do Documento', T0.[PaidToDate] as 'Valor', (T0.[DocTotal] - T0.[PaidToDate]) as 'Pendente a Pagar', DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1 AS 'Dias', CASO QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<0 ENTÃO 'Vencido' QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1>=0 E DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<=30 ENTÃO '30 Dias' QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1>30 E DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<=60 ENTÃO '60 Dias' QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1>60 E DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<=90 ENTÃO '90 Dias' QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10))*-1>90 ENTÃO 'Mais de 90 Dias' FIM COMO 'Prazo de Vencimento','Fatura' as 'Tipo Documento'

DE OPCH T0 ONDE T0.[CreateDate]<=@Fecha1 E T0.[DocStatus]<>'C'

união tudo

SELECIONAR T0.[CardCode] AS 'Código do Fornecedor', T0.[CardName] AS 'Nome do Fornecedor', T0.[DocNum] AS 'Nro do Documento', T0.[DocDueDate] AS 'Data de Vencimento', - T0.[DocTotal] AS 'Total do Documento', T0.[PaidToDate] as 'Valor', (-T0.[DocTotal] - T0.[PaidToDate]) as 'Pendente a Pagar', DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1 AS 'Dias', CASO QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<0 ENTÃO 'Vencido' QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1>=0 E DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<=30 ENTÃO '30 Dias' QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1>30 E DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<=60 ENTÃO '60 Dias' QUANDO DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1>60 E DATEDIFF(DAY, LEFT(CONVERT(VARCHAR, T0.[DocDueDate], 102), 10), LEFT(CONVERT(VARCHAR, GETDATE() , 102), 10)) -1<=90 ENTÃO '90 Dias' QUANDO DATED

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Gostaria muito e seria útil como um guia para que outros possam realizá-lo. Além disso, me obrigaria a aprender Crystal Report, já que nunca o utilizei... Obrigado!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Se desejar, posso enviar-lhe um relatório em Crystal que faça o que precisa.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá David,

Por que não o transforma em um relatório do Crystal Report? Lá você pode fazer subtotais e o que precisar.

Saudações,

Tere

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá David,

Por que não utiliza a consulta "Antiguidade do fornecedor" do padrão, indicando o intervalo em "Dias" e "30"?

Cumprimentos,

Tere

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?