Caixa , entradas ,saidas e saldo
ola Rodrigo Dr Rodrigo , no video esqueci de mensionar a procedure mas e a mesma que te enviei
CREATE PROCEDURE DBO.PRS_CONSULTA_CAIXA_PERIODO(
@PSdtDataInicial SMALLDATETIME,
@PSdtDataFinal SMALLDATETIME
)
AS
BEGIN
SET NOCOUNT ON;
SELECT
RIGHT(CONVERT(VARCHAR,A.DT_LANCAMENTO),6) AS HORA,
B.DS_TIPO_LANCAMENTO,
A.VL_LANCAMENTO,
A.NR_MATRICULA,
A.Dt_Lancamento,
D.Nm_Usuario
FROM TB_MOVIMENTACAO_CAIXA AS A
INNER JOIN TB_TIPO_LANCAMENTO AS B
ON A.ID_TIPO_LANCAMENTO=B.ID_TIPO_LANCAMENTO
INNER JOIN TB_ABERTURA_CAIXA AS C
ON A.ID_ABERTURA_CAIXA=C.ID_ABERTURA_CAIXA
INNER JOIN TB_USUARIO AS D
ON C.CD_USUARIO=D.CD_USUARIO
WHERE (A.DT_LANCAMENTO BETWEEN @PSdtDataInicial AND @PSdtDataFinal)
END
como fazer o saldo liquido do caixa ou seja entradas menos as saidas ???????????????????
[#VIDEO-36#]
[#VIDEO-36#]
Carlos Faria
Curtidas 0
Respostas
Rodrigo Mourão
02/12/2008
Olá Carlos antes de gravar a video como você solicita eu preciso de mais algumas informações. Se puder mostar numa outra video agradeço.
Eu preciso saber como esta sua tabela de caixa, onde você gaurda os dados pois la deverá haver, se já não há, um campo com um flag (C ou D) por exemplo para credito e Debito.
Assim poderemos fazer uma totalização dos valores.
Ficarei no aguardo !
abs !!
GOSTEI 0
Rodrigo Mourão
02/12/2008
Carlos, Alguma novidade ??? Consegue me passar as informações acima ainda hoje ???
Estamos no aguardo !!!
abs !!!
Estamos no aguardo !!!
abs !!!
GOSTEI 0
Carlos Faria
02/12/2008
sim te passo hoje ainda,ontem eu imendei a noite com o dia e hoje dormi demais
ja ja te envio todas as informaçoes
GOSTEI 0
Carlos Faria
02/12/2008
fiz um video tentanto mostrar melhor a estrutura do banco , as tabelas relacionais
[#VIDEO-41#]
[#VIDEO-41#]
GOSTEI 0
Rodrigo Mourão
02/12/2008
Ok Carlos, vou dar uma olhada !!!
GOSTEI 0
Carlos Faria
02/12/2008
da uma olhada nessa video talves esteja resolvido o meu problema ! nao vou contar vitoria antes da hora mais se estiver correto vc pode encerrar o chamado !!
se estiver mau feito o serviço nao deixe de comentar , se for preciso eu refaço ate ficar feito de maneira correta !
esta e a nova stored procedure que eu criei
-- =============================================
-- Author: Regis
-- Create date: 04/12/2008
-- Description: Consulta no caixa por período
-- =============================================
alter PROCEDURE DBO.PRS_CONSULTA_CAIXA_RELATORIO(
@PSdtDataInicial SMALLDATETIME,
@PSdtDataFinal SMALLDATETIME
)
AS
BEGIN
SET NOCOUNT ON;
SELECT
RIGHT(CONVERT(VARCHAR,A.DT_LANCAMENTO),6) AS HORA,
B.DS_TIPO_LANCAMENTO,
A.VL_LANCAMENTO,
A.NR_MATRICULA,
D.Nm_Usuario,
VL_DESPESA = CASE B.Fl_Receita WHEN 1 THEN 0 ELSE A.VL_LANCAMENTO END,
VL_RECEITA = CASE B.Fl_Receita WHEN 1 THEN A.VL_LANCAMENTO ELSE 0 END,
VL_SALDO = CASE B.Fl_Receita WHEN 1 THEN A.VL_LANCAMENTO ELSE 0 END -CASE B.Fl_Receita WHEN 1 THEN 0 ELSE A.VL_LANCAMENTO END,
B.Fl_Receita
FROM TB_MOVIMENTACAO_CAIXA AS A
INNER JOIN TB_TIPO_LANCAMENTO AS B
ON A.ID_TIPO_LANCAMENTO=B.ID_TIPO_LANCAMENTO
INNER JOIN TB_ABERTURA_CAIXA AS C
ON A.ID_ABERTURA_CAIXA=C.ID_ABERTURA_CAIXA
INNER JOIN TB_USUARIO AS D
ON C.CD_USUARIO=D.CD_USUARIO
WHERE (A.DT_LANCAMENTO BETWEEN @PSdtDataInicial AND @PSdtDataFinal)
END
[#VIDEO-42#]
[#VIDEO-42#]
GOSTEI 0
Rodrigo Mourão
02/12/2008
Calos a vídeo não foi cadastrada corretamente !!!
No aguardo !!!
No aguardo !!!
GOSTEI 0
Rodrigo Mourão
02/12/2008
Carlos, a estou no aguardo da video para analisar.
abs !!!
GOSTEI 0
Carlos Faria
02/12/2008
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- =============================================
-- Author: Regis
-- Create date: 04/12/2008
-- Description: Consulta no caixa por período
-- =============================================
CREATE PROCEDURE DBO.PRS_CONSULTA_CAIXA_RELATORIO(
@PSdtDataInicial SMALLDATETIME,
@PSdtDataFinal SMALLDATETIME
)
AS
BEGIN
SET NOCOUNT ON;
SELECT
RIGHT(CONVERT(VARCHAR,A.DT_LANCAMENTO),6) AS HORA,
B.DS_TIPO_LANCAMENTO,
A.VL_LANCAMENTO,
A.NR_MATRICULA,
D.Nm_Usuario,
VL_DESPESA = CASE B.Fl_Receita WHEN 1 THEN 0 ELSE A.VL_LANCAMENTO END,
VL_RECEITA = CASE B.Fl_Receita WHEN 1 THEN A.VL_LANCAMENTO ELSE 0 END,
VL_SALDO = CASE B.Fl_Receita WHEN 1 THEN A.VL_LANCAMENTO ELSE 0 END -CASE B.Fl_Receita WHEN 1 THEN 0 ELSE A.VL_LANCAMENTO END,
B.Fl_Receita
FROM TB_MOVIMENTACAO_CAIXA AS A
INNER JOIN TB_TIPO_LANCAMENTO AS B
ON A.ID_TIPO_LANCAMENTO=B.ID_TIPO_LANCAMENTO
INNER JOIN TB_ABERTURA_CAIXA AS C
ON A.ID_ABERTURA_CAIXA=C.ID_ABERTURA_CAIXA
INNER JOIN TB_USUARIO AS D
ON C.CD_USUARIO=D.CD_USUARIO
WHERE (A.DT_LANCAMENTO BETWEEN @PSdtDataInicial AND @PSdtDataFinal)
END
[#VIDEO-42#]
[#VIDEO-42#]
GOSTEI 0
Carlos Faria
02/12/2008
Eu esperei que vc respondesse o chamado hoje nao aconteceu , nao tem problema eu venho aqui amanha as 18:00 ok
GOSTEI 0
Rodrigo Mourão
02/12/2008
Olá Carlos, vejo que seu raciocínio lógico e muito bom. Perguntei do flag pois era justamente o que eu faria.
Esta correto sim o que você fez, há também outras formas de obter o mesmo resultado como utilizar um union no seu select que está na procedure.
Porém sua abordagem está correta sim !!!
Grande abraço, ficarei no aguardo para podermos encerrar o chamado !!!
GOSTEI 0
Carlos Faria
02/12/2008
Pode chamar o chamado professor
GOSTEI 0