martes, 7 de enero de 2014
Create a new process in ADempiere
1) Abrir el Eclipse
2) File > Import > Existing Project into Workspace
3) Seleccionar el proyecto original "adempiere360lts"
4) Repetir paso 2 para los proyectos "LCO_360" y "patches_360"
5) Crear un nuevo proyecto "EmpresaCustomization" en File > New > Java Project
6) Clic derecho sobre el nuevo proyecto, ir a las propiedades, clic en Java Build Path, Agregar los proyectos "adempiere360lts", "LCO_360" y "patches_360" haciendo clic en el boton "Add..."
7) Clic en el boton "Ok"
8) Clic derecho sobre el nuevo proyecto "EmpresaCustomization", seleccionar la opcion New > Source Folder, poner el nombre "base/src"
9) Clic derecho sobre el source folder "base/src", seleccionar la opción New > Class, como ejemplo le llamaremos a la clase "GenerarComprobante"
10) Abrimos la clase creada haciendo doble clic sobre ella en el explorador de proyecto, y la trabajamos de la siguiente manera:
/*************************************************************************/
// Hace referencia al paquete de clases que realizan un determinado proceso
package org.compiere.process;
// Declaracion de las librerias a ocupar
import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
//import java.sql.SQLException;
import java.util.logging.Level;
import org.compiere.util.DB;
import org.compiere.util.Env;
// Declaracion de la clase
public class GenerarComprobante extends SvrProcess
{
// Declaracion y creacion de las variables que seran parametros del proceso
private int p_C_Period_ID = 0;
private int p_C_DocType_ID = 0;
// Asignar valor a los parametros del proceso
protected void prepare()
{
ProcessInfoParameter[] para = getParameter();
for(int k = 0; k < para.length; k++)
{
String nombre = para[k].getParameterName();
if(para[k].getParameter() == null)
;
else if (nombre.equals("C_Period_ID"))
this.p_C_Period_ID = ((BigDecimal)para[k].getParameter()).intValue();
else if (nombre.equals("C_DocType_ID"))
this.p_C_DocType_ID = ((BigDecimal)para[k].getParameter()).intValue();
else
log.log(Level.SEVERE, "Parámetro desconocido: " + nombre);
}
}
// Ejecucion del Proceso, en este caso se hace una invocacion a un metodo
protected String doIt() throws Exception
{
this.GenerarComprobanteDiario();
return "";
}
public void GenerarComprobanteDiario()
{
@SuppressWarnings("unused")
boolean b = false;
String id_compania = String.valueOf(Env.getAD_Client_ID(getCtx()));
String id_usuario = String.valueOf(Env.getAD_User_ID(getCtx()));
String id_periodo = String.valueOf(p_C_Period_ID);
String id_documento = String.valueOf(p_C_DocType_ID);
String sql = "select * from sp_generar_comprobante(" +
id_compania + "," + id_usuario + "," + id_periodo + "," + id_documento + ");";
PreparedStatement ps = null;
ResultSet rs = null;
try
{
ps = DB.prepareStatement(sql, get_TrxName());
rs = ps.executeQuery();
while(rs.next())
{
b = rs.getBoolean(1);
}
//int no = DB.executeUpdateEx(sql.toString(), null);
//addLog(1, null, BigDecimal.valueOf(no), "Registros Insertados");
}
catch(Exception e)
{
log.log(Level.SEVERE, sql, e);
}
finally
{
DB.close(rs, ps);
rs = null;
ps = null;
}
}
}
/*************************************************************************/
11) Clic derecho sobre el nuevo proyecto, seleccionamos la opcion "Export JAR" y creamos el archivo "customization.jar", ver mas.
12) Abrimos una terminal, y enviamos el archivo al servidor con la siguiente instruccion:
sudo apt-get install scp
sudo scp /home/usuario/Documentos/customization.jar adempiere@servidor:/tmp/customization.jar
O simplemente usamos las herramientas WinSCP o FileZilla
13) Con la misma terminal, entramos al servidor con la siguiente instruccion:
ssh adempiere@servidor
Password: xxx (el sistema nos pedira la clave para entrar al servidor)
14) Detenemos el servicio del ADempiere con la siguiente instruccion:
sudo service adempiere stop
Si no tiene esta instruccion, la puede crear siguiendo este post
15) Nos dirigimos donde esta ubicado el ADempiere con la siguiente instruccion:
cd /opt/ADempiere/utils/lib
16) Respaldamos el customization original con lo siguiente:
sudo mv customization.jar customization_respaldo.jar
17) Copiamos el nuevo customization que tiene integrado la clase compilada "GenerarComprobante.class", con lo siguiente:
sudo cp /tmp/customization.jar /opt/ADempiere/utils/lib
18) Iniciar el servicio del ADempiere con la siguiente instruccion:
sudo service adempiere start
19) Una vez iniciado el servicio, abrimos el sistema preferiblemente con el navegador FireFox, y entramos al sistema con el rol System Administrator
20) En "Diccionario de la Aplicación > Informes y Procesos" agregar un nuevo registro y lo llenamos de la siguiente forma:
21) Agregar el proceso en el menú del sistema de la siguiente forma:
22) Finalmente, salimos y volvemos a entrar al sistema con nuestro usuario con el rol distinto al System Administrator, y podemos hacer uso del proceso creado por nosotros mismo como se muestra en la imagen:
Si este post te ha sido de ayuda, dale un +1 y pon tu comentario.
Dios te bendiga !!!
Suscribirse a:
Enviar comentarios (Atom)
Bien explicado!
ResponderEliminar