61
DESARROLLO DE FORMULARIOS PROGRAMADOS COMO HERRAMIENTA INFORMÁTICA PARA EL ANÁLISIS DEL CUMPLIMIENTO NORMATIVO EN LAS INSPECCIONES A LAS EMPRESAS PRESTADORAS DEL SERVICIO PÚBLICO DE ASEO POR PARTE DE LA DIRECCIÓN TÉCNICA DE GESTIÓN DE ASEO DE LA SUPERINTENDENCIA DE SERVICIOS PÚBLICOS DOMICILIARIOS. JOHAN MANUEL BUITRAGO SEGURA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES INGENIERÍA SANITARIA BOGOTÁ D.C. 2018

DESARROLLO DE FORMULARIOS PROGRAMADOS ...repository.udistrital.edu.co/bitstream/11349/15547/4/Bu...La ventaja que tienen estas tablas sobre las normales, es que sirven para realizar

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

DESARROLLO DE FORMULARIOS PROGRAMADOS COMO HERRAMIENTA

INFORMÁTICA PARA EL ANÁLISIS DEL CUMPLIMIENTO NORMATIVO EN

LAS INSPECCIONES A LAS EMPRESAS PRESTADORAS DEL SERVICIO

PÚBLICO DE ASEO POR PARTE DE LA DIRECCIÓN TÉCNICA DE GESTIÓN

DE ASEO DE LA SUPERINTENDENCIA DE SERVICIOS PÚBLICOS

DOMICILIARIOS.

JOHAN MANUEL BUITRAGO SEGURA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES

INGENIERÍA SANITARIA

BOGOTÁ D.C.

2018

1

DESARROLLO DE FORMULARIOS PROGRAMADOS COMO HERRAMIENTA

INFORMATICA PARA EL ANÁLISIS DEL CUMPLIMIENTO NORMATIVO EN

LAS INSPECCIONES A LAS EMPRESAS PRESTADORAS DEL SERVICIO

PÚBLICO DE ASEO POR PARTE DE LA DIRECCIÓN TÉCNICA DE GESTIÓN

DE ASEO DE LA SUPERINTENDENCIA DE SERVICIOS PÚBLICOS

DOMICILIARIOS.

PROYECTO DE PASANTÍA

JOHAN MANUEL BUITRAGO SEGURA - 20131181003

DIRECTOR INTERNO

CAUDEX VITELIO PEÑARANDA OSORIO

DIRECTOR EXTERNO

MARIA EUGENIA BOTERO SIERRA

TRABAJO DE GRADO EN LA MODALIDAD PASANTÍA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

INGENIERÍA SANITARIA

BOGOTÁ D.C.

2018

2

CONTENIDO

INTRODUCCIÓN ............................................................................................................. 5

1. OBJETIVOS............................................................................................................... 7

1.1. Objetivo general .................................................................................................. 7

1.2. Objetivos específicos .......................................................................................... 7

2. REFERENCIA TÉCNICA ......................................................................................... 8

2.1. Proceso de elaboración informes de visita por la DTGA ................................... 8

2.2. Entorno de desarrollo utilizado en la creación del programa Trash_DTGA ...... 9

2.2.1. Excel .......................................................................................................... 10

2.2.2. Lenguaje de programación Basic (VB) ..................................................... 11

2.2.3. Access. ....................................................................................................... 15

3. RECOPILACIÓN, ANÁLISIS Y PROCESAMIENTO DE LA INFORMACIÓN 17

3.1. Funciones desarrolladas en la SSPD durante la práctica de pasantía y fuente de

información para la creación del programa Trash_DTGA. ......................................... 17

3.1.1. Plan de trabajo ........................................................................................... 17

3

3.1.2. Fuente de información para la creación de los formularios estandarizados

de verificación técnica .............................................................................................. 21

3.2. Creación del programa Trash_DTGA ............................................................... 22

3.2.1. Esquema funcionamiento .......................................................................... 23

3.2.2. Componente Access .................................................................................. 28

3.2.3. Componente Excel ..................................................................................... 31

3.3. Programación y codificación ............................................................................ 36

3.3.1. Diagramas de flujo y rutinas del programa ............................................... 38

3.3.2. Botón Generar tablas ................................................................................. 43

3.3.3. Botón Generar análisis............................................................................... 44

3.3.4. Botón “Tab/Asis” ...................................................................................... 44

3.3.5. Botón Borrar .............................................................................................. 44

3.3.6. Botón Actualizar ........................................................................................ 45

4. CONCLUCIONES Y RECOMENDACIONES ...................................................... 45

5. ANEXOS .................................................................................................................. 46

6. REFERENCIAS ....................................................................................................... 47

ANEXO: MANUAL MÉTODOLOGICO DE LA CREACIÓN DEL PROGRAMA…48

4

AGRADECIMIENTOS

Al equipo de la Dirección Técnica de Gestión de Aseo de la Superintendencia de Servicios

Públicos, amigos, compañeros y tutores.

A la Universidad Distrital Francis José de Caldas, profesores, compañeros y directivos, de

quienes aprendí los más grandes valores profesionales, el sentido crítico y la calidez

humana.

Al ingeniero y sabio profesor Caudex Vitelio Peñaranda quien motivo mis aspiraciones

intelectuales y profesionales.

A los amigos que me acompañaron a lo largo de mi formación profesional quienes estuvieron

allí, en las buenas y en las malas situaciones de mi la vida.

Por último, a mi padre Juan y a las tres mujeres que le dan sentido a mi vida: Rosalba,

Tatiana y Andrea.

5

INTRODUCCIÓN

La Superintendencia de Servicios Públicos Domiciliarios (SSPD), es el órgano

gubernamental encargado de la inspección y vigilancia del Servicio Público de Aseo, y

mediante la Dirección Técnica de Gestión de Aseo (DTGA) realiza el control de cobertura,

calidad y continuidad en la prestación de todos los componentes del servicio público de aseo

a las empresas prestadoras del servicio público de aseo (ESP) en todo el país, por medio de

mecanismos de verificación: Visitas e informes de inspección, Evaluaciones Integrales,

verificación de calidad de información cargado en el Sistema único de Información (SUI) y

notificaciones sobre denuncias ciudadanas y de entidades públicas y/o privadas.

Para llevar a cabo las visitas e informes de inspección hacia las ESP, la DTGA actualmente

recurre a la utilización de “listas de chequeo”, los cuales son documentos impresos no

estandarizados en los cuales los ingenieros encargados documentan los hallazgos

evidenciados en campo para un posterior análisis y construcción del informe respectivo sobre

los posibles incumplimientos en que estén incurriendo las empresas inspeccionadas respecto

con la norma vigente.

Dichas listas de chequeo actualmente no abordan todos los requerimientos de inspección,

retardan el proceso del análisis cualitativo y normativo, por cuanto su información es

insuficiente, solo existen para dos de los ocho componentes del servicio de aseo y se requiere

de tiempo para digitalizar y organizar la información documentada.

6

Si bien el uso de estas listas es una herramienta importante para la organización de la

información evaluada, actualmente es un instrumento ineficaz dada la importancia que

amerita su uso en el manejo de datos y su posterior análisis.

Por las razones anteriores, el autor del presente documento creó un programa computacional

llamado “Trash_DTGA”, escrito en lenguaje Visual Basic para agilizar la manera de

realización de los informes de visita emitidos por la DTGA. Este programa consta de dos

componentes: un archivo Access que recibe la información y la organiza automáticamente y

un archivo Excel que procesa la información y la imprime en tablas y graficas inteligentes.

Para la creación de este programa se tuvieron en cuenta las actividades realizadas durante los

cinco meses de pasantía, concernientes a la evaluación técnica en la operación del servicio

de aseo de las ESP, realizados por el autor través de los mecanismos de verificación técnica

expedidos a nombre de la SSPD.

El presente documento muestra lo realizado en durante los cinco meses de práctica de

pasantía y la creación del programa computacional para la DTGA.

7

1. OBJETIVOS

A continuación, se presentan los objetivos del siguiente trabajo:

1.1.Objetivo general

Desarrollar formularios digitales programados con función automática en tabular, organizar

y analizar presuntos incumplimientos normativos de las inspecciones realizadas a las

empresas prestadoras del servicio público de aseo en sus ocho componentes.

1.2.Objetivos específicos

• Desarrollar actividades de vigilancia aplicando la normativa vigente en la prestación

