Está en la página 1de 68

ManualdeusoProcessMaker

Manualdeuso
ProcessMaker

v1.0

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile1

ManualdeusoProcessMaker

Resumen
Estemanualtieneporobjetivoorientaralosalumnosquecursanelramodel
departamento de industrias de la Universidad de Chile correspondiente a
Diseo de Sistema de Informacin Administrativos; obligatorio para la
formacindeestudiantesdeespecialidadindustrialycomputacinendicha
casa de estudios. El manual gua en la creacin de un proceso en el
programa ProcessMaker versin 1.705 e incorpora desde la creacin de
tareashastalacreacindetriggers,conexinabasesdedatosyusode
formularios.

EstebanAllendePrieto
DiegoDazEspinoza

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile2

ManualdeusoProcessMaker

TabladeContenidos
IniciodeSesin....................................................................................................................................4
Construccindeunprototipo...............................................................................................................5
Creacindeusuariosygrupos.........................................................................................................6
Creacindegrupos..........................................................................................................................8
Creacindelproceso......................................................................................................................11
ConfiguracindelaBasedeDatos................................................................................................13
Configuracindelmapadeprocesos.............................................................................................18
Creacindedynaforms..................................................................................................................27
AgregaruncomponenteGrid........................................................................................................38
Configuracindelospasos............................................................................................................42
CargadedatosdelaBasedeDatos...............................................................................................48
ConsultasenSQL......................................................................................................................48
ConsultasenProcessMaker.......................................................................................................50
Cargadeuncampodetexto......................................................................................................50
Cargadeunalista......................................................................................................................50
Cargadeungrid........................................................................................................................51
CreacindeTriggers.................................................................................................................51
ModelosdeTriggers..................................................................................................................53
TriggerObligatorio...............................................................................................................53
TriggerdeInsercin/ActualizacinenSQLenlaBD..........................................................54
TriggerdeInsercinenSQLrecuperandoId.......................................................................54
TriggerdeCargaManualdeunGrid....................................................................................54
TriggerdeCargaManualdeuncampo................................................................................54
TriggerdeInsercin/ActualizacindeFilasdeunGridalaBD.........................................55
SQLenTriggers........................................................................................................................56
Insercin,ActualizacinyEliminacinenSQL..................................................................56
ActualizacindeunGrid......................................................................................................56
Ubicaruntrigger...................................................................................................................57
UbicacindelTriggerObligatorio.......................................................................................60
PruebadelPrototipo.......................................................................................................................61
Exportacin....................................................................................................................................66
Importacin....................................................................................................................................67

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile3

ManualdeusoProcessMaker

IniciodeSesin
DirijasealadireccinHttp://localhost.

Aquingreselainformacindecuentadelgrupo(user,passwordyworkspaceonombre
delgrupo).Siestaejecutandodesdesuequipo,estasson:
user:admin
password:admin
workspace:workflow

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile4

ManualdeusoProcessMaker

Construccindeunprototipo
Pasosaseguirenlaconstruccindelprototipo
1Creacindegruposyusuarios
2Creacindelproceso
3ConfiguracindelaBasedeDatos
4Configuracindelmapadeprocesos
5CreacindeDynaforms
6Configuracindelospasos
7CargadedatosdelaBasedeDatos
8ActualizacindelaBasedeDatos
9Pruebadelproceso
10Exportacindelproceso

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile5

ManualdeusoProcessMaker

Creacindeusuariosygrupos
Aqusevaacrearlosgruposdeusuariosnecesariosparaelprocesoyaprovechando
tambincrearemosdepasoalusuariodeprueba.
Queesungrupodeusuarios?
Un grupo de usuarios son todos los usuarios que pueden realizar ciertas tarea. Por
ejemplo, Maria es una vendedora que realiza el ingreso de ventas. Maria entonces
perteneceraalgrupodeVendedores.Aunqueelsistemapermiteasociarunatareaaun
usuarioenparticular,esmuchomejorusargruposyaquepermiteunamayorflexibilidad
eneltemaderecursoshumanosyexpansin
Peroantescrearemosalusuariodeprueba.Esteusuarioesopcional,yaquepueden
ocupar al usuario admin como usuario para probar los casos, aunque no es
recomendable.
1VayaaUSERSyhagaclicenellinkNew

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile6

