01.dam M10 2109 Qa03
01.dam M10 2109 Qa03
01.dam M10 2109 Qa03
DE GESTIÓN
EMPRESARIAL
Desarrollo de aplicaciones multiplataforma
Ilerna
ILERNA, centro autorizado con código 25002775 (Lleida), 28077294 (Madrid) y 41023090 (Sevilla) www.ilerna.es
© Ilerna Online S.L., 2021
© Imágenes: Shutterstock
Reservados todos los derechos. No se permite la reproducción total o parcial de esta obra, ni su incorporación a un
sistema informático, ni su transmisión en cualquier forma o por cualquier medio (electrónico, mecánico, fotoco-
pia, grabación u otros) sin autorización previa y por escrito de los titulares del copyright. La infracción de dichos
derechos puede constituir un delito contra la propiedad intelectual.
Ilerna Online S.L. ha puesto todos los recursos necesarios para reconocer los derechos de terceros en esta obra
y se excusa con antelación por posibles errores u omisiones y queda a disposición de corregirlos en posteriores
ediciones.
5. Desarrollo de componentes............................................................ 90
5.1. Python como lenguaje para el desarrollo de sistemas
ERP - CRM. Características y sintaxis del lenguaje.
Declaración de datos, estructuras de programación
y sentencias del lenguaje............................................................. 92
5.2. Entornos de desarrollo y herramientas
de desarrollo en sistemas ERP y CRM....................................... 105
5.3. Operaciones con datos en los objetos ..................................... 107
5.4. Extracciones de informaciones contenidas en
sistemas ERP - CRM, procesamiento de datos......................... 108
5.5. Llamadas a funciones, librerías de funciones (API)................. 108
5.6. Depuración de un programa...................................................... 109
5.7. Manejo de errores...................................................................... 110
Bibliografía / webgrafía.....................................................................112
1
IDENTIFICACIÓN DE SISTEMAS ERP - CRM
Sistemas de gestión empresarial
CONCEPTO
CONCEPTO
7
Tema 1: Identificación de sistemas ERP - CRM
8
Sistemas de gestión empresarial
CONCEPTO
9
Tema 1: Identificación de sistemas ERP - CRM
Finanzas
10
Sistemas de gestión empresarial
PARA + INFO
CRM ERP SYSTEM Compras
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. RRHH Producción
ERP actual
Empresa 1 Empresa 4
Empresa ERP
Empresa 2 Empresa 3
11
Tema 1: Identificación de sistemas ERP - CRM
Hay que tener en cuenta que, a veces, puede ser difuso el concepto
de módulo en los ERP. Por ejemplo, los CRM (Customer Relations-
hip Management) son a veces considerados como un módulo más
dentro de los ERP y, otras veces, son considerados como un compo-
nente aparte.
SAP
12
Sistemas de gestión empresarial
• SAP ERP: forma parte del SAP Business Suite descrito anterior-
mente. Es uno de los ERP más importantes y usados en el mundo
empresarial. Posee las funciones más importantes para la ges-
tión y organización de una empresa. Por ello, está dividido en
módulos, entre los que podemos destacar los siguientes:
13
Tema 1: Identificación de sistemas ERP - CRM
Oracle
• Módulo de finanzas.
• Módulo de compras y ventas.
• Módulo de gestión de proyectos.
• Módulo de gestión del rendimiento (Enterprise Performance
Management).
14
Sistemas de gestión empresarial
Desde hace varios años, SAP y Oracle son las dos empresas que más
dominio poseen en el entorno empresarial ERP a nivel mundial.
Microsoft
OpenBravo
15
Tema 1: Identificación de sistemas ERP - CRM
PARA + INFO
Odoo
• Gestión de proyectos.
• Contabilidad financiera y analítica.
• Gestión de inventario.
• Recursos humanos.
16
Sistemas de gestión empresarial
¡RECUERDA!
17
Tema 1: Identificación de sistemas ERP - CRM
MVC
WAD
PostgreSQL database
Application MDD
Arquitectura server
Dictionary
Application server
MVC
Open Object client-web
18
Sistemas de gestión empresarial
Atención al cliente
Ventas
Soporte técnico
Marketing
19
Tema 1: Identificación de sistemas ERP - CRM
PARA + INFO
20
Sistemas de gestión empresarial
SugarCRM
SuiteCRM
21
Tema 1: Identificación de sistemas ERP - CRM
• Módulo de meetings.
• Módulo de empleados.
• Módulo de oportunidades.
• Módulo de campañas de marketing.
• Módulo de calendario.
• Módulo de llamadas.
22
Sistemas de gestión empresarial
23
1.9. Sistemas gestores de bases de
datos compatibles con el software
Hasta ahora se han visto distintas herramientas que permiten
cumplir las necesidades empresariales de analizar la información
recopilada y obtener conocimiento de los datos (ERP o CRM). El
principal inconveniente de estos sistemas es el tiempo de respuesta
de las transacciones ejecutadas, ya que la información está repar-
tida en diferentes módulos. Esto dificulta el proceso del análisis de
la información, así como los reportes.
PARA + INFO
24
Sistemas de gestión empresarial
25
Tema 1: Identificación de sistemas ERP - CRM
Definición de
objetivos
Gestión Definición de
Revisión proyectos requerimientos
Diseño y
Implementación
modelización
26
Sistemas de gestión empresarial
27
Tema 1: Identificación de sistemas ERP - CRM
1. Seleccionar un navegador.
2. Conectarse a una determinada página de Internet.
3. Hacer un ping sobre la dirección de la tarjeta instalada.
4. Realizar un Telnet al puerto 5432 de la dirección de la tarjeta
instalada.
5. Hacer ping a la dirección localhost (127.0.0.1).
6. Realizar un Telnet al puerto 5432 de la dirección localhost.
7. Realizar un ping al nombre DNS del ordenador.
8. Por último, realizar un ping a la dirección de la tarjeta instalada
desde un ordenador conectado a la red.
28
Sistemas de gestión empresarial
29
2
INSTALACIÓN Y CONFIGURACIÓN DE
SISTEMAS ERP - CRM
Sistemas de gestión empresarial
Hoy en día, existen licencias de todo tipo, cada una de las cuales
tiene diferentes características.
31
Tema 2: Instalación y configuración de sistemas ERP - CRM
Monopuesto
Cliente-servidor
Cliente-servidor web
32
Sistemas de gestión empresarial
Servicios en la nube
CLIENTE
SERVIDOR DE
ACCESO
CLIENTE
SERVIDOR WEB SERVIDOR BBDD
WEB
33
Tema 2: Instalación y configuración de sistemas ERP - CRM
En este caso, nos vamos a decantar por Odoo, ya que cuenta con
unos requerimientos mínimos para su funcionamiento, destacando
como el más importante la configuración de la base de datos.
34
Sistemas de gestión empresarial
BUSCA EN LA WEB
En esa misma página, pero más abajo, están los enlaces de descarga
del software. Haremos clic en el botón de descarga que correspon-
de a la licencia Community, que es la licencia libre, y para el sistema
operativo Windows.
35
Tema 2: Instalación y configuración de sistemas ERP - CRM
36
Sistemas de gestión empresarial
37
Tema 2: Instalación y configuración de sistemas ERP - CRM
38
Sistemas de gestión empresarial
• Módulo de compras.
• Módulo de ventas.
• Módulo de marketing.
• Inventario.
Contabilidad y finanzas
39
Tema 2: Instalación y configuración de sistemas ERP - CRM
Gestión de productos
Compras
Ventas
Recursos humanos
Gestión de almacenes
40
Sistemas de gestión empresarial
Punto de venta
Parámetros de configuración
Gestión de usuarios
41
Tema 2: Instalación y configuración de sistemas ERP - CRM
Configuración de módulos
Acceso al sistema
42
Sistemas de gestión empresarial
PARA + INFO
43
Tema 2: Instalación y configuración de sistemas ERP - CRM
44
Sistemas de gestión empresarial
45
3
ORGANIZACIÓN Y CONSULTA DE LA
INFORMACIÓN
Sistemas de gestión empresarial
PARA + INFO
47
Tema 3: Organización y consulta de la información
48
Sistemas de gestión empresarial
49
Tema 3: Organización y consulta de la información
50
Sistemas de gestión empresarial
51
Tema 3: Organización y consulta de la información
52
Sistemas de gestión empresarial
Vistas
En un sistema ERP, las vistas son una parte fundamental. Como hemos
visto anteriormente, las vistas se utilizan para mostrar a un usuario
del sistema una información que no está en una misma tabla, sino
que dicha información está repartida en diferentes tablas.
53
Tema 3: Organización y consulta de la información
54
Sistemas de gestión empresarial
EJEMPLO
55
Tema 3: Organización y consulta de la información
56
Sistemas de gestión empresarial
2. Introducción de productos
Al igual que es necesario introducir en nuestro ERP todos los
proveedores y clientes que una empresa puede tener, también
se deben introducir todos los productos que la empresa compra,
vende o almacena. Así, los ERP suelen gestionar los productos
con un módulo específico para ellos o como una parte de otro
módulo más principal, como el de ventas o el de inventario. Re-
cordamos que cada ERP tiene una estructura distinta, aunque la
funcionalidad y contenido suele ser muy similar.
En la version 13 de Odoo, los productos pueden introducirse
dentro del módulo de Ventas. Para ello, lo primero que debe-
mos de comprobar es que tengamos dicho módulo instalado.
57
Tema 3: Organización y consulta de la información
58
Sistemas de gestión empresarial
Ubicación
Corresponde a una parte de la estructura jerárquica y permite
representar la sección de un almacén. Se pueden diferenciar los
siguientes tipos de ubicación a la hora de crear una estructura:
– Vista: utilizada solo para organizar, nunca para contener
stock. Esta ubicación puede contener otras ubicaciones.
– Clientes y proveedores: se refiere a ubicaciones virtuales
que permiten representar la salida de los productos y la en-
trada de material.
– Interno: permite gestionar el stock.
59
Tema 3: Organización y consulta de la información
Almacén
Se utiliza para agrupar las distintas ubicaciones, pudiéndolas
gestionar conjuntamente, de tal forma que un almacén consta
de una ubicación de entrada (de donde vienen las mercancías),
una de salida (hacia donde van los productos), y una ubicación
de stock (desde donde se realiza la venta de productos).
– Plan de formación
Crear
clientes / proveedores
Categorías de
productos
Crear productos
Crear orden de
compraventa
Comprobar los
niveles de stock
60
Sistemas de gestión empresarial
61
Tema 3: Organización y consulta de la información
Por otro lado, podemos aplicar filtros sobre los listados, o agrupar
los elementos que se van a listar en función de las necesidades que
el usuario tenga en un momento dado.
62
Sistemas de gestión empresarial
Pedidos y ventas
63
Tema 3: Organización y consulta de la información
Gestión de albaranes
64
Sistemas de gestión empresarial
Los ERP permiten la gestión de factura tanto con los clientes como
con proveedores.
Gestión de asientos
Los ERP nos permiten apreciar aquellas facturas que todavía no han
sido aprobadas. Una de las tareas más importantes en la contabi-
lidad es que una factura debe ser aprobada antes de ser abonada,
por lo que es conveniente que se apruebe cuanto antes y tener muy
en cuenta esta zona del tablero.
65
Tema 3: Organización y consulta de la información
Cierre contable
Gestión de devoluciones
66
Sistemas de gestión empresarial
Órdenes de compras
Plan de formación
Gestión de los
Gestión de facturas alimentos
67
Ejercicios fiscales
Periodos
Diarios
Es conveniente indicar el tipo de diario y sus cuentas contables por defecto, que son las que se van
a utilizar a la hora de crear los diferentes asientos, y un modo de visualización para gestionar los
asientos, junto con el mecanismo de numeración de los mismos.
Plan contable
Se refiere a la estructura jerárquica de las distintas cuentas contables. Muchos ERP también nos
permiten gestionar los planes contables.
Una vez se ha elaborado el plan contable, no se suele modificar, ya que habitualmente se diseña
a gusto del usuario. Excepcionalmente, podrían cambiar las necesidades de la empresa y, en ese
caso, necesitar alguna modificación. Por ejemplo, hay ocasiones en las que surgirá la necesidad de
modificar alguna cuenta debido a algún cambio en el plan contable.
Gestión de Alta de
Nómina
la asistencia contratos y empleados
Informes
Problema planteado
La buena gestión de recursos humanos (RRHH) es una de las piezas importantes en cualquier em-
presa y puede ser gestionada por un ERP. Entre otras opciones, los ERP nos permiten crear, modificar
y mantener los departamentos y trabajadores de la empresa que tenemos registrados en el sistema.
Además, pueden gestionarse otros aspectos como los contratos de los empleados, la asistencia al
trabajo, la organización en caso de ausencias, la gestión de nóminas o la obtención de informes,
entre otras funciones.
• Los contables serán los encargados de diseñar la estructura, los contratos de los empleados, las nó-
minas necesarias y los informes.
• Los empleados deben justificar su asistencia al trabajo fichando en la página correspondiente del
sistema, pueden solicitar vacaciones, informar ante cualquier ausencia, etc.
69
Tema 3: Organización y consulta de la información
EJEMPLO
Gestión de asistencia
• De forma monetaria.
• Organizativa.
Las dos formas deben contar con un documento que las justifique.
PARA + INFO
70
Sistemas de gestión empresarial
71
Tema 3: Organización y consulta de la información
Monitorización en PostgreSql
• Cliente (client_min_messages).
• Para el propio sistema (log_min_messages).
• Ante el fallo de una sentencia (log_min_duration_statement).
• Si una sentencia lleva demasiado tiempo en ejecución.
• (log_min_duration_statment). Se expresa en milisegundos.
72
Sistemas de gestión empresarial
Control de rendimiento
http://docs.python.org/2/library/profile.html
https://www.postgresql.org/docs/9.2/sql-explain.html
73
Tema 3: Organización y consulta de la información
74
Sistemas de gestión empresarial
75
4
IMPLANTACIÓN DE SISTEMAS ERP - CRM
EN UNA EMPRESA
Sistemas de gestión empresarial
A lo largo de los años, se han ido desarrollando diferentes estudios para crear planes de instala-
ción para los sistemas informáticos, con sus correspondientes ventajas e inconvenientes. Uno de
los principales aspectos que hay que tener en cuenta, desde el primer momento, es saber que una
aproximación desorganizada llevará al fracaso del proyecto.
Es importante conocer que la mayoría de las implantaciones que no llegan a buen fin son casi siempre
por una mala organización. Por tanto, es imprescindible que se establezca, en un primer momento,
un procedimiento ordenado y fiable.
No es posible crear una metodología que sea eficiente para todos los proyectos, ya que cada
uno es diferente y tiene sus propias particularidades. Lo que sí es posible llevar a cabo es realizar
un mecanismo que sea común para todas ellas con posibilidad de que se pueda adaptar a todos los
casos que se presenten.
PARA + INFO
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 organizati-
va que ayude a desarrollar la implantación.
Esta propuesta se puede adaptar a las distintas necesidades de un proyecto, sin llegar a ser demasia-
do exhaustivos. Basta con realizar una simple aproximación para indicar desde dónde se va a partir.
Análisis
Mantenimiento Diseño
Implementación Desarrollo
Pruebas
Ciclo
Ciclode
devida
vidaclásico.
clásico
77
Tema 4: Implantación de sistemas ERP - CRM en una empresa
Esta fase lleva a la fase de diseño del sistema, tanto a nivel físico
como lógico, originando la documentación técnica correspondien-
te para poder llevar a cabo el desarrollo.
78
Sistemas de gestión empresarial
A continuación, se detallan:
79
• Fase 2: desarrollo. En esta fase se puede crear el sistema in-
formático completo sobre papel. Se comenzará analizando la
especificación funcional para, de esta forma, ampliar el docu-
mento (mediante diseño top-down) hasta el máximo nivel en el
que se especifique la entrada-salida de datos, modificaciones de
los mismos, etc.
– Análisis detallado.
– Diseño físico del sistema.
– Diseño lógico del sistema.
– Revisión de previsiones.
80
Sistemas de gestión empresarial
81
Tema 4: Implantación de sistemas ERP - CRM en una empresa
82
Sistemas de gestión empresarial
no solo habrá que elegir bien los módulos que se van a instalar,
sino que además se podrán modificar módulos ya existentes para
adaptarlos mejor aún al modelo de negocio e incluso el desarrollo
de nuevos módulos.
Crear un módulo
• Vista:
Es una representación gráfica del objeto en la parte del cliente.
Se pueden diferenciar dos tipos de vistas:
83
Tema 4: Implantación de sistemas ERP - CRM en una empresa
• Vista formulario
Utilizada cuando se editan los datos, los campos se pueden dis-
tribuir a lo largo de toda la visualización, utilizando una serie de
reglas, como pueden ser:
– Cada campo debe tener su etiqueta con el nombre.
– Los campos van situados de izquierda a derecha y de arriba a
abajo dependiendo del orden en el que estén definidos.
– A cada pantalla la definen cuatro columnas y un número de filas
indeterminado. Cada campo va a utilizar, por defecto, dos co-
lumnas, una para la etiqueta y la otra para el campo.
– Es posible utilizar una etiqueta especial para dividir una colum-
na en tantas como sean necesarias.
• Vista en árbol
Utilizadas en los listados de datos, ya que son bastante sencillas y
disponen de menos opciones.
• Vista de búsqueda
Sirve para complementar a la vista en árbol, ya que permite aña-
dir un panel de búsqueda y filtrado en su parte superior.
84
Sistemas de gestión empresarial
• 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.
En la versión 13 de Odoo, podemos editar varias vistas. Por
ejemplo, podríamos cambiar el formato de la vista resultante de
la lista de productos. Para ello, deberíamos ir a la lista de pro-
ductos, como hemos visto anteriormente y elegir la opción de
Editar Vista: Lista.
85
Tema 4: Implantación de sistemas ERP - CRM en una empresa
PARA + INFO
• Grupales:
– <separator string=”Nombre a mostrar” colspan=”Número”>
Permite crear una división entre los diferentes campos median-
te una línea y un texto. El texto que se debe mostrar aparecerá
en la propiedad string y el número de columnas necesarias se
definirán mediante colspan.
– <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 etique-
tas 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.
– <group colspan=”Número” rowspan=”Número” expands=”-
yes” col=”Número” string=”Cadena a mostrar”>
86
Sistemas de gestión empresarial
87
Tema 4: Implantación de sistemas ERP - CRM en una empresa
Para crear una nueva vista debemos tener en cuenta los siguientes
aspectos:
88
Sistemas de gestión empresarial
Para poder explicar este apartado y tras haber creado varios table-
ros de forma estándar, ya se pueden definir los que se han creado
en este caso.
89
5
DESARROLLO DE COMPONENTES
Sistemas de gestión empresarial
PARA + INFO
91
Tema 5: Desarrollo de componentes
92
Sistemas de gestión empresarial
PYTHON JAVA
edad=1
edad=1
while (edad<18){
while edad<18:
edad++
edad+=1
if (edad%2==0){
if (edad%2)==0:
continue
continue
}
print “Es impar,”
System.out.println(“Es impar”)
print “Adios”
}
System.out.println(“Adios”)
PARA + INFO
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 tradi-
cional en octal (027) y hexadecimal (0x3F), decimales o en coma
flotante (23.45) y en números complejos (2+7i). Lo más impor-
tante 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
Se usa para la representación de valores decimales, teniendo en
cuenta la menor precisión que garantiza Python, expresada en
el estándar IEEE 754, que determina que los valores deben estar
comprendidos entre ±2.22*10-308 y ±1.79*10308 .
93
Tema 5: Desarrollo de componentes
Para aquellos casos en los que sea necesaria una mayor precisión,
es recomendable utilizar valores en decimal. En este caso, es un ob-
jeto específico de Python, por lo que se debe importar. Este ofrece
una precisión de hasta veintiocho decimales. Los números decima-
les también se pueden escribir mediante notación científica. Los
números complejos, por su parte, se dividen en dos partes, la real y
la imaginaria, y también pueden operar entre ellos.
suma (+), resta (-), multiplicación (*), división (/), división entera (//),
exponenciación (**) y módulo (%).
¡RECUERDA!
Tipo Booleano
• Comparación y → (and)
• Comparación o → (or)
• Negación de una expresión → (not)
94
Sistemas de gestión empresarial
• Igualdad → (==)
• Desigualdad → (!=)
• Mayor → (>)
• Menor → (<)
Tipo cadena
95
Tema 5: Desarrollo de componentes
Una vez creado, se puede tener acceso a cada uno de sus elemen-
tos de la siguiente forma:
Listas
96
Sistemas de gestión empresarial
PARA + INFO
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 lis-
tas que no se pueden modificar, por lo que son bastante más ligeras
que las listas e incluso más eficientes.
97
Tema 5: Desarrollo de componentes
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.
Variables
98
Sistemas de gestión empresarial
Control de flujo
99
Tema 5: Desarrollo de componentes
• 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:
• 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=””
print valor2
100
Sistemas de gestión empresarial
class nombre_clase:
• _del_(self): destructor.
101
Tema 5: Desarrollo de componentes
Categoría
Libro 1/1
+name: char
Es/Tiene
+título: char
+autor: char
+isbn: char
+precio: float
1/n
+resumen: text
+fecha: date
+revisado: boolean
+aprobado: selección: sí, no, pendiente
102
Sistemas de gestión empresarial
Herencia
Definición de campos
Cada objeto debe determinar cuáles son los datos que lo com-
ponen. 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.
104
Sistemas de gestión empresarial
BUSCA EN LA WEB
105
Tema 5: Desarrollo de componentes
BUSCA EN LA WEB
Primer proyecto
106
Sistemas de gestión empresarial
<?xml versión=”1.0”?>
<terp>
<data>
<record>
/*En el interior de esta marca se indi-
cará la información*/
</record>
</data>
</terp>
107
5.4. Extracciones de informaciones
contenidas en sistemas ERP - CRM,
procesamiento de datos
Debido a la importancia que tienen los datos en estos tipos de
herramientas, la aplicación ERP-CRM favorece la exportación e
importación de los datos. En el apartado anterior se ha podido
comprobar cómo se hace posible la carga inicial en las tablas me-
diante archivos XML.
Una vez definida la función, es posible utilizarla cada vez que sea
necesario de la siguiente manera:
Una de las ventajas que presenta Python con respecto a los de-
má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.
108
Sistemas de gestión empresarial
BUSCA EN LA WEB
109
Tema 5: Desarrollo de componentes
Dentro del bloque try es posible capturar un error que puede venir
determinado con distintas sentencias except.
110
Sistemas de gestión empresarial
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 pro-
duzca algún error.
Dentro de finally se pueden situar las sentencias que se van a ejecutar una vez que se trate un de-
terminado 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.
• Exception: clase base para todas aquellas excepciones que no se correspondan con entrada-salida.
• AritmeticError: clase base para aquellos errores aritméticos, pudiendo extender de ella los si-
guientes: FloatingPointError, OverflowError, ZeroDivisionError, etc.
• EOFError: indica que se ha sobrepasado el fichero.
• IOError: indica que se ha producido un error de entrada-salida.
• ImportError: indica error en la importación. Además, permite comprobar las diferentes funciona-
lidades del sistema.
• IndexError: error en el índice de acceso.
• KeyError: encuentra una clave que no existe.
Documentación
Realizar la documentación de un código es una labor muy importante, ya que permite facilitar la tarea
tanto al usuario, como a futuros programadores que tengan que trabajar con el mismo código. Además,
Python cuenta con algunas facilidades que es posible utilizar para llevar a cabo esta documentación.
Primero, se puede hacer uso de la almohadilla (#) para comentar las líneas que se deseen hasta el
final de línea. También, es posible hacerlo utilizando las triples comillas simples, que van a permitir
comentarios en varias líneas.
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, uti-
lizando 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 recomen-
daciones de javadoc, que son:
111
BIBLIOGRAFÍA / WEBGRAFÍA
” César San Juan Pastor, Sistemas de gestión empresarial. Garceta, 2015.
„ http://www.dataprix.com
„ https://www.odoo.com/documentation/user/13.0/es/
112