del aseo servicio sobre las empresas prestadoras.

• Crear formularios programados para el análisis de información documentada en

visitas de inspección.

• Suministrar información de análisis organizada de presuntos incumplimientos

normativos para la creación de informes de visita.

8

2. REFERENCIA TÉCNICA

En este capítulo se definen los conceptos tenidos en cuenta durante la práctica de pasantía

para realizar las actividades realizadas en la inspección, vigilancia y control de las empresas

prestadoras del servicio de aseo, las cuales motivaron la creación del programa

computacional Trash_DTGA, y se muestran los componentes técnicos de programación para

su creación en Visual Basic.

2.1.Proceso de elaboración informes de visita por la DTGA

La elaboración de informes técnicos se realiza para cada visita de inspección, de acuerdo con

la prestación del servicio de aseo de una empresa en un área de prestación. Durante el proceso

de visita se verifican visualmente los parámetros de operación conforme al Decreto 1077 de

2015, parámetros revisados a través de “listas de chequeo” físicas, que contiene información

técnica a verificar en campo. La información obtenida hace referencia a los ocho

componentes del servicio de aseo, lo cuales son:

• Recolección.

• Transporte.

• Barrido, limpieza de vías y áreas públicas.

• Corte de césped, poda de árboles en las vías y áreas públicas.

• Transferencia1.

• Tratamiento.

• Aprovechamiento.

1 La actividad de Transferencia no se tuvo en cuenta explícitamente en la creación del programa ya que los

parámetros de verificación son muy parecidos a los de la actividad de Transporte, y no amerita la creación de

un formulario propio para dicha actividad.

9

• Disposición final.

• Lavado de áreas públicas.

La definición y características técnicas de estos componentes se encuentran en los anexos

1 y 2 del presente documento.

Posteriormente, la información recolectada es organizada en “tablas de hallazgos” para la

creación del informe, luego se analizan y comparan los antecedentes de esa área de prestación

para realizar las respectivas conclusiones. El informe es finalizado cuando las dependencias

administrativa, financiera y comercial, añaden sus respectivos análisis.

A continuación, se presenta proceso de la elaboración de informes técnicos:

Figura 2.1. Procedimiento para elaboración de informes de visita. Fuente: autor

El informe final es radicado y enviado a la empresa prestadora para que dé respuesta a los

señalamientos realizados, en un tiempo señalado por la DTGA.

2.2.Entorno de desarrollo utilizado en la creación del programa Trash_DTGA

El programa consta de dos plataformas de desarrollo que se conectan entre si para ejecutar la

interfaz gráfica a manejar por le usuario, el primer componente se realiza en Access para

manejar la base de datos y el segundo componente corresponde a un control de preferencias

creado en Excel. Estos se explican a detalle en los siguientes títulos.

10

2.2.1. Excel

Microsoft Excel es un programa que se basa en la operación de datos en matrices de múltiples

parámetros y métodos que permite manipular en cualquier momento la información

suministrada por medio de una interfaz llamada hoja de cálculo, además de utilizar funciones

de cálculo, este software permite analizar datos de forma gráfica y hacer evaluaciones lógicas

por medio de funciones de decisión.

Excel utiliza el lenguaje de programación Visual Basic, desarrollado por Microsoft en 1991

que es catalogado como lenguaje de alto nivel por ser de fácil entendimiento para usuarios

inexpertos en programación, para usuarios de mayor destreza Excel ofrece la ejecución de

“macros”, procedimientos paso a paso que generan un código en lenguaje Basic el cual puede

ser modificado para realizar tareas automáticas en el entono de las hojas de cálculo.

Por otro lado, si bien Excel es ampliamente utilizado como software de almacenamiento de

datos, en si no lo es, es un simulador de bases de datos, ya que el acceso a la información es

limitado para usuarios simultáneos y el volumen de información que puede manejar es mucho

a menor en comparación con programas especializados como Access, MySQL, Oracle, etc.

Otra de las herramientas utilizadas son las gráficas dinámicas, estas son una herramienta de

Excel que permite la visualización de datos provenientes de una tabla en forma de una gráfica

de barras, que puede ser modificada de forma muy simple gracias a un cuadro auxiliar que

permite la filtración de datos específicos, los cuales automáticamente se verán reflejados en

la gráfica como se muestra en la figura 2.2.

11

Figura 2.2. Ilustración de la generación de análisis por gráficas dinámicas. Fuente: autor

La ventaja que tienen estas tablas sobre las normales, es que sirven para realizar múltiples

consultas sobre los datos que queramos conocer sin necesidad de crear nuevas gráficas. En

la parte derecha de la gráfica se observa un campo para manipular la gráfica dinámica de tal

forma que podemos “jugar” con su composición de forma muy sencilla.

2.2.2. Lenguaje de programación Basic (VB)

Basic es un lenguaje de programación interpretado (no requiere compilador) íntimamente

relacionado con la utilización de objetos, ya que principalmente se desarrolla en el entorno

de Excel e interfaces gráficas denominadas Formularios. Cada formulario tiene su propia

ventana de desarrollo y se programa a través de botones, controles y gráficos, como se puede

evidenciar en la figura 2.3

12

Figura 2.3. Entorno de desarrollo de Visual Basic. Fuente: autor

Este entorno de desarrollo consta de un área en la parte superior izquierda, para crear nuevos

elementos de un formulario, en la parte inferior izquierda se muestran las propiedades del

elemento seleccionado y en la parte derecha se encuentra el entorno visual del formulario y

su respectivo cuadro de herramientas en el que se encuentran las cajas de texto, botones,

imágenes, títulos, etc. a ser implementados.

En Visual Basic la programación de objetos se entiende como elementos que poseen

propiedades y métodos, estos últimos son palabras reservadas para realizar una acción

13

determinada. En este caso se entiende por objeto los elementos que componen el entorno de

Excel, los elementos de un formulario, y el mismo formulario, por ejemplo, una celda, es un

objeto que tiene propiedades (ancho, alto, color) y unos métodos (almacenar variables,

convertir el formato de variables, etc.); esto permite crear aplicaciones funcionales de manera

muy rápida y eficiente, puesto que además de utilizar los objetos de los formularios, se

utilizan los objetos del entrono Excel sin necesidad de ser creados desde cero.

Para modificar las propiedades de un objeto se debe llamar por medio de un punto (“.”) y

asignarle un el nuevo valor utilizando el operador igual (“=”). La sintaxis queda de la

siguiente forma:

Objeto.propiedad = valor o variable

O en caso contrario, para asignar una propiedad a una variable

variable = objeto.propiedad

De manera particular las palabras reservadas de visual Basic para ejecutar código de manera

condicional son: “IF“, ”FOR”, “WHILE” “DO”, ”SELECT CASE” y “FOR EACH”, las

cuales se utilizan en la ejecución del código (ANEXO 7).

Además de los “métodos”, los objetos poseen “eventos”, que se refieren a los

acontecimientos que le pueden suceder a un objeto. Por ejemplo, el evento en que una celda

es presionada con “Click” o, es enfocada o desenfocada por el teclado.

En el entorno de desarrollo de Visual Basic, estos eventos son ventanas predeterminadas para

insertar el código necesario.

Visual Basic ofrece cinco elementos para crear una aplicación, definidas a continuación:

14

Funciones: son fragmentos de código que ejecutan una acción por medio de parámetros cuyo

valor es asignado directa o indirectamente por un usuario. Se crea una función con la

siguiente sintaxis:

Function nombre (parámetros)

Procedimientos: Son fragmentos de código que ejecutan una acción específica y que puede

ser llamada por otro procedimiento. Se crea un procedimiento con la sintaxis

Sub nombre

Clases: son segmentos de código que definen las variables, las propiedades, los

procedimientos y los eventos de un objeto. Para crear un objeto debe existir su respectiva

clase, a esto se le llama instancia.

Módulos: son áreas de desarrollo que contienen funciones y procedimientos, estos sirven

para organizar el código y ejecutarlo de manera controlada.

Formularios: son objetos que actúan como interfaz visual para que el usuario interactúe con

una información por medio de controles y objetos gráficos. Los formularios tienen el nombre

de “UserForm” y se diseñan en el entorno de desarrollo “Visual Basic para aplicaciones” de

Excel.

De igual modo, el “cuadro de herramientas” del entorno de desarrollo de Visual Basic Figura

2.3. ofrece la posibilidad de insertar botones, cajas de texto e imágenes que se pueden