ManualdeusoProcessMaker

2IngreseunuserID(ej:prueba).Esteseraeluserqueseusaraparainiciarsesin
3Cambielafechadeexpiracin(Expirationdate)aunafechaprudente(ej:prximo
ao),yaquedesdeestafechaenadelantenopodrocuparalusuario.
4 Cambie Role a PROCESSMAKER_OPERATOR (Nota: Nunca cambie el Role del
usuarioadmin)
5IngreseenNewPasswordlanuevapassword,yescribalanuevamenteenConfirm
Password
6IngreseenFirstNameunnombre.(Ej:Prueba)
7Sidesea,completelosotroscampos.

8HagaclicenSave

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile7

ManualdeusoProcessMaker

Creacindegrupos.
1VayaaUSERSyelijaGroups

2HagaclicenNewGroupyenlaventanaqueaparece,ingreseenNameelnombre
delgrupo(oqueeslomismo,elnombredelRoleneldiagramadeRoles).Hagaclicen
Save.RealiceestepasoporcadaRolqueposeasudiagramadeRoles.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile8

ManualdeusoProcessMaker

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile9

ManualdeusoProcessMaker

3HagaclicenellinkMembersqueaparecealladodelprimergrupo.Luego,hagaclic
enAssignEmployee.

4Enlaventanaqueaparece,hagaclicenenAssignqueseubicaenladerechadel
usuarioprueba.(OAdministratorsiestnocupandoaladministradorcomousuariode
prueba).

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile10

ManualdeusoProcessMaker

5Repitalospasos3y4porcadagrupoqueposea.
Creacindelproceso
1ElijaPROCESSESyhagaclicenellinkNew

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile11

ManualdeusoProcessMaker

2EnTitleingreseelnombredelprocesoyenDescriptionunabrevedeldescripcinde
este.HagaclicenelbotonSaveparacrearelproceso.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile12

ManualdeusoProcessMaker

ConfiguracindelaBasedeDatos
Para poder usar la Base de Datos en ProcessMaker, primero hay que configurar la
conexinenelproceso.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile13

ManualdeusoProcessMaker

Esteeselmapadeprocesos.Parapoderllegarael,elijaeltabPROCESSESyhaga
clicenlinkEditqueaparecealaderechadesuproceso.
Paraconfigurarlaconexin:
1HagaclicenDATABASECONNECTIONS.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile14

ManualdeusoProcessMaker

2Enlaventanaemergente,hagaclicenNew

3 Complete los campos de acuerdo a la informacin que corresponda a la Base de


Datos.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile15

ManualdeusoProcessMaker

4HagaclicenTestConnection.Sitodosalebien,deberaverunapantallasimilarala
siguiente.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile16

ManualdeusoProcessMaker

5HagaclicenOK,yluegoenCREATE.FinalmentecierrelaventanadeBasedeDatos.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile17

ManualdeusoProcessMaker

Configuracindelmapadeprocesos.
a)CreacindeTareas
Elmapadeprocesosesellugaradondeseindicaquetareastieneelprocesoycualesla
secuenciadeejecucinSeencuentraenPROCESSESyluegohaciendoclicenellink
Editqueseencuentraaladerechadelproceso
Loprimeroquesedeberealizareslacreacindetareas.Paraello,hagaclicderecho
sobreelmapa.

HagaclicenAddTask.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile18

ManualdeusoProcessMaker

SalvoquesutareasellameTask1,vamosahoraacambiarledenombre.Hagaclic
derechosobrelatarea.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile19

ManualdeusoProcessMaker

AhorahagaclicenProperties

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile20

ManualdeusoProcessMaker

EnTitleseingresaelnombredelatarea,mientrasqueDescriptionseingresauna
brevedescripcindeloquesedeberahacerenlatarea.Sielprocesopuedecomenzar
porestatarea,entoncessechequeaStartingTask.Cuandofinalice,hagaclicenSave.
(Nota: Salvo si sabe lo que esta haciendo, no cambie el valor de Variable for Case
priority)

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile21

