Difference between revisions of "Transporte Terrestre Carga"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(Fase 0: Importación de terceros y vehiculos)
 
(17 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
[[File:Transporte Terrestre de Carga Masiva.png|600px|thumb|right|Flujo de proceso principal]]  
 
[[File:Transporte Terrestre de Carga Masiva.png|600px|thumb|right|Flujo de proceso principal]]  
 
==Título==
 
==Título==
A finales de 2010 [http://www.osgroup.co OS_Group] fue invitado para implementar ADempiere con el fin de reemplazar dos sistemas que utilizaba la empresa uno para la operacion (realizar [http://www.mintransporte.gov.co/publicaciones.php?id=305 manifiesto de carga]) y otro para la contabilidad, la adaptación se realizó durante 2011 y entró en producción el 1 de enero de 2012.  
+
A finales de 2010 [http://www.osgroup.co O.S. Group] fue invitado para implementar ADempiere con el fin de reemplazar dos sistemas que utilizaba la empresa, uno para la operacion (realizar [http://www.mintransporte.gov.co/publicaciones.php?id=305 manifiesto de carga]) y otro para la contabilidad, la adaptación se realizó durante 2011 y entró en producción el 1 de enero de 2012.  
Observaciones: Se implementa en la versión 360LTS + [http://www.adempiere.com/Localization_Projects#Colombia Localización Colombia] [[Sponsored_Development:_Libero_Warehouse_Management]] + [[Sponsored_Development:_Libero_Smart_Browser]], PostgreSQL 9, Suse OS
+
 
 +
Observaciones: Se implementa en la versión 360LTS + [http://www.adempiere.com/Localization_Projects#Colombia Localización Colombia] + [[Sponsored_Development:_Libero_Warehouse_Management]] + [[Sponsored_Development:_Libero_Smart_Browser]] + Customización.
 +
 
 +
Se realizó migración a version 370LTS para utilizar el modulo de nómina. [http://www.adempiere.com/Migration Proceso de migración]
 +
 
 +
BD: PostgreSQL 9, OS: Open Suse 11.4
  
 
'''Agradecimientos especiales en primer lugar a [[User:Vpj-cd|Victor Perez]], [[User:Mar_cal_westf|Mario Calderon]] y Susanne Calderon.'''  por el apoyo durante este gran proyecto.
 
'''Agradecimientos especiales en primer lugar a [[User:Vpj-cd|Victor Perez]], [[User:Mar_cal_westf|Mario Calderon]] y Susanne Calderon.'''  por el apoyo durante este gran proyecto.
Line 27: Line 32:
  
 
==Modulos implementados==
 
==Modulos implementados==
Es importante resaltar que para una buena implementación antes de entrar a desarrollar se debe analizar en detalle que e identificar que se puede reutilizar de ADempiere es decir que ya se encuentra hecho asi no tenga el mismo nombre que se conoce en el medio, es asi como obtuvimos el siguiente resultado:
+
Es importante resaltar que para una buena implementación antes de entrar a desarrollar cualquier cosa se debe analizar en detalle ADempiere y los requerimientos del cliente con el fin de identificar que se puede reutilizar de ADempiere es decir que ya se encuentra hecho asi no tenga el mismo nombre que se conoce en el medio de este análisis obtuvimos el siguiente resultado:
  
 
{|{| border="1" cellpadding="5" cellspacing="0"
 
{|{| border="1" cellpadding="5" cellspacing="0"
Line 63: Line 68:
 
|-valign="top"
 
|-valign="top"
 
|Remesa (pedido de cliente)
 
|Remesa (pedido de cliente)
|Orden de venta estandar. No genera entregas, ni factura inmediatamente.
+
|Orden de venta estandar. No genera entregas, ni factura inmediatamente. Link de interes: [[Sales_Processes]]
 
|-valign="top"
 
|-valign="top"
 
|-
 
|-
Line 84: Line 89:
  
 
===Fase 0: Importación de productos, terceros y vehiculos===
 
===Fase 0: Importación de productos, terceros y vehiculos===
Para la importación correcta de los productos se utilizo el estandar de adempiere, para la importación de terceros y vehiculos fue necesario modificar las tablas i_bpartner e i_asset creando una columna adicional imagen tipo  character varying(50) en la cual se importa mediante el cargador de archivos un string con la ruta en donde se encuantra la imagen del conductor luego se modifica el archivo ImportBPartner.java e ImportAsset.java agregando un codigo similar en cada caso
+
Para la importación correcta de los productos se utilizo el estandar de adempiere, para la importación de terceros y vehiculos fue necesario modificar las tablas i_bpartner e i_asset creando una columna adicional imagen tipo  character varying(50) en la cual se importa mediante el cargador de archivos un string con la ruta en donde se encuantra la imagen del conductor luego se modifica el archivo ImportBPartner.java e ImportAsset.java agregando un codigo similar en cada caso en el método doIt()
  
 
  // OSG import Image_ID
 
  // OSG import Image_ID
Line 108: Line 113:
 
  }
 
  }
 
  }
 
  }
 +
 +
Referencias utiles para este proceso
 +
 +
[[Data_Import]]
 +
 +
[[Creating_New_Data_Import_Window]]
 +
 +
[[Create_your_ADempiere_customization_environment]]
  
 
===Fase I: Operativo/Comercial===
 
===Fase I: Operativo/Comercial===
 +
==== Maestros ====
 +
Las siguientes imagenes muestran el resultado obtenido al crear y adaptar ventanas en ADempiere.
 +
{|
 +
| [[File:Menú_Transporte_terrestre_de_carga.png|300px|thumb|center|Menú Transporte terrestre de carga]]
 +
| [[File:Ventana_Nueva_Maestros.png|400px|thumb|center|Ejemplo Ventanas nuevas para reglas de transporte]]
 +
| [[File:Terceros_Transporte_terrestre_de_carga.png|400px|thumb|center|Customización de Terceros]]
 +
|-
 +
| [[File:Vehiculo_Cabezote_A.png|400px|thumb|center|Customización Activos Parte A]]
 +
| [[File:Vehiculo_Cabezote_B.png|400px|thumb|center|Customización Activos Parte B]]
 +
| [[File:Vehiculo_Trailer_C_.png|400px|thumb|center|Customización Activos Parte C]]
 +
|}
 +
 +
Referencias útiles para este proceso
 +
 +
[[Creating_New_Window.]]
 +
 +
[http://sourceforge.net/projects/adempiere/forums/forum/610548/topic/3854207| Agregar campo imagen a una ventana]
 +
 +
[[Reference_Table_with_Dynamic_Validation]]
 +
 +
[[Script_Callout|Callout]]
 +
 +
[[Script_ModelValidator|Model Validator]]
 +
 
===Fase II: Facturación===
 
===Fase II: Facturación===
 +
El proceso comercial inicia con la digitación de la (s) remesa (s) la cual permite realizar posteriormente el manifiesto de carga y la factura de cliente.
 +
En algunos casos es útil  cambiar el modo estándar de ADempiere de una ventana com ose puede ver a continuación, esto permite asimilar el funcionamiento de la ventana  y agilizar el trabajo por parte del usuario.
 +
 +
{|
 +
| [[File:Remesa_A.png|400px|thumb|center|Maestro (Cabezera)]]
 +
| [[File:Remesa_B.png|400px|thumb|center|Detalle]]
 +
|}
 +
 +
Referencias útiles para este proceso
 +
 +
[[Collapse_Grid_%26_Horizontal_Tab]]
 +
 +
Cuando necesitemos realizar seleccion de uno o varios registros filtrandolos por algun (os) campo (s), enviar parametros adicionales a un proceso y ejecutarlo para obtener un resultado podemos utilizar smart browser e imprimir un formato personalizado con la ayuda de iReport
 +
 +
{|
 +
| [[File:Seleccionar_Remesa_(s).png|400px|thumb|center|Seleccionar remesas usando Smart Browser]]
 +
| [[File:Manifiesto.png|300px|thumb|center|Registro generado por Smart Browser]]
 +
| [[File:Reporte_Manifiesto.png|300px|thumb|center|Formato diseñado con iReport]]
 +
|}
 +
 +
Para la generación de facturas de cliente se usa otro ítem Smart Browser el cual permite seleccionar uno o varios manifiestos de uno o varios clientes esto genera masivamente los registros de CxC, esto permite que un manifiesto seleccionado con varias remesas de diferentes clientes genere varias facturas de cliente o que varios manifiestos seleccionados de un mismo cliente genere una sola factura.
 +
 +
 +
Referencias útiles para este proceso:
 +
 +
[[Sponsored_Development:_Libero_Smart_Browser]]
 +
 +
[[Examples:_Callout_and_Process_in_Groovy]]
 +
 +
[[Open_Window_and_Tab]]
 +
 +
[[ADempiere/Compiere_JasperReports_Integration_HowTo]]
 +
 
===Fase III: Nomina===
 
===Fase III: Nomina===
  
Line 118: Line 188:
  
 
[[Category:Case Studies]]
 
[[Category:Case Studies]]
 +
 +
Hacer un buen levantamiento de requerimientos
 +
 +
No reinventar la rueda, buscar primero en foros, wiki, googlear (buscar en google), leer estos libros:
 +
 +
[https://www.packtpub.com/adempiere-3-4-erp-solutions/book?utm_source=websitebundle_ADempiere%2B3.6%2BCookbook_00-00-00_03-01-11_OS&utm_medium=ADempiere%2B3.4%2BERP%2BSolutions_12-01-09_23-12-11&utm_campaign=36a34erp_SJ ADempiere 3.4 ERP Solutions]
 +
 +
[http://www.packtpub.com/adempiere-3-6-cookbook/book?utm_source=adempiere.com&utm_medium=link&utm_content=pod&utm_campaign=mdb_007482 ADempiere 3.6 Cookbook]
 +
 +
[http://www.packtpub.com/ireport-3-7/book iReport 3.7]
 +
 +
Tener cuidado al crear scripts con groovy ya que pueden funcionar en el ambiente de desarrollo pero en producción presentan excepciones. [http://sourceforge.net/projects/adempiere/forums/forum/610548/topic/4847219 Excepciones con groovy]
 +
 +
Si se necesita agregar librerias adicionales al servidor para nuevas funciones como consumir un webservices, leer datos de un puerto serial, etc. hacer lo siguiente:
 +
 +
$ADEMPIERE_HOME/packages/mis_librerias/lib
 +
 +
y  corren RUN_update.bat|sh
 +
 +
Reemplaze "mis_librerias" con el nombre que usted considere mas apropiado. Fuente: [http://sourceforge.net/projects/adempiere/forums/forum/610548/topic/3755590 How add custom lib ?]

Latest revision as of 07:46, 17 March 2013

Página en construcción/This page is under construction --John Agudelo 11:44, 11 January 2012 (UTC)

Flujo de proceso principal

Título

A finales de 2010 O.S. Group fue invitado para implementar ADempiere con el fin de reemplazar dos sistemas que utilizaba la empresa, uno para la operacion (realizar manifiesto de carga) y otro para la contabilidad, la adaptación se realizó durante 2011 y entró en producción el 1 de enero de 2012.

Observaciones: Se implementa en la versión 360LTS + Localización Colombia + Sponsored_Development:_Libero_Warehouse_Management + Sponsored_Development:_Libero_Smart_Browser + Customización.

Se realizó migración a version 370LTS para utilizar el modulo de nómina. Proceso de migración

BD: PostgreSQL 9, OS: Open Suse 11.4

Agradecimientos especiales en primer lugar a Victor Perez, Mario Calderon y Susanne Calderon. por el apoyo durante este gran proyecto.

Agradecimientos a Carlos Ruiz por su localización.

Industria

Transporte terreste de carga

Geografía

La sede principal se encuentra en Medellín-Colombia con varias sucursales a nivel nacional

Perfil de la empresa

Fundada en 2006 y con un rápido crecimiento en 2011 se consolida como una transportadora con sucursales a nivel nacional, que cubren las necesidades de los clientes movilizando mas de 200.000 toneladas mensuales por todo el país, básicamente lo que hace es recibir un pedido de un generador de carga (cliente) para que se transporte un producto de un punto A un punto B por un vehiculo, para cumplir con estos pedidos tiene una pequeña flota de vehículos tracto-camiones propios y una base de datos de propietarios de vehículos que subcontratan (300 tracto-camiones aproximadamente) estos hacen las veces de proveedores, su negocio consiste en ser intermediarios y cobrar un valor mayor al cliente y pagar un menor valor al transportador obteniendo una utilidad del ejercicio.

Oportunidades

Por casi 3 años y medio la empresa estuvo trabajando con dos sistemas los cuales no tuvieron una buena integración, generando retrasos en la obtención de información de todas las areas ademas inconsistencias y reprocesos en contabilidad.

ADempiere permite realizar mejora de procesos para la realización de la operación, confiabilidad y agilidad en la obtención de la información para cualquier area de la empresa.

Riesgos

Alta perzonalización debido a los requerimientos que exige el ministerio de transporte de Colombia para la elaboración del manifiesto de carga

Modulos implementados

Es importante resaltar que para una buena implementación antes de entrar a desarrollar cualquier cosa se debe analizar en detalle ADempiere y los requerimientos del cliente con el fin de identificar que se puede reutilizar de ADempiere es decir que ya se encuentra hecho asi no tenga el mismo nombre que se conoce en el medio de este análisis obtuvimos el siguiente resultado:

Término del medio de transporte ADempiere
Conductor Tercero (Prospecto, es decir no tiene funciones especiales como cliente, proveedor, puede ser empleado cuando conduce vehiculos propios)
Propietario y/o Tenedor del vehiculo Tercero con rol de proveedor
Vehiculo (Cabezote, remolque, tractocamión) Activo de fijo diferenciado en varios grupos de activos, propios, en posesion o de terceros.
Productos transportados Productos tipo servicio, no comprado, no almacenado
Remesa (pedido de cliente) Orden de venta estandar. No genera entregas, ni factura inmediatamente. Link de interes: Sales_Processes
Manifiesto de carga (Agrupación de remesas para transportar) Documento de salida (Outbound Document) del modulo libero ware house management
Descuentos Nota credito de proveedor


Fase 0: Importación de productos, terceros y vehiculos

Para la importación correcta de los productos se utilizo el estandar de adempiere, para la importación de terceros y vehiculos fue necesario modificar las tablas i_bpartner e i_asset creando una columna adicional imagen tipo character varying(50) en la cual se importa mediante el cargador de archivos un string con la ruta en donde se encuantra la imagen del conductor luego se modifica el archivo ImportBPartner.java e ImportAsset.java agregando un codigo similar en cada caso en el método doIt()

// OSG import Image_ID
if (impBP.get_Value("imagen") != null )
{
File file = new File("/Importacion/terceros/" + impBP.get_Value("imagen").toString());
if (file.exists())
{
MImage  m_mImage = null;
m_mImage = MImage.get (Env.getCtx(),  0);
m_mImage.setName(impBP.get_Value("imagen").toString());
m_mImage.setImageURL(impBP.get_Value("imagen").toString());
AImage image = new AImage(impBP.get_Value("imagen").toString(),new FileInputStream("/Importacion/terceros/" + impBP.get_Value("imagen").toString()));
m_mImage.setBinaryData(image.getByteData());
m_mImage.save();
bp.setLogo_ID(m_mImage.get_ID());
bp.save();
}	
else
{
impBP.setI_ErrorMsg("Archivo no existe en la ruta especificada");
impBP.save();
}
}

Referencias utiles para este proceso

Data_Import

Creating_New_Data_Import_Window

Create_your_ADempiere_customization_environment

Fase I: Operativo/Comercial

Maestros

Las siguientes imagenes muestran el resultado obtenido al crear y adaptar ventanas en ADempiere.

File:Menú Transporte terrestre de carga.png
Menú Transporte terrestre de carga
Ejemplo Ventanas nuevas para reglas de transporte
Customización de Terceros
Customización Activos Parte A
Customización Activos Parte B
Customización Activos Parte C

Referencias útiles para este proceso

Creating_New_Window.

Agregar campo imagen a una ventana

Reference_Table_with_Dynamic_Validation

Callout

Model Validator

Fase II: Facturación

El proceso comercial inicia con la digitación de la (s) remesa (s) la cual permite realizar posteriormente el manifiesto de carga y la factura de cliente. En algunos casos es útil cambiar el modo estándar de ADempiere de una ventana com ose puede ver a continuación, esto permite asimilar el funcionamiento de la ventana y agilizar el trabajo por parte del usuario.

Maestro (Cabezera)
Detalle

Referencias útiles para este proceso

Collapse_Grid_&_Horizontal_Tab

Cuando necesitemos realizar seleccion de uno o varios registros filtrandolos por algun (os) campo (s), enviar parametros adicionales a un proceso y ejecutarlo para obtener un resultado podemos utilizar smart browser e imprimir un formato personalizado con la ayuda de iReport

Seleccionar remesas usando Smart Browser
Registro generado por Smart Browser
Formato diseñado con iReport

Para la generación de facturas de cliente se usa otro ítem Smart Browser el cual permite seleccionar uno o varios manifiestos de uno o varios clientes esto genera masivamente los registros de CxC, esto permite que un manifiesto seleccionado con varias remesas de diferentes clientes genere varias facturas de cliente o que varios manifiestos seleccionados de un mismo cliente genere una sola factura.


Referencias útiles para este proceso:

Sponsored_Development:_Libero_Smart_Browser

Examples:_Callout_and_Process_in_Groovy

Open_Window_and_Tab

ADempiere/Compiere_JasperReports_Integration_HowTo

Fase III: Nomina

Aspectos destacados

Lecciones

Hacer un buen levantamiento de requerimientos

No reinventar la rueda, buscar primero en foros, wiki, googlear (buscar en google), leer estos libros:

ADempiere 3.4 ERP Solutions

ADempiere 3.6 Cookbook

iReport 3.7

Tener cuidado al crear scripts con groovy ya que pueden funcionar en el ambiente de desarrollo pero en producción presentan excepciones. Excepciones con groovy

Si se necesita agregar librerias adicionales al servidor para nuevas funciones como consumir un webservices, leer datos de un puerto serial, etc. hacer lo siguiente:

$ADEMPIERE_HOME/packages/mis_librerias/lib

y corren RUN_update.bat|sh

Reemplaze "mis_librerias" con el nombre que usted considere mas apropiado. Fuente: How add custom lib ?