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.

Aqu ingreselainformacindecuentadelgrupo(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 Aqu sevaacrearlosgruposdeusuariosnecesariosparaelprocesoyaprovechando 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

Aqu sepuedenverlospasosquerealizaunatarea.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

Aqu sepuedeobservareldynaformylacondicindeejecucinSisehaceclickenEdit, 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,apareceun rbolconunnodoporcadadynaform,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