Ir para conteúdo
Fórum Script Brasil
  • 0

Campo=Campo + ValorQualquer...


Guest --well --

Pergunta

Guest --well --

Olá a todos, venho por meio deste tópico tentar esclarecer uma dúvida.

Estou trabalhando para uma fábrica e desenvolvendo um sistema pra mesma.

Tentarei esclarecer simplificadamente como funciona este sistema:

O sistema permite a um funcionário arbitrário realizar pedido(s) no sistema.

Ao realizar o pedido, o usuário preenche Nome do Cliente, Data Emissão, Desconto, Transportadora, ICMS, etc...(Dados para preenchimento da Nota Fiscal)

Então seleciona os Produtos que vai compor o pedido, e

digita respectivamente as QTDES de cada produto selecionado...

ex:

ProdutoTal, Qtde: (500), Valor: R$1,00, Sub-Total: R$500,00

OutroProdutoTal, Qtde: (600), Valor: R$1,00, Sub-Total: R$600,00

Total: R$1100,00

Assim é calculado automaticamente, os valores de cada produto e consecutivamente o VALOR TOTAL do PEDIDO

e Pronto !

Até esta etapa tudo OK !

Assim é inserido um registro na Tabela Pedido com as principais informações do pedido como NumeroPedido,DataEmissão,..., Total

E também é inserido N registros na Tabela Detalhe_Pedido..

Esta tabela contém os seguintes dados:

Número Pedido, IdProduto, Qtde

Ou seja, é inserido a quantidade das peças digitadas com a ID do respectivo Produto e o número do Pedido, no qual foi selecionado aqueles produtos...

Até esta etapa tudo OK !

Acontece que eu tenho uma Tabela Denominada PRODUTO, nela é contido os seguintes dados:

o nome do produto, ref, custo, foto, e o dado mais principal QtdeEmESTOQUE

Então há uma Tela no sistema aonde eu Retiraria as peças do Estoque de acordo com a saída do PEDIDO..

Eu uso o seguinte código:

Set rs_detped = conexao.execute("Select idprod,cor1,cor2,cor3,cor4,cor5,cor6,cor7,cor8 from det_pedido where idpedido = '"&numeropedido&"' ")

Do While no rs_detped.eof

id_prod = rs_detped("idprod")

qtd1 = rs_detped("cor1")

qtd2 = rs_detped("cor2")

qtd3 = rs_detped("cor3")

qtd4 = rs_detped("cor4")

qtd5 = rs_detped("cor5")

qtd6 = rs_detped("cor6")

qtd7 = rs_detped("cor7")

qtd8 = rs_detped("cor8")

conexao.execute(UPDATE prod_estoque SET est1=est1-"&qtd1&", est2=est2-"&qtd2&", est3=est3-"&qtd3&", est4=est4-"&qtd4&", est5=est5-"&qtd5&", est6=est6-"&qtd6&", est7=est7-"&qtd7&", est8=est8-"&qtd8&", WHERE idestq = '"&id_prod&"')

res_detped.movenext

Loop

O cadastro do produto na verdade possui 8 campos de estoques denominados EST1,..., EST8

O detalhe do pedido na verdade possui 8 campos de qtdes do produto selecionado COR1,...,COR8

Antes expliquei mais resumidamente para simplificar...

Até esta etapa PARECE estar tudo OK !

Eu testando neste momento funciona tudo normalmente, a pergunta é a seguinte este procedimento de:

CAMPO = CAMPO - variavelQualquer está correto ???

Coloquei o sitema pra funcionar, com dezenas de funcionários utilizando, o Estoque começa apresentar

dados errados...

Alguém poderia me dizer se há problema usar este código quando o sistema é multi-usuário ???

Ou se existe outra forma de fazer isso ???

Agradeço desde já

Att

Well

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, Well!

Desculpe a demora na resposta.

Eu testando neste momento funciona tudo normalmente, a pergunta é a seguinte este procedimento de:

CAMPO = CAMPO - variavelQualquer está correto ???

Resposta Sim. É a prática utilizada.

Coloquei o sitema pra funcionar, com dezenas de funcionários utilizando, o Estoque começa apresentar

dados errados...

Alguém poderia me dizer se há problema usar este código quando o sistema é multi-usuário ???

Resposta: Não posso dizer sem analisar melhor.

Modelos de dados errados e falhas de programação, tais como falhas no controle de concorrencia de gravação de dados) são exemplos que certamente causarão inconsistência nos dados).

Ou se existe outra forma de fazer isso ???
Sim. Observação da regras de normalização, aplicação correta de constraints e programação que observe as regras de gravação em ambientes multiusuários, são as metodologias indicadas para evitar tais falhas.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...