ManualdeusoProcessMaker

Lapelotitaverdequesalearribadelatareasealaqueelprocesopuedepartirdeesta
tarea.
b)Definicindelasecuencialidaddetareas.
Ahoraquelastareasestncreadas,estiempodedefinirelordendeejecucindelas
tareas.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile22

ManualdeusoProcessMaker

Losiconosqueseencuentranenlapartesuperiorderecha(enestecaso,tambinala
derechadelTitulo)permitendefinirlasecuenciadeejecucindelproceso.Eliconode
mas a la izquierda, el de la flecha gris, permite definir una secuencia simple. Una
secuenciasimpleesunasecuenciaqueindicaquecuandoterminalatareaA,paseala
tareaB.Paracrearestetipodesecuencia,arrastreconelmouselaflechagrisalatareaA
(tareaorigen)enlacualenelejemplovaaserRegistrodePedidodeTutora

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile23

ManualdeusoProcessMaker

Despusdearrastrarysoltarlaflechagrisenlatarea,apareceunaflechaconunpunto
rojo.AhorasedebehacerclicenlatareaB(tareadestino).

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile24

ManualdeusoProcessMaker

Quedandoas
Ahora,queremosindicarquelaultimatareaeslatareafinal.Paraesobastaarrastrarel
iconodelapelotitanaranjasobrelatareafinal,enestecasoChequearDisponibilidad
Horaria.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile25

ManualdeusoProcessMaker

Depasada,tambinseagregootrasecuenciasimpledelasegundatareaalatercera
tarea.Comoestaahoraelproceso,esteparteenRegistrodePedidodeTutora,pasando
luego a Chequeo de Burocracia Requerida, para realizar finalmente Chequear
DisponibilidadHorariayterminarelproceso.
Elrestodelassecuenciasseexplicaranenelapndicesobreestas.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile26

ManualdeusoProcessMaker

Creacindedynaforms
Undynaformesunapaginadeformulariousadoenunaovariastareas.Paracrearuno,
hagaclicenDYNAFORMSenelmapadeprocesos.

HagaclicenNew.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile27

ManualdeusoProcessMaker

En Title ingrese el nombre de la pagina de formulario y en Description ingrese la


descripcindeeste.Esimportantequeelnombreespecifiqueclaramentedequesetrata
eldynaform,yaquemasadelantehabrqueseleccionarlosdynaformsqueseusaranen
unatarea.Finalmente,hagaclicenelbotonSave.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile28

ManualdeusoProcessMaker

HagaclicenellinkEditqueestaalaizquierdadelnuevodynaform.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile29

ManualdeusoProcessMaker

Loprimeroquedeberatenereldynaformesuntitulo,aunquenoesobligatorio.Para
crearleuntitulo,hagaclicenelbotonT.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile30

ManualdeusoProcessMaker

EnFieldNameescribaelnombredelcomponente.Parauntituloosubtitulo,noesmuy
importante, pero si lo es para el resto de los componentes. Dos componentes que
compartanelmismonombre,aunqueestnendistintosdynaforms,compartenelmismo
valor.EnLabelescribaeltextoquequierequeaparezcacomotitulo.Finalmente,haga
clickenSave.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile31

ManualdeusoProcessMaker

ElbotonSpermitecrearunsubtitulo.Esparecidoacrearuntitulo,salvoqueahorael
textoaaparecerseponeenCaption.Otrocomponentequetodoformulariodeberatener
eselbotonparaavanzar.HagaclickenelbotonconlaimagendeunbotonconunaS
adentro.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile32

ManualdeusoProcessMaker

