- Este debate está vacío.
-
AutorEntradas
-
18 noviembre, 2014 a las 4:49 am #32876Kristiam AlvarezMiembro
Estoy usando el modulo de producción el problema es que cuando realizo la producción y la materia prima esta en diferentes almacenes no me quita la existencia de estos almacenes, sino solo del almacén principal y por lógica me crea los productos en existencia negativa y el producto que se encuentra en los otros almacenes no lo descarga. Existirá alguna forma de que me quite la existencia de su respectivos almacenes donde se encuentran dichos productos o habrá que modificar el código.
Gracias
18 noviembre, 2014 a las 12:30 pm #38881AMEBISParticipanteEl tema es que Libertya no tiene un modulo de produccion, lo que estas utilizando es un muy simple proceso de ensamblado, no se le puede pedir que haga mas cosas. Te recomiendo trabajar sobre un desarrollo para llevar un buen control de la produccion o, como hacemos nosotros, trabajar con la materia prima y producto final en un mismo y unico almacen.
Saludos
18 noviembre, 2014 a las 9:37 pm #38882Kristiam AlvarezMiembroComprendo Amebis y precisamente ese es el modulo que estoy usando el de ensamblaje, lamentablemente los productos se encuentran fisicamente en distintos sitios y algunos de esos sitios son depositos o silos, por lo que es muy importante que llevemos el control de ese inventario en cada lugar.
Alguna otra sugerencia por favor.
Gracias
18 noviembre, 2014 a las 9:41 pm #38883AMEBISParticipanteEntonces si los productos se encuentran fisicamente en otro almacen, no estas haciendo el paso de trasladar la materia prima al almacen donde das de alta la produccion.
Te recomiendo dos cosas que podes hacer, muy simples:
1.- Antes de declarar produccion en el almacen X, te recomiendo que hagas movimento de materia prima de los almacenes Y, Z, etc. hasta X y luego dar de alta la produccion.2.- Dar de la alta la produccion normalmente y luego acomodar los stocks al final de la semana o del dia, teniendo en cuenta los stocks negativos que genera el almancen donde das de alta la produccion.
Saludos
19 noviembre, 2014 a las 4:38 am #38884Kristiam AlvarezMiembroAparentemente en el codigo fuente el archivo MProductionOrder si realiza algo con respecto a la localización de la materia prima para producir el articulo final pero pareciera que no lo tomara en cuenta. O estoy equivocado.
//Hay que comprobar si hay stock de cada uno de los articulos
StringBuffer sql3 = new StringBuffer(“SELECT name, bomQtyOnHand(“+rs2.getInt(1)+”,”+Env.getContext(Env.getCtx(), “#M_Warehouse_ID”)+”,0)” +
” from m_product where m_product_id=”+rs2.getInt(1));
PreparedStatement pstmt3 = null;
try{
pstmt3 = DB.prepareStatement( sql3.toString(),get_TrxName());
ResultSet rs3 = pstmt3.executeQuery();
if(rs3.next()){
if(rs3.getBigDecimal(2).subtract(rs2.getBigDecimal(2).multiply(rs.getBigDecimal(2))).compareTo(BigDecimal.ZERO)<=0){
// si no hay articulos en stock de ese almac�n
JOptionPane.showMessageDialog( null,”El producto “+rs3.getString(1)+” no tiene stock disponible “,”No hay Stock”, JOptionPane.INFORMATION_MESSAGE );
return DocAction.ACTION_Invalidate;
}
int M_Locator_ID=0; // si hay articulo, busco la localizaci�n dentro del almac�n
M_Locator_ID = MStorage.getM_Locator_ID( Integer.valueOf(Env.getContext(Env.getCtx(), “#M_Warehouse_ID”)).intValue(),rs2.getInt(1),0,rs2.getBigDecimal(2).multiply(rs.getBigDecimal(2)),get_TrxName());
// Get default Location
if( M_Locator_ID == 0 ) {
MWarehouse wh = MWarehouse.get( getCtx(),Integer.valueOf(Env.getContext(Env.getCtx(), “#M_Warehouse_ID”)).intValue());M_Locator_ID = wh.getDefaultLocator().getM_Locator_ID();
}
MStorage.add( getCtx(),Integer.valueOf(Env.getContext(Env.getCtx(), “#M_Warehouse_ID”)).intValue(),M_Locator_ID,rs2.getInt(1),0,0,rs2.getBigDecimal(2).multiply(rs.getBigDecimal(2)).negate(),null,null,get_TrxName());// }
-
AutorEntradas
- Debes estar registrado para responder a este debate.