Tenho uma pagina que gera um codigo O.S. e neste eu posso criar vários produtos neste mesmo numero de CÓDIGO.
Quando vou colocar as informações de produto e a quantidade eu clico em GRAVAR ele altera as informações que coloquei neste formulario e grava tudo certinho, só que preciso fazer uma pagina do estoque, conforme vou colocando os produtos ele dando baixa na quantidade de estoque.
Segue o código da pagina que altero com uma parte aonde dou baixa, so que toda vez que vou clicar no botão GRAVAR ele da baixa mais de 1 vez na quantidade de estoque.
Pergunta
PRWEBMaster
Tudo bem pessoal
Tenho uma pagina que gera um codigo O.S. e neste eu posso criar vários produtos neste mesmo numero de CÓDIGO.
Quando vou colocar as informações de produto e a quantidade eu clico em GRAVAR ele altera as informações que coloquei neste formulario e grava tudo certinho, só que preciso fazer uma pagina do estoque, conforme vou colocando os produtos ele dando baixa na quantidade de estoque.
Segue o código da pagina que altero com uma parte aonde dou baixa, so que toda vez que vou clicar no botão GRAVAR ele da baixa mais de 1 vez na quantidade de estoque.
id_cliente = request.QueryString("id_cliente")
nome_empresa = request.QueryString("nome_empresa")
num_os = request.QueryString("no_os")
'Função para remover caracteres especiais dos números
Function RemoveReal(valor)
if (valor <> "") then
RemoveReal = Replace(valor, ".", ",") 'Troca vírgula por ponto
end if
End Function
id_ch = request.QueryString("id_ch")
id_cliente = request.QueryString("id_cliente")
num_os = request.QueryString("no_os")
id = request.QueryString("id")
nome_empresa = request.QueryString("nome_empresa")
descricao = request.QueryString("descricao")
sistema = request.QueryString("sistema")
gerar_of_om = request.QueryString("gerar_of_om")
descricao = Request.Form("descricao")
departamento = Request.Form("departamento")
situacao_of_om = Request.Form("situacao_of_om")
equipamento = Request.Form("equipamento")
gerar_cob = Request.Form("gerar_cob")
solicitado_por = Request.Form("solicitado_por")
urgente = Request.Form("opt")
separado = Request.Form("opt10")
fechado_por = Request.Form("fechado_por")
v_unitario = RemoveReal(Request.Form("v_unitario"))
v_total = RemoveReal(Request.Form("v_total"))
valor_total = RemoveReal(Request.Form("valor_total"))
sub_total = RemoveReal(Request.form("sub_total"))
custo_envio = RemoveReal(Request.form("custo_envio"))
outros = RemoveReal(Request.form("outros"))
total_geral = RemoveReal(Request.form("total_geral"))
transporte = Request.form("transporte")
outras = Request.form("outras")
observacoes = Replace(Request.form("observacoes"),"'","''")
tipo_coleta = Request.form("opt2")
quant_entregue = Request.form("quant_entregue")
data_entregue = Request.form("data_entregue")
quant_entregue = Request.form("quant_entregue")
prod_pendente = Request.QueryString("prod_pendente")
prod_pago = Request.QueryString("prod_pago")
desconto = Request.form("desconto")
data_saida = Request.Form("data_saida")
'Conexao tabela INTERBASE
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Firebird/Interbase® driver}; DBNAME=localhost:c:\Inetpub\wwwroot\sistema_interno_hcs_v.1.0\bd\BD_HCS.GDB; UID=SYSDBA;PWD=masterkey")
'Verificando quantidade de registros
Set os = server.createobject("adodb.recordset")
Set os = oConn.execute ("SELECT COUNT(*) AS temp FROM TB_GERAR_OF_OM_CAD_ITENS")
if (os.eof) then
set os = nothing
set os = oConn.execute ("select * from TB_GERAR_F_M_C_I where id = '"&id&"'")
end if
num_rows = os("temp")
os.Close()
for i = 1 to num_rows
id = Request.form("id_"&i)
quant = Request.form("quant_"&i)
quant_entregue = Request.form("quant_entregue_"&i)
data_entregue = Request.form("data_entregue_"&i)
quant_pendente = Request.form("quant_pendente_"&i)
equipamento = Request.form("equipamento_"&i)
obs_prod = Request.form("obs_prod_"&i)
v_unitario = RemoveReal(Request.form("v_unitario_"&i))
v_total = RemoveReal(Request.form("v_total_"&i))
valor_total = RemoveReal(Request.form("valor_total_"&i))
prod_pendente = Request.form("opt1_"&i)
prod_pago = Request.form("prod_pago_"&i)
usuario_altera = session("usuario_altera")
ip_altera = Request.ServerVariables("REMOTE_ADDR")
set os = oConn.execute ("select * from TB_GERAR_OF_OM_CAD_ITENS where id = '"&id&"'")
if not os.eof then
if prod_pendente = "" then
prod_pendente = "0"
else
prod_pendente = "1"
end if
Aqui está o codigo que da baixa no estoque:
'SELECIONE CODIGO DO PRODUTO (NO_OS DA TB_GERENCIAR_PRODUCAO E GRAVA NO_OS NO CAMPO ID_PRODUTO DA TABELA TB_GERAR_OF_OM_CAD_ITENS)
set estoque = oConn.execute ("select * from TB_GERENCIAR_PRODUCAO where equipamento = '"&equipamento&"'")
if not (estoque.eof) then
'Obtem campo com a quantidade atual do estoque
quant_atual_estoque = estoque("quant_estoque")
'Faz a subtração do valor gravado pelo valor obtido do estoque
nova_quant_estoque = quant_atual_estoque - quant
'Faz UPDATE na tabela do estoque com a nova quantidade
oConn.execute("update TB_GERENCIAR_PRODUCAO set quant_estoque = '"&nova_quant_estoque&"' where EQUIPAMENTO = '"&equipamento&"'")
end if
'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD_ITENS'
oConn.execute ("update TB_GERAR_OF_OM_CAD_ITENS Set situacao_of_om = '"&situacao_of_om&"', descricao = '"&descricao&"', solicitado_por = '"&solicitado_por&"', departamento = '"&departamento&"', urgente = '"&urgente&"',equipamento = '"&equipamento&"', quant = '"&quant&"', obs_prod = '"&obs_prod&"', v_unitario = '"&v_unitario&"', v_total = '"&v_total&"', sub_total = '"&sub_total&"', custo_envio = '"&custo_envio&"', outros = '"&outros&"', total_geral = '"&total_geral&"', transporte = '"&transporte&"', outras = '"&outras&"', observacoes = '"&observacoes&"', tipo_coleta = '"&tipo_coleta&"', quant_entregue = '"&quant_entregue&"', data_entregue = '"&data_entregue&"', quant_pendente = '"&quant_pendente&"', prod_pendente = '"&prod_pendente&"', prod_pago = '"&prod_pago&"', separado = '"&separado&"', desconto = '"&desconto&"', data_saida = '"&data_saida&"' WHERE id = " & cdbl(id))
set os1 = oConn.execute ("select * from TB_GERAR_F_M_C_I where id = '"&id&"'")
'Atualiza informaçoes no INTERBASE 'TB_GERAR_F_M_C_I'
oConn.execute ("update TB_GERAR_F_M_C_I Set situacao_of_om = '"&situacao_of_om&"', descricao = '"&descricao&"', solicitado_por = '"&solicitado_por&"', departamento = '"&departamento&"', urgente = '"&urgente&"',equipamento = '"&equipamento&"', quant = '"&quant&"', obs_prod = '"&obs_prod&"', v_unitario = '"&v_unitario&"', v_total = '"&v_total&"', sub_total = '"&sub_total&"', custo_envio = '"&custo_envio&"', outros = '"&outros&"', total_geral = '"&total_geral&"', transporte = '"&transporte&"', outras = '"&outras&"', observacoes = '"&observacoes&"', tipo_coleta = '"&tipo_coleta&"', quant_entregue = '"&quant_entregue&"', data_entregue = '"&data_entregue&"', quant_pendente = '"&quant_pendente&"', prod_pendente = '"&prod_pendente&"', prod_pago = '"&prod_pago&"', separado = '"&separado&"', desconto = '"&desconto&"', data_saida = '"&data_saida&"' WHERE id = " & cdbl(id))
'Atualiza informaçoes no INTERBASE 'TB_GERAR_OF_CAD'
oConn.execute ("update TB_GERAR_OF_OM_CAD Set situacao_of_om = '"&situacao_of_om&"', solicitado_por = '"&solicitado_por&"', descricao = '"&descricao&"', departamento = '"&departamento&"', urgente = '"&urgente&"', total_geral = '"&total_geral&"', tipo_coleta = '"&tipo_coleta&"', separado = '"&separado&"', data_saida = '"&data_saida&"' WHERE no_os = "&Request.QueryString("no_os"))
set os2 = oConn.execute ("select * from TB_GERAR_F_M_C where no_os = '"&no_os&"'")
'Atualiza informaçoes no INTERBASE 'TB_GERAR_F_M_C'
oConn.execute ("update TB_GERAR_F_M_C Set situacao_of_om = '"&situacao_of_om&"', solicitado_por = '"&solicitado_por&"', descricao = '"&descricao&"', departamento = '"&departamento&"', urgente = '"&urgente&"', total_geral = '"&total_geral&"', tipo_coleta = '"&tipo_coleta&"', separado = '"&separado&"', data_saida = '"&data_saida&"' WHERE no_os = "&Request.QueryString("no_os"))
else
end if
next
set os = nothing
set os1 = nothing
set os2 = nothing
ato = request.Form("opt3")
dd10 = request.Form("opt12")
dd15 = request.Form("opt4")
dd30 = request.Form("opt5")
dd45 = request.Form("opt6")
dd60 = request.Form("opt7")
dd75 = request.Form("opt14")
dd90 = request.Form("opt8")
dd120 = request.Form("opt9")
dd135 = request.Form("opt13")
dd150 = request.Form("opt11")
forma_pagto = request.Form("forma_pagto")
data_venc_pagto = Request.Form("data_venc_pagto")
valor_pagto = Request.Form("valor_pagto")
anotacao1 = Request.Form("anotacao1")
numeracao = Request.Form("numeracao")
banco = Request.Form("banco")
cliente = Request.Form("cliente")
agencia = Request.Form("agencia")
Function conv_data(data_venc_pagto)
dia = day(data_venc_pagto)
if len(dia) < 2 then
dia = "0" & dia
end if
mes = month(data_venc_pagto)
if len(mes) < 2 then
mes = "0" & mes
end if
ano = year(data_venc_pagto)
conv_data = dia & "." & mes & "." & ano
End Function
data_venc_pagto = conv_data(data_venc_pagto)
'Verificando quantidade de registros
Set campos = server.createobject("adodb.recordset")
Set campos = oConn.execute ("SELECT COUNT(*) AS temp FROM TB_INFO_PAGTO")
num_rows = campos("temp")
campos.Close()
for i = 1 to num_rows
id_ch = Request.form("id_ch_"&i)
data_venc_pagto = Request.form("data_venc_pagto_"&i)
forma_pagto = Request.form("forma_pagto_"&i)
anotacao1 = Request.form("anotacao1_"&i)
valor_pagto = Request.form("valor_pagto_"&i)
numeracao = Request.form("numeracao_"&i)
banco = Request.form("banco_"&i)
cliente = Request.form("cliente_"&i)
agencia = Request.form("agencia_"&i)
'Atualiza informaçoes no INTERBASE 'TB_CAD_CHEQUES_OF'
oConn.execute ("update TB_INFO_PAGTO Set ato = '"&ato&"', dd10 = '"&dd10&"', dd15 = '"&dd15&"', dd30 = '"&dd30&"', dd45 = '"&dd45&"', dd60 = '"&dd60&"', dd75 = '"&dd75&"', dd90 = '"&dd90&"', dd120 = '"&dd120&"', dd135 = '"&dd135&"', dd150 = '"&dd150&"', forma_pagto = '"&forma_pagto&"', data_venc_pagto = '"&conv_data(data_venc_pagto)&"', valor_pagto = '"&valor_pagto&"', valor_pago = '0', anotacao1 = '"&anotacao1&"', numeracao = '"&numeracao&"', banco = '"&banco&"', cliente = '"&cliente&"', agencia = '"&agencia&"' WHERE id_ch = " & cdbl(id_ch))
next
set campos = nothing
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.