Sistemas de Gestión Empresarial (Material Didáctico)
Sistemas de Gestión Empresarial (Material Didáctico)
Sistemas de Gestión Empresarial (Material Didáctico)
Página 2 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 3 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 4 de 129
Módulo 10: Sistema de Gestión Empresarial
• La empresa debe realizar una buena gestión de los recursos disponibles para
ser competitiva.
Página 5 de 129
Módulo 10: Sistema de Gestión Empresarial
Concepto de ERP-CRM
Página 6 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 7 de 129
Módulo 10: Sistema de Gestión Empresarial
Hoy en día, el ERP engloba tanto los procesos externos como internos de la
gestión, abarcando las diferentes necesidades de la pequeña (PYME) y gran
empresa en productos ya unificados.
Página 8 de 129
Módulo 10: Sistema de Gestión Empresarial
SAP:
Página 9 de 129
Módulo 10: Sistema de Gestión Empresarial
• SAP Business Suite: este producto fue diseñado para medianas y grandes
empresas incorporando una serie de productos básicos y específicos de un
determinado sector de la empresa.
• SAP Business One: producto diseñado para pequeñas empresas que añade
todos los elementos que son necesarios para la gestión, como pueden ser:
ventas, clientes, finanzas, etc. Es bastante rápido en su implantación.
• SAP Business All-in-One: se presenta como una solución muy completa para
la empresa, añadiendo todos los aspectos que se requieren hoy en día. Cuenta
con una arquitectura modular en la que el cliente puede ir adaptando sus
necesidades. Incorpora como base ERP, CRM, BI, distintas funcionalidades
para un determinado sector empresarial y tecnología SAP NetWeaver.
• SAP Business ByDesign: este software se utiliza, sobre todo, para gestiones
empresariales que estén basadas en aplicaciones online. Además, incorpora
contabilidad y finanzas, resursos humanos, CRM, o ERP, entre otros.
Página 10 de 129
Módulo 10: Sistema de Gestión Empresarial
Oracle:
Fue creada a finales de los años 70 para llevar a cabo los distintos productos
referentes a las bases de datos. En las últimas décadas, se ha convertido en un líder
indiscutible en su sector.
En el año 2005 modificó su estrategia, añadiendo nuevas empresas que estuvieran
relacionadas con los sistemas empresariales que fueran competidores con SAP.
Desde ese momento, SAP y Oracle son las dos empresas que más facturan en el
entorno empresarial ERP.
El producto integral ofrecido por Oracle es JD Edwards Enterprise One, que cuenta
con toda la lógica necesaria para llevar a cabo la gestión integral de las empresas.
Además, permite ofrecer soluciones individuales de ERP, CRM y BI, entre otras.
Microsoft:
Es una de las empresas de software más conocidas, que en 2001 creó una nueva línea
de negocio más orientada al sistema de gestión empresarial.
Este producto se ha ido desarrollando con el paso de los años para ofrecer soporte a
medianas empresas (Dynamics NAV) y para añadir distintas funcionalidades de un
ERP actual.
Página 11 de 129
Módulo 10: Sistema de Gestión Empresarial
OpenBravo:
Creado sobre los años 90, se centró en orientar su interfaz a navegadores web en
lugar de a clientes gráficos.
OpenBravo basa su proyecto en dos tipos de proyectos diferentes:
• Otro propietario.
Es el único ERP que tiene su origen en España y que ha conseguido una gran
implantación en todo el mundo.
Entre sus módulos principales se pueden encontrar los de ventas, compras,
proyectos, CRM, etc. Además, existe una gran cantidad de módulos que
incorporan versiones de pago.
OpenBravo cuenta con una arquitectura cliente que permite la integración con otros
productos OpenSource existentes.
Por último, OpenBravo está capacitado para distribuir un software que sea capaz de
realizar la gestión de un punto de venta para cualquier empresa hotelera o comercial,
por medio de un software denominado OpenBravo POS, que se integra con el ERP.
Página 12 de 129
Módulo 10: Sistema de Gestión Empresarial
OpenERP:
Este proyecto nace como OpenSource y se muestra como una alternativa a SAP, con
la principal funcionalidad de ser la competencia a ERP.
Añade distintos módulos, entre los que se encuentran: Gestión y compraventa, CRM,
Gestión de proyectos, Sistema de gestión de almacenes, Manufactura, Contabilidad
analítica y financiera, Puntos de venta, Gestión de activos, Gestión de recursos
humanos, Gestión de inventario, Ayuda técnica, Campañas de marketing, Flujos de
trabajo y Licencia correspondiente a una serie de módulos bajo AGPL.
OpenERP es el ERP OpenSource que cuenta con más módulos libres para poder
añadir.
Presenta una arquitectura basada en cliente-servidor. El servidor se desarrolla en
lenguaje Phyton y es utilizado por el desarrollador para conseguir llevar a cabo los
distintos módulos. El cliente hará uso de servicios web (XML- RPC) para establecer la
comunicación con el servidor.
A partir de su versión 6, OpenERP ofrece la posibilidad de su distribución a través de
la nube.
Conclusiones
Como se ha comprobado anteriormente, hoy en día, el software de gestión
empresarial lo domina el mercado propietario, destacando tres compañías
principales, siendo la más conocida SAP. Actualmente, estas compañías siguen
desarrollando más productos, cada vez más orientados hacia su entorno en la
nube. Igualmente, han ido apareciendo más soluciones libres que comienzan
a utilizarse cada vez más.
Es importante señalar, asimismo, una serie de problemas que presenta el
mercado de propietarios a los distintos educadores, como puede ser la
adquisición de software. En la mayoría de los casos, el software se puede
configurar por los consultores empresariales, ya que estos realizan todo el
trabajo, dejando poco espacio a los agentes externos. Generalmente, las
empresas son las encargadas de instalar, configurar y enseñar el
funcionamiento de un paquete, además de proporcionar los distintos
mecanismos de aprendizaje del sistema que están controlados por ellos.
Página 13 de 129
Módulo 10: Sistema de Gestión Empresarial
A la hora de elegir un ERP, es preciso tener en cuenta una serie de factores, prestando
especial atención a:
Por último, se debe atender a una serie de cuestiones importantes como pueden ser,
el método y tiempo que se necesitan en la formación, el tipo de garantía
correspondiente al producto, el ciclo de vida, la existencia de nuevos servicios de
soporte y las diferentes posibilidades que existan para el mantenimiento.
Aunque no es tarea fácil seleccionar una plataforma ERP, es conveniente ofrecer una
respuesta al planteamiento del software ERP-CRM que se va a llevar a cabo en el
desarrollo de esta unidad formativa, de tal manera que se seleccionará un software
libre, por todas las ventajas que ya se han detallado.
Página 14 de 129
Módulo 10: Sistema de Gestión Empresarial
A continuación, se detalla una comparativa entre los dos paquetes más importantes,
definidos anteriormente:
Página 15 de 129
Módulo 10: Sistema de Gestión Empresarial
Los sistemas CRM se caracterizan, sobre todo, por tener dos partes bien
diferenciadas; una que se va a encargar de la lógica operacional y, otra, que va
a tener como función analizar la información disponible (lógica analítica).
Página 16 de 129
Módulo 10: Sistema de Gestión Empresarial
• Los que están integrados en un sistema ERP: se refieren a aquellos CRM que
pertenecen a los mismos propietarios que los ERP, como pueden ser, entre
otros, el CRM de SAP, Oracle y Microsoft.
• Los que son exclusivos: se refieren a los que están formados por todo tipo de
proyectos, como pueden ser, OpenSource o sugarCRM. Estos se utilizan cada
vez menos, por lo que pueden llegar a desaparecer tarde o temprano.
Página 17 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 18 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 19 de 129
Módulo 10: Sistema de Gestión Empresarial
Toda la información que se necesita para llevar el control sobre los datos, es
posible almacenarla en lo que se denominan los metadatos técnicos. Estos
metadatos deben ser accesibles también por los usuarios finales y administradores
para poder utilizarlos o modificarlos.
Página 20 de 129
Módulo 10: Sistema de Gestión Empresarial
A la hora de construir una Data WareHouse es preciso contar con las herramientas
que respondan a las necesidades planteadas y detectadas en el sistema.
Por un lado, a este tipo de sistema acceden un pequeño número de usuarios, pero
con una gran necesidad de información. Las consultas ejecutadas en dicho almacén
de datos son complejas y cuentan con una gran cantidad de información, por esta
razón las máquinas donde se aloje el sistema deben contar con unas altas
prestaciones en todos sus componentes.
Página 21 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 22 de 129
Módulo 10: Sistema de Gestión Empresarial
http://www.postgresql.org/download/
Página 23 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 24 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 25 de 129
Módulo 10: Sistema de Gestión Empresarial
• Monopuesto
Realiza la instalación del software en un ordenador, de tal forma que solo va a tener
acceso al sistema el propietario del ordenador.
Esta instalación es conveniente para entornos de desarrollo o aprendizaje, no para
entornos productivos.
• Cliente-Servidor
En este caso, se instalan todos los datos y la gestión de estos en un ordenador, de tal
forma que es posible acceder al control y administración de los mismos desde
distintos puntos de la organización, instalando una aplicación (cliente) con la que es
posible conectarse al ordenador que posee los datos (servidor).
Es una configuración bastante flexible, ya que permite acceder a la aplicación desde
cualquier terminal.
Es conveniente utilizar la configuración cliente-servidor para desarrollar diferentes
tareas de administración, mantenimiento, ampliación, etc. en el servidor de manera
eficiente.
Página 26 de 129
Módulo 10: Sistema de Gestión Empresarial
• Cliente-Servidor Web
• SaaS
Página 27 de 129
Módulo 10: Sistema de Gestión Empresarial
Una vez realizada la instalación y configuración del servidor, es posible llevar a cabo
las diferentes pruebas para comprobar el rendimiento, mediante la herramienta
PGAdmin (Explain query). Con ella se podrán comprobar los tiempos de acceso y
ejecutar las consultas correspondientes, siempre que las tablas estén correctamente
definidas.
Página 28 de 129
Módulo 10: Sistema de Gestión Empresarial
En primer lugar, se descargan los ficheros del servidor OpenERP (Server) y del
servidor web (web Client) de la página oficial correspondiente.
http://www.openerp.com/downloads
4. Tras escribir el comando es posible observar que los puertos están abiertos.
Además, hay que comprobar si el servicio se levanta de forma manual o
automática. Cuando se trata de entornos de producción, siempre se hace de
forma automática.
Una vez que se ha conseguido establecer la conexión, es posible realizar una pequeña
prueba para comprobar OpenERP omitiendo los asistentes y, así, crear la base de
datos correspondiente. Para ello, habrá que conectarse con el cliente y, una vez
aparezca el mensaje de base de datos no encontrada, solo habrá que omitirlo.
Página 29 de 129
Módulo 10: Sistema de Gestión Empresarial
7. Hay que comprobar que el estado del puerto 8080 esté abierto, ya que es el
que se va a utilizar para conectar desde los clientes web.
10. Por último, hay que configurar las preferencias que tenga cada usuario al
idioma español (Preferences/Spanish) siempre y cuando este no venga
seleccionado por defecto.
Página 30 de 129
Módulo 10: Sistema de Gestión Empresarial
• Para crear un usuario desde Shell que tenga como login el usuario postgres,
se inicia sesión con este usuario y, a continuación, se llama al script
createuser, ya que es el que va a realizar la tarea.
• Una vez establecido el usuario dentro del servidor de la base de datos, se debe
crear un directorio home del mismo, para determinar aquellos permisos
necesarios.
sudo mkdir /home/openerp
sudo chown openerp.nogroup /home/openerp/
Página 31 de 129
Módulo 10: Sistema de Gestión Empresarial
• Una vez llegados a este punto, PosgreSQL ya puede recibir entradas locales
desde TCP/IP, así que ya se puede configurar OpenERP con los datos de
usuario que se han visto en puntos anteriores. Solo será necesario abrir el
fichero de configuración y seleccionar usuario y contraseña.
• Se comprueba mediante la orden netstat -a que los puertos 8069, 8070, 8071
y 5432 están abiertos.
Página 32 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 33 de 129
Módulo 10: Sistema de Gestión Empresarial
Gestión de usuarios
Entre las funciones más importantes en la gestión de usuarios se pueden encontrar
la creación, mantenimiento y borrado de los distintos usuarios pertenecientes al
sistema, además de sus correspondientes datos.
Es una tarea muy importante, sobre todo a la hora de desarrollar los siguientes
puntos:
• Gestión eficiente del sistema: la persona que se quiere relacionar con él,
debe tener acceso a través de un determinado mecanismo.
• Seguridad: control del usuario que se conecta y la manera de hacerlo.
Para ver estos conceptos de forma más práctica, se procede a la creación de un
usuario para asignarle un determinado grupo, modificar sus datos para, a
continuación, eliminarlo.
• A la hora de crear un usuario, se accede a la lista que se puede encontrar en
Administración/ Usuarios. Es posible acceder a los datos haciendo clic sobre
ellos.
• Para crear un nuevo cliente, se pulsa el botón Nuevo de la barra de botones.
• De todos los usuarios existentes, se abre uno para realizar las modificaciones
pertinentes, pulsando el botón Edit en la interfaz web. Al finalizar, es
importante guardar todos los cambios.
• Para gestionar los grupos por parte de los clientes, se selecciona de la parte
inferior derecha, una lista que contiene todos los grupos a los que pertenece
el usuario. Cada grupo dispone de unos determinados permisos para el
sistema.
Gestión de clientes
En OpenERP un cliente es cualquier entidad que mantiene una relación con el
sistema, de tal forma que, tanto los compradores y proveedores, como el personal
de la empresa, se pueden identificar como clientes del sistema.
Es posible comprobar el listado de los diferentes clientes mediante el recurso Ventas/
Libreta de direcciones/ Clientes.
Es muy parecido al interfaz de solicitudes. En este caso, se dispone de tres pestañas
que se van incrementando según los módulos que se van añadiendo.
Página 34 de 129
Módulo 10: Sistema de Gestión Empresarial
Cuando se deseen visualizar todos los datos del cliente, es preciso comprobar en la
parte superior que está seleccionado el nombre de la empresa y el idioma, junto con
dos casillas de verificación.
Hay que asegurarse de que aparecen nombradas como cliente o como proveedor,
para que se establezcan de forma correcta, y el sistema pueda cargar las listas de
selección correctamente.
De estas tres pestañas, la primera corresponde a la General, y aquí es donde se
pueden configurar los diferentes datos del cliente, como pueden ser el nombre,
dirección, teléfono, etc.
En las otras dos pestañas, es posible guardar información de la relación que existe
con el cliente (Ventas y Compras), además de un área libre para diferentes notas
(Notas).
En la gestión de clientes, puede aparecer alguna complicación que dependerá de la
empresa en la que se esté implantando el sistema.
Existen empresas con pocos clientes y otras con muchísimos, aunque, en ambos
casos, se pueden dividir los clientes en categorías para facilitar la gestión en un
menor tiempo. A través de Ventas/Configuración/Libreta de direcciones/Categorías
se puede acceder a la gestión en la que es posible llevar a cabo las modificaciones
pertinentes.
Añadir funcionalidades
La instalación que se ha llevado a cabo al principio del módulo muestra un entorno
bastante simple con funcionalidades muy básicas. Por tanto, es posible añadir
aquellos módulos que se deseen para conseguir un sistema más provechoso.
En este apartado se verá la forma en la que se pueden instalar y desinstalar los
módulos en el sistema.
Para poder hacer uso de un módulo, antes es preciso actualizar la lista, buscando
aquellos módulos que están descargados en el sistema. No es recomendable llevar a
cabo la instalación de los módulos, ya que es un proceso bastante complejo. Se hará
accediendo al ítem de Administración/ Módulos/ Actualizar lista de módulos y, de
esa manera, se podrá comprobar los módulos que es posible instalar y las
modificaciones que se pueden desarrollar.
Página 35 de 129
Módulo 10: Sistema de Gestión Empresarial
Añadir un módulo
En primer lugar, se selecciona el icono de la flecha como actualizable y, si ya estuviera
instalado, como instalable. Se utilizarán los iconos que se muestran al final de cada
módulo.
Desinstalar un módulo
Se marca el icono que se desea eliminar mediante el icono de una cruz.
Tanto las operaciones de añadir como de eliminar módulos se pueden repetir tantas
veces como se desee y, además, los cambios realizados se guardarán todos juntos al
finalizar.
Ejecutar modificaciones
Cuando las configuraciones estén realizadas, habrá que ejecutarlas, por lo que se
seleccionará el elemento en Administración/Módulos/Aplicar actualizaciones
programadas.
Una vez que finalice este proceso, se ejecutará de forma automática un asistente de
configuración para los siguientes módulos, si lo necesitan.
Por último, cuando se instala un nuevo módulo, aparecen dos situaciones distintas:
1. En la primera, el componente a instalar no depende de ningún otro, de tal
manera que el sistema no va a desempeñar más acciones.
Página 36 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 37 de 129
Módulo 10: Sistema de Gestión Empresarial
http://doc.openerp.com/v7.0
Descripción: es posible utilizarlo para toda la contabilidad, como puede ser, por
ejemplo, el análisis contable y de costes, contabilidad de terceros, gestión de
presupuestos, impuestos, facturas de clientes y proveedores o el estado de las
cuentas bancarias.
• Purchase (compras)
• Sale (ventas)
Página 38 de 129
Módulo 10: Sistema de Gestión Empresarial
Descripción: se puede utilizar este módulo para gestionar las diferentes relaciones
con los clientes. Permite, asimismo, gestionar tareas como pueden ser la
comunicación, identificación, priorización, asignación, resolución y notificación.
Cuenta con la opción de hacer lanzamiento de recordatorios de forma automática,
eleva las peticiones, o lanza métodos específicos, entre otras opciones.
• HR (recursos humanos)
• Delivery (reparto)
Página 39 de 129
Módulo 10: Sistema de Gestión Empresarial
Existen una gran cantidad de módulos que se instalan por defecto y que tienen
traducción al castellano, aunque, existen también una serie de peculiaridades a la
hora de gestionar una empresa de nuestro país, de tal forma que, será preciso
adaptar los módulos originales a la normativa actual.
Los módulos específicos para España, pueden ser, entre otros, los que se detallan en
el anexo adjunto.
Instalación de módulos
OpenERP dispone de una gran cantidad de módulos con un gran número de
aplicaciones que se han desarrollado. Hoy en día, suele aparecer un nuevo módulo
cada cuatro o cinco días, en las versiones más actuales. Esto lo convierte en uno de
los sistemas que más rápido está creciendo.
Esta gran cantidad de módulos también presenta el inconveniente de que el tiempo
estimado en encontrar un módulo sea cada vez más elevado.
Cuando se localiza el software y se descarga, es preciso incorporarlo al sistema. Este
proceso no presenta demasiada dificultad y se puede llevar a cabo a través del menú
Administración en el apartado de Módulos, en el que se puede ir añadiendo
cualquier tipo de aplicación que se encuentre en el directorio, simplemente haciendo
clic en el elemento Import Module. Mediante este mecanismo, el fichero descargado
se copiará al directorio addons del servidor.
En ocasiones, este proceso puede fallar. Si esto ocurre, es conveniente trasladar los
ficheros comprimidos de manera manual al directorio.
Independientemente de la forma en la que se copien los datos, todavía no será
posible utilizar el módulo, ya que se debe incorporar previamente a la base de datos
Página 40 de 129
Módulo 10: Sistema de Gestión Empresarial
mediante Actualizar la lista de módulos, debiendo aparecer como uno más dentro
de Módulos.
Llegados a este punto, lo que se ha hecho hasta el momento es programar el sistema
para que pueda llevar a cabo la instalación o actualización, aunque estas funciones
no se van a realizar hasta que se pulse en Aplicar actualizaciones programadas.
Si se da el caso de que el instalador ha detectado alguna dependencia que no se
cumple, se informará de ello y será necesario añadir el módulo en cuestión antes de
continuar.
Configuración de módulos
Es posible configurar los diferentes módulos mediante el asistente que aparece al
realizar el proceso de instalación, en el menú Configuración. Estas opciones serán
diferentes dependiendo del módulo que haya que configurar.
Salvaguardar la configuración
Cuando el sistema está configurado, es conveniente realizar una copia de seguridad
para no perder los cambios realizados. Es posible hacerla para cualquier módulo
solamente instalando el módulo base_module_record y, a continuación, lanzando el
asistente desde Administración/ Personalización/ Creación de módulo/ Exportar
personalizaciones como módulo.
Para finalizar únicamente habrá que importar el módulo para poder instalarlo en el
sistema.
En OpenERP se pueden llevar a cabo bastantes configuraciones, como pueden ser los
menús, su organización, los informes, las distintas ventanas o vistas, entre otras. A
continuación, se exponen algunas de las configuraciones más frecuentes.
Menús:
Página 41 de 129
Módulo 10: Sistema de Gestión Empresarial
3. Configurar los iconos para la web, tanto para navegador móvil como para el
escritorio.
Traducciones:
Existe la posibilidad de que el sistema traduzca, de forma automática, cualquier
campo correspondiente a un formulario, asignándole un icono de traducción.
Página 42 de 129
Módulo 10: Sistema de Gestión Empresarial
- Menús a los que se puede acceder. Indican los menús que es posible utilizar.
- Acceso a las tablas de la base de datos (objetos). Ofrece información sobre
lo que es posible desarrollar en los menús.
Página 43 de 129
Módulo 10: Sistema de Gestión Empresarial
directa. Desde el cliente web, es posible acceder a las diferentes utilidades del botón
Bases de datos.
Además, existe la opción de realizar una copia de seguridad de cualquier base de
datos. Para lograrlo, se debe proporcionar la contraseña de administrador.
De la misma manera que se puede realizar una copia de seguridad, también es posible
restaurar desde un fichero creado a una nueva base de datos, configurando el
nombre de la nueva base de datos y su contraseña.
Para todas estas opciones, se puede utilizar la herramienta PGAdmin en PostgreSQL
que ofrece una serie de facilidades para crear y restaurar copias de seguridad.
Actualización de OpenERP:
OpenERP permite liberar las diferentes actualizaciones de forma mensual. Es
bastante recomendable para aquellos sistemas que se encuentran en producción, ya
que no incluye capacidades nuevas entre versiones.
Su funcionamiento se puede desarrollar en dos pasos: primero, se sobrescribe el
código del servidor con el de la actualización para, a continuación, pasar a sincronizar
los datos en la base de datos. En OpenERP se realiza mediante una serie de pasos que
se detallan a continuación:
1. Se realiza una copia de seguridad completa de todas las bases de datos y
ficheros que se encuentren en el servidor.
Página 44 de 129
Módulo 10: Sistema de Gestión Empresarial
Para actualizar todos los datos de los módulos se siguen los siguientes pasos:
1. El servidor tiene que completar su arranque y, a continuación, parar el
servidor mediante Ctrl+C. Es posible repetir este proceso para las distintas
bases de datos que se utilicen.
Página 45 de 129
Módulo 10: Sistema de Gestión Empresarial
• Debe ser un sistema capaz de eliminar la redundancia entre sus datos para
poder asegurar la coherencia entre todos (integridad).
Página 46 de 129
Módulo 10: Sistema de Gestión Empresarial
• Asegurar que los datos pueden permanecer a lo largo del tiempo (protección
contra fallos).
Página 47 de 129
Módulo 10: Sistema de Gestión Empresarial
Los niveles lógicos y conceptuales cuentan con un esquema único, una vez que se
hayan establecido. Siempre almacenan los datos de la misma forma. El esquema
relacional que se implementa en el nivel conceptual normalmente no suele cambiar.
Sin embargo, a nivel externo pueden aparecer tantos esquemas como sean
necesarios, entendiendo por esquema al conjunto de vistas necesarias para que un
usuario pueda realizar su trabajo de forma correcta.
Los diferentes procedimientos que se pueden utilizar mediante la herramienta
PgAdmin III a la hora de gestionar las bases de datos pueden ser:
Página 48 de 129
Módulo 10: Sistema de Gestión Empresarial
Lo primero que se debe hacer una vez conectados al servidor es crear una base de
datos mediante un procedimiento muy sencillo. Se selecciona, del menú contextual,
Nueva Base de Datos, estableciendo su correspondiente nombre, propietario,
codificación de caracteres, etc.
Una vez creada la base de datos, ya es posible añadir las distintas tablas según se
hayan definido en el estudio entidad-relación, junto con su posterior conversión al
esquema relacional. Se deben agregar los campos necesarios a cada tabla, además
de las restricciones necesarias.
Además, existe la opción de duplicar una fila haciendo un nuevo uso del menú
contextual.
Página 49 de 129
Módulo 10: Sistema de Gestión Empresarial
• Procedimientos almacenados
• Informes
Página 50 de 129
Módulo 10: Sistema de Gestión Empresarial
Gestión de compra-venta
• Plan de formación
• Problema planteado
Página 51 de 129
Módulo 10: Sistema de Gestión Empresarial
• Creación de socios
Página 52 de 129
Módulo 10: Sistema de Gestión Empresarial
• Órdenes de compras
Página 53 de 129
Módulo 10: Sistema de Gestión Empresarial
• Órdenes de ventas
Página 54 de 129
Módulo 10: Sistema de Gestión Empresarial
• Gestión de devoluciones
Es muy importante llevar a cabo los diferentes informes de las compras y ventas
realizadas para tener todo el proceso documentado. En OpenERP, se dispone de una
serie de herramientas que realizan este tipo de trabajo, y se encuentran en la opción
de Compras o Ventas dentro del menú Informes.
En los dos casos se cuenta con la opción de poder ver una lista con los diferentes
casos que es posible filtrar según el proceso seleccionado. También se puede realizar
una vista gráfica del análisis realizado mediante Vista gráfica.
Página 55 de 129
Módulo 10: Sistema de Gestión Empresarial
• Introducción
- Externos: utilizado para moverse entre los distintos almacenes o entre las
propias ubicaciones de un almacén.
Página 56 de 129
Módulo 10: Sistema de Gestión Empresarial
• Ubicación
- Vista: utilizada solo para organizar, nunca para contener stock. Esta ubicación
puede contener otras ubicaciones.
• Almacén
Página 57 de 129
Módulo 10: Sistema de Gestión Empresarial
• Plan de formación
• Problema planteado
1. En primer lugar, será preciso crear las ubicaciones necesarias, ya que todas
ellas dependerán de la ubicación padre (OpenERP). Se crearán tres
ubicaciones, una para cada tienda, y otra para el stock general. Todas ellas
serán ubicaciones internas.
Página 58 de 129
Módulo 10: Sistema de Gestión Empresarial
3. Cada almacén debe contar con las ubicaciones de entrada y salida y el stock.
4. Es posible modelar las distintas tiendas físicas incluyendo en cada una de ellas
el almacén que puedan utilizar.
5. Después, es posible añadir las categorías junto con los productos necesarios.
No hay que olvidar establecer el proveedor.
Página 59 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 60 de 129
Módulo 10: Sistema de Gestión Empresarial
Introducción
La contabilidad se encuentra completamente integrada en los sistemas de compras y
ventas, permitiendo el transcurso de la información en tiempo real.
La contabilidad está basada en dos fuentes principales que permiten un correcto
funcionamiento:
Plan de formación
Problema planteado
En este apartado de la gestión de contabilidad y siguiendo con el ejemplo de la tienda
de informática de apartados anteriores, se van a aprender los distintos
procedimientos básicos que puede utilizar un contable para que el usuario pueda
familiarizarse con ellos y pueda saber gestionarlos.
Aunque el usuario no debe centrarse en realizar tareas contables, sí que debe ser
capaz de resolver las dudas referentes a su utilización.
Página 61 de 129
Módulo 10: Sistema de Gestión Empresarial
• Ejercicios fiscales
En primer lugar, se debe crear el ejercicio fiscal con el que se va a trabajar, que
suele ser habitualmente de un año, si bien, cada empresa tiene la libertad de
comenzar y terminar este ejercicio en el momento que desee.
Lo que sí es común a todos los ejercicios es que deben estar formados por
periodos que coincidan con aquellos momentos de liquidación de la empresa
(generalmente, trimestres para PYMES).
El año fiscal se creará a través de Contabilidad/ Configuración/ Contabilidad
financiera/Periodos/Ejercicios fiscales, y, tras esto, debe aparecer un listado que
contenga todos los ejercicios fiscales que se han definido, junto con su estado
(abierto o cerrado). A través del botón Nuevo será posible crear un nuevo
ejercicio fiscal.
Después de esto, se introducen una serie de valores obligatorios, como pueden
ser el nombre del ejercicio, el código, y las fechas de inicio y fin. También es
posible indicar si se desean crear los periodos de forma automática o no.
• Periodos
Forman parte del ejercicio fiscal y es posible que coincidan con la liquidación de
impuestos que determine la ley actual y que realice la propia compañía.
Generalmente suelen ser trimestrales o mensuales.
Los periodos definen un principio y un fin y no se pueden solapar por defecto. Si
se desea, es posible eliminar esta condición indicándolo en el momento de su
creación, en los casos en los que se utilicen solamente periodos de cierre y
apertura del año.
Si lo que se pretende es crear los diferentes periodos de forma automática, es
posible hacerlo mediante Contabilidad / Configuración / Contabilidad financiera
/ Periodos / Periodos y pulsando el botón de Nuevo.
Página 62 de 129
Módulo 10: Sistema de Gestión Empresarial
• Diarios
• Impuestos
Página 63 de 129
Módulo 10: Sistema de Gestión Empresarial
• Mecanismos de pago
Y, para concluir, se destacan también los tipos de facturación que existen para un
determinado cliente.
• Plan contable
• Cuentas
Página 64 de 129
Módulo 10: Sistema de Gestión Empresarial
Gestión de facturas
A través de las facturas se justifican los pagos. Es fundamental que cada gasto esté
justificado y el propio sistema informático permite realizarlo de forma automática.
Es posible diferenciar la gestión de las facturas de los clientes de las de los
proveedores.
Gestión de asientos
Un asiento es un conjunto de apuntes que permiten representar algún movimiento
contable. OpenERP ofrece la posibilidad de crear los distintos asientos, tanto de
forma manual, como automática. Es más frecuente la segunda opción, ya que se
puede crear en el momento en el que se realiza el pago correspondiente.
En caso de utilizar la forma manual, es posible hacerlo a través de Contabilidad /
Asientos contables y, de esta manera, acceder a la gestión de apuntes y asientos.
Los dos tipos de operaciones más importantes que se pueden llevar a cabo con los
asientos son:
Página 65 de 129
Módulo 10: Sistema de Gestión Empresarial
• Conciliación de asientos.
Para ambos casos se seleccionan los elementos necesarios en los apuntes contables
que se encuentran en el menú lateral derecho y, una vez ahí, es posible llevar a cabo
la operación. En este menú también se dispone de la opción de poder romper la
conciliación de distintos asientos ya conciliados, permitiendo, de esta forma, la
modificación de los mismos.
• Modelos de impuestos para la Hacienda Española: 340, 37, 349. Una vez
introducidos los datos necesarios, se realizan de forma automática.
Cierre contable
Cuando finaliza un ejercicio fiscal, el contable correspondiente debe realizar una serie
de procedimientos especiales. Es bastante frecuente que, con el fin del periodo fiscal,
se calculen una serie de informes necesarios para que se realice el pago de impuestos.
Cerrar el año fiscal es un proceso más complejo. Como ya se ha indicado
anteriormente, el contable es el encargado de realizar las diferentes tareas sobre el
sistema de forma correcta, comprobando que no falte nada por contabilizar y que no
existan apuntes incorrectos, entre otras tareas. Una vez realizadas las distintas
comprobaciones, ya puede pasar a crear un inventario físico de existencias. En este
Página 66 de 129
Módulo 10: Sistema de Gestión Empresarial
apartado, se deben amortizar los activos existentes, ajustar las diferentes cuentas
que puedan influir sobre el ejercicio y calcular el impuesto de sociedades. Por último,
debe enumerar los asientos contables para que sean consecutivos.
A continuación, ya es posible cerrar el ejercicio, siguiendo una serie de pasos, como
pueden ser, entre otros:
Página 67 de 129
Módulo 10: Sistema de Gestión Empresarial
Plan de formación
Problema planteado
La gestión de recursos humanos (RRHH) tiene las siguientes funciones:
• Crear
• Modificar
• Mantener
Tanto a los empleados como sus contratos, además del control de asistencia al
trabajo, organización en caso de ausencias, gestión de nóminas y obtención de
informes, entre otras funciones.
Caso práctico de ejemplo: TeclitaSoft está creciendo y necesita contratar personal de
contabilidad para la Gestión Contable y de recursos humanos, externos a la empresa.
Se dividirán en dos partes, dentro de la gestión de RRHH, las cinco personas que
trabajan en la empresa. Por un lado, jefe y empleados y, por otro, los departamentos
de Ventas, Técnicos y Dirección.
La dirección solo contará con una persona, mientras que Ventas y Técnicos constarán
de dos personas cada uno.
Página 68 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 69 de 129
Módulo 10: Sistema de Gestión Empresarial
Gestión de asistencia
Como se ha detallado anteriormente, un usuario puede asistir al trabajo o faltar de
una forma justificada. En cualquiera de los casos, se debe gestionar la asistencia por
dos vías distintas:
• De forma monetaria.
• Organizativa.
Las dos formas deben contar con un documento que las justifique.
Página 70 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 71 de 129
Módulo 10: Sistema de Gestión Empresarial
Nóminas
Para la realización de las nóminas existen dos tipos de mecanismos: general y
específico. En esta Unidad Formativa se estudiará el mecanismo general por su mayor
sencillez.
En primer lugar, es preciso tener configurados los datos del contrato para crear las
diferentes nóminas. Lo primero que hay que hacer es cerrar las hojas de trabajo y, a
continuación, seleccionar el menú Recursos Humanos / Nómina / Nómina de los
empleados para crear las diferentes nóminas de los empleados.
Esta opción puede ser de ayuda en el caso de tener pocos empleados en la empresa,
pero, si es una empresa con un mayor número de empleados, es conveniente generar
las nóminas para los diferentes conjuntos de empleados mediante la opción de
Recursos Humanos / Nóminas y anticipos.
Para crear una nueva nómina se selecciona el botón de Nuevo y, a continuación, se
introducen los datos del empleado, el diario contable (diario de gastos), desde el que
se va a hacer el pago (diario bancario) y la fecha correspondiente.
En la opción de Comprobar hoja se puede llevar a cabo una vista previa de la nómina
y, si todo es correcto, es posible Aprobarla. De esta forma, la nómina pasa a ser válida
y ya está creada, aunque por el momento no se haya pagado. El pago es otro apartado
posterior en el que se crearán los asientos contables y se enviará la orden al banco
para que proceda con el pago.
Informes
Se pueden realizar numerosos informes para controlar la gestión del personal. Como
ya se ha indicado anteriormente, una de las herramientas más importantes para este
fin es el tablero o los propios informes. Ambos se pueden encontrar en el menú
Recursos Humanos/Informe/Tablero, y algunos de ellos son:
• Horario del empleado: facilita un informe con los horarios del empleado.
Página 72 de 129
Módulo 10: Sistema de Gestión Empresarial
PostgreSql
Para las empresas de hoy en día, la función más importante es su información
correspondiente. Esta información se puede desprender o inutilizar provocando
grandes pérdidas. Ante esta situación, es fundamental realizar una buena gestión de
la base de datos, estableciendo una correcta política de seguridad, la distribución de
datos y control de acceso.
PostgreSQL emplea varios ficheros de configuración, como puede ser, entre otros,
postgresql.conf, que establece los diferentes datos de funcionamiento. Este fichero
cuenta con una serie de secciones en las que se encuentran las auditorías.
Al desplazarse por este fichero aparece la sección ERROR REPORTING AND LOGGING,
que se encarga de la configuración de los aspectos de la creación de ficheros para las
auditorías.
La sección When indicará cuál es el tipo de mensajes que se pueden almacenar en el
caso de:
• Cliente (client_min_messages).
• Para el propio sistema (log_min_messages).
Página 73 de 129
Módulo 10: Sistema de Gestión Empresarial
Para configurar los datos correspondientes en la pasarela Web, se puede hacer uso
de los siguientes ficheros:
Página 74 de 129
Módulo 10: Sistema de Gestión Empresarial
Este módulo permite determinar los tiempos de ejecución que tiene cada función del
sistema.
El sistema permite realizar las funciones de instalación de un módulo para recoger
los módulos (profiling) para que, posteriormente, muestre los correspondientes
informes.
Página 75 de 129
Módulo 10: Sistema de Gestión Empresarial
Otras herramientas
Para finalizar este apartado, se señalan otras herramientas que es posible utilizar,
como son:
• http://docs.python.org/2/library/profile.html
Utilizada para crear módulos mediante el profiler de Python, con el
que se pueden obtener las estadísticas y tiempo de ejecución sobre su
uso.
• http://pgfouine.projects.pgfoundry.org/
Analizador de sentencias SQL que se encarga de ejecutar las
correspondientes órdenes SQL en la base de datos, mostrando los
tiempos y el uso.
• http://www.postgresql.org/docs/9.2/statics/sql-explain.html
Permite mostrar el plan de ejecución para una sentencia determinada.
Página 76 de 129
Módulo 10: Sistema de Gestión Empresarial
Plan de formación
Problema planteado
En este apartado, se deben proporcionar a los clientes una serie de nuevos servicios,
como son: el soporte telefónico y la gestión de reclamaciones. Además, se debe tener
la posibilidad de ofrecer de manera telefónica a los clientes diferentes ofertas que
pueden ser de su interés.
Todos estos servicios se pueden gestionar desde la plataforma, dejando la
información almacenada y comenzando con el proceso de venta, en el momento en
el que se llegue a un acuerdo con el cliente. De esta forma, se podrá dotar a la
empresa de un mayor valor.
Página 77 de 129
Módulo 10: Sistema de Gestión Empresarial
4. Oportunidades/Satges son las diferentes fases por las que debe pasar un
documento.
Gestión de iniciativas
El sistema puede diferenciar entre dos tipos de documentos:
Página 78 de 129
Módulo 10: Sistema de Gestión Empresarial
Una vez que el documento ha concluido todas las fases, la iniciativa habrá
llegado a su fin, por lo que se seleccionará el botón de Cerrado y se dará por
finalizada esta tarea.
Gestión de reclamaciones
Es inevitable que se produzca algún tipo de error en el sistema y no se tenga control
para solucionarlo. En este caso, es preciso facilitar un buen mecanismo para las
distintas reclamaciones que se puedan producir, para reducir, de esta manera, el
tiempo en solventar el error. Así, el cliente quedará más satisfecho y tendrá una
visión positiva del servicio de la empresa.
Para poner en marcha una reclamación se hará mediante Ventas/Servicio de
Postventa/Reclamaciones.
Página 79 de 129
Módulo 10: Sistema de Gestión Empresarial
Informes
Tal y como se ha indicado anteriormente, los informes son una parte fundamental de
los sistemas de información.
Mediante Ventas/Informes se puede comprobar que, de los seis componentes que
aparecen:
Página 80 de 129
Módulo 10: Sistema de Gestión Empresarial
La idea principal es crear una serie de pasos, haciendo uso de las herramientas más
comunes para el personal de informática, generando un tipo de documentación
informativa, descriptiva y organizativa que ayude a desarrollar la implantación.
Esta propuesta se puede adaptar a las distintas necesidades de un proyecto, sin llegar
a ser demasiado exhaustivos. Basta con realizar una simple aproximación para indicar
desde dónde se va a partir.
Página 81 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 82 de 129
Módulo 10: Sistema de Gestión Empresarial
Esta metodología dispone de cinco fases, en lugar de seis, como se vio en el apartado
anterior.
A continuación, se detallan:
- Estudiar el ámbito del proyecto: para poder llevar a cabo esta fase y
conocer el alcance y ámbito de la empresa, será preciso llevar a cabo
una serie de reuniones. En ellas se determinarán las funciones a
realizar por el sistema y la forma de proceder. Se planificará el
planteamiento para llevar a cabo la implantación de la aplicación con
los distintos departamentos y se regularán las acciones que deben
realizar cada uno de ellos. Como consecuencia de todas las reuniones,
se elaborará un documento con todo lo hablado en ellas y la
planificación temporal del proyecto.
Página 83 de 129
Módulo 10: Sistema de Gestión Empresarial
Una vez el sistema esté descrito mediante DFD, se puede crear el diseño
hardware del sistema: ordenadores, conexiones, distribución, etc.
Seguidamente, se pueden definir todos los elementos software que sean
necesarios: módulos a utilizar, permisos, configuraciones, etc.
Página 84 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 85 de 129
Módulo 10: Sistema de Gestión Empresarial
Se deben llevar a cabo estos cambios sin que afecte al resto del sistema.
Las funciones que se llevan a cabo en esta fase dependerán del tipo de
contrato:
- Operación normal.
- Soporte.
- Mantenimiento.
- Documentación al cliente.
Página 86 de 129
Módulo 10: Sistema de Gestión Empresarial
Una aplicación ERP es un software que ayuda a la gestión diaria de la empresa, desde
la planificación y control de las tareas a realizar, hasta los recursos disponibles en la
misma. Tiene el objetivo de conseguir que todos los datos importantes de la
compañía estén integrados en una misma herramienta, sin tener en cuenta el área a
la que pertenece la información.
Contar con un ERP como sistema de gestión empresarial facilita enormemente la
trazabilidad de las operaciones y, con ello, la resolución rápida de problemas. Todo
esto se ve reflejado en una respuesta rápida al cliente ante cualquier pregunta.
Es importante saber que el concepto de ERP va más allá del software, ya que debe
reflejar los procesos de una empresa y, cuanto más adaptable sea la herramienta,
mejor servicio se podrá dar a la clientela, ya que permitirá un funcionamiento más
óptimo de la empresa.
Página 87 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 88 de 129
Módulo 10: Sistema de Gestión Empresarial
3. Fichero mimodulo.py:
Mediante este fichero se pueden determinar aquellos objetos nuevos,
junto con sus propiedades, en formato Python.
También se pueden utilizar herramientas tipo DIA para la creación de
diagramas de clases y la generación de código automática.
Página 89 de 129
Módulo 10: Sistema de Gestión Empresarial
4. Fichero mimodulo_view.xml:
Este fichero permite determinar los distintos componentes OpenERP que
se deben crear para conseguir que el módulo se integre con el sistema. Un
determinado módulo está formado por vistas, gráficos, informes,
asistentes, flujos de trabajo, menús y acciones.
A continuación, se detallan algunos de ellos de forma más específica:
• Vista:
Es una representación gráfica del objeto en la parte del cliente. OpenERP
utiliza el paradigma MVC (Modelo Vista Controlador) para diferenciar los
datos de su representación. Mediante Python se ha definido la estructura de
los distintos datos y, en esta, se debe definir la estructura de visualización.
Se pueden diferenciar dos tipos de vistas:
- Tipo árbol: cuando se lista el contenido por filas.
- Tipo formulario: cuando se debe modificar e insertar datos.
• Menú:
Elemento que se va a utilizar para indicar, en la parte cliente, una determinada
acción, como pueden ser, abrir una determinada ventana, abrir informes,
entre otras.
Página 90 de 129
Módulo 10: Sistema de Gestión Empresarial
• Informe:
Recolección de datos en formato PDF o HTML.
• Gráfico:
Representación gráfica de un conjunto de datos.
• Asistente:
Conjunto de los distintos pasos secuenciales que se deben seguir a la hora de
configurar un módulo.
• Flujo de trabajo:
Definición dinámica de los datos: cómo se crean, cómo se modifican, etc.
Una vez creado un módulo, se necesitará, como mínimo, la definición de los menús,
además de las acciones de apertura de una vista, vistas de árbol y formulario. Sin ellas
será muy difícil instalar un módulo correctamente.
Página 91 de 129
Módulo 10: Sistema de Gestión Empresarial
• Vista formulario
Utilizada cuando se editan los datos, los campos se pueden distribuir a lo largo de
toda la visualización, utilizando una serie de reglas, como pueden ser:
• Vista en árbol
Utilizadas en los listados de datos, ya que son bastante sencillas y disponen de menos
opciones.
• Vista de búsqueda
• Vista de gráfico
Es una nueva forma de vista para que los distintos formularios puedan mostrar un
gráfico que ha sido formado a partir de unos datos determinados.
Página 92 de 129
Módulo 10: Sistema de Gestión Empresarial
Dentro de la etiqueta de definición de vista (tree, form, serach o graph) se debe crear
la estructura adecuada para ser visualizada por el usuario. En el momento de
implementarla, es posible diferenciarla entre dos tipos de elementos: grupales (los
que no muestran datos) y de datos (los que organizan los datos).
• Grupales:
- <notebook colspan=”Número”>
Permite crear un control de las distintas pestañas. Como mínimo, se
dispondrá de una pestaña dentro, que se definirá con <page.
- <page string=””>
Se trata de una etiqueta que permite organizar en pestañas el contenido de
un notebook. Es posible crear tantas etiquetas como pestañas sean necesarias
y, dentro, se puede definir la visualización haciendo uso de otras etiquetas
específicas de agrupación, salvo notebook y page.
Página 93 de 129
Módulo 10: Sistema de Gestión Empresarial
• Elementos de datos:
- <newline />
Permite crear un salto de línea en la visualización, de tal forma que obliga al
siguiente control a pasar a la siguiente fila.
- <field>
Define un campo que tiene que estar definido en el modelo de datos
obligatoriamente. Las propiedades disponibles son:
Página 94 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 95 de 129
Módulo 10: Sistema de Gestión Empresarial
En primer lugar, la posibilidad de crear una nueva vista completa desde cero,
referenciando al nuevo modelo, o volver a utilizar la vista que ha creado el padre y
volver a definirla.
Cuando se redefine una vista, hay que tener en cuenta que el objeto que se acaba de
crear ha extendido la tabla del padre para conseguir añadir campos, es decir, no se
ha creado una nueva.
Una vez determinados los campos que se van a utilizar, es preciso decirle a la vista
que utilice la que está definida por el padre. Esto debe hacerse cuando sea posible
añadir en la definición de la vista el campo <field name=”inherit_id”
ref=”id_vista_padre”/>. Así, el sistema va a interpretar la vista a la que se referencie,
incorporándola a la definición automáticamente.
Con esta incorporación de la vista padre se consigue que todos los campos existentes
se añadan a la nueva vista para que, a continuación, se realicen las modificaciones
oportunas para agregar nuevos campos.
A la hora de añadir nuevos campos a la vista heredada, se debe seguir una sintaxis
especial que se muestra a continuación:
<field name=”nombre_campo_eliminar_de_la_vista_padre”
position=”replace”/>
• Para definir los campos se debe seleccionar un campo base que exista
previamente a través de <field para añadir dentro tantas etiquetas como
campos nuevos se deseen crear.
• En los casos en los que sea más complicado determinar un campo porque
exista varias veces, se utilizará un elemento <xpath de XML para realizar una
búsqueda sobre el árbol creado y realizar en su interior todas las
modificaciones correspondientes.
Página 96 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 97 de 129
Módulo 10: Sistema de Gestión Empresarial
Página 98 de 129
Módulo 10: Sistema de Gestión Empresarial
2. Para crear los informes, se deben configurar antes las opciones de conexión
con el servidor, teniendo en cuenta que solo el administrador tendrá permisos
para subir informes utilizando este mecanismo.
Página 99 de 129
Módulo 10: Sistema de Gestión Empresarial
8. Por último, hay que subirlo al servidor mediante OpenERP Report Designer
/ Send to the server asignando el nombre correspondiente al informe, junto
con el tipo de informe que se va a generar.
3. Desarrollo de componentes
En este tema se tratará el lenguaje Phyton, en la versión 2.7. Se escoge este lenguaje
porque OpenERP, sistema que se ha visto en la Unidad Formativa anterior, está
programado bajo Phyton, por lo que es imprescindible el conocimiento de este
lenguaje de programación, así como poder programar diferentes módulos para el
sistema en cuestión.
PYTHON JAVA
edad=1 edad=1
while edad<18: while (edad<18){
edad+=1 edad++
if (edad%2)==0: if (edad%2==0){
continue continue
print “Es impar,” }
print “Adios” System.out.println(“Es impar”)
}
System.out.println(“Adios”)
Tipos básicos
• Representación numérica
Se puede utilizar mediante enteros simples (3) y enteros largos (3L), siendo la
diferencia entre ellos la cantidad de valores que pueden almacenar. También se
puede utilizar la notación tradicional en octal (027) y hexadecimal (0x3F), decimales
o en coma flotante (23.45) y en números complejos (2+7i). Lo más importante es
saber cuál es el valor máximo según el tipo que se utilice y la plataforma en la que se
ejecute.
• Coma flotante
suma (+), resta (-), multiplicación (*), división (/), división entera (//),
exponenciación (**) y módulo (%).
La división y la división entera no son diferentes, siempre y cuando los dos operandos
sean enteros.
Para el tratamiento de los bits se pueden utilizar los siguientes operadores:
Operación and (&), operación or (|), operación xor (ˆ), operación not (~),
desplazamiento a la izquierda (<<) y desplazamiento a la derecha (>>)
NOTA
Como ya se ha indicado, todos los elementos para Python son objetos, así que
los tipos numéricos también lo son.
Los números, además, cuentan con un conjunto de funciones que ofrecen el
acceso a diferentes funciones matemáticas avanzadas, como pueden ser, entre
otras:
• La raíz cuadrada (sqrt).
• Logaritmos (log10).
Tipo Booleano
Es el más conveniente cuando se trabaja con expresiones condicionales. Solo permite
almacenar los valores de True o False. El tipo booleano define una serie de operando,
que pueden ser:
• Comparación y → (and)
• Comparación o → (or)
• Negación de una expresión → (not)
• Igualdad → (==)
• Desigualdad → (!=)
• Mayor → (>)
• Mayor igual → (>=)
• Menor → (<)
• Menor igual → (<=)
Tipo cadena
Es posible representar las cadenas mediante comillas simples o comillas dobles,
nunca combinando las dos formas a la vez.
Mediante la barra invertida (\) puede introducir una serie de valores especiales, como
pueden ser, entre otros:
Al igual que en casos anteriores, las cadenas también son objetos, de tal forma que
permiten incorporar una serie de funciones bastante útiles, como pueden ser, entre
otras:
Las claves que más se utilizan son de tipo básico numérico o bien cadenas.
En caso de que sea necesario, existe la opción de extender el diccionario en cualquier
momento, simplemente utilizando la notación de los corchetes y una clave que no se
haya utilizado hasta el momento.
Para eliminar un registro, simplemente se usará la función del junto con el registro
que se quiera borrar, (del dVal[“clave”]). También se puede utilizar la función clear()
para el vaciado completo.
Listas
Las listas utilizadas en Python se refieren a las estructuras dinámicas que permiten
modificar su número de elementos. Se pueden definir de la siguiente forma:
Lista1 = [“valor1”, 2, 2+4i]
Cuando se necesite realizar alguna modificación sobre la tabla, se comenzará siempre
por el valor de índice en 0.
En Python, los índices correspondientes a las listas pueden ser positivos o negativos
si se empieza desde el final, donde Lista1[-1] correspondería a la última, Lista1[-2] a
la penúltima y así sucesivamente.
Conseguir recorrer la lista por sus elementos de forma consecutiva no es complicado,
basta con indicar tanto el índice inicial como el final y separarlos por los dos puntos
(:).
Se pueden distinguir dos operadores diferentes para las listas, de la misma forma que
en los diccionarios:
Es importante el orden que puede tener una determinada lista, desde su posición
inicial hasta la final. Existen una serie de mecanismos que ayudan a buscar
determinados elementos en una lista, como pueden ser, entre otros:
Para finalizar, una función bastante importante en las listas, como es el mapeo,
consigue aplicar una determinada función a cada elemento de la lista bajo la
siguiente sentencia:
[operación for variable in lista condición_opcional]
Tuplas
Las tuplas son muy parecidas a las tablas, tanto en el tamaño como en su contenido.
Aunque, en el caso de las tuplas, actúan como listas que no se pueden modificar, por
lo que son bastante más ligeras que las listas e incluso más eficientes.
Para poder acceder a algún elemento de la tupla, se hará de la misma forma que en
las listas:
Tupla1[2]
Como las tuplas son objetos fijos, no cuentan con métodos que le permitan modificar
el tamaño de las mismas, salvo el método index(valor), que devuelve la posición del
valor que corresponda con el que se pasa por parámetro.
Las listas y las tuplas, al ser tan parecidas en su funcionamiento, tienen la posibilidad
de poder crear unas a partir de otras.
Variables
Las variables en Python, al igual que en JavaScript, no necesitan ser definidas para
su utilización. Cuando se tenga que hacer uso de una nueva variable, solo habrá que
asignar el valor deseado y, a partir de ese momento, ya estará accesible.
Se pueden diferenciar dos tipos de variables, dependiendo del ámbito en el que
vayan a estar visibles:
• Globales: tienen un determinado valor a lo largo de todo el programa, para
las distintas funciones y clases definidas por el usuario.
• Locales: solo tienen sentido dentro del bloque en el que se inicialicen, como,
por ejemplo, dentro de una determinada función.
Como ya se ha indicado anteriormente, no es posible realizar la asignación en línea
tanto para lenguajes tipo C o Java, pero sí es posible hacer algo similar mediante las
tuplas. Las tuplas sí se pueden asignar entre ellas, de tal forma que es posible tener
en una parte una asignación de un número de elementos y, en la otra, otra asignación
diferente, obteniendo como resultado que cada elemento se asigne con un valor
correspondiente del otro lado.
A modo de ejemplo, quedaría de la siguiente forma:
((x, y, z)=(1, ”ABC”, True)), obteniendo, por tanto que:
x vale 1, y vale “ABC”, z vale True
Control de flujo
No se dispone de ningún elemento para poder indicar la finalización de un bloque,
por lo que se establece el contenido del mismo mediante el sangrado, indicando el
mismo número de espacios a todas las líneas que formen parte de él.
De esta forma, existen distintos niveles de sangrado dependiendo de la cantidad de
bloques existentes:
- La variante más simple que se presenta no cuenta con la parte del else y
ejecuta todas las líneas que cumplan una condición.
- Otra de las formas en las que puede aparecer es con las dos partes (if-else),
ejecutando la parte del if en caso de que la condición sea verdadera y, para
los demás casos, ejecutará la parte del else.
- Otro caso que se debe señalar es que este lenguaje no cuenta con la
tradicional sentencia switch o case. Por tanto, incorpora una estructura:
o elif <condicion>
o Se puede añadir a la condición if y else diferenciando los casos que
sean necesarios.
Es preciso señalar también que, al igual que muchos otros lenguajes, Python puede
utilizar estructuras parecidas al operador condicional (?:). A continuación, aparece un
ejemplo en el que se debe mostrar por pantalla “cero”, si la variable tiene ese valor
o “Distinto de cero”, si tiene cualquier otro valor.
• Bucle for
Cuando hay que recorrer un objeto repetitivo (listas, tuplas, etc.) se puede hacer uso
de la estructura for, cuya sintaxis es la siguiente:
for varInicio in Objrepetitivo
El bucle debe recorrer cada uno de los componentes que pertenezcan a la lista,
tomando un valor correspondiente en cada iteración.
Por ejemplo, si se disponen de cinco valores, se mostrarán aquellos que sean pares.
• Bucle while
Python solo puede utilizar el bucle while <condición>. No puede hacer uso de la otra
opción de la estructura do- while.
Bucle 1 Bucle 2
valor1=0; valor2=””
while valor<20: while True:
print “Valor: ”, valor1 valor2=raw_input(“ADIOS>”)
valor1+=2 if valor2 == ”adios”:
print “FIN” break
print valor2
El primer bucle va a estar repitiéndose hasta que valor1 tome el valor de 15. Una vez
que su valor sea 20, ya no se va a repetir más. En cada iteración que se produzca, irá
aumentando la variable de dos en dos, mostrando solo aquellos valores que sean
pares.
El segundo bloque utilizará la palabra break para salir del bucle, una vez que el
usuario escriba la palabra ADIOS.
En el siguiente ejemplo se declara una clase aula, con dos métodos principales, que
van a ser: getTipo() y setTipo(), y que se van a utilizar para establecer los
correspondientes tipos declarados en el constructor.
• _del_(self): destructor.
En la POO, se puede determinar si dos objetos son iguales mediante los operadores:
Herencia
Cualquier sistema orientado a objetos hace uso de la herencia. En este apartado, se
define la herencia basándose en OpenERP y en los objetos correspondientes del
sistema. Por tanto, es posible diferenciar entre tres tipos diferentes de herencia que
se van a basar en los valores de las propiedades _name, _inherit e _inherits.
Permite añadir atributos a un objeto que ya existe, por tanto, no necesita crear
ninguno nuevo. Se utiliza en el caso en el que las propiedades _name e _inherit sean
iguales.
Para que los campos nuevos que se creen se puedan ver en las vistas, se deben
extender estas vistas del objeto del que se ha heredado y, a continuación, añadirlos
de la misma forma.
En este caso, se va a crear un objeto nuevo que va a heredar todos los componentes
del padre, aunque va a ser independiente.
Se crea la herencia cuando la propiedad _name tiene un valor no registrado y la
propiedad _inherit tiene un valor registrado. De esta forma, se van a ir añadiendo al
objeto nuevo todos los campos que están definidos en el heredado.
Se usa este tipo de herencia cuando es necesario crear un nuevo objeto a partir de
otros ya existentes (herencia múltiple).
Para ello, hay que establecer un nombre de objeto que no esté registrado en la
propiedad _name y crear el diccionario correspondiente con todos los objetos
existentes que vayan a heredar, con la variable _inherits.
Por tanto, el nuevo objeto va a tener todos los campos de todos los objetos, más
todos los que se le añadan.
Definición de campos
Cada objeto debe determinar cuáles son los datos que lo componen. Estos datos son
los que hay que crear en la base de datos, teniendo en cuenta que se pueden heredar
de otros objetos. Para tal fin, se debe hacer uso de la propiedad _columns, en la que
se puede definir un diccionario con los valores correspondientes.
La clave de este diccionario debe ser el nombre del campo que hay que crear, junto
con el valor de la definición.
A continuación, se muestra un listado con algunos de los campos que se pueden
utilizar:
Instalación de Python
Para programar en Python, lo único que es necesario es tener instalada una versión
del intérprete junto con un editor de texto simple.
Aunque la configuración básica no es la más adecuada, se puede desarrollar bajo
Eclipse, complementado para el desarrollo bajo Python, ya que, de esta forma,
permitirá contar con todas las facilidades más actuales de programación, sangrado
de líneas, resaltado, autorrelleno, etc.
Primer proyecto
Como ejemplo, se procede a crear un primer proyecto para comprobar que todo
funciona de forma correcta. En este caso, se va a desarrollar un ejemplo muy
frecuente en el mundo de la programación, como es el “Hola Mundo”.
A continuación, se siguen los pasos para este ejemplo:
Cada etiqueta <record> indicará un registro a insertar. Será preciso indicar todos los
campos requeridos de la tabla.
Una de las ventajas que presenta Python con respecto a los demás lenguajes es que
permite pasar como parámetros cualquier tipo de datos y la función tiene que ser la
que se encargue de realizar las conversiones correspondientes. La función, como tal,
debe devolver un valor a través de return. En caso de que se pase, automáticamente
devolverá None.
En algunas ocasiones, se necesitará hacer una llamada a una función, aunque con
menos parámetros de los que se habían definido en un primer momento. En este
caso, se añadirá una asignación a continuación de la definición del parámetro,
indicándole al sistema que, si ese valor no está establecido, haga uso del que se le
está indicando. Esta característica es conocida con el nombre de parámetros
optativos o parámetros con valores por defecto.
Una de las características más importantes de las funciones es la posibilidad que
existe de reordenar los parámetros cuando se realice una llamada a una determinada
función, simplemente anteponiendo el nombre del parámetro que se ha definido a
otro valor, mediante una asignación, y, de esa manera, poder situarlo en el lugar
deseado.
Igual que el lenguaje de programación JAVA, existe un repositorio de funciones
llamados API, que, de forma oficial, ofrecen una serie de colecciones y métodos para
facilitar la implementación de los códigos fuentes.
Control de errores
A lo largo de un programa pueden ir apareciendo errores por distintas situaciones:
Todas las excepciones que se generen deben acogerse para ser tratadas, si no, el
intérprete puede proporcionar un mecanismo asignado por defecto que muestre un
mensaje por pantalla y consiga frenar la aplicación.
Las excepciones son objetos explicativos que van a tener asignado un tipo definido
en el lenguaje, proporcionando una serie de datos que detallen las causas que han
generado el fallo. Por tanto, una Excepción IOError va a determinar un error en una
operación de entrada-salida, una de MemoryError es la que se va a crear cuando no
quede suficiente memoria, etc.
Las excepciones son lanzadas por el sistema y deben ser capturadas para evitar un
determinado comportamiento. Se pueden gestionar mediante las construcciones:
try, except, else, finally (try catch de Java).
Dentro del bloque try es posible capturar un error que puede venir determinado con
distintas sentencias except.
En el caso en el que se vayan a tratar dos errores de la misma manera, se puede incluir
una línea except para ambos, encerrados entre paréntesis y separados por comas.
Además, se puede incluir un bloque else para ofrecer un mayor tratamiento, en caso
de que se produzca algún error.
Dentro de finally se pueden situar las sentencias que se van a ejecutar una vez que
se trate un determinado problema.
Como ya se ha indicado, el sistema es el que genera las excepciones, aunque, en
ocasiones, es conveniente que los usuarios hagan uso de algún mecanismo para
informar del error. En cualquier momento el usuario puede lanzar una excepción
utilizando la palabra raise junto con algún objeto que herede de Exception.
A continuación, se señalan algunas de las excepciones más conocidas:
• BaseException: permite crear una clase base para todas las demás.
Documentación
Se puede dar el caso en el que la persona que actúa como intérprete haga uso
también de las anotaciones hechas previamente. En ese caso, es conveniente
documentar la función o clase mediante una cadena que explique el funcionamiento
y los componentes principales.
Es posible escribir esta cadena en la línea siguiente a la de la definición de una
determinada función (def Mifunion (…)), cuando se crea la clase (class Miclase…), o
al comienzo de algún módulo, utilizando triples comillas, después de la codificación
de caracteres.
Si bien es cierto que el contenido que es posible incluir es libre, es conveniente utilizar
las recomendaciones de javadoc, que son:
Bibliografía
Webgrafía
http://www.dataprix.com