programar para que ejecuten una acción en específico. Estos son los botones utilizados en el

programa creado:

ComboBox: objeto que muestra o guarda una lista desplegable de elementos.

15

ListBox: objeto que guarda una lista de elementos.

CheckBox: objeto en forma de cuadro de chequeo para devolver un valor verdadero o falso.

Estos valores lógicos (verdadero / falso) se denominan boléanos, los cuales obtienen un valor

al ser o no seleccionados, el valor adquirido queda guardado en la base de datos de forma

numérica.

Cuadro seleccionado (SÍ) = VERDADERO = 0

Cuadro no seleccionado (NO) = FALSO = 1

CommandButton: objeto en forma de botón para ejecutar un fragmento de código.

ToggleButton: objeto en forma de botón de activación o desactivación que ejecuta un

fragmento de código.

La utilización de esto botones se pueden ver más adelante en la figura 3.10.

2.2.3. Access.

Access es un programa especializado para el almacenamiento de datos y de fácil uso para el

usuario ya que permite la introducción de datos a través del diseño de interfaces gráficas,

denominadas “Formularios”; en ese sentido Access permite crear aplicaciones para bases de

datos de forma sencilla, rápida y muy intuitiva en el diseño de los formularios.

16

Figura 2.4. Entorno de desarrollo de Access. Fuente: autor

De las virtudes de Access, se destacan su conectividad sencilla con otras bases de datos, es

programable en Visual Basic (maneja la misma caja de herramientas que Excel) es de fácil

manejo para usuarios inexpertos y es asequible por ser parte del paquete Office.

17

3. RECOPILACIÓN, ANÁLISIS Y PROCESAMIENTO DE LA

INFORMACIÓN

Este capítulo consta de cuatro partes; en la primera se menciona la información recopilada y

tenida en cuenta para la creación del programa computacional, durante las actividades

realzadas en la pasantía. En la segunda parte se explica la creación de los documentos Access

y Excel que componen el programa Tras_DTGA; por último, se muestra el funcionamiento

del programa y su codificación en Visual Basic.

3.1.Funciones desarrolladas en la SSPD durante la práctica de pasantía y fuente de

información para la creación del programa Trash_DTGA.

Las actividades realizadas durante los cinco meses de pasantía fueron correspondientes a las

funciones misionales de la SSPD (inspección, vigilancia y control) por medio de los

mecanismos técnicos (requerimientos técnicos, informes de visita, Evaluaciones Integrales,

visitas de inspección y verificación de calidad de información cargado en el Sistema Único

de Información (SUI)) atribuidos a la DTGA hacia las empresas del servicio público de aseo

de todo el país.

Dichas actividades se resumen en los siguientes cuadros:

3.1.1. Plan de trabajo

Las actividades realizadas durante la práctica de pasantía corresponden a cada objetivo

planteado en el presente documento, las cuales se plasmaron en la siguiente tabla.

Tabla 1. Plan de trabajo de práctica de pasantía

Plan de trabajo

Objetivo Actividades o tareas Mecanismo de

seguimiento

Fecha Inicial

de actividad

Fecha fin

actividad Mes

1

Mes

2

Mes

3

Mes

4

Mes

5

Desarrollar actividades de

vigilancia aplicando la

normativa vigente, en la

prestación del aseo servicio

sobre las empresas

prestadoras.

Proyectar requerimientos a las

ESP de:

- Hallazgos de visitas de

inspección por al DTGA y

elaboración de informes.

- Evaluaciones Integrales

(aspectos Técnico-operativos)

- Denuncias por vocales de

control y de entidades

públicas y/o privadas.

Proyecciones realizadas /

Proyecciones requeridas

01/02/2018

31/05/2018 X X X X

19

Crear formularios

programados para el

análisis de información

documentada en visitas de

inspección.

1. Escoger los parámetros

normativos de inspección

para cada componente de

aseo (realización de

formularios físicos).

2. Agrupar y enlistar los

parámetros normativos en

hojas de cálculo del

software Microsoft Excel.

3. Programar por medio de

Visual Basic (VBA) las

funciones de tabulación,

organización, guardado en

base de datos y análisis

normativo.

Creación de 8 formularios

programados de verificación.

1. Vehículos de recolección de

residuos sólidos.

2. Recolección y transporte de

residuos sólidos.

3. Actividades del componente

de limpieza urbana (CLUS).

4. Base de operaciones para

vehículos de recolección de

residuos sólidos.

5. Disposición final.

6. Corte de césped, poda de

árboles en las vías y áreas

públicas.

7. Disposición final.

8. Lavado de áreas públicas.

01/03/2018 21/04/2018 X X

Suministrar información

organizada de presuntos

incumplimientos

normativos para la creación

de informes de visita.

1. Compilar los formularios

digitales creados mediante

la creación del programa

Trash_DTGA.

2. Generar resultados de

análisis normativo para los

informes de visita.

3. Generar base de datos del

análisis realizado.

Creación de un programa

computacional en lenguaje Visual

Basic.

01/05/2018 20/06/2018 X X

20

Según lo acordado con el tutor externo de pasantía (Directora de la DTGA) se estableció el

siguiente cronograma de trabajo para dar cumplimiento a las metas establecidas.

Tabla 2. Cronograma de trabajo de pasantía

Actividad

Semanas

Febrero Marzo Abril Mayo Junio

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

Proyectar requerimientos a las empresas

prestadoras (ESP)

Escoger los parámetros normativos de

inspección.

Agrupar y enlistar los parámetros de

inspección en hojas de cálculo

Compilar los formularios digitales creados

Creación de un programa de computadora,

escrito en lenguaje Visual Basic

Generación de resultados de análisis para

los informes de visita

El resultado de las actividades realizadas se resume en los siguientes productos entregados:

Actividad Producto entregado

Proyectar requerimientos de denuncias por vocales de control y de entidades

públicas y/o privadas. (Cartas de remisión o solicitud de información)

32 cartas realizadas

Evaluaciones Integrales (aspectos Técnico-operativos) 4 realizados

Elaboración de informes (de acuerdo a los hallazgos de las visitas de inspección

por los ingenieros de la DTGA.)

4 realizados

El resultado de las actividades realizadas se detalla en el ANEXO 2.

Durante la realización de estas actividades y por lo sugerido por los ingenieros de la DTGA,

el autor de este documento creó y estandarizo formularios de verificación para la recopilación

21

de la información recopilada en campo por parte de los ingenieros encargados al momento

de realizar las visitas de inspección a las empresas del servicio público de aseo en todos sus

componentes, ya que en su momento estos eran inexistentes. Estos formularios se presentan

en el ANEXO 1. y su instructivo de diligenciamiento en el ANEXO 3.

Los formularios de verificación fueron creados y diseñados por el autor del presente

documento en el entono de desarrollo Access, con dos objetivos: servir como interfaz gráfica

para el ingreso de la información recolectada en campo por los ingenieros de la DTGA, y el

registro de dicha información en una base de datos Access.

En consecuencia, se crearon dos versiones de los formatos de verificación, se utilizan de

manera física para ser llevados a campo por los ingenieros y de manera digital para que los

ingenieros introduzcan la información recopilada y sea procesada en el programa creado

Trash_DTGA.

3.1.2. Fuente de información para la creación de los formularios estandarizados de

verificación técnica

Para la creación de los formatos de verificación, se definió su contenido de acuerdo a lo

indicado en la referencia normativa correspondiente que rige a las empresas prestadoras del

servicio público de aseo:

• Decreto 1077 de 2015 “Actividades del servicio público de Aseo”

• Resolución CRA 720 de 2015 “Regulación tarifaria del servicio público de Aseo”

• Decreto 1784 de 2017 “(…) lo relativo con las actividades complementarias de

tratamiento y disposición final de residuos, sólidos en el servicio público de aseo.”

22

• Resolución 1096 de 2000 “Reglamento Técnico para el Sector de Agua Potable y

Saneamiento Básico – RAS (Titulo F)”

• Resolución de la Licencia ambiental correspondiente.2

Las fuentes normativas mencionadas fueron analizadas y tenidas en cuenta por el autor para

la creación de los Formatos de verificación. Cabe resaltar que, dada la importancia de conocer

las condiciones operativas de los rellenos sanitarios, el autor creó un formato adicional, a

modo de ficha técnica para mostrar de forma resumida y práctica, toda la información técnico

operativa de los rellenos sanitarios inspeccionados (ANEXO 4.2).

