MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Cancelamento de Venda e Repor Estoque

    Compartilhe

    fazerbem
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 05/03/2017

    [Resolvido]Cancelamento de Venda e Repor Estoque

    Mensagem  fazerbem em 6/6/2018, 03:49

    Eu aqui de novo.

    No codigo aqui apresentado, ao qual faz parte de meu PDV. Ele repoe meu Estoque de forma automatica ao ser cancelada a venda.
    Esta tudo certinho. Porem eu modifiquei todo o PDV e criri no cadastro de produtos 4 VALIDADES + 4 QUANTIDADES e um campo QNT TOTAL, que e a soma das 4 QNTs.

    Toda vez que coloco um produto na caixa de listagem, pois o mesmo e pesquisado pelo seu codigo de barras, abre-se antes um outro form chamado A4_Validades. Neste Novo Form eu escolho qual a validade que sera usada pelo produto e conforme a validade escolhida ( VAl1, VAL2, VAL3 , VAL4 ) é subtraido da QNT especifica. Ao Clicar Botao OK, esse Form Validade e fechado e a macro antes iniciada e finalizada, o produto posto entao na caixa de listagem, juntamente com a validade escolhida.

    Sendo assim eu sei qual validade foi naquele produto que vendi, e uma forma de controle meu. Isso me garante manter um controle mais apurado das validades que estao por vencer, e faz com que eu venda as validades maiores por ultimo.

    Explicado entao eu preciso que haja uma modificacao no comando abaixo, da qual se baseia do Campo Estoque geral.

    Preciso que na reposicao de estoque seja voltado o produto de onde ele saiu, os de QNT1, ou de QNT2 ...

    Aqui tb no meu Cdastro de produtos, eu coloquei de uma forma que se caso alguma QNT 1 a 4 = 0 entao o campo Validade 1 a 4 = NULL, conforme se zero.
    Sendo assim se no estoque houver apenas 1 item naquela validade escolhida na venda, no cancelamento teria que voltar tb a validade.

    O comando abaixo esta todo certo, mas nao se baseia da forma que quero.

    Se puderem ajudar agradeço.

    Andre

    Código:


    Sub fncCancelarVenda() 'Essa rotina nao sera mais usada devido estar fazendo a reposicao de foma manual
    Dim rs, rsE As DAO.Recordset
    Dim F As Integer

    DoCmd.RunCommand acCmdSaveRecord
    'Abre uma consulta buscando todos os produtos lançados na ordem de vendas atual.
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblVendaDet WHERE vendaID = " & Me.txtidVenda & "")

        Do While Not rs.EOF 'Irá repetir em quanto estiver registros na consulta feita anteriormente
        F = Nz(DCount("*", "tblCad_Produto", "codigoBarra = '" & rs!produtoID & "'"), 0) 'Aqui eu realizo uma verificação para saber se o produto ja tem algum estoque
            If F > 0 Then 'Se ja tiver algum estoque, irei apenas atualizar o estoque
                Set rsE = CurrentDb.OpenRecordset("SELECT * FROM tblCad_Produto WHERE codigoBarra = '" & rs!produtoID & "'")
                rsE.Edit
                rsE("estoqueGeral") = rsE!estoqueGeral 'Coloco o estoque antigo no campo estoque anterior
                rsE("estoqueGeral") = rsE!estoqueGeral + rs!qtdVenda 'Somo o estoque antigo + a qnt pedida
                rsE.Update
            Else 'Se não tiver estoque, terei que inserir o produto e lançar seu estoque
                Set rsE = CurrentDb.OpenRecordset("tblCad_Produto")
                rsE.AddNew 'Adiciono o registro na tabela e insiro os valores dos campos
                rsE("codigoBarra") = rs!estoqueGeral
                rsE("EstoqueGeral") = rs!qtdVenda
                rsE.Update
            End If
        rs.MoveNext
        Loop

    'Ao final, finalizo todas as conexões abertas e limpo a memoria utilizada para armazenar as consultas
    rs.Close
    Set rs = Nothing
    rsE.Close
    Set rsE = Nothing

    End Sub



    fazerbem
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 05/03/2017

    Re: [Resolvido]Cancelamento de Venda e Repor Estoque

    Mensagem  fazerbem em 6/6/2018, 03:55

    imagino tb que tera que ser criada algum tipo de referencia pra saber de onde veio o produto se QNT 1 , QNT2...

    Como informei quando o produto vai pra caixa de listagem ele vai tb pra TBLVEndasDetalhe. Existe tb uma TBLVendas, mas nesta vai outras coisas como nome cliente, Id da Venda, Total pedido etc, e na Vendas Det vai justamente o produto, QNT, Validade etc.

    O TBLVENDASDETALHE esta amarrado ao TBLVENDAs, sendo assim se eu excluo a venda em TBLVENDAs, o que estiver associado aquela venda tb e excluida.

    Grato

    Andre

    fazerbem
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 05/03/2017

    Re: [Resolvido]Cancelamento de Venda e Repor Estoque

    Mensagem  fazerbem em 12/8/2018, 01:47

    Resolvido

      Data/hora atual: 19/8/2018, 00:33