Fórum
Ver pergunta

Stock não assume estado reservado   

19 visualizações
0
0

Boas,
Estou com um problema ao fazer uma reserva de lote pelos motores para produto acabado de uma ordem de fabrico.
Estou a usar o seguinte código:

Dim objReservas As New InvBELinhasReserva()
Dim objLinhaReserva As New InvBELinhaReserva()
Dim objReserva As New InvBEReserva()

objLinhaReserva.Artigo = linha.Item("CDU_Artigo").ToString()
objLinhaReserva.Armazem = linha.Item("CDU_Armazem").ToString()
objLinhaReserva.Localizacao = linha.Item("CDU_Armazem").ToString()
objLinhaReserva.Lote = linha.Item("CDU_Lote").ToString()
objLinhaReserva.IdTipoOrigemOrigem = BSO.Inventario.TiposOrigem.DaIDTipoOrigem(ConstantesPrimavera100.AbreviaturasApl.Internos, ConstantesPrimavera100.Modulos.Internos)
objLinhaReserva.IdTipoOrigemDestino = BSO.Inventario.TiposOrigem.DaIDTipoOrigem(ConstantesPrimavera100.AbreviaturasApl.Internos, ConstantesPrimavera100.Modulos.Internos)
objLinhaReserva.EstadoOrigem = ""
objLinhaReserva.EstadoDestino = "RES"
objLinhaReserva.TipoDocDestino = linha.Item("CDU_Encomenda").ToString().Split(".")(0).Split(" ")(1).ToString()
objLinhaReserva.DescricaoOrigem = cabecEOF.Documento
objLinhaReserva.DescricaoDestino = linha.Item("CDU_Encomenda")
objLinhaReserva.IdChaveOrigem = linhaEOF.IdLinha
objLinhaReserva.IdChaveDestino = linha.Item("CDU_IdLinhaEncomenda").ToString()
objLinhaReserva.IdReservaOriginal = BSO.DaValorUnico("SELECT ID FROM INV_Reservas WHERE Artigo = '{Artigo}' AND Lote = '{Lote}'".Replace("{Artigo}", linha.Item("CDU_Artigo").ToString()).Replace("{Lote}", linha.Item("CDU_Lote").ToString())).ToString()
objLinhaReserva.Quantidade = linha.Item("CDU_QuantidadeEntrada")
objLinhaReserva.QuantidadePendente = objLinhaReserva.Quantidade
objLinhaReserva.ReservadoPor = InvBETipos.EnumReservadoPor.Destino
objReservas.Insere(objLinhaReserva)
objReserva.Linhas = objReservas

linhaEOF.ReservaStock = objReserva

'BSO.Inventario.Reservas.Actualiza(objReserva)

If BSO.Internos.Documentos.ValidaActualizacao(cabecEOF, errosValidacao) Then
    BSO.Internos.Documentos.Actualiza(cabecEOF)
Else
    strerros = String.Join(vbNewLine, errosValidacao)
    Exit Sub
End If

Ele cria a reserva com sucesso (aparece no gestor de reservas) mas não assume no inventário do artigo a quantidade do lote como estado RESERVADO.
Eu faço uma consulta de inventário do artigo e a quantidade continua toda disponivel. Estou a fazer algo de erro ou falta alguma coisa?

Faça login para poder traduzir
Integração
V10
Geral
Marcado como spam
Criado há 1 mês e 3 semanas andrfilipeborges-f3m