Es así, que estos formatos de verificación contemplan la mayor cantidad de variables a

inspeccionar por parte de los ingenieros encargados en las visitas de inspección y agiliza el

proceso de la recolección de datos técnicos en campo. No obstante, se recomienda

implementar a futuro una herramienta digital (e.j. app móvil) que remplace el uso físico de

los formatos de verificación, pues representa un riesgo en la custodia de esa información, ya

que son comunes los eventos en los que se extravían o se dañan estos formatos.

3.2.Creación del programa Trash_DTGA

Trash_DTGA es un programa creado por el autor de este documento que sirve principalmente

como herramienta informática para agilizar el proceso de creación de los informes emitidos

por los ingenieros de la DTGA contemplando los ocho componentes del servicio de público

de aseo (Recolección y transporte, Sitios de disposición final, Barrido, Lavado de áreas

públicas, Corte de césped, Poda de árboles, Limpieza de playas, y Base de operaciones).

2 El licenciamiento ambiental solo aplica para las actividades de Tratamiento y Disposición final en la que se

indica las condiciones operativas que debe cumplir el respectivo relleno sanitario.

23

También cabe señalar, que el programa también puede ser usado para realizar consultas

históricas de las condiciones técnico operativas inspeccionadas y para crear indicadores

estadísticos de las Empresas del servicio público de aseo.

Respecto a su codificación, está escrito en Visual Basic 7.1 y funciona a través de las

plataformas conectadas de Excel y Access; se encarga de generar tablas inteligentes con

identificación automática de incumplimientos normativos y con capacidad de generar análisis

gráfico de los registros almacenados.

El programa es alimentado con la información registrada a través de la base de datos del

archivo Access “Formularios.accdb” correspondiente de la información introducida por el

usuario a través de los formularios programados para cada componente del servicio de aseo.

Esta base de datos es sincronizada en el archivo “Generador.xlsm” dentro del cual se ejecuta

el control de preferencias3 para procesar la información obtenida e imprimir resultados

específicos de las empresas del servicio de aseo inspeccionadas.

3.2.1. Esquema funcionamiento

La creación del programa se realizó en dos archivos por separado (Formularios.accdb y

Generador.xlsm), esto para aprovechar las potencialidades que ofrece cada plataforma de

desarrollo: Access y Excel, el primero permite crear interfaces gráficas para bases de datos

de manera muy sencilla y el segundo ofrece todas las herramientas de programación de

Visual Basic, además con la ayuda de las macros.

3 El control de preferencias es el UserForm que ejecuta toda la codificación de las rutinas creadas, este

controlador continente los botones necesarios para que el usuario seleccione específicamente los registros que

quiere generar.

24

El programa Trash_DTGA inicia con el almacenamiento de la información introducida por

el usuario (información recopilada en campo por el ingeniero encargado) por medio de la

interfaz gráfica de los formatos de verificación.

Toda la información introducida es almacenada en la base de datos creada en Access, y

teniendo en cuenta que la información hace referencia a datos técnicos de operación

(toneladas de basura recogida, número de vehículos de recolección, rutas de barrido y de

limpieza, estado de la cobertura de rellenos sanitario, etc.) estos pueden ser utilizados como

referencia estadística, indicadores técnicos y posiblemente para complementar la herramienta

de priorización4 en desarrollo por la Dirección Delegada AAA de la Superservicios (ver

ANEXO 6).

Es importante señalar que actualmente la DTGA no cuenta con un mecanismo de registro de

los datos técnicos recolectados en campo, por lo que para realizar los informes de visita y

demás requerimientos técnicos, es un proceso tedioso ya que la información se encuentra

dispersa, esto conlleva a demorar la elaboración de los informes, a omitir información que

no se puede encontrar y retrasar otros procesos que hacen uso de esa información.

De igual manera esta Dirección Técnica, no cuenta con indicadores técnicos que permitan

identificar el estado de operación de una empresa prestadora, es decir, no existen parámetros

que puedan definirla calidad de prestación del servicio o que puedan ser utilizados para

comparaciones cuantitativas o estadísticas entre las empresas que operan en el país.

4 La herramienta de priorización es un programa creado en Visual Basic (Excel) que analiza parámetros técnicos

de operación de empresas de Acueducto, Alcantarillado y Aseo para determinar su nivel de prioridad en las

visitas de inspección realizadas por la SSPD cada año. La herramienta Trash_DTGA creada por el autor de este

documento, puede complementar dicho programa ya que maneja datos técnicos necesitados en la herramienta

de priorización.

25

Por lo que la creación de este programa conlleva implícitamente la generación de una base

de datos con registros técnicos que puedan contribuir en el desarrollo de indicadores y

análisis estadísticos de operación de todas las empresas vigiladas por la DTGA.

Dicha información registrada es enlazada automáticamente por el documento Excel, cuyo

procesamiento es ejecutado por la codificación hecha en Visual Basic para imprimir las tablas

y gráficas inteligentes con verificación automática de incumplimientos normativos.

De manera general el funcionamiento del programa informático puede representarse en el

siguiente esquema.

Figura 3.1. Esquema de funcionamiento del programa Trash_DTGA. Fuente:autor

El resultado obtenido es un producto que puede ser directamente insertado en los informes

de visita, como se verá más adelante.

Para poder conectar la información registrada del archivo Access se utilizó la herramienta

“Conexiones” de Excel, la cual crea una conexión simultánea con la información externa de

otro documento que puede ser modificada paralelamente.

26

Figura 3.2. Conexión de base de datos Access con Excel. Fuente: autor

Esta herramienta es sencilla de utilizar pues por defecto las preferencias de conexión están

predefinidas, por lo que solamente se debe seleccionar el documento a enlazar y seleccionar

las tablas deseadas, en este caso las correspondientes a los ocho formularios creados.

Figura 3.3. Conexión de cada formulario Access al documento Excel. Fuente: autor

27

Una vez el enlace este realizado, esta conexión queda guardada automáticamente y no se

deberá volverá a realizar, sin embargo, si se desea cambiar de ubicación los archivos

(cambiarlos de carpeta) deberán realizar nuevamente el proceso de conexión.

Para que la conexión se haga de forma automática luego de cambiar de ruta, los archivos

deberán estar juntos en una misma carpeta, de esta manera Excel detectará el archivo

complementario y sugerirá la reconexión de los archivos, por lo que el usuario solo deberá

aceptar el nuevo enlace en los cuadros emergentes.

Figura 3.4. Cuadros emergentes para la reconexión en una nueva ruta. Fuente: autor

Después de generada la conexión, se podrán visualizarán los registros en el archivo Excel.

Figura 3.5. Registros enlazados del archivo Access. Fuente: autor

28

La información obtenida en Excel es una copia en tiempo real del documento externo, es

decir que todo cambio realizado en la fuente, automáticamente se reflejará sobre el Excel.

Los cambios que hagamos en este archivo no afectaran a la fuente original.

El programa es muy sencillo de usar gracias a la codificación de filtros utilizados en el control

de preferencias (se verán más adelante), por lo que permite al usuario manejarlo en dos pasos

mediante los siguientes componentes.

3.2.2. Componente Access

El archivo “Formularios.accdb” es la interfaz gráfica creada en Microsoft Access, que

compila los 8 “Formatos de verificación” creados también por el autor, para registrar los

parámetros técnico-operativos inspeccionados en las visitas en campo por parte de los

ingenieros de la DTGA por medio de los formularios físicos.

Este componente del programa modifica el procedimiento en la recopilación y

almacenamiento de información en el proceso de elaboración de informes.

Figura 3.6. Diagrama de modificación del proceso de creación de informes. Fuente: autor

Como se puede apreciar, en comparación con la figura 2.1. esta herramienta remplaza el

proceso manual de la creación de tablas y análisis por un procesamiento automático (objetos

resaltados). De igual manera se resalta el hecho de que se introducen los formatos de

verificación creados por el autor, que contemplan todos parámetros que se deben verificar en

29

campo, evitando así que por confusión, se sigan omitiendo verificaciones en campo por parte

del ingeniero encargado.

Para su utilización se abre el archivo Formularios.accdb y se diligencian los formularios que

se requieran. A modo de ejemplo a continuación, solo se muestra el formulario de barrido ya

que el funcionamiento es el mismo para todos los demás y tan solo varía la organización del

contenido, estos se muestran en el ANEXO 1.

