FECHAMENTO DE VENDA GRAVAR PEDIDO E ITENS
Fala galera... tenho um sistema, atualmente funciona tudo certinho quando faço o fechamento do pedido eu tenho uma estrutura assim
- GRAVA PEDIDO (DATA, HORA, VALOR TOTAL, DESCONTOS) - vai gerar um numero do Pedido [Ô]CodPedido[Ô] autonumeração
- GRAVA ITENS ( DOU UM SELECT NO ULTIMO REGISTRO DO CodPedido E GRAVO OS ITENS COM AS INFORMAÇÕES DO ULTIMO REGISTRO DO PEDIDO)
- BAIXA ESTOQUE ( FUNÇÃO QUE BAIXA ESTOQUE)
- GRAVA PAGTO ( GRAVA AS FORMAS DE PAGAMENTO)
FINALIZA
Bem meu problema mesmo é na hora que o cliente fecha a venda ao mesmo tempo em um terminal diferente... oq acontece é que na hora q o cliente manda gravar o pedido, os 2 computador gera um codpedido, porém um acaba ignorando e grava no ultimo registro.
tipo um
Terminal 1 - CodPedido 10
Terminal 2 - CodPeiddo 11
Terminal 1 - Grava itens 11
Terminal 2 - Grava itens 11
acaba saindo produtos de um pedido em outro, da uma confusão isso... alguem ja passou por isso?
abraço
- GRAVA PEDIDO (DATA, HORA, VALOR TOTAL, DESCONTOS) - vai gerar um numero do Pedido [Ô]CodPedido[Ô] autonumeração
- GRAVA ITENS ( DOU UM SELECT NO ULTIMO REGISTRO DO CodPedido E GRAVO OS ITENS COM AS INFORMAÇÕES DO ULTIMO REGISTRO DO PEDIDO)
- BAIXA ESTOQUE ( FUNÇÃO QUE BAIXA ESTOQUE)
- GRAVA PAGTO ( GRAVA AS FORMAS DE PAGAMENTO)
FINALIZA
Bem meu problema mesmo é na hora que o cliente fecha a venda ao mesmo tempo em um terminal diferente... oq acontece é que na hora q o cliente manda gravar o pedido, os 2 computador gera um codpedido, porém um acaba ignorando e grava no ultimo registro.
tipo um
Terminal 1 - CodPedido 10
Terminal 2 - CodPeiddo 11
Terminal 1 - Grava itens 11
Terminal 2 - Grava itens 11
acaba saindo produtos de um pedido em outro, da uma confusão isso... alguem ja passou por isso?
abraço
Antes da rotina de gravação você chama a autonumeração?
Sim, na hora de gravar o pedido ele grava na autonumeração
depois só dou um select no ultimo registro da tabela Pedido e gravo o codigo (Autonumeração) que gerou no campo CodPedido na tabela ITENS
depois só dou um select no ultimo registro da tabela Pedido e gravo o codigo (Autonumeração) que gerou no campo CodPedido na tabela ITENS
Posta toda a rotina de gravação para apreciação do pessoal por favor
+ tarde eu posto, como não estou em casa agora nem dá, porém tenho q resumir tbm, pq tem mtas coisas e vou tentar resumir um pouco
mas o problema mesmo é na hora da venda q os 2 dão insert ao mesmo tempo na tabela de pedido e depois select para pegar o ultimo pedido
no sistema de vcs o numero do pedido é autonumeração ?
mas o problema mesmo é na hora da venda q os 2 dão insert ao mesmo tempo na tabela de pedido e depois select para pegar o ultimo pedido
no sistema de vcs o numero do pedido é autonumeração ?
Amigo, qual banco de bados,
Quando você dar o select ele vai pegar o ultimo registro não importando quem o fez, você pode usar o comando.
no SQL
@@IDENTITY
no mysql funciona o @@IDENTITY mas o mais indicado é o
Quando você gerar o pedido salva em uma váriavel pedido, quando for fechar use esta váriavel, em cada terminal ela vai ter o valor do seu respectivo terminal.
Quando você dar o select ele vai pegar o ultimo registro não importando quem o fez, você pode usar o comando.
no SQL
@@IDENTITY
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ([ô]Accountant[ô],12,125)
SELECT @@IDENTITY AS [ô]Identity[ô]
no mysql funciona o @@IDENTITY mas o mais indicado é o
SELECT LAST_INSERT_ID()
Quando você gerar o pedido salva em uma váriavel pedido, quando for fechar use esta váriavel, em cada terminal ela vai ter o valor do seu respectivo terminal.
Citação::
Amigo, qual banco de bados,
Quando você dar o select ele vai pegar o ultimo registro não importando quem o fez, você pode usar o comando.
no SQL
@@IDENTITY
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ([ô]Accountant[ô],12,125)
SELECT @@IDENTITY AS [ô]Identity[ô]
no mysql funciona o @@IDENTITY mas o mais indicado é o
SELECT LAST_INSERT_ID()
Quando você gerar o pedido salva em uma váriavel pedido, quando for fechar use esta váriavel, em cada terminal ela vai ter o valor do seu respectivo terminal.
Cara provavelmente é isso mesmo, hj a noite irei efetuar os testes e volto pra fechar o topico, por enquanto agradeço amigo :)
Tópico encerrado , respostas não são mais permitidas