EnFieldNameponerelnombredelcomponente,yenLabelponerlaetiquetadelboton.
PresionefinalmenteSave.
AgreguemosahoraunCampodeTexto.Presioneelbotondeunrectnguloblancoconun
cursor(Eselsegundoiconodeizquierdaaderecha)
Como se podr ver, el campo de texto es el que posee mas opciones. Partamos
describindolosdeauno.
FieldName:Igualqueelrestodeloscomponentes,elnombreseusaparareferenciarlo
dentro de una consulta SQL. Adems, dos componentes que compartan el mismo
nombre,aunqueestnendynaformsdistintos,compartenelmismovalor.
Label:Textoqueaparecealladoizquierdodelcampo.Sirveparasealarquesedebera
ponerenel.
Max.Length:Mximolargodelvalor.Cualquiertamaomayoraesteestruncado.
Validate: Permite validar el campo. Any=sin validacin; Alfa=solo letras; AlfaNum=solo
letras y nmeros; Int=El campo debe ser un entero; Real=El campo debe ser un
DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile33

ManualdeusoProcessMaker

real;Email=emailvalido;
Texttransformto:Sielvalorsequieretodoenmaysculasotodoenminsculas
Required:Sielvalordeesteelementodebesernovaco,sedebemarcarestaopcin
(Actualmente,solomuestraelasteriscoderequerido)
ReadOnly:Siel valordeesteelementonosepuedemodificar,se debe marcaresta
opcin
DependentField:Camposquedebenactualizarsesiestecambiadevalor.
DefaultValue:Valorinicialdeestecampo
Size:Tamaoenletrasvisibledelcampo
Mode: Indica apariencia del campo. View, muestra el valor del campo como label,
mientrasqueEdit,lomuestracomouncampodelinea.
EnnuestroejemplocompletamosFieldNameyLabeldejandoelrestoensusvalores
pordefecto.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile34

ManualdeusoProcessMaker

Observemos que el campo quedo despues del boton Siguiente. Para arreglar esto,
presioneeltabFieldsList

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile35

ManualdeusoProcessMaker

AhsehaceclickenUpqueestaaladerechadenombre_clienteparasubirloenlalista
(ytambinenlaposicinenlapagina)
EnFieldsList,unopuedeborrarcomponentescomotambineditarsuspropiedades,
inclusoelnombredecampo(FieldName).
AhorasihacemosclickeneltabPreview(yesperandounossegundosparaquese
refresque)veramosesto:

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile36

ManualdeusoProcessMaker

!!

Finalmente,adiferenciadelmapadeprocesos,undynaformtienequesergrabado.Para
estopresioneelbotondeldisqueteazul(elbotondemasalaizquierda).SitodosaleOK,
uncuadro de dialogovaainformarque se grabo el dynaform.Ahora puede cerrar el
dynaform.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile37

ManualdeusoProcessMaker

AgregaruncomponenteGrid
Supongaquequeremosqueelclientepuedapedirmasdeunatutoraalavez.UnGrid
permitetenerunacantidaddinmicadeelementos.
UncomponenteGridrequiereuntipoespecialdedynaform,elcualespecificacomovana
hacerlascolumnas.Estedynaformespecialsecreaigualqueundynaformespecial,salvo
queeltypedeldynaformnoesNormal,sinoquegrid.
LasdiferenciasentreundynaformGridyunonormalson:

Losdynaformgridposeenmenoscomponentesqueundynaformnormal
El orden de los componentes en un dynaform grid determina en que columna se
encuentra,siendolacolumnademasalaizquierda,laprimeraenlalistadecampos
(FieldList)
Loscomponentesdeundynaformgridnopuedencompartirvalorconcomponentesde
dynaforms normales. Si sucede que un componente de un dynaform grid tiene el
mismo nombre que un componente en un dynaformnormal, el valorde ambos es
distinto.

AssevelapantalladepreviewdeundynaformGrid

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile38

ManualdeusoProcessMaker

Creado y editado el dynaform grid a usar, se va a agregar el grid en el dynaform


correspondiente.
Para eso, se debe hacer click en el boton de mas a la derecha en la barra de
componenteseneldynaformainsertarelgrid.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile39

ManualdeusoProcessMaker

Aligualqueotroscomponentes,sielFieldNamecoincideconeldeotrocomponente,
tendrnelmismovalor.Sinembargo,elvalordeuncomponentegridnoescompatible
conlodelosotroscomponentes,asqueevitecompartirlo,salvoqueesteseatambinun
componente grid que posea las mismas columnas (aunque pueden estar en distinto
orden).
EnGridseseleccionaeldynaformgridquesedeseaocuparcomomolde.Sinodesea
quesepuedanaadirfilas,deschequeeAddnewrows.Sideseaquenosepuedan
eliminarfilas,deschequeeDeleterows.Paraaadir,aligualqueotroscomponentes,hay
quehacerclickenSave.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile40