Figura 3.7. Componentes de los formularios digitales creados por el autor

La utilización de este formulario es muy sencilla, se selecciona un formulario de la lista de

navegación izquierda e inmediatamente se procede a llenar el contenido, una vez finalizado

se presiona “Enter” y se creará un nuevo formulario para continuar las veces que se necesiten.

El control de navegación sirve para dirigirse a un formulario que se haya creado con

anterioridad el cual se pueden editar, eliminar o crear un nuevo registro.

30

Los chequeos de verificación son elementos que se evalúan de forma lógica (verdadero o

falso), cada vez que un cuadro de verificación (CheckBox) es marcado en el formulario, este

queda guardado en la base de datos como un valor booleano, es decir 1 o 2; esto para

posteriormente ser utilizado en la codificación del programa.

El “Formulario de navegación” es el formulario que contiene los formularios de verificación

individuales. Para cada formulario le corresponde su tabla de almacenamiento llamada con

el mismo nombre.

Figura 3.8. Formularios creados y sus respectivas tablas de almacenamiento. Fuente: autor

Una vez introducida la información por el usuario, esta queda almacena en su respectiva base

de datos o “Tabla”.

31

Figura 3.9. Ejemplo de la información de formulario almacenada en Access. Fuente: autor

De manera opcional el usuario puede modificar y manipular esta información con las

múltiples herramientas para análisis de datos que ofrece Access.

3.2.3. Componente Excel

Se codifico el archivo “Generador.xlsm” en Visual Basic para procesar la información

registrada en la base de datos Access. La conexión de estos documentos por separado permite

crear una copia de la base de datos que pueda ser modificada o utilizada por el usuario sin el

riesgo de modificar la información original de Access.

Para su utilización se debe abrir el archivo Generador.xlsm y activar el botón Trash_DTGA

(si es por primera vez, aplicar los cambios mencionados en la figura 3.4.), este ejecutará el

control de preferencias para aplicar la selección necesitada y generar los correspondientes

resultados.

De manera gráfica se muestra la utilización del control de preferencias en orden de ejecución.

32

Figura 3.10. Interfaz gráfica del control de preferencias creada por el autor

1. Lista desplegable para la selección de la empresa.

2. Lista desplegable para la selección de la fecha de inspección realizada.

3. Lista de las fechas seleccionadas (pueden ser eliminadas de manera individual

presionando doble “click”).

4. Selección de componentes a generar.

5. El botón “Tab/Asis” cambia la función que se desea realizar (“Generar tablas” o

“Generar análisis”).

a. El botón “Actualizar” actualiza los cambios hechos en el archivo Access (fuente

original) cuando este es utilizado simultáneamente con el archivo Excel.

6. Estos botones generan las tablas y/o análisis en hojas nuevas, por separado, en el

archivo Excel.

7. Borra las hojas nuevas creadas en el documento Excel.

33

Los resultados obtenidos dependen de los botones ejecutados, “Generar tablas” o “Generar

análisis”.

Botón Generar tablas

Este botón automáticamente genera una secuencia de tablas con toda la información acerca

del (los) registro(s) seleccionado(s) que describe la información técnica verificada en campo

y automáticamente muestra el incumplimiento normativo que se haya incumplido en dicha

visita. De igual manera indica los elementos de dotación con los que no contaban lo operarios

al momento de la inspección (gorra de sol, guantes y canilleras).

En la siguiente figura se muestra un ejemplo de tabla generada, en que se observan los

artículos normativos incumplidos y el estado de la dotación de los operarios verificados.

Figura 3.11. Ejemplo de tabla generada para el componente Corte de césped. Fuente: autor

En la siguiente figura se muestra otro tipo de tabla generada, en la que los parámetros

normativos son impresos en la misma tabla para su comparación visual por el usuario, y

automáticamente marcados de color azul para su rápida identificación.

34

Figura 3.12. Ejemplo de tabla generada para el componente de Recolección y transporte. Fuente: autor

De esta manera, el control “Trash_DTGA” le permite al usuario crear tablas de cualquier

componente de aseo de forma rápida y con análisis automático de incumplimientos

normativos, listos a ser utilizados en los informes de visita.

35

Botón Generar análisis

Este botón genera gráficas dinámicas de acuerdo a los componentes de aseo seleccionadas

de una empresa sin tener en cuenta las fechas de visita, lo que resulta en una gráfica general

que contempla todos los registros técnicos de una empresa para que sean analizados a criterio

del usuario.

Para conformar las gráficas dinámicas se escogieron los parámetros de chequeo5 de cada

registro (Figura 3.13), de esta manera se realiza una estadística sencilla de los presuntos

incumplimientos normativos para cada uno de los parámetros de verificación, con posibilidad

de ser filtrados por empresas, fechas, componentes de aseo y elementos de verificación.

Figura 3.13. Ejemplo de gráfica dinámica generada. Fuente: autor

5 Refieren a los cuadros de chequeo provenientes de los formularios de Access para cada componente de aseo,

los cuales indican el cumplimiento o no, de los parámetros de verificación.

36

En esta figura se observa la gráfica dinámica generada para el componente de Recolección y

transporte, en este se evalúa el estado de funcionamiento del vehículo (ver ANEXO 1.6) El

resultado obtenido es una estadística que muestra la sumatoria de incumplimientos de todos

los registros para la empresa “Ejemplo SAS ESP”; en este ejemplo el incumplimiento más

frecuente es la barra de color azul con valor de 4 (sumatoria del parámetro incumplido), es

decir que, de todos los vehículos inspeccionados de esa empresa, el parámetro “Estribos

antideslizante y manijas en buen estado” es el incumplimiento más reiterativo.

Si se requiere una estadística más específica, por ejemplo, incumplimientos por vehículo, por

fecha, por ruta etc. Estos cambios pueden ser realizados de manera instantánea en la barra de

filtros ubicada en la parte superior del gráfico.

De esta forma “Trash_DTGA” le permite al usuario crear estadísticas de cualquier empresa

y de cualquier parámetro de forma rápida y útil.

En conclusión, el programa Trash_DTGA creado por el autor del presente documento,

permite almacenar y procesar datos técnicos de la operación del servicio púbico de aseo de

manera ágil y organizada para la elaboración de informes de visita; cabe mencionar que,

aunque el programa no genera estadísticas especializadas, brinda los elementos necesarios

para que a futuro la DTGA desarrolle indicadores y estadísticas precisas para valorar la

operación técnica de las empresas prestadoras.

3.3.Programación y codificación

El programa se creó con base a dos funcionalidades principales “Generar tablas” y “Generar

análisis” las cuales están codificadas en procedimientos (rutinas) y funciones (subrutinas),

estos están almacenadas en módulos separados que posteriormente son llamados y ejecutados

37

en el UserForm (control de preferencias); este funciona como interfaz gráfica del programa

y controla todas las funcionalidades seleccionadas por el usuario.

Además de las funcionalidades principales, también se hace uso de otros procedimientos que

ayudan en la interacción del usuario con el programa mencionadas anteriormente (figura

3.10), esto para brindarle mayor control al usuario sobre lo que desee realizar. Para poder

ejecutar todos los procedimientos codificados se crearon cuatro Botones, un ToggleBotton,

dos ComboBox, un ListBox y ocho CheckBox, estos se muestran en la siguiente gráfica.

Figura 3.14. Objetos creados en el UserForm (control de preferencias). Fuente: autor

Cada botón y elemento utilizado es un objeto del entorno de Visual Basic, por defecto estos

traen sus propios nombres, pueden ser cambiados, pero para para efectos prácticos en la

creación de este programa se conservaron sus nombres.

Cada objeto que compone este UserForm tiene su propia codificación y conexión con los

módulos creados, a continuación, se explican estos últimos.

38

Figura 3.15. Módulos de programación creados. Fuente: autor

Se crearon ocho módulos correspondientes para cada actividad del servicio de aseo, ya que

cada Formato de verificación tiene sus características y parámetros diferentes a evaluar, por

lo que naturalmente su codificación es distinta para cada componente.

A parte de los módulos mencionados, se crearon los módulos Análisis y Control_Trash, el

primero encargado de la generación de las gráficas dinámicas y el otro, de la ejecución de

interfaz gráfica.

3.3.1. Diagramas de flujo y rutinas del programa

El programa se elaboró basado en dos algoritmos principales: algoritmo de Búsqueda Lineal

Anidado y Algoritmo de Verificación (búsqueda y comparación) explicados a detalle con los

