You are on page 1of 169

UNIVERSIDAD DE CORDOBA

ESCUELA POLITECNICA SUPERIOR

Ingeniería Técnica en Informática de Gestión proyecto fin de carrera

Titulo del Proyecto:

SISTEMA WORKFLOW EN EMPRESA BA O SOFTWARE LIBRE
Manual de código

!irector ":

!r# !# $on%alo &erruela $arc'a Profe(or )NI*ERSI!A! !E &OR!OBA !eparta+ento: In,enier'a del (oft-are. &onoci+iento y An/li(i( nu+0rico# !# Fernando A# Oli2encia Polo E+pre(a: MA$TEL SISTEMAS S#A# &ar,o: !irector $eneral Antonio e(3( Mar'n E(pe4o 56#785#59:;M i:1+ae(a<uco#e(

!irector 1:

Alu+no:

&=rdo>a. Septie+>re de 16"6

Índices

Índice de contenido.
1.Introducción...........................................................................1 2.Conectar con las bases de datos de la empresa........................3 2.1. Modificación de losarchivos odbc.ini y fretds.conf............................3 2.2.conexión.php.....................................................................................4 2.3.script.sh.............................................................................................5 2.4.ImportarUsuarios.php........................................................................ 2.5.!ctuali"arusuarios.php.....................................................................1 2. .borrarUsuarios.php..........................................................................1# 2.$.%orrar&closed.php............................................................................1' 2.#.insertar(atos)avision*o+rocessma,er.php.....................................22.'.ver*ablas)avision.istemas.php.......................................................23 2.1-.borrar*ablas)avision.php...............................................................25 2.11.insertar(atos+rocessma,er*o)avision.php...................................25 3.Código de los procesos tareas.............................................2! 3.1./ódi0o de +etición de 1acaciones....................................................2# 3.2.+etición de (inero a /uenta.............................................................4' 3.3.2ustificante de 3astos...................................................................... $ 3.4.!lta 4 /ierre de 5bra........................................................................'5 3.5.!lta de empleado...........................................................................1-4 3. ./ierre de obra................................................................................153 3.$.%a6a de empleado..........................................................................15 3.#.%orrar casos...................................................................................1 1

Manual Técnico

III

Índices

Índice de Figuras
Fi,ura Fi,ura Fi,ura Fi,ura Fi,ura Fi,ura Fi,ura Fi,ura 5#"# 5#1# 5#5# 5#:# 5#A# 5#?# 5#9# 5#8# !ia,ra+a de Petici=n de *acacione(##############################################17 Petici=n de !inero A &uenta###########################################################:7 !ia,ra+a de u(tificante de $a(to(################################################?9 Alta @ &ierre de O>ra#######################################################################7A Alta de e+pleado##########################################################################"6: &ierre de O>ra##############################################################################"A5 !ia,ra+a de Ba4a de E+pleado####################################################"A? Borrar ca(o(################################################################################## "?"

Manual Técnico

IV

"#INTRO!)&&IBN#

