CASOS
PRÁCTICOS
SISTEMAS
DE GESTIÓN
EMPRESARIAL
INFORMÁTICA Y COMUNICACIONES
TEMA 1
Identificación de sistemas
ERP - CRM
Caso práctico 1
Debido al uso de herramientas de control manuales, como las hojas
de cálculo, y a la descoordinación entre los diferentes programas
de gestión utilizados (control de inventario, contabilidad, nóminas,
etc.), muchas empresas tienen problemas para conciliar los datos
registrados con sus métricas financieras reales. Supongamos que
en la empresa en la que trabajas existen los siguientes problemas:
1. Errores de contabilidad derivados de no actualizar de forma
correcta el coste de los productos.
2. Errores en el registro de las horas trabajadas por el personal, así
como del control de horas extraordinarias.
3. Problemas en la cadena de suministro, tanto en la recepción
como en el envío de los productos comercializados. Esto se
deriva en la imposibilidad de satisfacer algunos pedidos, ya sea
por falta de previsión en cuanto a las existencias, o bien porque
existan retrasos o errores en la reposición de las existencias ya
adquiridas.
4. Necesidad de contratar un equipo contable externo.
Indica qué posibles soluciones y mejoras sobre los procesos po-
drían obtenerse; en este caso, de la implementación de un ERP.
Caso práctico 2
Explica cuáles serían los principales retos y peligros para una em-
presa a la hora de implementar un sistema ERP.
2 Casos prácticos
Caso práctico 3
La empresa Livingyou necesita mejorar la forma en que se relacio-
na con sus clientes. A lo largo de los años, dicha empresa ha venido
detectando los siguientes problemas:
• Problemas al derivar las gestiones que surgen de la interacción
con los clientes al departamento interno más adecuado.
• Uso deficiente de las redes sociales como método de interacción
con los clientes.
• Problemas a la hora de valorar y asignar nuevos contactos
comerciales.
• Problemas con el seguimiento de procedimientos concursales y
las ofertas realizadas a clientes actuales o potenciales.
Indica qué posibles soluciones y mejoras sobre los procesos
mencionados podrían obtenerse de la implementación de una so-
lución de CRM.
Sistemas de gestión empresarial 3
TEMA 2
Instalación y configuración de
sistemas ERP - CRM
Caso práctico 1
Muchos programas de ERP y CRM requieren de un servidor web
para funcionar, incluso en modo monopuesto. SuiteCRM requiere
de los siguientes componentes: Apache, el motor de base de datos
MySQL o MariaDB, y PHP.
Descarga, instala y realiza la configuración básica de estos
componentes bajo Windows, incluyendo la creación de una base
de datos denominada suitecrt.
Caso práctico 2
Como continuación del caso práctico anterior…
Descarga, instala y realiza la configuración básica de SuiteCRM
bajo Windows.
TEMA 3
Organización y consulta de la
información
Caso práctico 1
En la instancia de SuiteCRM que has instalado en los ejercicios an-
teriores…
Introduce algunos contactos en dicha instancia y exporta los
datos en formato CSV. De forma resumida, indica cómo importa-
rías datos desde un archivo exportado de esta forma.
4 Casos prácticos
TEMA 4
Implantación de sistemas
ERP - CRM en una empresa
Caso práctico 1
Para ilustrar el funcionamiento de un asistente para la creación de
formularios e impresos…
Investiga y describe de forma resumida el proceso de creación
de un modelo de factura en SuiteCRM.
Caso práctico 2
En los ERP y CRM, los informes personalizados utilizan las estructu-
ras y los datos existentes en la plataforma para generar vistas que
mejoran la capacidad de gestión de ciertas áreas, como por ejem-
plo el seguimiento de ofertas, campañas de marketing, ventas, etc.
SuiteCRM dispone de varios mecanismos para generar informes,
uno de los cuales es el Análisis dinámico.
Describe de forma resumida cómo generarías uno de estos infor-
mes, y cómo lo exportarías.
Sistemas de gestión empresarial 5
TEMA 5
Desarrollo de componentes
Caso práctico 1
Una operación habitual en cualquier software que trabaje con
archivos de datos es la importación de registros desde archivos
externos. Normalmente se trata de archivos con formato CSV, en
los que cada elemento está separado por comas, pero también es
posible usar archivos de texto en los que cada archivo corresponda
a un campo o columna de una tabla, y cada línea dentro de un ar-
chivo corresponda a un registro o fila de dicha tabla. Por ejemplo,
imaginemos un archivo denominado nombre.txt donde hemos
guardado, por orden de ID, los nombres de cada uno de nuestros
clientes, y otro llamado apellido.txt donde tenemos almacenados
sus primeros apellidos siguiendo ese mismo orden.
Escribe un código en Python que lea estos archivos, los almacene
en sendas matrices, y presente la lista de nombres y apellidos por
pantalla.
Caso práctico 2
Añade al código del ejercicio de la actividad anterior un me-
canismo de manejo de tres posibles tipos de error: que alguno de
los archivos esperados no exista, que alguno contenga más de un
nombre por fila (lo cual no permite el método numpy.loadtxt() uti-
lizado) y cualquier otro tipo de error.
6 Casos prácticos
Sistemas de gestión empresarial 7
SOLUCIONARIO
TEMA 1
Identificación de sistemas
ERP - CRM
Solución del caso práctico 1
En primer lugar, con un ERP es posible detectar y corregir de forma
rápida errores en la evaluación de los inventarios, lo que tiene la
consecuencia directa de reducir el gasto en horas del equipo de
contabilidad. Este control más preciso sobre las existencias y los
márgenes comerciales se derivará en un crecimiento de los bene-
ficios, así como en un mayor crecimiento de fuentes de ingresos
como el comercio electrónico, que de por sí requiere de un buen
nivel de automatización en los procesos.
En cuanto a las nóminas, un ERP debería reducir enormemente el
tiempo necesario para realizar el cálculo de los salarios y la gestión
de los pagos, así como la planificación de los periodos vacacionales
y días libres, lo que beneficiará también a los trabajadores al ace-
lerar el cobro de las nóminas y tener acceso una mejor información
acerca de sus circunstancias laborales.
Finalmente, un ERP contribuye a paliar los problemas intrínsecos
a una cadena de suministros compleja, no solo evitando errores,
sino también ayudando a efectuar una previsión adecuada de las
existencias con base en los pedidos habituales. Esto proporciona
un mejor servicio al cliente y estimula un aumento en las ventas sin
necesidad de aumentar, a su vez, el personal o los recursos dedica-
dos a los sistemas de gestión implementados.
Solución del caso práctico 2
Una cuestión central a la hora de implementar una plataforma ERP
es, evidentemente, la selección de la solución a adoptar. La elec-
ción del proveedor más idóneo debe basarse en la evaluación de al
menos cinco propuestas distintas que se adapten, por experiencia,
características técnicas y coste, al tamaño de nuestra empresa,
así como al producto o servicio que se esté comercializando. Es
necesario que todas las propuestas presenten un plan de imple-
mentación, una demostración práctica y un presupuesto acorde
con los trabajos por realizar.
Sistemas de gestión empresarial 9
Una vez seleccionada la plataforma, el reto más importante será la
gestión del cambio, especialmente de cara a los empleados, quie-
nes deberán adaptar sus procedimientos al ERP. Por este motivo,
para estimular una rápida adopción será necesario explicar a los
trabajadores, incluso antes de abordar las formaciones específicas,
en qué medida el ERP les ayudará a conseguir sus objetivos con
menos esfuerzo, y dedicar las horas de formación necesarias para
que la transición sea lo más suave posible.
Pero si bien la resistencia al cambio es uno de los principales fac-
tores que pueden poner en peligro el éxito de la implantación del
ERP, es una planificación que no contemple un análisis y gestión
de riesgos adecuados. Por ejemplo, si la empresa tiene problemas
de funcionamiento que no están derivados directamente de sus
sistemas de gestión de la información, sino de otros procesos em-
presariales como la creación de nuevas sucursales o la absorción
de otros negocios, es necesario identificar y resolver antes dichas
situaciones o, al menos, prever y adelantarse al impacto negativo
que puedan tener en la implementación de la plataforma. En defi-
nitiva, dedicar un mayor o menor tiempo a la fase de planificación
puede significar la diferencia entre el éxito o el fracaso de una so-
lución ERP.
Solución del caso práctico 3
La gestión del servicio de atención al cliente es una de las más im-
portantes en una empresa, ya que determina el nivel de satisfacción
de los clientes con los servicios prestados, lo cual resulta clave para
fidelizarlos. A la hora de establecer los procesos automáticos en los
que asistirá el CRM, es pues fundamental contemplar la creación
de criterios para clasificar y derivar de forma rápida y correcta los
problemas más comunes que llegan al servicio de atención al clien-
te. Esto no solo nos permitirá resolver de forma rápida y eficiente
dichos problemas, sino obtener un ahorro sustancial en los recursos
utilizados, lo cual permitirá sostener un crecimiento continuado en
las ventas sin tener que aumentar el gasto en personal de soporte.
Por otra parte, las redes sociales son, hoy en día, el método prefe-
rido por las personas para comunicarse, no solo con sus conocidos,
sino también con las empresas de las cuales son clientes. Por este
motivo, es importante que los sistemas de comunicación em-
presa-cliente integren este tipo de medios, lo cual se consigue,
en un CRM, mediante la instalación y configuración de módulos
10 Solucionario
específicos, por ejemplo, para WhatsApp, Facebook, LinkedIn y
otras plataformas sociales. De esta forma la comunicación con los
clientes puede llegar a ser mucho más efectiva e inmediata que con
los métodos tradicionales, como son el teléfono o el correo electró-
nico, quedando además registro de cada una de las interacciones
(propósito, estado de la gestión, contacto, etc.).
En cuanto a la valoración y asignación de nuevos contactos comer-
ciales, un CRM puede automatizar también este proceso mediante
la creación de una serie de criterios de valoración que detecten du-
plicidades (por ejemplo, si el contacto ya está asignado o pertenece
a una organización ya delegada a un representante comercial), y
que, en última instancia, deriven estos contactos a las personas
más indicadas. Esto puede conseguirse comprobando en la base
de datos de clientes unos pocos datos clave, como el dominio del
correo electrónico o la zona geográfica del contacto.
Finalmente, un buen CRM nos ofrecerá una visión de 360 grados
del negocio, lo cual incluye el seguimiento de indicadores que
muestren no solo el estado general de la empresa, sino todos aque-
llos procedimientos comerciales en marcha: concursos, contratos
activos, acuerdos pendientes de renovación, ofertas comerciales
realizadas y ofertas comerciales ganadas o perdidas. Esto no solo
permite a las empresas ser más eficaces a la hora de realizar el se-
guimiento de todas las ventas, sino también analizar los motivos
por los cuales algunas de ellas se perdieron y, posiblemente, reali-
zar ajustes que permitan prevenirlo en el futuro.
Sistemas de gestión empresarial 11
TEMA 2
Instalación y configuración de
sistemas ERP - CRM
Solución del caso práctico 1
bit.ly/3D0c10E 1. Los requisitos de SuiteCRM pueden satisfacerse instalando y
configurando cada servicio de forma manual, o mediante un
instalador que automatice todo el proceso. En este caso lo ha-
remos utilizando XAMPP, que podemos descargar desde este
enlace y que instalaremos, con las opciones por defecto, desde
un perfil de administrador del sistema. Es necesario escoger
una versión de XAMPP que incluya una versión de PHP anterior
a la 8 para que no falle el script de instalación de SuiteCRM, de
forma que optaremos por la 7.4.27.
2. Deberemos desactivar también el control de cuentas de usuario
de Windows para asegurarnos de que todos los componentes
instalados funcionan correctamente. Para ello, escribimos UAC
en el cuadro de búsqueda de la barra de tareas y selecciona-
mos el primer resultado del listado, Cambiar configuración de
Control de cuentas de usuario. En el diálogo de configuración,
establecemos el deslizador en la posición inferior, No notificar-
me nunca.
3. Al finalizar la instalación se nos mostrará el panel de control de
XAMPP, desde donde podremos iniciar y configurar los servicios
necesarios, en este caso, Apache y MySQL.
Imagen 1. Imagen 2. Imagen 3.
12 Solucionario
4. También tendremos que crear manualmente la base de datos
que usará SuiteCRM. Para ello, abrimos nuestro navegador y
vamos a http://localhost/phpmyadmin. A continuación, abrimos
la sección SQL y escribimos en el editor la siguiente consulta
(el nombre de usuario, suitecrm-admin, y la contraseña, iler-
na2022, pueden reemplazarse por otros según convenga),
pulsando el botón Continuar para crear la base de datos y su
correspondiente usuario:
CREATE DATABASE suitecrm
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER ‘suitecrm-admin’@’localhost’;
CREATE USER ‘suitecrm-admin’@’127.0.0.1’;
CREATE USER ‘suitecrm-admin’@’::1’;
SET PASSWORD
FOR ‘suitecrm-admin’@’localhost’=PASSWORD(‘ilerna2022’);
SET PASSWORD
FOR ‘suitecrm-admin’@’127.0.0.1’=PASSWORD(‘ilerna2022’);
SET PASSWORD
FOR ‘suitecrm-admin’@’::1’=PASSWORD(‘ilerna2022’);
GRANT ALL PRIVILEGES ON
suitecrm.* TO ‘suitecrm-admin’@’localhost’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON
suitecrm.* TO ‘suitecrm-admin’@’127.0.0.1’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON
suitecrm.* TO ‘suitecrm-admin’@’::1’ WITH GRANT OPTION;
Imagen 4.
Sistemas de gestión empresarial 13
Solución del caso práctico 2
bit.ly/3qigAOJ 1. En primer lugar, descargamos el paquete de instalación de
la versión 7.10.35 de SuiteCRM, que encontraremos en este
enlace (otros paquetes más recientes pueden dar errores con
la versión de XAMPP instalada). Descomprimiremos el archivo
ZIP descargado en una nueva carpeta denominada suitecrm,
que crearemos dentro de C:\xampp\htdocs. Ahora ya podremos
iniciar el proceso de instalación del CRM, para lo cual abrimos
el navegador y vamos a la dirección http://localhost/suitecrm/
install.php.
2. Tras aceptar la licencia de uso, se comprobará si el entorno
del sistema cumple con los requisitos, y cualquier advertencia
aparecerá en color rojo. Por ejemplo, para utilizar las funciones
de correo electrónico del programa será necesario haber habi-
litado el módulo IMAP de PHP en el archivo de configuración
C:\xampp\php\php. Para ello lo abrimos con el Bloc de notas,
localizamos la línea ;extension=imap, eliminamos el punto y
coma inicial, y reiniciamos Apache.
14 Solucionario
3. El siguiente paso consiste en la configuración de la base de
datos. Como mínimo tenemos que indicar el nombre de usuario
y contraseña de la base de datos (el que hemos creado en el
paso 4 del ejercicio anterior), una contraseña de administración
para SuiteCRM (el nombre del administrador es, por defecto,
admin, pero se puede cambiar también) y una dirección de
correo electrónico. Pulsamos el botón Next y el script procede a
crear todas las tablas necesarias en la base de datos.
4. Accedemos a http://localhost/suitecrm e introducimos el nom-
bre de usuario y contraseña de administración del CRM (no
confundir con el nombre de usuario de la base de datos), con lo
que por fin podremos acceder a la interfaz de SuiteCRM.
5. Ahora podemos instalar el idioma español para poder trabajar bit.ly/3iijPBb
con la interfaz traducida. Para ello descargamos el paquete de
idioma adecuado desde este enlace. En SuiteCRM, desplegamos
el menú del usuario (esquina superior derecha), seleccionamos
Admin y entramos en Module Loader, donde pulsaremos el
botón Elegir archivo y escogeremos el paquete de idioma que
habíamos descargado (SuiteCRM core (es-ES).zip). Pulsamos
Install, y a continuación Commit. Regresamos a Admin y, en esta
Sistemas de gestión empresarial 15
ocasión, hacemos clic en Repair > Quick Repair and Rebuild. Ter-
minada la reconstrucción, cerramos la sesión y, en la pantalla de
inicio de sesión, ya nos aparecerá el selector de idioma.
6. SuiteCRM ejecuta algunas tareas programadas por lo que, si
queremos aprovechar esta función, tendremos que crear un
archivo denominado suitecrm.bat y ejecutarlo al iniciar la se-
sión utilizando el programador de tareas de Windows. Dentro
tendremos que copiar las siguientes instrucciones:
cd /D C:\xampp\htdocs\suitecrm
php.exe -f cron.php
16 Solucionario
TEMA 3
Organización y consulta de la
información
Solución del caso práctico 1
1. Tras introducir la información, vamos al listado de contactos y
seleccionamos aquellos que deseemos exportar. Para selec-
cionar todos los contactos es posible usar el botón desplegable
de la esquina superior izquierda del listado y escoger la opción
Seleccionar todo.
2. A continuación, desplegamos el botón Bulk Action y selecciona-
mos la opción Exportar.
Sistemas de gestión empresarial 17
3. Los registros quedarán exportados en un archivo de datos sepa-
rados por comas denominado Contactos.csv.
4. También podemos usar un archivo separado por comas expor-
tado de esta forma para crear nuevos registros o actualizar los
existentes. En este caso, desde el menú Contactos seleccionare-
mos Importar Contactos. Usaremos el botón Elegir archivo para
localizar el archivo a exportar. Como acción de importación
seleccionamos Crear Registros o Crear y Actualizar Registros,
según lo que proceda, y pulsaremos el botón Siguiente. En este
punto los datos se leen y se detectan automáticamente las
propiedades del archivo (aquí es posible indicar si el archivo ha
sido exportado desde Salesforce.com o Microsoft Outlook); tras
pulsar de nuevo Siguiente, confirmamos los campos a importar,
tras lo cual se configura la comprobación de duplicados y, final-
mente, se procede con la importación.
18 Solucionario
TEMA 4
Implantación de sistemas ERP -
CRM en una empresa
Solución del caso práctico 1
1. Podemos encontrar la sección de Análisis dinámico en el menú
TODO. Una vez en ella, hacemos clic en la opción Crear Factura
del menú lateral.
2. El asistente nos presenta una serie de campos a rellenar. Los
botones en forma de flecha muestran una ventana con los
registros correspondientes en la base de datos; por ejemplo,
podemos seleccionar una cuenta de entre todas las registradas,
con la ventaja de que, automáticamente, se completarán en el
formulario la dirección de facturación y dirección de envío.
Sistemas de gestión empresarial 19
3. Finalmente indicamos los productos y servicios a facturar con
sus respectivos importes, que serán añadidos automáticamen-
te al total de la factura.
4. Una vez creada la factura, podemos editarla, duplicarla y en-
viarla mediante correo electrónico. También podemos generar
un PDF, pero para ello antes tendremos que crear un formato de
factura usando el módulo PDF - Plantillas, disponible también
en el menú TODO.
20 Solucionario
5. Para facilitarnos la tarea disponemos de una serie de ejemplos
preconfigurados que podemos cargar mediante el desplegable
Cargar Muestra. Solo tendremos que editar el modelo a nuestro
gusto y guardarlo con un nombre descriptivo.
6. Ahora ya podemos generar la factura en PDF para imprimirla,
almacenarla o enviarla por correo.
Sistemas de gestión empresarial 21
Solución del caso práctico 2
1. Podemos encontrar la sección de Análisis dinámico en el menú
TODO. Una vez en ella, hacemos clic en la opción Crear Spot del
menú lateral, o en el enlace Nuevo del área principal.
2. Damos un nombre a la vista y escogemos un área de análisis en
el cuadro desplegable. Cada área muestra su correspondiente
tabla en la parte inferior de la pantalla, en cuya columna iz-
quierda podemos ver todos los campos de los que consta.
22 Solucionario
3. Para obtener los datos que incluirá nuestro informe, arrastra-
mos los campos relevantes desde la columna izquierda hasta
la derecha, e iremos viendo cómo se va construyendo la vista a
medida que añadimos más campos.
4. De cada uno de los campos seleccionados podemos excluir
manualmente aquellos registros que no nos interesa ver en el
listado. Una vez generado el informe, lo almacenamos con el
botón Guardar.
Sistemas de gestión empresarial 23
5. Para exportar los datos, existen módulos comerciales que se
pueden usar para generar documentos en distintos formatos.
No obstante, una solución sencilla y gratuita es seleccionar con
el ratón las celdas de la tabla generada en la vista de análisis
dinámico y copiarla directamente sobre una hoja de cálculo.
24 Solucionario
TEMA 5
Desarrollo de componentes
bit.ly/3u9AHzK
Solución del caso práctico 1
1. Descarga los archivos de texto que hemos preparado para este
ejercicio (desde este enlace), o créalos usando cualquier editor
de texto simple, como el Bloc de notas. Incluye cinco nombres
de pila en el primero y cinco apellidos en el segundo, a razón de
un elemento por línea.
2. Instala el módulo numpy en tu IDE (consulta la documentación
técnica de tu entorno de programación para saber cómo hacer-
lo) e impórtalo en el programa:
import numpy as np
3. Almacena el contenido de los dos archivos en sendas matrices
usando el método numpy.loadtxt():
nombre = np.loadtxt(‘nombre.txt’, dtype=’str’)
apellido = np.loadtxt(‘apellido.txt’, dtype=’str’)
4. Crea una variable para los índices y otra con la longitud de cual-
quiera de las dos matrices, ya que se supone que contienen el
mismo número de líneas:
IN = 0
LON = len(nombre)
5. Ejecuta un bucle donde se imprimen el nombre y apellido por
orden de índice.
while IN < LON:
bit.ly/3u4Lifm
print(nombre[IN],apellido[IN])
IN += 1
Puedes copiar el código en tu IDE desde el archivo importar.py
que se encuentra en este enlace.
Sistemas de gestión empresarial 25
Solución del caso práctico 2
1. Al principio del código, importamos la biblioteca sys, que nos
permitirá salir del programa, y añadimos la instrucción try:
import sys
import numpy as np
try:
2. Al final del programa, añadimos los bloques de excepciones
usando la instrucción except. El primero bloque maneja las
excepciones de archivo no encontrado (FileNotFoundError), el
segundo las de error en los valores (ValueError) y el tercero es
inespecífico, por lo que aplica a cualquier otro error:
except FileNotFoundError:
print(‘Archivo no encontrado’)
sys.exit()
except ValueError:
print(‘Una de las líneas contiene más de un valor’)
sys.exit()
except:
print(‘Se produjo un error’)
sys.exit()
bit.ly/3JrZpBJ Puedes copiar el código en tu IDE desde el archivo importar2.py
que encontrarás en este enlace.
26 Solucionario
Sistemas de gestión empresarial 27
CASOS
PRÁCTICOS
SISTEMAS DE GESTIÓN
EMPRESARIAL
INFORMÁTICA Y COMUNICACIONES
Centro integral de
formación profesional