algoritmos utilizados en el Manual metodológico del programa, adjunto al final del presente

documento.

39

El programa inicia al momento del ingreso de la información en los Formatos de verificación

del archivo Access, luego estos datos automáticamente son sincronizados y organizados en

el archivo Excel (Generador.xlsm). una vez iniciado el control de preferencias (UserForm),

se inicializan las rutinas correspondientes para las funcionalidades Generar tablas y Generar

análisis.

Para la primera rutina (Generar tablas) se creó un procedimiento para organizar la

información a imprimir en pantalla, con ayuda de la herramienta macros. Seguidamente,

mediante codificación de comparaciones lógicas entre los registros y la normativa insertada

dentro del código, se crean subrutinas específicas para cada módulo. Por último, se crea otro

procedimiento para darle el estilo y el formato a las tablas construidas (con ayuda de la

herramienta macros) y se imprimen en pantalla.

Para la segunda rutina (Generar análisis), se crean procedimientos de organización de datos

para cada componente de aseo y se imprimen en pantalla por medio de tablas dinámicas.

A continuación, se muestra el diagrama correspondiente.

40

Figura 3.16. Diagrama de flujo del programa Trash_DTGA.

No obstante, justo antes de la ejecución de dos rutinas principales se deben inicializar todas

las variables del UserForm, esto para cargar toda la información del nombre de las empresas

registradas en la base de datos y el registro de fechas en el que se han hecho visitas de

inspección para cada empresa. Por defecto los UserForm tienen su modulo interno para

programar sus eventos propios.

Los eventos utilizados fueron: “Initialize” para insertar los botones de Windows (minimizar

y maximizar), para que se carguen cuando inicie el programa ya que estos no vienen por

defecto (ANEXO 7.1.2). Y el evento “Activate” para llenar el ComboBox2 con el nombre de

41

las empresas registradas, para que las despliegue cuando el formulario haya cargado (ANEXO

7.1.1).

Por lo anterior se crea un flujograma para inicializar los valores de los objetos dentro del

UserForm.

Figura 3.17. Diagrama de flujo del UserForm. (ev)=evento, (obj)=objeto, (Sub)=procedimiento.

Una vez cargados el UserForm y el ComboBox2, se procede a programar los eventos de lo

demás objetos siguiendo su orden de ejecución.

Los objetos que siguen son: la lista desplegable de las fechas (Combobox1) y la lista de

fechas seleccionadas (ListBox1), el primer objeto debe cargarse de las fechas encontradas en

el registro cuando sea seleccionada la empresa y el segundo objeto se encarga de almacenar

las fechas seleccionadas. Para realizar estas acciones se crearon algunas funciones

(subrutinas), presentadas en el siguiente diagrama.

42

Figura 3.18. Diagrama de flujo de la ejecución de eventos de los objetos del UserForm.

(Fnc)=función, (Sub)=proceso, (-----) =evento opcional.

Las funciones mostradas en el diagrama fueron creadas para ahorrar código, ya que son

utilizadas en distintas partes del programa, por lo que solo se deben llamar para ejecutarlas.

La función filtrar_empresa (ANEXO 7.3.4) busca en todas las hojas de Excel el nombre de la

empresa seleccionado en el ComboBox2, si existe esa empresa en la hoja iterada

(correspondiente a un componente del servicio de aseo), busca las fechas de visita que se

hicieron para esa empresa y las introduce en el ComboBox1. De igual manera si se encuentra

un registro o más de dicha empresa, se activará el CheckBox correspondiente para el

componente de aseo en el que se está buscando.

El procedimiento “Ordenar_fechas” (ANEXO 7.3.5) elimina las fechas duplicadas del

ComboBox1 y las ordena en orden descendente.

Una vez esté lleno el ComboBox1 (correspondiente a las fechas de visita encontradas para

una empresa), se seleccionan las fechas a consultar por medio del evento “Click” con lo cual

43

se añadirá dicha fecha al ListBox1 (ANEXO 7.1.3) y automáticamente se ejecutará la función

filtros_fechas.

La función filtros_fechas (ANEXO 7.3.7) recorrerá de nuevo todas las hojas de los

componentes de aseo y buscará el nombre de la empresa y la fecha seleccionada, si existe ese

registro en la hoja inspeccionada, su respectivo CheckBox se activará o de lo contrario se

desactivará.

Finalmente, por medio del evento “DobleClick” del ListBox1 (ANEXO 7.1.9) se podrán

eliminar fechas que ya no se deseen. De nuevo, automáticamente se ejecutará la función

filtros_fechas para actualizar los CheckBox.

Se hace uso de los CheckBox para indicarle de forma visual al usuario, cuales registros están

disponibles y que componentes del servicio de aseo pueden ser generados.

3.3.2. Botón Generar tablas

Este objeto ejecuta los módulos de los componentes de aseo según el estado (activado o

desactivado) de su CheckBox correspondiente (ANEXO 7.1.5).

Cada módulo tiene la estructura general de ejecución de la figura 3.16, sin embargo, el

código tiene variaciones debido a que en cada componente de aseo se verifican aspectos

diferentes, por lo tanto, la organización y apariencia se codifica de manera distinta en cada

módulo (ANEXO 7.4)

Dentro del código de cada módulo se insertaron los artículos normativos de verificación para

que de forma automática las tablas generadas indiquen los parámetros incumplidos en las

visitas de inspección; de igual manera se programaron respuestas que señalan los elementos

de verificación portados por los operarios durante la visita de inspección.

44

Se utilizaron los valores boléanos devueltos en los cuadros de chequeo de los formularios

Access, como variables numéricas de comparación y desencadenación de fragmentos de

código, encargados de evaluar los incumplimientos normativos y de los elementos de

verificación de los operarios (ANEXO 7.4.1-2-3-4-5-6).

3.3.3. Botón Generar análisis

Ejecuta los procedimientos del módulo “Análisis” de acuerdo a los componentes de aseo

según el estado (activado o desactivado) de su CheckBox correspondiente (ANEXO 7.1.8)

Cada procedimiento tiene la estructura de la figura 3.16, teniendo en cuenta que la gráfica

resultante es distinta para cada uno, el código varía para cada procedimiento del módulo.

Para la generación de las gráficas dinámicas se grabó una macro según las características de

ordenamiento necesitadas, las cuales se pueden ver en el ANEXO 7.2.

3.3.4. Botón “Tab/Asis”

Como objeto auxiliar se programó el botón de alternancia “Tab/Asis”, para que desactive el

botón “Generar tablas”, el ComboBox1 y el ListBox1, ya que no se utilizan en la ejecución

del otro botón que paralelamente se activa (Generar análisis) para ser seleccionado por el

usuario. Lo anterior con el fin de que el usuario entienda que las gráficas resultantes no

contemplan fechas específicas.

El código de este objeto se muestra en el ANEXO 7.1.10.

3.3.5. Botón Borrar

Este botón se encarga de borrar las hojas creadas en la generación de tablas y la generación

de análisis. Con el fin de que el usuario pueda hacer múltiples generaciones sin que haya

conflicto en Excel por hojas repetidas (ANEXO 7.1.7).

45

3.3.6. Botón Actualizar

Este botón actualiza los cambios que se hayan realizado paralelamente en los formularios de

verificación del archivo Access, de igual manera ejecuta las funciones filtrar_empresa y

filtros_fecha para actualizar los CheckBox (ANEXO 7.1.6).

Finalmente es importante mencionar que el código creado para este programa es susceptible

a optimización y mejoras, ya que como se puede evidenciar en los módulos codificados, son

bastantes las líneas de código que se repiten y que pueden ser desarrolladas como una función

aparte.

Por otra parte, se recomienda a futuro se pueda conectar este programa con el programa

“Herramienta de priorización” en desarrollo por la Dirección Delegada AAA, ya que manejan

el mismo entorno de desarrollo de Excel y procesan datos similares que pueden ser utilizados

de manera más especializada.

4. CONCLUCIONES Y RECOMENDACIONES

Si bien el programa creado no genera un producto de estadísticas especializadas, brinda los

elementos necesarios para que a futuro la DTGA desarrolle indicadores y estadísticas

precisas para valorar la operación técnica de las empresas prestadoras de manera más

objetiva.

Por otra parte, los formatos de verificación creados contemplan la mayor cantidad de

variables a inspeccionar por parte de los ingenieros encargados en las visitas de inspección y