ManualdeusoProcessMaker

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile41

ManualdeusoProcessMaker

Configuracindelospasos
Hastaelmomentosehancreadoformularios,ysehadefinidoelflujodelproceso.Sin
embargo,todavanosehadichoqueformulariossevanausarenquetareas.
EnelmapadeProcesos,hagaclickderechoenunaTareayseleccioneSteps

Aqusepuedenverlospasosquerealizaunatarea.Cadapasoconsisteenmostrarun
dynaform.Esasquealenviareldynaform,sepasaalsiguientepaso.Elultimopasoes
AsignarTarea,queesunpasoimplcitoParaagregarunnuevopaso,sedebehacerclick
enNew.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile42

ManualdeusoProcessMaker

Aquaparecentodoslosdynaformsquenohansidoasignadoscomopasosenestatarea.
Para agregar un dynaform como paso, se debe hacer click en Select al lado del
dynaformaagregar.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile43

ManualdeusoProcessMaker

EllinkEditpermiteeditareldynaform(EsunatajoalEditqueseencuentraenlalistade
dynaforms).EllinkRemoveeliminaeldynaformcomopaso,mientrasqueUpyDown
mueve el paso arriba o abajo respectivamente. El orden es importante, ya que se
muestraneneseordencuandoseejecutalatarea.
Por defecto, siempre se muestra todos los pasos cuando se ejecuta una tarea. Sin
embargo,sepuedeponerunacondicinparaquesemuestreunpasoenparticular.Para
eso,sedebehacerclickeneltabConditions.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile44

ManualdeusoProcessMaker

AqusepuedeobservareldynaformylacondicindeejecucinSisehaceclickenEdit,
sepuedeeditarlacondicin

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile45

ManualdeusoProcessMaker

Lascondicionessonexpresionesbooleanas.Porejemplo,siquisiramoscompararqueel
nombredelclienteesJuan,comocondicinescribiramos:
@@nombre_cliente=='Juan'
Delejemplosepuedeobservarque@@nombre_componentepermiterecuperarelvalor
deuncomponentedealgndynaform.Lootroesquealigualquealgunoslenguajesde
programacin,sedebeponerdosigualesparacompararigualdad.Ponerunsoloiguales
valido, pero tendra un efecto no deseado para muchos. (Siendo el primero, que no
comparaigualdad).Aquvaunalistadecomparadores:

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile46

ManualdeusoProcessMaker

Comparador

Efecto

==

Comparaigualdad

>=

Comparamayoroigual

>

Comparamayor

<=

Comparamenoroigual

<

Comparamenor

()

Asociaunacomparacin

Niegaunacomparacin

&&

Verifica si ambas comparaciones son


verdaderas

||

Verificasialgunadelasdoscomparaciones
esverdadera(oambas)

Cuando termine de editar la condicin, se debe hacer click en Save par guardar la
condicin

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile47

ManualdeusoProcessMaker

CargadedatosdelaBasedeDatos
EnProcessMakeresrelativamentesimplelacargadedatosdelaBasedeDatos.Sin
embargo,serequiereunpocodeconocimientodeSQL.

