Atualizando estoque em tabela de movimentação de produtos
Bom dia galera,
Estou com um problema para atualizar o estoque em uma tabela minha de movimentação de produtos.
A minha dúvida é que nela eu faço várias operações com os meus produtos tais como:
Entrada, Saída, devolução do cliente, devolução do fornecedor, perda e consumo interno.
Algumas operações são de inclusão no estoque e outras são de retirada de estoque!
Só que a minha dúvida é a seguinte em uma tabela master detail onde master é a movimentação e o detalhe são os itens como eu vou fazer isso?
Porque se eu incluir 10 produtos e clicar no cancelar do master ele cancela todos os meus itens e vai dar baixa no estoque.
Estou com um problema para atualizar o estoque em uma tabela minha de movimentação de produtos.
A minha dúvida é que nela eu faço várias operações com os meus produtos tais como:
Entrada, Saída, devolução do cliente, devolução do fornecedor, perda e consumo interno.
Algumas operações são de inclusão no estoque e outras são de retirada de estoque!
Só que a minha dúvida é a seguinte em uma tabela master detail onde master é a movimentação e o detalhe são os itens como eu vou fazer isso?
Porque se eu incluir 10 produtos e clicar no cancelar do master ele cancela todos os meus itens e vai dar baixa no estoque.
Nícolas Braz
Curtidas 0
Respostas
Leandro Chiodini
03/01/2014
Boa Dia Lucas.
O correto é você fazer a opção de cancelar um produto no detalhe dele,
assim mostraria o master, e cada detalhe com seu botao de cancelar,
assim sendo quando você cancelar um unico produto, as alterações necesarias seriam feitas somente naquele produto,.
nesta linha, somente o filho seria atualizado.
att,
Leandro
O correto é você fazer a opção de cancelar um produto no detalhe dele,
assim mostraria o master, e cada detalhe com seu botao de cancelar,
assim sendo quando você cancelar um unico produto, as alterações necesarias seriam feitas somente naquele produto,.
nesta linha, somente o filho seria atualizado.
att,
Leandro
GOSTEI 0
Nícolas Braz
03/01/2014
Boa Dia Lucas.
O correto é você fazer a opção de cancelar um produto no detalhe dele,
assim mostraria o master, e cada detalhe com seu botao de cancelar,
assim sendo quando você cancelar um unico produto, as alterações necesarias seriam feitas somente naquele produto,.
nesta linha, somente o filho seria atualizado.
att,
Leandro
O correto é você fazer a opção de cancelar um produto no detalhe dele,
assim mostraria o master, e cada detalhe com seu botao de cancelar,
assim sendo quando você cancelar um unico produto, as alterações necesarias seriam feitas somente naquele produto,.
nesta linha, somente o filho seria atualizado.
att,
Leandro
Bom dia,
Então o meu relacionamento é master detail com dbexpress! O meu salvar e excluir eu não dou um applyupdates por isso que quando ele clica no cancelar do master ele acaba voltando tudo.
GOSTEI 0
Leandro Chiodini
03/01/2014
Se quiser tenta postar uma imagem de como ficou a tela,
para ver o conceito dela, e tentar te ajudar.
att,
chiodini
para ver o conceito dela, e tentar te ajudar.
att,
chiodini
GOSTEI 0
Nícolas Braz
03/01/2014
Vamos lá!
Aqui eu clico no meu incluir.
http://imageshack.us/photo/my-images/837/dn9x.jpg/
Lancei 3 produtos na minha movimentação.
http://imageshack.us/photo/my-images/849/ger3.jpg/
Deletei 2 produtos.
http://imageshack.us/photo/my-images/194/c0dm.jpg/
Cliquei em cancelar e abri novamente o registro.
http://imageshack.us/photo/my-images/845/f74i.jpg/
Dai eles voltam!
Mas eles voltam porque é um relacionamento master detail até ai tudo bem! Porque no meu deletar eu não posso dar um applyupdates porque se não ele faz o apply para as duas tabelas. :(
Aqui eu clico no meu incluir.
http://imageshack.us/photo/my-images/837/dn9x.jpg/
Lancei 3 produtos na minha movimentação.
http://imageshack.us/photo/my-images/849/ger3.jpg/
Deletei 2 produtos.
http://imageshack.us/photo/my-images/194/c0dm.jpg/
Cliquei em cancelar e abri novamente o registro.
http://imageshack.us/photo/my-images/845/f74i.jpg/
Dai eles voltam!
Mas eles voltam porque é um relacionamento master detail até ai tudo bem! Porque no meu deletar eu não posso dar um applyupdates porque se não ele faz o apply para as duas tabelas. :(
GOSTEI 0
Leandro Chiodini
03/01/2014
O teu cancelar
da um rollback
por isso que eles voltam
provavelmente.
da um rollback
por isso que eles voltam
provavelmente.
GOSTEI 0
Nícolas Braz
03/01/2014
Sim, é que pelo menos do jeito que eu aprendi a fazer master detail com dbexpress o master que dá o applyupdates! Poderia me dizer como reverter isso? Porque se eu dou um applyupdates no detail ele acontece também no master.
GOSTEI 0
Leandro Chiodini
03/01/2014
Segue esse video
que fala muito sobre esse assunto.
veja se te ajuda
http://cc.embarcadero.com/author/795118
que fala muito sobre esse assunto.
veja se te ajuda
http://cc.embarcadero.com/author/795118
GOSTEI 0
Nícolas Braz
03/01/2014
Vou assistir.
GOSTEI 0
Nícolas Braz
03/01/2014
Ops! Abriu vários vídeos qual seria?
GOSTEI 0
Leandro Chiodini
03/01/2014
To sem acesso aqui,
tenho isso na minha base de conhecimento.
mais procura ai por DbExpress
att,
chiodini
tenho isso na minha base de conhecimento.
mais procura ai por DbExpress
att,
chiodini
GOSTEI 0
Nícolas Braz
03/01/2014
Teria mais alguma informação? Achei uns 4,5 vídeos com dbexpress.
GOSTEI 0
Leandro Chiodini
03/01/2014
Algo relacionado com
Mestre/Detail
Tsimpledataset
FDD 2008
att
Mestre/Detail
Tsimpledataset
FDD 2008
att
GOSTEI 0
Nícolas Braz
03/01/2014
Com master/detail achei só 1.
ClientDataSet Master Detail With 3 Tables - Delphi 2010
ClientDataSet Master Detail With 3 Tables - Delphi 2010
GOSTEI 0
João Françozo
03/01/2014
BOA TARDE NICOLAS.
TEM COMO FAZER POR TRIGGER NO BANCO DE DADOS, COMO VOCÊ JÁ TEM A TABELA DE SALDOS CRIADOS, FICA FACIL DE FAZER.
ABAIXO UMA TRIGGER QUE USO PARA FAZER ESSAS OPERAÇÕES, VAI VERIFICAR O PARAMETRO DE CONFIGURAÇÃO DE CADA OPERAÇÃO, ESSA É DE INSERT AI TEM QUE FAZER DE DELETE E UPDATE.
UPDATE TBPRODUTOSALDO SET
SALDO_PRI = SALDO_PRI + ISNULL(QTDE_PRI, 0),
SALDO_AUX = SALDO_AUX + ISNULL(QTDE_AUX, 0),
SALDO_COMPRA_PEND = SALDO_COMPRA_PEND + ISNULL(QTDE_COMPRA_PEND, 0),
SALDO_VENDA_PEND = SALDO_VENDA_PEND + ISNULL(QTDE_VENDA_PEND, 0),
SALDO_V1 = SALDO_V1 + ISNULL(QTDE_SALDO_V1, 0),
SALDO_V2 = SALDO_V2 + ISNULL(QTDE_SALDO_V2, 0),
SALDO_V3 = SALDO_V3 + ISNULL(QTDE_SALDO_V3, 0),
SALDO_V4 = SALDO_V4 + ISNULL(QTDE_SALDO_V4, 0),
SALDO_V5 = SALDO_V5 + ISNULL(QTDE_SALDO_V5, 0)
FROM
(SELECT COD_FILIAL, COD_LOCAL, COD_PRODUTO, COD_REF, NUM_LOTE,
SUM(CASE
WHEN ATLZ_SALDO_PRI = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_PRI = 'DP' THEN -ISNULL(QTDE_PRI,0)
ELSE 0
END) AS QTDE_PRI,
SUM(CASE
WHEN ATLZ_SALDO_AUX = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_AUX = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_AUX,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_COMPRA_PEND,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_VENDA_PEND,
SUM(CASE
WHEN ATLZ_SALDO_V1 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V1 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V1,
SUM(CASE
WHEN ATLZ_SALDO_V2 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V2 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V2,
SUM(CASE
WHEN ATLZ_SALDO_V3 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V3 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V3,
SUM(CASE
WHEN ATLZ_SALDO_V4 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V4 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V4,
SUM(CASE
WHEN ATLZ_SALDO_V5 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V5 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V5
FROM INSERTED WHERE ATLZ_ESTOQUE='S'
GROUP BY COD_FILIAL, COD_LOCAL, COD_PRODUTO, COD_REF, NUM_LOTE) NOVO INNER JOIN TBPRODUTOSALDO TS
ON NOVO.COD_FILIAL = TS.COD_FILIAL AND
NOVO.COD_LOCAL = TS.COD_LOCAL AND
NOVO.COD_PRODUTO = TS.COD_PRODUTO AND
NOVO.COD_REF = TS.COD_REF AND
NOVO.NUM_LOTE = TS.NUM_LOTE
IF @@ROWCOUNT <> @QTD
BEGIN
INSERT INTO TBPRODUTOSALDO (COD_FILIAL,COD_LOCAL,COD_PRODUTO,COD_REF,NUM_LOTE,
SALDO_PRI,SALDO_AUX,SALDO_COMPRA_PEND,SALDO_VENDA_PEND,SALDO_V1,SALDO_V2,SALDO_V3,SALDO_V4,SALDO_V5)
SELECT DISTINCT
NOVO.COD_FILIAL, NOVO.COD_LOCAL, NOVO.COD_PRODUTO, NOVO.COD_REF, NOVO.NUM_LOTE,
SUM(CASE
WHEN ATLZ_SALDO_PRI = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_PRI = 'DP' THEN -ISNULL(QTDE_PRI,0)
ELSE 0
END) AS QTDE_PRI,
SUM(CASE
WHEN ATLZ_SALDO_AUX = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_AUX = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_AUX,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_COMPRA_PEND,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_VENDA_PEND,
SUM(CASE
WHEN ATLZ_SALDO_V1 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V1 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V1,
SUM(CASE
WHEN ATLZ_SALDO_V2 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V2 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V2,
SUM(CASE
WHEN ATLZ_SALDO_V3 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V3 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V3,
SUM(CASE
WHEN ATLZ_SALDO_V4 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V4 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V4,
SUM(CASE
WHEN ATLZ_SALDO_V5 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V5 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V5
FROM INSERTED NOVO LEFT OUTER JOIN TBPRODUTOSALDO TS
ON TS.COD_FILIAL = NOVO.COD_FILIAL AND
TS.COD_LOCAL = NOVO.COD_LOCAL AND
TS.COD_PRODUTO = NOVO.COD_PRODUTO AND
TS.COD_REF = NOVO.COD_REF AND
TS.NUM_LOTE = NOVO.NUM_LOTE
WHERE NOVO.ATLZ_ESTOQUE='S' AND TS.COD_FILIAL IS NULL
GROUP BY NOVO.COD_FILIAL, NOVO.COD_LOCAL, NOVO.COD_PRODUTO, NOVO.COD_REF, NOVO.NUM_LOTE
END
TEM COMO FAZER POR TRIGGER NO BANCO DE DADOS, COMO VOCÊ JÁ TEM A TABELA DE SALDOS CRIADOS, FICA FACIL DE FAZER.
ABAIXO UMA TRIGGER QUE USO PARA FAZER ESSAS OPERAÇÕES, VAI VERIFICAR O PARAMETRO DE CONFIGURAÇÃO DE CADA OPERAÇÃO, ESSA É DE INSERT AI TEM QUE FAZER DE DELETE E UPDATE.
UPDATE TBPRODUTOSALDO SET
SALDO_PRI = SALDO_PRI + ISNULL(QTDE_PRI, 0),
SALDO_AUX = SALDO_AUX + ISNULL(QTDE_AUX, 0),
SALDO_COMPRA_PEND = SALDO_COMPRA_PEND + ISNULL(QTDE_COMPRA_PEND, 0),
SALDO_VENDA_PEND = SALDO_VENDA_PEND + ISNULL(QTDE_VENDA_PEND, 0),
SALDO_V1 = SALDO_V1 + ISNULL(QTDE_SALDO_V1, 0),
SALDO_V2 = SALDO_V2 + ISNULL(QTDE_SALDO_V2, 0),
SALDO_V3 = SALDO_V3 + ISNULL(QTDE_SALDO_V3, 0),
SALDO_V4 = SALDO_V4 + ISNULL(QTDE_SALDO_V4, 0),
SALDO_V5 = SALDO_V5 + ISNULL(QTDE_SALDO_V5, 0)
FROM
(SELECT COD_FILIAL, COD_LOCAL, COD_PRODUTO, COD_REF, NUM_LOTE,
SUM(CASE
WHEN ATLZ_SALDO_PRI = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_PRI = 'DP' THEN -ISNULL(QTDE_PRI,0)
ELSE 0
END) AS QTDE_PRI,
SUM(CASE
WHEN ATLZ_SALDO_AUX = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_AUX = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_AUX,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_COMPRA_PEND,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_VENDA_PEND,
SUM(CASE
WHEN ATLZ_SALDO_V1 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V1 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V1,
SUM(CASE
WHEN ATLZ_SALDO_V2 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V2 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V2,
SUM(CASE
WHEN ATLZ_SALDO_V3 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V3 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V3,
SUM(CASE
WHEN ATLZ_SALDO_V4 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V4 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V4,
SUM(CASE
WHEN ATLZ_SALDO_V5 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V5 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V5
FROM INSERTED WHERE ATLZ_ESTOQUE='S'
GROUP BY COD_FILIAL, COD_LOCAL, COD_PRODUTO, COD_REF, NUM_LOTE) NOVO INNER JOIN TBPRODUTOSALDO TS
ON NOVO.COD_FILIAL = TS.COD_FILIAL AND
NOVO.COD_LOCAL = TS.COD_LOCAL AND
NOVO.COD_PRODUTO = TS.COD_PRODUTO AND
NOVO.COD_REF = TS.COD_REF AND
NOVO.NUM_LOTE = TS.NUM_LOTE
IF @@ROWCOUNT <> @QTD
BEGIN
INSERT INTO TBPRODUTOSALDO (COD_FILIAL,COD_LOCAL,COD_PRODUTO,COD_REF,NUM_LOTE,
SALDO_PRI,SALDO_AUX,SALDO_COMPRA_PEND,SALDO_VENDA_PEND,SALDO_V1,SALDO_V2,SALDO_V3,SALDO_V4,SALDO_V5)
SELECT DISTINCT
NOVO.COD_FILIAL, NOVO.COD_LOCAL, NOVO.COD_PRODUTO, NOVO.COD_REF, NOVO.NUM_LOTE,
SUM(CASE
WHEN ATLZ_SALDO_PRI = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_PRI = 'DP' THEN -ISNULL(QTDE_PRI,0)
ELSE 0
END) AS QTDE_PRI,
SUM(CASE
WHEN ATLZ_SALDO_AUX = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_AUX = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_AUX,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_CPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_COMPRA_PEND,
SUM(CASE
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='S' THEN ISNULL(QTDE_CMP,0)
WHEN SUBSTRING(ATLZ_SALDO_VPEND,1,1)='D' THEN -ISNULL(QTDE_CMP,0)
ELSE 0
END) AS QTDE_VENDA_PEND,
SUM(CASE
WHEN ATLZ_SALDO_V1 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V1 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V1 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V1,
SUM(CASE
WHEN ATLZ_SALDO_V2 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V2 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V2 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V2,
SUM(CASE
WHEN ATLZ_SALDO_V3 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V3 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V3 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V3,
SUM(CASE
WHEN ATLZ_SALDO_V4 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V4 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V4 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V4,
SUM(CASE
WHEN ATLZ_SALDO_V5 = 'SP' THEN ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'SA' THEN ISNULL(QTDE_AUX,0)
WHEN ATLZ_SALDO_V5 = 'DP' THEN -ISNULL(QTDE_PRI,0)
WHEN ATLZ_SALDO_V5 = 'DA' THEN -ISNULL(QTDE_AUX,0)
ELSE 0
END) AS QTDE_SALDO_V5
FROM INSERTED NOVO LEFT OUTER JOIN TBPRODUTOSALDO TS
ON TS.COD_FILIAL = NOVO.COD_FILIAL AND
TS.COD_LOCAL = NOVO.COD_LOCAL AND
TS.COD_PRODUTO = NOVO.COD_PRODUTO AND
TS.COD_REF = NOVO.COD_REF AND
TS.NUM_LOTE = NOVO.NUM_LOTE
WHERE NOVO.ATLZ_ESTOQUE='S' AND TS.COD_FILIAL IS NULL
GROUP BY NOVO.COD_FILIAL, NOVO.COD_LOCAL, NOVO.COD_PRODUTO, NOVO.COD_REF, NOVO.NUM_LOTE
END
GOSTEI 0
Leandro Chiodini
03/01/2014
procura por
FDD 2008
esse eh o cara
:D
FDD 2008
esse eh o cara
:D
GOSTEI 0
Nícolas Braz
03/01/2014
procura por
FDD 2008
esse eh o cara
:D
FDD 2008
esse eh o cara
:D
Vou assistir com calma depois em casa.
Muito obrigado.
GOSTEI 0
Nícolas Braz
03/01/2014
Eu sei que já passou um tempo mas eu já assisti a aula e não entendi como isso me ajudaria a resolver esse problema.
Se puder me ajudar agradeceria.
Se puder me ajudar agradeceria.
GOSTEI 0