de igual manera agiliza el proceso de la toma de datos en campo, no obstante, se recomienda

implementar a futuro una herramienta digital (e.j. app móvil) que remplace el uso físico de

46

los formatos de verificación, pues representa un riesgo en la custodia de esa información, ya

que son comunes los eventos en los que se extravían o se dañan estos formatos.

Respecto a la codificación del programa, este puede ser optimizado y desarrollado de mejor

manera, también se recomienda que pueda ser conectado con el programa en desarrollo por

la Dirección Delegada AAA para realizar un mejor procesamiento de la información técnica

que manejan estos dos programas.

5. ANEXOS

1. Formatos de verificación

2. Detalle de funciones desarrolladas en la SSPD

3. Instructivo de diligenciamiento de formatos de verificación

4. Tablas generadas por “Trash_DTGA”

5. Graficas generadas por “Trash_DTGA”

6. Herramienta de priorización (delegada AAA)

7. Códigos (funciones y procedimientos)

47

6. REFERENCIAS

• Decreto 1077 de 2015 “Actividades del servicio público de Aseo”. Ministerio de

Vivienda, Ciudad y Territorio (MVCD)

• Ley 142 de 1994 “por la cual se establece el régimen de los servicios públicos

domiciliarios y se dictan otras disposiciones.”. Congreso de la República de

Colombia.

• Resolución CRA 720 de 2015 “Regulación tarifaria del servicio público de Aseo”.

Comisión de Regulación de Agua Potable de Saneamiento Básico.

• Decreto 1784 de 2017 “(…) lo relativo con las actividades complementarias de

tratamiento y disposición final de residuos, sólidos en el servicio público de aseo.”

• Resolución SSPD 20151300047005 de 2015 ”… relación con el Registro Único de

Prestadores (RUPS) para su inscripción, actualización y cancelación.”.

Superintendencia de Servicios Públicos Domiciliarios

• Resolución SSPD 20101300048765 de 2010 “… respecto de las solicitudes de

información al Sistema Único de Información - SUI de los servicios públicos de

Acueducto, Alcantarillado y Aseo…”. Superintendencia de Servicios Públicos

Domiciliarios

• Resolución SSPD de 20184000018825 de febrero de 2018. “Por la cual se modifica

el cronograma de cargue de la Resolución número SSPD 20174000237705 del 5 de

diciembre de 2017.”. Superintendencia de Servicios Públicos Domiciliarios

• Reglamento Técnico del Sector de Agua Potable y Saneamiento Básico – RAS -Titulo

F.” Sistemas de Aseo urbano”. Ministerio de Vivienda, Ciudad y Territorio (MVCD)

48

MANUAL METODOLÓGICO DE LA CREACIÓN DEL PROGRAMA

COMPUTACIONAL PARA AGILIZAR LA ELABORACIÓN DE INFORMES

DE VISITA DE LA DTGA.

1. Objetivo

Crear una herramienta informática que permita agilizar la generación de tablas de hallazgos

y análisis cuantitativo de los incumplimientos normativos en la prestación del servicio

público de aseo de las ESP para implementar en los informes de visita a cargo de los

ingenieros de la DTGA.

2. Alcance

Este manual será utilizado para programar la creación de tablas con decisión normativa y

gráficas de análisis cuantitativo por medio de algoritmos de búsqueda y ordenación, teniendo

en cuenta los parámetros técnicos evaluados por los ingenieros de la DTGA en las visitas en

campo hacia las ESP. Este manual es aplicable para las empresas del servicio público de aseo

mayores a 5.000 suscriptores.

3. Prejuicios de este Manual

Se da por entendido que el lector de este manual conoce todos los parámetros técnicos

evaluados para cada uno de los componentes del servicio de aseo explicados en el documento

principa y en los ANEXOS 1 & 3. Este manual es elaborado para lectores con conocimientos

básicos de programación y familiarizado con la utilización de Macros o de Excel Avanzado.

4. Fundamento de programación en vb

Microsoft Excel es un programa que se basa en la operación de datos en matrices de múltiples

parámetros y métodos que permite manipular en cualquier momento la información

suministrada por medio de una interfaz llamada hoja de cálculo, además de utilizar funciones

de cálculo, este software permite analizar datos de forma gráfica y hacer evaluaciones lógicas

por medio de funciones de decisión.

Excel utiliza el lenguaje de programación Visual Basic (VB), desarrollado por Microsoft en

1991 que es catalogado como lenguaje de alto nivel por ser de fácil entendimiento para

49

usuarios inexpertos en programación, para usuarios de mayor destreza Excel ofrece la

ejecución de “macros”, procedimientos paso a paso que generan un código en lenguaje Basic

el cual puede ser modificado para realizar tareas automáticas en el entono de las hojas de

cálculo.

Otra de las herramientas utilizadas son las gráficas dinámicas, esta es una herramienta que

permite la visualización de datos provenientes de una tabla en forma de una gráfica de barras,

que puede ser modificada de forma instantánea con ayuda de un cuadro auxiliar que permite

la filtración de datos específicos.

4.1. Características de la programación en Visual Basic

Visual Basic es un lenguaje de programación interpretado (no requiere compilador)

íntimamente relacionado con la utilización de objetos, ya que principalmente se desarrolla en

el entorno de Excel e interfaces gráficas denominadas Formularios. Cada formulario tiene su

propia ventana de desarrollo y se programa a través de botones, controles y gráficos.

En Visual Basic la programación de objetos se entiende como elementos que poseen

propiedades y métodos, estos últimos son palabras reservadas para realizar una acción

determinada. En este caso se entiende por objeto los elementos que componen el entorno de

Excel, los elementos de un formulario, y el mismo formulario, por ejemplo, una celda, es un

objeto que tiene propiedades (ancho, alto, color) y unos métodos (almacenar variables,

convertir el formato de variables, etc.); esto permite crear aplicaciones funcionales de manera

muy rápida y eficiente, puesto que además de utilizar los objetos de los formularios, se

utilizan los objetos del entrono Excel sin necesidad de ser creados desde cero.

Para modificar las propiedades de un objeto se debe llamar por medio de un punto (“.”) y

asignarle un el nuevo valor utilizando el operador igual (“=”). La sintaxis queda de la

siguiente forma:

Objeto.propiedad = valor o variable

O en caso contrario, para asignar una propiedad a una variable

variable = objeto.propiedad

50

De igual manera, Visual Basic tiene los mismos elementos de programación que la mayoría

de lenguajes.

4.2. Algoritmo de búsqueda

Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas

propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente

a cierta persona en una base de datos.

Búsqueda lineal (secuencial)

Consiste en recorrer y examinar cada uno de los elementos de una lista (array) hasta encontrar

el o los elementos buscados, o hasta que se han mirado todos los elementos de la lista (array).

Este es el método de búsqueda más básico y fácil de usar, sobre todo si la información está

organizada; se puede mostrar este algoritmo en el siguiente código:

Procedimiento búsqueda

Para i=0 y j=0 mientras i<n hacer

Si (array[i] es igual al elementoBuscado) entonces

{

La solución es array[j]=i;

}

Si no es igual entonces

j=j+1

fin si

fin para

fin procedimiento

4.3.Algoritmo de Ordenamiento

Los algoritmos de ordenamiento se basan en la comparación de los valores consecutivos de

una lista desordenada, estos son comparados de par en par en orden ascendente o

descendente, una vez son comparados se usa una variable auxiliar para intercambiar de

posición los elementos de la lista hasta haber recorrido toda la lista.

51

Método de la burbuja

Es un método utilizado principalmente para ordenación numérica, y puede ser usado para

ordenación alfabética siempre y cuando se defina anteriormente el tipo de variable a evaluar.

Se debe crear una función que recorra el array y compare los elementos por medio de la

sentencia if.

Diagrama del método de la burbuja

Se realiza el siguiente seudocódigo como base para la codificación de las subrutinas en los

ComboBox del formulario.

52

procedimiento DeLaBurbuja (a0, a1, a2, …, a( n - 1 ))

para i=1 hasta n hacer

para j=0 hasta (n – i) hacer

si a(j) > a(j+1) entonces

aux= a(j)

a(j) = a(j+1)

a(j+1) = aux

fin si

fin para

fin para

fin procedimiento

De manera opcional se puede crear otra función aparte que intercambia los datos comparados

haciendo uso de la variable auxiliar.

La ordenación de los elementos del array se hace de forma secuencial, por lo que, si hay