ConsultasenSQL
UnaconsultasimpleenSQLes:
SELECT*FROMCliente;
que trae todas losregistros que se encuentra en la tabla Cliente. Si se desea traer
ciertascolumnassolamente,porejemplolascolumnasidynombrelaconsultaseria:
SELECTCliente.id,Cliente.nombreFROMCliente;
Estaconsultasepodrareescribircomo:SELECTid,nombreFROMCliente;,yaqueno
hayambigedaddesaberaquetablaspertenecenesascolumnas(porquesolohayuna
tablaenelSELECT).
Siahoranoqueremostodoslosregistros,sinolosquecumplenunrequisito,comopor
ejemploqueelsaldodelclienteseamayoroigualque100,laconsultaseria
SELECTid,nombreFROMClienteWHEREsaldo>=100;
EnSQL,laigualdades=,mientrasqueesdistintoes<>.
Quepasasinecesitamosdoscamposqueestnentablasdistintas?.Senecesitahacer
unaconsultaenvariastablas.Porejemplo:
SELECTCliente.id,Cliente.nombre,Mascota.nombreFROMCliente,Mascota
WHERECliente.mascota_id=Mascota.id;
traeeliddelcliente,nombredelclienteylamascotadeeste.Esimportanteobservarque
lacondicindelWHEREesimportante,yaquepermiteestablecerelvinculoentreCliente
y Mascota. Si no lo hubiramos puesto, hubiramos obtenido el producto cruz entre
DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile48

ManualdeusoProcessMaker

ClienteyMascota.
Sisequieremascondiciones,seenlazanconANDoOR.Tambinsepuedenagruparen
parntesis
Ej:
SELECTCliente.id,Cliente.nombre,Mascota.nombreFROMCliente,Mascota
WHERECliente.mascota_id=Mascota.id
AND(Mascota.nombre='chip'ORMascota.nombre='Lazy');
Enlacualbuscaramostodoslosclientesquetengancomonombredemascota'chip'o
'Lazy'

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile49

ManualdeusoProcessMaker

LasconsultastambinsepuedenordenarusandoORDERBY.Porejemplo:
SELECTCliente.id,Cliente.nombre,Mascota.nombreFROMCliente,Mascota
WHERECliente.mascota_id=Mascota.id
AND(Mascota.nombre='chip'ORMascota.nombre='Lazy')
ORDERBYCliente.nombreASC;
querealizalamismaconsultaquelaanterior,peroordenalosregistrosporelnombredel
clientedeformaAscendente(DeAaz).SisedeseaordenardeformaDescente,se
cambiaelASCporDESC.
ConsultasenProcessMaker
Enprocessmaker,sepuedetambinocuparelvalordeuncomponentepararealizarla
consultausandolanotacin@@.Porejemplo:
SELECTid,nombreFROMClienteWHEREsaldo>=@@saldo_minimo;
buscalosclientesqueposeansaldomayorqueelespecificadoenelsaldominimo.
Cargadeuncampodetexto
Haydospropiedadesdeloscomponentesdeundynaformquenosehanmencionado.
EstassonSqlConnectionySql.SqlConnectionpermiteseleccionarlabasededatosa
ocupar.Pordefectoesnone,osea,ninguna.SqlpermiteingresarlaconsultaSQLa
realizar.
Parauncampodetextosetienequeseleccionarunasolacolumna,yqueserecupereun
soloregistro.
Cargadeunalista
Enunalista(osimilares)senecesitaseleccionardoscolumnas,ysepuedenrecuperar
variosregistros.
La primera columna se ocupa como valor, mientras que la segunda se ocupa como
etiqueta. El valor es lo que se almacena como valor del componente cuando se
DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile50

ManualdeusoProcessMaker

selecciona,mientrasquelaetiquetaeselnombrequesemuestraenelcomponente.
Ej:Ponerlasiguienteconsultaenelcomponentelista_clientes
SELECTid,nombreFROMCliente;
creaunalistaenlacualsemuestralosnombresdelosclientes,ycuandoseselecciona
una,seguardasuiden@@lista_clientes
Cargadeungrid
Enungrid,nohayrestriccinnidecolumnasnidefilas.Sinembargo,elgridsolovaa
ocuparlascolumnasquecoincidaennombreconalgncomponentedelgridqueposeael
mismonombre.
Adems,estetipodecomponentenoposeeloscamposSqlConnectionniSql,porlo
quesenecesitahacerunacargamanualenuntrigger.
ActualizacindeBasedeDatos
Para actualizar la Base de Datos (tanto ingresando datos, como actualizndolos) se
necesitan Triggers as que primero explicaremos el uso de Triggers, despues las
insercionesyactualizacionesenSQL,finalmenteexplicandocomograbaruncomponente
grid.
CreacindeTriggers
UntriggerescasicdigoenPHPquesepuedeejecutarantesodespuesdeunpaso.Es
casi,porquesepuedeocupar@@paraindicarunvalordeuncomponente.Detodas
formas,noesnecesariounconocimientodellenguajedeprogramacinPHPparaeluso
quevamosarealizardetriggers.
ParaactualizarenlaBD(orealizarcargamanual)serequierecrearuntriggerobligatorio,
masuntriggerporactualizacinenlaBD.
Paracrearuntrigger,sedebehacerclickenTriggersenelmapadeprocesos.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile51

