Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Luego de este taller el usuario estará en capacidad de automatizar los procesos de su empresa que
no impliquen interacción con formularios externos, es decir cuando todos los formularios son
diseñados en la herramienta BPM.
Taller de automatización de procesos con
COBUS BPM
© 2018 COBUS CIA LTDA
Todos los derechos reservados. Ninguna parte de esta obra puede ser reproducida de alguna
forma o medio, sea este gráfico, electrónico o mecánico, incluyendo fotocopia, grabación, o
mediante sistemas de almacenamiento y recuperación - sin el permiso escrito del editor.
Los productos que se mencionan en este documento son marcas comerciales registradas
por sus respectivos propietarios. El editor y el autor no pretenden estas marcas.
Si bien todas las precauciones se han tomado al elaborar este documento, el editor y el autor
no asumen responsabilidad alguna por errores u omisiones, ni por daños resultantes del uso
de la información contenida en este documento o del uso de los programas y código fuente
que puede acompañarlo. En ningún caso, el editor y el autor serán responsables de ninguna
pérdida de beneficios o cualquier otro daño comercial causado o presuntamente causado
directa o indirectamente por este documento.
Tabla de Contenidos
5
DISEÑO DE FORMULARIO Y
PROCESO
Módulo I
DISEÑO DE FORMULARIO Y PROCESO 7
2. Presionar el botón
para llamar al diseñador de formularios.
4. Seleccionar el control
de la barra de HERRAMIENTAS localizada al lado izquierdo del diseñador
de formularios y arrastrarla a la sección de diseño.
5. Modificar las propiedades Filas y Columnas del control agregado para especificar 2 columnas
y 3 filas.
7. Seleccionar la etiqueta de la primera fila y modificar la propiedad texto por el valor Fecha de
Solicitud.
8. Seleccionar las etiquetas de la segunda y tercera fila, modificar la propiedad Texto con los
valores Solicitante y Justificación de la Solicitud.
9. Agregar controles tipo Texto en la segunda columna de la tabla HTML tanto para la primera y
segunda fila, agregar un control tipo Multilínea en la tercera fila.
10. Modificar la propiedad: ID para el control Texto de la primera fila con el nombre de: txtfechasol.
11. Cambiar el valor de la propiedad ID con: txtsolicitante para el texto de la segunda fila.
13. Aumentar en la primera fila la etiqueta Número solicitud y su respectivo control tipo Texto
como se indica, además modificar la propiedad Tipo del control Texto correspondiente a Fecha
de Solicitud a Fecha.
16. Seleccionar la COLUMNA1 de la tabla de datos y modificar la propiedad Título con el valor
Producto.
17. Seleccionar el resto de columnas de la tabla de datos y colocar los títulos: Cantidad, Precio
Aprox. y Total Aprox.
22. Agregar un Control Etiqueta, cuya propiedad Texto será: Producto Solicitado.
23. Añadir una tabla HTML formada por dos filas y una columna en la primera fila se colocará la
etiqueta Producto Solicitado y en la siguiente fila irá la tabla de datos.
24. Agregar un control botón en la misma celda de la tabla de datos, con el texto Calcular y el ID
btncalcular.
Este se utilizará para que el formulario realice un postback y se calculen las expresiones. Todas las
sentencias se calculan cada vez que la página realiza un postback.
25. Colocar una nueva tabla HTML formada por cuatro filas y dos columnas.
27. Poner controles tipo Texto en la primera, segunda y cuarta fila de la segunda columna de la
tabla HTML. En la tercera fila colocar un control tipo Desplegable.
28. Modificar la propiedad Texto de las etiquetas agregadas a la tabla HTML con los valores: Total
Orden Aprox, Dirección de Entrega, Ciudad de Entrega, Fecha Posible de Entrega.
29. Cambiar el valor de la propiedad ID de los controles de texto y desplegable agregados con un
valor que permita identificar a los mismos.
30. Modificar en el texto que identifica a Total Orden Aprox la propiedad de Tipo a Doble.
31. Cambiar el valor de las propiedades Tipo Texto y Tipo Valor del control desplegable a Cadena
y Entero respectivamente.
32. Agregar ítems al control desplegable pulsando el ícono Items que se encuentra en la
propiedad Lista.
35. Guardar los ítems agregados al control Desplegable pulsando el botón de Aceptar localizado
en la sección inferior.
36. Modificar la propiedad Tipo al valor Fecha, en el cuadro de texto que se encuentra al lado de la
etiqueta Fecha Posible de Entrega.
37. Crear una expresión para calcular el total aproximado de los productos, para ello se selecciona
el Texto Total Aprox, y se elige el icono
de la propiedad Valor Inicial.
39. Pulsar el botón Agregar que se encuentra en la parte inferior de Campos por Formulario, para
así enviarlo a la sección denominada expresión.
40. Repetir el mismo proceso realizado ahora con CAMPOS POR FORMULARIO la opción: (T)
tabladatos1.(C)txtprecioapr.
41. Aumentar el signo de multiplicación (*) entre los campos ingresados y Probar dicha expresión
ingresada.
42. Crear una expresión para visualizar el total aproximado de los productos, para ello se
43. Seleccionar el campo, que permitirá realizar la suma de los productos que se ingresarán en la
tabla de datos.
45. Agregar una nueva tabla HTML, formada por una columna y cuatro filas, para organizar los
controles ya creados y poner un identificador representativo en la propiedad ID.
46. Agregar un control Etiqueta en la primera fila que tenga el texto: Registrar solicitud de compra.
48. Modificar también el estilo a toda la celda donde se colocó la etiqueta poniendo el valor Titulo
en la propiedad CssClass.
49. Colocar las tablas HTML creadas en los puntos anteriores dentro de las celdas de la última
Tabla HTML quedando de la siguiente manera:
51. Cambiar en todas las secciones de Registrar Solicitud de Compra la propiedad de Solo
Lectura de Falso a Verdadero.
52. Incluir una nueva tabla HTML con dos filas y dos columnas.
55. Modificar los textos de las dos etiquetas con los valores Aprobado y Comentario Negado.
60. Elegir la sección de mantenimiento de Listas pulsando el ícono que se muestra en la imagen.
62. Colocar el valor SI_NO en el campo LISTAS, seleccionar la opción Entero para el campo Tipo
Valor y pulsar el botón de Guardar.
64. Regresar al diseño del formulario que se creó anteriormente y elegir el control de selección
que se encuentra al lado de la etiqueta de Aprobado, elegir la propiedad Tipo Valor y
Modificarla a Entero.
65. Escoger la propiedad Lista y de las opciones que se muestre elegir la creada: SI_NO.
66. Modificar el ancho del control Multilínea de Comentario Negado, seleccionando la propiedad
Ancho.
67. Aumentar dos filas en la tabla HTML principal modificando la propiedad Filas, en la primera fila
agregar una nueva etiqueta y en la segunda fila agregar la tabla HTML que tiene los campos
Aprobado y Comentario Negado.
68. Modificar la propiedad Texto de la etiqueta con el valor Aprobar solicitud de compra, modificar
la propiedad CssClass de la etiqueta y de la celda que contiene la etiqueta al valor Titulo.
69. Crear una nueva sección agregando cuatro nuevas filas a la tabla HTML principal, en la
primera fila poner el estilo Titulo en la propiedad CssClass, agregar una etiqueta en esa fila
que tenga el mismo estilo y con texto Solicitar Cotización. En la segunda fila agregar una
etiqueta con estilo CssClass Titulo y con texto Datos del proveedor. En la tercera fila incluir
una tabla HTML que tenga 3 filas y dos columnas con dos etiquetas en la primera columna que
tenga los textos Proveedor y Contacto, en la segunda columna irán dos controles Texto y uno
tipo Tabla de datos. La tabla de datos deberá tener 3 columnas con un cuadro de texto en
cada una y con los títulos E-Mail Contacto, Dirección, Teléfono. En la cuarta fila agregada a la
tabla HTML principal se debe agregar una tabla HTML con una fila y dos columnas, en la
primera columna colocar una etiqueta con el texto Fecha de Envío de Solicitud y en la segunda
columna un control Texto con la propiedad Tipo igual a Fecha. Establecer la propiedad ID en
todos los controles agregados a excepción de las etiquetas. Esta nueva sección quedará de la
siguiente manera:
70. Agregar una nueva sección al formulario incluyendo dos nuevas filas en la tabla HTML
principal. En la primera fila poner el estilo CssClass Titulo e incluir un control Etiqueta con el
mismo estilo y el texto Recibir Cotización. En la segunda fila agregar una tabla HTML con 4
filas y 2 columnas; en la primera columna agregar 4 etiquetas con los textos Vendedor, E-mail
Vendedor, Fecha de la Cotización y Total de la Cotización. En la segunda columna incluir un
control Desplegable y 3 Textos. En el segundo Texto colocar la propiedad Tipo igual a Fecha.
En el control Desplegable poner la propiedad Tipo Valor igual a Entero, pulsar el botón de Agregar
Ítems de la propiedad Lista y colocar los registros mostrados en la imagen.
Para agregar nuevos registros, se realiza el mismo proceso indicado anteriormente, para nuestra
lista se van a agregar los siguientes datos:
71. Colocar otra sección en el formulario agregando dos filas a la tabla HTML principal. En la
primera fila poner en la propiedad CssClass el valor Titulo y agregar un control Etiqueta con
el mismo valor de la propiedad CssClass y el texto Aprobar Cotización. En la segunda fila
agregar una tabla HTML con dos filas y dos Columnas; en la primera columna incluir dos
Etiquetas con los textos Fecha de Aprobación y Aprobador respectivamente; en la segunda
columna agregar dos controles Texto, en el primer texto colocar a la propiedad Tipo el valor
Fecha. Colocar la propiedad ID en los controles Texto con valores que los permitan identificar.
La sección debería quedar de la siguiente manera:
72. Incluir una nueva sección en el formulario agregando dos filas a la tabla HTML principal. En la
primera fila colocar la propiedad CssClass con el valor Titulo y agregar una etiqueta que
tenga el mismo valor en la propiedad CssClass y el texto Recibir productos. En la segunda fila
agregar una tabla HTML con dos filas y dos columnas; en la primera columna incluir dos
etiquetas con los textos Persona que recibe productos y Comentarios respectivamente; la
segunda columna tendrá un control Texto y uno Multilínea. Colocar las propiedades ID al
control Texto y Multilínea con valores que permitan identificar a los mismos. La sección
debería quedar como se muestra a continuación:
73. Agregar la última sección del formulario aumentando dos filas más a la tabla HTML principal.
En la primera fila colocar en la propiedad CssClass el valor Titulo y agregar una Etiqueta que
tenga el mismo valor en la propiedad CssClass y el texto Procesar Factura. En la segunda fila
agregar una tabla HTML con tres filas y dos columnas; en la primera columna colocar tres
controles tipo Etiqueta con los textos: Número Factura, Total Factura y Factura Pagada
respectivamente; en la segunda columna agregar dos controles tipo Texto y un check box.
Asignar las etiquetas con valores que los identifiquen. La sección debería quedar de la
siguiente manera:
74. Seleccionar cada una de las secciones del formulario a partir de la segunda actividad que es
Aprobar Solicitud de Compra.
75. Cambiar en la propiedad Visible de Verdadero a Falso en cada una de las secciones
elegidas.
11. Seleccionar de
el control TAREA
y luego Usuario
13. Modificar el nombre dando clic sobre el texto Usuario0 y colocar el valor Registrar Solicitud de
Compra.
15. Escoger el formulario creado para el ejemplo en la propiedad Formulario, este será el que
visualizará el usuario cuando se encuentre en dicha actividad.
17. Seleccionar la primera fila de la tabla HTML principal y cambiar el valor de la propiedad Solo
Lectura a Falso. Realizar lo mismo para las filas 2, 3 y 4.
18. Modificar el valor de la propiedad Obligatorio de los controles Texto Fecha de Solicitud,
Solicitante, Producto, Cantidad, Precio Aprox, Total Aprox, Dirección de Entrega, Ciudad de
Entrega, Fecha Posible de Entrega a Verdadero.
19. Guardar los cambios realizados en el formulario dando clic en el botón de Guardar.
22. Agregar un nuevo usuario arrastrando el control a la sección de diseño. Colocar el nombre
Aprobar Solicitud de Compra dando clic sobre el texto y asignar el formulario Compras
Ejemplo desde la ventana ÁMBITO.
25. Efectuar las modificaciones necesarias en la propiedad VALOR y UNIDAD con los valores 24
y Horas respectivamente.
El formulario completo quedaría de la siguiente manera. Indicando que el tiempo máximo que
tendrá el usuario para realizar la actividad de Aprobar Solicitud de Compra será de 24 horas
laborables.
31. Efectuar las modificaciones necesarias en la propiedad Alertas Timers que está dentro de
Indicadores, dando clic en
.
32. Añadir en la opción de Porcentaje 50 y Enviar Mail a Aprobador, luego se debe agregar
selección con el icono
33. Repetir el mismo proceso solo que ahora se agregará de porcentaje 100 y Enviar tanto al
Aprobador como al Dueño del Proceso.
34. Realizar las modificaciones necesarias al formulario que se presentará en la actividad dando
doble clic sobre el elemento para levantar el diseñador de formularios.
35. Colocar en las propiedades de: Solo Lectura y Visible los valores de: Falso y Verdadero
respectivamente para las celdas de esta sección.
36. Colocar el valor de Verdadero en la propiedad Obligatorio del control Selección del campo
Aprobado.
39. Colocar la actividad Registrar Solicitud de Compra al inicio de la línea de flujo del proceso,
seleccionando y arrastrando la actividad sobre la línea.
40. Unir las dos actividades agregadas al proceso seleccionando la segunda actividad Aprobar
Solicitud de Compra, dando clic y arrastrando hacia la línea de flujo del proceso.
41. Aumentar un nuevo control tipo Exclusivo arrastrándolo de la barra de herramientas al área de
diseño.
42. Seleccionar el control de condición y colocar en el texto el valor de ¿Es Aprobada?, dando clic
sobre el texto Exclusivo.
43. Enlazar la actividad Aprobar Solicitud Compra con la condición seleccionando la actividad,
posicionando el cursor sobre uno de los cuadrados de selección, haciendo clic y arrastrando
hacia la condición
44. Repetir el mismo procedimiento pero del control condición hacia el evento Fin.
45. Seleccionar el label de la condición ¿Es aprobada? Y cambiar al valor SI, dando clic sobre el
texto.
49. Seleccionar el label de la condición ¿Es aprobada? Y cambiar al valor NO, dando clic sobre el
texto.
50. Agregar un control tipo Usuario con el nombre Solicitar Cotización y establecer las siguientes
propiedades:
- Duración: 8.
- Formulario de Ámbito: Compras Ejemplo.
- Responsable: COBUSDOCU administrador.
51. Dar doble clic sobre la actividad creada para levantar el diseñador de formularios, para hacer
esto primero se deberá asignar el formulario Compras Ejemplo desde la propiedad Ámbito.
52. Hacer que sea visible la sección de Solicitar cotización seleccionando las celdas de esta
sección y colocando la propiedad Visible en Verdadero para cada una de ellas.
53. Almacenar los cambios realizados al formulario para la actividad seleccionada pulsando el
botón de guardar.
55. Enlazar la rama del SI de la Condición con la nueva actividad Solicitar Cotización.
59. Seleccionar el nombre del formulario en campos del formulario y a continuación escoger el
campo que representa el radio button de Aprobado. Se debe escoger el que comienza con el
texto id para obtener el Valor del radio button en vez del Texto.
61. Colocar el texto .Value==1 luego del campo agregado para crear la expresión booleana la cual
indica que saldrá por la rama de SI cuando se ha seleccionado el valor sí, ya que dicha opción
tiene valor 1.
62. Pulsar el botón Probar, verificar el mensaje devuelto por el sistema que indica si la expresión
ingresada es correcta.
64. Agregar un nuevo control tipo Usuario asignando el nombre Recibir Cotización y asignar las
siguientes propiedades:
- Duración: 8.
- Formulario de Ámbito: Compras Ejemplo.
- Responsable: COBUSDOCU administrador.
65. Modificar la propiedad Visible de las celdas de la sección Recibir cotización colocando el
valor Verdadero.
66. Almacenar los cambios realizados al formulario que se presentará en la actividad seleccionada
pulsando el botón de Guardar.
68. Enlazar la actividad Solicitar Cotización con la nueva actividad Recibir Cotización.
69. Agregar un nuevo control tipo Usuario y establecer el nombre Aprobar Cotización. Establecer
las siguientes propiedades:
- Duración: 16.
- Formulario de Ámbito: Compras Ejemplo.
- Responsable: COBUSDOCU administrador.
70. Ingresar al diseñador de formularios dando doble clic sobre la actividad creada y modificar la
propiedad Visible de la sección de Aprobar Cotización para que tenga el valor Verdadero.
74. Incluir un nuevo control tipo Usuario y establecer el nombre Recibir Productos. Colocar las
propiedades:
- Duración: 16.
- Formulario de Ámbito: Compras Ejemplo.
- Responsable: COBUSDOCU administrador.
75. Ingresar al diseñador de formularios dando doble clic sobre la actividad creada y modificar la
propiedad Visible de las celdas de la sección Recibir Productos al valor Verdadero para
mostrar esta sección en la actividad.
76. Almacenar los cambios pulsando el botón de guardar y posteriormente cerrar el diseñador de
formularios.
78. Colocar un nuevo control tipo Usuario asignando el nombre Procesar Factura y con las
siguientes propiedades:
- Duración: 8.
- Formulario de Ámbito: Compras Ejemplo.
- Responsable: COBUSDOCU administrador.
79. Ingresar al diseñador de formularios dando doble clic sobre la actividad creada y colocar la
80. Almacenar los cambios pulsando el botón de guardar y posteriormente hacer clic en el botón
de cerrar el navegador.
Módulo II
EJECUCIÓN DE TRÁMITE 55
4. Ingresar los datos Usuario: UCuenca David, Proceso: Compras, Rol: Inicializar Proceso y
pulsar el botón Aceptar.
3. Escoger el proceso Compras que se encontrará dentro del grupo Departamento de Compras
asignado.
4. Presionar el botón
Aparecerá un mensaje de validación porque no se ingresó datos para los controles obligatorios.
7. Ingresar los siguientes campos: Total Orden Aprox, Dirección de Entrega, Ciudad de Entrega,
Fecha Posible de Entrega.
3. Pulsar en el botón
5. Revisar la información del trámite como sus datos generales: Creado por, Fecha Inicio, Fecha
Máxima, Responsables Actuales, Proceso, Fecha Fin y Estado.
El gráfico muestra las actividades realizadas con color verde, la actividad actual con color azul y las
actividades por donde todavía no fluye el trámite aparecen con color negro.
Así mismo la tabla de detalle de actividades de la parte inferior donde mostrará información de la
realización de cada actividad: Nombre Actividad, Enviado A, Modificaciones (en el caso que se
haya modificado de responsable), Tramitado Por, Fecha Inicio (fecha-hora que llegó el trámite a la
actividad), Fecha Fin (fecha-hora en la que se finalizó la actividad), Fecha Máxima (fecha-hora
máxima en la que debe terminarse la actividad según la duración de la misma y calculada en base
al calendario laboral).
6. Pulsar el ícono
que se encuentra en la primera columna de la tabla de detalle para revisar los datos que se
ingresaron en dicha actividad.
7. Cerrar la ventana pop up que se levantó con los datos del formulario.
3. Seleccionar el nombre del Proceso del cual se requiere conocer el trámite y presionar el botón
de Buscar.
1. Realizar cambios en los campos del formulario que no se presentan como solo lectura y
seleccionar la opción Si en el campo Aprobado.
7. Revisar los datos de seguimiento de trámite y verificar los íconos pintados de color verde y de
azul para saber las actividades que ya se realizaron y donde se encuentra actualmente el
trámite.
8. Seleccionar el ícono
de Formulario de la primera columna y fila de la tabla de detalle, se visualizan los datos que
llenó el formulario en la actividad Aprobar Solicitud de Compra.
10. Ingresar los datos de la sección Solicitar Cotización que aparece para la actividad actual.
13. Dar clic en el botón de examinar y seleccionar un archivo, poner una descripción y pulsar el
botón de guardar.
14. Cerrar la ventana pop up y verificar que ahora el formulario en su parte superior tiene el
archivo que se seleccionó.
15. Pulsar sobre el nombre del archivo que se adjuntó, se despliega una ventana pop up que
muestra el contenido del mismo.
18. Ir nuevamente al Listado de Trámites Pendientes dentro del módulo Portal, la opción
PENDIENTES y la subopción MIS TAREAS PENDIENTES y pulsar en el trámite que se está
ejecutando. Ingresar los datos de la sección Recibir Cotización.
19. Adjuntar un archivo que representará la Cotización dando clic sobre el botón
.
Si se desea se puede continuar ejecutando el trámite por las siguientes actividades para verificar el
comportamiento del formulario en cada una.
Módulo III
78 Taller de automatización de procesos con COBUS BPM
4. Pulsar el ícono
que levanta el diseñador de formularios.
7. Pulsar el ícono
para agregar una nueva imagen en la galería de imágenes y pulsar en el botón de guardar
cambios.
9. Seleccionar la tabla HTML principal y aumentar una fila al comienzo de la tabla dando clic
derecho sobre la celda correspondiente y seleccionando la opción
10. Establecer el dato 1 en la opción filas encima y colocar la imagen en la fila agregada.
11. Agregar una tabla HTML de 1 fila y cuatro columnas, dos etiquetas
y los controles especiales
y
para que se muestre automáticamente la fecha de creación y el
identificador del trámite. A las etiquetas y los controles especiales posicionarlos en la tabla
HTML como se muestra en la imagen.
Etiqueta1
- Texto: Fecha Creación.
- CssClass: Titulo.
- Color Borde: 339933.
Etiqueta2
- Texto: Número de Trámite.
- CssClass: Titulo.
- Color Borde: 339933.
13. Agregar una fila en la tabla HTML principal luego de la imagen, modificar la propiedad Css de
la fila con el valor TextoCalendarioLaborableHorario.
2. Agregar una validación para esta actividad para que sea obligatorio el campo comentario en el
caso que se niegue la compra. Seleccionar el control multilínea Comentario Negado y dar clic
en el ícono
de la propiedad
Validación.
5. Pulsar el botón
para guardar y salir del diseñador de formularios.
3.2.2 Impresión
1. Agregar un nuevo control de Impresión a la sección de diseño del proceso dando clic sobre el
icono
4. En la ventana TIPO modificar las propiedades Tipo y Formulario con los valores Impresión y
Compras Ejemplo.
5. Colocar el control impresión luego de la actividad Registrar Solicitud de Compra, para ello
eliminar la flecha que une las actividades Registrar Solicitud de Compra y Aprobar Solicitud de
Compra dando clic sobre la misma y presionando el botón ‘Supr’ o ‘Delete’.
6. Colocar el control impresión en medio de los dos usuarios y enlazarlos como se muestra en la
imagen.
3.2.3 Mail
1. Agregar un nuevo control de Mensaje a la sección de diseño del proceso dando clic sobre el
icono
6. Pulsar el botón
de la propiedad Mensaje.
7. Ingresar el contenido que se enviará en el cuerpo del mail como en la imagen siguiente.
Considerar que en el texto {Cabecera92.C_Tramite} es un campo del formulario por lo tanto se
debe colocar seleccionándolo de las listas localizadas en la parte superior y pulsando el botón
Agregar. No se debe poner el mismo de la imagen porque será distinto dependiendo del Id que
asignó el sistema al formulario.
9. Indicar el correo electrónico a quien se va a enviar para ello seleccionar la propiedad Para del
Control Mail.
15. Colocar el control de Mail entre los controles ¿Es Aprobada? y solicitar Cotización.
3.2.4 Subproceso
A continuación vamos primero a crear un proceso de Control que servirá para muchos procesos como
por ejemplo Compras, Permisos o Contratos, para nuestro ejemplo será un subproceso dentro del
proceso de compras.
2. Diseñar el formulario.
6. Agregar para las siguientes secciones del formulario una expresión que modifique la Propiedad
Visible, ya que dependerá de la opción que se seleccione de la Lista Desplegable.
Seleccionar la siguiente sección:
7. Insertar la Expresión a las secciones seleccionadas dentro de la propiedad Visible, esta es:
9. Ingresar la expresión:
12. Seleccionar el campo tipo control y cambiar la propiedad Solo Lectura a Verdadero.
16. Crear una función para Validar la Cédula en el formulario creado. Esta función se describe a
continuación:
- Tipo: System.Boolean.
- Nombre: Validar Cédula.
- Contenido: {
if (strCedula.Length == 10)
{
String[] array = {strCedula.Substring(0, 1),
strCedula.Substring(1, 1),
strCedula.Substring(2, 1),
strCedula.Substring(3, 1),
strCedula.Substring(4, 1),
strCedula.Substring(5, 1),
strCedula.Substring(6, 1),
strCedula.Substring(7, 1),
strCedula.Substring(8, 1),
strCedula.Substring(9, 1)};
int num = array.Length;
if (num == 10)
{
int total = 0;
int digito = int.Parse(array[9]) * 1;
for (int i = 0; i < (num - 1); i++)
{
int mult = 0;
if ((i % 2) != 0)
total = total + (int.Parse(array[i]) * 1);
else
{
mult = int.Parse(array[i]) * 2;
if (mult > 9)
total = total + (mult - 9);
else
total = total + mult;
}
}
double decena = total / 10;
decena = Math.Floor(decena);
decena = (decena + 1) * 10;
int final = ((int)decena - total);
if ((final == 10 && digito == 0) || (final == digito))
return true;
else
return false;
}
else
{
return false;
}
}
else
return false;
}
- Índice: 0
- Nombre: strCedula.
- Tipo: System.String.
35. Enlazar la actividad ¿Es aprobada? Con la actividad Negar Control y cambiar el label al valor
NO.
36. Enlazar la actividad ¿Es aprobada? Con la actividad Fin y cambiar el label al valor SI.
38. Regresar al proceso Padre que es el de Compras y agregar un control tipo Subproceso
proceso dando clic sobre el icono
39. Establecer el nombre de Control Compras dando doble clic sobre la actividad y en la
propiedad Proceso seleccionar SubprocesoControl.
40. Seleccionar la propiedad Enlace Datos para pasar datos del formulario al subproceso dando
clic en
.
y cargar esta con el valor que corresponde a Compras en la Lista Desplegable que es 1.
44. Seleccionar ahora el campo del nombre del empleado que es: Cabecera204.txtempleado.
A continuación se va a exportar los datos de la solicitud de compras a otra base de datos, lo vamos
a realizar mediante un WebService, los WebServices que soporta el sistema son los de formato
WSDL.
1. Aumentar una tabla en una base de datos externa, para nuestro ejemplo crearemos una base
de datos en PostgreSql y añadir la nueva tabla que tendrá la información de las compras
aprobadas.
2. Dar clic derecho sobre Base de Datos y se selecciona Nueva Base de Datos.
8. Agregar un nuevo servicio web a la solución de tipo Web Service (ASMX) con el nombre
Service1.
9. Ingresar el siguiente código de creación, los parámetros de conexión al servidor pueden variar:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using Npgsql;
namespace WebServicePrueba
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the
following line.
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
//CREAMOS UNA VARIABLE DEL TIPO NPGSQLCONNECTION
public NpgsqlConnection conexion = new NpgsqlConnection("Server = 127.0.0.1;
Port=5432;User Id=postgres;Password=admin;Database=\"Compras\";Encoding=UTF8");
[WebMethod]
public string ingresar(string idsolicitud, DateTime fechasolicitud, string
justificacionsolicitud, double totalorden, string direccionentrega, string ciudadentrega, DateTime
fechaentrega, string solicitante)
{
conexion.Open();
string sql = "insert into \"SolicitudCompra\" values('" + idsolicitud + "','" + fechasolicitud
+ "','" + justificacionsolicitud + "','" + totalorden + "','" + direccionentrega + "','" + ciudadentrega
+ "','" + fechaentrega + "','" + solicitante + "');";
NpgsqlCommand command = conexion.CreateCommand();
command.CommandText = sql;
command.ExecuteReader();
conexion.Close();
return "OK";
}
}
}
Regresar al Proceso Compras y agregar un control tipo WebService, dando clic sobre el
icono
12. Dar clic sobre el texto del control WebService y asignar el nombre Guardar Solicitud.
16. Ingresar la dirección del servicio web en el campo URL y seleccionar el método ‘ingresar’.
20. Escoger de la segunda lista el campo que contiene el id del trámite y dar clic sobre el botón
21. Pulsar el botón Probar para verificar si la expresión y el valor devuelto son correctos.
23. Dar clic en el botón Aceptar para cerrar la ventana y guardar la expresión. Repetir los pasos
anteriores para seleccionar los siguientes parámetros con los campos correspondientes del
formulario.
3.2.6 Código
De la misma manera que se hizo con el webservice exportaremos información a otra base de
datos, para este caso lo haremos mediante un assembly.
1. Crear una tabla en la base de datos Compras, el script de esta tabla es:
3. Crear en Visual Studio un nuevo proyecto de tipo Biblioteca de Clase con el nombre
ClsAsembliesPrueba seleccionando el Framework .NET Framework 3.5.
5. Agregar en la clase el siguiente código, los parámetros de conexión al servidor pueden variar:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Npgsql;
using System.Data;
namespace ClsAsembliesPrueba
{
public class Class1
{
public static NpgsqlConnection conexion = new NpgsqlConnection("Server = 127.0.0.1;
Port=5432;User Id=postgres;Password=admin;Database=\"Compras\";Encoding=UTF8");
6. Realizar la compilación, seleccionando la opción Build que se localiza al dar clic derecho sobre
el nombre del proyecto, el .dll se creará dentro de la carpeta de nuestro proyecto, en la ruta
ClsAsembliesPrueba/bin/Debug/.
8. Agregar un nuevo registro dando clic sobre Seleccionar archivo y cargar el Assembly que se
compiló anteriormente, adicionalmente ingresar una descripción.
10. Regresar al diseñador de procesos y agregar un control tipo Script, dando clic sobre el icono
11. Modificar el nombre con el valor Ingresar Factura dando doble clic sobre el texto.
16. Pulsar el botón de la propiedad Expresión para definir el código que se ejecutará en esta
actividad, en la ventana popup ingresar la expresión
“ClsAsembliesPrueba.Class1.ingresar(<numero factura>, <fecha factura>, <total factura>,
<persona recibe>)” donde se debe reemplazar los parámetros por los campos del formulario
seleccionándolos del listado que se encuentra en la parte superior de la ventana y pulsando el
botón de Agregar.
Módulo IV
REVISIÓN DE MODIFICACIONES DEL FORMULARIO Y DEL PROCESO 127
3. Escoger el proceso Compras que se encontrará dentro del grupo Departamento de Compras
asignado.
5. Modificar el valor del campo Aprobado a ‘si’ para que continúe el trámite por la rama del SI y
pulsar el ícono de enviar el formulario.
6. Revisar el correo, donde se podrá verificar si el mail que se creó anteriormente, fue enviado
exitosamente.
3. Revisar los datos de seguimiento de trámite y verificar los íconos pintados de color verde y de
azul para saber las actividades que ya se realizaron y donde se encuentra actualmente el
trámite.
4. Dar doble clic sobre la imagen del subproceso dentro del detalle de actividades, para así poder
dar seguimiento a las actividades del subproceso.
6. Mostrar el detalle de seguimiento de trámite, una vez concluido las secciones del subproceso.
1. Instalar y ejecutar como administrador la herramienta para depuración remota sobre Visual
Studio.
5. En Visual Studio ir sobre la pestaña Tools y sobre Options, luego marcar la casilla para
habilitar el Framework .NET en la opción General de la propiedad Debugging
8. Colocar un break point en Visual Studio y asegurarse que se esté ejecutando el WebService.
9. Ingresar una nueva solicitud en el Sistema COBUS BPM y hacer fluir la misma hasta el paso
del WebService donde debe parar en el break point agregado.
Al seleccionar el icono de Enviar Formulario se mostrará lo siguiente:
11. Pulsar F5 para que continué la ejecución al Sistema y revisar que los datos se hayan exportado
a la tabla.
12. Continuar con las siguientes secciones que son: Solicitar Cotización, Recibir Cotización,
Aprobar Cotización y Recibir Productos.
2. Ingresar en Visual Studio, abrir la solución que contiene el código del assembly que se agregó,
colocar un breakpoint en la función y elegir del menú de Debug la opción Attach to Process
o Asociar al proceso.
3. Seleccionar el Proceso que será encargado de ejecutar nuestro assembly, en nuestro caso lo
está ejecutando el IIS.
4. Cargar la ruta del proyecto en donde se creó el archivo .pdb para la depuración.
6. Para evitar un error de tiempo máximo de respuesta de ping por parte de IIS para la aplicación
cobusbpm, aumentar el tiempo a 300 segundos en la configuración avanzada de IIS.
7. Enviar el documento en el sistema COBUS BPM hasta la última actividad que es “Procesar
Factura”, luego de este se ejecutará el Assembly y deberá entrar al breakpoint colocado.
9. Continuar con la ejecución del assembly para que se ingresen los datos en la tabla creada y
revisarlos.
Módulo V
MONITOR DE PROCESOS 147
1. Ingresar un nuevo trámite y hacerlo fluir por varios pasos del proceso.
5. Ingresar en los filtros el proceso que se requiere consultar, así como el trámite respectivo.
9. Seleccionar el icono
. para regresar a un paso anterior del trámite.
Módulo VI
INCORPORACIÓN DE CÓDIGO JAVA 151
package com.cobus.postgres;
import java.sql.*;
public class manejador
{
public static int Update(String sql,String urlconexion,String user,String pwd) throws Exception
{
//1 carga de la clase del driver
Class.forName("org.postgresql.Driver");
//2 crear el objeto conexion
Connection con=DriverManager.getConnection(urlconexion,user,pwd);
//3 crear el objeto consulta
Statement stmt=con.createStatement();
//4 ejecutar consulta
Integer afectados = stmt.executeUpdate(sql);
//5 cerrar la conexion
con.close();
return afectados;
}
}
2. Crear dos carpetas dentro del proyecto como se indica, en la carpeta librerías se especifica
las librerías referenciadas del proyecto y en publicaciones el jar que se exportara para subir al
sistema bpm.
4. Dar clic derecho sobre la carpeta librerías en eclipse y actualizar pulsando sobre Refresh
6. Clic derecho sobre el jar y sobre la opción Build Path seleccionar la subopcion Add to Build
Path
8. Guardar y dar clic derecho sobre el proyecto para seleccionar la opción Export
9. Seleccionar JAR file dentro de la carpeta Java y dar clic sobre Next para continuar con la
exportación
11. Seleccionar la carpeta donde se exportará el jar, esta es la carpeta publicaciones de nuestro
proyecto y el nombre asignado será manejador.
12. Dejar los demás parámetros por defecto y hacer clic sobre el botón Finish para finalizar la
exportación.
13. Verificar la creación del jar que se exportó, debe estar dentro de la carpeta publicaciones del
proyecto.
14. Crear un nuevo proyecto con el nombre ingreso, paquete com.cobus,ingreso y con una
clase factura
package com.cobus.ingreso;
import java.text.SimpleDateFormat;
import com.cobus.postgres.manejador;
17. Agregar las librerías a utilizar en la carpeta librerías, la primera será el driver de postgres y la
segunda el jar que exportamos anteriormente llamado manejador.
18. Agregar al path del proyecto cada librería, para esto hacer clic sobre cada jar y seleccionar la
subopcion Add to Build Path que está dentro de la opción Build Path.
19. Verificar si se agregaron los jars en la sección Referenced libraries del proyecto.
25. Clic sobre Seleccionar archivo y subir el jar del driver de la base de datos y presionar sobre el
icono
para guardar los cambios.
27. Agregar una referencia al driver de postgres que se subió anteriormente dando clic sobre el
icono
en la sección REFERENCIA y seleccionar el jar que representa al driver de postgres.
30. Agregar el jar ingresar y dos referencias, una al driver de postgres y otra al manejador de
postgres como se indica.
9. Guardar los cambios dando clic sobre el botón aceptar en las ventanas emergentes
EXPERSIONES y TIPO.
11. Empezar un nuevo trámite en el proceso compras dentro del módulo portal.
12. Continuar con el tramite hasta el proceso Procesar Factura e ingresar datos para procesar la
factura
13. Enviar el documento y verificar la ejecución del jar recibiendo un mensaje satisfactorio.
Módulo VII
162 Taller de automatización de procesos con COBUS BPM
1. WEBSERVICES
Pros
No importa el tipo de tecnología en la que se realizan, pueden ser consumidos por
cualquier herramienta de programación.
Permiten generar buses de servicios para que sean consumidos por otras
aplicaciones.
Necesarios en una arquitectura SOA.
Contras
Más lento con respecto al uso de Funciones o Assemblies.
Para modificar su código se necesita compilar nuevamente el proyecto y subirlo al
servidor web.
2. FUNCIONES
Pros
Mayor rapidez que los WebServices.
Su código es fácilmente modificable desde las interfaces del BPM.
Contras
No permite realizar depuraciones.
El código está a la vista de cualquier usuario que tenga permisos de administrador.
Es una herramienta propia de COBUS BPM por lo que no permite que sea expuesto o
reutilizable para otras aplicaciones.
3. ASSEMBLIES
Pros
Mayor rapidez que los WebServices.
Si permite realizar depuraciones mientras se ejecuta el BPM para encontrar problemas
de programación.
Contras
Para modificar su código se necesita compilar nuevamente el proyecto y subirlo al
BPM.
Los assemblies corresponde a una tecnología propietaria de una casa comercial por lo
que solo podrán ser utilizados por las herramientas de programación de la misma.
RESUMEN
Depende principalmente de los estándares del cliente, para casos que se tenga la libertad de
seleccionar la tecnología se recomienda el uso de Assemblies en la mayoría de métodos que
permiten una ejecución rápida de los formularios y los procesos además brindando opciones
de depuración para una programación más fácil.
Los métodos donde su código vaya a tener cambios durante el tiempo de vida de los procesos
se deberían crear como funciones que permiten una fácil modificación del mismo.