alguna interrupción del algoritmo, este ordenará los datos hasta donde se haya ejecutado.

4.4.Algoritmo de eliminación de datos duplicados

Es un método basado en la comparación de datos mediante la ayuda de un array auxiliar; el

array original se duplica y es evaluado del elemento menor al mayor, entre los dos arrays,

una vez se encuentre el mismo elemento en los dos arrays, es eliminado del array original y

continua con el siguiente elemento del array original.

Procedimiento eliminaciónDuplicados

Para x=0 hasta el último elemento del array n

'Si el elemento del array es igual al array temporal

‘ y

If Arreglo(x) = TempArray(z) And Y <> x Then

'Entonces Eliminamos el valor duplicado

Arreglo(Y) = ""

End If

z = z + 1

Next Y

Next x

For i = 0 To q - 1

Next i

53

'Recorremos el array.

'la variable de la colección debe ser de tipo Variant

For Each elemento In Arreglo

'Si el elemento es distinto de una cadena vacía

'lo agregamos al ComboBox

If elemento <> "" Then Trash.ComboBox2.AddItem (elemento)

Next

5. Definiciones

Elementos de programación admitidos en Visual Basic.

Variables: enteros, flotantes, boléanos, caracteres y cadenas.

Operadores: aritméticos, relacionales, comparativos y lógicos.

Sentencias de Control: “IF“, ”FOR”, “WHILE” “DO”, ”SELECT CASE” y “FOR EACH”.

Métodos: son palabras reservadas para realizar una determinada acción, se aplican a

determinados objetos. Por ejemplo, el método “with” de una celda, por medio del cual se

puede cambiar aspectos visuales, tales como su color o tipo de fuente.

Eventos: se refieren a los acontecimientos que le pueden suceder a un objeto. Por ejemplo,

el evento en que una celda es presionada con “Click” o, es enfocada o desenfocada por el

teclado.

Funciones: son fragmentos de código que ejecutan una acción por medio de parámetros cuyo

valor es asignado directa o indirectamente por un usuario.

Procedimientos: Son fragmentos de código que ejecutan una acción específica y que puede

ser llamada por otro procedimiento.

Clases: son segmentos de código que definen las variables, las propiedades, los

procedimientos y los eventos de un objeto. Para crear un objeto debe existir su respectiva

clase, a esto se le llama instancia.

Módulos: son áreas de desarrollo que contienen funciones y procedimientos, estos sirven

para organizar el código y ejecutarlo de manera controlada.

54

Formularios: son objetos que actúan como interfaz visual para que el usuario interactúe con

una información por medio de controles y objetos gráficos. Los formularios tienen el nombre

de “UserForm” y se diseñan en el entorno de desarrollo “Visual Basic para aplicaciones” de

Excel.

ComboBox: objeto que muestra o guarda una lista desplegable de elementos.

ListBox: objeto que guarda una lista de elementos.

CheckBox: objeto en forma de cuadro de chequeo para devolver un valor verdadero o falso.

Estos valores lógicos (verdadero / falso) se denominan boléanos, los cuales obtienen un valor

al ser o no seleccionados, el valor adquirido queda guardado en la base de datos de forma

numérica.

Cuadro seleccionado (SÍ) = VERDADERO = 0

Cuadro no seleccionado (NO) = FALSO = 1

CommandButton: objeto en forma de botón para ejecutar un fragmento de código.

ToggleButton: objeto en forma de botón de activación o desactivación que ejecuta un

fragmento de código.

6. CONTENIDO

Las funciones principales del programa se basarán en la búsqueda y ordenamiento de la

información, por lo que se crean dos algoritmos utilizados en todos los módulos de

programación.

6.1.Algoritmo de Búsqueda Lineal Anidado

Modificado del algoritmo original de búsqueda lineal, este algoritmo se encarga de realizar

búsquedas matriciales de dos dimensiones, es decir, en sentido horizontal y vertical

(anidado); funciona con la ejecución de dos ciclos For en orden jerárquico dependiendo de

la codificación, por lo que puede ser modificado para realizar la búsqueda viceversa (vertical-

horizontal).

55

Este algoritmo incorpora las funciones creadas Cont_Registros, Cont_Filas y el método

ComboBox.Count. Las primeras dos funciones y el método (propio de VB) mencionado,

utilizan algoritmos de búsqueda lineal sencilla. Estas funciones son explicadas en el la

sección 3.3.1 del documento principal y el código fuente en el anexo 7.3.

El algoritmo contempla el subproceso para dar formato a las tablas generadas (posición,

delineado y tipo de letra), el cual es creado de manera particular para cada módulo mediante

la herramienta Macros. El algoritmo concluye con ciclo para inserta nuevos registros, cuyo

valor varía dependiendo de la función Cont_Registros.

56

Algoritmo de búsqueda lineal anidado.

57

6.2. Algoritmo de Verificación (búsqueda y comparación)

Este algoritmo es ejecutado dentro del algoritmo anterior y realiza el proceso de búsqueda de

registros y la comparación con la normativa insertada dentro del código. Los elementos

encontrados durante la iteración son duplicados desde las celdas de la hoja de cálculo Excel

desde la base de datos original a la hoja final de tablas generada. Para manipular estas celdas

se codifica con las palabras reservadas Range() y Cells() las cuales permiten la manipulación

de los registros a través de condenas matriciales.

Para determinar el cumplimiento normativo se insertaron por defecto frases a imprimir en

pantalla que contienen las palabras “cumple” o “incumple” y su respectiva norma de acuerdo

al valor obtenido de las variables “Falsos” y “Verdad” ejecutados por las condicionales

codificadas.

Una vez son evaluados los parámetros técnicos, se entra en el siguiente bucle que busca los

registros de la dotación en cada celda y los duplica en la su nueva posición de la nueva hoja

creada con el respectivo nombre del módulo.

A continuación, se muestra el algoritmo en su totalidad.

58

Algoritmo de búsqueda lineal anidado.

59

De lo anterior, se codifica el algoritmo para analizar los incumplimientos que pueden

presentar los operarios encargados de las actividades de limpieza, utilizando el siguiente

código.

1. 'OPERARIO 1 2. If Not IsEmpty(Sheets("Lavado_áreas").Cells(i, 10)) Then 3. Sheets("Tabla_lavado").Range("E6") =

Sheets("Tabla_lavado").Range("E6") + "El operario de " +

Sheets("Lavado_áreas").Cells(i, 10)

4. 5. For s = 13 To 21 6. If Sheets("Lavado_áreas").Cells(i, s) = 0 Then 7. falsos = falsos + 1 8. End If 9. Next s 10.

11. If falsos > 0 Then

12. Sheets("Tabla_lavado").Range("E6") =

Sheets("Tabla_lavado").Range("E6") + " no contaba con "

13. End If

14. For q = 13 To 21

15. If Sheets("Lavado_áreas").Cells(i, q) = 0 Then

16. Sheets("Tabla_lavado").Range("E6") =

Sheets("Tabla_lavado").Range("E6") +

Sheets("Lavado_áreas").Cells(1, q) + ", "

17. Else

18. If Sheets("Lavado_áreas").Cells(i, q) = -1 Then

19. verdad = verdad + 1

20. If verdad = 9 Then

21. Sheets("Tabla_lavado").Range("E6") =

Sheets("Tabla_lavado").Range("E6") + " contaba con los

elementos de seguridad y elementos de trabajo"

22. End If

23. End If

24. End If

25.

26. Next q

27. verdad = 0

28. falsos = 0

29. If Not IsEmpty(Sheets("Lavado_áreas").Cells(i, 22)) Then

30. Sheets("Tabla_lavado").Range("E6") =

Sheets("Tabla_lavado").Range("E6") + " además contaba con " +

Sheets("Lavado_áreas").Cells(i, 22)

31. End If

32. End If

Este código es aplicado sobre todos los modulo y duplicado en los casos donde los

operarios son más de uno.

60

7. REFERENCIAS

• Alfonso Mancilla, Jose R. Capacho, Jesus. Diseño y construcción de algoritmos.

Universidad del Norte (Colombia). 2014.

• Donald E. Knuth. El arte de programar ordenadores. Algoritmos fundamentales

(volumen I). Stanford University. Editorial Reverté S.A. 2002.

• Lluís Duran, Luis Durán Rodríguez. Bases de datos con Visual Basic. MARCOMBO

S.A. (España). 2007.