ManualdeusoProcessMaker

LuegohacerclickenNew.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile52

ManualdeusoProcessMaker

En Title se pone el Nombre del trigger, en Description se pone una pequea


descripcindelTriggeryenScriptelcdigoPHPaejecutar.Finalmente,paraguardar,
sedebepresionarelbotonSave.
ModelosdeTriggers
TriggerObligatorio
EstetriggerpermiterealizarconsultassinconocerelDBS_UIDdesuconector(eneste
ejemplo,elDBS_UIDera9ad6cf05aa8a8fe26c4fab1caf3964c0)

Title:ConfiguracindelaBD
Descripcin:PermiterealizarconsultasalaBDsinconocerelDBS_UID
delconectordelaBasedeDatosenProcessMaker
Script:
DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile53

ManualdeusoProcessMaker

$proc=@@PROCESS;
$sql="SELECTDBS_UIDFROMdb_sourceWHEREPRO_UID='$proc';";
$tmp_db=executeQuery($sql);
@@DB=$tmp_db[1]["DBS_UID"];

TriggerdeInsercin/ActualizacinenSQLenlaBD
ModelodetriggerpararealizarinsercionesoactualizacionesenlaBD.
Script:
$sql="SuconsultaenSQLaqu";
executeQuery($sql,@@DB);
TriggerdeInsercinenSQLrecuperandoId
PermiteinsertarunregistroenlaBDyrecuperarlaiddelelementorecininsertado
Script:
$sql="SuconsultaenSQLaqu";
$nombre_variable=executeQuery($sql,@@DB);
Nota:
Podrusar$nombre_variableparareferenciaraestaid,hastaantesdepasaralsiguiente
dynaform.
TriggerdeCargaManualdeunGrid
PermitecargarungridusandodatosenlaBD
Script:
$sql="SuconsultaenSQLaqu";
@@nombre_grid=executeQuery($sql,@@DB);
TriggerdeCargaManualdeuncampo
PermitecargaruncomponenteusandoundatoenlaBD.
DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile54

ManualdeusoProcessMaker

Script:
$sql="SuconsultaenSQLaqu";
$tmp_db=executeQuery($sql,@@DB);
@@nombre_componente=$tmp_db['nombrecolumna'];
TriggerdeInsercin/ActualizacindeFilasdeunGridalaBD
Permiteinsertar/actualizarunregistroporcadafiladelgrid.
Script:
foreach(@@nombre_gridas$numero_fila=>$fila){
$sql="SuconsultaenSQLaqu";
executeQuery($sql,@@DB);
}

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile55

ManualdeusoProcessMaker

SQLenTriggers
EnTriggershaydostiposdevariablesaocupar:lasdelproceso(lasquepartencon@@)
ylastemporales(lasquepartencon$).
ParaocuparlasprimerasenconsultasSQLenTriggershayqueencerrarlasen{}.
Ej:
$sql=SELECTnombreFROMClienteWHEREnombre='{@@nombre_cliente}';;
Enelejemplosepuedeobservarqueloscadenassedebeencerrarencomillassimples('
).Lastemporalesnorequierenqueseocupe{},aunquesiquierepuedeponerlo.
Insercin,ActualizacinyEliminacinenSQL
ParainsertarunregistroenSQLseocupaINSERT.Porejemplo:
INSERTINTOCliente(nombre,saldo)VALUES('Pedro',100);
queinsertaenClienteunregistroconnombre='Pedro'ysaldo=100.
ParaactualizarunregistroseocupalainstruccinUPDATE.Porej:
UPDATEClienteSETsaldo=100WHEREnombre='Pedro';
queactualizaelsaldoa100detodoslosclientesconnombrePedro
ParaborrarunregistroseocupalainstruccinDELETE.Porej:
DELETEFROMClienteWHEREnombre='Pedro';
borratodoslosclientesquetengacomonombrePedro

