Viendo 1 entrada (de un total de 1)
  • Autor
    Entradas
  • #31610
    Javier Ader
    Participante

    Buenas. Bueno, mucho de como maneja los productos BOM Libertya no investigue, pero me pareció encontrar dos errores relacionados:
    1) explodeBOM() sobre el final “recalcula” cuantos productos BOM quedan en las lineas volviendo a ejecutar la query que ejecuta al principio del while; el tema es para obtener el parametor de la sentencia sql llama al metodo getC_Invoice_ID() cuando debería llamarlo con getC_Order_ID() (tal cual lo hace al princio). Ok, el metodo getC_Invoice_ID() retorna en todo caso un id de una factura, nunca de un pedido… supongo que fue en error de tipeo (Ctrl + espacio). Tal vez paso totalmente inadvertido porque casi nunca se da en la “realidad”;la idea de dicho while es para contemplar productos BOM formados por otros productos BOM… algo muy raro, y no creo que nadie lo use….

    2) MOrder.prepareIt llama a explodeBOM() pero no rellee las lineas; esto hace que se llame posteriormente a reserveStock( dt,lines ), en donde “lines” son la lineas previas al explodeBOM (si el explodeBOM agrego lineas, no van a ser tenidas en cuenta al reservar stock). Bueno, esto no se si es un error o si esta hecho adrede ya que el manejo del stock de estos tipo de productos se me escapa un poco (si es un error supongo que lo ideal seria que explodeBOM retorne true si “hubo al menos una explosión”; prepareIt dependiendo de esto, determina si tiene que releer o no las lineas antes de pasar a reservar stock).

Viendo 1 entrada (de un total de 1)
  • Debes estar registrado para responder a este debate.