1. Introducción
    1. Ventajas
      1. Open Source
      2. Multiplataforma
        1. Java
          1. Desktop
          2. Web
      3. Multi base de datos
        1. Oracle
        2. PostgreSQL
        3. Db2
        4. SqlServer
      4. Multi lenguaje
      5. Multi moneda
      6. Multi impuesto
    2. Recorrido Breve
      1. Logeo
        1. Servidores
          1. Servidor de Aplicación (JBoss)
          2. Servidor de Base de Datos
        2. Variables Globales de Contexto
      2. SuperUser
        1. Menú principal
          1. Búsqueda
          2. Accesos directos
          3. Significado de los iconos
        2. Barra de Herramientas
          1. Información
          2. Socio de Negocio
          3. Producto
          4. Facturas
          5. Preferencias
          6. Preferencias
          7. Personalizar la Interfaz de Usuario
          8. Logeo Automático
          9. Ocultar Pestañas
          10. Variables de Contexto
        3. Ventanas
          1. Filtro
          2. Básico
          3. Campos específicos
          4. Rango de fecha específico
          5. Día
          6. Semaña
          7. Mes
          8. Año
          9. Avanzado
          10. Construir filtro
          11. Conjunto de condiciones
          12. Tipo de vista
          13. Formulario
          14. Grilla o tabla
          15. Distribución
          16. Barra de botones en la parte superior
          17. Pestañas en el sector izquierdo
          18. Información den dos columnas
          19. Pestañas
          20. Niveles
          21. Tipos
          22. Estándar
          23. Traducción
          24. Contables
      3. System
        1. Reglas del Sistema
          1. Lenguaje (Language)
          2. País, Región y Ciudad (Country, Region & City)
          3. Menu
        2. Diccionario de Aplicación
          1. Referencia (Reference)
          2. Regla de Validación (Validation Rules)
          3. Tabla y Columna (Table and Column)
          4. Reporte y Proceso (Report & Process)
          5. Ventana, Pestaña y Campo (Window, Tab & Field)
          6. Mensajes (Message)
        3. Impresiones
          1. Letra (Print Font)
          2. Papel (Print Paper)
          3. Forma (Print Form)
          4. Formato (Print Format)
  2. Operativo
    1. Seguridad
      1. Usuario
        1. Está asociado a un socio de negocio
      2. Rol o Perfil
        1. Agrupa una serie de privilegios
        2. Da acceso a las ventanas, procesos, formas, etc.
      3. Histórico de Cambios
        1. Permite auditar los cambios en los registros
        2. Muestra el valor antiguo y el nuevo valor
        3. Indica la sesión que originó el cambio
    2. Mantenimientos
      1. Socio de Negocio
        1. Puede ser
          1. Cliente
          2. Proveedor
          3. Empleado
        2. Se establecen los valores a cargar en los flujos de compra / venta
      2. Lista de Precio
      3. Almacén / Localizador
      4. Producto
        1. Precio
        2. Proveedor
        3. Almacén
      5. Tasa de Cambio
        1. Establece la relación entre dos monedas para un rango de fechas
        2. Se utiliza factores (Factor multiplicativo y factor divisor)
      6. Tipo de Documento
        1. Secuencia de Documento
          1. Prefijo
          2. Correlativo
          3. Sufijo
        2. Documento Base
    3. Procesos
      1. Flujo de Venta
        1. Orden de Venta
        2. Factura / Boleta
        3. Entrega de Producto (Guia de Remisión)
      2. Flujo de Compra
        1. Requisición
        2. Orden de Compra
        3. Factura
        4. Recibo de Materiales
  3. Desarrollo
    1. Introducción
      1. Interfaz Gráfica
        1. Administradas mediante el Diccionario de Aplicación (DA)
          1. Autogenera la Ventana
          2. Autogenera sentencias SQL
          3. Insert
          4. Update
          5. Delete
        2. Codificadas por los desarrolladores
      2. Código Fuente
        1. ad
          1. Clases Swing personalizadas para el Compiere
          2. Modelo Autogenerado
          3. Estándar: X_ + Nombre de Tabla
          4. Métodos getters y setters
          5. Clases Importantes
          6. org.compiere.framework.PO
          7. Persistencia de Objeto
          8. Genera DMLs
          9. Administra los "Trigger"
          10. org.compiere.tools.GenerateModel
          11. Genera clases con los métodos getters y setters
          12. org.compiere.util.Env
          13. Maneja las variables de contexto
        2. base
          1. Modelos
          2. Estándar: M + Nombre de Tabla eliminando los _
          3. Programa
          4. Trigger?
          5. beforeSave
          6. afterSave
          7. beforeDelete
          8. afterDelete
          9. Flujo de Trabajo (WorkFlow)
          10. Completar
          11. Anular
          12. Cerrar
          13. Callouts
          14. Se ejecuta cuando se cambia el valor de algún dato
          15. Sirve para incorporar cierta lógica de negocio
          16. Procesos
          17. Extiende de SvrProcess
          18. Métodos
          19. 1.- prepare()
          20. Captura los parámetros ingresados
          21. 2.- doIt()
          22. Programación del proceso en si
        3. client
          1. Clases Importantes
          2. org.compiere.apps.AcctViewerData
          3. Muetra los asientos contables
          4. org.compiere.apps.ADialog
          5. Reemplaza al JOptionPane
          6. org.compiere.apps.AMenu
          7. Clase con el método main que inicia al Compiere
          8. org.compiere.apps.APanel
          9. Administra los paneles autogenerados
          10. Genera los Menus
          11. Lógica de columnas específicas
          12. DocAction
          13. PaymentRule
          14. Formas
          15. Ventanas codificadas por los programadores
          16. No utiliza el Diccionario de Aplicación (DA)
          17. Consultas (Search / Info)
          18. org.compiere.apps.search.InfoBPartner
          19. org.compiere.apps.search.InfoProduct
          20. org.compiere.apps.search.InfoInvoice
          21. Componentes
          22. org.compiere.grid.ed.VLocation
          23. org.compiere.grid.ed.VLookup
          24. Genera componentes específicos
          25. createBPartner()
          26. createProduct()
          27. createUser()
          28. Genera componenetes basados en el DA
          29. Se apoya de la clase MLookup
          30. org.compiere.grid.ed.VDate
        4. serverRoot
          1. Administra la generación de asientos contables
          2. Clases Importantes
          3. org.compiere.acct.Doc
          4. Centraliza la captura de la cuenta contable
          5. getValidCombination_ID()
          6. org.compiere.acct.Fac
          7. Administra la generación del asiento contable
          8. createLine(...)
          9. org.compiere.acct.FacLine
          10. El el asiento contable en si
          11. Convierte el asiento contable a la moneda base del esquema contable
          12. convert()
    2. Diccionario de Aplicación
      1. Tabla y Columna
        1. Tabla o vista (Table)
          1. Cambios de Log
          2. Activa el proceso de auditoria a la tabla
          3. Permite realizar el seguimiento de los cambios realizados en la data
          4. Volumen alto
          5. Activa la pantalla de filtro antes de ingresar
          6. Permite filtrar la data ingresada
          7. Registros eliminables
          8. Puede bloquear la eliminación de registros
          9. Permite crear columnas desde la BD
        2. Columnas (Column)
          1. Elemento (System Element)
          2. Centraliza la data general del campo
          3. Nombre en la BD
          4. Descripción (Tooltip)
          5. Comentario o Ayuda
          6. Longitud (Length)
          7. Cantidad de caracteres en la BD
          8. Es utilizado para campos de texto
          9. Referencia (Reference)
          10. Establece el componente a mostrar en la UI
          11. Tipos
          12. Account
          13. Genera un componente personalizado del Compiere que permite ingresar una combinación de cuenta (elemento contable).
          14. Button
          15. Genera un botón
          16. Se le puede asociar un proceso
          17. Se le puede asociar una referencia
          18. Date
          19. Genera un componente tipo calendario
          20. FileName
          21. Genera un buscador de archivos
          22. FilePath
          23. Genera un buscador de directorios
          24. ID
          25. Se utiliza para identificar el PrimaryKey de la tabla
          26. Establece el columna con el tipo Number(10)
          27. List
          28. Genera un ComboBox
          29. Se asocia una referencia para cargar el ComboBox
          30. Location (Address)
          31. Genera un componente personalizado del Compiere para ingresar direcciones
          32. Locator (WH)
          33. Genera un componente personalizado del Compiere para ingresar ubicaciones
          34. Numeric
          35. Genera un componente numérico, permite ingresar números reales
          36. Printer Name
          37. Genera un ComboBox con todas las impresoras instaladas en la PC
          38. Quantity
          39. Genera un componente numérico, solo se ingresa números enteros
          40. Search
          41. Genera un componente de búsqueda
          42. Asume que existe una tabla en la BD, para esto se quita los tres últimos caracteres al nombre del campo (_ID)
          43. String
          44. Genera un TextField
          45. Table
          46. Genera un ComboBox
          47. Necesita que se indique la tabla con la que se va a cargar el ComboBox
          48. Table Direct
          49. Genera un ComboBox
          50. Carga el ComboBox automáticamente
          51. Asume que existe una tabla en la BD, para esto se quita los tres últimos caracteres al nombre del campo (_ID)
          52. La campos que muestra en el ComboBox corresponden a los campos que sean Identificadores en la tabla
          53. Text / Text Long
          54. Genera un TextArea
          55. Time
          56. Genera un componente personalizado para ingresar la hora y los minutos
          57. URL
          58. Genera un campo de texto con un botón para validar la URL ingresada
          59. Yes-No
          60. Genera un CheckBox
          61. Validación Dinámica (Dynamic Validation)
          62. Asocia un filtro en la carga de los ComboBox generados
          63. Puede ser la cláusula WHERE de un SQL
          64. Valor de referencia (Reference Key)
          65. Permite la carga de los ComboBox generados
          66. Se puede asociar a la referencia del tipo Table o List
          67. Puede contener una lista "Hard-Code" (Código - Valor)
          68. Valor por defecto (Default Logic)
          69. Establece el valor por defecto del campo
          70. Variables de Contexto
          71. Globales (@#...@)
          72. Locales (@...@)
          73. Dato específico
          74. Obligatorio (Mandatory)
          75. Establece el campo como no nulo en la BD
          76. Obligatorio UI (Mandatory (UI)
          77. Pinta de otro color el campo, indicando su obligatoriedad
          78. NO implica un campo no nulo en la BD
          79. Lógica Obligatoria (Mandatory Logic)
          80. Establece las condiciones que se deben cumplir para que el campo sea obligatorio
          81. Se utiliza las variables de Contexto
          82. Se compara data utilizando el "leguaje Compiere" (&, |, !=, >, <, etc.)
          83. Actualizable
          84. Permite cambios bajo condiciones normales
          85. Siempre actualizable
          86. Siempre se puede modificar, aunque el registro esté inactivo, completado o bajo otra condición especial
          87. Lógica de solo lectura (Read Only Logic)
          88. Establece las condiciones que se deben cumplir para que el campo sea de solo lectura
          89. Se puede utilizar las variables de Contexto
          90. Se compara data utilizando el "leguaje Compiere" (&, |, !=, >, <, etc.)
          91. Callout
          92. Establece si el campo va a ejecutar algún código Java
          93. Se debe establecer la clase a invocar (paquete.clase.metodo)
          94. Se ejecuta cuando existe un cambio en la data
          95. Identificador (Identifier)
          96. Identifica a los campos que se van a mostrar cuando otra columna referencia a la tabla
          97. Se le debe de establecer la secuencia en la que se desea que aparezca los campos (Sequence)
      2. Ventana, Pestaña y Campo
        1. Ventana (Window)
          1. Tipo (WindowType)
          2. Consulta
          3. Mantenimiento
          4. Transaccional
          5. Imagen (Image)
          6. Icono representativo de la ventana
          7. Ancho (Window Weight)
          8. Alto (Window Height)
          9. Copiar Pestañas (Copy Window Tabs)
          10. Solicita la ventana que se desea duplicar
          11. Hace una replica de las pestañas de la ventana seleccionada
        2. Pestaña (Tab)
          1. Tabla (Table)
          2. Asocia una tabla a la pestaña
          3. Los campos a mostrar se van a basar en dicha tabla
          4. Secuencia (Sequence)
          5. Indica el orden o posición de la pestaña
          6. Número múlplite de 10 (10 = 1, 20 = 2, etc.)
          7. Nivel (Tab Level)
          8. Indica el indentado de la ventana
          9. Sirve para indicar pertenencia
          10. Relación: Pestaña padre (0) - Pestaña hija (1)
          11. Diseño de Hilera (Single Row Layout)
          12. Pestaña de Contabilidad (Accounting Tab)
          13. Pestaña de Traducción (Translation Tab)
          14. Proceso (Process)
          15. Lógica de Despliegue (Display Logic)
          16. Establece las condiciones que se deben cumplir para que el campo se muestre en la ventana
          17. Se utiliza las variables de Contexto
          18. Se compara data utilizando el "leguaje Compiere" (&, |, !=, >, <, etc.)
          19. Solo Lectura (Read Only)
          20. Establece las condiciones que se deben cumplir para que el campo sea de solo lectura
          21. Se utiliza las variables de Contexto
          22. Se compara data utilizando el "leguaje Compiere" (&, |, !=, >, <, etc.)
          23. Filtro (SQL Where)
          24. Ordenamiento (SQL Order By)
          25. Imagen (Image)
          26. Crear Campos (Crate Fields)
          27. Proceso que copia las columnas faltantes de la tabla
          28. Ubica los nuevos campos al final
          29. Copiar Pestaña (Copy Tab Fields)
        3. Campo (Field)
          1. Columna (Column)
          2. Asocia el campo a una columna de la tabla
          3. Grupo (Field Group)
          4. Solo Lectura (Read Only)
          5. Establece las condiciones que se deben cumplir para que el campo sea de solo lectura
          6. Se utiliza las variables de Contexto
          7. Se compara data utilizando el "leguaje Compiere" (&, |, !=, >, <, etc.)
          8. Longitud de Despliegue (Display Length)
          9. Según el valor, el componente puede utilizar la primera columna o ambas
          10. Secuencia (Sequence)
          11. Indica el orden o posición de la pestaña
          12. Número múlplite de 10 (10 = 1, 20 = 2, etc.)
          13. Misma Línea (Same Line)
          14. Ubica el componente al lado derecho
          15. Lógica de Despliegue (Display Logic)
          16. Establece las condiciones que se deben cumplir para que el campo se muestre en la ventana
          17. Se Utiliza las variables de Contexto
          18. Se compara data utilizando el "leguaje Compiere" (&, |, !=, >, <, etc.)
      3. Informe y Proceso (Report & Process)
        1. Informe y Proceso (Report & Process)
          1. Informe (Report)
          2. Indica si es un informe
          3. Habilita los campos para establecer el informe
          4. Nombre de Clase (Classname)
          5. Clase Java a ejecutar
          6. Se indica el paquete + la clase
          7. Procedimiento Almacenado (Procedure)
          8. Indica el procedimiento almacenado de la base de datos a ejecutar
          9. Flujo de Trabajo (Workflow)
          10. Vista del Informe (Report View)
          11. Impresión Directa (Direct Print)
          12. Indica si se pre visualiza el reporte
          13. Formato de Impresión (Print Format)
          14. Segundos Estadísticos (Statistic Second)
          15. Campo de lectura
          16. Sirve para hacer seguimiento del tiempo de demora
          17. Indica los segundos que se demoró en ejecutarse la última vez
        2. Parámetro (Parameter)
          1. Nombre en BD (DB Column Name)
          2. Elemento (System Element)
          3. Referencia (Reference)
          4. Establece el componente a mostrar en la UI
          5. Los tipos son iguales a los de la opción Tabla y Columna
          6. Valor de referencia (Reference Key)
          7. Permite la carga de los ComboBox generados
          8. Se puede asociar a la referencia del tipo Table o List
          9. Puede contener una lista "Hard-Code" (Código - Valor)
          10. Validación Dinámica (Dynamic Validation)
          11. Asocia un filtro en la carga de los ComboBox generados
          12. Puede ser la cláusula WHERE de un SQL
          13. Rango (Range)
          14. Crea dos componentes iguales
          15. Se utiliza para rangos de fecha
          16. Valores por defecto (Default Logic)
          17. Establece el valor por defecto del campo
          18. Se puede utilizar las variables de Contexto
      4. Forma
        1. UI personalizada, no autogenerada por el Diccionario de Aplicación
        2. Establece
          1. Nombre de Clase (Classname)
          2. URL del JSP (jsp URL)
      5. Menu
        1. Entidades acumuladas
        2. Tipo
          1. Ventana
          2. Proceso
          3. Reporte
          4. Forma