#36017
Javier Ader
Participante

Me parece que sí, hay algo raro (a mi me ha pasado crear un remito de entrada que no parece incrementar el stock…).
No lo testie pero estoy casi seguro que el problema esta aca:
MInOut.checkMaterialPolicy()

Busca la siguiente sección de código:

Code:
if( ii == 0 ) {
if( storage.getQtyOnHand().compareTo( qtyToDeliver ) >= 0 ) {
line.setM_AttributeSetInstance_ID( storage.getM_AttributeSetInstance_ID());
needSave = true;
log.config( “Direct – ” + line );
qtyToDeliver = Env.ZERO;
} else {

Eso lo que hace es modificar el M_AttributeSetInstance_ID de la linea de remito a algo que en general es distinto de cero. Posteriormente en el completeIt , al tener un linea M_AttributeSetInstance_ID distinto de cero se hace una hace, creo, una chequeo de cantidad de stock actual incorrecto.

No lo testie, pero cambiando la primer sección que puse por esta:

Code:
if( ii == 0 ) {
if( storage.getQtyOnHand().compareTo( qtyToDeliver ) >= 0 ) {
//line.setM_AttributeSetInstance_ID( storage.getM_AttributeSetInstance_ID());
//needSave = true;
//log.config( “Direct – ” + line );
//qtyToDeliver = Env.ZERO;

MInOutLineMA ma = new
MInOutLineMA( line,
storage.getM_AttributeSetInstance_ID(),
qtyToDeliver);

if( !ma.save()) {
;
}
qtyToDeliver = Env.ZERO;

} else

Tal vez ande, ya que de esta manera nunca se modifica el M_AttributeSet_ID de la linea (pero requiere crear un MInOutLineMA como en todos los demás casos), y el completeIt en teoría haría el chequeo de stock correcto.

No se si anda, pero casi seguro que por ahí viene la cosa (en realidad, todo eso código es medio raro…).
En cualquier caso , si podes desde pgAdmin ejecuta la siguientes sentencias (seleccionando previamente la base de datos en cuestion y abriendo un editor de sentencias)

Code:

set search_path to libertya;
select * from M_Storage
where M_Product_ID =

y postea lo que te muestra; tenes que reemplazar con el id real del producto que te esta trayendo problemas, esto es, el valor de la columna M_Proudct.M_Product_ID ; este valor lo podes ver en la ventana normal de productos (en la que podes modificarlos, no en la que posteaste en el screen) haciendo doble click en la parte inferior derecha que muestra algo como [1/233], una vez seleccionado el producto)