ActualizacindeunGrid
SisedeseaactualizarungridenunaBDqueyaestaingresada,yestapuedecambiarde
tamao.EntoncesesrecomendablequeprimeroseborrentodaslasfilasdelaBDyse
vuelvaaingresar.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile56

ManualdeusoProcessMaker

Ubicaruntrigger
Hastaelmomentosolosehancreadotriggers.Sinembargo,mientrasnoseindiqueen
quepartessequiereocupar,soloestaremoscreandolibrerasdetriggers.
Pararealizaresto,sedebehacerclickderechoenunatareaenelmapadeprocesosy
seleccionarSteps.Luego,hacerclickeneltabTriggers

Comosepuedeobservar,apareceunrbolconunnodoporcadadynaform,ademsdel
formularioAssignTask.Siseexpandeelnododeundynaform,sepuedeobservardos
nodosBeforeyAfter.EnBeforevanlostriggersqueseejecutanantesdequese
muestreeldynaform,mientrasqueloqueestnenelAftersonlosqueseejecutan
despuesdeenviareldynaform,peroantesquelostriggersdelsiguientepaso.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile57

ManualdeusoProcessMaker

Siseexpandecualquieradeambosnodos(BeforeoAfter)sepuedeobservarunalista.
Aligualquelospasos,lostriggersseejecutanpororden.Paraagregaruntriggerala
lista,sedebehacerclickenAdd

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile58

ManualdeusoProcessMaker

EnTriggerssedebeseleccionarelTriggeraejecutar,mientrasqueenConditionse
ponelacondicinparaejecutarestetrigger.Sisedejavacalacondicin,entoncesel
triggersevaaejecutarsiempre.Luego,sehaceclickenAssign.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile59

ManualdeusoProcessMaker

UbicacindelTriggerObligatorio
EltriggerobligatoriosedebeejecutarenelBeforedelprimerdynaformdealgunatarea
queseainicial.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile60

ManualdeusoProcessMaker

PruebadelPrototipo
Parainiciarlapruebadelprototiposedebeiniciarsesinconelusuariodeprueba(salvo
quehayanusadoalusuarioadminparaserelusuariodeprueba).Despushacerclicken
CasesenelmendeProcessMaker

Paracrearunnuevocaso,sedebehacerclickenNew.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile61

ManualdeusoProcessMaker

EnProcesssedebeelegirelprocesoylatareainicial(queseencuentraadentrodel
parntesis).LuegosedebehacerclickenStart

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile62

ManualdeusoProcessMaker

Llegandoalultimopasodelatarea,sellegaalformularioAsignarTarea

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile63

ManualdeusoProcessMaker

AlhacerclickenContinue,seobtienelasiguientepantalla

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile64

ManualdeusoProcessMaker

Comosepuedeobservar,nosmandamosanosotrosmismoselcaso.Sisehaceclicken
Opensepuedeseguirenelworkflow.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile65

ManualdeusoProcessMaker

Exportacineimportacindeunproceso
Exportacin
Para exportar un proceso, haga click derecho en un lugar vaco dentro del mapa de
procesos,yelijaExportProcess

Alfinal,enFilehayunlinkalarchivodelproceso.Haciendoclickeneselinkseiniciael
procesodedescarga.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile66

ManualdeusoProcessMaker

Importacin
EnProcess,enlalistadeprocesos,hagaclickenImportqueseencuentraalladode
New

EnFileseseleccionaelarchivo.pmaimportar.LuegosedebehacerclickenImport.
Sielprocesoyaexista,saleunapaginamas.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile67

ManualdeusoProcessMaker

Laopcinrecomendadaeslaprimera,enlacualreemplazaelantiguoprocesoporel
procesoaimportar.HagaclickenSaveyelprocesosevaaimportar.

DepartamentodeIngenieraIndustrialFacultaddeCienciasFsicasyMatemticasUniversidaddeChile68

También podría gustarte