En e(te apartado introducire+o( el c=di,o de(arrollado para la aplicaci=n Proce((MaCer# E(ta di2idido en do( parte(. la pri+era (on >loDue( de c=di,o no perteneciente( al propio pro,ra+a. pero Due ayudan e inte,ran (u( dato( con otro( (i(te+a( de la e+pre(a co+o pueden (er el directorio acti2o EA#!#F o el (er2idor ERP Na2i(ion. Due contiene la +ayoria de lo( dato( de la e+pre(a Ma,tel# La (e,unda parte de(arrolla el c=di,o de cada pro,ra+a. tarea. (u( plantilla( creada(. (u( tri,,er( E>loDue( de c=di,oF Due cada tarea puede tener. a(' co+o lo( docu+ento( de (alida Due el pro,ra+a puede pre(entar# A continuaci=n (e detalla la docu+entaci=n del c=di,o#

1#&ONE&TAR &ON LAS BASES !E !ATOS !E LA EMPRESA#

1#"# MO!IFI&A&IBN !E LOSAR&GI*OS O!B&#INI H FRET!S#&ONF
*oy a conectar con la >>dd in(taurada en la e+pre(a +a,tel. >a4o Micro(oft Ser2er SIL EMSSILF. para Due (e pueda reali%ar la coneJi=n. de>o de +odificar lo( (i,uiente( arcKi2o(:
1º /etc/odbc.ini voy a cambiar esto: [odbc] Description = Test Driver = ms-sql Servername = 10.0.0. !1 "DS# = 10.0.0. !0 "instance = #$%&$'T()(* +,D = -&

Sistema workflow en empresa bajo software libre.

-.D = pm&a/tel -ort = 1!00 º /etc/1reetds/1reetds.con1 " $ typical &icroso1t server [navision] 2ost = 10.0.0. !0 instance = #$%(3S(*T() port = 1!00 tds version = 4.0

1#1#&ONELIBN#PGP
Se confi,urara la( (i,uiente( coneJi=ne( a una >a(e de dato( creada para el (i(te+a Proce((MaCer en +y(Dl en el (i,uiente arcKi2o: coneJi=n#pKp &=di,o:
56 //78#(9,8# mssql

:db2ost=;10.0.0. !0<#$%&$'T()(*;= // 2ost del &yS>) ?/eneralmente local2ost@ :dbAsAario=;.8*BC)8.;= // aqAi debes in/resar el nombre de AsAario // para acceder a la base :dbpassDord=;&a/tel 010;= // passDord de acceso para el AsAario de la :DE=F&$'T()(#(*',$SF= :coneGionHmssql = mssqlHconnect?:db2ostI :dbAsAarioI :dbpassDord@ or die ?;(**8* $) 78#(7T$* <n;@= mssqlHselectHdb?:DEI :coneGionHmssql@= //78#(9,8# mysql :db2ost=;10.0.0.J ;= // 2ost del &yS>) ?/eneralmente local2ost@ :dbAsAario=;pros;= // aqAi debes in/resar el nombre de AsAario // para acceder a la base :dbpassDord=;ma/tel4K;= // passDord de acceso para el AsAario de la linea anterior :dbHmysql=;mysql;= // Ease con la cAal trabaLar :coneGionHmysql = mysqlHconnect?:db2ostI :dbAsAarioI :dbpassDord@or die ?;(**8* $) 78#(7T$*;@= mysqlHselectHdb?:dbHmysqlI :coneGionHmysql@= 6M

Manual de Código

4

2.Conectar con las bases de datos de la empresa.

1#5#S&RIPT#SG
El c=di,o Due 2iene a continuaci=n e( un (cript Econ4unto de co+ando( uniJF. el cual le (er2ir/ al (i,uiente >loDue pKp Ei+portar)(uario(#pKpF# E(te (cript con(ulta a lo( u(uario( acti2o( del directorio acti2o para poder inte,rarlo( al (i(te+a Proce((MaCer# &=di,o:
"N/bin/bas2 "+S+$*,8=F-(*8D$F "D#=Oldapsearc2 -G -))) -2 10.0.0. 00 -b dc=ma/telIdc=es FprAebasPma/tel.esF -D &a/tel 00J cn=:+S+$*,8 oA Q 2ead -n 1O "ec2o ;%ariable D#= ; :D# declare -a array let coAnt=0 "7#=Oldapsearc2 -G -))) -2 10.0.0. 00 -b dc=ma/telIdc=es FprAebasPma/tel.esF -D &a/tel 00J Fcn=perodaFQ 2ead -R Q tail -1O -D

-D

"(LecAtamos el ldap para todos los AsAarios 2abilitados ?RR0!4@ y lo /Aardamos en el arc2ivo dn ldapsearc2 -G -))) -2 10.0.0. 1 -b dc=ma/telIdc=local -D FadministradorPma/tel.localF -D &a/tel11K ;?S ?N ?Aser$ccoAnt7ontrol=RR0K0@@?obLect7lass=person@?obLect7lass=Aser@ ?N ?obLect7lass=compAter@@ @; dn M /-*83(7T8/procesmaTer/importar+sAarios/dn!.tGt "Eorramos lineas vacias y de comentarios y qAe no comienUen por dn: sed -e F/V[ ]W"/dF -e F/V:/dF /-*83(7T8/procesmaTer/importar+sAarios/dn!.tGt M /-*83(7T8/procesmaTer/importar+sAarios/dn0.tGt "Eorramos el dn: . cat /-*83(7T8/procesmaTer/importar+sAarios/dn0.tGt Q sed Fs/Vdn: ///F M /-*83(7T8/procesmaTer/importar+sAarios/dn .tGt "Eorramos las lineas q empieUan por dn::I qAe son erroneas cat /-*83(7T8/procesmaTer/importar+sAarios/dn .tGt Q sed /-*83(7T8/procesmaTer/importar+sAarios/dn1.tGt "Eorramos las lineas qAe empieUen con espacios cat /-*83(7T8/procesmaTer/importar+sAarios/dn1.tGt /-*83(7T8/procesmaTer/importar+sAarios/dn0.tGt Q sed F/Vdn::/dF M

F/V

/dF

M

"Eorramos desde el D7 2asta el 1inal de linea y lo cambiamos por D7=ma/telI D7=local "(sto se 2ace porqAe el ldapsearc2 me corta las lineas del D#IpAes el tope es de XJ caracteresI cat /-*83(7T8/procesmaTer/importar+sAarios/dn0.tGt Q sed Fs/D7.W/D7=ma/telID7=local//F M /-*83(7T8/procesmaTer/importar+sAarios/dn.tGt

Manual de Código

5

Sistema workflow en empresa bajo software libre.

rm rm rm rm rm

/-*83(7T8/procesmaTer/importar+sAarios/dn!.tGt /-*83(7T8/procesmaTer/importar+sAarios/dn0.tGt /-*83(7T8/procesmaTer/importar+sAarios/dn .tGt /-*83(7T8/procesmaTer/importar+sAarios/dn1.tGt /-*83(7T8/procesmaTer/importar+sAarios/dn0.tGt

"creamos An array qAe /Aarde todos los dn D2ile read line do array[:coAnt]=:YlineZ= ??coAnt[[@@= done 5 /-*83(7T8/procesmaTer/importar+sAarios/dn.tGt= "(n este arc2ivo dn.tGt qAedar\n /Aardados todos didistin/Aidos ec2o :Yarray[0]Z ec2o :Yarray[ 00]Z ec2o :coAnt

los

nombres

1#:#IMPORTAR)S)ARIOS#PGP
&on e(te >loDue pKp (e con(i,ue. introducir en el (i(te+a Proce(+aCer de +anera auto+/tica todo( lo( u(uario( de Na2i(i=n y (u( principale( dato(# *ea+o( el c=di,o a continuaci=n# &=di,o:
56p2p inclAde ;coneGion.p2p;= //]acemos menA para ver si qAeremos 2acer la car/a de todos los AsAarios o no inclAde ;borrarHclosed.p2p;= //S, S( >+,(*( E8**$* T8D8S )8S +S+$*,8S //inclAde ;borrarHAsAarios.p2p;= :dbHmysql=;mysql;= // Ease con la cAal trabaLar :D1HDorT1loD = ;D1HDorT1loD;= :coneGion = mysqlHconnect?:db2ostI :dbAsAarioI :dbpassDord@= //mysqlHselectHdb?:D1HDorT1loDI :coneGion@= //mysqlHselectHdb?:dbHmysqlI :coneGion@= //eLecAtamos el scriptI qAe se conecta a la base de datos y /enera el arc2ivo dn.tGtI qAe contiene en cada 1ila todos los nombres distin/Aidos de los AsAariosº

Manual de Código

6

2.Conectar con las bases de datos de la empresa.

:salida s2ellHeGec?;/-*83(7T8/procesmaTer/importar+sAarios/script.s2;@= //C,7](*8 D( (**8*(S //D( )8S +S+$*,8S qAe estan en #avision y no estan en $.D. ? 00@ /W:sentencia=; S()(7T +sAarios(mpresas.#ombrecorto C*8& mysql.+sAarios(mpresas )(CT ^8,# D1HDorT1loD.+S(*S 8# +sAarios(mpresas.#ombrecorto +S(*S.+S*H+S(*#$&( .](*( +S(*S.+S*H+S(*#$&( ,S #+)) ;=W/

=

=

//dn ser\ An array qAe contendra todos los dn de los AsAarios :dn = 1ile?;/-*83(7T8/procesmaTer/importar+sAarios/dn.tGt;@= //(l dn.tGt es el arc2ivo de teGto qAe se 2a /enerado con el script.s2 :lineas = coAnt?:dn@= //sAbstr ?:cadenaI nHinicioInHlar/o@ C8*&$T8 S+E7$D(#$S //%oy a eGtraer cada cn del dn creando cn como An array del mismo tama_o qAe dn pero solo con el nombre distin/Aido 1or?:i=0= :i 5 :lineas= :i[[@ Y :posicion7oma = strpos? :dn[:i]I;I;@= :cn[:i]= sAbstr ? :dn[:i]I0I :posicion7oma-0@= Z // (n este pAntoI ya ten/o dos arrays= //dn[1]-M?7#=-(*8D$I8+=&a/telHsistemasID7=ma/telID7=es@ //cn[1]-M?-(*8D$@ :contador =0= 1or?:i=0= :i 5 :lineas= :i[[@ Y :Hdn= :dn[:i]= :Hcn= :cn[:i]= //////////////////////////////////////////////////////////////////////// ///////////////////////////// //7omprAebo qAe este en #avision para insertarloI sinoI no lo inserto :sentencia=;select D,ST,#7T #ombrecorto 1rom mysql.+sAarios(mpresas D2ere #ombrecorto= F:HcnF;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :roD = mysqlH1etc2HroD? :resAlt@= :nAmHroDs = mysqlHnAmHroDs?:resAlt@=//el coAnt?roD@ no 1Anciona. //T$&E,(# 78&-*+(E8 >+( #8 (ST( 3$ 7*($D8 //:sentencia =;select +S*H+S(*#$&( 1rom D1HDorT1loD.+S(*S D2ere +S*H+S(*#$&(= F:HcnF;= //7ambio la sentencia sAperior por la de mas abaLoI porqAe cAando el pm borra An AsAarioI deLa todos sAs datos y solo //borra el +S*H+S(*#$&(I por eso bAsco en el +S*HC,*ST#$&(

Manual de Código

7

Sistema workflow en empresa bajo software libre.

:sentencia =;select +S*HC,*ST#$&( 1rom D1HDorT1loD.+S(*S +S*HC,*ST#$&(= F:HcnF;= :resAlt = mysqlHqAery? :sentencia I :coneGion@= :roD = mysqlH1etc2HroD? :resAlt @= i1 ? :roD[0] N= #+)) SS :roD [0]==#+)) @ Y /Wo8o8o88o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8 T$E)$ .CH.8*BC)8. o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8W/ :contador[[=

D2ere

+S(*S

D(

//7ontemplo qAe si 2ay AsAarios borradosI :sentencia=;insert into D1HDorT1loD.+S(*S?+S*H+,D@ select )-$D? coAnt?W@ [1I0 I0@ 1rom D1HDorT1loD.+S(*S=;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= //ec2o ;Eien<n;= else ec2o ;Callo 1<n;= :sentencia =;S()(7T maG?+S*H+,D@ 1rom D1HDorT1loD.+S(*S;= /WS()(77,8#8 () &$9 ,DW/ i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :idmaGimo =:roD[0]= // ec2o ;Eien <n;= Z else ec2o ;Callo <n;= :sentencia=; Apdate D1HDorT1loD.+S(*S set +S*H+S(*#$&( = ?select D,ST,#7T #ombrecorto 1rom mysql.+sAarios(mpresas D2ere #ombrecorto= F:HcnF@I +S*HC,*ST#$&(=?select D,ST,#7T #ombrecorto 1rom mysql.+sAarios(mpresas D2ere #ombrecorto= F:HcnF@I +S*H)$ST#$&(=?select D,ST,#7T #ombre 1rom mysql.+sAarios(mpresas D2ere #ombrecorto= F:HcnF@I +S*H(&$,) =?select D,ST,#7T (mail 1rom mysql.+sAarios(mpresas D2ere #ombrecorto= F:HcnF@I +S*HD+(HD$T( = ?select noD?@ [ interval 0 year@I +S*H7*($T(HD$T( = ?select noD?@@I +S*H+-D$T(HD$T( = ?select noD?@@I +S*HST$T+S=F$7T,%(F I +S*HE,*T]D$3 = ?select noD?@ - interval 0 year@ D2ere +S*H+,D=F:idmaGimoF=;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= //ec2o ;Eien0<n;= else ec2o ;Callo 0<n;= //////////////////////////////////////////////////////////////////////// ///////////////////////////////

Manual de Código

8

2.Conectar con las bases de datos de la empresa.

/WDe1ino las variables comprobar qAe esW/

de

los

nombres

y

Le1es

para

posteriormente D2ere

:sentencia =;select +S*H+,D 1rom D1HDorT1loD.+S(*S +S*H+,D=F:idmaGimoF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :id =:roD[0]= Z else ec2o ;Callo!<n;= :sentencia =;select +S*H+S(*#$&( 1rom D1HDorT1loD.+S(*S +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :#ombrecorto =:roD[0]= Z else ec2o ;CalloK<n;= :sentencia =;select +S*H)$ST#$&( 1rom D1HDorT1loD.+S(*S +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :#ombre =:roD[0]= Z else ec2o ;CalloR<n;= :sentencia =;select +S*H(&$,) 1rom D1HDorT1loD.+S(*S +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :(mail =:roD[0]= Z else ec2o ;<nCalloX;= /W)o Aso para ver si pertenece a **]]W/ :sentencia =;select departamento 1rom mysql.+sAarios(mpresas #ombrecorto=F:#ombrecortoF;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :nAmHroDs = mysqlHnAmHroDs?:resAlt@=//el coAnt?roD@ no 1Anciona. 1or ? :i=0=:i5:nAmHroDs=:i[[@ Y :roD =mysqlH1etc2HroD?:resAlt@= i1 ? :roD[0] N= #+)) @ Y :departamento =:roD[0]= //ec2o ;<n departamento = :departamento ;=

D2ere

D2ere

D2ere

D2ere

Manual de Código

9

Sistema workflow en empresa bajo software libre.

:i=:nAmHroDs=//cAando encAentre al/Ano me sal/o del bAcle Zelse :departamento =F F=//Si no lo recAperaI es porqAe no tiene. - eL: )8&$,S Z //]$3 &+7]8S >+( #8 T,(#(# () D(-$*T$&(#T8 -+(ST8I -8* (S8 &( S$)(# T$# -878S **]]I D( R!0I !R0 (ST$# S,# -8#(* //i1? :departamento == F F@ //ec2o ;<nCallo4;= :sentencia =;select Le1einmediato 1rom mysql.+sAarios(mpresas D2ere #ombrecorto=F:#ombrecortoF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= i1 ? :roD[0] N= #+)) @ Y :Le1einmediato =:roD[0]= //ec2o ;<n Le1einmediato: :Le1einmediato;= Zelse :Le1einmediato =F F=//Si no lo recAperaI es porqAe no tiene. - eL: )8&$,S Z else ec2o ;<nCalloJ<n;= :sentencia =;select dele/ado 1rom mysql.+sAarios(mpresas D2ere #ombrecorto=F:#ombrecortoF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= i1 ? :roD[0] N= #+)) @ Y :dele/ado =:roD[0]= //ec2o ;<n dele/ado: :dele/ado;= Zelse :dele/ado =F F=//Si no lo recAperaI es porqAe no tiene. - eL: )8&$,S Z else ec2o ;<nCallo10;= //////////////////////////////////////////////////////////////////////// ////////////////////////////////////// /W*ecoLo de la base de datos processmaTer el -*87(SS&$B(*H8-(*$T8*....W/ /W-rimero recoLo el codi/o del *8)I para identi1icadorW/ :rolHcodeHoperador=F-*87(SS&$B(*H8-(*$T8*F= :rolHcodeHrr22=F-*87(SS&$B(*H**]]F= :rolHcodeHLe1einmediato=F-*87(SS&$B(*H78#T*8)F= :rolHcodeHdele/ado=F-*87(SS&$B(*H78#T*8)F= :sentencia =;select *8)H+,D *8)H78D(=F:rolHcodeHoperadorF;= 1rom +,D de cada sacar rolI el

despAes

rbHDorT1loD.*8)(S

D2ere

Manual de Código

10

2.Conectar con las bases de datos de la empresa.

i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :rolHAidHoperador =:roD[0]= Z else ec2o ;<nCallo11<n;= :sentencia =; select *8)H+,D 1rom rbHDorT1loD.*8)(S F:rolHcodeHrr22F;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :rolHAidHrr22 =:roD[0]= Z else ec2o ;<nCallo1 <n;= D2ere *8)H78D(=

:sentencia =;select *8)H+,D 1rom rbHDorT1loD.*8)(S *8)H78D(=F:rolHcodeHLe1einmediatoF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :rolHAidHLe1einmediato =:roD[0]= Z else ec2o ;<nCallo10<n;= :sentencia =;select *8)H+,D 1rom rbHDorT1loD.*8)(S F:rolHcodeHdele/adoF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@ Y :roD =mysqlH1etc2HroD?:resAlt@= :rolHAidHdele/ado =:roD[0]= Z else ec2o ;<nCallo1!<n;= D2ere

D2ere

*8)H78D(=

//////////////////////////////////////////////////////////////////////// /////////////////////////////// /W*ecoLo el car/o qAe ocApa e=empleado L=Le1e inmediato d=dele/ado W/ i1?:#ombrecortoN=:Le1einmediato@ Y i1 ?:Le1einmediato N= :dele/ado@ :car/o=FeF= else // :Le1einmediato == :dele/ado :car/o=FLF= Z else //?:#ombrecorto == :Le1einmediato@ :car/o=FdF=

Manual de Código

11

Sistema workflow en empresa bajo software libre.

i1?:dele/ado == F F QQ :Le1einmediato == F F@ :car/o =FdF= //////////////////////////////////////////////////////////////////////// /////////////////////////////// /W$parte del 7ar/oI necesitamos saber si el empleado trabaLa en recArsos 2Amanos. Si es de recArsos 2Amanos ?departamento == F**.]].F@ --M rol **]] 0--M (l empleado no pertenece a *ecArsos ]Amanos 1--M (l empleado pertenece a *ecArsos ]AmanosW/ i1?:departamentoN=F**.]].F@ :rr22=0= else :rr22=1= //////////////////////////////////////////////////////////////////////// /////////////////////////////// /W+na veU qAe ten/o el car/o qAe ocApa y si el empleado es de recArsos 2Amanos o noI pAedo de1inirle el rolI y lo voy a 2acer en: - )a tabla +S(*S de D1HDorT1loD ?+S*H*8)(@. (s el *ol en -$)$E*$ - )a tabla +S(*SH*8)(S de rbHDorT1loD ?*8)H+,D@. (S el ,D del *8). ?,#S(*T@I tambien inserto el +S*H+,D enW/ i1 ?:rr22==0 @ /W#8 (S D( **]]W/ Y i1 ?:car/o==FeF@ /W#8 (S D( **]] y es (&-)($D8W/ Y /W - )a tabla +S(*S de D1HDorT1loD ?+S*H*8)(@. (s el *ol en -$)$E*$W/ :sentencia= ;Apdate D1HDorT1loD.+S(*S set +S*H*8)(=F:rolHcodeHoperadorF D2ere +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;<nCallo1K<n;= /W - )a tabla +S(*SH*8)(S de rbHDorT1loD ?*8)H+,D@. (S el ,D del *8). ?,#S(*T@I tambien inserto el +S*H+,D enW/ :sentencia= ;insert into rbHDorT1loD.+S(*SH*8)(S %$)+(S?F:idFIF:rolHAidHoperadorF@ ;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;<nCallo1R<n;= /W - )a tabla '*8+-H+S(* de D1HDorT1loD ?'*-H+,DI +S*H+,D@. (S el ,D del '*+-8I en este caso (&-)($D8. W/ :sentencia= ; insert into D1HDorT1loD.'*8+-H+S(* %$)+(S?FJJ1J4J4X4!bJR010K004b0K0X1!K KKRFIF:idF@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 01<n;= Z //----------------------------------------------------elsei1?:car/o==FLF@ /W#8 (S D( **]] y es ^(C( ,#&(D,$T8W/

Manual de Código

12

2.Conectar con las bases de datos de la empresa.

Y /W - )a tabla +S(*S de D1HDorT1loD ?+S*H*8)(@. (s el *ol en -$)$E*$W/ :sentencia= ; Apdate D1HDorT1loD.+S(*S set +S*H*8)(=F:rolHcodeHLe1einmediatoF D2ere +S*H+,D=F:idF ;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo1X<n;= /W - )a tabla +S(*SH*8)(S de rbHDorT1loD ?*8)H+,D@. (S el ,D del *8). ?,#S(*T@I tambien inserto el +S*H+,D enW/ :sentencia= ; insert into rbHDorT1loD.+S(*SH*8)(S %$)+(S?F:idFIF:rolHAidHLe1einmediatoF@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo14<n;= /W - )a tabla '*8+-H+S(* de D1HDorT1loD ?'*-H+,DI +S*H+,D@. (S el ,D del '*+-8I en este caso Le1e inmediato. W/ :sentencia= ; insert into D1HDorT1loD.'*8+-H+S(* %$)+(S?FX00R1K!0X!bJR010cK!41a1044R00 KRFIF:idF@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 0 <n;= Z //----------------------------------------------------elsei1?:car/o==FdF@ /W#8 (S D( **]] y es D()('$D8W/ Y /W - )a tabla +S(*S de D1HDorT1loD ?+S*H*8)(@. (s el *ol en -$)$E*$W/ :sentencia= ; Apdate D1HDorT1loD.+S(*S set +S*H*8)(=F:rolHcodeHdele/adoF D2ere +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo1J<n;= /W - )a tabla +S(*SH*8)(S de rbHDorT1loD ?*8)H+,D@. (S el ,D del *8). ?,#S(*T@I tambien inserto el +S*H+,D enW/ :sentencia= ; insert into rbHDorT1loD.+S(*SH*8)(S %$)+(S?F:idFIF:rolHAidHdele/adoF@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 0<n;= /W - )a tabla '*8+-H+S(* de D1HDorT1loD ?'*-H+,DI +S*H+,D@. (S el ,D del '*+-8I en este caso (&-)($D8. W/ :sentencia= ; insert into D1HDorT1loD.'*8+-H+S(* %$)+(S?FX0K10041X!bJR01000X410 0!XR44 1FIF:idF@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 00<n;=

Manual de Código

13

Sistema workflow en empresa bajo software libre.

Z //----------------------------------------------------////////////////////////////////////////////////////////////////// ////////////// else /W(S D( **]]W/ Y /W - )a tabla +S(*S de D1HDorT1loD ?+S*H*8)(@. (s el *ol en -$)$E*$W/ :sentencia= ; Apdate D1HDorT1loD.+S(*S set +S*H*8)(=F:rolHcodeHrr22F D2ere +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 0<n;= /W - )a tabla +S(*SH*8)(S de rbHDorT1loD ?*8)H+,D@. (S el ,D del *8). ?,#S(*T@I tambien inserto el +S*H+,D enW/ :sentencia= ; insert into rbHDorT1loD.+S(*SH*8)(S %$)+(S?F:idFIF:rolHAidHrr22F@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 1<n;= /W - )a tabla '*8+-H+S(* de D1HDorT1loD ?'*-H+,DI +S*H+,D@. (S el ,D del '*+-8I en este caso **]]. W/ :sentencia= ; insert into D1HDorT1loD.'*8+-H+S(* %$)+(S?FJX!K4 !0!bJR011c0Rc44X0 1JX4 !XFIF:idF@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 00<n;= Z //////////////////////////////////////////////////////////////////////// /////////////////////////// /Wo8o8o8o8o8o8o8o8o8o88o8o8o8o8 T$E)$ +S(*SH-*8-(*T,(S D( .CH.8*BC)8. o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8W/ :sentencia= ;insert into D1HDorT1loD.+S(*SH-*8-(*T,(S %$)+(S ? F:idFI F FIF0FIF F@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo <n;= :sentencia= ;Apdate D1HDorT1loD.+S(*SH-*8-(*T,(S set +S*H)$STH+-D$T(HD$T( = ?select noD?@@ D2ere +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo 0<n;= /Wo8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8 T$E)$ +S(*S o8o88o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8W/ :sentencia= D( *EH.8*BC)8. Z

Manual de Código

14

2.Conectar con las bases de datos de la empresa.

;insert into rbHDorT1loD.+S(*S %$)+(S ? F:idFIF:#ombrecortoFIFFIF:#ombrecortoFIF:#ombreFIF:(mailFIFFIFFIFFIF1F IFldapFIFK0KK44 X0!bJJ1 !1 4be440!K 04001FIF:HdnFIFF@;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo !<n;=

:sentencia= ;Apdate rbHDorT1loD.+S(*S set +S*HD+(HD$T( = ?select noD?@ [ interval 0 year@I +S*H7*($T(HD$T( = ?select noD?@@I +S*H+-D$T(HD$T( = ?select noD?@@ D2ere +S*H+,D=F:idF;= i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@= else ec2o ;Callo K<n;= /Wo8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8 T$E)$ +S(*SH*8)(S D( .CH.8*BC)8. 8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8W/ /W3a se 2a introdAcido sAs dos campos en la 1Ancion proc*olW/ Z//1in del i1 qAe comprAeba Z//1in del bAcle 1or ec2o ;<n,#T*8D+7,D8S: :contador <n<n;= inclAde ;cerrar7oneGion.p2p;= 6M

No 2a+o( a Kacer un apartado con el codi,o de cerrar&oneJion#pKp. pue( e( de+a(iado corto co+o para ello. (u c=di,o e( el (i,uiente: &=di,o:
56 mysqlHclose?:coneGion@= 6M

Manual de Código

15

Sistema workflow en empresa bajo software libre.

1#A#A&T)ALIMAR)S)ARIOS#PGP
E(te >loDue de c=di,o pKp no( (ir2e para car,arlo en el (er2idor +ediante el (i(te+a Due ,e(tiona auto+/tica+ente lo( proce(o( Due (e Duieren e4ecutar en el (i(te+a co+o una rutina conocido co+o &RON# )na 2e% i+portado( lo( u(uario(. lo Due e(to reali%a e( la actuali%aci=n por (i en el (i(te+a de la e+pre(a Na2i(i=n. al,3n u(uario (e le a(i,na otro departa+ento. con lo Due ca+>iaria (u no+>re di(tin,uido en el (i(te+a. conocido co+o dn# &=di,o:
56p2p inclAde ;coneGion.p2p;= //]acemos menA para ver si qAeremos 2acer la car/a de todos los AsAarios o no inclAde ;borrarHclosed.p2p;= //S, S( >+,(*( E8**$* T8D8S )8S +S+$*,8S //inclAde ;borrarHAsAarios.p2p;= :dbHmysql=;mysql;= // Ease con la cAal trabaLar :D1HDorT1loD = ;D1HDorT1loD;= :coneGion = mysqlHconnect?:db2ostI :dbAsAarioI :dbpassDord@= //mysqlHselectHdb?:D1HDorT1loDI :coneGion@= //mysqlHselectHdb?:dbHmysqlI :coneGion@= //eLecAtamos el scriptI qAe se conecta a la base de datos y /enera el arc2ivo dn.tGtI qAe contiene en cada 1ila todos los nombres distin/Aidos de los AsAariosº :salida = s2ellHeGec?;/-*83(7T8/procesmaTer/importar+sAarios/script.s2;@= //C,7](*8 D( (**8*(S //D( )8S +S+$*,8S qAe estan en #avision y no estan en $.D. ? 00@ /W:sentencia=; S()(7T +sAarios(mpresas.#ombrecorto C*8& mysql.+sAarios(mpresas )(CT ^8,# D1HDorT1loD.+S(*S 8# +sAarios(mpresas.#ombrecorto +S(*S.+S*H+S(*#$&( .](*( +S(*S.+S*H+S(*#$&( ,S #+)) ;=W/

=

//dn ser\ An array qAe contendra todos los dn de los AsAarios :dn = 1ile?;/-*83(7T8/procesmaTer/importar+sAarios/dn.tGt;@= //(l dn.tGt es el arc2ivo de teGto qAe se 2a /enerado con el script.s2 :lineas = coAnt?:dn@= //sAbstr ?:cadenaI nHinicioInHlar/o@ C8*&$T8 S+E7$D(#$S

Manual de Código

16

2.Conectar con las bases de datos de la empresa.

//%oy a eGtraer cada cn del dn creando cn como An array del mismo tama_o qAe dn pero solo con el nombre distin/Aido 1or?:i=0= :i 5 :lineas= :i[[@ Y :posicion7oma = strpos? :dn[:i]I;I;@= :cn[:i]= sAbstr ? :dn[:i]I0I :posicion7oma-0@= Z // (n este pAntoI ya ten/o dos arrays= //dn[1]-M?7#=-(*8D$I8+=&a/telHsistemasID7=ma/telID7=es@ //cn[1]-M?-(*8D$@ ////$>+, (&-,(`$ () E+7)( :actAaliUador = 0= 1or?:i=0= :i 5 :lineas= :i[[@ Y :Hdn= :dn[:i]= :Hcn= :cn[:i]= //////////////////////////////////////////////////////////////////////// ///////////////////////////// //7omprAebo qAe este en #avision para insertarloI sinoI no lo inserto :sentencia=;select D,ST,#7T #ombrecorto 1rom mysql.+sAarios(mpresas D2ere #ombrecorto= F:HcnF;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :roD = mysqlH1etc2HroD? :resAlt@= :nAmHroDs = mysqlHnAmHroDs?:resAlt@=//el coAnt?roD@ no 1Anciona. //T$&E,(# 78&-*+(E8 >+( #8 (ST( 3$ 7*($D8 //:sentencia =;select +S*H+S(*#$&( 1rom D1HDorT1loD.+S(*S D2ere +S*H+S(*#$&(= F:HcnF;= //7ambio la sentencia sAperior por la de mas abaLoI porqAe cAando el pm borra An AsAarioI deLa todos sAs datos y solo //borra el +S*H+S(*#$&(I por eso bAsco en el +S*HC,*ST#$&( :sentencia =;select +S*HC,*ST#$&( 1rom D1HDorT1loD.+S(*S +S*HC,*ST#$&(= F:HcnF;= :resAlt = mysqlHqAery? :sentencia I :coneGion@= :roD = mysqlH1etc2HroD? :resAlt @= D2ere

i1 ? :roD[0] N= #+)) SS :roD [0]N=#+)) @// roDN=#+))-Mes qAe eGiste en #$%,S,8# // roD N=#+))-Mes qAe esta creado en processmaTer //(sto lo realiUo para actAaliUar el dn Y :sentencia= ;Apdate rbHDorT1loD.+S(*S set +S*H$+T]H+S(*HD# = F:HdnF D2ere +S*H+S(*#$&(=F:HcnF;=

i1?:resAlt = mysqlHqAery? :sentenciaI :coneGion@@

Manual de Código

17

Sistema workflow en empresa bajo software libre.

Y ec2o ;<n D# actAaliUado I :HdnI :Hcn ;= :actAaliUador[[= Z else ec2o ;Callo de actAaliUar el dn a :Hdn<n;= Z else ec2o ; <n #8 $7T+$),`$D8--M:Hdn;= Z//1in del bAcle 1or ec2o ;<n$7T+$),`$D8S: :actAaliUador <n<n;= inclAde ;cerrar7oneGion.p2p;= 6M

1#?#BORRAR)S)ARIOS#PGP
&o+o (u no+>re indica. >orra del (i(te+a todo( lo( u(uario(. eJceptuando a lo( do( ad+ini(tradore( Due eJi(ten en el (i(te+a# E(ta e( una acci=n peli,ro(a por Due eli+ina lo( dato( del (i(te+a. y (olo la podr/ reali%ar el ad+ini(trador de 0(te# &=di,o:
56p2p //(ST( -*87(D,&,(#T8 E8**$ T8D8S )8S +S+$*,8S D( (97(-T8 )8S administradores con ,D 1 y . inclAde ;coneGion.p2p;= :dbHmysql=;mysql;= // Ease con la cAal trabaLar :D1HDorT1loD = ;D1HDorT1loD;= :coneGion = mysqlHconnect?:db2ostI :dbAsAarioI :dbpassDord@= )$ T$E)$

:sentencia= ; D()(T( C*8& OD1HDorT1loDO.O+S(*SO .](*( O+S(*SO.O+S*H+,DO #8T ,# ?F0000000000000000000000000000000 FIF00000000000000000000000000000001F @ ;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :sentencia= ; D()(T( C*8& OD1HDorT1loDO.O+S(*SH-*8-(*T,(SO O+S(*SH-*8-(*T,(SO.O+S*H+,DO #8T ,# ?F0000000000000000000000000000000 FI F00000000000000000000000000000001F@;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :sentencia= ; D()(T( C*8& OrbHDorT1loDO.O+S(*SO .](*( O+S(*SO.O+S*H+,DO #8T ,# ?F0000000000000000000000000000000 FI F00000000000000000000000000000001F@;= .](*(

Manual de Código

18

2.Conectar con las bases de datos de la empresa.

:resAlt = mysqlHqAery? :sentenciaI :coneGion@= :sentencia= ;D()(T( C*8& OrbHDorT1loDO.O+S(*SH*8)(SO .](*( O+S(*SH*8)(SO.O+S*H+,DO #8T ,# ?F0000000000000000000000000000000 FI F00000000000000000000000000000001F@ ;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :sentencia= ;D()(T( C*8& OD1HDorT1loDO.O'*8+-H+S(*O O'*8+-H+S(*O.O+S*H+,DO #8T ,# ?F0000000000000000000000000000000 FI F00000000000000000000000000000001F@;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= inclAde ;cerrar7oneGion.p2p;= 6M .](*(

1#9#BORRARN&LOSE!#PGP#
E(te (cript >orra de la( >a(e( de dato( de Proce((MaCer a lo( u(uario( Due (e Kan dado de >a4a en el (i(te+a. pero Due per+anecen en la( >a(e( de dato( a +odo de inacti2o(# &=di,o:
56p2p //(ST( -*87(D,&,(#T8 E8**$ T8D8S )8S +S+$*,8S D( )$ T$E)$ >+( (ST$# (ST$D8 7)8S(DI (ST8 (S E8**$D8S D(SD( -*87(SS&$B(*. inclAde ;coneGion.p2p;= :dbHmysql=;mysql;= // Ease con la cAal trabaLar :D1HDorT1loD = ;D1HDorT1loD;= :coneGion = mysqlHconnect?:db2ostI :dbAsAarioI :dbpassDord@= :sentencia= ;select +S*H+,D C*8& D1HDorT1loD.+S(*S +S(*S.+S*HST$T+S=F7)8S(DF;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= // D2ile ?:roD = mysqlH1etc2Harray?:resAlt@ @ Y ec2o ;<n roD[0]: :roD[0]<n;= :sentencia= ;D()(T( C*8& OD1HDorT1loDO.O+S(*SO O+S(*SO.O+S*H+,DO = F:roD[0]F;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :sentencia= ;D()(T( C*8& OD1HDorT1loDO.O+S(*SH-*8-(*T,(SO O+S(*SH-*8-(*T,(SO.O+S*H+,DO = F:roD[0]F;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= .](*( .](*(

.](*(

Manual de Código

19

Sistema workflow en empresa bajo software libre.

:sentencia= ;D()(T( C*8& OrbHDorT1loDO.O+S(*SO O+S(*SO.O+S*H+,DO = F:roD[0]F;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :sentencia= ;D()(T( C*8& OrbHDorT1loDO.O+S(*SH*8)(SO O+S(*SH*8)(SO.O+S*H+,DO = F:roD[0]F;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= :sentencia= ;D()(T( C*8& OD1HDorT1loDO.O'*8+-H+S(*O O'*8+-H+S(*O.O+S*H+,DO = F:roD[0]F;= :resAlt = mysqlHqAery? :sentenciaI :coneGion@= Z//1in del D2ile //&e da An Darnin/I pero 1Anciona inclAde ;cerrar7oneGion.p2p;= 6M

.](*(

.](*(

.](*(

1#8#INSERTAR!ATOSNA*ISIONTOPRO&ESSMAKER# PGP
EJi(ten en el (i(te+a ERP Na2i(i=n dato( Due Duiero tener al+acenado( en la( >a(e( de dato( del (er2idor de Proce(+aCer. el (i,uiente c=di,o reali%a e(te 2olcado de dato( diaria+ente en el (i(te+a: &=di,o:
56p2p inclAde ;coneGion.p2p;= //ten/o dos coneGiones:

:coneGionHmssqlI :coneGionHmysql

//WW.orT1loDSistemasWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //(Gtrai/o de la tabla de mssql de navision //7),(#T(S //$ntes qAe nadaI borro los re/istros de la tabla mysql.DorT1loDSistemasH7lientes para actAaliUarlos :tabla = ;DorTCloDSistemas7lientes;= :sql=;D()(T( C*8& :tabla;= /W-$*$ E8**$* )$ T$E)$ 78&-)(T$ D( &3S>)W/ :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@= :tabla = ;DorTCloDSistemasH7lientes;= :sql=;S()(7T W C*8& :tabla;= :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile? :roD = mssqlH1etc2Harray?:resAltHmssql@ @ Y

Manual de Código

20

2.Conectar con las bases de datos de la empresa.

// ec2o ;7),(#T( ,nsertar ----M;I ;-0-;I:roD[0]I;-1-;I:roD[1]I:roD[ ]I :roD[0]I:roD[!]I:roD[K]I:roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //)8 +#,78 >+( ]( -8D,D8 (#78#T*$* -$*$ )8S C$))8S D( )$S T,)D(S :teGto = :roD[1] = :teGto = At14Hdecode? :teGto (# +TC-4 :teGto = strtoApper?:teGto@= // ec2o :teGtoI;<n;= //3 las inserto en la tabla de mysql :tabla = ;DorTCloDSistemas7lientes;= :sql=;,#S(*T ,#T8 :tabla %$)+(S ?F:roD[0]FI F:teGtoF@;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= Z //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //D()('$7,8# //$ntes qAe nadaI borro los re/istros de la tabla mysql.DorT1loDSistemasH7lientes para actAaliUarlos :tabla = ;DorTCloDSistemasDele/acion;= :sql=;D()(T( C*8& :tabla;= /W-$*$ E8**$* )$ T$E)$ 78&-)(T$ D( &3S>)W/ :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@= :tabla = ;DorTCloDSistemasHDele/acion;= :sql=;S()(7T W C*8& :tabla;= :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile? :roD = mssqlH1etc2Harray?:resAltHmssql@ @ Y // ec2o ;D()('$7,8# ,nsertar ----M;I ;-0-;I:roD[0]I;-1-;I:roD[1]I :roD[ ]I:roD[0]I:roD[!]I:roD[K]I:roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //)8 +#,78 >+( ]( -8D,D8 (#78#T*$* -$*$ )8S C$))8S D( )$S T,)D(S :teGto = :roD[0] = :teGto = At14Hdecode? :teGto (# +TC-4 :teGto = strtoApper?:teGto@= // ec2o :teGtoI;<n;= //3 las inserto en la tabla de mysql :tabla = ;DorTCloDSistemasDele/acion;= :sql=;,#S(*T ,#T8 :tabla %$)+(S ?F:teGtoF@;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= @= //78# (ST8 7$&E,8 -$*$ 78D,C,7$*

//-$*$ -$S$* T8D8 $ &$3+S7+)$

@=

//78# (ST8 7$&E,8 -$*$ 78D,C,7$*

Z

Manual de Código

21

Sistema workflow en empresa bajo software libre.

//WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //D(-$*T$&(#T8 //$ntes qAe nadaI borro los re/istros de la tabla mysql.DorT1loDSistemasH7lientes para actAaliUarlos :tabla = ;DorTCloDSistemasDepartamento;= :sql=;D()(T( C*8& :tabla;= /W-$*$ E8**$* )$ T$E)$ 78&-)(T$ D( &3S>)W/ :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@= :tabla = ;DorTCloDSistemasHDepartamento;= :sql=;S()(7T W C*8& :tabla;= :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile? :roD = mssqlH1etc2Harray?:resAltHmssql@ @ Y //ec2o ;D(-$*T$&(#T8 ,nsertar ----M;I ;-0-;I:roD[0]I;-1-;I:roD[1]I :roD[ ]I:roD[0]I:roD[!]I:roD[K]I:roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //)8 +#,78 >+( ]( -8D,D8 (#78#T*$* -$*$ )8S C$))8S D( )$S T,)D(S :teGto = :roD[0] = :teGto = At14Hdecode? :teGto (# +TC-4 :teGto = strtoApper?:teGto@= // ec2o :teGtoI;<n;= //3 las inserto en la tabla de mysql :tabla = ;DorTCloDSistemasDepartamento;= :sql=;,#S(*T ,#T8 :tabla %$)+(S ?F:teGtoF@;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= Z //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //D()('$D8 //$ntes qAe nadaI borro los re/istros de la tabla mysql.DorT1loDSistemasH7lientes para actAaliUarlos :tabla = ;DorTCloDSistemasDele/ado;= :sql=;D()(T( C*8& :tabla;= /W-$*$ E8**$* )$ T$E)$ 78&-)(T$ D( &3S>)W/ :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@= :tabla = ;DorTCloDSistemasHDele/ado;= :sql=;S()(7T W C*8& :tabla;= :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile? :roD = mssqlH1etc2Harray?:resAltHmssql@ @ Y // ec2o ;D()('$D8 ,nsertar ----M;I ;-0-;I:roD[0]I;-1-;I:roD[1]I :roD[ ]I:roD[0]I:roD[!]I:roD[K]I:roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //)8 +#,78 >+( ]( -8D,D8 (#78#T*$* -$*$ )8S C$))8S D( )$S T,)D(S :teGto = :roD[1] = @= //78# (ST8 7$&E,8 -$*$ 78D,C,7$*

Manual de Código

22

2.Conectar con las bases de datos de la empresa.

:teGto = At14Hdecode? :teGto (# +TC-4 :teGto = strtoApper?:teGto@= // ec2o :teGtoI;<n;=

@=

//78# (ST8 7$&E,8 -$*$ 78D,C,7$*

//3 las inserto en la tabla de mysql :tabla = ;DorTCloDSistemasDele/ado;= :sql=;,#S(*T ,#T8 :tabla %$)+(S ?F:teGtoF@;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= Z //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW ec2o ;<ninsertarDatos#avisionTo-rocessmaTer eLecAtado con eGito;= ec2o ;<nSe 2an insertado bien los datos de 7),(#T(S-D()('$7,8#-D()('$D8D(-$*T$&(#T8 de sistemas ;= ec2o ;<nen las tablas <nmysql.DorTCloDSistemas7lientes <nmysql.DorTCloDSistemasDele/acionI <nmysql.DorTCloDSistemasDepartamento <nmysql.DorTCloDSistemasDele/ado<n;= inclAde ;cerrar7oneGion.p2p;= 6M

1#7#*ERTABLASNA*ISIONSISTEMAS#PGP
E( un >loDue de ayuda al ad+ini(trador. donde ante( de reali%ar cualDuier e4ecuci=n de >loDue. puede o>(er2ar el contenido de la( ta>la( del (i(te+a Na2i(ion +ediante el (i,uiente c=di,o: &=di,o:
56p2p inclAde //ten/o ///-ara $)C8#S8 ;coneGionSistemas.p2p;= dos coneGiones: :coneGionHmssqlI :coneGionHmysql el volcado de Ana a otra de las tablas &$'T()HS,ST(&$S $ )$S D( ?.orT1loDSistemas...@

//////////////////////////////////////////////////////////////////////// ///////////////////////////// //v(8 todos los datos de la tabla de al1onso ec2o ;<n S,ST(&$S <n;= :sql=;S()(7T W C*8& .orTCloDSistemas;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= ec2o ;<n S,ST(&$S clientes<n;=

Manual de Código

23

Sistema workflow en empresa bajo software libre.

:sql=;S()(7T W C*8& .orTCloDSistemasH7lientes;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I; --- ;I:roD[1]I; --- ;I:roD[ ]I; :roD[0]I; --- ;I:roD[!]I; --- ;I:roD[K]I; --- ;I:roD[R]I;<n;= ec2o ;<n S,ST(&$S Dele/acion<n;= :sql=;S()(7T W C*8& .orTCloDSistemasHDele/acion;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I; --- ;I:roD[1]I; --- ;I:roD[ ]I; :roD[0]I; --- ;I:roD[!]I; --- ;I:roD[K]I; --- ;I:roD[R]I;<n;= ec2o ;<n S,ST(&$S Departamento<n;= :sql=;S()(7T W C*8& .orTCloDSistemasHDepartamento;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I; --- ;I:roD[1]I; --- ;I:roD[ ]I; :roD[0]I; --- ;I:roD[!]I; --- ;I:roD[K]I; --- ;I:roD[R]I;<n;= ec2o ;<n S,ST(&$S Dele/ado<n;= :sql=;S()(7T W C*8& .orTCloDSistemasHDele/ado;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I; --- ;I:roD[1]I; --- ;I:roD[ ]I; :roD[0]I; --- ;I:roD[!]I; --- ;I:roD[K]I; --- ;I:roD[R]I;<n;=

---

;I

---

;I

---

;I

---

;I

//////////////////////////////////////////////////////////////////////// ec2o ;<n ,D, <n;= :sql=;S()(7T W C*8& .orTCloD,D,;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= ec2o ;<n $'+$S <n;= :sql=;S()(7T W C*8& .orTCloD$/Aas;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= ec2o ;<n (#(*',$S *(#8%$E)(S<n<n;= :sql=;S()(7T W C*8& .orTCloD*enovables;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= D2ile?:roD = mssqlH1etc2Harray?:resAlt@@ ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= inclAde ;cerrar7oneGion.p2p;= 6M

Manual de Código

24

2.Conectar con las bases de datos de la empresa.

1#"6#

BORRARTABLASNA*ISION#PGP

Para >orrar cierta( ta>la( del (i(te+a Na2i(ion# &=di,o:
56p2p inclAde ;coneGion.p2p;= //ten/o dos coneGiones: :coneGionHmssqlI :coneGionHmysql ///-ara el volcado de Ana a otra de las tablas &$'T()HS,ST(&$S $ )$S D( ?.orT1loDSistemas...@ //////////////////////////////////////////////////////////////////////// ///////////////////////////// //Eorrar las tablas de al1onso :sql=;D()(T( C*8& .orTCloDSistemas;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= ec2o ;<n E8**$D$ .orT1loDSistemas;= :sql=;D()(T( C*8& .orT1loD,D,;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= ec2o ;<n E8**$D$ .orT1loD,D,;= :sql=;D()(T( C*8& .orT1loD$/Aas;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= ec2o ;<n E8**$D$ .orT1loD$/Aas;= :sql=;D()(T( C*8& .orT1loD*enovables;= :resAlt = mssqlHqAery?:sqlI :coneGionHmssql@= ec2o ;<n E8**$D$ .orT1loD*enovables<n<n;= //////////////////////////////////////////////////////////////////////// ///////////////////////////// inclAde ;cerrar7oneGion.p2p;= 6M

1#""# INSERTAR!ATOSPRO&ESSMAKERTONA*ISI ON#PGP
Al contrario Due el anterior c=di,o. era de pre2eer Due nece(itar'a+o( un >l=Due de c=di,o Due reali%ara 4u(ta+ente lo contrario. al+acenar en Na2i(i=n lo( dato( Due no( intere(en de Proce(+aCer# &=di,o:

Manual de Código

25

Sistema workflow en empresa bajo software libre.

56p2p inclAde //ten/o ///-ara $)C8#S8

;coneGion.p2p;= dos coneGiones: :coneGionHmssqlI :coneGionHmysql el volcado de Ana a otra de las tablas &$'T()HS,ST(&$S $ )$S D( ?.orT1loDSistemas...@

//WW.orT1loDSistemasWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //(Gtrai/o de la tabla de mysql :tabla = ;vacacionesS,ST(&$S;= :sql=;S()(7T W C*8& :tabla;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= D2ile? :roD = mysqlH1etc2Harray?:resAltHmysql@ @ Y //ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //3 las inserto en la tabla de al1onso :sql=;,#S(*T ,#T8 .orTCloDSistemas %$)+(S ?F:roD[0]FIF:roD[1]FIF:roD[ ]FIF:roD[0]FIF:roD[!]FIF:roD[K]FIF:roD[R]F@; = :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= Z //DespAes de estoI borro los re/istros de la tabla mysql.S,ST(&$SI pAes los acabo de insertar :sql=;D()(T( C*8& :tabla;= :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@= //WW.orT1loD,D,WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //(Gtrai/o de la tabla de mysql :tabla = ;vacaciones,D,;= :sql=;S()(7T W C*8& :tabla;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= D2ile? :roD = mysqlH1etc2Harray?:resAltHmysql@ @ Y //ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //3 las inserto en la tabla de al1onso :sql=;,#S(*T ,#T8 .orTCloD,D, %$)+(S ?F:roD[0]FIF:roD[1]FIF:roD[ ]FIF:roD[0]FIF:roD[!]FIF:roD[K]FIF:roD[R]F@; = :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= Z //DespAes de estoI borro los re/istros de la tabla mysql.S,ST(&$SI pAes los acabo de insertar :sql=;D()(T( C*8& :tabla;= :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@= //WW.orT1loD$/AasWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //(Gtrai/o de la tabla de mysql :tabla = ;vacaciones$'+$S;=

Manual de Código

26

2.Conectar con las bases de datos de la empresa.

:sql=;S()(7T W C*8& :tabla;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= D2ile? :roD = mysqlH1etc2Harray?:resAltHmysql@ @ Y //ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //3 las inserto en la tabla de al1onso :sql=;,#S(*T ,#T8 .orTCloD$/Aas %$)+(S ?F:roD[0]FIF:roD[1]FIF:roD[ ]FIF:roD[0]FIF:roD[!]FIF:roD[K]FIF:roD[R]F@; = :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= Z //DespAes de estoI borro los re/istros de la tabla mysql.S,ST(&$SI pAes los acabo de insertar :sql=;D()(T( C*8& :tabla;= :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@=

//WW.orT1loD*enovablesWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW //(Gtrai/o de la tabla de mysql :tabla = ;vacaciones(#(*',$S;= :sql=;S()(7T W C*8& :tabla;= :resAltHmysql = mysqlHqAery?:sqlI :coneGionHmysql@= D2ile? :roD = mysqlH1etc2Harray?:resAltHmysql@ @ Y //ec2o ;----M;I :roD[0]I:roD[1]I:roD[ ]I:roD[0]I:roD[!]I:roD[K]I :roD[R]I;<n;= //ec2o ;<n<n T,-8: :tipoI *8.[0]= :roD[0]<n<n;= //3 las inserto en la tabla de al1onso :sql=;,#S(*T ,#T8 .orTCloD*enovables %$)+(S ?F:roD[0]FIF:roD[1]FIF:roD[ ]FIF:roD[0]FIF:roD[!]FIF:roD[K]FIF:roD[R]F@; = :resAltHmssql = mssqlHqAery?:sqlI :coneGionHmssql@= Z //DespAes de estoI borro los re/istros de la tabla mysql.S,ST(&$SI pAes los acabo de insertar :sql=;D()(T( C*8& :tabla;= :resAlt = mysqlHqAery?:sqlI :coneGionHmysql@= inclAde ;cerrar7oneGion.p2p;= 6M

Manual de Código

27

Sistema workflow en empresa bajo software libre.

5#&B!I$O !E LOS PRO&ESOS H TAREAS#

5#"#&B!I$O !E PETI&IBN !E *A&A&IONES#
Recordare+o( pre2ia+ente c=+o era el proce(o de petici=n de 2acacione( y tra( ello. en todo( lo( proce(o( (e Kar/ de la +i(+a +anera. eJponer el c=di,o de lo( dynafor+(. tri,,er( y docu+ento( de (alida (i lo( Ku>iera#

Manual de Código

28

3.Código de los procesos y tareas.

"iagrama de #etición de $acaciones%

Manual de Código

29

Sistema workflow en empresa bajo software libre.

7i0ura 3.1. (ia0rama de +etición de 1acaciones.

A partir de aDu'. detallare+o( el c=di,o Due (e Ka citado anterior+ente en cada tarea. (eparandolo en dynafor+. tri,,er( y docu+ento( de (alida# – • "&'()*+M,% 1-#et$ac(empleado% &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/01K100K!X!baX!KbRKb4aK 0 0XJ4040; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5Has type=;title; enable2tml=;0;M 5esM-eticion de %acaciones a An empleado5/esM 5/HasM 5Hs1da type=;sAbtitle; enable2tml=;0;M 5esM(scoLa el empleado al qAe le va a pedir sAs vacaciones5/esM 5/Hs1daM 5empleado#ombre type=;dropdoDn; maGlen/t2=;R!; validate=;$ny; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit; sqlconnection=; RKX1 001!cRc1 1c!e1R!R0RJ10K0XX; dependent1ields=;; de1aAltvalAe=;; savelabel=;0; 2intsHmessa/e=;;M5N[7D$T$[select #ombreI

Manual de Código

30

3.Código de los procesos y tareas.

#ombre 1rom mysql.+sAarios(mpresas D2ere FP"+S*H+S(*#$&(F 8* dele/ado = FP"+S*H+S(*#$&(F ]]M5esM(mpleado: 5/esM 5/empleado#ombreM 5H$SSDC' type=;sAbmit;M 5esMSi/Aiente: 5/esM 5/H$SSDC'M 5/dynaCormM

Le1einmediato

=

1#eticion$acaciones.#aso2% &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/4K00JK140!baX014bcKa!X00X0RXXK0J; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5HtitAlo type=;title; enable2tml=;1;M 5esM^e1e qAe le aprAeba sAs vacaciones: 5/esM 5/HtitAloM 5Le1einmediato type=;teGt; mode=;vieD; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; reqAired=;0; readonly=;0; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=;K0; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M5esMSA ^e1e ,nmediato: 5/esM 5/Le1einmediatoM 5dele/ado type=;teGt; mode=;vieD; siUe=;K0;M 5esMSA Dele/ado: 5/esM 5/dele/adoM

58tro type=;dropdoDn; mode=;edit; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; reqAired=;0; readonly=;1; dependent1ields=;otro; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=;K0; 1ormAla=;; 1Anction=;; sqlconnection=;J JR!1!10!baX014bcJeR0 0J1R!R41J; savelabel=;1;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre5esM(scoLa 8tro: 5/esM 5/8troM 5sAbtitAlo type=;sAbtitle; enable2tml=;0;M 5esMSeleccione el Le1e qAe desee qAe le aprAebe las vacaciones: 5/esM

Manual de Código

31

Sistema workflow en empresa bajo software libre.

5/sAbtitAloM 5aprobar type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; readonly=;0; savelabel=;0;M5esMSeleccionar 5option name=;^e1e,nmediato;M^e1e,nmediato5/optionM5option name=;Dele/ado;MDele/ado5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/aprobarM 5sAbmit type=;sAbmit;M 5esMSi/Aiente5/esM 5/sAbmitM 5/dynaCormM

/+ecepcion.(utori0ada% &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/4J0!X001J!baX014bcK4KeJ0!X00RXKK; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5T,T+)8H*(7(-7,8#H$+T8*,`$7,8# type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-eticion de %acaciones $AtoriUada5/esM 5/T,T+)8H*(7(-7,8#H$+T8*,`$7,8#M 5H/d1/ type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[SA petician de %acaciones 2a sido aAtoriUada]]M5/esM 5/H/d1/M 5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones: 5/esM 5/observacionesM 5S+E&,TH*(7(-7,8# type=;sAbmit;M 5esM*ecibido5/esM 5/S+E&,TH*(7(-7,8#M 5/dynaCormM

/+ecepcion.'o(utori0ada%

Manual de Código

32

3.Código de los procesos y tareas.
&=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/XR40!1 XJ!baX014bcKR40J00!R0 R4J; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5T,T+)8H*(7(-7,8#H$+T8*,`$7,8# type=;title; enable2tml=;0;M 5esM-eticion de %acaciones Dene/ada5/esM 5/T,T+)8H*(7(-7,8#H$+T8*,`$7,8#M 5H/d1/ type=;sAbtitle; enable2tml=;0;M 5esM5N[7D$T$[SA petician de %acaciones 2a sido dene/ada.]]M5/esM 5/H/d1/M 5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones:5/esM 5/observacionesM 5S+E&,TH*(7(-7,8# type=;sAbmit;M 5esM*ecibido5/esM 5/S+E&,TH*(7(-7,8#M 5/dynaCormM

3(utori0acion.#aso1% &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/JRRRK01XJ!baX014bcK!aR000X144R40; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5T,T+)8H$+T8*,`$7,8# type=;title; enable2tml=;1;M 5esM5N[7D$T$[$+T8*,`$7,b# D( %$7$7,8#(S]]M5/esM 5/T,T+)8H$+T8*,`$7,8#M 5S+ET,T+)8 H$-*8E$7,8# type=;sAbtitle; enable2tml=;0;M 5esMDatos del solicitante5/esM 5/S+ET,T+)8 H$-*8E$7,8#M 51ec2a type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;10; mode=;edit; masT=;cd-cm-c3; startdate=;; enddate=;; be1oredate=;0m; a1terdate=;1y; reqAired=;0; readonly=;1; s2oDtime=;0; dependent1ields=;; de1aAltvalAeHsel=;today; 2intsHmessa/e=;; de1aAltvalAe=;today; savelabel=;0;M 5esMCec2a de solicitAd:5/esM 5/1ec2aM 5empleado#ombre type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;!0; mode=;vieD; masT=;; strto=;; reqAired=;0; readonly=;1; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre del empleado:5/esM 5/empleado#ombreM 5C(7]$H,#,7,8H%$7$7,8#(S type=;teGt; startdate=; 00J-0X-10; be1oredate=;0m; a1terdate=;1y; masT=;cd-cm-c3; reqAired=;1; readonly=;1;

Manual de Código

33

Sistema workflow en empresa bajo software libre.

siUe=;10; mode=;vieD; enddate=;; s2oDtime=;0; dependent1ields=;; de1aAltvalAeHsel=;empty; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a de inicio %acaciones:5/esM 5/C(7]$H,#,7,8H%$7$7,8#(SM 5C(7]$HC,#H%$7$7,8#(S type=;teGt; startdate=; 00J-0X-10; be1oredate=;0m; a1terdate=;1y; masT=;cd-cm-c3; reqAired=;1; readonly=;1; siUe=;10; mode=;vieD; enddate=;; s2oDtime=;0; dependent1ields=;; de1aAltvalAeHsel=;empty; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a Cin de %acaciones5/esM 5/C(7]$HC,#H%$7$7,8#(SM 5S+ET,T+)81H$-*8E$7,8# type=;sAbtitle; enable2tml=;0;M 5esMDatos ^e1e ,nmediato y Dele/ado5/esM 5/S+ET,T+)81H$-*8E$7,8#M 5Le1einmediato type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;!0; mode=;vieD; masT=;; strto=;; reqAired=;0; readonly=;1; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre ^e1e ,nmediato:5/esM 5/Le1einmediatoM 5Le1einmediato(mail type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;!0; mode=;edit; masT=;; strto=;; reqAired=;0; readonly=;0; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7orreo ^e1e ,nmediato:5/esM 5/Le1einmediato(mailM 5dele/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;!0; mode=;vieD; masT=;; strto=;; reqAired=;0; readonly=;1; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre Dele/ado:5/esM 5/dele/adoM 5dele/ado(mail type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;!0; mode=;edit; masT=;; strto=;; reqAired=;0; readonly=;0; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7orreo Dele/ado:5/esM 5/dele/ado(mailM 53(S#8H$+T8*,`$7,8# type=;radio/roAp; reqAired=;1; de1aAltvalAe=;0; mode=;edit; options=;$rray;M 5esM5N[7D$T$[d$AtoriUa esta peticion de vacaciones6]]M5option name=;0;M#o5/optionM5option name=;1;MSi5/optionM5/esM 5/3(S#8H$+T8*,`$7,8#M 5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones5/esM 5/observacionesM

5S+E&,TH$+T8*,`$7,8# type=;sAbmit; onclicT=;; reqAired=;0; readonly=;0; savelabel=;0;M 5esMSi/Aiente5/esM

Manual de Código

34

3.Código de los procesos y tareas.

5/S+E&,TH$+T8*,`$7,8#M 5/dynaCormM

2(probacion.#aso1% &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/JX11!!XKX!baX014bcK c1J0R000X 00; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5T,T+)81H$-*8E$7,8# type=;title; enable2tml=;0;M 5esM5N[7D$T$[$-*8E$7,b# D( %$7$7,8#(S]]M5/esM 5/T,T+)81H$-*8E$7,8#M 5S+ET,T+)8 H$-*8E$7,8# type=;sAbtitle; enable2tml=;0;M 5esMDatos del solicitante5/esM 5/S+ET,T+)8 H$-*8E$7,8#M 51ec2a type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;10; mode=;vieD; masT=;cd-cm-c3; startdate=;; enddate=;; be1oredate=;0m; a1terdate=;1y; reqAired=;0; readonly=;1; s2oDtime=;0; dependent1ields=;; de1aAltvalAeHsel=;today; 2intsHmessa/e=;(mpeUar en )Anes y Terminar en Domin/o; de1aAltvalAe=;today; savelabel=;0;M 5esMCec2a de solicitAd:5/esM 5/1ec2aM 5empleado#ombre type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;00; mode=;vieD; masT=;; strto=;; reqAired=;0; readonly=;1; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre del empleado: 5/esM 5/empleado#ombreM 5C(7]$H,#,7,8H%$7$7,8#(S type=;teGt; startdate=; 00J-0X-10; be1oredate=;0m; a1terdate=;1y; masT=;cd-cm-c3; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD; enddate=;; dependent1ields=;; de1aAltvalAeHsel=;empty; de1aAltvalAe=;; savelabel=;0; s2oDtime=;0; 2intsHmessa/e=;;M 5esMCec2a de inicio %acaciones: 5/esM 5/C(7]$H,#,7,8H%$7$7,8#(SM 5C(7]$HC,#H%$7$7,8#(S type=;teGt; startdate=; 00J-0X-10; be1oredate=;0m; a1terdate=;1y; masT=;cd-cm-c3; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD; enddate=;; dependent1ields=;; de1aAltvalAeHsel=;today; de1aAltvalAe=;today; savelabel=;0; s2oDtime=;0; 2intsHmessa/e=;(mpeUar en )Anes y Terminar en Domin/o;M 5esMCec2a Cin de %acaciones5/esM 5/C(7]$HC,#H%$7$7,8#(SM 53(S#8H$-*8E$7,8# type=;radio/roAp; reqAired=;0; de1aAltvalAe=;0; mode=;edit; options=;$rray;M 5esM5N[7D$T$[d$probar vacaciones6]]M5option name=;0;M#o5/optionM5option name=;1;MSi5/optionM5/esM 5/3(S#8H$-*8E$7,8#M

Manual de Código

35

Sistema workflow en empresa bajo software libre.

5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones5/esM 5/observacionesM 5S+E&,T1H$-*8E$7,8# type=;sAbmit; onclicT=;; reqAired=;0; readonly=;0; savelabel=;0;M 5esMSi/Aiente5/esM 5/S+E&,T1H$-*8E$7,8#M 5/dynaCormM

1#eticion$acaciones.#aso1% &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/!0 K!0R!K!baX014bcK0c40004K1004K; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5T,T+)8H-(T,7,8#H%$7$7,8#(S type=;title; enable2tml=;1;M 5esM-(T,7,8# D( %$7$7,8#(S5/esM 5/T,T+)8H-(T,7,8#H%$7$7,8#(SM 51ec2a type=;teGt; maGlen/t2=;R!; validate=;$ny; siUe=;10; mode=;vieD; readonly=;1; masT=;cd-cm-c3; strto=;; reqAired=;0; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0; startdate=;; enddate=;; be1oredate=;0m; a1terdate=;1y; s2oDtime=;0; de1aAltvalAeHsel=;empty;M 5esMCec2a de solicitAd:5/esM 5/1ec2aM 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; siUe=;K0; mode=;vieD; readonly=;1; masT=;; strto=;; reqAired=;0; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre del empleado:5/esM 5/empleado#ombreM 5S+ET,T+)81H-(T,7,8#H%$7$7,8#(S type=;sAbtitle; enable2tml=;1;M 5esM,ndiqAe la 1ec2a inicial y 1inal de sAs vacaciones. Debe empeUar en )Anes y acabar en Domin/o o similar.5/esM 5/S+ET,T+)81H-(T,7,8#H%$7$7,8#(SM 5UGG1UG1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[#ota: -ara deas sAeltos no tiene porqAf comenUar en )Anes y 1inaliUar en Domin/o. ]]M5/esM 5/UGG1UG1M 5Hasdas type=;sAbtitle; enable2tml=;0;M 5esM5N[7D$T$[W -$*$ +# Dg$ S+()T8: Seleccionar 1ec2a inicio y 1in la misma.]]M5/esM 5/HasdasM

Manual de Código

36

3.Código de los procesos y tareas.

5HH type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[W -ara deas sAeltos qAe no sean dos deas consecAtivosI abrir An caso por cada dea.]]M5/esM 5/HHM 5C(7]$H,#,7,8H%$7$7,8#(S type=;date; startdate=; 00J-0X-10; be1oredate=;0m; a1terdate=;1y; masT=;; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit;M 5esMCec2a de inicio %acaciones:5/esM 5/C(7]$H,#,7,8H%$7$7,8#(SM 5C(7]$HC,#H%$7$7,8#(S type=;date; startdate=; 00J-0X-10; be1oredate=;0m; a1terdate=;1y; masT=;; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit;M 5esMCec2a Cin de %acaciones5/esM 5/C(7]$HC,#H%$7$7,8#(SM 5S+E&,TH-(T,7,8#H%$7$7,8#(S type=;sAbmit; onclicT=;; reqAired=;0; readonly=;0; savelabel=;0;M 5esMSi/Aiente5/esM 5/S+E&,TH-(T,7,8#H%$7$7,8#(SM 5/dynaCormM

error"atos)ec1a% &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/0JJ10 JJ0!baX014bc!e01K000R 0XRK; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo(rrorCec2a type=;title; enable2tml=;1;M 5esMC(7]$ mal introdAcida5/esM 5/HtitAlo(rrorCec2aM 5HH1 type=;sAbtitle; enable2tml=;0;M 5esM]a 2abido An error al insertar la 1ec2a de sAs vaciones.5/esM 5/HH1M 5HH type=;sAbtitle; enable2tml=;0;M 5esM5N[7D$T$[Si no 2a esco/ido deas sAeltosI las vacaciones deben comenUar en )Anes y terminar en Domin/o.]]M5/esM 5/HH M 5HH0 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5/HH0M 5HH! type=;sAbtitle; enable2tml=;0;M 5esM]a/a clic en anterior para introdAcir otra 1ec2a.5/esM 5/HH!M 5H type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5/HM 5/dynaCormM

2efe(delegado%

Manual de Código

37

Sistema workflow en empresa bajo software libre.
&=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=; XX!40K41!baX014bc0J4100 K414K1!/!010JX !K!c 1cRdK!K4aXK01K00JJX!; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5asdaa type=;title; enable2tml=;0;M 5esM$probacion ^e1e ,nmediato. Si/Aiente -aso5/esM 5/asdaaM 5(sco type=;sAbtitle; enable2tml=;0;M 5esM(scoLa si el si/Aiente paso en el proceso es la aprobacion del dele/ado oI directamenteI la aAtoriUacion de **]]5/esM 5/(scoM 5dele/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMDele/ado: 5/esM 5/dele/adoM 5#8T$ type=;sAbtitle; enable2tml=;0;M 5esM5N[7D$T$[#8T$: -ara enviar directamente a **]] debe de tener el %isto EAeno de sA dele/adoI a este le lle/ar\ An mail de noti1icacion.]]M5/esM 5/#8T$M 5pasa$Dele/ado type=;radio/roAp; reqAired=;1; de1aAltvalAe=;1; mode=;edit; options=;$rray;M 5esM 5option name=;1;M(l proceso debe ser aprobado por el dele/ado.5/optionM 5option name=;0;M(l proceso va directamente a ser aAtoriUado por **]]5/optionM 5/esM 5/pasa$Dele/adoM 5sd1s type=;sAbmit;M 5esMSi/Aiente5/esM 5/sd1sM 5/dynaCormM

– •

T+IGG3+,% controlar)ec1a%

Manual de Código

38

3.Código de los procesos y tareas.
&=di,o:
"aqAi controlo la 1ec2a y emito el error PPinicio = PPC(7]$H,#,7,8H%$7$7,8#(S= PP1in = PPC(7]$HC,#H%$7$7,8#(S= PPC(7]$H,#,7,8H%$7$7,8#(S = 1ormatDate?PPC(7]$H,#,7,8H%$7$7,8#(SIFdd-mmyyyyF@= PPC(7]$HC,#H%$7$7,8#(S = 1ormatDate?PPC(7]$HC,#H%$7$7,8#(SIFdd-mmyyyyF@= "D(C,#8 %$*,$E)(S -]:db = PPdb= :inicio = PPinicio= :1in = PP1in= "S()(77,8#8 )8S D,$S ,#,7,8I C,# 3 #+&(*8D,$S :sql = ;S()(7T D$38C.((B?F:inicioF@as dia;= :resAlt = eGecAte>Aery?:sqlI :db@= PPdiaSemana,nicio=:resAlt[1][FdiaF]= :sql = ;S()(7T D$38C.((B?F:1inF@ as dia;= :resAlt = eGecAte>Aery?:sqlI :db@= PPdiaSemanaCin=:resAlt[1][FdiaF]= :sql = ;S()(7T D$T(D,CC?F:1inFIF:inicioF@ as dia;= :resAlt = eGecAte>Aery?:sqlI :db@= PPnAmeroDias=:resAlt[1][FdiaF][1= "$]8*$ (#%,8 () (**8* S, )8 ]+E,(*$ "pero primero paso las variables a p2p :nAmeroDias= PPnAmeroDias= :diaSemana,nicio = PPdiaSemana,nicio= :diaSemanaCin = PPdiaSemanaCin= "a2ora si qAe comprAebo errores PPerror = 0= :error = PPerror= i1? :nAmeroDias 5 1 @ Y :error = 1=Z "]( 7$&E,$D8 (ST8 -$*$ >+( S( -+(D$ (&-(`$* () )+#(S "i1? :nAmeroDiasM SS ?:diaSemana,nicioN= QQ :diaSemanaCinN=1 @ i1? :nAmeroDiasM SS :diaSemanaCinN=1 @ Y :error = =Z PPerror = :error= @

en4iar#eticion(probada% &=di,o:

Manual de Código

39

Sistema workflow en empresa bajo software libre.

:1rom = PPLe1e,nmediato(mail= :toHrep = PPempleado(mail= :sAbLect$Ato = F-eticion de vacaciones $probadaF= -&CSend&essa/e ? PP$--),7$T,8#I :1romI :toHrepI FFI FFI :sAbLect$AtoI Fenviar-eticion$probada.2tmlF @=

en4iar#eticion(utori0ada3mpleado% &=di,o:

:1rom = PPrr22(mail= :toHrep = PPempleado(mail= :sAbLect$Ato = F-eticion de vacaciones $AtoriUada por **]]F= -&CSend&essa/e ? PP$--),7$T,8#I :1romI :toHrepI FFI FFI :sAbLect$AtoI Fenviar-eticion$AtoriUada.2tmlF @=

en4iar#eticion'o(probada% &=di,o:

:1rom = PPsi/Aiente(mail= :toHrep = PPempleado(mail= :sAbLect$Ato = F-eticion de vacaciones #8 $probadaF= -&CSend&essa/e ? PP$--),7$T,8#I :1romI :toHrepI FFI FFI :sAbLect$AtoI Fenviar-eticion#o$probada.2tmlF @=

en4iar#eticion'o(utori0ada3mpleado% &=di,o:

Manual de Código

40

3.Código de los procesos y tareas.

:1rom = PPrr22(mail= :toHrep = PPempleado(mail= :sAbLect$Ato = F-eticion de vacaciones #8 $AtoriUada por **]]F= -&CSend&essa/e ? PP$--),7$T,8#I :1romI :toHrepI FFI FFI :sAbLect$AtoI Fenviar-eticion#o$AtoriUada.2tmlF @=

escribirTabla% &=di,o:

"(# T8D$S )$S %(7(S >+( )$ +T,),7(I ]$'8: :db = PPdb= "de1ino la tabla en la qAe escribo y los valores qAe inserto: :tabla = PPtabla= :#ombrecorto = PPempleado#ombre+sAario= :inicio = PPC(7]$H,#,7,8H%$7$7,8#(S= :1in = PPC(7]$HC,#H%$7$7,8#(S= i1? PPpasa$Dele/ado == 0 @ :$AtoriUado = PPLe1einmediato#ombrecorto= else :$AtoriUado = PPdele/ado#ombrecorto= :$AtoriUado**]] = PPrr22#ombre+sAario= :Cec2a$AtoriUacion = PP1ec2a$AtoriUa= :empresa = PPempresa= :procesado = F#+))F=

:sql = ;,#S(*T ,#T8 mysql.:tabla %$)+(S ? F0FIF:#ombrecortoFI F:inicioFIF:1inFI F:$AtoriUadoFIF:$AtoriUado**]]FI F:Cec2a$AtoriUacionFI F:empresaFI F#+))F@ ;= :resAlt = eGecAte>Aery?:sqlI :db@=

fec1a &=di,o:

Manual de Código

41

Sistema workflow en empresa bajo software libre.

PP1ec2a= /et7ArrentDate?@ = PP1ec2a = 1ormatDate?PP1ec2aIFdd-mm-yyyyF@= PP2ora = /et7ArrentTime?@=

obtener"atos(prueba% &=di,o:

PPdata1 = Aser,n1o?PP+S(*H)8''(D@= PPaprAeba#ombre+sAario = PPdata1[FAsernameF]= PPaprAeba#ombre = PPdata1[FlastnameF]= PPaprAeba(mail = PPdata1[FmailF]= PPaprAeba,D = PP+S(*H)8''(D= PP1ec2a$prAeba= /et7ArrentDate?@ = PP1ec2a$prAeba = 1ormatDate?PP1ec2a$prAebaIFdd-mm-yyyyF@= PP2ora = /et7ArrentTime?@=

obtener"atos3mpleado% &=di,o:

PPdata1 = Aser,n1o?PP+S(*H)8''(D@= PPaprAeba#ombre+sAario = PPdata1[FAsernameF]= PPaprAeba#ombre = PPdata1[FlastnameF]= PPaprAeba(mail = PPdata1[FmailF]= PPaprAeba,D = PP+S(*H)8''(D= PP1ec2a$prAeba= /et7ArrentDate?@ = PP1ec2a$prAeba = 1ormatDate?PP1ec2a$prAebaIFdd-mm-yyyyF@= PP2ora = /et7ArrentTime?@=

obtener"atos#eticion(empleado%

Manual de Código

42

3.Código de los procesos y tareas.
&=di,o:
PPdata1 = Aser,n1o?PP+S(*H)8''(D@= PPempleado#ombre+sAario = PPdata1[FAsernameF]= PPempleado#ombre = PPdata1[FlastnameF]= PPempleado(mail = PPdata1[FmailF]= PPempleado,D = PP+S(*H)8''(D= PPsi/Aiente = PPaprAeba#ombre= PPsi/Aiente(mail = PPaprAeba(mail= "$>+, D(C,#8 )$ EEDDI S8)8 $>+, PPdb = F RKX1 001!cRc1 1c!e1R!R0RJ10K0XXF= "(# T8D$S )$S %(7(S >+( )$ +T,),7(I ]$'8: :db = PPdb= :#ombrecorto = PPempleado#ombre+sAario=

:sql = ;S()(7T ci1I empresa C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPdni=:resAlt[1][Fci1F]= PPempresa=:resAlt[1][FempresaF]= :empresa = PPempresa= "$2ora se/An la empresa doy An lo/o determinado i1? :empresa == FS,ST(&$SF@ Y PPlo/o = F2ttp://local2ost/ima/es/lo/oHma/tel/lo/osistemas.pn/F= PPtabla= FvacacionesS,ST(&$SF=Z elsei1? :empresa == F*(D(SF@ Y PPlo/o = F2ttp://local2ost/ima/es/lo/oHma/tel/lo/oredes.pn/F= PPtabla= Fvacaciones*(D(SF=Z elsei1? :empresa == F(#(*',$SF@ Y PPlo/o = F2ttp://local2ost/ima/es/lo/oHma/tel/lo/orenovables.pn/F= PPtabla= Fvacaciones(#(*',$SF=Z elsei1? :empresa == F$'+$SF@ Y PPlo/o = F2ttp://local2ost/ima/es/lo/oHma/tel/lo/oa/Aas.pn/F= PPtabla= Fvacaciones$'+$SF=Z elsei1? :empresa == F,D,F@ Y PPlo/o = F2ttp://local2ost/ima/es/lo/oHma/tel/lo/oidi.pn/F= PPtabla= Fvacaciones,D,F=Z elsei1? :empresa == F,#D+ST*,$)F@ Y PPlo/o = F2ttp://local2ost/ima/es/lo/oHma/tel/lo/oindAstrial.pn/F= PPtabla= Fvacaciones,#D+ST*,$)F=Z elsei1? :empresa == F(3S(*T()F@ Y PPlo/o = F2ttp://local2ost/ima/es/lo/oHma/tel/lo/oeysertel.pn/F= PPtabla= Fvacaciones(3S(*T()F=Z

Manual de Código

43

Sistema workflow en empresa bajo software libre.

"7on sAbconsAltas obten/o el nombre del Le1einmediato y dele/ado :sql = ;S()(7T #ombreI(mailI #ombrecorto C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = ? S()(7T Le1einmediato C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = F:#ombrecortoF @;= :resAlt = eGecAte>Aery?:sqlI :db@= PPLe1einmediato=:resAlt[1][F#ombreF]= PPLe1einmediato(mail=:resAlt[1][F(mailF]= PPLe1einmediato#ombrecorto=:resAlt[1][F#ombrecortoF]= :sql = ;S()(7T #ombreI(mailI #ombrecorto C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = ? S()(7T dele/ado C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = F:#ombrecortoF @;= :resAlt = eGecAte>Aery?:sqlI :db@= PPdele/ado=:resAlt[1][F#ombreF]= PPdele/ado(mail=:resAlt[1][F(mailF]= PPdele/ado#ombrecorto=:resAlt[1][F#ombrecortoF]= "$>+, 8ET(#'8 () ,D D() ^(C( 3 D()('$D8 :valor = PPLe1einmediato= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPLe1einmediato,D = :resAlt[1][F+S*H+,DF]= :valor = PPdele/ado= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPdele/ado,D = :resAlt[1][F+S*H+,DF]=

C*8&

+S(*S

D2ere

C*8&

+S(*S

D2ere

"%oy a comprobar el car/o qAe ocApa car/o = eI L I d?empleadoI Le1eI dele/@ :#ombre = PPempleado#ombre= :Le1einmediato = PPLe1einmediato= :dele/ado = PPdele/ado= i1? :#ombre == :Le1einmediato@ Y i1? :Le1einmediato N= :dele/ado@ Y :car/o = FLF=Z else Y :car/o = FdF=Z Z else Y :car/o = FeF= Z

Manual de Código

44

3.Código de los procesos y tareas.

PPcar/o = :car/o=

"-*8E$* )$ #+(%$ EEDD "PPdb = F J0K1!140!baa!e 0J40R4 0

R011X1F=

"(# T8D$S )$S %(7(S >+( )$ +T,),7(I ]$'8: ":db = PPdb= ":sql = ;2elp;= ":sql = ;S()(7T PP%(*S,8#;= ":sql = ;S()(7T (mpleado C*8& &$'T()(#(*',$S..orTCloDSistemas;= ":resAlt = eGecAte>Aery?:sqlI :db@= "PPempleadoTabla#Aeva = :resAlt=

obtener"atos+r11% &=di,o:

PPdata1 = Aser,n1o?PP+S(*H)8''(D@= PPrr22#ombre+sAario = PPdata1[FAsernameF]= PPrr22#ombre = PPdata1[FlastnameF]= PPrr22(mail = PPdata1[FmailF]= PPrr22,D = PP+S(*H)8''(D= PP1ec2a$AtoriUa= /et7ArrentDate?@ = PP1ec2a$AtoriUa = 1ormatDate?PP1ec2a$AtoriUaIFdd-mm-yyyyF@= PP2ora = /et7ArrentTime?@=

siguiente"elegado% &=di,o:

:valor = PPdele/ado= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) C*8& +S(*S D2ere +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPS3SH#(9TH+S(*HT8HE(H$SS,'#(D = :resAlt[1][F+S*H+,DF]= PPsi/Aiente#ombrecorto= :resAlt[1][F+S*H+S(*#$&(F]= PPsi/Aiente(mail= :resAlt[1][F+S*H(&$,)F]= PPsi/Aiente=PPdele/ado=

siguiente5efeInmediato%

Manual de Código

45

Sistema workflow en empresa bajo software libre.
&=di,o:
:valor = PPLe1einmediato= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) C*8& +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPS3SH#(9TH+S(*HT8HE(H$SS,'#(D = :resAlt[1][F+S*H+,DF]= PPsi/Aiente#ombrecorto= :resAlt[1][F+S*H+S(*#$&(F]= PPsi/Aiente(mail= :resAlt[1][F+S*H(&$,)F]= PPsi/Aiente=PPLe1einmediato= +S(*S D2ere

siguiente*tro% &=di,o:

:valor = PP8tro= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) C*8& +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPS3SH#(9TH+S(*HT8HE(H$SS,'#(D = :resAlt[1][F+S*H+,DF]= PPsi/Aiente#ombrecorto= :resAlt[1][F+S*H+S(*#$&(F]= PPsi/Aiente(mail= :resAlt[1][F+S*H(&$,)F]= PPsi/Aiente=PP8tro=

+S(*S

D2ere

"*C6M3'T*, "3 ,(7I"(%

Manual de Código

46

3.Código de los procesos y tareas.
1"ocumento#eticion$acaciones% &=di,o:
5,&' S*7=PPlo/o $),'#=;top;M

SolicitAd de %acaciones Solicitante: P"empleado#ombre Cec2a SolicitAd: P"1ec2a ^e1e ,nmediato: P"Le1einmediato Dele/ado: P"dele/ado Departamento: P"empresa

Cec2a 7omienUo %acaciones: P"C(7]$H,#,7,8H%$7$7,8#(S Cec2a Cinal %acaciones: P"C(7]$HC,#H%$7$7,8#(S ?Deas de inicio y 1in inclAidos.@ (s obli/atorio tener aAtoriUacian de vacaciones eGpedida por departamento de **]] en nAestro poder antes de poder dis1rAtar de ellas.

2"ocumento#eticion$acaciones(probado%

Manual de Código

47

Sistema workflow en empresa bajo software libre.
&=di,o:
5,&' S*7=PPlo/o $),'#=;top;M SolicitAd de %acaciones Solicitante: P"empleado#ombre Cec2a SolicitAd: P"1ec2a ^e1e ,nmediato: P"Le1einmediato Dele/ado: P"dele/ado Departamento: P"empresa

Cec2a 7omienUo %acaciones: P"C(7]$H,#,7,8H%$7$7,8#(S Cec2a Cinal %acaciones: P"C(7]$HC,#H%$7$7,8#(S ?Deas de inicio y 1in inclAidos.@

^e1e ,nmediato: P"Le1einmediato Dele/ado: P"dele/ado Cec2a $probacian: P"1ec2a$prAeba

3"ocumento#eticion$acaciones(utori0ado%

Manual de Código

48

3.Código de los procesos y tareas.
&=di,o:
5,&' S*7=PPlo/o $),'#=;top;M

SolicitAd de %acaciones Solicitante: P"empleado#ombre Cec2a SolicitAd: P"1ec2a ^e1e ,nmediato: P"Le1einmediato Dele/ado: P"dele/ado Departamento: P"empresa

Cec2a 7omienUo %acaciones: P"C(7]$H,#,7,8H%$7$7,8#(S Cec2a Cinal %acaciones: P"C(7]$HC,#H%$7$7,8#(S ?Deas de inicio y 1in inclAidos.@

$probado por: ^e1e ,nmediato: P"Le1einmediato Dele/ado: P"dele/ado $AtoriUado por ?**]]@: P"rr22#ombre Cec2a $probacian: P"1ec2a$prAeba Cec2a $AtoriUacian: P"1ec2a$AtoriUa

(s obli/atorio tener aAtoriUacian de vacaciones eGpedida por departamento de **]] en nAestro poder antes de poder dis1rAtar de ellas.

Manual de Código

49

Sistema workflow en empresa bajo software libre.

5#1#PETI&IBN !E !INERO A &)ENTA#
• "iagrama de #etición de "inero a Cuenta%

Manual de Código

50

3.Código de los procesos y tareas.

Figura 3.2. +etición de (inero ! /uenta.

– •

"&'()*+M,% 1(insertar"atos% &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0101J10R!!c 1eXXb!ReX400 R!R0J/ X0J00RX1!c 11 Ja dJ1JX00044!4KJ; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5$BSD^B type=;title; enable2tml=;0;M 5esMD,#(*8 -(D,D8 $ 7+(#T$5/esM 5/$BSD^BM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;dropdoDn; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;PP+S*H)$ST#$&(; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;0R0XJ X0R!c 1eXbcd0R14J0 JXK!0K1; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas order by PP+S*H)$ST#$&(I#ombrecorto =5esM#ombre y $pellidos5/esM

Manual de Código

51

Sistema workflow en empresa bajo software libre.

5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5nAmero)iqAidacion type=;teGt; maGlen/t2=;R!; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit;M 5esM5N[7D$T$[#º )iqAidacion: ]]M5/esM 5/nAmero)iqAidacionM 51ec2aDinero-edido$7Aenta type=;date; be1oredate=;-1y; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a -edido a cAenta: 5/esM 5/1ec2aDinero-edido$7AentaM 5H type=;sAbmit;M 5esMSi/Aiente5/esM 5/HM 5/dynaCormM

1#eticion"inero(Cuenta &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0101J10R!!c 1eXXb!ReX400 R!R0J/R 1X0KR01!c 110!004e14R0XXK0!XKJ; Didt2=;X00; enabletemplate=;0; mode=;edit;M 5S$C type=;title; enable2tml=;0;M 5esM -(T,7,8# D( D,#(*8 $ 7+(#T$5/esM 5/S$CM 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM

Manual de Código

52

3.Código de los procesos y tareas.

5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 51ec2aSaldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMCec2a: 5/esM 5/1ec2aSaldo$nteriorM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto 5esM,mporte: 5/esM 5/saldo$nteriorM 5Hsd1s type=;title; enable2tml=;0;M 5esM5N[7D$T$[D,#(*8 $ 7+(#T$ -*(%,$ ),>+,D$7,b# $ D,$ D( ]83]]M5/esM 5/Hsd1sM 51ec2a-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion1M 5importe-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion1M 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SDM 51ec2a-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion M 5importe-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion M 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/(((((((M 51ec2a-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion0M 5importe-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion0M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/*********M 51ec2a-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM

Manual de Código

53

Sistema workflow en empresa bajo software libre.

5/1ec2a-eticion!M 5importe-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion!M 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/tttttttttM 51ec2a-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionKM 5importe-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionKM 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt M 51ec2a-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionRM 5importe-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionRM 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SD M 51ec2a-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionXM 5importe-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionXM 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/((((((( M 51ec2a-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion4M 5importe-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion4M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/********* M 51ec2a-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM

Manual de Código

54

3.Código de los procesos y tareas.

5/1ec2a-eticionJM 5importe-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionJM 5ttttttttt0 type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt0M 51ec2a-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion10M 5importe-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion10M 5ttttttttt! type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt!M 5totalDinero$7Aenta type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5esMTotal dinero a cAenta a dia de ]oy:5/esM 5/totalDinero$7AentaM 5Total type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMTotal (ntre/ado ? Saldo $nterior [ Dinero a cAenta previa@5/esM 5/TotalM 5total(ntre/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;saldo$nterior[totalDinero$7Aenta; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTotal (ntre/ado5/esM 5/total(ntre/adoM

5DC'D' type=;sAbtitle; enable2tml=;0;M 5esMDinero qAe desea pedir a cAenta:5/esM 5/DC'D'M 5dinero-edido$7Aenta type=;teGt; maGlen/t2=;R!; validate=;*eal; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[Dinero ?h@:]]M5/esM 5/dinero-edido$7AentaM 5observaciones-eticionDinero$7Aenta type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8ES(*%$7,8#(S: 5/esM 5/observaciones-eticionDinero$7AentaM 5S$$$$ type=;sAbtitle; enable2tml=;0;M 5esM*(7+(*D(: #o podra recibir el dinero a cAenta 2asta qAe no sea aAtoriUado por $dministracionI tras pasar por sA ^e1e ,nmediato y Dele/ado5/esM

Manual de Código

55

Sistema workflow en empresa bajo software libre.

5/S$$$$M 5Haaaa type=;sAbmit;M 5esMSi/Aiente: 5/esM 5/HaaaaM 5/dynaCormM

2 (probar dinero a cuenta &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0101J10R!!c 1eXXb!ReX400 R!R0J/R 1X0KR01!c 110!004e14R0XXK0!XKJ; Didt2=;X00; enabletemplate=;0; mode=;edit;M 5S$C type=;title; enable2tml=;0;M 5esM -(T,7,8# D( D,#(*8 $ 7+(#T$5/esM 5/S$CM 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 51ec2aSaldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMCec2a: 5/esM 5/1ec2aSaldo$nteriorM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto 5esM,mporte: 5/esM 5/saldo$nteriorM

Manual de Código

56

3.Código de los procesos y tareas.

5Hsd1s type=;title; enable2tml=;0;M 5esM5N[7D$T$[D,#(*8 $ 7+(#T$ -*(%,$ ),>+,D$7,b# $ D,$ D( ]83]]M5/esM 5/Hsd1sM 51ec2a-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion1M 5importe-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion1M 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SDM 51ec2a-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion M 5importe-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion M 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/(((((((M 51ec2a-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion0M 5importe-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion0M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/*********M 51ec2a-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion!M 5importe-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion!M 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/tttttttttM 51ec2a-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionKM 5importe-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionKM

Manual de Código

57

Sistema workflow en empresa bajo software libre.

5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt M 51ec2a-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionRM 5importe-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionRM 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SD M 51ec2a-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionXM 5importe-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionXM 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/((((((( M 51ec2a-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion4M 5importe-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion4M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/********* M 51ec2a-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionJM 5importe-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionJM 5ttttttttt0 type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt0M 51ec2a-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion10M 5importe-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion10M

Manual de Código

58

3.Código de los procesos y tareas.

5ttttttttt! type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt!M 5totalDinero$7Aenta type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5esMTotal dinero a cAenta a dia de ]oy:5/esM 5/totalDinero$7AentaM 5Total type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMTotal (ntre/ado ? Saldo $nterior [ Dinero a cAenta previa@5/esM 5/TotalM 5total(ntre/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;saldo$nterior[totalDinero$7Aenta; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTotal (ntre/ado5/esM 5/total(ntre/adoM

5DC'D' type=;sAbtitle; enable2tml=;0;M 5esMDinero qAe desea pedir a cAenta:5/esM 5/DC'D'M 5dinero-edido$7Aenta type=;teGt; maGlen/t2=;R!; validate=;*eal; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[Dinero ?h@:]]M5/esM 5/dinero-edido$7AentaM 5observaciones-eticionDinero$7Aenta type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8ES(*%$7,8#(S: 5/esM 5/observaciones-eticionDinero$7AentaM 5S$$$$ type=;sAbtitle; enable2tml=;0;M 5esM*(7+(*D(: #o podra recibir el dinero a cAenta 2asta qAe no sea aAtoriUado por $dministracionI tras pasar por sA ^e1e ,nmediato y Dele/ado5/esM 5/S$$$$M 5Haaaa type=;sAbmit;M 5esMSi/Aiente: 5/esM 5/HaaaaM 5/dynaCormM

/+ecibido(probado &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M

Manual de Código

59

Sistema workflow en empresa bajo software libre.

5dynaCorm type=;Gml1orm; name=;0101J10R!!c 1eXXb!ReX400 R!R0J/K44140K0K!c 00 41e11Rd 0104X4X!0; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5S$C type=;title; enable2tml=;0;M 5esM -(T,7,8# D( D,#(*8 $ 7+(#T$5/esM 5/S$CM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;0! RR XJ0!be JbKc1c4J000000XJ4R ; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto 5esM,mporte5/esM 5/saldo$nteriorM

5DC'D' type=;sAbtitle; enable2tml=;0;M 5esMDinero qAe desea pedir a cAenta:5/esM 5/DC'D'M 5dinero-edido$7Aenta type=;teGt; maGlen/t2=;R!; validate=;*eal; reqAired=;1; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[Dinero ?h@:]]M5/esM 5/dinero-edido$7AentaM 5observaciones-eticionDinero$7Aenta type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8ES(*%$7,8#(S: 5/esM 5/observaciones-eticionDinero$7AentaM 5Hsss type=;title; enable2tml=;0;M

Manual de Código

60

3.Código de los procesos y tareas.

5esM -eticion dinero a cAenta $probada.5/esM 5/HsssM 5Haaaa type=;sAbmit;M 5esMSi/Aiente5/esM 5/HaaaaM 5/dynaCormM

/+ecibido'*(probado &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0101J10R!!c 1eXXb!ReX400 R!R0J/0K11R00 J!c 00 dXJ4 4K!0X R000X!; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5S$C type=;title; enable2tml=;0;M 5esM -(T,7,8# D( D,#(*8 $ 7+(#T$5/esM 5/S$CM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;0! RR XJ0!be JbKc1c4J000000XJ4R ; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto

Manual de Código

61

Sistema workflow en empresa bajo software libre.

5esM,mporte5/esM 5/saldo$nteriorM

5DC'D' type=;sAbtitle; enable2tml=;0;M 5esMDinero qAe desea pedir a cAenta:5/esM 5/DC'D'M 5dinero-edido$7Aenta type=;teGt; maGlen/t2=;R!; validate=;*eal; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[Dinero ?h@:]]M5/esM 5/dinero-edido$7AentaM 5observaciones-eticionDinero$7Aenta type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8ES(*%$7,8#(S: 5/esM 5/observaciones-eticionDinero$7AentaM 5Hsss type=;title; enable2tml=;0;M 5esM -eticion dinero a cAenta #8 $probada.5/esM 5/HsssM 5S$$$$ type=;sAbtitle; enable2tml=;0;M 5esM,ndiqAe qAe es lo qAe desea:5/esM 5/S$$$$M 5yesnoSe/Air-eticionDinero$7Aenta#o type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;1;M7orreLir sA -eticion de Dinero $ cAenta5/optionM 5option name=;0;MCinaliUar este -roceso5/optionM 5/esM 5/yesnoSe/Air-eticionDinero$7Aenta#oM 5Haaaa type=;sAbmit;M 5esMSi/Aiente5/esM 5/HaaaaM 5/dynaCormM

8"inero+ecibido &=di,o:

Manual de Código

62

3.Código de los procesos y tareas.

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0101J10R!!c 1eXXb!ReX400 R!R0J/J0!44R1X4!c 00Kbb 000aX0R1X110RX; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5S$C type=;title; enable2tml=;0;M 5esM -(T,7,8# D( D,#(*8 $ 7+(#T$5/esM 5/S$CM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;0! RR XJ0!be JbKc1c4J000000XJ4R ; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto 5esM,mporte5/esM 5/saldo$nteriorM 5DC'D' type=;sAbtitle; enable2tml=;0;M 5esMDinero qAe desea pedir a cAenta:5/esM 5/DC'D'M 5dinero-edido$7Aenta type=;teGt; maGlen/t2=;R!; validate=;*eal; reqAired=;1; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[Dinero ?h@:]]M5/esM 5/dinero-edido$7AentaM 5observaciones-eticionDinero$7Aenta type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8ES(*%$7,8#(S: 5/esM 5/observaciones-eticionDinero$7AentaM 5Hsss type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMTermine esta operacion cAando el solicitante 2aya recibido el dinero5/esM 5/HsssM 5dinero*ecibido type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM 5option name=;1;M(l solicitante ya 2a recibido el dinero5/optionM5/esM

Manual de Código

63

Sistema workflow en empresa bajo software libre.

5/dinero*ecibidoM 5Haaaa type=;sAbmit;M 5esMSi/Aiente5/esM 5/HaaaaM 5/dynaCormM

8ad2untarTic9et &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0101J10R!!c 1eXXb!ReX400 R!R0J/J KR!XXJK!c 00aabcce 1000X000!X4; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5asd type=;title; enable2tml=;0;M 5esM-eticion dinero a cAenta5/esM 5/asdM 5$S$ type=;sAbtitle; enable2tml=;0;M 5esM-or Altimo I adLAnte el comprobante de la entre/a de dinero 5/esM 5/$S$M 5H type=;sAbtitle; enable2tml=;0;M 5esM#ota: $dLAnte la ima/en escaneada o pd1 del menor peso posible.5/esM 5/HM 5comprobante-eticionDinero$7Aenta type=;1ile; reqAired=;1; 2intsHmessa/e=;SAba la ima/en escaneadaI pd1I etc. del comprobante del dinero entre/ado del menor peso posible;M 5esM$dLAntar comprobante:5/esM 5/comprobante-eticionDinero$7AentaM 5asdasd type=;sAbmit;M 5esMCinaliUar5/esM 5/asdasdM 5/dynaCormM

– •

T+IGG3+,% insertar #eticion "inero ( cuenta tabla

Manual de Código

64

3.Código de los procesos y tareas.
&=di,o:
:db = PPdb= :#ombrecorto = PPempleado#ombrecorto= :importe= PPdinero-edido$7Aenta= :1ec2a = PP1ec2aDinero-edido$7Aenta= :sql = ;S()(7T ST*HT8HD$T(? F:1ec2aFIFcd-cm-c3F@ as 1ec2a ;= :resAlt = eGecAte>Aery?:sqlI :db@= PP1ec2a = :resAlt[1][F1ec2aF]= :1ec2a = PP1ec2a= :sql = ;,#S(*T ,#T8 mysql.peticionDinero$7Aenta %$)+(S?F:#ombrecortoFIF:importeFIF:1ec2aF@;= :resAlt = eGecAte>Aery?:sqlI :db@=

obtener dinero a cuenta pre4ia a dia de 1o &=di,o:

"base de datos :db = PPdb= :#ombrecorto = PPempleado#ombrecorto= :sql = ;S()(7T D$T(HC8*&$T?1ec2aI Fcd-cm-c3F@ as 1ec2aIimporte C*8& mysql.peticionDinero$7Aenta .](*( #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPimporte-eticion1 = :resAlt[1][FimporteF]= PPimporte-eticion = :resAlt[ ][FimporteF]= PPimporte-eticion0 = :resAlt[0][FimporteF]= PPimporte-eticion! = :resAlt[!][FimporteF]= PPimporte-eticionK = :resAlt[K][FimporteF]= PPimporte-eticionR = :resAlt[R][FimporteF]= PPimporte-eticionX = :resAlt[X][FimporteF]= PPimporte-eticion4 = :resAlt[4][FimporteF]= PP1ec2a-eticion1 PP1ec2a-eticion PP1ec2a-eticion0 PP1ec2a-eticion! PP1ec2a-eticionK PP1ec2a-eticionR PP1ec2a-eticionX PP1ec2a-eticion4 = = = = = = = = :resAlt[1][F1ec2aF]= :resAlt[ ][F1ec2aF]= :resAlt[0][F1ec2aF]= :resAlt[!][F1ec2aF]= :resAlt[K][F1ec2aF]= :resAlt[R][F1ec2aF]= :resAlt[X][F1ec2aF]= :resAlt[4][F1ec2aF]=

Manual de Código

65

Sistema workflow en empresa bajo software libre.

obtener 5efe inmediato : delegado &=di,o:

"D(C,#8 $>+, )$ EEDD PPdb = F0R0XJ X0R!c 1eXbcd0R14J0 JXK!0K1F= :db = PPdb= :#ombre = PPempleado#ombre= :sql = ;S()(7T #ombrecortoIci1I empresaIemail C*8& mysql.+sAarios(mpresas .](*( #ombre = F:#ombreF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPempleado#ombrecorto = :resAlt[1][F#ombrecortoF]= PPempresa=:resAlt[1][FempresaF]= :empresa = PPempresa= :empleado(mail = PPemail= :#ombrecorto = PPempleado#ombrecorto=

"7on sAbconsAltas obten/o el nombre del Le1e,nmediato y dele/ado :sql = ;S()(7T #ombre C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = ? S()(7T Le1einmediato C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = F:#ombrecortoF @;= :resAlt = eGecAte>Aery?:sqlI :db@= PPLe1e,nmediato#ombre=:resAlt[1][F#ombreF]= :sql = ;S()(7T #ombre C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = ? S()(7T dele/ado C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = F:#ombrecortoF @;= :resAlt = eGecAte>Aery?:sqlI :db@= PPdele/ado#ombre=:resAlt[1][F#ombreF]= "8btenemos los ,D y otra in1ormacion para asi/narle la tarea "solicitante,D pAede no coincidir con el empleadoI para el caso en el qAe lo pida otro

Manual de Código

66

3.Código de los procesos y tareas.

PPsolicitante,D = PP+S(*H)8''(D=

:valor = PPLe1e,nmediato#ombre= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) C*8& +S(*S D2ere +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPLe1e,nmediato,D = :resAlt[1][F+S*H+,DF]= PPLe1e,nmediato#ombrecorto= :resAlt[1][F+S*H+S(*#$&(F]= PPLe1e,nmediato(mail= :resAlt[1][F+S*H(&$,)F]= :valor = PPdele/ado#ombre= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) C*8& +S(*S D2ere +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPdele/ado,D = :resAlt[1][F+S*H+,DF]= PPdele/ado#ombrecorto= :resAlt[1][F+S*H+S(*#$&(F]= PPdele/ado(mail= :resAlt[1][F+S*H(&$,)F]= :empleado#ombrecorto = PPempleado#ombrecorto= :Le1e,nmediato#ombrecorto = PPLe1e,nmediato#ombrecorto= :dele/ado#ombrecorto = PPdele/ado#ombrecorto= PPcar/o = -1= :car/o = PPcar/o= "vamos a ver qAe es lo qAe esI si empleado..Le1e..etc i1? :empleado#ombrecorto N= :Le1e,nmediato#ombrecorto@ Y i1? :Le1e,nmediato#ombrecorto N= :dele/ado#ombrecorto@ Y :car/o = 0= Z elseY :car/o = 1= Z Z else Y :car/o =

=Z

PPcar/o = :car/o=

obtener saldo anterior &=di,o:

Manual de Código

67

Sistema workflow en empresa bajo software libre.

:db = PPdb= :#ombrecorto = PPempleado#ombrecorto= :sql = ;S()(7T D$T(HC8*&$T?1ec2aI Fcd-cm-c3F@ as 1ec2aIimporte C*8& mysql.LAsti1icante'astos .](*( #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPsaldo$nterior = :resAlt[1][FimporteF]= PP1ec2aSaldo$nterior = :resAlt[1][F1ec2aF]= :sql = ;S()(7T sAm?importe@ as sAma 1rom mysql.peticionDinero$7Aenta D2ere #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPtotalDinero$7Aenta = :resAlt[1][FsAmaF]= PPtotal(ntre/ado = P"saldo$nterior [ P"totalDinero$7Aenta=

5#5# )STIFI&ANTE !E $ASTOS#
• "iagrama de 5ustificante de Gastos%

Manual de Código

68

3.Código de los procesos y tareas.

Manual de Código

69

Sistema workflow en empresa bajo software libre.

Figura 3.3. (ia0rama de 2ustificante de 3astos.

– •

"&'()*+M,% 1eleccion Tipo &=di,o:

Manual de Código

70

3.Código de los procesos y tareas.

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/R! R!4!40!be Ja!XK00KRJ00XK01!RJ; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5$BSD^B type=;title; enable2tml=;0;M 5esM^+ST,C,7$#T( D( '$ST8S5/esM 5/$BSD^BM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;dropdoDn; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;0! RR XJ0!be JbKc1c4J000000XJ4R ; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas order by #ombrecorto =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5nAmero)iqAidacion type=;teGt; maGlen/t2=;R!; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit;M 5esM5N[7D$T$[#º )iqAidacion: ]]M5/esM 5/nAmero)iqAidacionM 51ec2a^Asti1icante type=;date; be1oredate=;-1y; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a ^Asti1icacion: 5/esM 5/1ec2a^Asti1icanteM 5Hd1/ type=;sAbtitle; enable2tml=;0;M 5esM(liLa el Tipo de ^Asti1icacion qAe desee realiUar: 5/esM 5/Hd1/M 5tipo^Asti1icacion type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esMTipo 5option name=;1;M^Asti1icar con TarLeta de 7redito5/optionM5option name=; ;M^Asti1icar 'asto5/optionM5/esM 5/tipo^Asti1icacionM 5H1/21 type=;sAbmit;M 5esMSi/Aiente5/esM 5/H1/21M5/dynaCormM

2"inero(cuenta &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M

Manual de Código

71

Sistema workflow en empresa bajo software libre.

5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/XRR1K400R!be a!JbJ4e!0!0!KRXXR00; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5S$C type=;title; enable2tml=;0;M 5esM^+ST,C,7$#T( D( '$ST8S. D,#(*8 $ 7+(#T$5/esM 5/S$CM 5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 51ec2aSaldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMCec2a: 5/esM 5/1ec2aSaldo$nteriorM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto 5esM,mporte: 5/esM 5/saldo$nteriorM 5Hsd1s type=;title; enable2tml=;0;M 5esM5N[7D$T$[D,#(*8 $ 7+(#T$ -*(%,$ ),>+,D$7,b# $ D,$ D( ]83]]M5/esM 5/Hsd1sM 51ec2a-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion1M 5importe-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion1M 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SDM 51ec2a-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion M 5importe-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion M 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/(((((((M 51ec2a-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion0M 5importe-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion0M

Manual de Código

72

3.Código de los procesos y tareas.

5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/*********M 51ec2a-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion!M 5importe-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion!M 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/tttttttttM 51ec2a-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionKM 5importe-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionKM 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt M 51ec2a-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionRM 5importe-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionRM 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SD M 51ec2a-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionXM 5importe-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionXM 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/((((((( M 51ec2a-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion4M 5importe-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion4M

Manual de Código

73

Sistema workflow en empresa bajo software libre.

5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/********* M 51ec2a-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionJM 5importe-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionJM 5ttttttttt0 type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt0M 51ec2a-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion10M 5importe-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion10M 5ttttttttt! type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt!M 5totalDinero$7Aenta type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5esMTotal dinero a cAenta a dia de ]oy:5/esM 5/totalDinero$7AentaM 5Total type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMTotal (ntre/ado ? Saldo $nterior [ Dinero a cAenta previa@5/esM 5/TotalM 5total(ntre/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;saldo$nterior[totalDinero$7Aenta; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTotal (ntre/ado5/esM 5/total(ntre/adoM 5Hds1s1d type=;sAbmit;M 5esMSi/Aiente5/esM 5/Hds1s1dM 5/dynaCormM

;-administracion5ustificacionGasto &=di,o:

Manual de Código

74

3.Código de los procesos y tareas.

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/R0!!R4 !4!b10caJ110e14!0K0140 XJ; Didt2=;X00; enabletemplate=;0; mode=;edit;M 5$BSD^B type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM^+ST,C,7$#T( D( '$ST8S.5/esM 5/$BSD^BM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5nAmero)iqAidacion type=;teGt; maGlen/t2=;R!; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º )iqAidacion: ]]M5/esM 5/nAmero)iqAidacionM 51ec2a^Asti1icante type=;teGt; be1oredate=;-1y; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;1; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0; maGlen/t2=;R!; validate=;$ny; strto=;; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esMCec2a ^Asti1icacion: 5/esM 5/1ec2a^Asti1icanteM 5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 51ec2aSaldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMCec2a: 5/esM 5/1ec2aSaldo$nteriorM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto 5esM,mporte: 5/esM 5/saldo$nteriorM 5Hsd1s type=;title; enable2tml=;0;M

Manual de Código

75

Sistema workflow en empresa bajo software libre.

5esM5N[7D$T$[D,#(*8 $ 7+(#T$ -*(%,$ ),>+,D$7,b# $ D,$ D( ]83]]M5/esM 5/Hsd1sM 51ec2a-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion1M 5importe-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion1M 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SDM 51ec2a-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion M 5importe-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion M 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/(((((((M 51ec2a-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion0M 5importe-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion0M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/*********M 51ec2a-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion!M 5importe-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion!M 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/tttttttttM 51ec2a-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionKM 5importe-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionKM 5ttttttttt type=;sAbtitle; enable2tml=;0;M

Manual de Código

76

3.Código de los procesos y tareas.

5es/M 5/ttttttttt M 51ec2a-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionRM 5importe-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionRM 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SD M 51ec2a-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionXM 5importe-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionXM 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/((((((( M 51ec2a-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion4M 5importe-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion4M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/********* M 51ec2a-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionJM 5importe-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionJM 5ttttttttt0 type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt0M 51ec2a-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion10M 5importe-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion10M 5ttttttttt! type=;sAbtitle; enable2tml=;0;M

Manual de Código

77

Sistema workflow en empresa bajo software libre.

5es/M 5/ttttttttt!M 5totalDinero$7Aenta type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5esMTotal dinero a cAenta a dia de ]oy:5/esM 5/totalDinero$7AentaM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM'astos ^Asti1icados5/esM 5/Hsd1M 5/rid7oncepto type=;/rid; Gml/rid=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5T8T$) type=;title; enable2tml=;0;M 5esMT8T$)5/esM 5/T8T$)M 5total(ntre/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[?$@ T8T$) (#T*('$D8?h@ ]]M5/esM 5/total(ntre/adoM 5total^Asti1icados type=;teGt; maGlen/t2=;R!; validate=;$ny; masT=;; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[?E@ T8T$) '$ST8S ^+ST,C,7$D8S ?h@]]M5/esM 5/total^Asti1icadosM 5pendiente^Asti1icar type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[?$-E@ S$)D8 -(#D,(#T( D( ^+ST,C,7$* ?h@]]M5/esM 5/pendiente^Asti1icarM 5Hrtydc type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[-Aede ver los LAsti1icantes escaneados en la pesta_a ,n1ormacion -M DocAmentos SAbidos]]M5/esM 5/HrtydcM 5asaa type=;title; enable2tml=;0;M 5esM&8%,&,(#T8 D( 7$^$5/esM 5/asaaM 5H$$$ type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM$bonar al empleado la si/Aiente cantidad:5/esM 5/H$$$M 5abonar(mpleado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM7antidad:5/esM 5/abonar(mpleadoM 5HtitAlo3esno type=;title; enable2tml=;0;M 5esM5N[7D$T$[d Desea $probar esta LAsti1icacion de 'astos 6]]M5/esM 5/HtitAlo3esnoM

Manual de Código

78

3.Código de los procesos y tareas.

5yesno^Asti1icacion'astos type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[d$probar6 ]]M5option name=;1;MSi5/optionM5option name=;0;M#o5/optionM5/esM 5/yesno^Asti1icacion'astosM 5S+ET,T+)88ES(*%$7,8#(S type=;sAbtitle; enable2tml=;0;M 5esM8ES(*%$7,8#(S:5/esM 5/S+ET,T+)88ES(*%$7,8#(SM 5observaciones^Asti1icacion'astos type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;K0; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5es/M 5/observaciones^Asti1icacion'astosM 5H1/21 type=;sAbmit;M 5esMSi/Aiente5/esM 5/H1/21M 5/dynaCormM

;(administracionTar2eta &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/10KX04X 1!b10caXJ0! c100J4J 4 JJ; Didt2=;X00; enabletemplate=;0; mode=;edit;M 5$BSD^B type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM^+ST,C,7$#T( D( '$ST8S. T$*^(T$ D( 7*(D,T85/esM 5/$BSD^BM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5nAmero)iqAidacion type=;teGt; maGlen/t2=;R!; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;;

Manual de Código

79

Sistema workflow en empresa bajo software libre.

dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º )iqAidacion: ]]M5/esM 5/nAmero)iqAidacionM 51ec2a^Asti1icante type=;teGt; be1oredate=;-1y; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;1; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0; maGlen/t2=;R!; validate=;$ny; strto=;; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esMCec2a ^Asti1icacion: 5/esM 5/1ec2a^Asti1icanteM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM'astos ^Asti1icados5/esM 5/Hsd1M 5/rid7oncepto type=;/rid; Gml/rid=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5total^Asti1icados type=;teGt; maGlen/t2=;R!; validate=;$ny; masT=;; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[T8T$) '$ST8S ^+ST,C,7$D8S ?h@]]M5/esM 5/total^Asti1icadosM 5Hrtydc type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[-Aede ver los LAsti1icantes escaneados en la pesta_a ,n1ormacion -M DocAmentos SAbidos]]M5/esM 5/HrtydcM 5HtitAlo3esno type=;title; enable2tml=;0;M 5esM5N[7D$T$[d Desea $probar esta LAsti1icacion de 'astos de TarLeta 6]]M5/esM 5/HtitAlo3esnoM 5yesno^Asti1icacion'astos type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[d$probar6 ]]M5option name=;1;MSi5/optionM5option name=;0;M#o5/optionM5/esM 5/yesno^Asti1icacion'astosM 5S+ET,T+)88ES(*%$7,8#(S type=;sAbtitle; enable2tml=;0;M 5esM8ES(*%$7,8#(S:5/esM 5/S+ET,T+)88ES(*%$7,8#(SM 5observaciones^Asti1icacion'astos type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;K0; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5es/M 5/observaciones^Asti1icacion'astosM 5H1/21 type=;sAbmit;M 5esMSi/Aiente5/esM 5/H1/21M 5/dynaCormM

Manual de Código

80

3.Código de los procesos y tareas.

/concepto<obraCargo<importe =Grid> &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;/rid; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5concepto type=;teGtarea; reqAired=;1; readonly=;0; roDs=; ; cols=; K; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5esM78#7(-T85/esM 5/conceptoM 5obraDe7ar/o type=;teGtarea; reqAired=;1; readonly=;0; roDs=; ; cols=; 0; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5esM8E*$ D( 7$*'85/esM 5/obraDe7ar/oM 5importe type=;teGt; maGlen/t2=;1K; cArrency=;(Aros; validate=;*eal; masT=;; reqAired=;1; readonly=;0; siUe=;4; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;sAm; sqlconnection=;; savelabel=;0; strto=;; dependent1ields=;;M 5esM5N[7D$T$[,&-8*T( ?h@]]M5/esM 5/importeM 5/dynaCormM

/concepto<obraCargo<importe ='ormal> &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/1RR0!K400!b1 KR!XaXKbR0044!JJ XJ; Didt2=;X00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5sada type=;title; enable2tml=;0;M 5esM^+ST,C,7$#T( D( '$ST8S5/esM 5/sadaM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[ Si desea LAsti1icar mas de An /astoI cliqAe sobre la pesta_a nAevo las veces qAe lo necesite.]]M5/esM 5/Hsd1M

Manual de Código

81

Sistema workflow en empresa bajo software libre.

5/rid7oncepto type=;/rid; Gml/rid=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; addroD=;1; deleteroD=;1; reqAired=;0; readonly=;0; savelabel=;0;/M 5Hrtydc type=;sAbtitle; enable2tml=;0;M 5esMSAba An arc2ivo comprimido con los LAsti1icantes escaneados.5/esM 5/HrtydcM 5docAmento7oncepto type=;1ile; reqAired=;1; 2intsHmessa/e=;SAba An arc2ivo comprimido con todos los ticTets de LAsti1icacion;M 5esMDocAmentos ^Asti1icantes5/esM 5/docAmento7onceptoM 5sd1s type=;sAbmit;M 5esMSi/Aiente5/esM 5/sd1sM 5/dynaCormM

8total &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/0J1JKKJX1!b1 RbJ d 0!e40JR0K!04X; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5$SBDE type=;title; enable2tml=;0;M 5esM^+ST,C,7$#T( D( '$ST8S5/esM 5/$SBDEM 5T8T$) type=;title; enable2tml=;0;M 5esMT8T$)5/esM 5/T8T$)M 5total(ntre/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit;M 5esM5N[7D$T$[?$@ T8T$) (#T*('$D8?h@ ]]M5/esM 5/total(ntre/adoM 5total^Asti1icados type=;teGt; maGlen/t2=;R!; validate=;$ny; masT=;; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[?E@ T8T$) '$ST8S ^+ST,C,7$D8S ?h@]]M5/esM 5/total^Asti1icadosM 5pendiente^Asti1icar type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit;M 5esM5N[7D$T$[?$-E@ S$)D8 -(#D,(#T( D( ^+ST,C,7$* ?h@]]M5/esM 5/pendiente^Asti1icarM 5H type=;sAbmit;M 5esMSi/Aiente5/esM 5/HM 5/dynaCormM

Manual de Código

82

3.Código de los procesos y tareas.

?(todaInformacionTar2eta &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/ JKK0! !b10J4cXc4bc!R0X110JJ K; Didt2=;X00; enabletemplate=;0; mode=;edit;M 5$BSD^B type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM^+ST,C,7$#T( D( '$ST8S. T$*^(T$ D( 7*(D,T85/esM 5/$BSD^BM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5nAmero)iqAidacion type=;teGt; maGlen/t2=;R!; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º )iqAidacion: ]]M5/esM 5/nAmero)iqAidacionM 51ec2a^Asti1icante type=;teGt; be1oredate=;-1y; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;1; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0; maGlen/t2=;R!; validate=;$ny; strto=;; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esMCec2a ^Asti1icacion: 5/esM 5/1ec2a^Asti1icanteM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM'astos ^Asti1icados5/esM 5/Hsd1M 5/rid7oncepto type=;/rid; Gml/rid=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5total^Asti1icados type=;teGt; maGlen/t2=;R!; validate=;$ny; masT=;; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[T8T$) '$ST8S ^+ST,C,7$D8S ?h@]]M5/esM

Manual de Código

83

Sistema workflow en empresa bajo software libre.

5/total^Asti1icadosM 5Hrtydc type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[-Aede ver los LAsti1icantes escaneados en la pesta_a ,n1ormacion -M DocAmentos SAbidos]]M5/esM 5/HrtydcM 5HtitAlo3esno type=;title; enable2tml=;0;M 5esM5N[7D$T$[d Desea $probar esta LAsti1icacion de 'astos de TarLeta 6]]M5/esM 5/HtitAlo3esnoM 5yesno^Asti1icacion'astos type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[d$probar6 ]]M5option name=;1;MSi5/optionM5option name=;0;M#o5/optionM5/esM 5/yesno^Asti1icacion'astosM 5S+ET,T+)88ES(*%$7,8#(S type=;sAbtitle; enable2tml=;0;M 5esM8ES(*%$7,8#(S:5/esM 5/S+ET,T+)88ES(*%$7,8#(SM 5observaciones^Asti1icacion'astos type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;K0; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5es/M 5/observaciones^Asti1icacion'astosM 5H1/21 type=;sAbmit;M 5esMSi/Aiente5/esM 5/H1/21M 5/dynaCormM

?-informacion5ustificacionGasto &=di,o:

Manual de Código

84

3.Código de los procesos y tareas.

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/X X14!RK1!b10J4ee caKd000XX 4!JJ; Didt2=;X00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5$BSD^B type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM^+ST,C,7$#T( D( '$ST8S.5/esM 5/$BSD^BM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5nAmero)iqAidacion type=;teGt; maGlen/t2=;R!; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º )iqAidacion: ]]M5/esM 5/nAmero)iqAidacionM 51ec2a^Asti1icante type=;teGt; be1oredate=;-1y; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;1; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0; maGlen/t2=;R!; validate=;$ny; strto=;; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esMCec2a ^Asti1icacion: 5/esM 5/1ec2a^Asti1icanteM 5SDCS type=;sAbtitle; enable2tml=;0;M 5esM(stado de la +ltima )iqAidacion ?Saldo $nterior@5/esM 5/SDCSM 51ec2aSaldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMCec2a: 5/esM 5/1ec2aSaldo$nteriorM 5saldo$nterior type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;Mselect importe 1rom LAsti1icante'astos D2ere #ombrecorto liTe PPempleado#ombrecorto 5esM,mporte: 5/esM 5/saldo$nteriorM 5Hsd1s type=;title; enable2tml=;0;M 5esM5N[7D$T$[D,#(*8 $ 7+(#T$ -*(%,$ ),>+,D$7,b# $ D,$ D( ]83]]M5/esM

Manual de Código

85

Sistema workflow en empresa bajo software libre.

5/Hsd1sM 51ec2a-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion1M 5importe-eticion1 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion1M 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SDM 51ec2a-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion M 5importe-eticion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion M 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/(((((((M 51ec2a-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion0M 5importe-eticion0 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion0M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/*********M 51ec2a-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion!M 5importe-eticion! type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion!M 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M 5/tttttttttM 51ec2a-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionKM 5importe-eticionK type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionKM 5ttttttttt type=;sAbtitle; enable2tml=;0;M 5es/M

Manual de Código

86

3.Código de los procesos y tareas.

5/ttttttttt M 51ec2a-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionRM 5importe-eticionR type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionRM 5H$SD type=;sAbtitle; enable2tml=;0;M 5es/M 5/H$SD M 51ec2a-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionXM 5importe-eticionX type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionXM 5((((((( type=;sAbtitle; enable2tml=;0;M 5es/M 5/((((((( M 51ec2a-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion4M 5importe-eticion4 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion4M 5********* type=;sAbtitle; enable2tml=;0;M 5es/M 5/********* M 51ec2a-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticionJM 5importe-eticionJ type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticionJM 5ttttttttt0 type=;sAbtitle; enable2tml=;0;M 5es/M 5/ttttttttt0M 51ec2a-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMC(7]$ D( (#T*('$5/esM 5/1ec2a-eticion10M 5importe-eticion10 type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esM,&-8*T(5/esM 5/importe-eticion10M 5ttttttttt! type=;sAbtitle; enable2tml=;0;M 5es/M

Manual de Código

87

Sistema workflow en empresa bajo software libre.

5/ttttttttt!M 5totalDinero$7Aenta type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5esMTotal dinero a cAenta a dia de ]oy:5/esM 5/totalDinero$7AentaM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM'astos ^Asti1icados5/esM 5/Hsd1M 5/rid7oncepto type=;/rid; Gml/rid=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5T8T$) type=;title; enable2tml=;0;M 5esMT8T$)5/esM 5/T8T$)M 5total(ntre/ado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;0; 2intsHmessa/e=;; 1ormAla=;saldo$nterior[totalDinero$7Aenta; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[?$@ T8T$) (#T*('$D8?h@]]M5/esM 5/total(ntre/adoM 5total^Asti1icados type=;teGt; maGlen/t2=;R!; validate=;$ny; masT=;; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[?E@ T8T$) '$ST8S ^+ST,C,7$D8S ?h@]]M5/esM 5/total^Asti1icadosM 5pendiente^Asti1icar type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[?$-E@ S$)D8 -(#D,(#T( D( ^+ST,C,7$* ?h@]]M5/esM 5/pendiente^Asti1icarM 5Hrtydc type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[-Aede ver los LAsti1icantes escaneados en la pesta_a ,n1ormacion -M DocAmentos SAbidos]]M5/esM 5/HrtydcM 5HtitAlo3esno type=;title; enable2tml=;0;M 5esM5N[7D$T$[d Desea $probar esta LAsti1icacion de 'astos 6]]M5/esM 5/HtitAlo3esnoM 5yesno^Asti1icacion'astos type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM5N[7D$T$[d$probar6 ]]M5option name=;1;MSi5/optionM5option name=;0;M#o5/optionM5/esM 5/yesno^Asti1icacion'astosM 5S+ET,T+)88ES(*%$7,8#(S type=;sAbtitle; enable2tml=;0;M 5esM8ES(*%$7,8#(S:5/esM 5/S+ET,T+)88ES(*%$7,8#(SM

Manual de Código

88

3.Código de los procesos y tareas.

5observaciones^Asti1icacion'astos type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;K0; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5es/M 5/observaciones^Asti1icacion'astosM 5H1/21 type=;sAbmit;M 5esMSi/Aiente5/esM 5/H1/21M 5/dynaCormM

1insertar"atos &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/14X!! 1R0!b1K0d bK1d10 01X0000X4; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5$BSD^B type=;title; enable2tml=;0;M 5esMD,#(*8 -(D,D8 $ 7+(#T$5/esM 5/$BSD^BM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;dropdoDn; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;PP+S*H)$ST#$&(; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;0! RR XJ0!be JbKc1c4J000000XJ4R ; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas order by PP+S*H)$ST#$&(I#ombrecorto =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5nAmero)iqAidacion type=;teGt; maGlen/t2=;R!; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit;M 5esM5N[7D$T$[#º )iqAidacion: ]]M5/esM 5/nAmero)iqAidacionM 51ec2aDinero-edido$7Aenta type=;date; be1oredate=;-1y; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a -edido a cAenta: 5/esM 5/1ec2aDinero-edido$7AentaM 5H type=;sAbmit;M 5esMSi/Aiente5/esM 5/HM

Manual de Código

89

Sistema workflow en empresa bajo software libre.

5/dynaCormM

!recibido-ien &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/KJ0X400 K!b101KX1KXRJ4X0XRX! J X; Didt2=;X00; enabletemplate=;0; mode=;edit;M 5S$C type=;title; enable2tml=;0;M 5esM ^+ST,C,7$7,8# D( '$ST8S5/esM 5/S$CM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5observaciones^Asti1icacion'astos type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5esM8ES(*%$7,8#(S: 5/esM 5/observaciones^Asti1icacion'astosM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM Datos ^Asti1icados:5/esM 5/Hsd1M 5/rid7oncepto type=;/rid; Gml/rid=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;1; savelabel=;0;/M

Manual de Código

90

3.Código de los procesos y tareas.

5Hsss type=;title; enable2tml=;0;M 5esM ^Asti1icacion de 'astos $probada.5/esM 5/HsssM 5Haaaa type=;sAbmit;M 5esMSi/Aiente5/esM 5/HaaaaM 5/dynaCormM

!recibido'o(probado &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/1 R104R11!b101KXbRa0RR 0 K !1 11; Didt2=;X00; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5S$C type=;title; enable2tml=;0;M 5esM ^+ST,C,7$7,8# D( '$ST8S5/esM 5/S$CM 5S$D$ type=;sAbtitle; enable2tml=;0;M 5esMDatos empleado: 5/esM 5/S$D$M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;!0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;Mselect #ombreI #ombre 1rom +sAarios(mpresas =5esM#ombre y $pellidos5/esM 5/empleado#ombreM 5empleadoTele1ono type=;teGt; maGlen/t2=; 0; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;vieD; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMTele1ono: 5/esM 5/empleadoTele1onoM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM Datos #o ^Asti1icados:5/esM 5/Hsd1M 5/rid7oncepto type=;/rid; Gml/rid=;!J11R1 JX!be 4Xeb0deRXX00KJK1K40/!K0 404JX!b1 !a1 0Kb d00R! 0! JJ; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;1; savelabel=;0;/M 5observaciones^Asti1icacion'astos type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; savelabel=;0;M 5esM8ES(*%$7,8#(S: 5/esM 5/observaciones^Asti1icacion'astosM

Manual de Código

91

Sistema workflow en empresa bajo software libre.

5Hsss type=;title; enable2tml=;0;M 5esM ^Asti1icacion de 'astos #8 $probada.5/esM 5/HsssM 5S$$$$ type=;sAbtitle; enable2tml=;0;M 5esM,ndiqAe qAe es lo qAe desea:5/esM 5/S$$$$M 5yesnoSe/Air^Asti1icacion#o type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;1;M7orreLir sA ^Asti1icacion de /astos5/optionM 5option name=;0;MCinaliUar este -roceso5/optionM 5/esM 5/yesnoSe/Air^Asti1icacion#oM 5Hssd1s type=;sAbmit;M 5esMSi/Aiente5/esM 5/Hssd1sM 5/dynaCormM

– •

T+IGG3+,% (ctuali0ar,aldo#endiente &=di,o:

:db = PPdb= :#ombrecorto = PPempleado#ombrecorto= :pendiente^Asti1icar = PPpendiente^Asti1icar= :pendiente^Asti1icar= PPpendiente^Asti1icar= :1ec2a = PP1ec2a^Asti1icante= ""si pediente de LAsti1icar es ne/ativoI no ten/o nada para LAsti1icar i1 ?PPpendiente^Asti1icar 5 0@ :pendiente^Asti1icar = 0= ")a 1ec2a qAe coLo la paso para introdAcirla en sql :sql = ;S()(7T ST*HT8HD$T(? F:1ec2aFIFcd-cm-c3F@ as 1ec2a ;= :resAlt = eGecAte>Aery?:sqlI :db@= PP1ec2a = :resAlt[1][F1ec2aF]= :1ec2a = PP1ec2a= "]e de borrar tanto esta tablaI como los dineros a cAenta entre/ados :sql = ;D()(T( C*8& mysql.LAsti1icante'astos

Manual de Código

92

3.Código de los procesos y tareas.

.](*( #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= :sql = ;D()(T( C*8& mysql.peticionDinero$7Aenta .](*( #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= "3 Ana veU borrado todos los datos anterioores para ese empleado "inserto solo el total del pendiente de LAsti1icar :sql = ;,#S(*T ,#T8 mysql.LAsti1icante'astos %$)+(S?F:#ombrecortoFIF:pendiente^Asti1icarFI F:1ec2aF@;= :resAlt = eGecAte>Aery?:sqlI :db@=

insertar#eticion"inero(Cuenta &=di,o:

:db = PPdb= :#ombrecorto = PPempleado#ombrecorto= :importe= PPdinero-edido$7Aenta= :1ec2a = PP1ec2aDinero-edido$7Aenta= :sql = ;S()(7T ST*HT8HD$T(? F:1ec2aFIFcd-cm-c3F@ as 1ec2a ;= :resAlt = eGecAte>Aery?:sqlI :db@= PP1ec2a = :resAlt[1][F1ec2aF]= :1ec2a = PP1ec2a= :sql = ;,#S(*T ,#T8 mysql.peticionDinero$7Aenta %$)+(S?F:#ombrecortoFIF:importeFIF:1ec2aF@;= :resAlt = eGecAte>Aery?:sqlI :db@=

*btener dinero a cuenta pre4ia a dia de 1o

Manual de Código

93

Sistema workflow en empresa bajo software libre.
&=di,o:
"base de datos :db = PPdb= :#ombrecorto = PPempleado#ombrecorto= :sql = ;S()(7T D$T(HC8*&$T?1ec2aI Fcd-cm-c3F@ as 1ec2aIimporte C*8& mysql.peticionDinero$7Aenta .](*( #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPimporte-eticion1 = :resAlt[1][FimporteF]= PPimporte-eticion = :resAlt[ ][FimporteF]= PPimporte-eticion0 = :resAlt[0][FimporteF]= PPimporte-eticion! = :resAlt[!][FimporteF]= PPimporte-eticionK = :resAlt[K][FimporteF]= PPimporte-eticionR = :resAlt[R][FimporteF]= PPimporte-eticionX = :resAlt[X][FimporteF]= PPimporte-eticion4 = :resAlt[4][FimporteF]= PP1ec2a-eticion1 PP1ec2a-eticion PP1ec2a-eticion0 PP1ec2a-eticion! PP1ec2a-eticionK PP1ec2a-eticionR PP1ec2a-eticionX PP1ec2a-eticion4 = = = = = = = = :resAlt[1][F1ec2aF]= :resAlt[ ][F1ec2aF]= :resAlt[0][F1ec2aF]= :resAlt[!][F1ec2aF]= :resAlt[K][F1ec2aF]= :resAlt[R][F1ec2aF]= :resAlt[X][F1ec2aF]= :resAlt[4][F1ec2aF]=

obtener 5efeinmediato : "elegado &=di,o:

"D(C,#8 $>+, )$ EEDD PPdb = F0! RR XJ0!be JbKc1c4J000000XJ4R F= :db = PPdb= :#ombre = PPempleado#ombre= :sql = ;S()(7T #ombrecortoIci1I empresaIemail C*8& mysql.+sAarios(mpresas .](*( #ombre = F:#ombreF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPempleado#ombrecorto = :resAlt[1][F#ombrecortoF]= PPempresa=:resAlt[1][FempresaF]= :empresa = PPempresa= :empleado(mail = PPemail= :#ombrecorto = PPempleado#ombrecorto=

Manual de Código

94

3.Código de los procesos y tareas.

"7on sAbconsAltas obten/o el nombre del Le1e,nmediato y dele/ado :sql = ;S()(7T #ombre C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = ? S()(7T Le1einmediato C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = F:#ombrecortoF @;= :resAlt = eGecAte>Aery?:sqlI :db@= PPLe1e,nmediato#ombre=:resAlt[1][F#ombreF]= :sql = ;S()(7T #ombre C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = ? S()(7T dele/ado C*8& mysql.+sAarios(mpresas .](*( #ombrecorto = F:#ombrecortoF @;= :resAlt = eGecAte>Aery?:sqlI :db@= PPdele/ado#ombre=:resAlt[1][F#ombreF]= "8btenemos los ,D y otra in1ormacion para asi/narle la tarea "solicitante,D pAede no coincidir con el empleadoI para el caso en el qAe lo pida otro PPsolicitante,D = PP+S(*H)8''(D=

:valor = PPLe1e,nmediato#ombre= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) C*8& +S(*S D2ere +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPLe1e,nmediato,D = :resAlt[1][F+S*H+,DF]= PPLe1e,nmediato#ombrecorto= :resAlt[1][F+S*H+S(*#$&(F]= PPLe1e,nmediato(mail= :resAlt[1][F+S*H(&$,)F]= :valor = PPdele/ado#ombre= :sql=;S()(7T +S*H+S(*#$&(I+S*H+,DI+S*H(&$,) C*8& +S(*S D2ere +S*H)$ST#$&(=F:valorF;= :resAlt=eGecAteqAery?:sql@= PPdele/ado,D = :resAlt[1][F+S*H+,DF]= PPdele/ado#ombrecorto= :resAlt[1][F+S*H+S(*#$&(F]= PPdele/ado(mail= :resAlt[1][F+S*H(&$,)F]= :empleado#ombrecorto = PPempleado#ombrecorto= :Le1e,nmediato#ombrecorto = PPLe1e,nmediato#ombrecorto= :dele/ado#ombrecorto = PPdele/ado#ombrecorto= PPcar/o = -1= :car/o = PPcar/o=

Manual de Código

95

Sistema workflow en empresa bajo software libre.

"vamos a ver qAe es lo qAe esI si empleado..Le1e..etc i1? :empleado#ombrecorto N= :Le1e,nmediato#ombrecorto@ Y i1? :Le1e,nmediato#ombrecorto N= :dele/ado#ombrecorto@ Y :car/o = 0= Z elseY :car/o = 1= Z Z else Y :car/o =

=Z

PPcar/o = :car/o=

obtener saldo anterior &=di,o:

:db = PPdb= :#ombrecorto = PPempleado#ombrecorto= :sql = ;S()(7T D$T(HC8*&$T?1ec2aI Fcd-cm-c3F@ as 1ec2aIimporte C*8& mysql.LAsti1icante'astos .](*( #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPsaldo$nterior = :resAlt[1][FimporteF]= PP1ec2aSaldo$nterior = :resAlt[1][F1ec2aF]= :sql = ;S()(7T sAm?importe@ as sAma 1rom mysql.peticionDinero$7Aenta D2ere #ombrecorto = F:#ombrecortoF;= :resAlt = eGecAte>Aery?:sqlI :db@= PPtotalDinero$7Aenta = :resAlt[1][FsAmaF]= PPtotal(ntre/ado = P"saldo$nterior [ P"totalDinero$7Aenta=

pendiente"e5ustificar

Manual de Código

96

3.Código de los procesos y tareas.
&=di,o:
PPtotal^Asti1icados = P"S3SH'*,DH$''*('$T(H/rid7onceptoHimporte= PPpendiente^Asti1icar = P"total(ntre/ado P"S3SH'*,DH$''*('$T(H/rid7onceptoHimporte= "$qAi calcAlo lo qAe le debo abonar al empleado "Solo si es ne/ativoI porqAe si es positivoI pasa al otro mes para qAe el lo LAsti1iqAe PPabonar(mpleado = 0= i1? PPpendiente^Asti1icar 5 0 @ PPabonar(mpleado = P"pendiente^Asti1icar W-1=

5#:#ALTA @ &IERRE !E OBRA#
• "iagrama de (lta : Cierre de *bra%

Figura 3.4. !lta 4 /ierre de 5bra.

"&'()*+M,%

Manual de Código

97

Sistema workflow en empresa bajo software libre.
clasificacionMinisterio &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;/rid; name=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/4RJJ1X1X !c004bRd !e1JJ04440KJ04; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5trabaLos(Gterior type=;teGt; maGlen/t2=;1K; validate=;,nt; masT=;; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit;M 5esMc TrabaLos eGterior de edi1icaciones:5/esM 5/trabaLos(GteriorM 5trabaLos,nterior type=;teGt; maGlen/t2=;1K; validate=;,nt; masT=;; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMc TrabaLos interior de edi1icaciones o constrAccion5/esM 5/trabaLos,nteriorM 5total&inisterio type=;teGt; maGlen/t2=;1K; validate=;,nt; masT=;; reqAired=;0; readonly=;1; siUe=;1K; 1ormAla=;trabaLos,nterior[trabaLos(Gterior; mode=;vieD;M 5esMc T8T$):5/esM 5/total&inisterioM 5/dynaCormM

1alta*bra &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/K10R XK0!c00R1KX0!c!bX0R0 10 R!; Didt2=;400; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5$)T$D(8E$ type=;title; enable2tml=;0;M 5esM$)T$ D( 8E*$5/esM 5/$)T$D(8E$M 5titAlo8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esMTitAlo 8bra:5/esM 5/titAlo8braM 5cliente type=;dropdoDn; reqAired=;1; readonly=;0; de1aAltvalAe=;; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;RR0K400JR!cX04044Xe!e4X0 X!!!!KR;Mselect nombreI nombre 1rom DorT1loDSistemas7lientes5esM7liente: 5option name=;0;M#+(%8 7),(#T(5/optionM5/esM 5/clienteM

Manual de Código

98

3.Código de los procesos y tareas.

5provincia type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=; K; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esM-rovincia/s: 5option name=;;/M 5/esM 5/provinciaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;RR0K400JR!cX04044Xe!e4X0 X!!!!KR;Mselect nombreI nombre 1rom DorT1loDSistemasDele/acion5esMDele/acion: 5option name=;;/M5/esM 5/dele/acionM 5dele/ado type=;dropdoDn; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;RR0K400JR!cX04044Xe!e4X0 X!!!!KR;Mselect nombreI nombre 1rom DorT1loDSistemasDele/ado5esMDele/ado: 5option name=;;/M5/esM 5/dele/adoM 5codi/oDepartamento type=;dropdoDn; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;RR0K400JR!cX04044Xe!e4X0 X!!!!KR;Mselect nombreI nombre 1rom DorT1loDSistemasDepartamento5esM7odi/o del Departamento: 5option name=;;M5/optionM5/esM 5/codi/oDepartamentoM 5persona$AtoriUada type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM-ersona $AtoriUada5/esM 5/persona$AtoriUadaM 51ec2a$pertAra type=;date; be1oredate=;0m; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a de $pertAra:5/esM 5/1ec2a$pertAraM 5responsable8bra type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM*esponsable de 8bra:5/esM 5/responsable8braM 5H$S$ type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# ,#T(*#$ D( )$ 8E*$5/esM 5/H$S$M 5H type=;sAbtitle; enable2tml=;0;M 5esM#o necesita escribir el simbolo cI si es An 10c escriba solo 105/esM 5/HM 5Hssss type=;title; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; de1aAltvalAe=;,ndiqAe el c en los TrabaLos de...; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0; enable2tml=;0;M 5esM,ndiqAe el c en los trabaLos de...5/esM 5/HssssM

Manual de Código

99

Sistema workflow en empresa bajo software libre.

5clasi1icacion,nterna type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/001X10R00!c004K4!cdd10 00 R!!R XK; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5Haaa type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# D( )$ 8E*$ &,#,ST(*,8 D( C8&(#T85/esM 5/HaaaM 5$SD$SD type=;sAbtitle; enable2tml=;0;M 5esM? (n CAncion de las ventas @5/esM 5/$SD$SDM 5clasi1icacion&inisterio type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/4RJJ1X1X !c004bRd !e1JJ04440KJ 04; addroD=;0; deleteroD=;0;/M 5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones:5/esM 5/observacionesM 5Hs1sd1 type=;sAbmit;M 5esMSi/Aiente5/esM 5/Hs1sd1M 5/dynaCormM

clasificacionInterna &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;/rid; name=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/001X10R00!c004K4!cdd10 00 R!!RXK; Didt2=;K00; enabletemplate=;0; mode=;edit;M

5in/ type=;percenta/e; maGlen/t2=;1K; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;"""."" c; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM...,n/enieria:5/esM 5/in/M 5ins type=;percenta/e; maGlen/t2=;1K; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;"""."" c; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM... ,nstalacion:5/esM 5/insM

Manual de Código 100

3.Código de los procesos y tareas.

5man type=;percenta/e; maGlen/t2=;1K; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;"""."" c; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM... &antenimiento:5/esM 5/manM 5otros type=;percenta/e; maGlen/t2=;1K; validate=;,nt; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit; masT=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM... 8tros:5/esM 5/otrosM 5total,nterna type=;percenta/e; maGlen/t2=;1K; validate=;,nt; reqAired=;0; readonly=;0; siUe=;1K; mode=;vieD; 1Anction=;; masT=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;in/[ins[man[otros; sqlconnection=;; savelabel=;0;M 5esMT8T$) ?c@:5/esM 5/total,nternaM 5/dynaCormM

administracion &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/4 010!K0R!c 0Je1K 000!X0J !1114K; Didt2=;X00; enabletemplate=;0; mode=;edit;M 5$)T$D(8E$ type=;title; enable2tml=;0;M 5esM$D&,#,ST*$7,8#. $)T$ D( 8E*$5/esM 5/$)T$D(8E$M 5titAlo8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esMTitAlo 8bra:5/esM 5/titAlo8braM 5cliente type=;teGt; reqAired=;0; readonly=;0; de1aAltvalAe=;; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect nombreI nombre 1rom DorTCloDSistemas7lientes5esM7liente: 5option name=;0;M#+(%8 7),(#T(5/optionM5/esM 5/clienteM 5provincia type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=; K; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esM-rovincia/s: 5option name=;;/M 5/esM 5/provinciaM

Manual de Código 101

Sistema workflow en empresa bajo software libre.

5dele/acion type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;4XX1441J0!c00X1e!R!4 a10R1 4 JJ1;Mselect nombreI nombre 1rom DorTCloDSistemasDele/acion5esMDele/acion: 5option name=;;/M5/esM 5/dele/acionM 5dele/ado type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect nombreI nombre 1rom DorTCloDSistemasDele/ado5esMDele/ado: 5option name=;;/M5/esM 5/dele/adoM 5codi/oDepartamento type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;4XX1441J0!c00X1e!R!4 a10R1 4 JJ1;Mselect nombreI nombre 1rom DorTCloDSistemasDepartamento5esM7odi/o del Departamento: 5option name=;;/M5/esM 5/codi/oDepartamentoM 5persona$AtoriUada type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM-ersona $AtoriUada5/esM 5/persona$AtoriUadaM 51ec2a$pertAra type=;date; be1oredate=;0m; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a de $pertAra:5/esM 5/1ec2a$pertAraM 5responsable8bra type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM*esponsable de 8bra:5/esM 5/responsable8braM 5H$S$ type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# ,#T(*#$ D( )$ 8E*$5/esM 5/H$S$M 5H type=;sAbtitle; enable2tml=;0;M 5esM#o necesita escribir el simbolo cI si es An 10c escriba solo 105/esM 5/HM 5Hssss type=;title; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; de1aAltvalAe=;,ndiqAe el c en los TrabaLos de...; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0; enable2tml=;0;M 5esM,ndiqAe el c en los trabaLos de...5/esM 5/HssssM 5clasi1icacion,nterna type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/001X10R00!c004K4!cdd10 00 R!!R XK; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5Haaa type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# D( )$ 8E*$ &,#,ST(*,8 D( C8&(#T85/esM 5/HaaaM 5$SD$SD type=;sAbtitle; enable2tml=;0;M 5esM? (n CAncion de las ventas @5/esM

Manual de Código 102

3.Código de los procesos y tareas.

5/$SD$SDM 5clasi1icacion&inisterio type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/4RJJ1X1X !c004bRd !e1JJ04440KJ 04; addroD=;0; deleteroD=;0;/M 5H$SD type=;title; enable2tml=;0;M 5esM5N[7D$T$[d$+T8*,`$ (ST( $)T$ D( 8E*$6]]M5/esM 5/H$SDM 53(S#8H$D&,#,ST*$7,8# type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;0;M#o5/optionM 5option name=;1;MSi5/optionM 5/esM 5/3(S#8H$D&,#,ST*$7,8#M 5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones:5/esM 5/observacionesM 5Hasda type=;sAbtitle; enable2tml=;0;M 5esM,ndiqAe el #Amero de 8bra5/esM 5/HasdaM 5nAmero8bra type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM#Amero de 8bra5/esM 5/nAmero8braM 5Hs1sd1 type=;sAbmit;M 5esMSi/Aiente5/esM 5/Hs1sd1M 5/dynaCormM

cierre de obra &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/!X0 J11XR!c 0J1a d10X!!0JKJ0K!!4; Didt2=;400; enabletemplate=;0; mode=;edit; neGtstepsave=;save;M 5$)T$D(8E$ type=;title; enable2tml=;0;M 5esM7,(**( D( 8E*$5/esM 5/$)T$D(8E$M 5titAlo8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esMTitAlo 8bra:5/esM 5/titAlo8braM 5cliente type=;teGt; reqAired=;1; readonly=;0; de1aAltvalAe=;; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;; maGlen/t2=;R!; validate=;$ny; masT=;;

Manual de Código 103

Sistema workflow en empresa bajo software libre.

strto=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect nombreI nombre 1rom DorT1loDSistemas7lientes5esM7liente: 5option name=;0;M#+(%8 7),(#T(5/optionM5/esM 5/clienteM 5provincia type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=; K; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esM-rovincia/s: 5option name=;;/M 5/esM 5/provinciaM 5dele/acion type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;1K; 1ormAla=;; 1Anction=;;Mselect nombreI nombre 1rom DorT1loDSistemasDele/acion5esMDele/acion: 5option name=;;/M5/esM 5/dele/acionM 5dele/ado type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect nombreI nombre 1rom DorT1loDSistemasDele/ado5esMDele/ado: 5option name=;;/M5/esM 5/dele/adoM 5codi/oDepartamento type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;1K; 1ormAla=;; 1Anction=;;Mselect nombreI nombre 1rom DorT1loDSistemasDepartamento5esM7odi/o del Departamento: 5option name=;;/M5/esM 5/codi/oDepartamentoM 5persona$AtoriUada type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM-ersona $AtoriUada5/esM 5/persona$AtoriUadaM 51ec2a$pertAra type=;date; be1oredate=;0m; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a de $pertAra:5/esM 5/1ec2a$pertAraM 5responsable8bra type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM*esponsable de 8bra:5/esM 5/responsable8braM 5H$S$ type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# ,#T(*#$ D( )$ 8E*$5/esM 5/H$S$M 5H type=;sAbtitle; enable2tml=;0;M 5esM#o necesita escribir el simbolo cI si es An 10c escriba solo 105/esM 5/HM 5Hssss type=;title; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; de1aAltvalAe=;,ndiqAe el c en los TrabaLos de...; siUe=;R0;

Manual de Código 104

3.Código de los procesos y tareas.

mode=;edit; masT=;; strto=;; dependent1ields=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0; enable2tml=;0;M 5esM,ndiqAe el c en los trabaLos de...5/esM 5/HssssM 5clasi1icacion,nterna type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/001X10R00!c004K4!cdd10 00 R!!R XK; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5Haaa type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# D( )$ 8E*$ &,#,ST(*,8 D( C8&(#T85/esM 5/HaaaM 5$SD$SD type=;sAbtitle; enable2tml=;0;M 5esM? (n CAncion de las ventas @5/esM 5/$SD$SDM 5clasi1icacion&inisterio type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/4RJJ1X1X !c004bRd !e1JJ04440KJ 04; addroD=;0; deleteroD=;0;/M 5nAmero8bra type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM#Amero de 8bra5/esM 5/nAmero8braM 5H$SD type=;title; enable2tml=;0;M 5esM5N[7D$T$[dD(S($ 7(**$* (ST$ 8E*$6]]M5/esM 5/H$SDM 53(S#8H7,(**( type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;0;M#o5/optionM 5option name=;1;MSi5/optionM 5/esM 5/3(S#8H7,(**(M 5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones:5/esM 5/observacionesM 5Hs1sd1 type=;sAbmit;M 5esMSi/Aiente5/esM 5/Hs1sd1M 5/dynaCormM

Manual de Código 105

Sistema workflow en empresa bajo software libre.
T+IGG3+,% administracion id &=di,o:
PPadministracion=PP+S(*H)8''(D=

– •

inicia alta id &=di,o:

PPinicia$lta=PP+S(*H)8''(D=

5#A#ALTA !E EMPLEA!O#

"iagrama de (lta de 3mpleado%

Figura 3.5. !lta de empleado.

Manual de Código 106

3.Código de los procesos y tareas. – "&'()*+M,:
• 3datosContractuales &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/0JKR4JR10!bd40RK 0dK1000!KK 4RK; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5Ht1 type=;title; enable2tml=;0;M 5esMSolicitAd ,ncorporacion de nAevo TrabaLador5/esM 5/Ht1M 5Ht type=;title; enable2tml=;1;M 5esMD$T8S 78#T*$7T+$)(S5/esM 5/Ht M 5Hs1 type=;sAbtitle; enable2tml=;1;M 5esM,ntrodAUca los datos contractAales del trabaLador5/esM 5/Hs1M 5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM 5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;0; de1aAltvalAe=;#in/Ana; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;;M 5esMDele/acion 5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option

Manual de Código 107

Sistema workflow en empresa bajo software libre.

name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM 5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=; 0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM 5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM 5option name=;-$7T$D8;M-actado5/optionM 5/esM 5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM 5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M

Manual de Código 108

3.Código de los procesos y tareas.

5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;(n el caso en qAe 2aya seleccionado contrato D( D+*$7,8# en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5Hsd1 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5/Hsd1M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM 5empleado-Aesto type=;dropdoDn; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra 7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM 5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el

Manual de Código 109

Sistema workflow en empresa bajo software libre.

menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;0; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;0; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;0; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5HsAbmittt type=;sAbmit;M 5esMSi/Aiente5/esM 5/HsAbmitttM 5/dynaCormM

2datos#ersonales &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/R KK0001R!bd4 KJ Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo1 type=;title; enable2tml=;0;M 5esMSolicitAd ,ncorporacion de nAevo trabaLador5/esM

44eb00RJR!XR 4;

Manual de Código 110

3.Código de los procesos y tareas.

5/HtitAlo1M 5Ht type=;title; enable2tml=;1;M 5esM D$T8S -(*S8#$)(S5/esM 5/Ht M 5HS1 type=;sAbtitle; enable2tml=;1;M 5esM,ntrodAUca los datos personales del nAevo trabaLador5/esM 5/HS1M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;R0; mode=;edit; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre completo5/esM 5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;0; siUe=;1K; mode=;edit;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N [7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;0; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;0; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5Hs1 type=;sAbmit;M 5esMSi/Aiente5/esM 5/Hs1 M 5/dynaCormM

Manual de Código 111

Sistema workflow en empresa bajo software libre.
1@,istemas &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/414R J0JJ!c!KK0a1Rcac110J001R0 J; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*.]]M5/esM 5/HtitAloM 5H%'C type=;title; enable2tml=;1;M 5esM7omprAebe los datos y los D87+&(#T8S $D^+#T$D8S.5/esM 5/H%'CM 5Hd1/ds type=;sAbtitle; enable2tml=;0;M 5esM-Aede ver los docAmentos sAbidos en el menA ,#C8*&$7,8#I seccion D87+&(#T8S S+E,D8S5/esM 5/Hd1/dsM 5Le1einmediato#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM 5/Le1einmediato#ombreM 5dele/ado#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esMDele/ado 5option name=;;/M 5/esM 5/dele/ado#ombreM 51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM 5HtitAlo1!! type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMD$T8S -(*S8#$)(S5/esM 5/HtitAlo1!!M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;R0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M

Manual de Código 112

3.Código de los procesos y tareas.

5esM#ombre completo5/esM 5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5'^C']C'] type=;title; enable2tml=;0;M 5esMD$T8S 78#T*$7T+$)(S5/esM 5/'^C']C']M 5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option

Manual de Código 113

Sistema workflow en empresa bajo software libre.

name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM 5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;1; de1aAltvalAe=;#in/Ana; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;;M 5esMDele/acion 5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM 5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=; 0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray; readonly=;1;M 5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM 5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM

Manual de Código 114

3.Código de los procesos y tareas.

5option name=;-$7T$D8;M-actado5/optionM 5/esM 5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM 5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5Hsd1 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5esM&otivo por el qAe no se acepta:5/esM 5/Hsd1M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM 5empleado-Aesto type=;dropdoDn; reqAired=;0; readonly=;1; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra

Manual de Código 115

Sistema workflow en empresa bajo software libre.

7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM 5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5laslalas type=;sAbmit;M 5esMSi/Aiente5/esM 5/laslalasM 5/dynaCormM

Manual de Código 116

3.Código de los procesos y tareas.
12efe.delegado &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/10JJRK X0!bd4 11aKca4 10KX440 0J; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*]]M5/esM 5/HtitAloM 5HT,T type=;sAbtitle; enable2tml=;1;M 5esM(scoLa el Le1e inmediato y dele/ado del nAevo trabaLador.5/esM 5/HT,T M 5Le1einmediato#ombre type=;dropdoDn; reqAired=;1; readonly=;0; savelabel=;0; mode=;edit; sqlconnection=;! 41 X40 !cX!bdX1Jb0b J0140X014 ; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM 5/Le1einmediato#ombreM 5dele/ado#ombre type=;dropdoDn; reqAired=;1; readonly=;0; savelabel=;0; mode=;edit; sqlconnection=;! 41 X40 !cX!bdX1Jb0b J0140X014 ; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esMDele/ado 5option name=;;M5/optionM5/esM 5/dele/ado#ombreM 5Hasda type=;sAbtitle; enable2tml=;1;M 5esM(scoLa la 1ec2a e1ectiva del alta5/esM 5/HasdaM 51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;d-m3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM 5Hasd type=;sAbmit;M 5esMSi/Aiente5/esM 5/HasdM 5/dynaCormM

Manual de Código 117

Sistema workflow en empresa bajo software libre.
/documentos de entrada &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/XX40 1JK!bd4K!0a00 0!J0 1 0RXKX; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5Hd1/d type=;title; enable2tml=;1;M 5esMSolicitAd ,ncorporacion de nAevo TrabaLador5/esM 5/Hd1/dM 5SCS type=;title; enable2tml=;0;M 5esMD87+&(#T8S D( (#T*$D$5/esM 5/SCSM 5docAmentoD#, type=;1ile; reqAired=;1; 2intsHmessa/e=;)ocalice e inserte el docAmento con la 1otocopia de D#,;M 5esMCotocopia de D.#.,.:5/esM 5/docAmentoD#,M 5docAmentoSS type=;1ile; reqAired=;1; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la 1otocopia de SS;M 5esMCotocopia de la Se/Aridad Social5/esM 5/docAmentoSSM 5docAmento77 type=;1ile; reqAired=;1; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la primera 2oLa de la 7artilla cAenta corriente:;M 5esM5N[7D$T$[Cotocopia 1i 2oLa de la 7artilla 7Aenta 7orriente:]]M5/esM 5/docAmento77M 5docAmento,#(& type=;1ile; reqAired=;0; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la 1otocopia de la tarLeta ,#(&;M 5esMCotocopia ,#(&:5/esM 5/docAmento,#(&M 5docAmento7arnet7ondAcir type=;1ile; reqAired=;0; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la 1otocopia del carnet de condAcir;M 5esM7arnet 7ondAcir5/esM 5/docAmento7arnet7ondAcirM 5d1/d1 type=;sAbmit;M 5esMSi/Aiente5/esM 5/d1/d1M 5/dynaCormM

Manual de Código 118

3.Código de los procesos y tareas.
?denegada &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/ ! 1 0K4!!bdJR0!0cKR0J 0!11 X!JR; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*.]]M5/esM 5/HtitAloM 5H%'C type=;title; enable2tml=;1;M 5esM7omprAebe los datos y los D87+&(#T8S $D^+#T$D8S para aceptar o rec2aUar el alta5/esM 5/H%'CM 5Hd1/ds type=;sAbtitle; enable2tml=;0;M 5esM-Aede ver los docAmentos sAbidos en el menA ,#C8*&$7,8#I seccion D87+&(#T8S S+E,D8S5/esM 5/Hd1/dsM 5Le1einmediato#ombre type=;teGt; reqAired=;0; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM 5/Le1einmediato#ombreM 5dele/ado#ombre type=;teGt; reqAired=;0; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;; options=;$rray; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esMDele/ado 5option name=;;/M 5/esM 5/dele/ado#ombreM 51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM 5HtitAlo1 type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMD$T8S -(*S8#$)(S5/esM 5/HtitAlo1M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;R0; mode=;vieD; masT=;;

Manual de Código 119

Sistema workflow en empresa bajo software libre.

dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre completo5/esM 5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5Ht1 type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5es/M 5/Ht1M 5HtSDCS type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5/HtSDCSM 5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel

Manual de Código 120

3.Código de los procesos y tareas.

SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM 5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;1; de1aAltvalAe=;#in/Ana; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;;M 5esMDele/acion 5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM 5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=; 0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray; readonly=;1;M

Manual de Código 121

Sistema workflow en empresa bajo software libre.

5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM 5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM 5option name=;-$7T$D8;M-actado5/optionM 5/esM 5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM 5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5DC'DC' type=;sAbtitle; enable2tml=;0;M 5es/M 5/DC'DC'M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM 5empleado-Aesto type=;dropdoDn; reqAired=;0; readonly=;1; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option

Manual de Código 122

3.Código de los procesos y tareas.

name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra 7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM 5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5SCS type=;title; enable2tml=;0;M 5esMD87+&(#T8S D( (#T*$D$5/esM 5/SCSM 5docAmentoD#, type=;1ile; reqAired=;0; 2intsHmessa/e=;)ocalice e inserte el docAmento con la 1otocopia de D#,;M 5esMCotocopia de D.#.,.:5/esM 5/docAmentoD#,M 5docAmentoSS type=;1ile; reqAired=;0; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la 1otocopia de SS;M 5esMCotocopia de la Se/Aridad Social5/esM

Manual de Código 123

Sistema workflow en empresa bajo software libre.

5/docAmentoSSM 5docAmento77 type=;1ile; reqAired=;0; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la primera 2oLa de la 7artilla cAenta corriente:;M 5esM5N[7D$T$[Cotocopia 1i 2oLa de la 7artilla 7Aenta 7orriente:]]M5/esM 5/docAmento77M 5docAmento,#(& type=;1ile; reqAired=;0; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la 1otocopia de la tarLeta ,#(&;M 5esMCotocopia ,#(&:5/esM 5/docAmento,#(&M 5docAmento7arnet7ondAcir type=;1ile; reqAired=;0; 2intsHmessa/e=;)ocalice e inserte el docAmento qAe contiene la 1otocopia del carnet de condAcir;M 5esM7arnet 7ondAcir5/esM 5/docAmento7arnet7ondAcirM 5Hsd1s1er type=;title; enable2tml=;0;M 5esM&8T,%8 -8* () >+( **]] #8 ]$ %(*,C,7$D8 (ST$ S8),7,T+D: 5/esM 5/Hsd1s1erM 5Hsd1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5/Hsd1M 5motivo#o*r22 type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;0; 2intsHmessa/e=;&otivo por el qAe no se acepta.; siUe=;R0; mode=;edit;M 5esM&otivo5/esM 5/motivo#o*r22M 5$S8$] type=;title; enable2tml=;0;M 5esM5N[7D$T$[d D(S($ (#%,$* )$ S8),7,T+D D( #+(%8 6]]M5/esM 5/$S8$]M 5yesnoDene/ada type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;0;M#o5/optionM 5option name=;1;MSi5/optionM 5/esM 5/yesnoDene/adaM 5Hsd1ds1/d1 type=;sAbmit;M 5esMSi/Aiente5/esM 5/Hsd1ds1/d1M 5/dynaCormM

Manual de Código 124

3.Código de los procesos y tareas.
8.rr11.todaInformacion &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/!1 K 44 R!bd4Rdb4!aK 1!000RJ XRK; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*.]]M5/esM 5/HtitAloM 5H%'C type=;title; enable2tml=;1;M 5esM7omprAebe los datos y los D87+&(#T8S $D^+#T$D8S para aceptar o rec2aUar el alta5/esM 5/H%'CM 5Hd1/ds type=;sAbtitle; enable2tml=;0;M 5esM-Aede ver los docAmentos sAbidos en el menA ,#C8*&$7,8#I seccion D87+&(#T8S S+E,D8S5/esM 5/Hd1/dsM 51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM 5Le1einmediato#ombre type=;teGt; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM 5/Le1einmediato#ombreM 5dele/ado#ombre type=;teGt; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;; options=;$rray; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esMDele/ado 5option name=;;/M 5/esM 5/dele/ado#ombreM 5Ht type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM D$T8S -(*S8#$)(S5/esM 5esM D$T8S -(*S8#$)(S5/esM 5/Ht M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;R0; mode=;vieD; masT=;;

Manual de Código 125

Sistema workflow en empresa bajo software libre.

dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre completo5/esM 5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5Ht1 type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMD$T8S 78#T*$7T+$)(S5/esM 5/Ht1M 5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option

Manual de Código 126

3.Código de los procesos y tareas.

name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM 5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;teGt; reqAired=;0; readonly=;1; de1aAltvalAe=;; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;! 41 X40 !cX!bdX1Jb0b J0140X014 ; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;1K; 1ormAla=;; 1Anction=;;M 5esMDele/acion 5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM 5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=; 0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray; readonly=;1;M 5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM

Manual de Código 127

Sistema workflow en empresa bajo software libre.

5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM 5option name=;-$7T$D8;M-actado5/optionM 5/esM 5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM 5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5Hsd1 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5esM&otivo por el qAe no se acepta:5/esM 5/Hsd1M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM 5empleado-Aesto type=;teGt; reqAired=;0; readonly=;1; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option

Manual de Código 128

3.Código de los procesos y tareas.

name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra 7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM 5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5Hsd1s1er type=;title; enable2tml=;0;M 5esM5N[7D$T$[d%(*,C,7$ (ST$ S8),7,T+D D( $)T$ D( (&-)($D86]]M5/esM 5/Hsd1s1erM 5yesno*r22 type=;radio/roAp; reqAired=;1; de1aAltvalAe=;#o; mode=;edit; options=;$rray;M 5esM 5option name=;0;M#o5/optionM 5option name=;1;MSi5/optionM 5/esM 5/yesno*r22M

Manual de Código 129

Sistema workflow en empresa bajo software libre.

5motivo#o*r22 type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;0; 2intsHmessa/e=;&otivo por el qAe no se acepta.; siUe=;R0; mode=;edit;M 5esM&otivo5/esM 5/motivo#o*r22M 5laslalas type=;sAbmit;M 5esMSi/Aiente5/esM 5/laslalasM 5/dynaCormM

;operaciones &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/!JK!!J0JR!bdJRKa00J40d00KK!4 0!X; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*.]]M5/esM 5/HtitAloM 5H%'C type=;title; enable2tml=;1;M 5esM7omprAebe los datos y los D87+&(#T8S $D^+#T$D8S.5/esM 5/H%'CM 5Hd1/ds type=;sAbtitle; enable2tml=;0;M 5esM-Aede ver los docAmentos sAbidos en el menA ,#C8*&$7,8#I seccion D87+&(#T8S S+E,D8S5/esM 5/Hd1/dsM 5Le1einmediato#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM 5/Le1einmediato#ombreM 5dele/ado#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+))

Manual de Código 130

3.Código de los procesos y tareas.

order E3 #ombre 5esMDele/ado 5option name=;;/M 5/esM 5/dele/ado#ombreM 51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM 5HtitAlo1 type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMD$T8S -(*S8#$)(S5/esM 5/HtitAlo1M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;R0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre completo5/esM 5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5BSB*C'---- type=;title; enable2tml=;0;M

Manual de Código 131

Sistema workflow en empresa bajo software libre.

5esMD$T8S 78#T*$7T+$)(S5/esM 5/BSB*C'----M 5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM 5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;1; de1aAltvalAe=;#in/Ana; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;;M 5esMDele/acion 5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM

Manual de Código 132

3.Código de los procesos y tareas.

5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=; 0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray; readonly=;1;M 5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM 5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM 5option name=;-$7T$D8;M-actado5/optionM 5/esM 5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM 5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5Hsd1 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5esM&otivo por el qAe no se acepta:5/esM 5/Hsd1M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM

Manual de Código 133

Sistema workflow en empresa bajo software libre.

5empleado-Aesto type=;dropdoDn; reqAired=;0; readonly=;1; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra 7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM 5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M

Manual de Código 134

3.Código de los procesos y tareas.

5esM8bservaciones:5/esM 5/empleado8bservacionesM 5laslalas type=;sAbmit;M 5esMSi/Aiente5/esM 5/laslalasM 5/dynaCormM

!calidad<pre4encion &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/RX!0R10R1!bdJRKb00!00XX0JXR1X !; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*.]]M5/esM 5/HtitAloM 5H%'C type=;title; enable2tml=;1;M 5esM7omprAebe los datos y los D87+&(#T8S $D^+#T$D8S5/esM 5/H%'CM 5Hd1/ds type=;sAbtitle; enable2tml=;0;M 5esM-Aede ver los docAmentos sAbidos en el menA ,#C8*&$7,8#I seccion D87+&(#T8S S+E,D8S5/esM 5/Hd1/dsM 5Le1einmediato#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM 5/Le1einmediato#ombreM 5dele/ado#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esMDele/ado 5option name=;;/M 5/esM 5/dele/ado#ombreM

Manual de Código 135

Sistema workflow en empresa bajo software libre.

51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM 5HtKR! type=;title; enable2tml=;0;M 5esM D$T8S -(*S8#$)(S5/esM 5/HtKR! M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;R0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre completo5/esM 5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5HKKKKKKK type=;title; enable2tml=;0;M 5esMD$T8S 78#T*$7T+$)(S5/esM 5/HKKKKKKKM

Manual de Código 136

3.Código de los procesos y tareas.

5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM 5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;1; de1aAltvalAe=;#in/Ana; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;;M 5esMDele/acion 5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM 5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=; 0; mode=;edit; masT=;; strto=;;

Manual de Código 137

Sistema workflow en empresa bajo software libre.

dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray; readonly=;1;M 5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM 5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM 5option name=;-$7T$D8;M-actado5/optionM 5/esM 5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM 5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5Hsd1 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5esM&otivo por el qAe no se acepta:5/esM 5/Hsd1M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM

Manual de Código 138

3.Código de los procesos y tareas.

5empleado-Aesto type=;dropdoDn; reqAired=;0; readonly=;1; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra 7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM 5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;;

Manual de Código 139

Sistema workflow en empresa bajo software libre.

dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5HiTsdTLn type=;title; enable2tml=;0;M 5esM*(78#87,&,(#T8 &(D,785/esM 5/HiTsdTLnM 51ec2a*econocimiento type=;date; be1oredate=;0m; a1terdate=;1y; masT=;d-m-3; reqAired=;0; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit;M 5esMCec2a *econocimiento &edico:5/esM 5/1ec2a*econocimientoM 5ds1/s type=;sAbtitle; enable2tml=;0;M 5esM%aloracion *econocimiento &edico5/esM 5/ds1/sM 5yesno*econocimiento type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;1;M$pto5/optionM 5option name=;0;M#o $pto5/optionM 5/esM 5/yesno*econocimientoM 512/d1/ type=;title; enable2tml=;0;M 5esM]8&8)8'$7,8# S('+# 7),(#T(:5/esM 5/12/d1/M 5Hsd1d1/ type=;sAbtitle; enable2tml=;0;M 5esM8bserve el cliente para el qAe va a trabaLar en la seccion D$T8S 78#T*$7T+$)(S5/esM 5/Hsd1d1/M 5yesno]omolo/acion7liente type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM]omola/acion 5option name=;1;M]omolo/ado con cliente5/optionM 5option name=;0;M#o 2omolo/ado con el cliente5/optionM 5/esM 5/yesno]omolo/acion7lienteM 5laslalas type=;sAbmit;M 5esMSi/Aiente5/esM 5/laslalasM 5/dynaCormM

Manual de Código 140

3.Código de los procesos y tareas.
Aalmacen &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/JJ!0RX0R4!bdJRKba b00 K0J10JJK1K; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*.]]M5/esM 5/HtitAloM 5H%'C type=;title; enable2tml=;1;M 5esM7omprAebe los datos y los D87+&(#T8S $D^+#T$D8S.5/esM 5/H%'CM 5Hd1/ds type=;sAbtitle; enable2tml=;0;M 5esM-Aede ver los docAmentos sAbidos en el menA ,#C8*&$7,8#I seccion D87+&(#T8S S+E,D8S5/esM 5/Hd1/dsM 5Le1einmediato#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM 5/Le1einmediato#ombreM 5dele/ado#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esMDele/ado 5option name=;;/M 5/esM 5/dele/ado#ombreM 51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM 5HtitAlo1!! type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMD$T8S -(*S8#$)(S5/esM 5/HtitAlo1!!M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;R0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre completo5/esM

Manual de Código 141

Sistema workflow en empresa bajo software libre.

5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N[7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5'^C']C'] type=;title; enable2tml=;0;M 5esMD$T8S 78#T*$7T+$)(S5/esM 5/'^C']C']M 5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM

Manual de Código 142

3.Código de los procesos y tareas.

5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;1; de1aAltvalAe=;#in/Ana; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;;M 5esMDele/acion 5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM 5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=; 0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray; readonly=;1;M 5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM 5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM 5option name=;-$7T$D8;M-actado5/optionM 5/esM

Manual de Código 143

Sistema workflow en empresa bajo software libre.

5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM 5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5Hsd1 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5esM&otivo por el qAe no se acepta:5/esM 5/Hsd1M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM 5empleado-Aesto type=;dropdoDn; reqAired=;0; readonly=;1; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra 7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option

Manual de Código 144

3.Código de los procesos y tareas.

name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM 5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5Hd/1/ type=;title; enable2tml=;0;M 5esM(#T*('$* (.-.,. 5/esM 5/Hd/1/M 5Hd1/dds1a type=;sAbtitle; enable2tml=;0;M 5esM5N[7D$T$[d]a sido entre/ado el (.-.,.6]]M5/esM 5/Hd1/dds1aM 5H type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;1;MSi5/optionM 5option name=;0;M#o5/optionM 5/esM 5/HM 5Hsdsd1 type=;sAbtitle; enable2tml=;0;M

Manual de Código 145

Sistema workflow en empresa bajo software libre.

5esM$dLAnte el docAmento qAe contiene la 1otocopia de la entre/a del (.-.,.5/esM 5/Hsdsd1M 5docAmento(-, type=;1ile; reqAired=;1; 2intsHmessa/e=;$dLAnte el docAmento escaneado qAe contiene la 1otocopia de la entre/a del (.-.,.;M 5esM(.-.,.5/esM 5/docAmento(-,M 5laslalas type=;sAbmit;M 5esMSi/Aiente5/esM 5/laslalasM 5/dynaCormM

2@+ecepcion &=di,o:

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;0XKRJJKJ!!bd4 0J1a ecX!0001014 X/JRX0JJJK4!bdJRcbKe1J4K40!R1R KJR; Didt2=;K00; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5HtitAlo type=;title; enable2tml=;1;M 5esM5N[7D$T$[S8),7,T+D D( ,#78*-8*$7,b# D( #+(%8 T*$E$^$D8*.]]M5/esM 5/HtitAloM

5H%'C type=;title; enable2tml=;1;M 5esM7omprAebe los datos y los D87+&(#T8S $D^+#T$D8S5/esM 5/H%'CM 5Hd1/ds type=;sAbtitle; enable2tml=;0;M 5esM-Aede ver los docAmentos sAbidos en el menA ,#C8*&$7,8#I seccion D87+&(#T8S S+E,D8S5/esM 5/Hd1/dsM 5Le1einmediato#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esM^e1e ,nmediato: 5option name=;;/M5/esM

Manual de Código 146

3.Código de los procesos y tareas.

5/Le1einmediato#ombreM 5dele/ado#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;1J04 04R0!bd4 1!00d0 0X001X40K R; options=;$rray;Mselect #ombreI#ombre 1rom mysql.+sAarios(mpresas D2ere Le1einmediato liTe dele/ado or Le1einmediato ,S #+)) or dele/ado ,S #+)) order E3 #ombre 5esMDele/ado 5option name=;;/M 5/esM 5/dele/ado#ombreM 51ec2a(1ectiva$lta type=;date; be1oredate=;0m; a1terdate=;1y; masT=;d-m3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva del $lta:5/esM 5/1ec2a(1ectiva$ltaM

5HtitAlo1 type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esMD$T8S 78#T*$7T+$)(S5/esM 5/HtitAlo1M 5Ht type=;title; enable2tml=;1;M 5esM D$T8S -(*S8#$)(S5/esM 5esMD$T8S 78#T*$7T+$)(S5/esM 5/Ht M 5empleado#ombre type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;1; siUe=;R0; mode=;vieD; masT=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM#ombre completo5/esM 5/empleado#ombreM 5empleadoDni type=;teGt; maGlen/t2=; 0; validate=;$ny; reqAired=;1; readonly=;1; siUe=;1K; mode=;vieD;M 5esMD.#.,. :5/esM 5/empleadoDniM 5empleado$1iliacion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM5N [7D$T$[#º$1iliacion]]M5/esM 5/empleado$1iliacionM 5empleado-ermiso7ondAcir type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M 5esM-ermiso 7ondAcir5/esM 5/empleado-ermiso7ondAcirM 5empleado7AentaEancaria type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit;M

Manual de Código 147

Sistema workflow en empresa bajo software libre.

5esM7Aenta Eancaria5/esM 5/empleado7AentaEancariaM 5empleadoTele1onoCiLo type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono CiLo:5/esM 5/empleadoTele1onoCiLoM 5empleadoTele1ono&ovil type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit;M 5esMTele1ono &ovil:5/esM 5/empleadoTele1ono&ovilM 5empleadoDireccion type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esMDireccion:5/esM 5/empleadoDireccionM 5empleado#ivel(stAdios type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit;M 5esM#ivel (stAdios:5/esM 5/empleado#ivel(stAdiosM 5Ht1 type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5es/M 5/Ht1M 5Ht type=;title; enable2tml=;1;M 5/Ht M 5tirATi(mpresa type=;title; enable2tml=;0; reqAired=;0; readonly=;0; savelabel=;0;M 5esM(&-*(S$:5/esM 5/tirATi(mpresaM 5empresa type=;radio/roAp; reqAired=;1; 2intsHmessa/e=;(mpresa para la qAe se contrata.; mode=;edit; options=;$rray; de1aAltvalAe=;; sqlconnection=;; readonly=;0; savelabel=;0;M 5esM(mpresa: ? -ara la qAe se contrata@5option name=;*(D(S;M&a/tel *edes de TelecomAnicacionesI S.$.5/optionM5option name=;S,ST(&$S;M&a/tel SistenasI S.$.5/optionM5option name=;(#(*',$S;M&a/tel *enovablesI S.).5/optionM5option name=;,#D+ST*,$);M&a/tel ,ndAstrialI S.)5/optionM5option name=;$'+$S;M&a/tel $/AasI S.)5/optionM5option name=;,D,;M&a/tel ,D,I S.)5/optionM5option name=;(3S(*T();M(ysertelI S.).5/optionM5/esM 5/empresaM 5H1sdaa type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esMD()('$7,8#. *ellenar solo en caso de qAe la empresa sea &a/tel *(D(S5/esM 5/H1sdaaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;1; de1aAltvalAe=;#in/Ana; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;;M 5esMDele/acion

Manual de Código 148

3.Código de los procesos y tareas.

5option name=;7ordoba;M7ordoba5/optionM5option name=;Cormacion;MCormacion5/optionM5option name=;&adrid;M&adrid5/optionM5option name=;&ala/a;M&ala/a5/optionM5option name=;)inares;M)inares5/optionM5option name=;Sevilla;MSevilla5/optionM5option name=;]Aelva;M]Aelva5/optionM5option name=;#in/Ana;M#in/Ana5/optionM5/esM 5/dele/acionM 5empleado)A/arTrabaLo type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM)A/ar de TrabaLo:5/esM 5/empleado)A/arTrabaLoM 5Hd1/bd1 type=;title; enable2tml=;0;M 5esM 5/esM 5/Hd1/bd1M 5Hd1/d type=;title; enable2tml=;0;M 5es/M 5/Hd1/dM 5empleado7ate/oria-ro1esional type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM7ate/oria -ro1esional:5/esM 5/empleado7ate/oria-ro1esionalM 5empleado^ornada type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM^ornada 5option name=;-$*7,$);M-arcial5/optionM 5option name=;78&-)(T$;M7ompleta5/optionM 5/esM 5/empleado^ornadaM 5empleado]orario^ornada type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=; 0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar el 2orario de la Lornada; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM]orario: 5/esM 5/empleado]orario^ornadaM 51/n1/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/1/n1/2M 5empleadoSAeldo type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray; readonly=;1;M 5esMSAeldo: 5option name=;-8*]8*$;M-or 2ora5/optionM 5option name=;78#%(#,8;M7onvenio5/optionM 5option name=;-8*-+#T8S;M-or -Antos5/optionM 5option name=;-$7T$D8;M-actado5/optionM 5/esM 5/empleadoSAeldoM 5empleadoSAeldo-actado type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ndicar en caso de sAeldo -actado: ; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM-actado: 5/esM 5/empleadoSAeldo-actadoM

Manual de Código 149

Sistema workflow en empresa bajo software libre.

5H1/n/2 type=;sAbtitle; enable2tml=;0;M 5es/M 5/H1/n/2M 5empleadoTipo7ontrato type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esMTipo 7ontrato 5option name=;-or 8bra y servicio;M-or 8bra y servicio5/optionM 5option name=;,nde1inido;M,nde1inido5/optionM 5option name=;Cormacion;MCormacion5/optionM 5option name=;-racticas;M-racticas5/optionM 5option name=;De dAracion;MDe dAracion5/optionM 5/esM 5/empleadoTipo7ontratoM 5empleadoTipo7ontratoDAracion type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;00; mode=;edit;M 5esM? De DAracion:5/esM 5/empleadoTipo7ontratoDAracionM 5Hsd1 type=;sAbtitle; enable2tml=;0;M 5esM 5/esM 5esM&otivo por el qAe no se acepta:5/esM 5/Hsd1M 5empleado7oste type=;radio/roAp; reqAired=;0; mode=;edit; options=;$rray;M 5esM7oste: 5option name=;D,*(7T8;MDirecto5/optionM 5option name=;,#D,*(7T8;M,ndirecto5/optionM 5/esM 5/empleado7osteM 5Tlsnd type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;0; savelabel=;0;M 5esM-+(ST8 de TrabaLo (**)) ?Dpto. D*)@5/esM 5/TlsndM 5empleado-Aesto type=;dropdoDn; reqAired=;0; readonly=;1; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;;M 5esM-Aesto:5option name=;$lmacen/7arretillero;M$lmacen/7arretillero5/optionM5option name=;]errero/Soldador;M]errero/Soldador5/optionM5option name=;$dministrativo/Tecnico;M$dministrativo/Tecnico5/optionM5option name=;,nstalador electrico;M,nstalador electrico5/optionM5option name=;^e1e de -royecto;M^e1e de -royecto5/optionM5option name=;(lectricista?TeT@;M(lectricista?TeT@5/optionM5option name=;7ondActor &aq. &iGta;M7ondActor &aq. &iGta5/optionM5option name=;,nstalador Tel. &ovil;M,nstalador Tel. &ovil5/optionM5option name=;7amionero;M7amionero5/optionM5option name=;Contanero;MContanero5/optionM5option name=;8bra 7ivil;M8bra 7ivil5/optionM5option name=;&to. -lanta Solar/ Cotovoltaica;M&to. -lanta Solar/ Cotovoltaica5/optionM5option name=;&ecanico;M&ecanico5/optionM5option name=;Cerroviario;MCerroviario5/optionM5option name=;8tro;M8tro5/optionM5/esM 5/empleado-AestoM

Manual de Código 150

3.Código de los procesos y tareas.

5empleado-Aesto8tro type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;00; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;,ntrodAUca el pAesto de trabaLo &anAalmenteI en el caso en qAe 2aya seleccionado 8tro en el menA anterior; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8tro: 5/esM 5/empleado-Aesto8troM 5H1/2d1 type=;sAbtitle; enable2tml=;0; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8E*$ / $7T,%,D$D para la qAe se contrata: 5/esM 5/H1/2d1M 5empleado8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bra: 5/esM 5/empleado8braM 5H/2/ type=;sAbtitle; enable2tml=;0;M 5esM7),(#T( para el qAe va a trabaLar5/esM 5/H/2/M 5empleado7liente type=;teGt; maGlen/t2=;100; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM7liente:5/esM 5esM7liente:5/esM 5/empleado7lienteM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5HiTsdTLn type=;title; enable2tml=;0;M 5esM*(78#87,&,(#T8 &(D,785/esM 5/HiTsdTLnM 51ec2a*econocimiento type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;0; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit;M 5esMCec2a *econocimiento &edico:5/esM 5/1ec2a*econocimientoM 5ds1/s type=;sAbtitle; enable2tml=;0;M 5esM%aloracion *econocimiento &edico5/esM 5/ds1/sM 5yesno*econocimiento type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;1;M$pto5/optionM 5option name=;0;M#o $pto5/optionM 5/esM 5/yesno*econocimientoM

Manual de Código 151

Sistema workflow en empresa bajo software libre.

512/d1/ type=;title; enable2tml=;0;M 5esM]8&8)8'$7,8# S('+# 7),(#T(:5/esM 5/12/d1/M 5yesno]omolo/acion7liente type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM]omola/acion 5option name=;1;M]omolo/ado con cliente5/optionM 5option name=;0;M#o 2omolo/ado con el cliente5/optionM 5/esM 5/yesno]omolo/acion7lienteM 5Hd/1/ type=;title; enable2tml=;0;M 5esM(#T*('$* (.-.,. 5/esM 5/Hd/1/M 5Hd1/dds1a type=;sAbtitle; enable2tml=;0;M 5esM5N[7D$T$[d]a sido entre/ado el (.-.,.6]]M5/esM 5/Hd1/dds1aM 5H type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;1;MSi5/optionM 5option name=;0;M#o5/optionM 5/esM 5/HM 5Hsdsd1 type=;title; enable2tml=;0;M 5esM5N[7D$T$[-Aede ver el docAmento de la entre/a del (.-.,. en la pesta_a ,#C8*&$7,8#-MDocAmentos SAbidos]]M5/esM 5/Hsdsd1M

5Hd1/d1/2 type=;sAbmit;M 5esM*ecibido5/esM 5/Hd1/d1/2M 5/dynaCormM

– •

T+IGG3+,% empleado#uesto)inal &=di,o:

i1 ? PPempleado-Aesto == F8troF@ PPempleado-AestoSeleccionado = PPempleado-Aesto8tro= else PPempleado-AestoSeleccionado = PPempleado-Aesto=

Manual de Código 152

3.Código de los procesos y tareas.

obtener7ogo&'ombre3mpresa &=di,o:

"$2ora se/An la empresa doy An lo/o determinado :empresa = PPempresa= i1? :empresa == FS,ST(&$SF@ Y PPlo/o = F2ttp://10.0.0.J /ima/es/lo/oHma/tel/lo/osistemas.pn/F= PPempresa#ombre7ompleto=F&a/tel SistenasI S.$.F=Z elsei1? :empresa == F*(D(SF@ Y PPlo/o = F2ttp://10.0.0.J /ima/es/lo/oHma/tel/lo/oredes.pn/F= PPempresa#ombre7ompleto= F&a/tel *edes de TelecomAnicacionesI S.$.F=Z elsei1? :empresa == F(#(*',$SF@ Y PPlo/o = F2ttp://10.0.0.J /ima/es/lo/oHma/tel/lo/orenovables.pn/F= PPempresa#ombre7ompleto= F&a/tel *enovablesI S.).F=Z elsei1? :empresa == F$'+$SF@ Y PPlo/o = F2ttp://10.0.0.J /ima/es/lo/oHma/tel/lo/oa/Aas.pn/F= PPempresa#ombre7ompleto= F&a/tel $/AasI S.)F=Z elsei1? :empresa == F,D,F@ Y PPlo/o = F2ttp://10.0.0.J /ima/es/lo/oHma/tel/lo/oidi.pn/F= PPempresa#ombre7ompleto= F&a/tel ,D,I S.)F=Z elsei1? :empresa == F,#D+ST*,$)F@ Y PPlo/o = F2ttp://10.0.0.J /ima/es/lo/oHma/tel/lo/oindAstrial.pn/F= PPempresa#ombre7ompleto= F&a/tel ,ndAstrialI S.)F=Z elsei1? :empresa == F(3S(*T()F@ Y PPlo/o = F2ttp://10.0.0.J /ima/es/lo/oHma/tel/lo/oeysertel.pn/F= PPempresa#ombre7ompleto= F(ysertelI S.).F=Z

obtener,olicitante &=di,o:

PPsolicitante,D = PP+S(*H)8''(D= PPsolicitante#ombrecorto = PP+S*H+S(*#$&(=

Manual de Código 153

Sistema workflow en empresa bajo software libre.

– •

"*C6M3'T*, "3 ,(7I"(% alta3mpleado &=di,o:

S8),7,T+D ,#78*-8*$7,8# D( #+(%8 T*$E$^$D8* ^(C( ,#&(D,$T8: P"Le1einmediato#ombre D()('$D8 >+( $+T8*,`$ () $)T$: P"dele/ado#ombre C(7]$ (C(7T,%$ D() $)T$: P"1ec2a(1ectiva$lta D$T8S -(*S8#$)(S D() T*$E$^$D8* #8&E*( 3 $-()),D8S: P"empleado#ombre D.#.,.: P"empleadoDni #º $C,),$7,8#: P"empleado$1iliacion -(*&,S8 78#D+7,*: P"empleado-ermiso7ondAcir #º 7+(#T$ E$#7$*,$: P"empleado7AentaEancaria T()C. C,^8: P"empleadoTele1onoCiLo T()C. &8%,): P"empleadoTele1ono&ovil D,*(77,8#: P"empleadoDireccion #,%() D( (ST+D,8S: P"empleado#ivel(stAdios D$T8S 78#T*$7T+$)(S (&-*(S$ ?para la qAe se contrata@: P"empresa#ombre7ompleto D()('$7,8# ?Solo para &a/tel *edes@: P"dele/acion )+'$* D( T*$E$^8: P"empleado)A/arTrabaLo 7$T('8*,$ -*8C(S,8#$): P"empleado7ate/oria-ro1esional ^8*#$D$: P"empleado^ornada ]orario ^ornada: P"empleado]orario^ornada S+()D8: P"empleadoSAeldo

Manual de Código 154

3.Código de los procesos y tareas.

-actado: P"empleadoSAeldo-actado T,-8 D( 78#T*$T8: P"empleadoTipo7ontrato DAracion: P"empleadoTipo7ontratoDAracion 78ST(:P"empleado7oste -+(ST8 D( T*$E$^8 (**)) ?Dpto. D*)@P: "empleado-AestoSeleccionado 8E*$ / $7T,%,D$D para la qAe se contrata: P"empleado8bra 7),(#T( para el qAe va a trabaLar : P"empleado7liente 8ES(*%$7,8#(S: P"empleado8bservaciones #in/jn trabaLador podr\ comenUar a trabaLar 2asta qAe **.]] lo aAtoriceI de no 2acerse ase qAedar\ baLo responsabilidad de la persona qAe solicita el alta cAalqAier incidencia qAe se derive de esta sitAacian. (n cAmplimiento de lo dispAesto en la )ey 8r/\nica 1K/1JJJ de -roteccian de Datos de 7ar\cter -ersonalI &$'T() *edes de TelecomAnicacionesI S.$. le in1orma qAe sAs datos personales obtenidos mediante cAmplimiento de este 1ormAlarioI van a ser incorporados para sA tratamiento a An 1ic2ero aAtomatiUado. $simismoI se le in1orma qAe la reco/ida y tratamiento de dic2os datos tienen como 1inalidad proceder al alta en sA relacian laboral con esta empresa. Si lo deseaI pAede eLercitar los derec2os de accesoI recti1icacianI cancelacian y oposicianI previstos por la )eyI diri/iendo An escrito al titAlar del 1ic2ero qAe contendr\ sAs Datos de 7ar\cter -ersonalI en este caso: &$'T() *edes de TelecomAnicacionesI S.$.- 7/ 'abriel *amos EeLarano no 11! - 1!.01! 7ardoba ?(spa_a@ k email: ma/telPma/tel.es - Tl1no: JKX ! J0 R0.

Manual de Código 155

Sistema workflow en empresa bajo software libre.

5#?#&IERRE !E OBRA#
• "iagrama de Cierre de *bra%

Figura 3.6. /ierre de 5bra.

– "&'()*+M,:
• cierre &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;K! 001XX4!cX04411RRa0 10 4JJ! 4!/ !J44 0JJ!cX044 a41RJ100R4K0K X ; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5$)T$D(8E$ type=;title; enable2tml=;0;M 5esM7,(**( D( 8E*$5/esM 5/$)T$D(8E$M 5titAlo8bra type=;teGt; maGlen/t2=; 00; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esMTitAlo 8bra:5/esM 5/titAlo8braM

Manual de Código 156

3.Código de los procesos y tareas.

5cliente type=;dropdoDn; reqAired=;1; readonly=;0; de1aAltvalAe=;; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; 2intsHmessa/e=;; sqlconnection=;R R00!000!cX04JKRbacJ0!0 4J10!0;Mselect nombreI nombre 1rom DorT1loDSistemas7lientes5esM7liente: 5option name=;0;M#+(%8 7),(#T(5/optionM5/esM 5/clienteM 5provincia type=;teGt; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; siUe=; K; 1ormAla=;; 1Anction=;; sqlconnection=;;M 5esM-rovincia/s: 5option name=;;/M 5/esM 5/provinciaM 5dele/acion type=;dropdoDn; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;R R00!000!cX04JKRbacJ0!0 4J10!0;Mselect nombreI nombre 1rom DorT1loDSistemasDele/acion5esMDele/acion: 5option name=;;/M5/esM 5/dele/acionM 5dele/ado type=;dropdoDn; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;R R00!000!cX04JKRbacJ0!0 4J10!0;Mselect nombreI nombre 1rom DorT1loDSistemasDele/ado5esMDele/ado: 5option name=;;/M5/esM 5/dele/adoM 5codi/oDepartamento type=;dropdoDn; reqAired=;0; readonly=;0; savelabel=;0; mode=;edit; options=;$rray; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; sqlconnection=;R R00!000!cX04JKRbacJ0!0 4J10!0;Mselect nombreI nombre 1rom DorT1loDSistemasDepartamento5esM7odi/o del Departamento: 5option name=;;M5/optionM5/esM 5/codi/oDepartamentoM 5persona$AtoriUada type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM-ersona $AtoriUada5/esM 5/persona$AtoriUadaM 51ec2a$pertAra type=;date; be1oredate=;0m; a1terdate=;1y; masT=;d-m-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;edit; startdate=;; enddate=;; dependent1ields=;; 2intsHmessa/e=;; de1aAltvalAe=;; savelabel=;0;M 5esMCec2a de $pertAra:5/esM 5/1ec2a$pertAraM 5responsable8bra type=;teGt; maGlen/t2=;100; validate=;$ny; strto=;+--(*; reqAired=;1; readonly=;0; siUe=;!0; mode=;edit;M 5esM*esponsable de 8bra:5/esM 5/responsable8braM 5H$S$ type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# ,#T(*#$ D( )$ 8E*$5/esM 5/H$S$M 5H type=;sAbtitle; enable2tml=;0;M 5esM#o necesita escribir el simbolo cI si es An 10c escriba solo 105/esM 5/HM

Manual de Código 157

Sistema workflow en empresa bajo software libre.

5Hssss type=;title; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; de1aAltvalAe=;,ndiqAe el c en los TrabaLos de...; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0; enable2tml=;0;M 5esM,ndiqAe el c en los trabaLos de...5/esM 5/HssssM 5clasi1icacion,nterna type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/001X10R00!c004K4!cdd10 00 R!!R XK; addroD=;0; deleteroD=;0; reqAired=;0; readonly=;0; savelabel=;0;/M 5Haaa type=;sAbtitle; enable2tml=;0;M 5esM7)$S,C,7$7,8# D( )$ 8E*$ &,#,ST(*,8 D( C8&(#T85/esM 5/HaaaM 5$SD$SD type=;sAbtitle; enable2tml=;0;M 5esM? (n CAncion de las ventas @5/esM 5/$SD$SDM 5clasi1icacion&inisterio type=;/rid; Gml/rid=;J!0 1!RR0!be 4K0acb4XdR0 0R 141/4RJJ1X1X !c004bRd !e1JJ04440KJ 04; addroD=;0; deleteroD=;0;/M 5nAmero8bra type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit;M 5esM#Amero de 8bra5/esM 5/nAmero8braM 5H$SD type=;title; enable2tml=;0;M 5esM5N[7D$T$[dD(S($ 7(**$* (ST$ 8E*$6]]M5/esM 5/H$SDM 53(S#8H7,(**( type=;radio/roAp; reqAired=;1; mode=;edit; options=;$rray;M 5esM 5option name=;0;M#o5/optionM 5option name=;1;MSi5/optionM 5/esM 5/3(S#8H7,(**(M 5observaciones type=;teGtarea; reqAired=;0; readonly=;0; roDs=; ; cols=;0 ; mode=;edit;M 5esM8bservaciones:5/esM 5/observacionesM 5Hasas type=;sAbmit;M 5esM7errar 8bra5/esM 5/HasasM 5/dynaCormM

Manual de Código 158

3.Código de los procesos y tareas.

5#9#BA A !E EMPLEA!O#
• "iagrama de -a2a de 3mpleado%

Figura 3.7. (ia0rama de %a6a de 8mpleado.

En la (i,uiente ta>la. detallare+o( co+o (e di4o anterior+ente la( re,la( de enruta+iento Due (ean nece(aria(. e(ta( (on cuando el enruta+iento no (e Kace de +anera (ecuencial y tiene al,3n tipo de condici=n. paraleli(+o. etc#

Manual de Código 159

Sistema workflow en empresa bajo software libre.

– "&'()*+M,:
• -a2a3mpleado &=di,o:
56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;K0XJ RJ11!cXde4bc eaX0100 00R 4!/1JKJ!41JJ!cXdeJb001bRX!0!J01!0!4; Didt2=;X00; enabletemplate=;0; mode=;edit; neGtstepsave=;;M 5HtitAlo type=;title; enable2tml=;1;M 5esMS8),7,T+D E$^$ D( +# T*$E$^$D8*.5/esM 5/HtitAloM 51ec2a(1ectivaEaLa type=;date; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;1; readonly=;0; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD;M 5esMCec2a (1ectiva de la baLa:5/esM 5/1ec2a(1ectivaEaLaM 5empleado#ombre type=;dropdoDn; reqAired=;1; readonly=;1; savelabel=;0; mode=;vieD; sqlconnection=;; options=;$rray; dependent1ields=;Le1e,nmediato#ombrecortoIdele/ado#ombrecortoIempresaIde partamentoIemail; de1aAltvalAe=;; 2intsHmessa/e=;; maGlen/t2=;R!; validate=;$ny; masT=;; strto=;; siUe=;!0; 1ormAla=;; 1Anction=;;Mselect +S*H)$ST#$&(I+S*H)$ST#$&( 1rom +S(*S5esM(mpleado: 5option name=;;/M5/esM 5/empleado#ombreM 5Le1e,nmediato#ombrecorto type=;2idden; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;Le1e,nmediato#ombre; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N[7D$T$[select Le1einmediatoILe1einmediato 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre; ]]M5esM^e1e ,nmediato #ombrecorto5/esM5/Le1e,nmediato#ombrecortoM 5Le1e,nmediato#ombre type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N[7D$T$[select #ombreI #ombre 1rom +sAarios(mpresas D2ere #ombrecorto = ;P"Le1e,nmediato#ombrecorto; ]]M5esM^e1e ,nmediato:5/esM5/Le1e,nmediato#ombreM 5dele/ado#ombrecorto type=;2idden; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;dele/ado#ombre; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N[7D$T$[select dele/adoIdele/ado 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre; ]]M5esMdele/ado #ombrecorto5/esM5/dele/ado#ombrecortoM 5dele/ado#ombre type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;;

Manual de Código 160

3.Código de los procesos y tareas.

de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N [7D$T$[select #ombreI #ombre 1rom +sAarios(mpresas D2ere #ombrecorto = ;P"dele/ado#ombrecorto; ]]M5esMDele/ado:5/esM5/dele/ado#ombreM 5empresa type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5N[7D$T$[ select empresaI empresa 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre;]]M5esM(mpresa:5/esM5/empresaM 5departamento type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5N[7D$T$[ select departamentoI departamento 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre; ]]M5esMDepartamento5/esM5/departamentoM 5email type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5N[7D$T$[ select (mailI (mail 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre;]]M5esM(-mail:5/esM5/emailM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5laslalas type=;sAbmit;M 5esMDar de E$^$ al empleado5/esM 5/laslalasM 5/dynaCormM

confirmacion(dministracion &=di,o:

Manual de Código 161

Sistema workflow en empresa bajo software libre.

56Gml version=;1.0; encodin/=;+TC-4;6M 5dynaCorm type=;Gml1orm; name=;K0XJ RJ11!cXde4bc eaX0100 00R 4!/410!014J0!cXd1J4XRK1dd000J0JJ1!!; Didt2=;K00; enabletemplate=;0; mode=;edit;M 5HtitAlo type=;title; enable2tml=;1;M 5esMS8),7,T+D E$^$ D( +# T*$E$^$D8*.5/esM 5/HtitAloM 51ec2a(1ectivaEaLa type=;teGt; be1oredate=;0m; a1terdate=;1y; masT=;dm-3; reqAired=;0; readonly=;1; s2oDtime=;0; de1aAltvalAeHsel=;empty; siUe=;1K; mode=;vieD; maGlen/t2=;R!; validate=;$ny; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esMCec2a (1ectiva de la baLa:5/esM 5/1ec2a(1ectivaEaLaM 5empleado#ombre type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; dependent1ields=;Le1e,nmediato#ombrecortoIdele/ado#ombrecortoIempresaIde partamentoIemail; siUe=;!0; mode=;edit;M 5esM#ombre del (mpleado5/esM 5/empleado#ombreM 5Le1e,nmediato#ombrecorto type=;2idden; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;Le1e,nmediato#ombre; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N[7D$T$[select Le1einmediatoILe1einmediato 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre; ]]M5esM^e1e ,nmediato #ombrecorto5/esM5/Le1e,nmediato#ombrecortoM 5Le1e,nmediato#ombre type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N[7D$T$[select #ombreI #ombre 1rom +sAarios(mpresas D2ere #ombrecorto = ;P"Le1e,nmediato#ombrecorto; ]]M5esM^e1e ,nmediato:5/esM5/Le1e,nmediato#ombreM 5dele/ado#ombrecorto type=;2idden; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;dele/ado#ombre; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N[7D$T$[select dele/adoIdele/ado 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre; ]]M5esMdele/ado #ombrecorto5/esM5/dele/ado#ombrecortoM 5dele/ado#ombre type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; savelabel=;0;M5N [7D$T$[select #ombreI #ombre 1rom +sAarios(mpresas D2ere #ombrecorto = ;P"dele/ado#ombrecorto; ]]M5esMDele/ado:5/esM5/dele/ado#ombreM 5empresa type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;0; siUe=;!0; mode=;edit; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5N[7D$T$[ select empresaI empresa 1rom +sAarios(mpresas

Manual de Código 162

3.Código de los procesos y tareas.

D2ere #ombre= ;P"empleado#ombre;]]M5esM(mpresa:5/esM5/empresaM 5departamento type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;1K; mode=;edit; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5N[7D$T$[ select departamentoI departamento 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre; ]]M5esMDepartamento5/esM5/departamentoM 5email type=;teGt; maGlen/t2=;R!; validate=;$ny; reqAired=;0; readonly=;1; siUe=;!0; mode=;edit; sqlconnection=;K!R1X4JX !cXdecKbc101e 0!X4JR 01; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; savelabel=;0;M5N[7D$T$[ select (mailI (mail 1rom +sAarios(mpresas D2ere #ombre= ;P"empleado#ombre;]]M5esM(-mail:5/esM5/emailM 5sAbtitATi type=;sAbtitle; enable2tml=;1; reqAired=;0; readonly=;1; savelabel=;0;M 5esM8ES(*%$7,8#(S5/esM 5/sAbtitATiM 5empleado8bservaciones type=;teGt; maGlen/t2=;K00; validate=;$ny; reqAired=;0; readonly=;1; siUe=;R0; mode=;edit; masT=;; strto=;; dependent1ields=;; de1aAltvalAe=;; 2intsHmessa/e=;; 1ormAla=;; 1Anction=;; sqlconnection=;; savelabel=;0;M 5esM8bservaciones:5/esM 5/empleado8bservacionesM 5Hasd type=;title; enable2tml=;0;M 5esM7on1irme la baLa del empleado solicitado.5/esM 5/HasdM 5yesnoHadministracion type=;radio/roAp; reqAired=;1; de1aAltvalAe=;0; mode=;edit; options=;$rray;M 5esM5N[7D$T$[dDar de baLa al empleado6 ]]M5option name=;0;M#o5/optionM5option name=;1;MSiI dar de baLa.5/optionM5/esM 5/yesnoHadministracionM 5laslalas type=;sAbmit;M 5esMSi/Aiente5/esM 5/laslalasM 5/dynaCormM

Manual de Código 163

Sistema workflow en empresa bajo software libre.

5#8#BORRAR &ASOS#
• "iagrama de -orrar Casos%

El (i,uiente dia,ra+a +ue(tra el flu4o de tra>a4o para el proce(o de petici=n de 2acacione(#

Figura 3.8. %orrar casos.

– •

T+IGG3+,% borrar casos &=di,o:

"$>+, D(C,#8 )$ EEDDI S8)8 $>+, PPdb = FR!XJJK4RK!baXR!X e Ja40141K04R!F= "(# T8D$S )$S %(7(S >+( )$ +T,),7(I ]$'8: :db = PPdb= :sql = ;T*+#7$T( O$--),7$T,8#O;= :resAlt = eGecAte>Aery?:sqlI :db@= :sql = ;T*+#7$T( O$--HD()$3O ;= :resAlt = eGecAte>Aery?:sqlI :db@= :sql = ;T*+#7$T( O$--HD()('$T,8#O;= :resAlt = eGecAte>Aery?:sqlI :db@=

Manual de Código 164

3.Código de los procesos y tareas.

:sql = ;T*+#7$T( O$--H&(SS$'(O;= :resAlt = eGecAte>Aery?:sqlI :db@= :sql = ;T*+#7$T( O$--HT]*($DO;= :resAlt = eGecAte>Aery?:sqlI :db@=

Manual de Código 165