UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas...

387
UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería en Sistemas Computacionales “Mòdulo Contable para el control empresarial orientado al mercado PYMES aplicando Tecnologìa RIA” PROYECTO DE GRADO CURSO DE GRADUACIÓN Previo a la Obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES Autores: GLADYS MARLENE JURADO CAMPOVERDE WILLIAM ENRIQUE MORENO HERBAS GUAYAQUIL-ECUADOR Año: 2010

Transcript of UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas...

Page 1: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

UNIVERSIDAD DE GUAYAQUIL

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas

Computacionales

“Mòdulo Contable para el control empresarial orientado al

mercado PYMES aplicando Tecnologìa RIA”

PROYECTO DE GRADO

CURSO DE GRADUACIÓN

Previo a la Obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

Autores:

GLADYS MARLENE JURADO CAMPOVERDE

WILLIAM ENRIQUE MORENO HERBAS

GUAYAQUIL-ECUADOR

Año: 2010

Page 2: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

II

AGRADECIMIENTO

En primer lugar agradezco a Dios que con su

infinita bondad me ha guiado a lo largo de mis

estudios; en segundo lugar a mi amado ESPOSO

Ing. Alberto Macancela Chedraui por siempre

darme su apoyo y amor incondicional, a mi

PADRE Carlos Jurado, mi MADRE Gladys

Campoverde, mis HIJOS Andrés Alberto y Adrián

Eduardo, mi SUEGRA Lía Chedraui, mis

hermanos; por siempre haberme dado su fuerza

que me han llevado hasta donde estoy ahora. A

mis PROFESORES me han impartido sus

conocimientos, especialmente al Ing. Xavier

Loaiza, Ing. Victor Pazmiño, Eco. Antonio Cires

Ing. Abel Alarcón; quienes nos ayudaron en todo

momento, a mis compañeros de tesis porque en

esta armonía grupal lo hemos logrado y

finalmente un eterno agradecimiento a esta

prestigiosa UNIVERSIDAD la cual nos prepara

para un futuro competitivo.

Gladys Marlene Jurado Campoverde

Page 3: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

III

AGRADECIMIENTO

Agradezco a Jehová mi Dios por siempre estar

conmigo y haberme dado la sabiduría para poder

terminar exitosamente mi tesis, tanto como todas

sus bendiciones presentes desde mucho tiempo

atrás, el éxito total te lo debo a ti Dios mío para

que la gloria, la honra y el poder sea tuyo por

siempre y hasta siempre, a mi padre William

Moreno Encalada, a mi madre Alicia Herbas de

Moreno, mi hermana Alicia Moreno Herbas por

siempre brindarme su cariño, apoyo, tanto moral,

como económico, también por la fortaleza física

como de espíritu presente en ellos los cuales los

manifiesto en mi persona con mucha pasión y

perspicacia. A mis amados abuelitos José Herbas

y Olga de Herbas por darme siempre su amor,

parte de su dignidad y coraje de seguir a pesar de

la adversidad, las cuales han influido mucho en mi

personalidad ganadora y en el logro alcanzado.

William Enrique Moreno Herbas

Page 4: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

IV

DEDICATORIA

Dedico este trabajo a Jehová mi Dios por estar

siempre de parte mía en todo momento, a mis

padres, a mis abuelitos, a mi hermana, a mis tíos y

tías, porque siempre han creído en mí y me han

brindado en todo tiempo su apoyo y amor.

Este gran logro va por todos ustedes !!!

William Enrique Moreno Herbas

Page 5: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

V

DEDICATORIA

Dedico este trabajo especialmente a Dios por

estar siempre a mi lado en todo momento; a mi

amado esposo quien me ha dado todo su amor,

respaldo y apoyo; a mis padres, a mis hijos, a mi

suegra, a mis hermanos que siempre han

depositado toda su confianza en mí y por último a

mis amigos que me han brindado en todo este

tiempo su valiosa amistad..

Gladys Marlene Jurado Campoverde

Page 6: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

VI

TRIBUNAL DE GRADUACIÓN

Presidente del Tribunal Primer Vocal Segundo Vocal Secretario

Page 7: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

VII

DECLARACIÓN EXPRESA

“La autoría de la tesis de grado corresponde exclusivamente a los suscritos,

perteneciendo a la Universidad de Guayaquil los derechos que generen la

aplicación de la misma”

(Reglamento de Graduación de la Carrera de Ingeniería en sistemas

Computacionales, Art. 26)

Gladys Marlene Jurado Campoverde William Enrique Moreno Herbas

Page 8: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

VIII

ÍNDICE GENERAL

Pág.

AGRADECIMIENTO II

DEDICATORIA IV

TRIBUNAL DE GRADUACIÓN VI

DECLARACIÓN EXPRESA VII

ÍNDICE GENERAL VIII

ÍNDICE DE FIGURAS XII

ÍNDICE DE TABLAS XIV

CAPÍTULO 1

INTRODUCCION

1.1 Antecedentes 1

1.2 Problemática 2

1.3 Solución 3

1.4 Visión 3

1.5 Misión 3

1.6 Objetivos Generales 4

1.7 Objetivos Específicos 4

1.8 Alcances 5

1.8.1Módulo de Contabilidad 6

1.8.1.1 Mantenimiento 6

1.8.1.2 Ciclo Contable 7

Page 9: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

IX

1.8.1.3 Reportes 7

1.8.1.4 Procesos Contables 9

1.9 Metodología 10

1.10 Arquitectura 11

1.10.1 Distribución lógica por Capas 11

1.10.2 Ventajas de la Arquitectura 13

1.10.3 Herramientas 14

1.10.3.1 Servidor WEB Apache 14

1.10.3.2 PHP 14

1.10.3.3 Mysql 14

1.10.4 Distribución Física por Niveles 15

1.11 Recursos 15

1.11.1 Recursos Físicos para Servidor 16

1.11.2 Recursos Físicos para Desarrollo 17

1.11.3 Recursos Software 18

1.11.4 Recursos Humanos 18

1.11.5 Recursos Financieros 18

1.12 Flujo de Caja 19

1.12.1 Inversión Total 19

1.12.2 Presupuesto de Ventas 20

1.12.3 Flujo de Efectivo/Cash Flow 21

1.13 Estudio de Mercado 22

1.14 Cronograma 26

1.15 F.O.D.A. 27

Page 10: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

X

CAPÍTULO 2

ANALISIS 29

2.1 Diagramas de Casos de Uso 29

2.2 Diagrama de Escenarios y Subescenarios 36

2.3 Diagrama de Clases 42

2.3 Diagrama del Sitio 43

CAPÍTULO 3

DISEÑO 47

3.1 Introducción 47

3.2 Diagrama de Entidad Relación 47

3.3 Diccionario de Datos 49

3.4 Diagrama de Flujo de Datos 62

3.4.1 Diagrama de Flujo de Dato Home 62

3.4.2 Diagrama de Flujo de Dato Período Contable 63

3.4.3 Diagrama de Flujo de Dato Personalización de Documentos 64

3.4.4 Diagrama de Flujo de Dato Personalización Cuentas Contables 65

3.4.5 Diagrama de Flujo de Dato Asientos de Diario 66

3.4.6 Diagrama de Flujo de Dato Mayorización - Balances 67

3.4.70 Diagrama de Flujo de Dato Reportes 68

3.5 Diagrama de Secuencia 69

3.6 Diseño a nivel de Componentes 75

3.6.1 Diagrama de Componentes de Capas 75

3.6.2 Diagrama de Componentes 76

3.7 Diseño de Interfaz 79

Page 11: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XI

CAPÍTULO 4

CODIFICACIÒN 86

4.1 Modelo Utilizado para el desarrollo del Módulo 86

4.2 Tecnología utilizada 87

4.3 Herramientas utilizadas 88

4.3.1 Servidor de Aplicaciones: Web Apache 88

4.3.2 Servidor de Datos: Mysql 89

4.3.3 Lenguajes de Programación del lado del Servidor: PHP/JSP 89

4.3.4 Lenguajes de Programaciòn del lado del Cliente: Javascript 90

4.4 Estandares 91

4.4.1Base de datos 92

4.4.2 Codificación 92

4.4.3 Interfaces 92

4.4.4 Estilo

CAPÍTULO 5

PRUEBAS 94

5.1 Pruebas de Validación 94

5.1.1 Muestreo de las pruebas de validación 94

5.2 Prueba Unitaria 94

5.3 Prueba de Integración 95

5.4 Pruebas de Calidad 95

CONCLUSIONES 96

RECOMENDACIONES 98

GLOSARIO DE TERMINOS TECNICOS 99

BIBLIOGRAFÌA 100

Page 12: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XII

INDICE DE FIGURAS

Pág.

FIGURA 1 Distribución lógica por Capas 12

FIGURA 2 Distribución Física por Niveles 15

FIGURA 3 Inversión total 19

FIGURA 4 Presupuesto de Venta 20

FIGURA 5 Flujo de Efectivo/Cash Flow 21

FIGURA 6 Cronograma de Trabajo 26

FIGURA 7 Caso de Uso 1: Plan de Cuentas 30

FIGURA 8 Caso de Uso 2: Asientos de Diario 31

FIGURA 9 Caso de Uso 3: Mayorización 32

FIGURA 10 Caso de Uso 4: Balance General 33

FIGURA 11 Caso de Uso 5: Estado de Pérdidas y Ganancias 34

FIGURA 12 Caso de Uso 6: Balance de Sumas y Saldos 35

FIGURA 13 Diagrama de Clases 42

FIGURA 14 Diagrama del Sitio 43

FIGURA 15 Diagrama de Entidad Relación 48

FIGURA 16 Diagrama Flujo de Dato Home 62

FIGURA 17 Diagrama Flujo de Dato Periodo Contable 63

FIGURA 18 Diagrama Flujo de Dato Personalizacion de Documentos 64

FIGURA 19 Diagrama Flujo de Dato Personalizacion Cuentas Contab, 65

FIGURA 20 Diagrama Flujo de Dato Asientos de Diario 66

FIGURA 21 Diagrama Flujo de Dato Mayorizacion – Balances 67

Page 13: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XIII

FIGURA 22 Diagrama Flujo de Dato Reportes 68

FIGURA 23 Diagrama de Secuencia 69

FIGURA 24 Diagrama de Secuencia 70

FIGURA 25 Diagrama de Secuencia 71

FIGURA 26 Diagrama de Secuencia 72

FIGURA 27 Diagrama de Secuencia 73

FIGURA 28 Diagrama de Secuencia 74

FIGURA 29 Diagrama de Componentes de Capas 75

FIGURA 30 Diagrama de Componentes 76

FIGURA 31 Diseño de Interfaz 80

FIGURA 32 Diseño de Interfaz 80

FIGURA 33 Diseño de Interfaz 81

FIGURA 34 Diseño de Interfaz 81

FIGURA 35 Diseño de Interfaz 82

FIGURA 36 Diseño de Interfaz 82

FIGURA 37 Diseño de Interfaz 83

FIGURA 38 Diseño de Interfaz 83

FIGURA 39 Modelo Vista Controlador 87

Page 14: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XIV

INDICE DE TABLAS

Pág.

TABLA 1 Recursos Físicos para Servidor 16

TABLA 2 Recursos Físicos para Desarrollo 17

TABLA 3 Caso de Uso 1: Plan de Cuentas 30

TABLA 4 Caso de Uso 2: Asientos de Diario 31

TABLA 5 Caso de Uso 3: Mayorización 32

TABLA 6 Caso de Uso 4: Balance General 33

TABLA 7 Caso de Uso 5: Estado de Pérdidas y Ganancias 34

TABLA 8 Caso de Uso 6: Balance de Sumas y Saldos 35

TABLA 9 Diagrama de Escenarios y Subescenarios 36

TABLA 10 Diccionario de Datos 49

Page 15: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

CAPÍTULO 1

1. INTRODUCCION

1.1 Antecedentes

Los sistemas ERP (Planeación de Recursos Empresariales) son una

solución robusta para aquellas empresas que buscan una solución a la

centralización de su información, con el fin de elaborar la planeación de

los recursos y así mismo la toma de decisiones. En nuestro país todavía

los ERP están en sus comienzos, con esta oportunidad existente en

nuestro medio, la Universidad de Guayaquil siempre buscando ir a la

vanguardia con la tecnología, en su Seminario de Graduación se propone

desarrollar como tesis un ERP comercial competitivo para las pequeñas y

grandes empresas el cual va a tener varios módulos pertenecientes a los

distintos ámbitos de una empresa PYMES.

El ERP es un sistema integral de gestión empresarial que está diseñado

para modelar y automatizar la mayoría de procesos en la empresa (área

de finanzas, contable, compras, recursos humanos, producción, etc.). Su

misión es facilitar la planificación de todos los recursos de la empresa.

Page 16: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

2

Nuestra aportación a la tesis en su ERP, se centrará en el Área

Financiera Contable, siendo nuestro campo de acción a desarrollar el

Área Contable.

1.2 Problemática

El constante cambio tecnológico a obligado a las PYMES ha incursionar

en el ámbito del Internet puesto que la sucursales tienen que estar

actualizadas en la información. Actualmente las empresas cuentan con

un sistema automatizado que les sirve para trabajar en una red de área

local, el problema radica cuando estas empresas tienen sucursales, ellas

no pueden tener su información actualizada por el alto costo de las

comunicaciones.

También se identifica que para actualizar la información las empresas

deben respaldar su información y enviarla al servidor de la matriz lo cual

se lo hace una vez a la semana en lo mejor de los casos una vez al día y

con esto realizar el proceso de actualización. Esto acarrea que la

información no esté en línea ni actualizada y hace que haya pérdida de

tiempo en la entrega de información consolidada, entre otros problemas

identificados tenemos los siguientes:

1) Información no confiable.

2) No se dispone de información oportuna para la toma de decisiones.

3) Datos redundantes e innecesarios

Page 17: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

3

1.3 Solución

La perspectiva es tener un sistema integrado con un centro de datos

compartido, accesible, seguro y escalable para todas las sucursales que

tiene la empresa publicando servicios a través de la plataforma internet

por medio del cual los usuarios pueden acceder a los procesos de la

empresa que este necesite usar, reduciendo los costos que conlleva

implementar una infraestructura especializada en las comunicaciones

con un enlace dedicado. Nuestro modulo a desarrollar es un sistema

contable en cual se pueda obtener los estados financieros de forma

inmediata, veraz, oportuna con eficiencia y eficacia. Adicionalmente

proveer estructuras y servicios web para la integración de los módulos

descritos a continuación.

1.4 Misión

Automatizar y agilitar los procesos contables comúnmente aceptados de

una forma eficiente, disminuyendo los trabajos manuales para obtener un

mayor control y seguimiento de los procesos transaccionales para

obtener los estados financieros que reflejan la realidad de la empresa

para la toma de decisiones.

1.5 Visión

Ser líder en el mercado para administrar eficientemente el desempeño

del área Contable, reduciendo los costos de operación y manejo

departamental de las PYMES y de esta forma realizar su trabajo más

fácil y dinámico.

Page 18: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

4

1.6 Objetivos Generales

Desarrollar un Sistema Contable Integrado para ser utilizado en un

ambiente Web, que permita contabilizar los asientos de diario y obtener

el Libro Diario, el Libro Mayor y los Estados Financieros para las

pequeñas y medianas empresas. El cual es un módulo del ERP

Business Gestor bajo WEB, utilizando Tecnología RIA.

1.7 Objetivos Específicos

1) El objetivo de este proyecto es desarrollar un sistema que realice los

procesos anteriores y permita la elaboración de los estados financieros.

2) Crear las estructuras de base de datos contables.

3) Registrar todas las transacciones que se generen en el día, sean estos

diarios.

4) Efectuar el pase de asientos correspondientes a las cuentas de mayor.

5) Tener un buen manejo de volumen de información.

6) Flexibilidad al crecimiento de sucursales creadas.

7) Desarrollar sistema personalizado por medio de parámetros.

8) Registro de asientos de ajustes en el diario.

9) Preparar los asientos de cierre en el diario y a pasar las cuentas

correspondientes al mayor.

Page 19: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

5

10) Reporte de Diario General.

11) Reporte de Mayor por cuenta o en general por filtros.

12) Balance de Comprobación de Sumas y Saldos.

13) Balance de Comprobación de Sumas y Saldos Consolidado

14) Reporte del Balance General.

15) Reporte del Balance General Consolidado

16) Reporte del Estado de Pérdidas y Ganancias

17) Reporte del Estado de Pérdidas y Ganancias Consolidado

1.8 Alcances

1) Modulo contable y tener un buen manejo de volumen de información.

2) Flexibilidad al crecimiento de sucursales creadas.

3) Se tendrá absoluto control que constituye el plan de cuentas cuyo

objetivo es facilitar el trabajo contable para cuando se consolide los

diferentes módulos.

4) Crear las estructuras de base de datos contables.

Page 20: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

6

1.8.1 Módulo de Contabilidad

1.8.1.1 Mantenimiento

1) Plan de Cuentas, se ingresará el plan de cuentas por niveles de

acuerdo al tipo de empresa la clasificación de las cuentas

contables.

2) Períodos mensuales, para ingreso de los periodos mensuales y

el estado que como medida de control interno cerrar los meses ya

procesados, con el propósito que no se pueda ninguna modificación

al mes cerrado. Su estado puede ser: Activo, Inactivo, Verificado,

Pendiente Verificación, Cerrado.

3) Periodo contable, para ingreso de los periodos contables y

actualización de estado vigente. Su estado puede ser: Activo,

Inactivo, Verificado, Pendiente Verificación, Cerrado.

4) Documentos, Esta tabla servirá como catálogo de todos tipos de

documentos que se utilicen dentro de una transacción contable.

CH Cheque

ND Nota de Débito

NC Nota de Crédito

DI Diario

Page 21: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

7

1.8.1.2 Ciclo Contable

1) Ingreso de Registro de diarios de asientos ajustes y

regularizaciones.

2) Permite registrar los asientos de ajustes, las cuentas deben

presentar su saldo real, por cuanto estos valores servirán de base

para preparar estados financieros. Cuando los saldos de las

cuentas no son reales es necesario aumentarlos, disminuirlos o

corregirlos mediante un asiento contable llamado asiento de ajuste

que se necesite para el respectivo cuadre de los Estados

Financieros o regularizaciones de cuentas.

3) Preparar los asientos de cierre en el diario y a pasar las cuentas

correspondientes al mayor.

4) El asiento de cierre se realizará saldando todas las cuentas

abiertas, de modo, que se cargarán las cuentas que tengan un

saldo deudor, mientras que se abonarán las que tengan saldo

acreedor.

1.8.1.3 Reportes

Todos los Reportes pueden ser convertidos a formato en Excel o

en formato de texto csv.

1) Libro Diario General, permite visualizar el Diario General por

fechas, por número de Diario.

Page 22: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

8

2) Libro Mayor, es el Libro de cuentas que proporciona detalles que

respaldan los saldos individuales, el total de los cuales aparece en

una cuenta en el Mayor general. El total de las cuentas de un mayor

auxiliar es igual al saldo de la cuenta de control respectiva del

mayor general o Libro Mayor Puede ser impreso por Cuenta.

3) Balance de Comprobación sumas y saldos, permite imprimir o

visualizar el Balance de Comprobación a una fecha de corte

4) Balance de Comprobación sumas y saldos Consolidado, permite

imprimir o visualizar el Balance de Comprobación a una fecha de

corte de la suma de todas las sucursales.

5) Balance General, permite imprimir o visualizar el Balance

General a una fecha de corte.

6) Balance General Consolidado, permite imprimir o visualizar el

Balance General a una fecha de corte, de la suma de todas las

sucursales.

7) Estado de Pérdidas y Ganancias, permite imprimir o visualizar el

Estado de Pérdidas y Ganancias a una fecha de corte.

8) Estado de Pérdidas y Ganancias Consolidado, permite imprimir o

visualizar el Estado de Pérdidas y Ganancias con el total de la

suma de todas las sucursales.

Page 23: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

9

1.8.1.4 Procesos Contables

1) Mayorización, este proceso calcula los saldos de todas las

cuentas pertenecientes al plan de cuentas tomando base el libro

diario donde se encuentran todas las transacciones o asientos

de cada una de las cuentas.

2) Pérdidas y Ganancias Mensual, este proceso nos permite

calcular automáticamente los valores correspondientes a las

cuentas del PYG del mes por cada Sucursal.

3) Pérdidas y Ganancias Acumulado, este proceso nos permite

calcular automáticamente los valores correspondientes a las

cuentas del PYG acumulado por cada Sucursal para su posterior

revisión y aprobación.

4) Balance General, este proceso calcula y organiza todos los

saldos de las cuentas y genera el reporte de Balance General

para su posterior revisión y aprobación.

5) Cierre Mensual, señalar el mes que se desea cerrar, el cual

realiza los respectivos procesos de cierre mensual y migración

de los datos y reportes a los históricos.

6) Cierre anual, señalar el año que se desea cerrar, el cual realiza

los respectivos procesos de cierre anual y migración de los

datos y reportes a los históricos.

Page 24: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

10

1.9 Metodología

Vamos a utilizar una metodología evolutiva en espiral, en el cual tenemos

contempladas las etapas de: Requerimiento, Análisis, Diseño,

Implementación y Pruebas. Descripción de lo que se va ha realizar en

las distintas etapas.

Requerimiento Recolección de requisitos que necesita el módulo contable Web,

comunicación con los clientes sobre lo que se desea que haga el

módulo. Recopilación de Información, Documentos y Reportes de

respaldo del Registro Contable..

Análisis

Estudio del riesgo, ver lo dificultoso que se nos puede hacer desarrollar

las distintas opciones que va a tener la página.

Análisis de los procesos contables que se realizan en el departamento de

contabilidad.

Análisis de los Documentos que se utilizan.

Análisis del tiempo que nos puede tomar la elaboración de alguna

opción. Esta puede variar en el desarrollo del mismo)

Diseño

Modelos de Diseño y Modelo de Componentes, entre otros se

elaborarán: Diseño de Interfaces, Diseño de Entidad Relación, Diseño

de Clases, Diseño de Flujo de Datos, Diagrama de Componentes,

Diagrama del Sitio.

Page 25: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

11

Implementación

Desarrollo del código, Interface gráfica de usuario, pruebas y

retroalimentación.

Pruebas

Se desarrollarán un conjunto de pruebas como de Caja Negra.

1.10 Arquitectura

1.10.1 Distribución lógica por Capas.

El desarrollo del proyecto estará dado según la arquitectura 3 capas

que consta de las siguientes:

1) Capa Cliente.

2) Capa de Negocio.

3) Capa de Datos.

El objetivo de llevar el desarrollo de nuestro proyecto en varias

capas es previendo que sobrevenga algún cambio, en esta caso

solo se afectaría directamente a la requerida sin tener que revisar

un código mezclado y extenso.

También permite distribuir el trabajo de creación de nuestro

proyecto por niveles y permitiendo el diseño de las capas de

manera escalable de modo que pueda ampliarse con facilidad en

caso de que las necesidades aumenten.

Page 26: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

12

FIGURA 1 Distribución lógica por Capas

Capa Cliente, esta capa estará implementada en PHP con HTML y

será la interfaz con el usuario interno de la empresa, es esta capa la

que se comunica directamente con la capa de Negocio.

Capa de Datos, es aquí donde van a residir los datos y es la

encargada de acceder a los mismos. El gestor de Base de Datos es

MySQL el cual se va a encargar de atender todas las solicitudes de

la capa anterior (Capa de Negocio) para el almacenamiento o

recuperación de la información.

Page 27: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

13

1.10.2 Ventajas de la Arquitectura

1) El desarrollo se puede llevar a cabo en varios niveles.

2) Desarrollos paralelos en cada capa.

3) Aplicaciones más robustas debido al encapsulamiento.

4) En caso de que sobrevenga algún cambio, sólo se ataca al nivel

requerido sin tener que revisar entre código mezclado.

5) Mantenimiento y soporte más sencillo; puesto que es más

sencillo cambiar un componente que modificar una aplicación

monolítica.

6) Mayor flexibilidad porque se pueden añadir nuevos módulos para

dotar al sistema de nueva funcionalidad.

7) Alta escalabilidad puede manejar muchas peticiones con el

mismo rendimiento simplemente añadiendo más hardware.

8) El crecimiento es casi lineal y no es necesario añadir más código

para conseguir esta escalabilidad.

Page 28: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

14

1.10.3 Herramientas

1.10.3.1 Servidor Web Apache

Trabajaremos con el servidor HTTP Apache ya que es un

software libre de código abierto para plataformas GNU/Linux,

Windows, Macintosh y otras. Además corre en una multitud

de sistemas operativos, lo que lo hace prácticamente

universal y trabaja con varios lenguajes de script en uno de

ellos el PHP.

1.10.3.2 PHP

Trabajaremos con este lenguaje de programación para la

creación de contenido para el sitio Web, con los cuales

vamos a programar las paginas HTML y los códigos fuente.

1.10.3.3 MYSQL

Es un sistema de gestión de base de datos relacional,

multihilo y multiusuario con más de seis millones de

instalaciones. MySQL AB desarrolla MySQL como software

libre en un esquema de licenciamiento dual. Por un lado lo

ofrece bajo la GNU GPL, pero, empresas que quieran

incorporarlo en productos privativos pueden comprar a la

empresa una licencia que les permita ese uso.

Page 29: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

15

1.10.4 Distribución Física por Niveles

FIGURA 2 Distribución Física por Niveles

Cabe indicar que las Capas de Negocio y Datos van a residir en un

solo servidor, pero en el caso futuro de crecimiento de la base de

datos se podrá separar la capa de Datos en otro servidor la cual

recibirá las peticiones del servidor que contenga la Capa de

Negocio; pero por el momento el proyecto básicamente será de 3

Capas y 1 Nivel de distribución física.

1.11 Recursos

Recursos Tecnológicos a utilizar para el desarrollo del sistema. Los

Recursos Tecnológicos que utilizaremos en el desarrollo del proyecto se

detallan a continuación:

Page 30: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

16

1.11.1 Recursos Físicos para Servidor

SERVIDOR DESCRIPCIÓN

Modelo Servidor DL380G5 (Meddle)

Procesador

QUAD-CORE Intel Xeon 5430 (2,66 GHZ, 1333FSB)GB (2GB RAM) /Rack 2U

Memoria Cache

12MB (2X6MB ) de Caché Nivel 2

Controladora de Discos

Array Controladora E400 con 256MB

Raid 0/1/1+0/5

Tarjeta de Red incorporada 2 Red Gigabit NC373i

Almacenamiento

HP 146GB 3G SAS 10K SFF SP HDD Hot-Plug

Fuente de Poder HP Fuente de poder RPS 350/370/380 G5 US Kit

Memoria

HP memoria 1 GB PC2-5300

DVD Slimline DVD writer

Puertos

1 puerto serial, 2 puertos USB, 1 puerto para teclado, 1 puerto para mouse, 1 para monitor

TABLA 1 Recursos Físicos para Servidor

Page 31: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

17

1.11.2 Recursos Físicos para Desarrollo

DESARROLLO

DESCRIPCIÓN

Modelo HP

Procesador

Tecnología procesador Pentium IV Velocidad del reloj 3.7 Ghz

Memoria Cache

Caché de transferencia de datos avanzada L2 de 1 MB integrada al procesador

Tarjeta de Red incorporada

PCI 10/100/1000 con conector RJ45

Almacenamiento

Capacidad 250 GB, Velocidad de Acceso I/O SATA 7200 RPM

Memoria instalada 1 GB MB DDR

DVD Slimline DVD writer

Puertos

Serial, Paralelo, USB, SVGA

Monitor Tamaño 17"

Teclado 101/102 teclas con 12 para función

Mouse

Mouse inteligente PS2 –USB

TABLA 2 Recursos Físicos para Desarrollo

Page 32: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

18

1.11.3 Recursos Software:

Los Recursos de Software que utilizaremos en el desarrollo de

nuestro proyecto son Open Source que a continuación

detallaremos:

Base de Datos MySQL

Lenguaje de Programación PHP

Dream Weaver CS4

Lenguaje HTML

Servidor Apache para el uso de multiplataforma.

Navegador Moxilla 3.5

Navegador Internet Explorer 7.0

Microsoft Windows XP, Vista, 2003 server.

Microsoft Visio.

1.11.4 Recursos Humanos: Se requiere de tres personas con conocimientos en:

Base de Datos MySQL

Lenguaje de Programación PHP

HTML, Dream Weaver CS4

1.11.5 Recursos Financieros: Los Recursos Financieros que utilizaremos son aportaciones de cada uno de nosotros los integrantes del modulo contable.

Page 33: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

19

1.12 Flujo de Caja

1.12.1 Inversión total

FIGURA 3 Inversión total

Page 34: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

20

1.12.2 Presupuesto de Venta

FIGURA 4 Presupuesto de Venta

Page 35: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

21

1.12.3 Flujo de Efectivo/Cash Flow

FIGURA 5 Flujo de Efectivo/Cash Flow

Page 36: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

22

1.13 Estudio de Mercado

Definición del Producto

El producto que se quiere desarrollar e incorporarlo al mercado de

software que sustituirá el Sistema tradicional.

Módulo de Contabilidad, incorpora Seguridad, Eficiencia, Exactitud,

Veracidad, Fácil de usar, y que los asientos contables sean

generados por otros módulos integrados.

Análisis del entorno

Las pequeñas y medianas empresas en el área contable están

sujetas a Leyes, Reglamentos, Registros Oficiales, y actualmente

casi todas las empresas disponen de una infraestructura tecnológica

accesible a las empresas tanto por su precio como por el

conocimiento. Las leyes obligan a las empresas a presentar los

Estados Financieros y cumplir con obligaciones tributarias.

Análisis de la Demanda

En la actualidad las empresas requieren llevar un control más

exhaustivo de su personal para poder aprovechar sus habilidades al

máximo.

Page 37: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

23

Existe un crecimiento las empresas actualmente disponen de un

sistema de Contabilidad pero que no está integrado a sus otras

oficinas, o dentro de la misma empresa. Se requiere de un Sistema

que se tenga actualizado siempre y en todo momento de información

actualizada e integrada y poder disponer de Estados Financieros

reales.

Análisis de Precio

Realizado un análisis de Precio por el costo del Proyecto que es de

US$10,161.92 y se espera el retorno de la inversión en seis meses

más una ganancia presupuestada de US$1,306.35 por cada venta,

el precio de venta es de US$3,000.oo

Período de Recuperación del Proyecto.

La productividad mejorará, se percibirán mayores ingresos debido a

la segura y plena satisfacción de los clientes con los servicios del

sistema.

Se espera el retorno de la inversión en 6 meses y en cada mes

también se considera una ganancia mensual de 40% por mes y al

cabo del tiempo presupuestado y así mismo de lo que se ha

presupuestado en ventas , se considera que al cabo de seis meses el

total de la Inversión haya sido recuperada.

Page 38: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

24

Canales de Comercialización

La comercialización y distribución de nuestro producto se realizará a

través de la Internet - Web y visitas de presentación del sistema a

empresas y medios de comunicación personal contable de

empresas.

Análisis de la Oferta

La participación en el mercado de este tipo de software es bastante

elevada, debido al bajo presupuesto que tienen las empresas y

empiezan a adquirir pequeños módulos que satisfacen determinados

requerimientos. Sin duda la calidad, presentación y funcionabilidad

de producto con estas características solo soluciona el requerimiento

del cliente, y no hay un compromiso de crecimiento de la institución.

Entre la competencia tenemos a Lincoln Group,, dispone de un ERP

que utiliza tecnología Java J2EE y WEB Enable, utiliza el internet

como plataforma, con tecnología Visual punto net, Oracle, Java.

ERP Integrado PAC, apoyada por la empresa Proveedatos del

Ecuador S.A.

El sistema de información contable Produce estados financieros

(ventas, pedidos, costos, cuentas por pagar y flujos de efectivo)

Page 39: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

25

Penetración de mercado.

En el mercado ecuatoriano no se dispone mayormente de ERP, por

ser un campo que está casi sin explorar, y más aún si este es en

Internet.

Pronósticos de ventas

Las ventas anual del primer año se pronostican por US$72,000

Page 40: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

26

1.14 Cronograma de Trabajo

FIGURA 6 Cronograma de Trabajo

Page 41: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

27

1.15 F. O. D. A.

Fortaleza

Interfaz web amigable de fácil manejo para el usuario.

Optimización de los procesos empresariales.

Acceso a toda la información de forma confiable, precisa y oportuna

Compartir información entre todos los componentes de la

organización.

Eliminación de datos y operaciones redundantes.

Esquematizar para que los distintos módulos puedan integrarse y

consumir de nuestras estructuras de datos.

Sistema totalmente integrado.

Misión, Visión, Objetivos y Alcance bien definidos.

Generación de Asientos de Diario.

Oportunidades

Apertura a las nuevas tecnologías.

Aprovechar la infraestructura del internet.

Organización con gran apertura a distintos mercados

Conocimiento del negocio por los potenciales clientes.

Es un campo que es incipiente.

Page 42: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

28

Debilidades

Problema en cuanto a las actividades y tareas que se realizan en

cada departamento.

Uso de recursos financieros de manera desorganizada y arbitraria.

Personas en altos mandos con resistencia y miedo al cambio.

Amenazas

Piratería por parte de ciertos usuarios.

Competencia de productos similares.

Inestabilidad del Gobierno.

Personal con resistencia a los cambios tecnológicos.

Falta de inversión de las medianas empresas en Sistemas

Contables Integrados.

Page 43: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

29

CAPÍTULO 2

2. ANALISIS

2.1 Diagramas de Casos de Uso

En los siguientes diagramas de casos de uso se mostrará la relación

entre actores y los casos de uso del sistema, además representa la

funcionalidad del sistema, explicara los procesos que realizara cada ente

involucrado en el Proceso del Módulo Contable, teniendo como objetivo

principal la comprensión global del módulo.

Page 44: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

30

Caso de Uso 1: Plan de Cuentas

FIGURA 7 Caso de Uso 1: Plan de Cuentas

Nombre: Plan de Cuentas

Definición Crear Plan de Cuentas

Actores:

Jefe del Departamento de Contabilidad /Contador

Función:

Crear el Plan de Cuentas de la empresa y mantenerlo actualizada las cuentas.

Ingresar y modificar las cuentas en el Plan de Cuentas de la empresa

Referencias: Plan de Cuentas de la empresa

TABLA 3 Caso de Uso 1: Plan de Cuentas

Page 45: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

31

Caso de Uso 2: Asientos de Diario

FIGURA 8 Caso de Uso 2: Asientos de Diario

Nombre: Asientos de Diario

Definición:

Asientos de Ajustes de regularización, de cierre y de apertura.

Actores: Contador

Función:

Realizar los asientos inicial, normal, ajustes, regularización y cierre

El Contador se encargará de ingresar los ajustes por regularización y por cierre. El sistema debe validar lo siguiente: 1.- El contador verificará el asiento generado por los otros módulos del ERP y en caso de haber diferencias o inconsistencia realizará el respectivo asiento de de ajuste por regularización. 2.- El contador realizará los asientos por cierre al final del mes y a finales del años.

Referencias: Libro Diario, Documentos requeridos por el asiento.

TABLA 4 Caso de Uso 2: Asientos de Diario

Page 46: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

32

Caso de Uso 3: Mayorización

GenerarMayorización

Mayorización

Contador

Jefe de Contabilidad

FIGURA 9 Caso de Uso 3: Mayorización

Nombre: Mayorización

Definición: Generar el Libro Mayor

Actores: Jefe de Contabilidad/Contador

Función: Generar el Libro Mayor

El Jefe de Contabilidad o el Contador se encargará de generar el Libro Mayor, el cual mantendrá actualizado los saldos de las cuentas con los asientos de diario ingresados.

Referencias:

TABLA 5 Caso de Uso 3: Mayorización

Page 47: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

33

Caso de Uso 4: Balance General

Generar BalaneGeneral

Balance General

Contador

Jefe de Contabilidad

FIGURA 10 Caso de Uso 4: Balance General

Nombre: Balance General

Definición: Generar el Balance General

Actores: Jefe de Contabilidad/Contador

Función: Generar el Balance General

El Jefe de Contabilidad o el Contador se encargará de generar el Balance General en cualquier momento que lo requiera.

Referencias: Asientos de Diario ingresados

TABLA 6 Caso de Uso 4: Balance General

Page 48: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

34

Caso de Uso 5: Estado de Pérdidas y Ganancias

Generar Estado dePérdidas y Ganancias

Estado de Pérdidas y

Ganancias

Contador

Jefe de Contabilidad

FIGURA 11 Caso de Uso 5: Estado de Pérdidas y Ganancias

Nombre: Estado de Pérdidas y Ganancias

Descripción: Elabora el Estado de Pérdidas y Ganancias

Actores: Jefe de Contabilidad/Contador

Función: Generar el Estado de Pérdidas y Ganancias

El actor dispondrá de una opción para generar el Estado de Pérdidas y Ganancias dada una fecha de corte.

Referencias: Asientos de Diario

TABLA 7 Caso de Uso 5: Estado de Pérdidas y Ganancias

Page 49: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

35

Caso de Uso 6: Balance de Sumas y Saldos

Generar Balance deSumas y Saldos

Balance de Sumas Y Saldos

Contador

Jefe de Contabilidad

FIGURA 12 Caso de Uso 6: Balance de Sumas y Saldos

Nombre: Balance de Sumas Y Saldos

Descripción: Elaborar el Balance de Sumas y Saldos

Actores: Jefe de Contabilidad/Contador

F unción: Generar el Balance de Sumas y Saldos

Generará el Estado de Pérdidas u Ganancias en base a una fecha de corte.

Referencias: Asientos de Diario

TABLA 8 Caso de Uso 6: Balance de Sumas y Saldos

Page 50: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

36

2.2 Diagrama de Escenarios y Subescenarios

Escenario 1:

Plan de Cuentas

Escenario: 1.1

Nombre:

INGRESO DE PLAN DE CUENTAS

Precondiciones:

La cuenta no debe estar ingresada

Postcondiciones:

Todos los datos que son obligatorios deben estar ingresados. El número del id del Plan de Cuentas se incrementa automáticamente de uno en uno.

Excepciones:

Un asistente del contador no puede realizar esta operación.

Iniciado por:

Contador

Finalizado por:

Contador

Detalle operaciones:

Se realiza al inicio de vida de toda empresa por parte del Contador quien define el Plan de Cuentas a utilizar.

Escenario: 1.2

Nombre:

Modificación del Plan de Cuentas

Precondiciones:

La cuenta ya debe existir

Postcondiciones:

Todos los datos que son obligatorios deben estar ingresados.

Excepciones:

Un asistente del contador no puede realizar esta operación.

Iniciado por:

Contador

Finalizado por:

Contador

Page 51: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

37

Escenario 2:

Asientos de Diario

Escenario: 2.1

Ingreso de Asiento de Diario

Nombre:

El asiento será manual o automático

Precondiciones:

El asiento será manual o automático

Postcondiciones:

El asiento debe estar balanceado, las sumatorias deben ser iguales tanto en el debe como el haber.

Excepciones:

Un asistente del contador no puede realizar esta operación.

Iniciado por:

Contador

Finalizado por:

Contador

Detalle operaciones:

Cuando el asiento es manual, quien lo realiza debe verificar que este balanceado o sino el sistema no permitirá su ingreso, si es automático el sistema al momento de generarlo verifica que este correcto.

Escenario 2:

Asientos de Diario

Escenario: 2.1

Ingreso de Asiento de Diario

Nombre:

Inicial

Precondiciones:

Asiento Inicial con que comienza las operaciones en el periodo anual.

Postcondiciones:

Excepciones:

Un asistente del contador no puede realizar esta operación.

Iniciado por:

Contador

Finalizado por:

Contador

Page 52: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

38

Escenario 2:

Asientos de Diario

Escenario: 2.1

Ingreso de Asiento de Diario

Nombre:

Ajuste de Regularización

Precondiciones:

Exista un error en un asiento de diario

Postcondiciones:

Excepciones:

Un asistente del contador no puede realizar esta operación.

Iniciado por:

Contador

Finalizado por:

Contador

Detalle operaciones:

Se escoge el Asiento de Diario de acuerdo a un número de asiento, para poder reversar el asiento, lo que está en el Debe pase al Haber y viceversa.

Escenario 2:

Asientos de Diario

Escenario: 2.1

Ingreso de Asiento de Diario

Nombre:

Cierre

Precondiciones:

Para contabilizar el cierre de las cuentas.

Postcondiciones:

Excepciones:

Un asistente del contador no puede realizar esta operación.

Iniciado por:

Contador

Finalizado por:

Contador

Page 53: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

39

Escenario: 2.1.2

Nombre:

Ajuste de Cierre

Precondiciones:

Se debe estar seguro de ya no registrara mas asientos de diario en ese periodo

Postcondiciones:

Excepciones:

Iniciado por:

Contador

Finalizado por:

Contador

Detalle operaciones:

Se realiza el Ajuste de Cierre del periodo mensual siempre y cuando se este seguro de que ya se registraran mas asientos.

Escenario 3:

Mayorización

Escenario: 3.1

Nombre:

Generar Mayorización

Precondiciones:

Deben existir Asientos de diario para poder generar

Postcondiciones:

Excepciones:

Iniciado por:

Jefe del Departamento de Contabilidad/ Contador/ Asistente de Contador

Finalizado por:

Jefe del Departamento de Contabilidad/ Contador/ Asistente de Contador

Detalle operaciones:

Se escoge el periodo a mayorizar sea este pendiente de verificación o activo.

Page 54: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

40

Escenario 4:

Balance General

Escenario: 4.1

Nombre:

Generar Balance General

Precondiciones:

Proceso de Pérdidas y Ganancias

Postcondiciones:

Excepciones:

Iniciado por:

Jefe del Departamento de Contabilidad/ Contador

Finalizado por:

Jefe del Departamento de Contabilidad/ Contador

Detalle operaciones:

Se hacen las sumas de las cuentas que intervienen en el Balance General para que estas estén mayorizadas y se pueda generar el informe

Escenario 5:

Estado de Pérdidas y Ganancias

Escenario: 5.1

Nombre:

Generar Estado de Pérdidas y Ganancias

Precondiciones:

Realizado los asientos de ajustes , regularización y de cierre

Postcondiciones:

Excepciones:

Iniciado por:

Jefe del Departamento de Contabilidad/ Contador

Finalizado por:

Jefe del Departamento de Contabilidad/ Contador

Detalle operaciones:

Se hacen las sumas de las cuentas que intervienen en el Estado de Pérdidas y Ganancias para que estas estén mayorizadas.

Page 55: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

41

Escenario 6:

Balance de Sumas y Saldos

Escenario: 6.1

Nombre:

Generar Balance de Sumas y Saldos

Precondiciones:

Haber generado la Mayorización del periodo.

Postcondiciones:

Excepciones:

Iniciado por:

Jefe del Departamento de Contabilidad/ Contador

Finalizado por:

Jefe del Departamento de Contabilidad/ Contador

Detalle operaciones:

Se hacen las sumas de las cuentas que intervienen en el Balance de Sumas y Saldos, para que se pueda generar el informe.

TABLA 9 Diagrama de Escenarios y Subescenarios

Page 56: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

42

2.3 Diagrama de Clases

FIGURA 13 Diagrama de Clases

Page 57: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

43

2.4 Diagrama del Sitio

FIGURA 14 Diagrama del Sitio

Page 58: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

44

Usuario Log in

El usuario administrativo se certifica el acceso al ERP en la pantalla que

se encuentra en el modulo de Servicio al Cliente.

Mantenimiento

Personalización Documentos

En esta pantalla el contador ingresará todos los distintos tipos de

documentos que se van a utilizar en la vida de la institución.

Personalización de Cuentas Contables

La pantalla permitirá el ingreso del plan de cuentas jerárquico y por

grupos de cuentas, en el cual se asignarán los grupos y las cuentas

contables pertenecientes a los mismos.

Los códigos pertenecientes a cada cuenta contable se generarán

automáticamente y permitiendo los niveles que la institución vea

necesarios en su plan de cuenta.

Periodo Anual

En esta opción el contador ingresará, modificará, activará, y cerrará

los periodos anuales o contables en los que la empresa llevará sus

actividades.

Periodo Mensual

En esta opción el contador ingresará, modificará, activará, y cerrará

los periodos mensuales en los que la empresa llevará sus actividades.

Page 59: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

45

Ciclo Contable

Asientos de Diario

Esta pantalla permitirá al contador ingresar todos los asientos de

diarios correspondientes a la empresa y relacionado con las cuentas

contables que se definieron anteriormente.

La pantalla le permitirá identificar si corresponde a una asiento normal,

un asiento de ajuste, asiento de cierre, asiento inicial.

Procesos Contables

Mayorización

Permitirá realizar el proceso de Mayorización y cálculo de saldos para

todas las cuentas contables, y a su vez actualizar los registros para la

obtención de reportes.

Pérdidas y Ganancias Mensual

Permitirá realizar el proceso de Pérdidas y Ganancias mensual de la

empresa por sucursal, y a su vez actualizar los registros para la

obtención de reportes.

Pérdidas y Ganancias Acumulado

Permitirá realizar el proceso de Pérdidas y Ganancias con los saldos

acumulados de los periodos anteriores de la empresa por sucursal, y a

su vez actualizar los registros para la obtención de reportes.

Page 60: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

46

Balance General

Permitirá realizar el proceso de Balance General de la empresa por

sucursal, y a su vez actualizar los registros para la obtención de reportes.

Reportes

Esta pantalla permitirá al contador ingresar el periodo y la fecha de corte

para obtener los reportes de:

1) Libro Diario.

2) Libro Mayor.

3) Balance de Sumas y Saldos.

4) Balance Inicial.

5) Estado de Pérdidas y Ganancias.

6) Balance General.

7) Balance de Sumas y Saldos Consolidado

8) Balance Inicial Consolidado

9) Estado de Pérdidas y Ganancias Consolidado

10) Balance General Consolidado

Page 61: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

47

CAPÍTULO 3

3. DISEÑO

3.1 Introducción

El módulo cumplirá con las necesidades del usuario. Para conseguir

este objetivo se levantó información del proceso de contabilización en un

medio en el que se iban a integrar todos los módulos que componen el

ERP los cuales van a contabilizar los asientos directamente a las bases

de datos.

Se utilizaron técnicas como Diagramas de Flujo y Diagramas de Entidad

Relación porque son entendibles por el usuario. En este análisis se

confirmaron las necesidades tanto de datos como de procesos

Page 62: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

48

3.2 Diagrama de Entidad Relación

FIGURA 15 Diagrama de Entidad Relación

Page 63: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

49

3.3. Diccionario de Datos

TABLA 10 Diccionario de Datos

con_balance_general

Campo Tipo Null Key Descripción

cod_balance_general int(11) NO PRI Codigo Balance General

cod_bg_plt int(11) NO FK Foranea al Cod.Balance General plantilla

clasificacion varchar(6) NO a que grupo pertenece AC=Activo corriente

descripcion varchar(60) NO Descripcion

clase char(1) NO C=Cuenta G= Grupo

codigo_cuenta varchar(15) YES Codigo de cuenta

valor decimal(10,2) YES Valor

estado char(1) NO Estado

periodoa char(4) NO Periodo Anual

periodom int(11) NO Periodo Mensual

cod_sucursal int(11) NO Codigo Sucursal

fecha_gen datetime NO Fecha Generacion

con_balance_general_cons

Campo Tipo Null Key Descripción

cod_balance_general int(11) NO PRI Codigo Balance General

cod_bg_plt int(11) NO FK Foranea al Cod.Balance General plantilla

clasificacion varchar(6) NO a que grupo pertenece AC=Activo corriente

descripcion varchar(60) NO Descripcion

clase char(1) NO C=Cuenta G= Grupo

codigo_cuenta varchar(15) YES Codigo de cuenta

valor decimal(10,2) YES Valor

estado char(1) NO Estado

periodoa char(4) NO Periodo Anual

periodom int(11) NO Periodo Mensual

fecha_gen datetime NO Fecha Generacion

Page 64: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

50

con_balance_general_cons_his

Campo Tipo Null Key Descripción

cod_balance_general int(11) NO PRI Codigo Balance General

cod_bg_plt int(11) NO FK Foranea al Cod.Balance General plantilla

clasificacion varchar(6) NO a que grupo pertenece AC=Activo corriente

descripcion varchar(60) NO Descripcion

Clase char(1) NO C=Cuenta G= Grupo

codigo_cuenta varchar(15) YES Codigo de cuenta

Valor decimal(10,2) YES Valor

estado char(1) NO Estado

periodoa char(4) NO Periodo Anual

periodom int(11) NO Periodo Mensual

fecha_gen datetime NO Fecha Generacion

con_balance_general_his

Campo Tipo Null Key Descripción

cod_balance_general int(11) NO PRI Codigo Balance General

cod_bg_plt int(11) NO FK Foranea al Cod.Balance General plantilla

clasificacion varchar(6) NO a que grupo pertenece AC=Activo corriente

descripcion varchar(60) NO Descripcion

clase char(1) NO C=Cuenta G= Grupo

codigo_cuenta varchar(15) YES Codigo de cuenta

valor decimal(10,2) YES Valor

estado char(1) NO Estado

periodoa char(4) NO Periodo Anual

periodom int(11) NO Periodo Mensual

cod_sucursal int(11) NO Codigo Sucursal

fecha_gen datetime NO Fecha Generacion

con_balance_general_plt

Page 65: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

51

Campo Tipo Null Key Descripción

cod_bg_plt int(11) NO PRI Codigo Plantilla del Balance General

clasificacion varchar(6) NO Clasif; AC=Activo Corriente...

descripcion varchar(60) NO Descripcion

clase char(1) NO C=Cuenta T=Totalizadora

codigo_cuenta varchar(15) YES Codigo del plan de cuentas

estado char(1) NO Estado

fecha_gen datetime NO Fecha de generacion

con_balance_inicial_plt

Campo Tipo Null Key Descripción

cod_bg_plt int(11) NO PRI Codigo Plantilla del Balance General

clasificacion varchar(6) NO Clasif; AC=Activo Corriente...

descripcion varchar(60) NO Descripcion

Clase char(1) NO C=Cuenta T=Totalizadora

codigo_cuenta varchar(15) YES Codigo del plan de cuentas

estado char(1) NO Estado

fecha_gen datetime NO Fecha de generacion

con_balancei_temp

Campo Tipo Null Key Descripción

cod_bg_plt int(11) NO PRI Foranea al Cod.Balance General plantilla

clasificacion varchar(6) NO a que grupo pertenece AC=Activo corriente

descripcion varchar(60) NO Descripcion

Clase char(1) NO C=Cuenta G= Grupo

codigo_cuenta varchar(15) YES Codigo de cuenta

Valor decimal(10,2) YES Valor

estado char(1) NO Estado

periodoa char(4) NO Periodo Anual

periodom int(11) NO Periodo Mensual

cod_sucursal int(11) NO Codigo Sucursal

fecha_gen datetime NO Fecha Generacion

con_cab_asiento

Page 66: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

52

Campo Tipo Null Key Descripción

cod_cab_asiento int(11) NO PRI Codigo de cabecera del asiento

cod_sucursal int(11) YES FK codigo de la sucursal

cod_modulo_erp tinyint(4) YES FK Codigo del Modulo ERP de donde proviene el asiento

cod_tipo_doc tinyint(4) YES FK Codigo de Tipo de Documento

num_asiento int(11) YES Numero de Asiento por Sucursal

num_formulario int(11) YES Numero de Asiento la Sucursal

fecha datetime YES Fecha deL Asiento

valor_total decimal(10,2) YES Valor Total del asiento

concepto varchar(500) YES Concepto o Glosa del asiento

cuadrado varchar(1) YES Asiento Cuadrado S=Si N= No

fec_crea datetime YES Fecha de creacón del asiento

user_crea varchar(15) YES Usuario de creación del asiento

fec_mod datetime YES Fecha de modificac. del asiento

user_mod varchar(15) YES Usuario que modificó el asiento

estado varchar(1) YES Estado

periodoa varchar(4) YES Numero de Periodo contable

periodom int(11) YES Numero de Periodo mensual

mayoriza char(1) NO Mayoriza S=Si N= No

con_det_asiento Campo Tipo Null Key Descripción

cod_det_asiento int(11) NO PRI Codigo de Detalle del Asiento

cod_cab_asiento int(11) NO MUL Codigo de la cabecera de este asiento

cod_plan_cuentas int(11) YES MUL Foránea al Plan de Cuentas

movimiento varchar(1) YES D=Debe H=haber

cod_modulo_erp tinyint(4) YES MUL Foránea al módulo ERP

valor_det decimal(10,2) NO Valor de este detalle

observacion varchar(2555) YES Glosa del detalle

indicador_pto varchar(1) YES Indicador presupuestario

modulo varchar(45) YES Modulo del ERP

estado varchar(1) YES Estado del detalle del asiento

periodoa varchar(4) NO Periodo Contable

periodom int(11) NO Foránea a Periodo Mensual

cod_sucursal int(11) NO Codigo de Sucursal

fecha_crea date NO Fecha de creación

mayoriza char(1) NO S=Si N= No I= Inicial

Page 67: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

53

con_estado_periodo Campo Tipo Null Key Descripción

cod_est_prd tinyint(4) NO PRI Codigo del Estado de Periodo

codigo_estado varchar(1) YES Codigo de estado

descripcion varchar(50) YES Descripcion

fech_crea datetime YES Fecha de creacion

user_crea varchar(15) YES Usuario de creación

fech_mod datetime YES Fecha de modificación

user_mod varchar(15) YES Usuario de modificación

estado varchar(1) YES Estado A=Activo I = Inactivo

con_estadopyg

Campo Tipo Null Key Descripción

cod_epg int(11) NO PRI Codigo de Estado de Perdidas y Ganancias

cod_epg_plt int(11) NO FK Codigo de plantilla de Estado de P y G

descripcion varchar(60) NO Descripcion

clase char(1) NO Clase C=Cuenta T= Totalizadora

valor decimal(10,2) NO Valor

codigo_cuenta varchar(15) NO Codigo del plan de cuenta

periodoa char(4) NO Periodo anual

periodom int(11) NO Periodo mensual

fecha_gen datetime YES Fecha generacion del estado

cod_sucursal int(11) NO FK Foránea a Sucursal

grupo varchar(5) YES OI=Otros Ingresos, OE= Otros Egresos para imprimir el E. PyG

Page 68: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

54

con_estadopyg_cons

Campo Tipo Null Key Descripción

cod_epg int(11) NO PRI Codigo de Estado de Perdidas y Ganancias

cod_epg_plt int(11) NO FK Codigo de plantilla de Estado de P y G

descripcion varchar(60) NO Descripcion

clase char(1) NO Clase C=Cuenta T= Totalizadora

valor decimal(10,2) NO Valor

codigo_cuenta varchar(15) NO Codigo del plan de cuenta

periodoa char(4) NO Periodo anual

periodom int(11) NO Periodo mensual

fecha_gen datetime YES Fecha generacion del estado

grupo varchar(5) YES

OI=Otros Ingresos, OE= Otros Egresos para imprimir el E. PyG

con_estadopyg_cons_his

Campo Tipo Null Key Descripción

cod_epg int(11) NO PRI Codigo de Estado de Perdidas y Ganancias

cod_epg_plt int(11) NO FK Codigo de plantilla de Estado de P y G

descripcion varchar(60) NO Descripcion

Clase char(1) NO Clase C=Cuenta T= Totalizadora

Valor decimal(10,2) NO Valor

codigo_cuenta varchar(15) NO Codigo del plan de cuenta

periodoa char(4) NO Periodo anual

periodom int(11) NO Periodo mensual

fecha_gen datetime YES Fecha generacion del estado

grupo varchar(5) YES OI=Otros Ingresos, OE= Otros Egresos para imprimir el E. PyG

Page 69: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

55

con_estadopyg_his

Campo Tipo Null Key Descripción

cod_epg int(11) NO PRI Codigo Estado Perdidas y Ganancias

cod_epg_plt int(11) NO FK Codigo de la plantilla

descripcion varchar(60) NO Descripcion

clase char(1) NO Clase

valor decimal(10,2) NO Valor

codigo_cuenta varchar(15) NO Código Cuenta

periodoa char(4) NO Periodo Anual

periodom int(11) NO Periodo Mensual

fecha_gen datetime YES Fecha generación

cod_sucursal int(11) NO Codigo de Sucursal

grupo varchar(5) YES Grupo OI=Otros Ingresos, OE= Otros Egresos

con_estadopyg_mes

Campo Tipo Null Key Descripción

cod_epg int(11) NO PRI Codigo Estado Perdidas y Ganancias

cod_epg_plt int(11) NO FK Codigo de la plantilla

descripcion varchar(60) NO Descripcion

clase char(1) NO Clase

valor decimal(10,2) NO Valor

codigo_cuenta varchar(15) NO Código Cuenta

periodoa char(4) NO Periodo Anual

periodom int(11) NO Periodo Mensual

fecha_gen datetime YES Fecha generación

cod_sucursal int(11) NO Codigo de Sucursal

grupo varchar(5) YES Grupo OI=Otros Ingresos, OE= Otros Egresos

Page 70: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

56

con_estadopyg_mes_his

Campo Tipo Null Key Descripción

cod_epg int(11) NO PRI Codigo de Estado de Perdidas y Ganancias

cod_epg_plt int(11) NO FK Codigo de plantilla de Estado de P y G

descripcion varchar(60) NO Descripcion

Clase char(1) NO Clase C=Cuenta T= Totalizadora

Valor decimal(10,2) NO Valor

codigo_cuenta varchar(15) NO Codigo del plan de cuenta

periodoa char(4) NO Periodo anual

periodom int(11) NO Periodo mensual

fecha_gen datetime YES Fecha generacion del estado

cod_sucursal int(11) NO Foránea a Sucursal

grupo varchar(5) YES OI=Otros Ingresos, OE= Otros Egresos para imprimir el E. PyG

con_estadopyg_plt

Campo Tipo Null Key Descripción

cod_epg_plt int(11) NO PRI Codigo Estado Perdidas y Ganancias

descripcion varchar(60) NO FK Descripcion

Clase char(1) NO C=Cuenta G = Grupo

codigo_cuenta varchar(15) YES Codigo Cuenta Contable

estado char(1) NO Estado

fecha_gen datetime NO Fecha generacion

grupo varchar(5) YES Grupo

Page 71: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

57

con_mayor_cons_his

Campo Tipo Null Key Descripción

cod_mayor int(11) NO PRI Codigo Mayor

cod_plan_cuentas int(11) NO PRI Codigo Plan de Cuentas

cuenta_fisica varchar(15) NO Codigo Contable

nombre_cuenta varchar(60) NO Nombre Cuenta

debe_mes decimal(10,2) NO Valor Debe mes

haber_mes decimal(10,2) NO Valor Haber mes

debe_ant decimal(10,2) NO Valor Debe mes anterior

haber_ant decimal(10,2) NO Valor Haber mes anterior

debe_actual decimal(10,2) NO Saldo del Debe

haber_actual decimal(10,2) NO Saldo del Haber

cod_padre_cuentas int(11) NO FK Padre de esta cuenta

padre_nmn varchar(10) YES Padre nemonico

periodoa varchar(4) NO Periodo anual

periodom int(11) NO Periodo mensual

fecha_genera datetime NO Fecha generación

user_gen varchar(15) NO Usuario Generacion

con_mayor_his

Campo Tipo Null Key Descripción

cod_mayor int(11) NO PRI Codigo Mayor

cod_sucursal int(11) NO PRI Codigo Sucursal

cod_plan_cuentas int(11) NO Codigo Plan de Cuentas

cuenta_fisica varchar(15) NO Codigo Contable

nombre_cuenta varchar(60) NO Nombre Cuenta

debe_mes decimal(10,2) NO Valor Debe mes

haber_mes decimal(10,2) NO Valor Haber mes

debe_ant decimal(10,2) NO Valor Debe mes anterior

haber_ant decimal(10,2) NO Valor Haber mes anterior

debe_actual decimal(10,2) NO Saldo del Debe

haber_actual decimal(10,2) NO Saldo del Haber

cod_padre_cuentas int(11) NO FK Padre de esta cuenta

padre_nmn varchar(10) YES Padre nemonico

periodoa varchar(4) NO Periodo anual

Page 72: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

58

periodom int(11) NO Periodo mensual

fecha_genera datetime NO Fecha generacion

user_gen varchar(15) NO Usuario Generacion

con_mayor_rpt

Campo Tipo Null Key Descripción

cod_mayor int(11) NO PK Codigo Mayor

cod_sucursal int(11) NO PK Codigo Sucursal

cod_plan_cuentas int(11) NO PK Codigo Plan de Cuentas

cuenta_fisica varchar(15) NO Codigo Contable

nombre_cuenta varchar(60) NO Nombre Cuenta

debe_mes decimal(10,2) NO Valor Debe mes

haber_mes decimal(10,2) NO Valor Haber mes

debe_ant decimal(10,2) NO Valor Debe mes anterior

haber_ant decimal(10,2) NO Valor Haber mes anterior

debe_actual decimal(10,2) NO Saldo del Debe

haber_actual decimal(10,2) NO Saldo del Haber

cod_padre_cuentas int(11) NO FK Padre de esta cuenta

padre_nmn varchar(10) YES Padre nemonico

periodoa varchar(4) NO Periodo anual

periodom int(11) NO Periodo mensual

fecha_genera datetime NO Fecha generacion

user_gen varchar(15) NO Usuario Generacion

con_mayor_rpt_cons

Campo Tipo Null Key Descripción

cod_mayor int(11) NO PK Codigo Mayor

cod_plan_cuentas int(11) NO PK Codigo Plan de Cuentas

cuenta_fisica varchar(15) NO Codigo Contable

nombre_cuenta varchar(60) NO Nombre Cuenta

debe_mes decimal(10,2) NO Valor Debe mes

haber_mes decimal(10,2) NO Valor Haber mes

debe_ant decimal(10,2) NO Valor Debe mes anterior

haber_ant decimal(10,2) NO Valor Haber mes anterior

debe_actual decimal(10,2) NO Saldo del Debe

Page 73: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

59

haber_actual decimal(10,2) NO Saldo del Haber

cod_padre_cuentas int(11) NO Padre de esta cuenta

padre_nmn varchar(10) YES FK Padre nemonico

periodoa varchar(4) NO Periodo anual

periodom int(11) NO Periodo mensual

fecha_genera datetime NO Fecha generacion

user_gen varchar(15) NO Usuario Generacion

con_movimientos_gen

Campo Tipo Null Key Descripción

cod_mov_gen int(11) NO PK Codigo Movimientos generales

cod_participante int(11) YES FK Codigo Participante

cod_cab_asiento int(11) NO MUL Codigo Cabecera de asiento

cod_modulo_erp tinyint(4) NO MUL Codigo de Modulo ERP

cod_plan_cuentas int(11) NO MUL Codigo Plan de Cuentas

cuenta_bancaria varchar(20) YES Cuenta Bancaria

signo char(1) NO Debe o Haber

valor decimal(10,2) NO Valor de la transaccion

con_periodo_contable

Campo Tipo Null Key Descripción

cod_prd_contable int(4) NO PRI Codigo Periodo Contable

anio varchar(4) NO Anio

referencia varchar(50) YES Descripcion del periodo

fech_crea datetime YES Fecha de creacion

user_crea varchar(20) YES Usuario Creacion

fech_mod datetime YES Fecha de modificacion

user_mod varchar(20) YES Usuario de modificacion

cod_est_prd char(1) NO Estado de Periodo

Page 74: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

60

con_periodo_mensual

Campo Tipo Null Key Descripción

cod_prd_mensual smallint(6) NO PRI Codigo Periodo Mensual

cod_prd_contable int(4) YES MUL Foranea al Periodo Contable

num_mes int(4) NO Mes en numero

descripcion varchar(50) YES Descripcion

fech_inicio datetime YES Fecha de inicio del mes

fech_fin datetime YES Fecha de fin del mes

fech_crea datetime YES Fecha de creacion

user_crea varchar(15) YES Usuario de creacion

cod_est_prd char(1) NO Estado del periodo

con_plan_cuentas

Campo Tipo Null Key Descripción

cod_plan_cuentas int(11) NO PRI Codigo Plan de Cuentas

cod_padre_cuentas int(11) YES FK Recursiva a esta tabla

nivel tinyint(4) NO Niveles por grupo

codigo_cuenta varchar(15) NO Codigo Fisico Plan de Cuentas

nombre varchar(60) YES Nombre de Cuenta

descripcion varchar(200) YES Descripcion de Cuenta

clase varchar(1) NO C=Cuenta G=Grupo

afecta_pto varchar(1) NO Afecta presupuesto

fech_crea datetime YES Fecha de creacion

user_crea varchar(15) YES Usuario de Creacion

fech_mod datetime YES Fecha de modificacion

user_mod varchar(15) YES Usuario de modificacion

estado varchar(1) NO Estado

nmn varchar(10) YES Nemonico

Page 75: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

61

con_procesos

Campo Tipo Null Key Descripción

cod_sucursal int(11) NO PK Codigo Sucursal

cod_procesos int(11) NO FK Codigo Procesos

proceso varchar(100) YES Descripcion del Proceso

semaforo smallint(6) YES 1= Proceso Realizado o = no Realizadoceso

periodom int(11) NO Periodo Mensual

periodoa char(4) NO Periodo Anual

con_tipo_doc

Campo Tipo Null Key Descripción

cod_tipo_doc tinyint(4) NO PK Codigo Tipo de Documento

siglas varchar(2) NO Siglas

descripcion varchar(45) NO Descripcion del documento

ind_transaccional tinyint(1) YES El documento es transaccional ??

ind_presupuesto tinyint(1) YES El documento es presupuestario??

fech_crea datetime YES Fecha de creacion

user_crea varchar(15) YES Usuario de creacion

fec_mod datetime YES Fecha de modificacion

user_mod varchar(15) YES Usuario de modificacion

estado varchar(1) YES Estado

Page 76: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

62

3.4 Diagrama de Flujo de Datos

3.4.1 Diagrama de Flujo de Dato Home

FIGURA 16 Diagrama de Flujo de Dato Home

Page 77: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

63

3.4.2 Diagrama de Flujo de Dato Periodo Contable

FIGURA 17 Diagrama de Flujo de Dato Periodo Contable

Page 78: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

64

3.4.3 Diagrama de Flujo de Dato Personalizacion de Documentos

FIGURA 18 Diagrama de Flujo de Dato Personalizacion de

Documentos

Page 79: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

65

3.4.4 Diagrama de Flujo de Dato Personalizacion Cuentas Contables

FIGURA 19 Diagrama de Flujo de Dato Personalizacion Cuentas

Contables

Page 80: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

66

3.4.5 Diagrama de Flujo de Dato Asientos de Diario

FIGURA 20 Diagrama de Flujo de Dato Asientos de Diario

Page 81: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

67

3.4.6 Diagrama de Flujo de Dato Mayorizacion - Balances

FIGURA 21 Diagrama de Flujo de Dato Mayorizacion - Balances

Page 82: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

68

3.4.7 Diagrama de Flujo de Dato Reportes

FIGURA 22 Diagrama de Flujo de Dato Reportes

Page 83: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

69

3.5 Diagrama de Secuencia

FIGURA 23 Diagrama de Secuencia

Page 84: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

70

FIGURA 24 Diagrama de Secuencia

Page 85: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

71

FIGURA 25 Diagrama de Secuencia

Page 86: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

72

FIGURA 26 Diagrama de Secuencia

Page 87: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

73

FIGURA 27 Diagrama de Secuencia

Page 88: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

74

FIGURA 28 Diagrama de Secuencia

Page 89: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

75

3.6 Diseño a nivel de Componentes

3.6.1 Diagrama de Componentes de Capas

FIGURA 29 Diagrama de Componentes de Capas

Page 90: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

76

3.6.2 Diagrama de Componentes

Page 91: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

77

Page 92: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

78

FIGURA 30 Diagrama de Componentes

Page 93: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

79

3.7 Diseño de Interfaz

Entorno de escritorio, es una solución completa de interfaz gráfica de

usuario, que facilita la lectura de la pagina web y que provee al usuario

elementos tales como íconos, barras de herramientas, aplicaciones e

integración entre aplicaciones con posibilidades de realizar acciones

como arrastrar y soltar. Lo que proporciona un manejo amigable y fácil

del sistema.

Ventanas, son áreas visuales, normalmente de forma rectangular, que

contienen algún tipo de interfaz de usuario, mostrando la salida y

permitiendo la entrada de datos para realizar determinados procesos.

Esta interfaz está diseñada de tal manera que el usuario no se confunda

y al mismo tiempo este pueda cometer errores sin que el sistema sufra

algún tipo de modificación o daño irreparable.

Es así que al momento de diseñar la entrada de datos correspondiente a

nuestro sistema de contabilidad, necesitamos asegurar que el usuario

pueda con toda confianza trabajar en el programa. Para lograr que las

formas sean fáciles de llenar y satisfagan el objetivo para el que fueron

diseñadas. Formas que aseguren el llenado preciso. Y que se

mantengan atractivas. A continuación se muestran algunas pantallas,

comenzando desde el fondo del sitio de la página web.

Page 94: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

80

FIGURA 31 Diseño de Interfaz

FIGURA 32 Diseño de Interfaz

Page 95: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

81

FIGURA 33 Diseño de Interfaz

FIGURA 34 Diseño de Interfaz

Page 96: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

82

FIGURA 35 Diseño de Interfaz

FIGURA 36 Diseño de Interfaz

Page 97: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

83

FIGURA 37 Diseño de Interfaz

FIGURA 38 Diseño de Interfaz

Page 98: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

84

Plan de Cuentas

Se visualiza en forma de árbol mejora la búsqueda y agrupación de

cuentas permitiendo desplazarse rápidamente entre diferentes grupos de

cuentas, mientras mantiene visible la estructura global de su plan de

cuentas. La codificación que se usa, el número de niveles depende del

usuario; ajustándose el sistema a sus gustos o necesidades.

Tipos de documentos

Ingreso de diferentes tipos de comprobantes de diario como son:

Asientos, Ingresos, Egresos, Notas de Debito, Notas de Credito, Notas

de Transferencia

Asientos de Diario

La mayoría de los asientos son creados automáticamente a través de los

módulos integrados el ERP como son las compras, ventas, cuentas por

cobrar y pagar, retenciones, roles de pago, activos fijos, etc.

Mayorización

Permitirá realizar el proceso de Mayorización y cálculo de saldos para

todas las cuentas contables, y a su vez actualizar los registros para la

obtención de reportes.

Page 99: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

85

Reportes

Balance General

Generará el Balance General dependiendo del periodo contable

escogido.

Estados Financieros

Estas pantallas permitirán al contador ingresar el periodo y la fecha de

corte para obtener los reportes de:

Estado de Perdidas y Ganancia.

Estado de Perdidas y Ganancia Consolidado

Balance de Sumas y Saldos.

Balance de Sumas y Saldos Consolidado

Balance General Consolidado

Page 100: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

86

CAPÍTULO 4

4. CODIFICACIÒN

4.1 Modelo Utilizado para el desarrollo del Módulo

Uno de los modelos de diseño de aplicaciones Web es el Modelo-Vista-

Control (MVC). Este patrón propone la separación en distintos

componentes de la interfaz de usuario (vistas), el modelo de negocio y la

lógica de control. Una vista es una “fotografía” del modelo (o una parte

del mismo) en un determinado momento. Un control recibe un evento

disparado por el usuario a través de la interfaz, accede al modelo de

manera adecuada a la acción realizada, y presenta en una nueva vista el

resultado de dicha acción. Por su parte, el modelo consiste en el conjunto

de objetos que modelan los procesos de negocio que se realizan a través

del sistema.

En una aplicación Web, las vistas serían las páginas HTML que el

usuario visualiza en el navegador. A través de estas páginas el usuario

interactúa con la aplicación, enviando eventos al servidor a través de

peticiones HTTP. En el servidor se encuentra el código de control para

estos eventos, que en función del evento concreto actúa sobre el modelo

Page 101: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

87

convenientemente. Los resultados de la acción se devuelven al usuario

en forma de página HTML mediante la respuesta HTTP.

FIGURA 39 Modelo Vista Controlador

La clave está en la separación entre vista y modelo. El modelo suele ser

más estable a lo largo del tiempo y menos sujeto a variaciones mientras

que las vistas puede cambiar con frecuencia, ya sea por cambio del

medio de presentación (por ejemplo HTML a WAP o a PDF) o por

necesidades de usabilidad de la interfaz o simple renovación de la

estética de la aplicación. Con esta clara separación las vistas pueden

cambiar sin afectar al modelo y viceversa. Los controladores son los

encargados de hacer de puente entre ambos, determinando el flujo de

salida de la aplicación.

4.2 Tecnología utilizada

En el desarrollo de nuestro Módulo Contable se utilizó tecnología RIA

(Rich internet Applications). En donde las aplicaciones se ejecutan en el

cliente, es decir en el navegador de cada una de las maquinas de los

usuarios que utilizan el sistema, en tanto en cuanto se mantenga la

Page 102: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

88

comunicación asíncrona con el servidor en segundo plano, es decir el

usuario podrá utilizar cualquier punto de la pantalla, sin que se vea

afectada la ejecución de otro vínculo o proceso que se este realizando.

Las siguientes ideas y tecnologías son, si no todas, las mas importantes

y utilizadas en las paginas web actualmente que la Tecnologìa RIA

comprende:. Applet, Adobe Flash, Java WebStart , DHTML, AJAX .

DHTML = HTML + Javascript + DOM + CSS

Se utiliza para crear aplicaciones interactivas y más rápidas.

AJAX = DHTML + XMLHttpRequest

Es un refinamiento del DHTML, utiliza todas sus herramientas,

sumándole el objeto XMLHttpRequest para obtener información

asíncronamente y refrescar solo la parte necesaria de la página sin

perder nada del contexto, se terminaron los problemas del DHTML. No

necesitamos descargar plug-in.

4.3 Herramientas utilizadas

4.3.1 Servidor de Aplicaciones: Web Apache

Trabajaremos con el servidor HTTP Apache ya que es un software

libre de código abierto para plataformas GNU/Linux, Windows,

Macintosh y otras. Además corre en una multitud de sistemas

operativos, lo que lo hace prácticamente universal y trabaja con

varios lenguajes de script en uno de ellos el PHP.

Page 103: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

89

4.3.2 Servidor de Datos: Mysql

MySQL es un sistema de gestión y administración de base de datos

relacional, multihilo y multiusuario, es un software libre en un

esquema de licenciamiento dual. MySQL es un sistema de

administración de bases de datos. Una base de datos es una

colección estructurada de tablas que contienen datos. Es ideal para

almacenar datos que se ingresan por medio de la web.

4.3.3 Lenguajes de Programación del lado del Servidor: PHP/JSP

PHP, Hypertext Pre-processor. Considerada la licencia como

software libre. Trabajaremos con este lenguaje de programación

para la creación de contenido para el sitio Web, con los cuales

vamos a programar las paginas HTML y los códigos fuente.

PHP es un lenguaje de programación multiplataforma interpretado,

diseñado originalmente para la creación de páginas web. El código

fuente escrito en PHP es invisible al navegador y al cliente ya que es

el servidor el que se encarga de ejecutar el código y enviar su

resultado HTML al navegador. Esto hace que la programación en

PHP sea segura y confiable. Permite aplicar técnicas de

programación orientada a objetos. Php es completamente orientado

al desarrollo de aplicaciones web dinámicas con acceso a

información almacenada en una Base de Datos.

A veces necesitamos enviar información al servidor y que éste la

procese y nos responda. Para este procesamiento se utilizan los

lenguajes de servidor PHP, JSP.

Page 104: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

90

JSP, Java Server Pages. Las páginas JSP están compuestas de

código HTML/XML mezclado con etiquetas especiales para

programas scripts de servidor en sintaxis Java. Por lo tanto las JSP

podremos escribirlas con nuestro editores HTML/XML.

El motor de las páginas JSP está basado en servlets de Java,

destinadas a ejecutarse en el servidor.

JSP se compila a un programa en Java la primera vez que se invoca

y del programa en Java se crea una clase que se empieza a ejecutar

en el servidor como un servlets. Lenguajes de Cliente, (Javascript

principalmente).

Cuando el usuario ve una página web en su navegador, ésta puede

tener, aparte del código HTML o XHTML, código escrito en un

lenguaje de script que se utiliza normalmente para dotar de

dinamismo a las páginas y obtener DHTML. El principal lenguaje

utilizado hoy día es Javascript.

4.3.4 Lenguajes de Programaciòn del lado del Cliente: Javascript

Cuando el usuario ve una página web en su navegador, ésta puede

tener, aparte del código HTML o XHTML, código escrito en un

lenguaje de script que se utiliza normalmente para dotar de

dinamismo a las páginas y obtener DHTML. El principal lenguaje

utilizado hoy día es Javascript; nació con Netscape 2.0 y la versión

actual es la 1.5 que implementan Netscape 6 y Mozilla Firefox.

Page 105: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

91

DOM (Document Object Model). Cuando se carga una página Web

en nuestro navegador, éste crea asociado a la página una serie de

objetos en forma jerárquica, de manera que mediante un lenguaje

utilizable en la parte del navegador, como Javascript, pueden

modificarse las características de esos objetos y con ello la página en

sí. Ya que la página se actualiza inmediatamente si realizamos algún

cambio con Javascript mientras ésta está siendo visualizada, se

habla de HTML dinámico: DHTML (Dynamic HTML).

Tendremos un usuario que carga en su navegador una página

compuesta por XHTML y Javascript cuyo estilo está en un archivo

CSS si lo separamos; el navegador crea el DOM asociado a la

página y el Javascript lo modifica para conseguir dinamismo.

Tenemos en el servidor páginas hechas con JSP, cuando el usuario

pide una de estas páginas, el servidor la ejecuta y devuelve el

resultado al usuario ya sea una página XHTML u otro tipo

información.

4.4 Estandares

Para el desarrollo del sistema se utiliza estándares, para que sea

entendible la programación e integración de los mòdulos del sistema.

Para nuestro caso se definieron estandares, atributos, reglas del negocio,

entre otros. Donde los principales procesos de nuestro mòdulo refleje la

correcta lógica del negocio.

Page 106: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

92

4.4.1Base de datos.

La Base de Datos utilizada para el desarrollo del mòdulo es MYSQL

con WAMPSERVER. Como servidor de aplicaciones utilizamos

Apache. Los nombres de la tablas comienza con las tres primeras

letras del modulo, subguiòn y la descripción de la tabla, ejemplo:

con_plan_cuentas

4.4.2 Codificación

En la codificación se definió estandares de utilizar tres letras del

objeto que se utiliza mas el nombre descriptivo de la variable a usar.

4.4.3 Interfaces

Se definió un estándar por el grupo de integración del Sistema ERP

en conjunto y todos los mòdulos integrados utilizan la misma

interface, incluye los colores de los objetos, los estilos css, los

iconos, barra de herramienta, de botones, de menú.

4.4.4 Estilo

CSS (Cascade Style Sheets), En los primeros tiempos de las

páginas web, teníamos en un mismo documento “.html” tanto los

párrafos de texto e imágenes como su estilo, e indicábamos el tipo

de atributos del texto dentro de las etiquetas HTML.

Page 107: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

93

Ahora que tenemos las CSS, asignamos a las etiquetas una clase

dentro del documento “.html”, y a esa clase contenida en otro

documento le especificamos el formato, de esta forma tenemos dos

documentos: uno con los datos y otro que dice cómo deben

representarse. Si quisiéramos hacer un cambio en la representación

de una web compuesta por 100 páginas y las 100 leen el mismo

CSS, con un solo cambio en el “.css” habríamos cambiado toda la

representación automáticamente.

Page 108: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

94

CAPÍTULO 5

5. PRUEBAS

5.1 Pruebas de Validación

Las pruebas de validación son el proceso de revisión que el sistema de

software producido cumple con las especificaciones de lo que el usuario

de las pequeñas y medianas empresas requieren.

5.1.1 Muestreo de las pruebas de validación

Se comprobó los estándares de interface (menú, botones, iconos,

formato, posición de los botones) utilizado en todo el módulo.

Se realizó pruebas de ingreso de Diario.

5.2 Prueba Unitaria

Se revisò cada una de las opciones del Sistema que funcione y que todo

cuadre como debe cuadrar. Y se realizó así mismo la prueba del módulo

por separado del Sistema ERP y el funcionamiento de los procesos

contable.

Page 109: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

95

Se comprobó el Libro Mayor.

Se generó el Balance de comprobación y se lo chequeó que cuadre.

Se revisó el Estado de Pérdidas y Ganancias.

Se revisó el Balance General Clasificado.

Se revisaron todos los Estados Financieros Consolidados.

5.3 Prueba de Integración

Se realizó pruebas de integración de todos los módulos que componen el

Sistema ERP, es decir que toda la información este fluyendo entre los

diversos módulos, así mismo que los otros módulos generen los asientos

respectivos cuando tengan que ser generados los asientos contables de

una transacción.

5.4 Pruebas de Calidad

Es el grado con el que un sistema componente o proceso cumple los

requisitos especificados y las necesidades. Dentro de los atributos de

calidad que aportan en nuestro sistema son:

Confiable: Después de las pruebas realizadas a nuestro sistema

podemos dar fe de que la información que resulta del sistema es

confiable.

Amigable: Cada una de las pantallas son parecidas unas a otras y los

diferentes iconos están ubicados en una sola posición y los iconos son

fácilmente detectable.

Parametrizable: El Plan de Cuentas esta parametrizado, así como los

tipos de documentos.

Page 110: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

96

CONCLUSIONES

Se concluye que la mayoría de los sistemas funcionan en plataformas no

actuales. Aparte de ello, son sistemas que le presentan muchas

limitaciones al usuario, el cual, está obligado a depender directamente

del programador.

Este hecho, que es casi un patrón común, a pesar de ser molesto, ha

sido aceptado y sobrellevado por las instituciones.

De esto surge el deseo de elaborar un software que represente una

solución basado en el análisis de requerimientos y especificaciones

estudiados y mencionados en este documento.

La motivación para el desarrollo del software viene de la necesidad de

las empresas de contar con una herramienta que cubra todos los

aspectos de aquella y que este totalmente integrado.

El Sistema Modulo Contable fue desarrollado para cumplir con las

expectativas y necesidades de las pequeñas y medianas empresas

comerciales, tanto desde el ingreso de una transacción como para la

emisión de Estados Financieros Consolidados, de una manera ágil, fácil

y rápida sin pérdidas de tiempo, utilizando herramientas como el Internet

Page 111: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

97

Explorer y aprovechando estas redes para unir diferentes sucursales en

diferentes sitios en un solo repositorio de datos y con el menos gasto de

comunicaciones.

La integración del proyecto en cuestión nos preparó y capacitó para tener

la facilidad de comprensión ante situaciones adversas, complejidad de

procesos, análisis de factibilidad de proyectos, establecer

comunicaciones interpersonales y tecnológicas.

El desarrollo de este producto nos ha servido de mucho para el

aprendizaje de herramientas nuevas como PHP, MYSQL, Javascript,

JSP, Ajax, Tecnologìa RIA, DHTML, DHTMLX, Wampserver, así como

aprender a trabajar en equipos de trabajo pequeños y grandes, con esto

decimos que estamos preparados para un futuro competitivo en el

mundo de la informática y de las nuevas herramientas de uso como el

internet.

Page 112: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

98

RECOMENDACIONES

Para el uso de este software se recomienda que el enlace contratado de

internet tenga un gran ancho de banda, para que las comunicaciones fluyan

más rápido y que las personas incluidas en esta red con acceso a internet se

les bloquee accesos a paginas como www.youtube.com, así mismo se

bloquee o se restrinja el acceso para bajar archivos desde el internet y se

bloquee también paginas de escuchar música. Cuando se instale el sistema

en el servidor de aplicaciones y de datos se recomienda que se lea el

manual de diseño.

Page 113: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

99

GLOSARIO DE TERMINOS TECNICOS

ERP Enterprise Resource Planning .

Planeación de Recursos Empresariales.

PYME Pequeña y Mediana Empresa.

Ejemplo: Ferreterías, Comerciales, Farmacias, etc.

PHP Preprocessed Hypertext Pages

Procesador de Paginas Hipertexto

HTML Hyper Text Markup Language

Lenguaje de Marcas de Hipertexto

MySQL Structured Query Language

Lenguaje Estructurado

Page 114: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

100

BIBLIOGRAFÌA

Libros

Contabilidad General, octava edición, por Mercedes Bravo Valdiviezo

Contabilidad tomo 6, por Ing. Alejandro Zuñiga

Sitios de Páginas Web

www.monografia.com

www.manualdephp.com

www.desarrolloweb.com

www.mysql.com

www.javascript,com

www.php.com

Page 115: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

UNIVERSIDAD DE GUAYAQUIL

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas

Computacionales

“Mòdulo Contable para el control empresarial orientado al

mercado PYMES aplicando Tecnologìa RIA”

PROYECTO DE GRADO

CURSO DE GRADUACIÓN

Previo a la Obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

Autores:

WILLIAM ENRIQUE MORENO HERBAS

GLADYS MARLENE JURADO CAMPOVERDE

GUAYAQUIL-ECUADOR

Año: 2010

Page 116: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

II

AGRADECIMIENTO

Agradezco a Jehová mi Dios por siempre estar

conmigo y haberme dado la sabiduría para poder

terminar exitosamente mi tesis, tanto como todas

sus bendiciones presentes desde mucho tiempo

atrás, el éxito total te lo debo a ti Dios mío para

que la gloria, la honra y el poder sea tuyo por

siempre y hasta siempre, a mi padre William

Moreno Encalada, a mi madre Alicia Herbas de

Moreno, mi hermana Alicia Moreno Herbas por

siempre brindarme su cariño, apoyo, tanto moral,

como económico, también por la fortaleza física

como de espíritu presente en ellos los cuales los

manifiesto en mi persona con mucha pasión y

perspicacia. A mis amados abuelitos José Herbas

y Olga de Herbas por darme siempre su amor,

parte de su dignidad y coraje de seguir a pesar de

la adversidad, las cuales han influido mucho en mi

personalidad ganadora y en el logro alcanzado.

William Enrique Moreno Herbas

Page 117: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

III

AGRADECIMIENTO

En primer lugar agradezco a Dios que con su

infinita bondad me ha guiado a lo largo de mis

estudios; en segundo lugar a mi amado ESPOSO

Ing. Alberto Macancela Chedraui por siempre

darme su apoyo y amor incondicional, a mi

PADRE Carlos Jurado, mi MADRE Gladys

Campoverde, mis HIJOS Andrés Alberto y Adrián

Eduardo, mi SUEGRA Lía Chedraui, mis

hermanos; por siempre haberme dado su fuerza

que me han llevado hasta donde estoy ahora. A

mis PROFESORES me han impartido sus

conocimientos, especialmente al Ing. Xavier

Loaiza, Ing. Victor Pazmiño, Eco. Antonio Cires

Ing. Abel Alarcón; quienes nos ayudaron en todo

momento, a mis compañeros de tesis porque en

esta armonía grupal lo hemos logrado y

finalmente un eterno agradecimiento a esta

prestigiosa UNIVERSIDAD la cual nos prepara

para un futuro competitivo.

Gladys Marlene Jurado Campoverde

Page 118: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

IV

DEDICATORIA

Dedico este trabajo a Jehová mi Dios por estar

siempre de parte mía en todo momento, a mis

padres, a mis abuelitos, a mi hermana, a mis tíos y

tías, porque siempre han creído en mí y me han

brindado en todo tiempo su apoyo y amor.

Este gran logro va por todos ustedes !!!

William Enrique Moreno Herbas

Page 119: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

V

DEDICATORIA

Dedico este trabajo especialmente a Dios por

estar siempre a mi lado en todo momento; a mi

amado esposo quien me ha dado todo su amor,

respaldo y apoyo; a mis padres, a mis hijos, a mi

suegra, a mis hermanos que siempre han

depositado toda su confianza en mí y por último a

mis amigos que me han brindado en todo este

tiempo su valiosa amistad.

Gladys Marlene Jurado Campoverde

Page 120: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

VI

TRIBUNAL DE GRADUACIÓN

Presidente del Tribunal Primer Vocal Segundo Vocal Secretario

Page 121: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

VII

DECLARACIÓN EXPRESA

“La autoría de la tesis de grado corresponde exclusivamente a los suscritos,

perteneciendo a la Universidad de Guayaquil los derechos que generen la

aplicación de la misma”

(Reglamento de Graduación de la Carrera de Ingeniería en sistemas

Computacionales, Art. 26)

Gladys Marlene Jurado Campoverde William Enrique Moreno Herbas

Page 122: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

VIII

ÍNDICE GENERAL

Pág.

AGRADECIMIENTO III

DEDICATORIA IV

TRIBUNAL DE GRADUACIÓN VI

DECLARACIÓN EXPRESA VII

ÍNDICE GENERAL VIII

ÍNDICE DE FIGURAS XIII

CAPÍTULO 1

MANUAL TECNICO DEL SISTEMA

1.1 Base de Datos 1

1.1.1 Creación de Estructuras 1

con_balance_general 1

con_balance_general_cons 2

con_balance_general_cons_his 2

con_balance_general_his 3

con_balance_general_plt 3

con_balance_inicial_plt 3

con_balancei_temp 4

con_cab_asiento 4

Page 123: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

IX

con_det_asiento 5

con_estado_periodo 5

con_estadopyg 6

con_estadopyg_cons 6

con_estadopyg_cons_his 7

con_estadopyg_his 7

con_estadopyg_mes 7

con_estadopyg_mes_his 8

con_estadopyg_plt 8

con_mayor_con_his 8

con_mayor_his 9

con_mayor_rpt 9

con_mayor_rpt_cons 10

con_movimientos_gen 10

con_periodo_contable 11

con_periodo_mensua 11

con_plan_cuentas 11

con_procesos 12

con_tipo_doc 12

1.1.2 Creación de Procedimientos. 13

sp_ingresa_permes 13

sp_ingresa_peranual 21

sp_ingresa_plancta 27

sp_modifica_plancta 29

sp_ingresa_cab_asiento 30

sp_ingresa_det_asiento 33

sp_mayorizacion 37

sp_estadopyg_proc_cons 45

sp_bgeneral_gen_cons 56

Page 124: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

X

1.2 Configuración del Sitio 62

con_tipo_doc.htm 63

con_modifica_tipo.php 65

con_plan_cuentas.php 70

con_modifica_plan_cuentas.php 72

con_periodo_mensual.php 74

con_activa_pmes.php 77

con_cambio_pmes.php 80

con_cierre_pmes.php 83

con_ingreso_panual.php 86

con_asiento.php 88

con_detalle_diario.php 95

con_detalle_mayor.php 99

con_detalle_sumasysaldos.php 103

con_proceso_mayoriza.php 107

con_proceso_pyg.php 110

Conexsql.php 113

Conexsqli.php 113

Activaperanual.php 114

Acivapermes.php 115

Cambiapermes.php 116

Cambioperanual.php 117

con_ver_detalle_diario.php 118

con_ver_detalle_diario_csv.php 121

Consulta-balance-general-cons.php 123

exporta-diario-exel.php 133

exporta-mayor-exel.php 141

ProcesoMayoriza.php 148

graba-tipo.php 149

asiento.js 150

Page 125: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XI

det-balance.js 153

det-pyg.js 162

diario.js 162

periodos-mes.js 168

periodos.js 178

plan_cuenta.js 186

procesos.js 194

tipo-doc.js 197

tipo-docm.js 199

Util.js 200

carga.js 202

CAPÍTULO 2

MANUAL DE USUARIO DEL SISTEMA

2.1 Ingreso al Módulo Contable 203

2.2 Mantenimiento 205

2.2.1 Documentos 205

Crea Documentos 205

Modifica Documento 207

2.2.2 Plan de Cuentas 209

Ingreso Plan de Cuentas 209

Modificar Plan de Cuentas 210

2.2.3 Periodo Contable 211

Ingreso Periodo Contable 211

Activar Periodo Contable 212

Cambio de Estado Contable 213

Cierre Periodo Contable 215

2.2.4 Periodo Mensual 216

Page 126: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XII

Ingreso Periodo Mensual 216

Activar Periodo Mensual 218

Cambio Estado Periodo Mensual 220

Cierre Periodo Mensual 221

2.3 Ciclo Contable 223

Asientos de Diario 223

2.4 Reportes 229

2.4.1 Libros 229

Libro Diario General 229

Comprobante de Diario 234

Libro Mayor 235

2.4.2 Estados Financieros 238

Balance Comprobación Sumas y saldos 238

Balance General 240

Estado de Pérdidas y Ganancias Acumulado 242

Estado de Pérdidas y Ganancias Mensual 243

Balance de Situación Inicial 246

Balance Comprobación Sumas y saldos Consolidado 246

Estado de Pérdidas y Ganancias Consolidado 248

Balance General Consolidado 250

2.5 Procesos Contables 251

Mayorización 251

Pérdidas y Ganancias Mensual 252

Pérdidas y Ganancias Acumulado 253

Balance General 254

GLOSARIO DE TERMINOS 255

BIBLIOGRAFÌA 257

Page 127: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XIII

INDICE DE FIGURAS

Pág.

FIGURA 1 Ingreso al Módulo Contable 203

FIGURA 2 Pantalla inicial Modulo Contable 204

FIGURA 3 Menu del Sistema 205

FIGURA 4 Crea Documento 206

FIGURA 5 ALERTA 206

FIGURA 6 Modifica Documento 207

FIGURA 7 Modifica Documento 208

FIGURA 8 Plan de Cuentas 210

FIGURA 9 Plan de Cuentas 210

FIGURA 10 Ingreso Periodo Contable 211

FIGURA 11 Activar Periodo Contable 212

FIGURA 12 Activar Periodo Contable 213

FIGURA 13 Activar Periodo Contable 213

FIGURA 14 Cambio de Estado Contable 214

FIGURA 15 Cambio de Estado Contable 215

FIGURA 16 Cambio de Estado Contable 215

FIGURA 17 Ingreso Periodo Mensual 216

FIGURA 18 Ingreso Periodo Mensual 217

FIGURA 19 Ingreso Periodo Mensual 217

FIGURA 20 Ingreso Periodo Mensual 218

FIGURA 21 Ingreso Periodo Mensual 218

Page 128: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XIV

FIGURA 22 Activar Periodo Mensual 219

FIGURA 23 Cambio Estado Periodo Mensual 220

FIGURA 24 Cierre Periodo Mensual 221

FIGURA 25 Cierre Periodo Mensual 222

FIGURA 26 Cierre Periodo Mensual 222

FIGURA 27 Asientos de Diario 223

FIGURA 28 Asientos de Diario 224

FIGURA 29 Asientos de Diario 224

FIGURA 30 Asientos de Diario 225

FIGURA 31 Asientos de Diario 226

FIGURA 32 Asientos de Diario 226

FIGURA 33 Asientos de Diario 227

FIGURA 34 Asientos de Diario 228

FIGURA 35 Asientos de Diario 228

FIGURA 36 Libro Diario General 229

FIGURA 37 Libro Diario General 230

FIGURA 38 Libro Diario General 230

FIGURA 39 Libro Diario General 231

FIGURA 40 Libro Diario General 231

FIGURA 41 Libro Diario General 232

FIGURA 42 Libro Diario General 232

FIGURA 43 Libro Diario General 233

FIGURA 44 Libro Diario General 233

FIGURA 45 Libro Diario General 234

FIGURA 46 Libro Mayor 235

FIGURA 47 Libro Mayor 236

FIGURA 48 Libro Mayor 237

FIGURA 49 Balance Comprobación Sumas y saldos 238

FIGURA 50 Balance Comprobación Sumas y saldos 239

FIGURA 51 Balance Comprobación Sumas y saldos 240

Page 129: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XV

FIGURA 52 Balance Comprobación Sumas y saldos 241

FIGURA 53 Estado de Pérdidas y Ganancias Acumulado 242

FIGURA 54 Estado de Pérdidas y Ganancias Acumulado 243

FIGURA 55 Estado de Pérdidas y Ganancias Mensual 244

FIGURA 56 Estado de Pérdidas y Ganancias Mensual 245

FIGURA 57 Balance Comprobación Sumas y saldos Consolidado 246

FIGURA 58 Balance Comprobación Sumas y saldos Consolidado 247

FIGURA 59 Estado de Pérdidas y Ganancias Consolidado 248

FIGURA 60 Estado de Pérdidas y Ganancias Consolidado 249

FIGURA 61 Balance General Consolidado 250

FIGURA 62 Mayorización 251

FIGURA 63 Pérdidas y Ganancias Mensual 252

FIGURA 64 Proceso de Estado de Pérdidas y Ganancias Acumulado 253

FIGURA 65 Balance General 254

Page 130: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

XVI

Page 131: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

CAPÍTULO 1

1. MANUAL TECNICO DEL SISTEMA

1.2 Base de Datos

La Base de Datos esta creada en Mysql versión 5.0.45. Se optó por el

uso de la misma ya que es de tipo Open Source, como todo el resto del

proyecto.

1.1.1 Creación de Estructuras

/*Table structure for table `con_balance_general` */ CREATE TABLE `con_balance_general` ( `cod_balance_general` int(11) NOT NULL auto_increment, `cod_bg_plt` int(11) NOT NULL, `clasificacion` varchar(6) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `valor` decimal(10,2) default NULL, `estado` char(1) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `cod_sucursal` int(11) NOT NULL, `fecha_gen` datetime NOT NULL,

Page 132: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

2

PRIMARY KEY (`cod_balance_general`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_balance_general_cons` */ CREATE TABLE `con_balance_general_cons` ( `cod_balance_general` int(11) NOT NULL auto_increment, `cod_bg_plt` int(11) NOT NULL, `clasificacion` varchar(6) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `valor` decimal(10,2) default NULL, `estado` char(1) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime NOT NULL, PRIMARY KEY (`cod_balance_general`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_balance_general_cons_his` */ CREATE TABLE `con_balance_general_cons_his` ( `cod_balance_general` int(11) NOT NULL auto_increment, `cod_bg_plt` int(11) NOT NULL, `clasificacion` varchar(6) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `valor` decimal(10,2) default NULL, `estado` char(1) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime NOT NULL, PRIMARY KEY (`cod_balance_general`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Page 133: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

3

/*Table structure for table `con_balance_general_his` */ CREATE TABLE `con_balance_general_his` ( `cod_balance_general` int(11) NOT NULL auto_increment, `cod_bg_plt` int(11) NOT NULL, `clasificacion` varchar(6) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `valor` decimal(10,2) default NULL, `estado` char(1) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `cod_sucursal` int(11) NOT NULL, `fecha_gen` datetime NOT NULL, PRIMARY KEY (`cod_balance_general`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_balance_general_plt` */ CREATE TABLE `con_balance_general_plt` ( `cod_bg_plt` int(11) NOT NULL auto_increment, `clasificacion` varchar(6) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `estado` char(1) NOT NULL, `fecha_gen` datetime NOT NULL, PRIMARY KEY (`cod_bg_plt`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_balance_inicial_plt` */ CREATE TABLE `con_balance_inicial_plt` ( `cod_bg_plt` int(11) NOT NULL auto_increment, `clasificacion` varchar(6) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `estado` char(1) NOT NULL, `fecha_gen` datetime NOT NULL, PRIMARY KEY (`cod_bg_plt`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Page 134: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

4

/*Table structure for table `con_balancei_temp` */ CREATE TABLE `con_balancei_temp` ( `cod_bg_plt` int(11) NOT NULL auto_increment, `clasificacion` varchar(6) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `valor` decimal(10,2) default NULL, `estado` char(1) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `cod_sucursal` int(11) NOT NULL, `fecha_gen` datetime NOT NULL, PRIMARY KEY (`cod_bg_plt`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_cab_asiento` */ CREATE TABLE `con_cab_asiento` ( `cod_cab_asiento` int(11) NOT NULL auto_increment, `cod_sucursal` int(11) default NULL, `cod_modulo_erp` tinyint(4) default NULL, `cod_tipo_doc` tinyint(4) default NULL, `num_asiento` int(11) default NULL, `num_formulario` int(11) default NULL, `fecha` datetime default NULL, `valor_total` decimal(10,2) default NULL, `concepto` varchar(500) collate utf8_unicode_ci default NULL, `cuadrado` varchar(1) collate utf8_unicode_ci default NULL, `fec_crea` datetime default NULL, `user_crea` varchar(15) collate utf8_unicode_ci default NULL, `fec_mod` datetime default NULL, `user_mod` varchar(15) collate utf8_unicode_ci default NULL, `estado` varchar(1) collate utf8_unicode_ci default NULL, `periodoa` varchar(4) collate utf8_unicode_ci default NULL, `periodom` int(11) default NULL, `mayoriza` char(1) collate utf8_unicode_ci NOT NULL default 'S', PRIMARY KEY (`cod_cab_asiento`), KEY `fk_con_cab_asiento_gen_modulo_erp` (`cod_modulo_erp`), KEY `fk_con_cab_asiento_con_tipo_doc` (`cod_tipo_doc`), KEY `fk_con_cab_asiento_sucursal` (`cod_sucursal`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Page 135: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

5

/*Table structure for table `con_det_asiento` */ CREATE TABLE `con_det_asiento` ( `cod_det_asiento` int(11) NOT NULL auto_increment, `cod_cab_asiento` int(11) NOT NULL, `cod_plan_cuentas` int(11) default NULL, `movimiento` varchar(1) collate utf8_unicode_ci default NULL, `cod_modulo_erp` tinyint(4) default NULL, `valor_det` decimal(10,2) NOT NULL, `observacion` varchar(2555) collate utf8_unicode_ci default NULL, `indicador_pto` varchar(1) collate utf8_unicode_ci default NULL, `modulo` varchar(45) collate utf8_unicode_ci default NULL, `estado` varchar(1) collate utf8_unicode_ci default NULL, `periodoa` varchar(4) collate utf8_unicode_ci default NULL, `periodom` int(11) default NULL, `cod_sucursal` int(11) NOT NULL, `fecha_crea` date NOT NULL, `mayoriza` char(1) collate utf8_unicode_ci NOT NULL default 'S', PRIMARY KEY (`cod_det_asiento`), KEY `fk_CON_DET_ASIENTO_MODULO_ERP` (`cod_modulo_erp`), KEY `fk_con_det_asiento_con_plan_cuentas` (`cod_plan_cuentas`), KEY `FK_con_det_asiento` (`cod_cab_asiento`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*Table structure for table `con_estado_periodo` */ CREATE TABLE `con_estado_periodo` ( `cod_est_prd` tinyint(4) NOT NULL auto_increment, `codigo_estado` varchar(1) character set utf8 collate utf8_romanian_ci default NULL, `descripcion` varchar(50) collate utf8_unicode_ci default NULL, `fech_crea` datetime default NULL, `user_crea` varchar(15) character set utf8 collate utf8_romanian_ci default NULL, `fech_mod` datetime default NULL, `user_mod` varchar(15) character set utf8 collate utf8_romanian_ci default NULL, `estado` varchar(1) character set utf8 collate utf8_romanian_ci default NULL, PRIMARY KEY (`cod_est_prd`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Page 136: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

6

/*Table structure for table `con_estadopyg` */ CREATE TABLE `con_estadopyg` ( `cod_epg` int(11) NOT NULL auto_increment, `cod_epg_plt` int(11) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `valor` decimal(10,2) NOT NULL, `codigo_cuenta` varchar(15) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime default NULL, `cod_sucursal` int(11) NOT NULL, `grupo` varchar(5) default NULL, PRIMARY KEY (`cod_epg`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_estadopyg_cons` */ CREATE TABLE `con_estadopyg_cons` ( `cod_epg` int(11) NOT NULL auto_increment, `cod_epg_plt` int(11) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `valor` decimal(10,2) NOT NULL, `codigo_cuenta` varchar(15) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime default NULL, `grupo` varchar(5) default NULL, PRIMARY KEY (`cod_epg`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Page 137: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

7

/*Table structure for table `con_estadopyg_cons_his` */ CREATE TABLE `con_estadopyg_cons_his` ( `cod_epg` int(11) NOT NULL auto_increment, `cod_epg_plt` int(11) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `valor` decimal(10,2) NOT NULL, `codigo_cuenta` varchar(15) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime default NULL, `grupo` varchar(5) default NULL, PRIMARY KEY (`cod_epg`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_estadopyg_his` */ CREATE TABLE `con_estadopyg_his` ( `cod_epg` int(11) NOT NULL auto_increment, `cod_epg_plt` int(11) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `valor` decimal(10,2) NOT NULL, `codigo_cuenta` varchar(15) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime default NULL, `cod_sucursal` int(11) NOT NULL, `grupo` varchar(5) default NULL, PRIMARY KEY (`cod_epg`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_estadopyg_mes` */ CREATE TABLE `con_estadopyg_mes` ( `cod_epg` int(11) NOT NULL auto_increment, `cod_epg_plt` int(11) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `valor` decimal(10,2) NOT NULL, `codigo_cuenta` varchar(15) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime default NULL, `cod_sucursal` int(11) NOT NULL,

Page 138: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

8

`grupo` varchar(5) default NULL, PRIMARY KEY (`cod_epg`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_estadopyg_mes_his` */ CREATE TABLE `con_estadopyg_mes_his` ( `cod_epg` int(11) NOT NULL auto_increment, `cod_epg_plt` int(11) NOT NULL, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `valor` decimal(10,2) NOT NULL, `codigo_cuenta` varchar(15) NOT NULL, `periodoa` char(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_gen` datetime default NULL, `cod_sucursal` int(11) NOT NULL, `grupo` varchar(5) default NULL, PRIMARY KEY (`cod_epg`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_estadopyg_plt` */ CREATE TABLE `con_estadopyg_plt` ( `cod_epg_plt` int(11) NOT NULL auto_increment, `descripcion` varchar(60) NOT NULL, `clase` char(1) NOT NULL, `codigo_cuenta` varchar(15) default NULL, `estado` char(1) NOT NULL, `fecha_gen` datetime NOT NULL, `grupo` varchar(5) default NULL, PRIMARY KEY (`cod_epg_plt`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_mayor_cons_his` */ CREATE TABLE `con_mayor_cons_his` ( `cod_mayor` int(11) NOT NULL auto_increment, `cod_plan_cuentas` int(11) NOT NULL, `cuenta_fisica` varchar(15) NOT NULL, `nombre_cuenta` varchar(60) NOT NULL default '', `debe_mes` decimal(10,2) NOT NULL, `haber_mes` decimal(10,2) NOT NULL, `debe_ant` decimal(10,2) NOT NULL, `haber_ant` decimal(10,2) NOT NULL,

Page 139: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

9

`debe_actual` decimal(10,2) NOT NULL, `haber_actual` decimal(10,2) NOT NULL, `cod_padre_cuentas` int(11) NOT NULL, `padre_nmn` varchar(10) default NULL, `periodoa` varchar(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_genera` datetime NOT NULL, `user_gen` varchar(15) NOT NULL, PRIMARY KEY (`cod_mayor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_mayor_his` */ CREATE TABLE `con_mayor_his` ( `cod_mayor` int(11) NOT NULL auto_increment, `cod_sucursal` int(11) NOT NULL, `cod_plan_cuentas` int(11) NOT NULL, `cuenta_fisica` varchar(15) NOT NULL, `nombre_cuenta` varchar(60) NOT NULL default '', `debe_mes` decimal(10,2) NOT NULL, `haber_mes` decimal(10,2) NOT NULL, `debe_ant` decimal(10,2) NOT NULL, `haber_ant` decimal(10,2) NOT NULL, `debe_actual` decimal(10,2) NOT NULL, `haber_actual` decimal(10,2) NOT NULL, `cod_padre_cuentas` int(11) NOT NULL, `padre_nmn` varchar(10) default NULL, `periodoa` varchar(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_genera` datetime NOT NULL, `user_gen` varchar(15) NOT NULL, PRIMARY KEY (`cod_mayor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_mayor_rpt` */ CREATE TABLE `con_mayor_rpt` ( `cod_mayor` int(11) NOT NULL auto_increment, `cod_sucursal` int(11) NOT NULL, `cod_plan_cuentas` int(11) NOT NULL, `cuenta_fisica` varchar(15) NOT NULL, `nombre_cuenta` varchar(60) NOT NULL default '', `debe_mes` decimal(10,2) NOT NULL, `haber_mes` decimal(10,2) NOT NULL, `debe_ant` decimal(10,2) NOT NULL, `haber_ant` decimal(10,2) NOT NULL,

Page 140: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

10

`debe_actual` decimal(10,2) NOT NULL, `haber_actual` decimal(10,2) NOT NULL, `cod_padre_cuentas` int(11) NOT NULL, `padre_nmn` varchar(10) default NULL, `periodoa` varchar(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_genera` datetime NOT NULL, `user_gen` varchar(15) NOT NULL, PRIMARY KEY (`cod_mayor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_mayor_rpt_cons` */ CREATE TABLE `con_mayor_rpt_cons` ( `cod_mayor` int(11) NOT NULL auto_increment, `cod_plan_cuentas` int(11) NOT NULL, `cuenta_fisica` varchar(15) NOT NULL, `nombre_cuenta` varchar(60) NOT NULL default '', `debe_mes` decimal(10,2) NOT NULL, `haber_mes` decimal(10,2) NOT NULL, `debe_ant` decimal(10,2) NOT NULL, `haber_ant` decimal(10,2) NOT NULL, `debe_actual` decimal(10,2) NOT NULL, `haber_actual` decimal(10,2) NOT NULL, `cod_padre_cuentas` int(11) NOT NULL, `padre_nmn` varchar(10) default NULL, `periodoa` varchar(4) NOT NULL, `periodom` int(11) NOT NULL, `fecha_genera` datetime NOT NULL, `user_gen` varchar(15) NOT NULL, PRIMARY KEY (`cod_mayor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_movimientos_gen` */ CREATE TABLE `con_movimientos_gen` ( `cod_mov_gen` int(11) NOT NULL auto_increment, `cod_participante` int(11) default NULL, `cod_cab_asiento` int(11) NOT NULL, `cod_modulo_erp` tinyint(4) NOT NULL, `cod_plan_cuentas` int(11) NOT NULL, `cuenta_bancaria` varchar(20) default NULL, `signo` char(1) NOT NULL, `valor` decimal(10,2) NOT NULL, PRIMARY KEY (`cod_mov_gen`),

Page 141: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

11

KEY `FK_con_movimientos_gen` (`cod_cab_asiento`), KEY `FK_con_movimientos_gen_mod_erp` (`cod_modulo_erp`), KEY `FK_con_movimientos_gen_plan_cuentas` (`cod_plan_cuentas`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_periodo_contable` */ CREATE TABLE `con_periodo_contable` ( `cod_prd_contable` int(4) NOT NULL auto_increment, `anio` varchar(4) collate utf8_unicode_ci NOT NULL, `referencia` varchar(50) collate utf8_unicode_ci default NULL, `fech_crea` datetime default NULL, `user_crea` varchar(20) collate utf8_unicode_ci default NULL, `fech_mod` datetime default NULL, `user_mod` varchar(20) collate utf8_unicode_ci default NULL, `cod_est_prd` char(1) collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`cod_prd_contable`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*Table structure for table `con_periodo_mensual` */ CREATE TABLE `con_periodo_mensual` ( `cod_prd_mensual` smallint(6) NOT NULL auto_increment, `cod_prd_contable` int(4) default NULL, `num_mes` int(4) NOT NULL, `descripcion` varchar(50) collate utf8_unicode_ci default NULL, `fech_inicio` datetime default NULL, `fech_fin` datetime default NULL, `fech_crea` datetime default NULL, `user_crea` varchar(15) collate utf8_unicode_ci default NULL, `cod_est_prd` char(1) collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`cod_prd_mensual`), KEY `fk_CON_PERIODO_MENSUAL_CON_PERIODO_CONTABLE` (`cod_prd_contable`), CONSTRAINT `fk_CON_PERIODO_MENSUAL_CON_PERIODO_CONTABLE` FOREIGN KEY (`cod_prd_contable`) REFERENCES `con_periodo_contable` (`cod_prd_contable`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*Table structure for table `con_plan_cuentas` */ CREATE TABLE `con_plan_cuentas` ( `cod_plan_cuentas` int(11) NOT NULL auto_increment,

Page 142: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

12

`cod_padre_cuentas` int(11) default NULL, `nivel` tinyint(4) NOT NULL, `codigo_cuenta` varchar(15) collate utf8_unicode_ci NOT NULL, `nombre` varchar(60) collate utf8_unicode_ci default NULL, `descripcion` varchar(200) collate utf8_unicode_ci default NULL, `clase` varchar(1) collate utf8_unicode_ci NOT NULL, `afecta_pto` varchar(1) collate utf8_unicode_ci NOT NULL, `fech_crea` datetime default NULL, `user_crea` varchar(15) collate utf8_unicode_ci default NULL, `fech_mod` datetime default NULL, `user_mod` varchar(15) collate utf8_unicode_ci default NULL, `estado` varchar(1) collate utf8_unicode_ci NOT NULL default 'A', `nmn` varchar(10) collate utf8_unicode_ci default NULL, PRIMARY KEY (`cod_plan_cuentas`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*Table structure for table `con_procesos` */ CREATE TABLE `con_procesos` ( `cod_sucursal` int(11) NOT NULL, `cod_procesos` int(11) NOT NULL, `proceso` varchar(100) character set latin1 collate latin1_spanish_ci default NULL, `semaforo` smallint(6) default NULL, `periodom` int(11) NOT NULL, `periodoa` char(4) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `con_tipo_doc` */ CREATE TABLE `con_tipo_doc` ( `cod_tipo_doc` tinyint(4) NOT NULL auto_increment, `siglas` varchar(2) collate utf8_unicode_ci NOT NULL, `descripcion` varchar(45) collate utf8_unicode_ci NOT NULL, `ind_transaccional` tinyint(1) default NULL, `ind_presupuesto` tinyint(1) default NULL, `fech_crea` datetime default NULL, `user_crea` varchar(15) collate utf8_unicode_ci default NULL, `fec_mod` datetime default NULL, `user_mod` varchar(15) collate utf8_unicode_ci default NULL, `estado` varchar(1) collate utf8_unicode_ci default NULL, PRIMARY KEY (`cod_tipo_doc`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Page 143: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

13

1.1.2 Creación de Procedimientos.

Los procedimientos almacenados contienen toda la lógica de negocio

del sistema contable, siendo un sistema altamente tranasaccional se

vio oportuno implementar la lógica de negocio en la base de datos

para mejorar el rendimiento en los procesos contables como en los

tiempos de respuesta desde y hacia el cliente, sean estos reportes o

confirmación de procesos contables.

sp_ingresa_permes

Este procedimiento realiza los distintos cambios de estados que puede tener el periodo mensual validando para cada caso los filtros necesarios para el cambio de estado de un periodo mensual. Entre ellos Ingreso, Activación, Pendiente, Verificación, Cierre.

DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_ingresa_permes`$$ CREATE PROCEDURE `sp_ingresa_permes`( IN iopcion CHAR(1), IN anioc VARCHAR(5), IN mes TINYINT, IN descrip VARCHAR(50), IN feini VARCHAR(10), IN fefin VARCHAR(10), IN iuser VARCHAR(15) ) BEGIN DECLARE codp INT; DECLARE codpm INT; DECLARE cproc INT; DECLARE contador INT DEFAULT 0; DECLARE cerror INT DEFAULT 0; DECLARE insert_error INTEGER DEFAULT 0; DECLARE Csuc INT; DECLARE Cnombre VARCHAR(50); DECLARE done INT DEFAULT 0;

Page 144: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

14

DECLARE Cursuc CURSOR FOR SELECT cod_sucursal, nombre FROM gen_sucursal WHERE estado = "A"; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; ##SET @codp = 0; SET @cerror = 0; Controlador:BEGIN IF (iopcion = "I") THEN SELECT cod_prd_contable INTO @codp FROM con_periodo_contable WHERE anio = anioc; ##AND cod_est_prd = "A"; IF (@codp IS NULL) THEN SET @cerror = 1; SELECT @cerror, "ERROR PERIODO ANUAL NO EXISTE"; LEAVE Controlador; END IF; SELECT 1 INTO @codpm FROM con_periodo_mensual WHERE cod_prd_contable = @codp AND num_mes = mes; IF (@codpm = 1) THEN SET @cerror = 2; SELECT @cerror, "ERROR PERIODO MENSUAL YA EXISTE"; LEAVE Controlador; END IF; START TRANSACTION; INSERT INTO con_periodo_mensual(cod_prd_contable, num_mes, descripcion, fech_inicio, fech_fin, fech_crea, user_crea, cod_est_prd) VALUES (@codp, mes,

Page 145: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

15

descrip, feini, fefin, NOW(), iuser, "I"); IF insert_error THEN SET @cerror = 3; SELECT @cerror, "ERROR EN PERIODO MENSUAL"; ROLLBACK; LEAVE Controlador; END IF; SET done = 0; OPEN Cursuc; REPEAT FETCH cursuc INTO Csuc, Cnombre; IF NOT done THEN INSERT INTO con_procesos(cod_sucursal, cod_procesos, proceso, semaforo, periodom, periodoa) VALUES (Csuc, 1, "PROCESO MAYORIZACION", 0, mes, anioc), (Csuc, 2, "PROCESO PYG", 0, mes,anioc), (Csuc, 3, "APRUEBA PYG", 0, mes,anioc), (Csuc, 4, "MAYORIZACION AJUSTADA", 0, mes,anioc), (Csuc, 5, "PROCESO BALANCE GENERAL", 0, mes,anioc), (Csuc, 6, "APRUEBA BALANCE GENERAL", 0, mes,anioc); IF insert_error THEN SET @cerror = 4; SELECT @cerror, "ERROR EN SEMAFORO"; ROLLBACK; LEAVE Controlador; END IF; END IF; UNTIL done END REPEAT; CLOSE Cursuc; COMMIT;

Page 146: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

16

ELSE IF (iopcion = "A") THEN START TRANSACTION; SELECT IFNULL(COUNT(*),0) INTO @contador FROM con_periodo_mensual WHERE cod_est_prd = "A"; IF (@contador > 0) THEN SET @cerror = 4; SELECT @cerror, "ERROR YA EXISTE OTRO PERIODO ACTIVO"; ROLLBACK; LEAVE Controlador; END IF; SELECT cod_prd_mensual INTO @codp FROM con_periodo_mensual WHERE num_mes = mes AND cod_est_prd = "I"; IF (@codp IS NULL) THEN SET @cerror = 5; SELECT @cerror, "ERROR PERIODO MENSUAL NO DISPONIBLE"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_periodo_mensual SET cod_est_prd = "A" WHERE cod_prd_mensual = @codp; IF insert_error THEN SET @cerror = 6; SELECT @cerror, "ERROR ALTA PERIODO MENSUAL"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; ELSE IF (iopcion = "C") THEN START TRANSACTION; SELECT cod_prd_contable INTO @codpa FROM con_periodo_contable WHERE anio = anioc;

Page 147: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

17

SELECT cod_prd_mensual INTO @codp FROM con_periodo_mensual WHERE num_mes = mes AND cod_prd_contable = @codpa AND cod_est_prd = "V"; IF (@codp IS NULL) THEN SET @cerror = 7; SELECT @cerror, "ERROR PERIODO MENSUAL NO ESTA VERIFICADO"; ROLLBACK; LEAVE Controlador; END IF; SELECT IFNULL(COUNT(*),0) INTO @cproc FROM con_procesos WHERE cod_procesos = 6 AND periodom = mes AND periodoa = anioc AND semaforo = 0; IF (@cproc > 0) THEN SET @cerror = 8; SELECT @cerror, "ERROR EXISTEN SUCURSALES CON PROCESOS NO APROBADOS"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_periodo_mensual SET cod_est_prd = "C" WHERE cod_prd_mensual = @codp; IF insert_error THEN SET @cerror = 9; SELECT @cerror, "ERROR CERRAR PERIODO MENSUAL"; ROLLBACK; LEAVE Controlador; END IF; CALL sp_migra_mayor(anioc, mes, iuser); CALL sp_migra_pyg(anioc, mes, iuser); CALL sp_migra_pyg_mes(anioc, mes, iuser); CALL sp_migra_bg(anioc, mes, iuser); CALL sp_migra_mayor_cons(anioc, mes, iuser); CALL sp_migra_pyg_cons(anioc, mes, iuser);

Page 148: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

18

CALL sp_migra_bg_cons(anioc, mes, iuser); IF insert_error THEN SET @cerror = 10; SELECT @cerror, "ERROR CERRAR PERIODO MENSUAL MIGRA"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; ELSE IF (iopcion = "V") THEN START TRANSACTION; SELECT cod_prd_contable INTO @codpa FROM con_periodo_contable WHERE anio = anioc; SELECT cod_prd_mensual INTO @codp FROM con_periodo_mensual WHERE num_mes = mes AND cod_prd_contable = @codpa AND cod_est_prd IN ("A", "P"); IF (@codp IS NULL) THEN SET @cerror = 11; SELECT @cerror, "ERROR PERIODO MENSUAL NO ESTA ACTIVO O PENDIENTE"; ROLLBACK; LEAVE Controlador; END IF; SELECT IFNULL(COUNT(*),0) INTO @cproc FROM con_procesos WHERE cod_procesos = 6 AND periodom = mes AND periodoa = anioc AND semaforo = 0; IF (@cproc > 0) THEN SET @cerror = 12; SELECT @cerror, "ERROR EXISTEN SUCURSALES CON PROCESOS NO APROBADOS"; ROLLBACK; LEAVE Controlador; END IF;

Page 149: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

19

UPDATE con_periodo_mensual SET cod_est_prd = "V" WHERE cod_prd_mensual = @codp; IF insert_error THEN SET @cerror = 13; SELECT @cerror, "ERROR VERIFICAR PERIODO MENSUAL"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; ELSE IF (iopcion = "P") THEN START TRANSACTION; SELECT cod_prd_contable INTO @codpa FROM con_periodo_contable WHERE anio = anioc; SELECT cod_prd_mensual INTO @codp FROM con_periodo_mensual WHERE num_mes = mes AND cod_prd_contable = @codpa AND cod_est_prd IN ("A", "P"); IF (@codp IS NULL) THEN SET @cerror = 14; SELECT @cerror, "ERROR PERIODO MENSUAL NO ESTA ACTIVO O PENDIENTE"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_periodo_mensual SET cod_est_prd = "P" WHERE cod_prd_mensual = @codp;

Page 150: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

20

IF insert_error THEN SET @cerror = 15; SELECT @cerror, "ERROR POSTERGAR PERIODO MENSUAL"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; END IF; END IF; END IF; END IF; END IF; SELECT @cerror; END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 151: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

21

sp_ingresa_peranual

Este procedimiento realiza los distintos cambios de estados que puede tener el periodo contable o anual validando para cada caso los filtros necesarios para el cambio de estado de un periodo contable en conjunto del periodo mensual. Entre ellos Ingreso, Activación, Pendiente, Verificación, Cierre.

DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_ingresa_peranual`$$ CREATE PROCEDURE `sp_ingresa_peranual`( IN iopcion CHAR(1), IN ianioc VARCHAR(5), IN iref VARCHAR(50), IN iuser VARCHAR(15) ) BEGIN DECLARE codp INT; DECLARE contador INT DEFAULT 0; DECLARE cerror INT DEFAULT 0; DECLARE insert_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN IF (iopcion = "I") THEN START TRANSACTION; SELECT cod_prd_contable INTO @codp FROM con_periodo_contable WHERE anio = ianioc; IF (@codp IS NULL || @codp = 0) THEN INSERT INTO con_periodo_contable(anio, referencia, fech_crea, user_crea, cod_est_prd) VALUES (ianioc, iref, NOW(), iuser, "I");

Page 152: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

22

IF insert_error THEN SET @cerror = 1; SELECT @cerror, "ERROR EN PERIODO ANUAL"; ROLLBACK; LEAVE Controlador; END IF; ELSE SET @cerror = 2; SELECT @cerror, "ERROR PERIODO ANUAL YA EXISTE"; LEAVE Controlador; END IF; COMMIT; ELSE IF (iopcion = "A") THEN START TRANSACTION; SELECT IFNULL(COUNT(*),0) INTO @contador FROM con_periodo_contable WHERE cod_est_prd = "A"; IF (@contador > 0) THEN SET @cerror = 3; SELECT @cerror, "ERROR YA EXISTE OTRO PERIODO ACTIVO"; ROLLBACK; LEAVE Controlador; END IF; SELECT cod_prd_contable INTO @codp FROM con_periodo_contable WHERE anio = ianioc AND cod_est_prd = "I"; IF (@codp IS NULL) THEN SET @cerror = 4; SELECT @cerror, "ERROR PERIODO ANUAL NO DISPONIBLE"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_periodo_contable SET cod_est_prd = "A" WHERE cod_prd_contable = @codp;

Page 153: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

23

IF insert_error THEN SET @cerror = 5; SELECT @cerror, "ERROR ALTA PERIODO"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; ELSE IF (iopcion = "C") THEN START TRANSACTION; SELECT cod_prd_contable INTO @codp FROM con_periodo_contable WHERE anio = ianioc AND cod_est_prd = "V"; IF (@codp IS NULL) THEN SET @cerror = 6; SELECT @cerror, "ERROR PERIODO ANUAL NO ESTA VERIFICADO"; ROLLBACK; LEAVE Controlador; END IF; SELECT IFNULL(COUNT(*),0) INTO @contador FROM con_periodo_mensual WHERE cod_prd_contable = @codp AND cod_est_prd <> "C"; IF (@contador > 0) THEN SET @cerror = 7; SELECT @cerror, "ERROR EXISTE PERIODOS MENSUALES PENDIENTES DE CIERRE"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_periodo_contable SET cod_est_prd = "C", user_mod = iuser, fech_mod = NOW() WHERE cod_prd_contable = @codp; IF insert_error THEN SET @cerror = 8; SELECT @cerror, "ERROR CERRAR PERIODO";

Page 154: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

24

ROLLBACK; LEAVE Controlador; END IF; COMMIT; ELSE IF (iopcion = "V") THEN START TRANSACTION; SELECT cod_prd_contable INTO @codp FROM con_periodo_contable WHERE anio = ianioc AND cod_est_prd IN ("A", "P"); IF (@codp IS NULL) THEN SET @cerror = 9; SELECT @cerror, "ERROR PERIODO ANUAL NO ESTA ACTIVO O PENDIENTE"; ROLLBACK; LEAVE Controlador; END IF; SELECT IFNULL(COUNT(*),0) INTO @contador FROM con_periodo_mensual WHERE cod_prd_contable = @codp AND cod_est_prd <> "C"; IF (@contador > 0) THEN SET @cerror = 10; SELECT @cerror, "ERROR EXISTE PERIODOS MENSUALES PENDIENTES DE CIERRE"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_periodo_contable SET cod_est_prd = "V", user_mod = iuser, fech_mod = NOW() WHERE cod_prd_contable = @codp; IF insert_error THEN SET @cerror = 11; SELECT @cerror, "ERROR VERIFICAR PERIODO ANUAL"; ROLLBACK; LEAVE Controlador; END IF;

Page 155: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

25

COMMIT; ELSE IF (iopcion = "P") THEN START TRANSACTION; SELECT cod_prd_contable INTO @codp FROM con_periodo_contable WHERE anio = ianioc AND cod_est_prd IN ("A", "P"); IF (@codp IS NULL) THEN SET @cerror = 12; SELECT @cerror, "ERROR PERIODO ANUAL NO ESTA ACTIVO O PENDIENTE"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_periodo_contable SET cod_est_prd = "P", user_mod = iuser, fech_mod = NOW() WHERE cod_prd_contable = @codp; IF insert_error THEN SET @cerror = 13; SELECT @cerror, "ERROR POSTERGAR PERIODO ANUAL"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; END IF; END IF; END IF; END IF; END IF; SELECT @cerror;

Page 156: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

26

END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 157: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

27

sp_ingresa_plancta

Este procedimiento ingresa a la estructura del plan de cuentas todas y cada una de las cuentas requeridas por el usuario, calculando automáticamente el nuevo código contable que va a tener dicha cuenta ingresada, como también el nivel al que pertenece. DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_ingresa_plancta`$$ CREATE PROCEDURE `sp_ingresa_plancta`( IN cta_padre VARCHAR(15), IN clase CHAR(1), IN nombre VARCHAR(60), IN presupuesto CHAR(1), IN descripcion VARCHAR(200), IN nemonico VARCHAR(10), IN iuser VARCHAR(15) ) BEGIN DECLARE id_padre INT; DECLARE nhijos INT; DECLARE codcta VARCHAR(15); DECLARE panio VARCHAR(4); DECLARE nivel INT; DECLARE insert_error INTEGER DEFAULT 0; DECLARE codp INT; DECLARE cerror INT DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN START TRANSACTION; SELECT cod_plan_cuentas INTO @id_padre FROM con_plan_cuentas WHERE TRIM(codigo_cuenta) = cta_padre; SELECT (COUNT(*) + 1) INTO @nhijos FROM con_plan_cuentas WHERE cod_padre_cuentas = @id_padre; SELECT (CONCAT(cta_padre, ".", @nhijos)) INTO @codcta;

Page 158: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

28

SELECT (ROUND(LENGTH(@codcta)/2)) INTO @nivel; ##SELECT @id_padre, @nhijos, @nivel, @codcta; INSERT INTO con_plan_cuentas (cod_padre_cuentas, nivel, codigo_cuenta, nombre, descripcion, clase, afecta_pto, nmn, fech_crea, user_crea, fech_mod, user_mod, estado) VALUES (@id_padre, @nivel, @codcta, nombre, descripcion, clase, presupuesto, nemonico, NOW(), iuser, NOW(), iuser, "A"); IF insert_error THEN SET @cerror = 1; SELECT @cerror, "ERROR EN CREACION DE CUENTA"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; SELECT @cerror; END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 159: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

29

sp_modifica_plancta

Este procedimiento modifica los datos de la cuenta contable requerida por el usuario, permaneciendo inalterable su código contable. DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_modifica_plancta`$$ CREATE PROCEDURE `sp_modifica_plancta`( IN i_codigo_cuenta VARCHAR(15), IN i_nombre VARCHAR(60), IN i_clase CHAR(1), IN i_nemonico VARCHAR(10), IN i_descripcion VARCHAR(200), IN i_presupuesto CHAR(1), IN i_iuser VARCHAR(15) ) BEGIN DECLARE insert_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN START TRANSACTION; UPDATE con_plan_cuentas SET nombre=i_nombre, clase=i_clase, nmn=i_nemonico, descripcion=i_descripcion, afecta_pto=i_presupuesto, user_mod=i_iuser WHERE codigo_cuenta=i_codigo_cuenta; IF insert_error THEN SET @cerror = 1; SELECT @cerror, "ERROR EN ACTUALIZAR LA CUENTA"; ROLLBACK; LEAVE Controlador;

Page 160: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

30

END IF; COMMIT; SELECT @cerror; END; ##Controlador:BEGIN END$$ DELIMITER ;

sp_ingresa_cab_asiento

Procedimiento que ingresa la cabecera del asiento contable, verificando el periodo activo para su ingreso exitoso y retornando el código de cabecera para la posterior inserción del detalle del asiento contable. DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_ingresa_cab_asiento`$$ CREATE PROCEDURE `sp_ingresa_cab_asiento`( IN isucursal INT, IN imodulo_erp TINYINT, IN itipo_doc TINYINT, IN ivtotal DECIMAL(10,2), IN iconcepto VARCHAR(50), IN iuser VARCHAR(15) ) BEGIN DECLARE numero INT; DECLARE num_form INT; DECLARE ccon INT; DECLARE panio VARCHAR(4); DECLARE pmes VARCHAR(4); DECLARE cerror INT DEFAULT 0; DECLARE insert_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN

Page 161: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

31

START TRANSACTION; SELECT anio INTO @panio FROM con_periodo_contable WHERE cod_est_prd = "A"; IF (@panio IS NULL) THEN SET @cerror = 1; SELECT @cerror, "ERROR PERIODO ANUAL NO ACTIVO"; LEAVE Controlador; END IF; SELECT cod_prd_contable INTO @ccon FROM con_periodo_contable WHERE cod_est_prd = "A"; IF (@ccon IS NULL) THEN SET @cerror = 1; SELECT @cerror, "ERROR PERIODO ANUAL NO ACTIVO"; LEAVE Controlador; END IF; SELECT num_mes INTO @pmes FROM con_periodo_mensual WHERE cod_prd_contable = @ccon AND cod_est_prd = "A"; IF (@pmes IS NULL) THEN SET @cerror = 2;

Page 162: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

32

SELECT @cerror, "ERROR PERIODO MENSUAL NO ACTIVO"; LEAVE Controlador; END IF; SELECT IFNULL(MAX(num_formulario) + 1,1) INTO @num_form FROM con_cab_asiento WHERE cod_sucursal = isucursal ##cod_modulo_erp = imodulo_erp AND periodoa = @panio; SELECT IFNULL(MAX(num_asiento) + 1,1) INTO @numero FROM con_cab_asiento WHERE periodoa = @panio; #WHERE YEAR(fecha) = YEAR(CURDATE()); INSERT INTO con_cab_asiento(cod_sucursal, cod_modulo_erp, cod_tipo_doc, num_asiento, num_formulario, fecha, valor_total, concepto, cuadrado, fec_crea, user_crea, fec_mod, user_mod, periodoa, periodom, estado) VALUES( isucursal, imodulo_erp, itipo_doc, @numero, @num_form, NOW(), ivtotal, iconcepto, "N", CURDATE(), iuser, "", "", @panio, @pmes, "P"); IF insert_error THEN SET @cerror = 3; SELECT @cerror, "ERROR EN CABECERA ASIENTO"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; SELECT @cerror, LAST_INSERT_ID(); END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 163: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

33

sp_ingresa_det_asiento

Este procedimiento recibe el codigo de cada una de las cuentas contables que intervienen en el asiento y tambien el codigo de la cabecera del asiento validando el cuadre del respective asiento para poder dar de alta al asiento contable tanto su cabecera como su detalle para poder ser contemplado en los siguiente procesos contables. DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_ingresa_det_asiento`$$ CREATE PROCEDURE `sp_ingresa_det_asiento`( IN icodcab INT, IN icodcta VARCHAR(15), IN imov CHAR(1), IN icoderp TINYINT, IN ivaldet DECIMAL(10,4), IN ivtotal DECIMAL(10,2), IN iobserva VARCHAR(150), IN ipres CHAR(1), IN isucursal INT ) BEGIN DECLARE modulo_des VARCHAR(30); DECLARE codplan INTEGER; DECLARE totdebe DECIMAL(10,4); DECLARE tothaber DECIMAL(10,4); DECLARE cerror INT DEFAULT 0; DECLARE ccon INT; DECLARE panio VARCHAR(4); DECLARE pmes VARCHAR(4); DECLARE insert_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN SELECT anio INTO @panio FROM con_periodo_contable WHERE cod_est_prd = "A";

Page 164: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

34

IF (@panio IS NULL) THEN SET @cerror = 1; SELECT @cerror, "ERROR PERIODO ANUAL NO ACTIVO"; LEAVE Controlador; END IF; SELECT cod_prd_contable INTO @ccon FROM con_periodo_contable WHERE cod_est_prd = "A"; IF (@ccon IS NULL) THEN SET @cerror = 1; SELECT @cerror, "ERROR PERIODO ANUAL NO ACTIVO"; LEAVE Controlador; END IF; SELECT num_mes INTO @pmes FROM con_periodo_mensual WHERE cod_prd_contable = @ccon AND cod_est_prd = "A"; IF (@pmes IS NULL) THEN SET @cerror = 2; SELECT @cerror, "ERROR PERIODO MENSUAL NO ACTIVO"; LEAVE Controlador; END IF; SELECT descripcion INTO @modulo_des FROM gen_modulo_erp WHERE cod_modulo_erp = icoderp; IF (@modulo_des IS NULL) THEN SET @cerror = 3; SELECT @cerror, "ERROR MODULO NO DEFINIDO"; LEAVE Controlador; END IF; SELECT cod_plan_cuentas INTO @codplan FROM con_plan_cuentas WHERE codigo_cuenta = icodcta AND clase = "C"; IF (@codplan IS NULL) THEN SET @cerror = 4; SELECT @cerror, "ERROR CUENTA CONTABLE NO EXISTE"; LEAVE Controlador; END IF; START TRANSACTION; INSERT INTO con_det_asiento(cod_cab_asiento, cod_plan_cuentas,

Page 165: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

35

movimiento, cod_modulo_erp, valor_det, observacion, indicador_pto, modulo, estado, periodoa, periodom, cod_sucursal, fecha_crea) VALUES( icodcab, @codplan, imov, icoderp, ivaldet, iobserva, ipres, @modulo_des, "P", @panio, @pmes, isucursal, CURDATE()); IF insert_error THEN SET @cerror = 5; SELECT @cerror, "ERROR EN DETALLE ASIENTO"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; SELECT IFNULL(SUM(valor_det),0) INTO @totdebe FROM con_det_asiento WHERE cod_cab_asiento = icodcab AND movimiento = "D"; SELECT IFNULL(SUM(valor_det),0) INTO @tothaber FROM con_det_asiento WHERE cod_cab_asiento = icodcab AND movimiento = "H"; IF ((@totdebe = @tothaber) && (ivtotal = @tothaber)) THEN START TRANSACTION; UPDATE con_cab_asiento SET cuadrado = "S", estado = "A" WHERE cod_cab_asiento = icodcab; IF insert_error THEN SET @cerror = 8; SELECT @cerror, "ERROR ACTUALIZACION CUADRE ASIENTO"; ROLLBACK; LEAVE Controlador;

Page 166: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

36

END IF; UPDATE con_det_asiento SET estado = "A" WHERE cod_cab_asiento = icodcab; IF insert_error THEN SET @cerror = 9; SELECT @cerror, "ERROR ACTUALIZACION CUADRE ASIENTO DETALLE"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; END IF; SELECT @cerror; END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 167: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

37

sp_mayorizacion

Este procedimiento realiza el proceso de mayorizacion de las cuentas contables extraidas de la estructura del plan de cuentas que intervienen en el ejercicio dependiendo del periodo mensual y anual al que pertenece, sacando los saldos de todas las cuentas contables para los siguientes procesos contables y contemplando los saldos de los periodos anteriores. DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_mayorizacion`$$ CREATE PROCEDURE sp_mayorizacion( IN ianio CHAR(4), IN imes INT, IN isuc INT, IN iuser VARCHAR(15) ) BEGIN DECLARE d_me DECIMAL(10,2); DECLARE h_me DECIMAL(10,2); DECLARE d_an DECIMAL(10,2); DECLARE h_an DECIMAL(10,2); DECLARE d_ac DECIMAL(10,2); DECLARE h_ac DECIMAL(10,2); DECLARE Cplan INT; DECLARE Ccod_cta VARCHAR(15); DECLARE Cclase CHAR(1); DECLARE Cnombre VARCHAR(60); DECLARE Cnmn VARCHAR(10); DECLARE Cpadre INT; DECLARE panio VARCHAR(4); DECLARE cerror INT DEFAULT 0; DECLARE insert_error INTEGER DEFAULT 0; DECLARE ccon INT; DECLARE pmes VARCHAR(4); DECLARE mesa INT; DECLARE anioa INT; DECLARE codp INT; DECLARE done INT DEFAULT 0;

Page 168: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

38

DECLARE Curplan CURSOR FOR SELECT cod_plan_cuentas, codigo_cuenta, clase, nombre, nmn, cod_padre_cuentas FROM con_plan_cuentas WHERE clase = "G" AND nivel >= 3; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN SELECT cod_prd_contable INTO @ccon FROM con_periodo_contable WHERE anio = ianio AND cod_est_prd NOT IN("I", "C", "V"); IF (@ccon IS NULL) THEN SET @cerror = 1; SELECT @cerror, "ERROR ESTADO PERIODO ANUAL INACTIVO CERRADO O VERIFICADO"; LEAVE Controlador; END IF; SELECT num_mes INTO @pmes FROM con_periodo_mensual WHERE cod_prd_contable = @ccon AND num_mes = imes AND cod_est_prd NOT IN("I", "C", "V"); IF (@pmes IS NULL) THEN SET @cerror = 2; SELECT @cerror, "ERROR PERIODO MENSUAL INACTIVO CERRADO O VERIFICADO"; LEAVE Controlador; END IF; IF (imes = 1) THEN SET @mesa = 12; SET @anioa = ianio -1; ELSE SET @mesa = imes - 1; SET @anioa = ianio; END IF; START TRANSACTION; DELETE FROM con_mayor_rpt WHERE cod_sucursal = isuc AND periodoa = ianio AND periodom = imes;

Page 169: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

39

IF insert_error THEN SET @cerror = 3; SELECT @cerror, "ERROR INICIANDO MAYORIZACION"; ROLLBACK; LEAVE Controlador; END IF; IF (imes > 1) THEN INSERT INTO con_mayor_rpt ( cod_sucursal, cod_plan_cuentas, cuenta_fisica, nombre_cuenta, debe_mes, haber_mes, debe_ant, haber_ant, cod_padre_cuentas, padre_nmn, periodoa, periodom, fecha_genera, user_gen ) SELECT isuc, A.cod_plan_cuentas, A.codigo_cuenta, A.nombre, IFNULL((SELECT SUM(valor_det) FROM con_det_asiento WHERE cod_plan_cuentas = A.cod_plan_cuentas AND estado = "A" AND movimiento = "D" AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc AND mayoriza IN ("S","I")), "0.00") AS DEBE, IFNULL((SELECT SUM(valor_det) FROM con_det_asiento WHERE cod_plan_cuentas = A.cod_plan_cuentas AND estado = "A" AND movimiento = "H" AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc

Page 170: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

40

AND mayoriza IN ("S","I")), "0.00") AS HABER, IFNULL((SELECT debe_actual FROM con_mayor_his WHERE cod_plan_cuentas = A.cod_plan_cuentas AND periodoa = @anioa AND periodom = @mesa AND cod_sucursal = isuc), "0.00") AS debeA, IFNULL((SELECT haber_actual FROM con_mayor_his WHERE cod_plan_cuentas = A.cod_plan_cuentas AND periodoa = @anioa AND periodom = @mesa ##imes - 1 AND cod_sucursal = isuc), "0.00") AS debeA, A.cod_padre_cuentas, A.nmn, ianio, imes, NOW(), iuser FROM con_plan_cuentas AS A WHERE clase = "C"; IF insert_error THEN SET @cerror = 4; SELECT @cerror, "ERROR EN MAYORIZACION DE CUENTAS MENSUAL"; ROLLBACK; LEAVE Controlador; END IF; ELSE INSERT INTO con_mayor_rpt ( cod_sucursal, cod_plan_cuentas, cuenta_fisica, nombre_cuenta, debe_mes, haber_mes, debe_ant, haber_ant, cod_padre_cuentas, padre_nmn, periodoa, periodom, fecha_genera,

Page 171: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

41

user_gen ) SELECT isuc, A.cod_plan_cuentas, A.codigo_cuenta, A.nombre, IFNULL((SELECT SUM(valor_det) FROM con_det_asiento WHERE cod_plan_cuentas = A.cod_plan_cuentas AND estado = "A" AND movimiento = "D" AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc AND mayoriza IN ("S","I")), "0.00") AS DEBE, IFNULL((SELECT SUM(valor_det) FROM con_det_asiento WHERE cod_plan_cuentas = A.cod_plan_cuentas AND estado = "A" AND movimiento = "H" AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc AND mayoriza IN ("S","I")), "0.00") AS HABER, "0.00", "0.00", A.cod_padre_cuentas, A.nmn, ianio, imes, NOW(), iuser FROM con_plan_cuentas AS A WHERE clase = "C"; IF insert_error THEN SET @cerror = 5; SELECT @cerror, "ERROR EN MAYORIZACION DE CUENTAS MENSUAL"; ROLLBACK; LEAVE Controlador; END IF; END IF; UPDATE con_mayor_rpt SET debe_actual = debe_mes + debe_ant,

Page 172: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

42

haber_actual = haber_mes + haber_ant; IF insert_error THEN SET @cerror = 6; SELECT @cerror, "ERROR EN MAYORIZACION DE CUENTAS ANUAL"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_procesos SET semaforo = 1 WHERE cod_sucursal = isuc AND cod_procesos IN (1) AND periodom = imes AND periodoa = ianio; IF insert_error THEN SET @cerror = 7; SELECT @cerror, "ERROR ACTUALIZAR SEMAFORO PROCESOS 1"; ROLLBACK; LEAVE Controlador; END IF; COMMIT; SET done = 0; OPEN Curplan; REPEAT FETCH Curplan INTO Cplan, Ccod_cta, Cclase, Cnombre, Cnmn, Cpadre; IF NOT done THEN SELECT SUM(debe_mes) INTO @d_me FROM con_mayor_rpt WHERE cod_padre_cuentas = Cplan AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc; SELECT SUM(haber_mes) INTO @h_me FROM con_mayor_rpt WHERE cod_padre_cuentas = Cplan AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc; SELECT SUM(debe_ant) INTO @d_an

Page 173: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

43

FROM con_mayor_rpt WHERE cod_padre_cuentas = Cplan AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc; SELECT SUM(haber_ant) INTO @h_an FROM con_mayor_rpt WHERE cod_padre_cuentas = Cplan AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc; SELECT SUM(debe_actual) INTO @d_ac FROM con_mayor_rpt WHERE cod_padre_cuentas = Cplan AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc; SELECT SUM(haber_actual) INTO @h_ac FROM con_mayor_rpt WHERE cod_padre_cuentas = Cplan AND periodoa = ianio AND periodom = imes AND cod_sucursal = isuc; INSERT INTO con_mayor_rpt( cod_sucursal, cod_plan_cuentas, cuenta_fisica, nombre_cuenta, debe_mes, haber_mes, debe_ant, haber_ant, debe_actual, haber_actual, cod_padre_cuentas, padre_nmn, periodoa, periodom, fecha_genera, user_gen ) VALUES( isuc, Cplan, Ccod_cta, Cnombre, @d_me, @h_me, @d_an, @h_an, @d_ac, @h_ac, Cpadre, Cnmn, ianio, imes,

Page 174: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

44

NOW(), iuser ); IF insert_error THEN SET @cerror = 8; SELECT @cerror, "ERROR MAYORIZACION GRUPAL"; ROLLBACK; LEAVE Controlador; END IF; END IF; UNTIL done END REPEAT; CLOSE Curplan; SELECT @cerror; END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 175: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

45

sp_estadopyg_proc_cons

Procedimiento que genera el estado de perdidas y ganancias consolidado de todas las sucursales validando el periodo activo partiendo de los movimientos contables y también del mayor consolidado. DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_estadopyg_proc_cons`$$ CREATE PROCEDURE sp_estadopyg_proc_cons( IN ianio CHAR(4), IN imes INT, IN iuser VARCHAR(15) ) BEGIN DECLARE ccon INT; DECLARE panio VARCHAR(4); DECLARE vtasnetas DECIMAL(10,2); DECLARE compnetas DECIMAL(10,2); DECLARE mercdisp DECIMAL(10,2); DECLARE costvta DECIMAL(10,2); DECLARE utibvta DECIMAL(10,2); DECLARE otroing DECIMAL(10,2); DECLARE utilemptrab DECIMAL(10,2); DECLARE imprenta DECIMAL(10,2); DECLARE reslegal DECIMAL(10,2); DECLARE valmercd DECIMAL(10,2); DECLARE valmerch DECIMAL(10,2); DECLARE insert_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN SELECT cod_prd_contable INTO @ccon FROM con_periodo_contable WHERE anio = ianio

Page 176: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

46

AND cod_est_prd NOT IN("I", "C", "V"); IF (@ccon IS NULL) THEN ##SET @cerror = 1; ##SELECT @cerror, "ERROR ESTADO PERIODO ANUAL INACTIVO CERRADO O VERIFICADO"; ##ROLLBACK; SELECT @cerror; LEAVE Controlador; END IF; SELECT num_mes INTO @pmes FROM con_periodo_mensual WHERE cod_prd_contable = @ccon AND num_mes = imes AND cod_est_prd NOT IN("I", "C", "V"); IF (@pmes IS NULL) THEN ##SET @cerror = 2; ##SELECT @cerror, "ERROR PERIODO MENSUAL INACTIVO CERRADO O VERIFICADO"; ##ROLLBACK; SELECT @cerror; LEAVE Controlador; END IF; START TRANSACTION; TRUNCATE TABLE con_estadopyg_cons; IF insert_error THEN SET @cerror = 3; SELECT @cerror, "ERROR INICIANDO PROCESO PYG"; ROLLBACK; LEAVE Controlador; END IF; SELECT SUM(valor_det) INTO @valmercd FROM con_det_asiento WHERE cod_plan_cuentas = 32 ## CUENTA MERCADERIAS AND estado = "A" AND movimiento = "D" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; SELECT SUM(valor_det) INTO @valmerch FROM con_det_asiento WHERE cod_plan_cuentas = 32 ## CUENTA MERCADERIAS AND estado = "A" AND movimiento = "H" AND periodoa = ianio AND periodom = imes;

Page 177: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

47

##AND cod_sucursal = isuc; UPDATE con_mayor_rpt_cons SET debe_mes = @valmercd, haber_mes = @valmerch, debe_actual = @valmercd + debe_ant, haber_actual = @valmerch + haber_ant WHERE cuenta_fisica = "1.1.16.1" ## CUENTA MERCADERIAS AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 2; SELECT @cerror, "ERROR ACTUALIZACION CUENTA MERCADERIAS INICIAL"; ROLLBACK; LEAVE Controlador; END IF; INSERT INTO con_estadopyg_cons(cod_epg_plt, descripcion, clase, valor, codigo_cuenta, periodoa, periodom, fecha_gen, grupo) SELECT cod_epg_plt, descripcion, clase, (SELECT (debe_actual - haber_actual) FROM con_mayor_rpt_cons WHERE cuenta_fisica = codigo_cuenta ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) AS valores, codigo_cuenta, ianio, imes, NOW(), ##isuc, grupo FROM con_estadopyg_plt AS A; IF insert_error THEN SET @cerror = 3; SELECT @cerror, "ERROR ESTADO PYG"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_estadopyg_cons SET valor = (SELECT SUM(valor_det) FROM con_det_asiento WHERE mayoriza = "I" ##cod_cab_asiento = 1 AND periodoa = ianio ##AND cod_sucursal = isuc

Page 178: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

48

AND cod_plan_cuentas = 32 ) ## CUENTA MERCADERIAS WHERE codigo_cuenta = "1.1.16.1" ## CUENTA MERCADERIAS AND cod_epg_plt = 7 AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 4; SELECT @cerror, "ERROR ACTUALIZACION CUENTA MERCADERIAS FINAL"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_estadopyg_cons SET valor = (-1 * valor) WHERE valor < 0; IF insert_error THEN SET @cerror = 5; SELECT @cerror, "ERROR POSITIVOS"; ROLLBACK; LEAVE Controlador; END IF; ## VENTAS NETAS SELECT (SELECT valor FROM con_estadopyg_cons WHERE cod_epg_plt = 1 ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) - (SELECT SUM(valor) FROM con_estadopyg_cons WHERE cod_epg_plt IN (2,3,4) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) INTO @vtasnetas; UPDATE con_estadopyg_cons SET valor = @vtasnetas WHERE cod_epg_plt = 5 AND periodoa = ianio AND periodom = imes; #AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 6;

Page 179: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

49

SELECT @cerror, "ERROR VENTAS NETAS"; ROLLBACK; LEAVE Controlador; END IF; ## --VENTAS NETAS ## COMPRAS NETAS SELECT (SELECT valor FROM con_estadopyg_cons WHERE cod_epg_plt IN (8) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) - (SELECT SUM(valor) FROM con_estadopyg_cons WHERE cod_epg_plt IN (9,10) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) + (SELECT valor FROM con_estadopyg_cons WHERE cod_epg_plt IN (11) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) INTO @compnetas; UPDATE con_estadopyg_cons SET valor = @compnetas WHERE cod_epg_plt = 12 AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 7; SELECT @cerror, "ERROR COMPRAS NETAS"; ROLLBACK; LEAVE Controlador; END IF; ## -- COMPRAS NETAS ## MERCADERIA DISPONIBLE SELECT (SELECT SUM(valor) FROM con_estadopyg_cons WHERE cod_epg_plt IN (7,12)

Page 180: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

50

##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) INTO @mercdisp; UPDATE con_estadopyg_cons SET valor = @mercdisp WHERE cod_epg_plt = 13 AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 8; SELECT @cerror, "ERROR MERCADERIA DISPONIBLE"; ROLLBACK; LEAVE Controlador; END IF; ## -- MERCADERIA DISPONIBLE ## COSTO DE VENTAS SELECT (SELECT SUM(valor) FROM con_estadopyg_cons WHERE cod_epg_plt IN (7,12) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) - (SELECT valor FROM con_estadopyg_cons WHERE cod_epg_plt IN (14) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) INTO @costvta; UPDATE con_estadopyg_cons SET valor = @costvta WHERE cod_epg_plt = 6 ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes; IF insert_error THEN SET @cerror = 9; SELECT @cerror, "ERROR COSTO DE VENTAS"; ROLLBACK; LEAVE Controlador; END IF; ## -- COSTO DE VENTAS

Page 181: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

51

## UTIL. B VENTAS SELECT (SELECT SUM(valor) FROM con_estadopyg_cons WHERE cod_epg_plt IN (5) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) - (SELECT valor FROM con_estadopyg_cons WHERE cod_epg_plt IN (6) ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) INTO @utibvta; UPDATE con_estadopyg_cons SET valor = @utibvta WHERE cod_epg_plt = 15 ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes; IF insert_error THEN SET @cerror = 10; SELECT @cerror, "ERROR UTIL. B VENTAS"; ROLLBACK; LEAVE Controlador; END IF; ## -- UTIL. B VENTAS ## OTROS INGRESOS SELECT SUM(valor) INTO @otroing FROM con_estadopyg_cons WHERE grupo = "OI" AND clase = "C" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; UPDATE con_estadopyg_cons SET valor = @otroing WHERE grupo = "OI" AND clase = "T" ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes;

Page 182: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

52

IF insert_error THEN SET @cerror = 11; SELECT @cerror, "ERROR OTROS INGRESOS"; ROLLBACK; LEAVE Controlador; END IF; ## -- OTROS INGRESOS ## OTROS EGRESOS SELECT SUM(valor) INTO @otroegre FROM con_estadopyg_cons WHERE grupo = "OE" AND clase = "C" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; UPDATE con_estadopyg_cons SET valor = @otroegre WHERE grupo = "OE" AND clase = "T" ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes; IF insert_error THEN SET @cerror = 12; SELECT @cerror, "ERROR OTROS EGRESOS"; ROLLBACK; LEAVE Controlador; END IF; ## -- OTROS EGRESOS ## UTILIDAD ANTES DE PARTICIPACION E IMPUESTO UPDATE con_estadopyg_cons SET valor = (@utibvta + @otroing - @otroegre) WHERE grupo = "UAP" ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes; IF insert_error THEN SET @cerror = 13; SELECT @cerror, "ERROR UTILIDAD ANTES DE PARTICIPACION E IMPUESTO"; ROLLBACK; LEAVE Controlador; END IF;

Page 183: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

53

## -- UTILIDAD ANTES DE PARTICIPACION E IMPUESTO ## 15% UTILIDAD A EMPLEADOS Y TRABAJADORES UPDATE con_estadopyg_cons SET valor = ((@utibvta + @otroing - @otroegre)*0.15) WHERE grupo = "UET" ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes; IF insert_error THEN SET @cerror = 14; SELECT @cerror, "ERROR 15% UTILIDAD A EMPLEADOS Y TRABAJADORES"; ROLLBACK; LEAVE Controlador; END IF; ## -- 15% UTILIDAD A EMPLEADOS Y TRABAJADORES ## 25% IMPUESTO A LA RENTA SELECT valor INTO @utilemptrab FROM con_estadopyg_cons WHERE grupo = "UET" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; UPDATE con_estadopyg_cons SET valor = (((@utibvta + @otroing - @otroegre) - @utilemptrab) * 0.25) WHERE grupo = "IR" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 15; SELECT @cerror, "ERROR 25% IMPUESTO A LA RENTA"; ROLLBACK; LEAVE Controlador; END IF; ## -- 25% IMPUESTO A LA RENTA ## UTILIDAD NETA DEL EJERCICIO SELECT valor INTO @imprenta FROM con_estadopyg_cons

Page 184: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

54

WHERE grupo = "IR" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; UPDATE con_estadopyg_cons SET valor = ((@utibvta + @otroing - @otroegre) - @utilemptrab - @imprenta) WHERE grupo = "UE" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 16; SELECT @cerror, "ERROR UTILIDAD NETA DEL EJERCICIO"; ROLLBACK; LEAVE Controlador; END IF; ## -- UTILIDAD NETA DEL EJERCICIO ## 10% RESERVA LEGAL SELECT valor INTO @imprenta FROM con_estadopyg_cons WHERE grupo = "IR" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; UPDATE con_estadopyg_cons SET valor = (((@utibvta + @otroing - @otroegre) - @utilemptrab - @imprenta) * 0.05) WHERE grupo = "RL" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 17; SELECT @cerror, "ERROR 10% RESERVA LEGAL"; ROLLBACK; LEAVE Controlador; END IF; ## -- 10% RESERVA LEGAL ## UTIL. NETA PARA ACCIONISTAS SELECT valor INTO @reslegal FROM con_estadopyg_cons WHERE grupo = "RL"

Page 185: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

55

AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; UPDATE con_estadopyg_cons SET valor = ((@utibvta + @otroing - @otroegre) - @utilemptrab - @imprenta - @reslegal) WHERE grupo = "UNA" AND periodoa = ianio AND periodom = imes; ##AND cod_sucursal = isuc; IF insert_error THEN SET @cerror = 18; SELECT @cerror, "ERROR UTIL. NETA PARA ACCIONISTAS"; ROLLBACK; LEAVE Controlador; END IF; ## -- UTIL. NETA PARA ACCIONISTAS COMMIT; SELECT @cerror; END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 186: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

56

sp_bgeneral_gen_cons

Procedimiento que genera el balance general consolidado de todas las sucursales partiendo del period activo consultado la table de mayores y generando la plantilla para su presentación en el reporte consolidado. DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_bgeneral_gen_cons`$$ CREATE PROCEDURE sp_bgeneral_gen_cons( IN ianio CHAR(4), IN imes INT, IN iuser VARCHAR(15) ) BEGIN DECLARE tac DECIMAL(10,2); DECLARE tacd DECIMAL(10,2); DECLARE tace DECIMAL(10,2); DECLARE tacr DECIMAL(10,2); DECLARE tandft DECIMAL(10,2); DECLARE tandi DECIMAL(10,2); DECLARE tpce DECIMAL(10,2); DECLARE tpnc DECIMAL(10,2); DECLARE tpt DECIMAL(10,2); DECLARE panio VARCHAR(4); DECLARE cerror INT DEFAULT 0; DECLARE insert_error INTEGER DEFAULT 0; DECLARE ccon INT; DECLARE pmes VARCHAR(4); DECLARE mesa INT; DECLARE anioa INT; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET insert_error=1; END; SET @cerror = 0; Controlador:BEGIN SELECT cod_prd_contable INTO @ccon FROM con_periodo_contable WHERE anio = ianio AND cod_est_prd NOT IN("I", "C", "V");

Page 187: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

57

IF (@ccon IS NULL) THEN SELECT @cerror; LEAVE Controlador; END IF; SELECT num_mes INTO @pmes FROM con_periodo_mensual WHERE cod_prd_contable = @ccon AND num_mes = imes AND cod_est_prd NOT IN("I", "C", "V"); IF (@pmes IS NULL) THEN SELECT @cerror; LEAVE Controlador; END IF; START TRANSACTION; TRUNCATE TABLE con_balance_general_cons; IF insert_error THEN SET @cerror = 3; SELECT @cerror, "ERROR INICIANDO PROCESO BALANCE GENERAL"; ROLLBACK; LEAVE Controlador; END IF; INSERT INTO con_balance_general_cons(cod_bg_plt, clasificacion, descripcion, clase, codigo_cuenta, valor, estado, periodoa, periodom, fecha_gen) SELECT cod_bg_plt, clasificacion, descripcion, clase, codigo_cuenta, (SELECT (debe_actual - haber_actual) FROM con_mayor_rpt_cons WHERE cuenta_fisica = codigo_cuenta ##AND cod_sucursal = isuc AND periodoa = ianio AND periodom = imes) AS Valor, estado, ianio, imes, NOW() FROM con_balance_general_plt; IF insert_error THEN SET @cerror = 4;

Page 188: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

58

SELECT @cerror, "ERROR BALANCE GENERAL"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_balance_general_cons SET valor = (-1 * valor) WHERE codigo_cuenta LIKE "2%" AND periodoa = ianio AND periodom = imes; IF insert_error THEN SET @cerror = 5; SELECT @cerror, "ERROR BALANCE GENERAL PASIVOS"; ROLLBACK; LEAVE Controlador; END IF; UPDATE con_balance_general_cons SET valor = (-1 * valor) WHERE codigo_cuenta LIKE "3%" AND periodoa = ianio AND periodom = imes; IF insert_error THEN SET @cerror = 6; SELECT @cerror, "ERROR BALANCE GENERAL PATRIMONIO"; ROLLBACK; LEAVE Controlador; END IF; SELECT SUM(valor) INTO @tacd FROM con_balance_general_cons WHERE clasificacion = "ACD" AND clase = "C" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tacd WHERE clasificacion = "ACD" AND clase = "G" AND periodoa = ianio AND periodom = imes; SELECT SUM(valor) INTO @tace FROM con_balance_general_cons WHERE clasificacion = "ACE" AND clase = "C" AND periodoa = ianio AND periodom = imes;

Page 189: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

59

UPDATE con_balance_general_cons SET valor = @tace WHERE clasificacion = "ACE" AND clase = "G" AND periodoa = ianio AND periodom = imes; SELECT SUM(valor) INTO @tacr FROM con_balance_general_cons WHERE clasificacion = "ACR" AND clase = "C" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tacr WHERE clasificacion = "ACR" AND clase = "G" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = (@tacd + @tace + @tacr) WHERE clasificacion = "AC" AND clase = "T" AND periodoa = ianio AND periodom = imes; SELECT SUM(valor) INTO @tandft FROM con_balance_general_cons WHERE clasificacion = "ANDFT" AND clase = "C" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tandft WHERE clasificacion = "ANDFT" AND clase = "G" AND periodoa = ianio AND periodom = imes; SELECT SUM(valor) INTO @tandi FROM con_balance_general_cons WHERE clasificacion = "ANDI" AND clase = "C" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tandi WHERE clasificacion = "ANDI"

Page 190: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

60

AND clase = "G" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = (@tandft + @tandi) WHERE clasificacion = "AN" AND clase = "T" AND periodoa = ianio AND periodom = imes; SELECT SUM(valor) INTO @tpce FROM con_balance_general_cons WHERE clasificacion = "PCE" AND clase = "C" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tpce WHERE clasificacion = "PCE" AND clase = "G" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tpce WHERE clasificacion = "PC" AND clase = "T" AND periodoa = ianio AND periodom = imes; SELECT SUM(valor) INTO @tpnc FROM con_balance_general_cons WHERE clasificacion = "PNC" AND clase = "C" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tpnc WHERE clasificacion = "PNC" AND clase = "G" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = (@tpce + @tpnc) WHERE clasificacion = "P" AND clase = "T" AND periodoa = ianio AND periodom = imes;

Page 191: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

61

SELECT SUM(valor) INTO @tpt FROM con_balance_general_cons WHERE clasificacion = "PT" AND clase = "C" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = @tpt WHERE clasificacion = "PT" AND clase = "T" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = (@tacd + @tace + @tacr + @tandft + @tandi) WHERE clasificacion = "AT" AND clase = "T" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = (@tpt + @tpce + @tpnc) WHERE clasificacion = "TPP" AND clase = "T" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = 9999999999 WHERE clasificacion = "A" AND clase = "T" AND periodoa = ianio AND periodom = imes; UPDATE con_balance_general_cons SET valor = 9999999999 WHERE clasificacion = "P" AND clase = "T" AND periodoa = ianio AND periodom = imes; COMMIT; SELECT @cerror; END; ##Controlador:BEGIN END$$ DELIMITER ;

Page 192: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

62

1.2 Configuracion del Sitio

Dentro de la carpeta BusinessGestor se procederá a descomprimir el

modulo de contabilidad el cual creará y ubicará todos los componentes

del modulo contable.

En si la estructura principal de proyecto está dado:

CONTA\

Aquí se encontraran las páginas principales del proyecto.

CONTA\PHP\CONEXION

Aquí se encontrarán los componentes de conexión hacia la base de

datos.

CONTA\PHP\

Aquí se encontrarán todos los componentes y parte de la lógica de

negocio.

CONTA\JS\

Aquí se encontrarán todos los componentes de javascript para la

interaccion via AJAX.

A continuación se detallan los componentes según la ubicación de las

carpetas expuestas anteriormente.

Page 193: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

63

CONTA\

con_tipo_doc.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <script type="text/javascript" src="js/tipo-doc.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var txt_siglas; var txt_descripcion; var opt_ind_transaccional; var opt_ind_presupuesto; txt_siglas = document.getElementById("txt_siglas").value; txt_descripcion = document.getElementById("txt_descripcion").value; opt_ind_transaccional = document.getElementById("opt_ind_transaccional").selectedIndex; opt_ind_presupuesto = document.getElementById("opt_ind_presupuesto").selectedIndex; if (txt_siglas.length==0) { DivMensaje.innerHTML = "Por favor seleccione las siglas"; document.getElementById("txt_siglas").focus(); return 0; } else if (txt_descripcion.length==0) { DivMensaje.innerHTML = "Por favor ingresar descripcion"; document.getElementById("txt_descripcion").focus(); return 0; } else if (opt_ind_transaccional==0) { DivMensaje.innerHTML = "Por favor ingrese indicador transaccional"; document.getElementById("opt_ind_transaccional").focus(); return 0; } else if (opt_ind_presupuesto=='') { DivMensaje.innerHTML = "Por favor ingresar indicador de presupuesto"; document.getElementById("opt_ind_presupuesto").focus(); return 0;

Page 194: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

64

} else{ // alert("Documento guardado con exito"); DivMensaje.innerHTML = ""; grabatipo(document.form1.txt_siglas.value,document.form1.txt_descripcion.value,document.form1.opt_ind_transaccional.value,document.form1.opt_ind_presupuesto.value,'admin'); //limpia document.getElementById("txt_siglas").value=""; document.getElementById("txt_descripcion").value=""; document.getElementById("opt_ind_transaccional").selectedIndex="0"; document.getElementById("opt_ind_presupuesto").selectedIndex="0"; document.getElementById("txt_siglas").focus(); } } </script> </head> <body> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <form id="form1" name="form1" method="post"> <fieldset> <legend class="titulo3">Tipo de Documento</legend> <table width="580" border="0" cellpadding="2" cellspacing="1"> <tr> <td width="124" valign="top" nowrap="nowrap" class="titulo_tabla"><div align="right"><strong>Siglas:</strong></div></td> <td width="144" class="titulo2"><input type="text" name="txt_siglas" id="txt_siglas" style="width:150px" onkeyup="javascript:this.value=this.value.toUpperCase();" /></td> <td width="182" class="titulo_tabla"><div align="right"><strong>Descripción:</strong></div></td> <td width="109"><input type="text" name="txt_descripcion" id="txt_descripcion" style="width:150px" onkeyup="javascript:this.value=this.value.toUpperCase();"/></td> </tr> <tr> <td valign="top" nowrap="nowrap" class="titulo_tabla"><div align="right"><strong>Indicador Transaccional:</strong></div></td> <td><select name="opt_ind_transaccional" id="opt_ind_transaccional" style="width:155px"> <option value="0">Seleccionar</option> <option value="1">Normal</option> <option value="2">Corriente</option> </select></td> <td class="titulo_tabla"><div align="right"><strong>Indicador Presupuesto:</strong></div></td> <td><select name="opt_ind_presupuesto" id="opt_ind_presupuesto" style="width:155px"> <option selected="selected">Seleccionar</option> <option value="1">Si</option>

Page 195: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

65

<option value="0">No</option> </select></td> </tr> <tr> <td valign="top" nowrap="nowrap" class="titulo_tabla">&nbsp;</td> <td colspan="3"> <input name="btn_grabar" type="button" class="boton" id="btn_grabar" onclick="validaCampos()" value="Guardar"> <div id="mensaje" class="Alertas"></div> </td> </tr> </table> </fieldset> </form> </td> </tr> </table> </body> </html>

con_modifica_tipo.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>MODIFICA DOCUMENTO</title> <script src="js/jquery-1.3.2.js"></script> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script src="js/tipo-docm.js"></script> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var txt_siglas; var txt_descripcion; var opt_ind_transaccional; var opt_ind_presupuesto; var estado; txt_siglas = document.getElementById("txt_siglas").value; txt_descripcion = document.getElementById("txt_descripcion").value; opt_ind_transaccional = document.getElementById("opt_ind_transaccional").selectedIndex;

Page 196: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

66

opt_ind_presupuesto = document.getElementById("opt_ind_presupuesto").selectedIndex; estado = document.getElementById("estado").selectedIndex; if (txt_siglas.length==0) { DivMensaje.innerHTML = "Por favor seleccione las siglas"; document.getElementById("txt_siglas").focus(); return 0; } else if (txt_descripcion.length==0) { DivMensaje.innerHTML = "Por favor ingresar descripcion"; document.getElementById("txt_descripcion").focus(); return 0; } else if (opt_ind_transaccional==0) { DivMensaje.innerHTML = "Por favor ingrese indicador transaccional"; document.getElementById("opt_ind_transaccional").focus(); return 0; } else if (opt_ind_presupuesto=='') { DivMensaje.innerHTML = "Por favor ingresar indicador de presupuesto"; document.getElementById("opt_ind_presupuesto").focus(); return 0; } else if (estado==0) { DivMensaje.innerHTML = "Por favor ingresar estado"; document.getElementById("estado").focus(); return 0; } else{ //alert("Documento editado con exito"); DivMensaje.innerHTML = ""; modificatipos(document.getElementById("txt_siglas").value, document.getElementById("txt_descripcion").value, document.getElementById("opt_ind_transaccional").value, document.getElementById("opt_ind_presupuesto").value, document.getElementById("estado").value,'admin'); //limpia document.getElementById("txt_siglas").value=""; document.getElementById("txt_descripcion").value=""; document.getElementById("opt_ind_transaccional").selectedIndex="0"; document.getElementById("opt_ind_presupuesto").selectedIndex="0"; document.getElementById("estado").selectedIndex="0"; document.getElementById("txt_siglas").focus(); } } </script>

Page 197: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

67

<script> function consultarSucursal () { $.post('php/Consultatipo.php',{ nombre:$('#txt_siglas').val() }, function (datos) { $('#detalleSucursales').html(datos); } ); } function SacaCodigo(id,id2,id3,id4,id5,id6) { $('#txt_siglas').val(id); $('#txt_descripcion').val(id2); $('#opt_ind_transaccional').val(id3); $('#opt_ind_presupuesto').val(id4); $('#estado').val(id5); $('#user').val(id6); dhxWins.window('ventana').setModal(false); dhxWins.window("ventana").hide(); // close a windo } var dhxWins; function cargarVentanaSucursales() {consultarSucursal(); dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); dhxWins.attachViewportTo("contenedor"); dhxWins.setImagePath("../../codebase/imgs/"); ventana= dhxWins.createWindow("ventana", 0, 0, 420, 300); ventana.setText("Seleccione documento"); ventana.attachObject('cabSucursales'); dhxWins.window('ventana').setModal(true); dhxWins.window('ventana').button("close").hide() dhxWins.window('ventana').center(); } </script> </head> <body onload="carga()"> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <div id="contenedor_consultas" > <form id="form1" action="" method="post" > <fieldset> <legend class="titulo3">Modifica documentos</legend> <table width="646" height="159" border="0" cellpadding="2" cellspacing="1"> <tr>

Page 198: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

68

<td width="114" height="28"class="titulo_tabla" ><div align="right"><strong>Siglas:</strong></div></td> <td><input name="txt_siglas" type="text" disabled="disabled" id="txt_siglas" readonly="readonly" style="width:150px"/> <img src="img/iconos/busca.gif" width="20" height="20" style=" cursor:pointer" onclick="cargarVentanaSucursales()" /></td> <td class="titulo_tabla"><div align="right"><strong>Descripcion</strong>:</div></td> <td width="245"><input name="txt_descripcion" type="text" id="txt_descripcion" style="width:150px" onkeyup="javascript:this.value=this.value.toUpperCase();"/></td> </tr> <tr> <td height="42" valign="middle" class="titulo_tabla"><div align="right"><strong>Indicador transaccional:</strong></div></td> <td width="186" height="42" valign="top"><select name="opt_ind_transaccional" id="opt_ind_transaccional" style="width:150px"> <option value="0">Seleccionar</option> <option value="1">Normal</option> <option value="2">Corriente</option> </select></td> <td width="80" height="42" valign="middle" class="titulo_tabla"><div align="right"><strong>Indicador Presupuesto:</strong></div></td> <td height="42"><span class="texto12"> <select name="opt_ind_presupuesto" id="opt_ind_presupuesto" style="width:150px"> <option selected="selected">Seleccionar</option> <option value="1">Si</option> <option value="0">No</option> </select> </span></td> </tr> <tr> <td class="titulo_tabla"><div align="right"><strong>Estado:</strong></div></td> <td><select name="estado" id="estado"> <option value="0">Seleccionar</option> <option value="A">Activo</option> <option value="I">Inactivo</option> </select></td> <td height="42" colspan="2"> </td> </tr> <tr> <td class="titulo_tabla">&nbsp;</td> <td height="42" colspan="3"> <input name="btnactivar" type="button" class="boton" id="btnactivar" onclick="validaCampos()" value="Modificar" /> <div id="mensaje" class="Alertas"></div> </td> </tr> </table> </fieldset>

Page 199: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

69

</form> </div></td> </tr> </table> <div id='cabSucursales' align="center" style="height:250px; display:none; overflow:scroll; overflow:auto;"> <fieldset class="titulo"> <legend>Resultados</legend> <div id="detalleSucursales"></div> </fieldset> </div> </fieldset> </div> <script> function carga() {} </script> </body> </html>

Page 200: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

70

con_plan_cuentas.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="js/plan_cuenta.js"></script> <link rel="stylesheet" type="text/css" href="css/estilos.css" /> <link href="css/PlanCuentas.css" rel="stylesheet" type="text/css" /> <title>:: Plan de Cuentas ::</title> </head> <body> <table width="700" border="0" cellpadding="0" cellspacing="10"> <tr> <td width="350" valign="top"><form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Nueva cuenta</legend> <table width="350" border="0" align="center" cellpadding="2" cellspacing="1"> <tr> <td width="150" rowspan="2" align="left" valign="top" class="titulo_tabla"><div align="right"><strong>Cuenta Padre:</strong></div></td> <td width="200" align="left" valign="middle"><input name="cuenta" type="text" id="cuenta" onblur="conscuenta('cuenta', 'cta_desc', '0');" onkeypress="return validaCta(event)"/></td> </tr> <tr> <td align="left" valign="middle"><input name="cta_desc" type="text" readonly="readonly" id="cta_desc"/></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Clase:</strong></div></td> <td width="200" align="left" valign="middle"><select name="clase" size="1" id="clase"> <option value="G" selected="selected">GRUPO CONTABLE</option> <option value="C">CUENTA CONTABLE</option> </select></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Nombre:</strong></div></td> <td width="200" align="left" valign="middle"><input name="nombre" type="text" id="nombre" maxlength="60" onkeyup="javascript:this.value=this.value.toUpperCase();" /></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Nemonico:</strong></div></td>

Page 201: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

71

<td width="200" align="left" valign="middle"><input name="nemo" type="text" id="nemo" onkeyup="javascript:this.value=this.value.toUpperCase();" onblur="consnmn('nemo','cuenta','N');" maxlength="10"/></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Descripci&oacute;n:</strong></div></td> <td width="200" align="left" valign="middle"><textarea name="descrip" rows="3" id="descrip" onkeyup="javascript:this.value=this.value.toUpperCase();"></textarea></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Naturaleza:</strong></div></td> <td width="200" align="left" valign="middle"><select name="presup" id="presup"> <option value="S" selected="selected">Deudora</option> <option value="N">Acreedora</option> </select></td> </tr> <tr> <td align="left" valign="middle" class="titulo_tabla">&nbsp;</td> <td align="left" valign="middle"> <input name="guardar" type="button" class="boton" id="guardar" onclick="ValidaDatos('N'); return false; " value="Guardar" /><div class="Alertas" id="mensaje"></div> </td> </tr> </table> </fieldset> </form></td> <td width="350" valign="top"> <fieldset> <legend class="titulo3">Plan de cuentas</legend> <table width="350" border="0" align="center" cellpadding="2" cellspacing="1"> <tr> <td align="left" valign="top"><div id="Menu"> <? $f = 'N'; include ("php/MenuPlanCuentas.php"); ?> </div></td> </tr> </table> </fieldset> </td> </tr> </table> </body> </html>

Page 202: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

72

con_modifica_plan_cuentas.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="js/plan_cuenta.js"></script> <link href="css/PlanCuentas.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="css/estilos.css" /> <title>:: Modificar- Plan de Cuentas ::</title></head> <body> <table width="700" border="0" cellpadding="0" cellspacing="10"> <tr> <td width="350" valign="top"> <form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Nueva cuenta</legend> <table width="350" border="0" cellpadding="2" cellspacing="1"> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Cuenta Padre</strong></div></td> <td width="200" align="left" valign="middle"><input name="cuenta" type="text" id="cuenta" readonly="readonly" /></td> </tr> <tr> <td align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Nombre</strong></div></td> <td align="left" valign="middle"><input name="nombre" type="text" id="nombre" onkeyup="javascript:this.value=this.value.toUpperCase();"/></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Clase</strong></div></td> <td width="200" align="left" valign="middle"><select name="clase" size="1" id="clase"> <option value="G" selected="selected">GRUPO CONTABLE</option> <option value="C">CUENTA CONTABLE</option> </select></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Nemonico</strong></div></td> <td width="200" align="left" valign="middle"><input name="nemo" type="text" id="nemo" onkeyup="javascript:this.value=this.value.toUpperCase();" onblur="consnmn('nemo','cuenta','M');" maxlength="10"/></td> </tr> <tr> <td width="150" align="left" valign="top" class="titulo_tabla"><div align="right"><strong>Descripci&oacute;n</strong></div></td>

Page 203: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

73

<td width="200" align="left" valign="middle"><textarea name="descrip" rows="3" id="descrip" onkeyup="javascript:this.value=this.value.toUpperCase();"></textarea></td> </tr> <tr> <td width="150" align="left" valign="middle" class="titulo_tabla"><div align="right"><strong>Naturaleza</strong></div></td> <td width="200" align="left" valign="middle"><select name="presup" size="1" id="presup"> <option value="S" selected="selected">Deudora</option> <option value="N">Acreedora</option> </select></td> </tr> <tr> <td align="left" valign="middle" class="titulo_tabla">&nbsp;</td> <td align="left" valign="middle"> <input name="guardar" type="button" class="boton" id="guardar" onclick="ValidaDatos('M'); return false" value="Actualizar" /><div class="Alertas" id="mensaje"></div> </td> </tr> </table> </fieldset> </form> </td> <td width="350" valign="top"> <fieldset> <legend class="titulo3">Plan de cuentas</legend> <table width="350" border="0" align="center" cellpadding="2" cellspacing="1"> <tr> <td align="left" valign="top"> <div id="Menu"> <? $f = 'M'; include ("php/MenuPlanCuentas.php"); ?> </div></td> </tr> </table> </fieldset> </td> </tr> </table> </body> </html>

Page 204: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

74

con_periodo_mensual.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <link rel="stylesheet" type="text/css" href="calendar/calendar.css"/></link> <script type="text/javascript" src="calendar/calendar_db.js"></script> <script src="../js/jquery-1.3.2.js"></script> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script language="javascript" id="ABC" src="js/periodos-mes.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var txtperiodo; var mes; txtperiodo = document.getElementById("txtperiodo").value; mes = document.getElementById("mes").selectedIndex; if (txtperiodo.length==0) { DivMensaje.innerHTML = "Por favor ingresar el año"; document.getElementById("txtperiodo").focus(); return 0; } else if (mes==0) { DivMensaje.innerHTML = "Por favor ingresar el mes del periodo"; document.getElementById("mes").focus(); return 0; } else{ // alert("Periodo mensual ingresado con exito"); DivMensaje.innerHTML = ""; Creapermes('txtperiodo', 'mes', 'admin'); //limpia document.getElementById("txtperiodo").value=""; document.getElementById("mes").value.selectedIndex="0"; document.getElementById("txtperiodo").focus(); } }

Page 205: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

75

</script> <script> function consultarSucursal () { $.get('php/Consultapera.php?flag=AI',{ nombre:$('#txt_consultaSucursal').val() }, function (datos) { $('#detalleSucursales').html(datos); } ); } function SacaCodigo(id,id2) { $('#txtperiodo').val(id); $('#user').val(id2); dhxWins.window('ventana').setModal(false); dhxWins.window("ventana").hide(); // close a windo } var dhxWins; function cargarVentanaSucursales() { consultarSucursal(); dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); dhxWins.attachViewportTo("contenedor"); dhxWins.setImagePath("../../codebase/imgs/"); ventana= dhxWins.createWindow("ventana", 0, 0, 420, 300); ventana.setText("Seleccione documento"); ventana.attachObject('cabSucursales'); dhxWins.window('ventana').setModal(true); dhxWins.window('ventana').button("close").hide() dhxWins.window('ventana').center(); } </script> </head> <body onload="carga()"> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <form id="cabecera" name="cabecera" method="post" action=""> <fieldset> <legend class="titulo3">Ingresar Periodo mensual</legend> <table width="397" border="0" cellpadding="2" cellspacing="1"> <tr> <td class="titulo_tabla">PERIODO</td> <td valign="middle"><input name="txtperiodo" type="text" id="txtperiodo" disabled="disabled" maxlength="4" style="width:134px"/> <img src="img/iconos/busca.gif" width="20" height="20" style=" cursor:pointer" onclick="cargarVentanaSucursales()" /> </td> </tr>

Page 206: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

76

<tr> <td class="titulo_tabla">MES</td> <td><select name="mes" id="mes"> <option value="0" selected="selected">Seleccionar</option> <option value="01">Enero</option> <option value="02">Febrero</option> <option value="03">Marzo</option> <option value="04">Abril</option> <option value="05">Mayo</option> <option value="06">Junio</option> <option value="07">Julio</option> <option value="08">Agosto</option> <option value="09">Septiembre</option> <option value="10">Octubre</option> <option value="11">Noviembre</option> <option value="12">Diciembre</option> </select></td> </tr> <tr> <td class="titulo_tabla">&nbsp;</td> <td> <input name="btnactivar" type="button" class="boton" id="btnactivar" onclick="validaCampos();" value="Ingresar"/><div id="mensaje" class="Alertas"></div> </td> </tr> </table> </fieldset> </form> </td> </tr> </table> <div id='cabSucursales' align="center" style="height:250px; display:none; overflow:scroll; overflow:auto;"> <fieldset class="titulo"> <legend>Resultados</legend> <div id="detalleSucursales"></div> </fieldset> </div> </fieldset> </div> <script> function carga() { window.onload = cargarVentanaSucursales(); } </script> </body> </html>

Page 207: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

77

con_activa_pmes.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Documento sin t&iacute;tulo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <script src="../js/jquery-1.3.2.js"></script> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script language="javascript" id="ABC" src="js/periodos-mes.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var txtanio; var txtmes; var txtdescrip; txtanio = document.getElementById("txtanio").value; txtmes = document.getElementById("txtmes").value; txtdescrip = document.getElementById("txtdescrip").value; if (txtanio.length==0) { DivMensaje.innerHTML = "Por favor ingresar el año"; document.getElementById("txtanio").focus(); return 0; } else if (txtmes.length==0) { DivMensaje.innerHTML = "Por favor ingresar el mes"; document.getElementById("txtmes").focus(); return 0; } else if (txtdescrip.length==0) { DivMensaje.innerHTML = "Por favor ingresar la descripcion"; document.getElementById("txtdescrip").focus(); return 0; } else{ // alert("Periodo mensual activado con exito"); DivMensaje.innerHTML = ""; activarPerm('txtanio', 'txtmes','admin');

Page 208: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

78

//limpia document.getElementById("txtanio").value=""; document.getElementById("txtmes").value=""; document.getElementById("txtdescrip").value=""; document.getElementById("txtanio").focus(); } } </script> <script> function consultarSucursal () { $.get('php/Consultaperm.php?flag=A',{ nombre:$('#txt_consultaSucursal').val() }, function (datos) { $('#detalleSucursales').html(datos); } ); } function SacaCodigo(id,id2,id3,id4) { $('#txtanio').val(id); $('#txtmes').val(id2); $('#txtdescrip').val(id3); $('#user').val(id4); dhxWins.window('ventana').setModal(false); dhxWins.window("ventana").hide(); // close a windo } var dhxWins; function cargarVentanaSucursales() { consultarSucursal(); dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); dhxWins.attachViewportTo("contenedor"); dhxWins.setImagePath("../../codebase/imgs/"); ventana= dhxWins.createWindow("ventana", 0, 0, 420, 300); ventana.setText("Seleccione documento"); ventana.attachObject('cabSucursales'); dhxWins.window('ventana').setModal(true); dhxWins.window('ventana').button("close").hide() dhxWins.window('ventana').center(); } </script> </head> <body onload="carga()"> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Activa periodo mensual</legend>

Page 209: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

79

<table width="580" border="0" cellpadding="2" cellspacing="1"> <tr> <td width="98" class="titulo_tabla"><div align="right"><strong>Periodo anual:</strong></div></td> <td width="471"><label> <input name="txtanio" type="text" id="txtanio" readonly="true" maxlength="4" style="width:130px"/> <img src="img/iconos/busca.gif" width="20" height="20" style=" cursor:pointer" onclick="cargarVentanaSucursales()" /></label></td> </tr> <tr> <td class="titulo_tabla"><div align="right"><strong>Periodo mensual:</strong></div></td> <td><label> <input name="txtmes" type="text" id="txtmes" readonly="true" style="width:155px"/> </label></td> </tr> <tr> <td valign="top" class="titulo_tabla"><div align="right"><strong>Descripcion:</strong></div></td> <td><textarea name="txtdescrip" rows="3" id="txtdescrip" readonly="true" style="width:155px"></textarea></td> </tr> <tr> <td valign="top" class="titulo_tabla">&nbsp;</td> <td> <input name="btnactivar" type="button" class="boton" id="btnactivar" onclick="validaCampos()" value="Activar" /><div id="mensaje" class="Alertas"></div> </td> </tr> </table> </fieldset> </form> </td> </tr> </table> <div id='cabSucursales' align="center" style="height:250px; display:none; overflow:scroll; overflow:auto;"> <fieldset class="titulo"> <legend>Resultados</legend> <div id="detalleSucursales"></div> </fieldset> </div> </fieldset> </div> <script> function carga() { window.onload = cargarVentanaSucursales(); }</script></body></html>

Page 210: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

80

con_cambio_pmes.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Documento sin t&iacute;tulo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <script src="../js/jquery-1.3.2.js"></script> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script language="javascript" id="ABC" src="js/periodos-mes.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var txtanio; var txtmes; var txtdescrip; txtanio = document.getElementById("txtanio").value; txtmes = document.getElementById("txtmes").value; // txtdescrip = document.getElementById("cboestado").value; if (txtanio.length==0) { DivMensaje.innerHTML = "Por favor ingresar el año"; document.getElementById("txtanio").focus(); return 0; } else if (txtmes.length==0) { DivMensaje.innerHTML = "Por favor ingresar el mes"; document.getElementById("txtmes").focus(); return 0; } else{ // alert("Periodo mensual activado con exito"); DivMensaje.innerHTML = ""; CambioPerm('txtanio', 'txtmes', 'cboestado', 'admin'); //limpia document.getElementById("txtanio").value=""; document.getElementById("txtmes").value=""; document.getElementById("cboestado").value=""; document.getElementById("txtanio").focus(); }

Page 211: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

81

} </script> <script> function consultarSucursal () { $.get('php/Consultaperm.php?flag=X',{ nombre:$('#txt_consultaSucursal').val() }, function (datos) { $('#detalleSucursales').html(datos); } ); } function SacaCodigo(id,id2,id3,id4) { $('#txtanio').val(id); $('#txtmes').val(id2); $('#txtdescrip').val(id3); $('#user').val(id4); dhxWins.window('ventana').setModal(false); dhxWins.window("ventana").hide(); // close a windo } var dhxWins; function cargarVentanaSucursales() { consultarSucursal(); dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); dhxWins.attachViewportTo("contenedor"); dhxWins.setImagePath("../../codebase/imgs/"); ventana= dhxWins.createWindow("ventana", 0, 0, 420, 300); ventana.setText("Seleccione documento"); ventana.attachObject('cabSucursales'); dhxWins.window('ventana').setModal(true); dhxWins.window('ventana').button("close").hide() dhxWins.window('ventana').center(); } </script> </head> <body onload="carga()"> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Cambio Estado Mensual</legend> <table width="580" border="0" cellpadding="2" cellspacing="1"> <tr> <td width="98" class="titulo_tabla"><div align="right"><strong>Periodo anual:</strong></div></td> <td width="471"><label>

Page 212: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

82

<input name="txtanio" type="text" id="txtanio" readonly="true" maxlength="4" style="width:130px"/> <img src="img/iconos/busca.gif" width="20" height="20" style=" cursor:pointer" onclick="cargarVentanaSucursales()" /></label></td> </tr> <tr> <td class="titulo_tabla"><div align="right"><strong>Periodo mensual:</strong></div></td> <td><label> <input name="txtmes" type="text" id="txtmes" readonly="true" style="width:155px"/> </label></td> </tr> <tr> <td height="47" valign="top" class="titulo_tabla"><div align="right"> <p><br /> <strong>Estado:</strong></p> </div></td> <td><select name="cboestado" id="cboestado"> <option value="P">POSTERGAR</option> <option value="V">VERIFICAR</option> </select> </td> </tr> <tr> <td valign="top" class="titulo_tabla">&nbsp;</td> <td> <input name="btnactivar" type="button" class="boton" id="btnactivar" onclick="validaCampos()" value="Cambiar" /> <div id="mensaje" class="Alertas"></div> </td> </tr> </table> </fieldset> </form> </td> </tr> </table> <div id='cabSucursales' align="center" style="height:250px; display:none; overflow:scroll; overflow:auto;"> <fieldset class="titulo"> <legend>Resultados</legend> <div id="detalleSucursales"></div> </fieldset> </div> </fieldset> </div> <script> function carga() {window.onload = cargarVentanaSucursales(); }</script></body></html>

Page 213: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

83

con_cierre_pmes.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Documento sin t&iacute;tulo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <script src="../js/jquery-1.3.2.js"></script> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script language="javascript" id="ABC" src="js/periodos-mes.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var txtanio; var txtpmes; var txtdescrip; txtanio = document.getElementById("txtanio").value; txtpmes = document.getElementById("txtpmes").value; txtdescrip = document.getElementById("txtdescrip").value; if (txtanio.length==0) { DivMensaje.innerHTML = "Por favor ingresar el año"; document.getElementById("txtanio").focus(); return 0; } else if (txtpmes.length==0) { DivMensaje.innerHTML = "Por favor ingresar el mes"; document.getElementById("txtpmes").focus(); return 0; } else if (txtdescrip.length==0) { DivMensaje.innerHTML = "Por favor ingresar la descripcion"; document.getElementById("txtdescrip").focus(); return 0; } else{ // alert("Periodo mensual cerrado con exito"); DivMensaje.innerHTML = ""; cierraPerm('txtanio', 'txtpmes', 'admin');

Page 214: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

84

//limpia document.getElementById("txtanio").value=""; document.getElementById("txtpmes").value=""; document.getElementById("txtdescrip").value=""; document.getElementById("txtanio").focus(); } } </script> <script> function consultarSucursal() { $.get('php/Consultaperm.php?flag=C',{ nombre:$('#txt_consultaSucursal').val() }, function (datos) { $('#detalleSucursales').html(datos); } ); } function SacaCodigo(id,id2,id3,id4) { $('#txtanio').val(id); $('#txtpmes').val(id2); $('#txtdescrip').val(id3); $('#user').val(id4); dhxWins.window('ventana').setModal(false); dhxWins.window("ventana").hide(); // close a windo } var dhxWins; function cargarVentanaSucursales() { consultarSucursal(); dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); dhxWins.attachViewportTo("contenedor"); dhxWins.setImagePath("../../codebase/imgs/"); ventana= dhxWins.createWindow("ventana", 0, 0, 420, 300); ventana.setText("Seleccione documento"); ventana.attachObject('cabSucursales'); dhxWins.window('ventana').setModal(true); dhxWins.window('ventana').button("close").hide() dhxWins.window('ventana').center(); } </script> </head> <body onload="carga()"> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <form id="form1" name="form1" method="post" action=""> <fieldset>

Page 215: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

85

<legend class="titulo3">Cierre de periodo mensual</legend> <table width="580" border="0" cellpadding="2" cellspacing="1"> <tr> <td width="111" class="titulo_tabla"><div align="right"><strong>Periodo anual:</strong></div></td> <td width="458"><label> <input name="txtanio" type="text" id="txtanio" readonly="true" maxlength="4" style="width:135px"/> <img src="img/iconos/busca.gif" width="20" height="20" style=" cursor:pointer" onclick="cargarVentanaSucursales()" /></label></td> </tr> <tr> <td class="titulo_tabla"><div align="right"><strong>Periodo mensual:</strong></div></td> <td><label> <input name="txtpmes" type="text" id="txtpmes" readonly="true" style="width:155px"/> </label></td> </tr> <tr> <td valign="top" class="titulo_tabla"><div align="right"><strong>Descripcion:</strong></div></td> <td><textarea name="txtdescrip" rows="3" id="txtdescrip" readonly="true" style="width:155px"></textarea></td> </tr> <tr> <td valign="top" class="titulo_tabla">&nbsp;</td> <td><input name="btnactivar" type="button" class="boton" id="btnactivar" onclick="validaCampos()" value="Cerrar" /><div id="mensaje" class="Alertas"></div></td> </tr> </table> </fieldset> </form> </td> </tr> </table> <div id='cabSucursales' align="center" style="height:250px; display:none; overflow:scroll; overflow:auto;"> <fieldset class="titulo"> <legend>Resultados</legend> <div id="detalleSucursales"></div> </fieldset> </div> </fieldset> </div> <script> function carga() { window.onload = cargarVentanaSucursales(); }</script></body></html>

Page 216: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

86

con_ingreso_panual.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="js/periodos.js"></script> <script language="javascript"> function validaN(e) { var keynum var keychar var numcheck var dotcheck var tf = false if(e.which) // Netscape/Firefox/Opera keynum = e.which else keynum = e.keyCode // IE keychar = String.fromCharCode(keynum) numcheck = /[0-9]/ if (numcheck.test(keychar) || (keynum==8) || (keynum==9) ) tf = true; return tf } function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var txtanio; var descrip; txtanio = document.getElementById("txtanio").value; descrip = document.getElementById("descrip").value; if (txtanio.length==0) { DivMensaje.innerHTML = "Por favor ingresar el año"; document.getElementById("txtanio").focus(); return 0; } else if (descrip.length==0) { DivMensaje.innerHTML = "Por favor ingresar descripcion"; document.getElementById("descrip").focus();

Page 217: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

87

return 0; } else{ // alert("Periodo anual guardado con exito"); DivMensaje.innerHTML = ""; Creaperanual('txtanio','descrip','admin'); // Creaperanual(document.form1.txtanio,document.form1.descrip,'admin'); //limpia document.getElementById("txtanio").value=""; document.getElementById("descrip").value=""; document.getElementById("txtanio").focus(); } } </script> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <title>Documento sin t&iacute;tulo</title> </head> <body> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Periodo contable</legend> <table width="580" border="0" cellpadding="2" cellspacing="1"> <tr> <td width="154" class="titulo_tabla"><div align="right"><strong>A&ntilde;o:</strong></div></td> <td width="428"><input name="txtanio" type="text" id="txtanio" maxlength="4" onkeypress="return validaN(event)" onblur="Consultanio('txtanio');"/></td> </tr> <tr> <td valign="top" class="titulo_tabla"><div align="right"><strong>Descripcion:</strong></div></td> <td><textarea name="descrip" rows="2" id="descrip" onkeyup="javascript:this.value=this.value.toUpperCase();"></textarea></td> </tr> <tr> <td valign="top" class="titulo_tabla">&nbsp;</td> <td> <input name="Guardar" type="button" class="boton" id="Guardar" onclick="validaCampos();" value="Guardar" /><div id="mensaje" class="Alertas"></div> </td> </tr> </table> </fieldset> </form> </td> </tr> </table> </body></html>

Page 218: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

88

con_asiento.php <?php // inicio sesion session_start(); // llamo a conexion include("php/Conexion/Conexsql.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> <link rel="stylesheet" type="text/css" href="css/estilos.css"> <link href="css/PlanCuentas.css" rel="stylesheet" type="text/css" /> <link href="grid/css/fuentes.css" rel="stylesheet" type="text/css" /> <link href="grid/css/formulario.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="calendar/calendar.css"/></link> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <script src="js/jquery-1.3.2.js"></script> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script type="text/javascript" src="js/plan_cuenta.js"></script> <script type="text/javascript" src="js/Util.js"></script> <script type="text/javascript" src="js/con_asiento.js"></script> <script type="text/javascript" src="js/asiento.js"></script> <script type="text/javascript" src="js/mascara.js"></script> <script language="javascript" id="ABC" src="grid/js/tablaDinamica.js"></script> <script type="text/javascript" src="calendar/calendar_db.js"></script> <script language="javascript"> function validaAsiento() { var DivMensaje = document.getElementById("mensaje"); var txt_select; var firstinput; var cobsuc; var cbotdoc; var txtcta; var cobafect; var txtvalor; var cobafecta; var txtconcepto; txt_select = document.getElementById("select").selectedIndex; firstinput = document.getElementById("firstinput").value; cobsuc = document.getElementById("cobsuc").value; cbotdoc = document.getElementById("cbotdoc").value;

Page 219: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

89

txtcta = document.getElementById("txtcta").value; cboafect = document.getElementById("cboafect").selectedIndex; txtvalor = document.getElementById("txtvalor").value; cobafecta = document.getElementById("cobafecta").selectedIndex; txtconcepto = document.getElementById("txtconcepto").value; if (txt_select==0) { DivMensaje.innerHTML = "Por favor seleccione tipo de asiento"; document.getElementById("select").focus(); return 0; } else if (firstinput.length==0) { DivMensaje.innerHTML = "Por favor ingresar la fecha"; document.getElementById("firstinput").focus(); return 0; } else if (cobsuc==0) { DivMensaje.innerHTML = "Por favor ingrese la sucursal"; document.getElementById("cobsuc").focus(); return 0; } else if (cbotdoc==0) { DivMensaje.innerHTML = "Por favor ingresar el tipo de documento"; document.getElementById("cbotdoc").focus(); return 0; } else if (txtcta.length==0) { DivMensaje.innerHTML = "Por favor ingresar cuenta"; document.getElementById("txtcta").focus(); return 0; } else if (cboafect==0) { DivMensaje.innerHTML = "Por favor ingrese si va al debe o haber"; document.getElementById("cboafect").focus(); return 0; } else if (txtvalor=="0.00") { DivMensaje.innerHTML = "Por favor ingrese el valor del asiento"; document.getElementById("txtvalor").focus(); return 0; } else if (cobafecta==0) { DivMensaje.innerHTML = "Por favor ingrese el campo de afectacion presupuestaria"; document.getElementById("cobafecta").focus();

Page 220: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

90

} else if (txtconcepto.length==0) { DivMensaje.innerHTML = "Por favor ingrese la glosa"; document.getElementById("txtconcepto").focus(); } else{ // DivMensaje.innerHTML = "AGREGADO"; var arreglo = new Array (document.form1.txtcta.value, document.form1.cta_desc.value, document.form1.cboafect.value, document.form1.txtvalor.value, document.form1.cobafecta.value); crearfila('tablaDetalle',arreglo); totaliza('tablaDetalle', 'txtdebe', 'txthaber'); validaCuadre(); //limpia document.getElementById("cta_desc").value=""; document.getElementById("cboafect").selectedIndex="0"; document.getElementById("txtvalor").value="0.00"; document.getElementById("cobafecta").selectedIndex="0"; // document.getElementById("txtconcepto").value=""; document.getElementById("txtcta").value=""; document.getElementById("txtcta").focus(); } } //valor decimal /* String.prototype.reverse=function(){return this.split('').reverse().join('');}; function numberblog(e){ function f(){ this.value=this.value.reverse().replace(/[^0-9.]/g,'').replace(/\.(?=\d*[.]\d*)/g,'').reverse(); } e.onkeyup=f e.onkeydown=f e.onkeypress=f e.onmousedown=f e.onmouseup=f e.onclick=f e.onchange=f e.onblur=f }*/ // </script> <script> function consultarSucursal () { $.get('php/MenuPlanCuentasA.php',{ nombre:$('#txt_consultaSucursal').val() }, function (datos) { $('#detalleSucursales').html(datos); } );

Page 221: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

91

} var dhxWins; function cargarVentanaSucursales() { consultarSucursal(); dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); dhxWins.attachViewportTo("contenedor"); dhxWins.setImagePath("../../codebase/imgs/"); ventana= dhxWins.createWindow("ventana", 0, 0, 420, 300); ventana.setText("Seleccione documento"); ventana.attachObject('cabSucursales'); dhxWins.window('ventana').setModal(true); dhxWins.window('ventana').button("close").hide() dhxWins.window('ventana').center(); } </script> <script type="text/javascript" > (function($){ $(function(){ $('input:text').setMask(); // $('#firstinput').setMask(); } ); })(jQuery); </script> </head> <body onload="carga()"> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <form id="cabecera" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Ingresar asiento</legend> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <table width="100%" border="0" cellpadding="2" cellspacing="1"> <tr> <td class="titulo_tabla"><div align="right">Tipo de asiento</div></td> <td> <select name="select" id="select" style="width:150px"> <option value="0" selected="selected">seleccionar</option> <option value="I">Inicial</option> <option value="N">Normal</option> <option value="A">Ajuste</option> <option value="R">Regulacion</option> <option value="C">Cierre</option> </select>

Page 222: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

92

</td> <td width="122" class="titulo_tabla"><div align="right">Fecha:</div></td> <td> <input type="text" id="firstinput" name="firstinput" style="width:120px" readonly="true"/> <script language="JavaScript" type="text/javascript"> new tcal ({ 'formname': 'cabecera', 'controlname': 'firstinput' }); </script> </td> </tr> <tr> <td width="123" class="titulo_tabla"><div align="right">Sucursal:</div></td> <td><select name="cobsuc" class="titulo2" id="cobsuc" style="width:150px"> <option value="0" selected="selected">seleccionar</option> <? $querysu = mysql_query("SELECT * FROM gen_sucursal WHERE estado!='I' ORDER BY cod_sucursal ASC"); while($rowsu = mysql_fetch_array($querysu,$liconexion)){ $cod_sucursal = $rowsu["cod_sucursal"]; $nombre_sucursal = $rowsu["nombre"]; ?> <option value="<? echo $cod_sucursal;?>"><? echo $nombre_sucursal;?></option> <? }?> </select></td> <td width="122" class="titulo_tabla"><div align="right">Tipo de documento:</div></td> <td width="693"><select name="cbotdoc" id="cbotdoc" style="width:150px"> <option value="0">seleccionar</option> <? $querymo = mysql_query("SELECT * FROM con_tipo_doc ORDER BY cod_tipo_doc ASC"); while($rowmo = mysql_fetch_array($querymo,$liconexion)){ $cod_tipo_doc = $rowmo["cod_tipo_doc"]; $descripcion_tipo_doc = $rowmo["descripcion"]; ?> <option value="<? echo $cod_tipo_doc;?>"><? echo $descripcion_tipo_doc;?></option> <? }?> </select></td> </tr> <tr> <td class="titulo_tabla"><div align="right">Cuenta:</div></td> <td width="144"><input style="width:110px" name="txtcta" type="text" id="txtcta" onkeypress="return validaCta(event)" onblur="conscuenta2('txtcta', 'cta_desc', '1');"/> <img src="img/iconos/busca.gif" alt="" width="20" height="20" style=" cursor:pointer" onclick="cargarVentanaSucursales()" /></td> <td colspan="2"><input name="cta_desc" type="text" id="cta_desc" readonly="true" disabled="disabled" style="width:253px"/></td>

Page 223: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

93

</tr> <tr> <td class="titulo_tabla"><div align="right">Afectacion:</div></td> <td><select name="cboafect" id="cboafect" style="width:150px"> <option value="0" selected="selected">Seleccionar</option> <option value="D">DEBE</option> <option value="H">HABER</option> </select></td> <td class="titulo_tabla"><div align="right">Valor:</div></td> <td> <input name="txtvalor" type="text" id="txtvalor" size="12" alt="decimalec" style="width:144px; text-align:right"/> </td> </tr> <tr> <td valign="top" class="titulo_tabla"><div align="right">Afectacion Presupuestaria:</div></td> <td colspan="3"><select name="cobafecta" id="cobafecta" style="width:150px"> <option value="0">Seleccionar</option> <option value="S">Si</option> <option value="N">No</option> </select></td> </tr> <tr> <td valign="top" class="titulo_tabla"><div align="right">Glosa:</div></td> <td colspan="3"><textarea name="txtconcepto" cols="40" rows="3" id="txtconcepto" style="width:410px"></textarea></td> </tr> <tr> <td class="titulo_tabla">&nbsp;</td> <td><input name="txtglosa" type="hidden" id="txtglosa" value="DESCRIPCION" /> <input name="btnagregar" type="button" class="boton" id="btnagregar" onclick="validaAsiento()" value="Adicionar"/></td> <td colspan="2"><div id="mensaje" class="Alertas"></div></td> </tr> </table> <table width="100%" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td width="761" height="300"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <div style="height:209px;overflow:scroll; overflow:auto;"> <table width="100%" border="0" cellpadding="3" cellspacing="2" class="punteado" id="tablaDetalle" > <tr class="titulo_tabla" > <td width="7%"><div align="center">ELIMINAR</div></td> <td width="27%"><div align="center">CODIGO</div></td> <td width="16%"><div align="center">CUENTA</div></td> <td width="10%"><div align="center">TIPO</div></td> <td width="13%"><div align="center">VALOR</div></td> <td width="27%"><div align="center">PRESUPUESTO</div></td>

Page 224: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

94

</tr> </table></div></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="205" height="32"><span class="colMonto">DEBE</span> <input name="txtdebe" type="text" id="txtdebe" readonly="true" disabled="disabled"/></td> <td width="206"><span class="colMonto">HABER</span> <input name="txthaber" type="text" id="txthaber" readonly="true" disabled="disabled"/></td> <td width="102"> <div align="right"><span class="Estilo1">CUADRADO</span></div></td> <td width="37"><IMG SRC="img/ico_eliminar.gif" NAME="pic" width="32" height="32" BORDER=0 ></td> </tr> </table> </td> </tr> </table> <input name="btnguardar" type="button" id="btnguardar" value="Guardar" class="boton" disabled="disabled" onclick="CreaAsiento('tablaDetalle', 'cobsuc', '2', 'cbotdoc', 'txtdebe', 'txtconcepto', 'admin', 'select', 'firstinput')" /> </td> </tr> </table> </fieldset> </form> </td> </tr> </table><div id='cabSucursales' align="center" style=" display:none"> <fieldset class="titulo"> <legend>Resultados</legend> <div id="detalleSucursales" style="height:200px; overflow:auto;" align="left"></div> </fieldset> </div> </fieldset> </div> <script> function carga() {} </script> </body> </html>

Page 225: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

95

con_detalle_diario.php <?php // inicio sesion session_start(); // llamo a conexion include("php/Conexion/Conexsql.php"); //include("conectar_session.php"); //Sesion(); $user = $_SESSION['username']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> <script type="text/javascript" src="js/diario.js"></script> <script type="text/javascript" src="js/carga.js"></script> <script type="text/javascript" src="calendar/calendar_db.js"></script> <link rel="stylesheet" type="text/css" href="calendar/calendar.css"/></link> <link rel="stylesheet" type="text/css" href="css/estilos.css"/></link> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <script src="../js/jquery-1.3.2.js"></script> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var sucursales; var firstinput; var secondinput; var con = document.getElementById("con"); sucursales = document.getElementById("sucursales").selectedIndex; firstinput = document.getElementById("firstinput").value; secondinput = document.getElementById("secondinput").value; if (sucursales==0) { DivMensaje.innerHTML = "Por favor ingresar la sucursal"; document.getElementById("sucursales").focus(); return 0; } else if (firstinput.length==0) {

Page 226: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

96

DivMensaje.innerHTML = "Por favor ingresar fecha de inicio de consulta"; document.getElementById("firstinput").focus(); return 0; } else if (secondinput.length==0) { DivMensaje.innerHTML = "Por favor ingresar fecha de final de consulta"; document.getElementById("secondinput").focus(); return 0; } else{ DivMensaje.innerHTML = ""; con.innerHTML =""; cargaDatos(); ConsultaDetalle(document.form1.firstinput.value,document.form1.secondinput.value,document.form1.sucursales.value,document.form1.modulo.value); setTimeout("terminaDatos()", 1000); //limpia /*document.getElementById("modulo").selectedIndex="0"; document.getElementById("sucursales").selectedIndex="0"; document.getElementById("firstinput").value=""; document.getElementById("secondinput").value=""; document.getElementById("modulo").focus();*/ } } </script> </head> <body> <div id="winVP" style="width:auto; height:auto;"> <table width="100%" border="0" cellspacing="0" cellpadding="10"> <tr> <td><form id="cabecera" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Consulta Libro diario</legend> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td><table width="100%" border="0" cellpadding="1" cellspacing="1"> <tr> <td width="7%" class="titulo_tabla"><strong>Modulo:</strong></td> <td width="20%"><select name="modulo" id="modulo" style="width:120px" class="combos"> <option value="0">Escoger modulo</option> <? $querymo = mysql_query("SELECT * FROM gen_modulo_erp ORDER BY cod_modulo_erp ASC"); while($rowmo = mysql_fetch_array($querymo,$liconexion)){ $cod_modulo_erp = $rowmo["cod_modulo_erp"]; $descripcion_modulo_erp = $rowmo["descripcion"]; ?>

Page 227: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

97

<option value="<? echo $cod_modulo_erp;?>"><? echo $descripcion_modulo_erp;?></option> <? }?> </select></td> <td width="5%" class="titulo_tabla"><strong>Sucursal:</strong></td> <td width="66%"><select name="sucursales" id="sucursales" style="width:120px"> <option value="0">Escoger sucursal</option> <? $querysu = mysql_query("SELECT * FROM gen_sucursal ORDER BY cod_sucursal ASC"); while($rowsu = mysql_fetch_array($querysu,$liconexion)){ $cod_sucursal = $rowsu["cod_sucursal"]; $nombre_sucursal = $rowsu["nombre"]; ?> <option value="<? echo $cod_sucursal;?>"><? echo $nombre_sucursal;?></option> <? }?> </select> </td> </tr> <tr> <td class="titulo_tabla"><strong>Desde:</strong></td> <td><input type="text" id="firstinput" name="firstinput"/> <script language="JavaScript" type="text/javascript"> new tcal ({ 'formname': 'cabecera', 'controlname': 'firstinput' }); </script></td> <td class="titulo_tabla"><strong>Hasta:</strong></td> <td><input type="text" id="secondinput" name="secondinput" /> <script language="JavaScript" type="text/javascript"> new tcal ({ 'formname': 'cabecera', 'controlname': 'secondinput' }); </script></td> </tr> <tr> <td class="titulo_tabla">&nbsp;</td> <td><input type="button" class="boton" name="Consulta" id="btnconsulta" value="Consulta" onclick="validaCampos()"/> <div id="mensaje" class="Alertas"></div></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </table></td> </tr> </table>

Page 228: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

98

</fieldset> <div id="con"></div> </form></td> </tr> </table> <div id="procesando" align="center" style="margin:0 auto; padding-top:40px; padding-bottom:100px; width:400px; display:none;"> <img src="img/iconos/dhxlayout_progress_global.gif" alt="Procesando" width="243" height="51" /></div> </div> </body> </html>

Page 229: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

99

con_detalle_mayor.php <?php // inicio sesion session_start(); // llamo a conexion include("php/Conexion/Conexsql.php"); //include("conectar_session.php"); //Sesion(); $admin = $_SESSION['username']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="css/estilos.css"/></link> <link rel="stylesheet" type="text/css" href="codebase/dhtmlxwindows.css"> <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxwindows_dhx_skyblue.css"> <script src="js/jquery-1.3.2.js"></script> <script src="codebase/dhtmlxcommon.js"></script> <script src="codebase/dhtmlxwindows.js"></script> <script src="codebase/dhtmlxcontainer.js"></script> <script type="text/javascript" src="js/plan_cuenta.js"></script> <script type="text/javascript" src="js/Util.js"></script> <script type="text/javascript" src="js/det-mayor.js"></script> <script type="text/javascript" src="js/mascara.js"></script> <script type="text/javascript" src="js/carga.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var periodoa; var periodom; var sucursal; var con = document.getElementById("con"); periodoa = document.getElementById("periodoa").selectedIndex; periodom = document.getElementById("periodom").selectedIndex; sucursal = document.getElementById("sucursal").selectedIndex; if (periodoa==0) { DivMensaje.innerHTML = "Por favor ingresar periodo anual"; document.getElementById("periodoa").focus(); return 0; } else if (periodom==0) {

Page 230: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

100

DivMensaje.innerHTML = "Por favor ingresar periodo mensual"; document.getElementById("periodom").focus(); return 0; } else if (sucursal==0) { DivMensaje.innerHTML = "Por favor ingresar sucursal"; document.getElementById("sucursal").focus(); return 0; } else{ DivMensaje.innerHTML = ""; con.innerHTML =""; cargaDatos(); ConsultaDetalle(document.form1.periodoa.value,document.form1.periodom.value,document.form1.sucursal.value,document.form1.txtcta.value); setTimeout("terminaDatos()", 1000); //limpia /*document.getElementById("periodoa").selectedIndex="0"; document.getElementById("periodom").selectedIndex="0"; document.getElementById("sucursal").selectedIndex="0"; document.getElementById("periodoa").focus();*/ } } </script> <script> function consultarSucursal () { $.get('php/MenuPlanCuentasA.php',{ nombre:$('#txt_consultaSucursal').val() }, function (datos) { $('#detalleSucursales').html(datos); } ); } var dhxWins; function cargarVentanaSucursales() { consultarSucursal(); dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); dhxWins.attachViewportTo("contenedor"); dhxWins.setImagePath("../../codebase/imgs/"); ventana= dhxWins.createWindow("ventana", 200, 100, 420, 300); ventana.setText("Seleccione documento"); ventana.attachObject('cabSucursales'); dhxWins.window('ventana').setModal(true); dhxWins.window('ventana').button("close").show() } </script>

Page 231: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

101

<script type="text/javascript" > (function($){ $(function(){ $('input:text').setMask(); // $('#firstinput').setMask(); } ); })(jQuery); </script> </head> <body onload="carga()"> <table width="100%" border="0" cellspacing="0" cellpadding="10"> <tr> <td><form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Consulta Libro Mayor</legend> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td><table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td width="4%"class="titulo_tabla"><strong>A&ntilde;o:</strong></td> <td width="15%"><select name="periodoa" class="titulo2" id="periodoa" style="width:120px"> <option value="0">Seleccionar</option> <? $querya = mysql_query("SELECT * FROM con_periodo_contable WHERE cod_est_prd!='I' ORDER BY anio ASC"); while($rowa = mysql_fetch_array($querya,$liconexion)){ $cod_prd_contable = $rowa["cod_prd_contable"]; $anio = $rowa["anio"]; ?> <option value="<? echo $anio;?>"><? echo $anio;?></option> <? }?> </select></td> <td width="4%" class="titulo_tabla"><strong>Mes:</strong></td> <td width="77%"><select name="periodom" id="periodom" style="width:120px"> <option value="0" selected="selected">Seleccionar</option> <option value="1">ENERO</option> <option value="2">FEBRERO</option> <option value="3">MARZO</option> <option value="4">ABRIL</option> <option value="5">MAYO</option> <option value="6">JUNIO</option> <option value="7">JULIO</option> <option value="8">AGOSTO</option> <option value="9">SEPTIEMBRE</option> <option value="10">OCTUBRE</option> <option value="11">NOVIEMBRE</option> <option value="12">DICIEMBRE</option> </select></td> </tr>

Page 232: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

102

<tr> <td valign="middle" class="titulo_tabla"><strong>Sucursal:</strong></td> <td><select name="sucursal" class="titulo2" id="sucursal" style="width:120px"> <option value="0" selected="selected">Seleccionar</option> <? $querysu = mysql_query("SELECT * FROM gen_sucursal WHERE estado!='I' ORDER BY cod_sucursal ASC"); while($rowsu = mysql_fetch_array($querysu,$liconexion)){ $cod_sucursal = $rowsu["cod_sucursal"]; $nombre_sucursal = $rowsu["nombre"]; ?> <option value="<? echo $cod_sucursal;?>"><? echo $nombre_sucursal;?></option> <? }?> </select></td> <td class="titulo_tabla"><strong>Cuenta:</strong> </td> <td><input style="width:110px" name="txtcta" type="text" id="txtcta" onkeypress="return validaCta(event)" onblur="conscuenta2('txtcta', 'cta_desc', '1');"/> <img src="img/iconos/busca.gif" alt="" width="20" height="20" style=" cursor:pointer" onclick="cargarVentanaSucursales()" /></td> </tr> <tr> <td valign="middle" class="titulo_tabla">&nbsp;</td> <td> <input name="Consulta" type="button" class="boton" id="btnconsulta" onclick="validaCampos();" value="Consulta"/> <div id="mensaje" class="Alertas"></div> </td> <td colspan="2" valign="top"><input name="cta_desc" type="text" id="cta_desc" readonly="true" disabled="disabled" style="width:253px"/></td> </tr> </table></td> </tr> </table> </fieldset> <div id="con"></div> </form></td> </tr> </table> <div id='cabSucursales' align="center" style=" display:none"> <fieldset class="titulo"> <legend>Resultados</legend> <div id="detalleSucursales" style="height:200px; overflow:auto;" align="left"></div> </fieldset> </div> </fieldset> </div> <script> function carga()

Page 233: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

103

{} </script> <div id="procesando" align="center" style="margin:0 auto; padding-top:40px; padding-bottom:100px; width:400px; display:none;"> <img src="img/iconos/dhxlayout_progress_global.gif" alt="Procesando" width="243" height="51" /></div> </div> </body> </html>

con_detalle_sumasysaldos.php <?php // inicio sesion session_start(); // llamo a conexion include("php/Conexion/Conexsql.php"); //include("conectar_session.php"); //Sesion(); $admin = $_SESSION['username']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="js/det-mayor.js"></script> <script type="text/javascript" src="js/carga.js"></script> <link rel="stylesheet" type="text/css" href="css/estilos.css"/></link> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var periodoa; var periodom; var sucursal; var con = document.getElementById("con"); periodoa = document.getElementById("periodoa").selectedIndex; periodom = document.getElementById("periodom").selectedIndex; sucursal = document.getElementById("sucursal").selectedIndex; if (periodoa==0) { DivMensaje.innerHTML = "Por favor ingresar periodo anual"; document.getElementById("periodoa").focus(); return 0;

Page 234: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

104

} else if (periodom==0) { DivMensaje.innerHTML = "Por favor ingresar periodo mensual"; document.getElementById("periodom").focus(); return 0; } else if (sucursal==0) { DivMensaje.innerHTML = "Por favor ingresar sucursal"; document.getElementById("sucursal").focus(); return 0; } else{ DivMensaje.innerHTML = ""; con.innerHTML =""; cargaDatos(); ConsultaSumas(document.form1.periodoa.value,document.form1.periodom.value,document.form1.sucursal.value); setTimeout("terminaDatos()", 1000); //limpia /*document.getElementById("periodoa").selectedIndex="0"; document.getElementById("periodom").selectedIndex="0"; document.getElementById("sucursal").selectedIndex="0"; document.getElementById("periodoa").focus();*/ } } </script> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="10"> <tr> <td><form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Consulta Sumas y saldos</legend> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td><table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td width="4%"class="titulo_tabla"><strong>A&ntilde;o:</strong></td> <td width="14%"><select name="periodoa" class="titulo2" id="periodoa" style="width:120px"> <option value="0" selected="selected">Seleccionar</option> <? $querya = mysql_query("SELECT * FROM con_periodo_contable WHERE cod_est_prd!='I' ORDER BY anio ASC"); while($rowa = mysql_fetch_array($querya,$liconexion)){ $cod_prd_contable = $rowa["cod_prd_contable"]; $anio = $rowa["anio"]; ?> <option value="<? echo $anio;?>"><? echo $anio;?></option> <? }?>

Page 235: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

105

</select></td> <td width="4%" class="titulo_tabla"><strong>Mes:</strong></td> <td width="78%"><select name="periodom" id="periodom" style="width:120px"> <option value="0" selected="selected">Seleccionar</option> <option value="1">ENERO</option> <option value="2">FEBRERO</option> <option value="3">MARZO</option> <option value="4">ABRIL</option> <option value="5">MAYO</option> <option value="6">JUNIO</option> <option value="7">JULIO</option> <option value="8">AGOSTO</option> <option value="9">SEPTIEMBRE</option> <option value="10">OCTUBRE</option> <option value="11">NOVIEMBRE</option> <option value="12">DICIEMBRE</option> </select></td> </tr> <tr> <td valign="middle" class="titulo_tabla"><strong>Sucursal:</strong></td> <td colspan="3"><select name="sucursal" class="titulo2" id="sucursal" style="width:120px"> <option value="0" selected="selected">Seleccionar</option> <? $querysu = mysql_query("SELECT * FROM gen_sucursal WHERE estado!='I' ORDER BY cod_sucursal ASC"); while($rowsu = mysql_fetch_array($querysu,$liconexion)){ $cod_sucursal = $rowsu["cod_sucursal"]; $nombre_sucursal = $rowsu["nombre"]; ?> <option value="<? echo $cod_sucursal;?>"><? echo $nombre_sucursal;?></option> <? }?> </select></td> </tr> <tr> <td valign="middle" class="titulo_tabla">&nbsp;</td> <td colspan="3"> <input type="button" class="boton" name="Consulta" id="btnconsulta" value="Consulta" onclick="validaCampos();"/> <div id="mensaje" class="Alertas"></div> </td> </tr> </table></td> </tr> </table> </fieldset> <div id="con"></div> </form></td> </tr> </table>

Page 236: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

106

<div id="procesando" align="center" style="margin:0 auto; padding-top:40px; padding-bottom:100px; width:400px; display:none;"> <img src="img/iconos/dhxlayout_progress_global.gif" alt="Procesando" width="243" height="51" /></div> </div> </body> </html>

Page 237: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

107

con_proceso_mayoriza.php <?php // inicio sesion session_start(); // llamo a conexion include("php/Conexion/Conexsql.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="js/procesos.js"></script> <script type="text/javascript" src="js/carga.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var periodoa; var periodom; var sucursal; var con = document.getElementById("con"); periodoa = document.getElementById("periodoa").selectedIndex; periodom = document.getElementById("periodom").selectedIndex; sucursal = document.getElementById("sucursal").selectedIndex; if (periodoa==0) { DivMensaje.innerHTML = "Por favor ingresar periodo anual"; document.getElementById("periodoa").focus(); return 0; } else if (periodom==0) { DivMensaje.innerHTML = "Por favor ingresar periodo mensual"; document.getElementById("periodom").focus(); return 0; } else if (sucursal==0) { DivMensaje.innerHTML = "Por favor ingresar sucursal"; document.getElementById("sucursal").focus(); return 0; } else{ DivMensaje.innerHTML = ""; con.innerHTML =""; cargaDatos(); setTimeout("terminaDatos()", 200);

Page 238: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

108

procesoMayoriza(document.form1.periodoa.value,document.form1.periodom.value,document.form1.sucursal.value, 'admin'); //limpia /*document.getElementById("periodoa").selectedIndex="0"; document.getElementById("periodom").selectedIndex="0"; document.getElementById("sucursal").selectedIndex="0"; document.getElementById("periodoa").focus();*/ } } </script> <link rel="stylesheet" type="text/css" href="css/estilos.css"/></link> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="10"> <tr> <td><form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Proceso Mayorizacion</legend> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td><table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td width="4%"class="titulo_tabla"><strong>A&ntilde;o:</strong></td> <td width="13%"><select name="periodoa" class="titulo2" id="periodoa" style="width:120px"> <option value="0">SELECIONAR</option> <? $querya = mysql_query("SELECT * FROM con_periodo_contable WHERE cod_est_prd in ('A', 'P')"); while($rowa = mysql_fetch_array($querya,$liconexion)){ $cod_prd_contable = $rowa["cod_prd_contable"]; $anio = $rowa["anio"]; ?> <option value="<? echo $anio;?>"><? echo $anio;?></option> <? }?> </select></td> <td width="78%">&nbsp;</td> </tr> <tr> <td valign="middle" class="titulo_tabla"><strong>Mes:</strong></td> <td colspan="3"><select name="periodom" id="periodom" style="width:120px"> <option value="0" selected="selected">SELECCIONAR</option> <? $querym = mysql_query("SELECT * FROM con_periodo_mensual WHERE cod_est_prd in ('A', 'P')"); while($rowm = mysql_fetch_array($querym,$liconexion)){

Page 239: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

109

$num_mes = $rowm["num_mes"]; $mes = $rowm["descripcion"]; ?> <option value="<? echo $num_mes;?>"><? echo $mes;?></option> <? }?> </select></td> </tr> <tr> <td valign="middle" class="titulo_tabla"><strong>Sucursal:</strong></td> <td colspan="3"><select name="sucursal" class="titulo2" id="sucursal" style="width:120px"> <option value="0" selected="selected">SELECCIONAR</option> <? $querysu = mysql_query("SELECT * FROM gen_sucursal WHERE estado!='I' ORDER BY cod_sucursal ASC"); while($rowsu = mysql_fetch_array($querysu,$liconexion)){ $cod_sucursal = $rowsu["cod_sucursal"]; $nombre_sucursal = $rowsu["nombre"]; ?> <option value="<? echo $cod_sucursal;?>"><? echo $nombre_sucursal;?></option> <? }?> </select></td> </tr> <tr> <td valign="middle" class="titulo_tabla">&nbsp;</td> <td colspan="3"> <input name="iniciar" type="button" class="boton" id="iniciar" onclick="validaCampos();" value="Iniciar Proceso"/> <div id="mensaje" class="Alertas"></div> </td> </tr> </table></td> </tr> </table> </fieldset> <div id="con"></div> </form></td> </tr> </table> <div id="procesando" align="center" style="margin:0 auto; padding-top:40px; padding-bottom:100px; width:400px; display:none;"> <img src="img/iconos/dhxlayout_progress_global.gif" alt="Procesando" width="243" height="51" /></div> </div> </body> </html>

Page 240: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

110

con_proceso_pyg.php <?php // inicio sesion session_start(); // llamo a conexion include("php/Conexion/Conexsql.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="js/procesos.js"></script> <script type="text/javascript" src="js/carga.js"></script> <script language="javascript"> function validaCampos() { var DivMensaje = document.getElementById("mensaje"); var periodoa; var periodom; var sucursal; var con = document.getElementById("con"); periodoa = document.getElementById("periodoa").selectedIndex; periodom = document.getElementById("periodom").selectedIndex; sucursal = document.getElementById("sucursal").selectedIndex; if (periodoa==0) { DivMensaje.innerHTML = "Por favor ingresar periodo anual"; document.getElementById("periodoa").focus(); return 0; } else if (periodom==0) { DivMensaje.innerHTML = "Por favor ingresar periodo mensual"; document.getElementById("periodom").focus(); return 0; } else if (sucursal==0) { DivMensaje.innerHTML = "Por favor ingresar sucursal"; document.getElementById("sucursal").focus(); return 0; } else{ DivMensaje.innerHTML = ""; con.innerHTML =""; cargaDatos(); setTimeout("terminaDatos()", 200);

Page 241: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

111

procesoPYG(document.form1.periodoa.value,document.form1.periodom.value, document.form1.sucursal.value, 'admin') //limpia /*document.getElementById("periodoa").selectedIndex="0"; document.getElementById("periodom").selectedIndex="0"; document.getElementById("sucursal").selectedIndex="0"; document.getElementById("periodoa").focus();*/ } } </script> <link rel="stylesheet" type="text/css" href="css/estilos.css"/></link> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin t&iacute;tulo</title> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="10"> <tr> <td><form id="form1" name="form1" method="post" action=""> <fieldset> <legend class="titulo3">Proceso Perdidas y Ganancias Acumulado</legend> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td><table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td width="4%"class="titulo_tabla"><strong>A&ntilde;o:</strong></td> <td width="13%"><select name="periodoa" class="titulo2" id="periodoa" style="width:120px"> <option value="0">SELECIONAR</option> <? $querya = mysql_query("SELECT * FROM con_periodo_contable WHERE cod_est_prd in ('A', 'P')"); while($rowa = mysql_fetch_array($querya,$liconexion)){ $cod_prd_contable = $rowa["cod_prd_contable"]; $anio = $rowa["anio"]; ?> <option value="<? echo $anio;?>"><? echo $anio;?></option> <? }?> </select></td> <td width="78%">&nbsp;</td> </tr> <tr> <td valign="middle" class="titulo_tabla"><strong>Mes:</strong></td> <td colspan="3"><select name="periodom" id="periodom" style="width:120px"> <option value="0" selected="selected">SELECCIONAR</option> <? $querym = mysql_query("SELECT * FROM con_periodo_mensual WHERE cod_est_prd in ('A', 'P')");

Page 242: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

112

while($rowm = mysql_fetch_array($querym,$liconexion)){ $num_mes = $rowm["num_mes"]; $mes = $rowm["descripcion"]; ?> <option value="<? echo $num_mes;?>"><? echo $mes;?></option> <? }?> </select></td> </tr> <tr> <td valign="middle" class="titulo_tabla"><strong>Sucursal:</strong></td> <td colspan="3"><select name="sucursal" class="titulo2" id="sucursal" style="width:120px"> <option value="0" selected="selected">SELECCIONAR</option> <? $querysu = mysql_query("SELECT * FROM gen_sucursal WHERE estado!='I' ORDER BY cod_sucursal ASC"); while($rowsu = mysql_fetch_array($querysu,$liconexion)){ $cod_sucursal = $rowsu["cod_sucursal"]; $nombre_sucursal = $rowsu["nombre"]; ?> <option value="<? echo $cod_sucursal;?>"><? echo $nombre_sucursal;?></option> <? }?> </select></td> </tr> <tr> <td valign="middle" class="titulo_tabla">&nbsp;</td> <td colspan="3"> <input name="iniciar" type="button" class="boton" id="iniciar" onclick="validaCampos();" value="Iniciar Proceso"/> <div id="mensaje" class="Alertas"></div> </td> </tr> </table></td> </tr> </table> </fieldset> <div id="con"></div> </form></td> </tr> </table> <div id="procesando" align="center" style="margin:0 auto; padding-top:40px; padding-bottom:100px; width:400px; display:none;"> <img src="img/iconos/dhxlayout_progress_global.gif" alt="Procesando" width="243" height="51" /></div> </div> </body> </html>

Page 243: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

113

CONTA\PHP\CONEXION

Conexsql.php

<? $localhost = "localhost"; $usuario = "root"; $clave = ""; $base = "business_bg"; $liconexion = mysql_pconnect($localhost,$usuario,$clave) or trigger_error(mysql_errno()." : ".mysql_error(),E_USER_ERROR); $liconexbd = mysql_select_db($base,$liconexion) or trigger_error(mysql_errno()." : ".mysql_error(),E_USER_ERROR); ?>

Conexsqli.php

<? $link = mysqli_connect('localhost','root', '', 'business_bg'); if (!$link) { printf("ERROR CONEXION MySQL Server. Errorcode: %s\n", mysqli_connect_error()); exit; } ?>

Page 244: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

114

CONTA\PHP\

Activaperanual.php

<?php //esto es para decirle al cache de procesos del navegador que se desactive header("Cache-Control: no-store, no-cache, must-revalidate"); $anioc= $_POST["anio"]; $ref= $_POST["descrip"]; $user= $_POST["user"]; // llamo a conexion include("Conexion/Conexsqli.php"); if ($result = mysqli_query($link, "call sp_ingresa_peranual('A', '$anioc', '$ref', '$user')")) { while ($row = mysqli_fetch_array($result)) { printf($row[0]."|".$row[1]); } mysqli_free_result($result); } else { die ("ERROR ACTIVAR PERIODO ANUAL"); } mysqli_close($link); ?>

Page 245: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

115

Activapermes.php <?php //esto es para decirle al cache de procesos del navegador que se desactive header("Cache-Control: no-store, no-cache, must-revalidate"); $anio = $_POST["anioc"]; $mes = $_POST["mes"]; $user = $_POST["user"]; // llamo a conexion include("Conexion/Conexsqli.php"); if ($result = mysqli_query($link, "call sp_ingresa_permes('A', '$anio', '$mes', 'descrip', '01/01/2000', '01/01/2000', '$user')")) { while ($row = mysqli_fetch_array($result)) { printf($row[0]."|".$row[1]); } mysqli_free_result($result); } else { die ("ERROR ACTIVAR PERIODO MENSUAL"); } mysqli_close($link); ?>

Page 246: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

116

Cambiapermes.php <?php //esto es para decirle al cache de procesos del navegador que se desactive header("Cache-Control: no-store, no-cache, must-revalidate"); $anio = $_POST["anioc"]; $mes = $_POST["mes"]; $cambio = $_POST["cambio"]; $user = $_POST["user"]; // llamo a conexion include("Conexion/Conexsqli.php"); if ($result = mysqli_query($link, "call sp_ingresa_permes('$cambio', '$anio', '$mes', 'descrip', '01/01/2000', '01/01/2000', '$user')")) { while ($row = mysqli_fetch_array($result)) { printf($row[0]."|".$row[1]); } mysqli_free_result($result); } else { die ("ERROR CAMBIO ESTADO MENSUAL"); } mysqli_close($link); ?>

Page 247: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

117

Cambioperanual.php <?php //esto es para decirle al cache de procesos del navegador que se desactive header("Cache-Control: no-store, no-cache, must-revalidate"); $anioc= $_POST["anio"]; $ref= $_POST["descrip"]; $cambio = $_POST["cambio"]; $user= $_POST["user"]; // llamo a conexion include("Conexion/Conexsqli.php"); if ($result = mysqli_query($link, "call sp_ingresa_peranual('$cambio', '$anioc', '$ref', '$user')")) { while ($row = mysqli_fetch_array($result)) { printf($row[0]."|".$row[1]); } mysqli_free_result($result); } else { die ("ERROR ACTIVAR PERIODO ANUAL"); } mysqli_close($link); ?>

Page 248: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

118

con_ver_detalle_diario.php <?php // inicio sesion session_start(); // llamo a conexion include("Conexion/Conexsql.php"); $cod_asiento = $_GET["codAsiento"]; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <link rel="stylesheet" type="text/css" href="../css/estilos.css"/></link> <title>Documento sin título</title> </head> <body> <div id="tool"> <div id="tool0"></div> <div id="tool1"> <table width="300" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table width="100" height="27" border="0" cellspacing="0" cellpadding="0" class="cabecera_tabla"> <tr> <td width="100" valign="middle" class="fila_impar"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="29%"><div align="center"><a href="exporta-detalle-exel.php?codAsiento=<? echo $cod_asiento;?>" target="_blank"><img src="../img/iconos/excel.gif" alt="Crear Excel" width="20" height="19" border="0" /></a></div></td> <td width="71%"> CREA EXCEL</td> </tr> </table></td> </tr> </table></td> <td><table width="70" height="27" border="0" cellspacing="0" cellpadding="0" class="cabecera_tabla"> <tr> <td width="100" valign="middle" class="fila_impar"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="39%"><div align="center"><a href="con_ver_detalle_diario_csv.php?codAsiento=<? echo $cod_asiento;?>" target="_blank"> <img src="../img/iconos/excel.gif" alt="Crear Excel" width="20" height="19" border="0" /></a></div></td> <td width="61%"> CSV</td> </tr>

Page 249: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

119

</table></td> </tr> </table></td> </tr> </table> </div> <div id="tool2"></div> </div> <div id="toolclear"></div> <fieldset> <legend class="titulo3">Consulta Libro diario</legend> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td bgcolor="#F2F2F2"> <table width="100%" border="0" cellspacing="2" cellpadding="5"> <tr> <td bgcolor="#0099FF" class="titulo_tabla">PARTICIPANTE</td> <td bgcolor="#0099FF" class="titulo_tabla">MODULO</td> <td bgcolor="#0099FF" class="titulo_tabla">CUENTA</td> <td bgcolor="#0099FF" class="titulo_tabla">CTA. BANCARIA</td> <td bgcolor="#0099FF" class="titulo_tabla">DEBE</td> <td bgcolor="#0099FF" class="titulo_tabla">HABER</td> </tr> <?php $query = mysql_query("SELECT (SELECT nombre from gen_participantes where cod_participante = A.cod_participante) as 'PARTICIPANTE', cod_cab_asiento, (select descripcion from gen_modulo_erp where cod_modulo_erp = A.cod_modulo_erp) as 'MODULO', (select nombre from con_plan_cuentas where cod_plan_cuentas = A.cod_plan_cuentas) as 'CUENTA' , cuenta_bancaria ,signo ,valor FROM con_movimientos_gen as A where cod_cab_asiento = '$cod_asiento' ORDER BY signo ASC"); while($row = mysql_fetch_array($query,$liconexion)){ $participante = $row["PARTICIPANTE"]; $modulo = $row["MODULO"]; $cuenta = $row["CUENTA"]; $cod_cab = $row["cod_cab_participante"]; $signo = $row["signo"]; $cuentabancaria = $row["cuenta_bancaria"]; $valor = $row["valor"]; if($signo=="D"){ $dh ='<td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($valor,2).'</span></div></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2"></span></div></td>'; }else{ $dh = '<td bgcolor="#FFFFFF"><div align="right"><span class="titulo2"></span></div></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($valor,2).'</span></div></td>'; } ?> <tr>

Page 250: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

120

<td bgcolor="#FFFFFF"><span class="titulo2"><? echo $participante;?></span></td> <td bgcolor="#FFFFFF"><span class="titulo2"><? echo $modulo;?></span></td> <td bgcolor="#FFFFFF"><span class="titulo2"><? echo $cuenta;?></span></td> <td bgcolor="#FFFFFF"><span class="titulo2"><? echo $cuentabancaria;?></span></td> <? echo $dh;?> </tr> <? }?> <tr> <td colspan="4" bgcolor="#FFFFFF"><div align="right"><span class="detalle">TOTAL</span></div></td> <td width="10%" bgcolor="#FFFFFF"><div align="right"><span class="detalle"> <? $querys= mysql_query("SELECT SUM(valor) FROM con_movimientos_gen WHERE cod_cab_asiento = '$cod_asiento' AND signo='D' GROUP BY signo"); $rows=mysql_fetch_array($querys); echo '$ '.$rows['0']; ?> </span></div></td> <td bgcolor="#FFFFFF"><div align="right"><span class="detalle"> <? $querys= mysql_query("SELECT SUM(valor) FROM con_movimientos_gen WHERE cod_cab_asiento = '$cod_asiento' AND signo='H' GROUP BY signo"); $rows=mysql_fetch_array($querys); echo '$ '.$rows['0']; ?> </span></div></td> </tr> </table> </td> </tr> </table> </fieldset> </body> </html>

Page 251: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

121

con_ver_detalle_diario_csv.php <?php // inicio sesion session_start(); // llamo a conexion include("Conexion/Conexsql.php"); //include("conectar_session.php"); //Sesion(); $user = $_SESSION['username']; $cod_asiento = $_GET["codAsiento"]; header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download");; header("Content-Disposition: attachment;filename=detalle-diario-asiento-".$cod_asiento.".csv "); header("Content-Transfer-Encoding: binary"); $querye = mysql_query("SELECT * FROM gen_empresa WHERE cod_empresa ORDER BY cod_empresa ASC"); while($rowe = mysql_fetch_array($querye,$liconexion)){ $empresa = $rowe["razon_social"]; $csv = "Empresa comercial ".$empresa."\n"; } $csv.= "Detalle de libro diario\n"; $csv.= "FECHA: "; $queryf =mysql_query("SELECT * FROM con_cab_asiento WHERE cod_cab_asiento='$cod_asiento'"); $rowf=mysql_fetch_array($queryf); $dia = substr($rowf["fecha"],8,2); $periodom_cab = $rowf["periodom"]; $cod = $rowf["cod_cab_asiento"]; if($periodom_cab==01){ $mesx="Enero"; }else if($periodom_cab==02){ $mesx="Febrero"; }else if($periodom_cab==03){ $mesx="Marzo"; }else if($periodom_cab==04){ $mesx="Abril"; }else if($periodom_cab==05){ $mesx="Mayo"; }else if($periodom_cab==06){ $mesx="Junio"; }else if($periodom_cab==07){ $mesx="Julio"; }else if($periodom_cab==08){ $mesx="Agosto";

Page 252: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

122

}else if($periodom_cab==09){ $mesx="Septiembre"; }else if($periodom_cab==10){ $mesx="Octubre"; }else if($periodom_cab==11){ $mesx="Noviembre"; }else if($periodom_cab==12){ $mesx="Diciembre"; } $csv.= $mesx." ".$dia."\n"; $csv.="No. asiento: ".$cod."\n"; $csv.="PARTICIPANTE;MODULO;CUENTA;CTA. BANCARIA;DEBE;HABER;\n"; $cod_asiento = $_GET["codAsiento"]; $query = mysql_query("SELECT (SELECT nombre from gen_participantes where cod_participante = A.cod_participante) as 'PARTICIPANTE', cod_cab_asiento, (select descripcion from gen_modulo_erp where cod_modulo_erp = A.cod_modulo_erp) as 'MODULO', (select nombre from con_plan_cuentas where cod_plan_cuentas = A.cod_plan_cuentas) as 'CUENTA' , cuenta_bancaria ,signo ,valor FROM con_movimientos_gen as A where cod_cab_asiento = '$cod_asiento' ORDER BY signo ASC"); while($row = mysql_fetch_array($query,$liconexion)){ $participante = $row["PARTICIPANTE"]; $modulo = $row["MODULO"]; $cuenta = $row["CUENTA"]; $cod_cab = $row["cod_cab_participante"]; $signo = $row["signo"]; $cuentabancaria = $row["cuenta_bancaria"]; $valor = $row["valor"]; if($signo=="D"){ $csv.= $participante.';'.$modulo.';'.$cuenta.';'.$cuentabancaria.';'.number_format($valor,2).";;\n"; }else{ $csv.= $participante.';'.$modulo.';'.$cuenta.';'.$cuentabancaria.';;'.number_format($valor,2).";\n"; } } $csv.= ";;;TOTAL;"; $querys= mysql_query("SELECT SUM(valor) FROM con_movimientos_gen WHERE cod_cab_asiento = '$cod_asiento' AND signo='D' GROUP BY signo"); $rows=mysql_fetch_array($querys); $csv.= $rows['0'].';'; $querys= mysql_query("SELECT SUM(valor) FROM con_movimientos_gen WHERE cod_cab_asiento = '$cod_asiento' AND signo='H' GROUP BY signo"); $rows=mysql_fetch_array($querys); $csv.= $rows['0'].';'; echo $csvs = $csv; ?>

Page 253: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

123

Consulta-balance-general-cons.php <?php // inicio sesion session_start(); // llamo a conexion include("Conexion/Conexsql.php"); //include("conectar_session.php"); //Sesion(); $user = $_SESSION['username']; ?> <? $periodoa = $_POST["periodoa"]; $periodom = $_POST["periodom"]; if(($periodoa==0)or($periodom==0)){ echo "DATOS ERRONEOS"; }else{ ?> <div id="tool"> <div id="tool0"></div> <div id="tool1"> <table width="250" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table width="100" height="27" border="0" cellspacing="0" cellpadding="0" class="cabecera_tabla"> <tr> <td width="100" valign="middle" class="fila_impar"><table width="100" height="27" border="0" cellspacing="0" cellpadding="0" class="cabecera_tabla"> <tr> <td width="100" valign="middle" class="fila_impar"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="29%"><div align="center"><a href="php/exporta-balance-general-cons.php?periodoa=<? echo $periodoa;?>&amp;periodom=<? echo $periodom;?>" target="_blank"><img src="../conta/img/iconos/excel.gif" alt="Crear Excel" width="20" height="19" border="0" /></a></div></td> <td width="71%"> CREA EXCEL</td> </tr> </table></td> </tr> </table></td> </tr> </table></td> <td><table width="70" height="27" border="0" cellspacing="0" cellpadding="0" class="cabecera_tabla"> <tr> <td width="100" valign="middle" class="fila_impar"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="33%"><div align="center"><a href="php/exporta-balance-general-cons-csv.php?periodoa=<? echo $periodoa;?>&amp;periodom=<? echo

Page 254: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

124

$periodom;?>" target="_blank"><img src="../conta/img/iconos/excel.gif" alt="Crear Excel" width="20" height="19" border="0"/></a></div></td> <td width="67%"> CSV</td> </tr> </table></td> </tr> </table></td> </tr> </table> </div> <div id="tool2"></div> </div> <div id="toolclear"></div> <fieldset> <legend class="titulo3">Resultados de la consulta</legend> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td bgcolor="#F2F2F2"> <table width="100%" border="0" cellspacing="2" cellpadding="1" bgcolor="#FFFFFF"> <? $ba = 0; /* $qy1 = mysql_query("SELECT cod_est_prd FROM con_periodo_contable WHERE anio='$periodoa'"); $rwqy1 = mysql_fetch_array($qy1,$liconexion); $qy2 = mysql_query("SELECT cod_est_prd FROM con_periodo_mensual WHERE num_mes='$periodom'"); $rwqy2 = mysql_fetch_array($qy2,$liconexion); if(($rwqy1[0]=='A')or($rwqy1[0]=='P')){ if(($rwqy2[0]=='A')or($rwqy2[0]=='P')){ $qy3 = mysql_query("SELECT semaforo FROM con_procesos WHERE cod_sucursal = $sucursal and cod_procesos = 5 and periodom = '$periodom' and periodoa = '$periodoa'"); $rwqy3 = mysql_fetch_array($qy3,$liconexion); } } */ ?> <? $fl = "0"; $resultpa = mysql_query("select cod_prd_contable from con_periodo_contable where anio = '$periodoa'", $liconexion);

Page 255: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

125

if ($canio = mysql_fetch_array($resultpa)){ $codpa = $canio["cod_prd_contable"]; $rp = mysql_query("SELECT 1 as band FROM con_periodo_mensual as A WHERE num_mes = '$periodom' and cod_prd_contable = '$codpa' and cod_est_prd in ('A','P')", $liconexion); if ($result = mysql_fetch_array($rp)){ $band = $result["band"]; if ($band == "1") $fl = $band; } } if ($fl == "0"){ $tabla = "con_balance_general_cons_his"; }else{ $tabla = "con_balance_general_cons"; } /* $querypa = mysql_query("SELECT (select anio from con_periodo_contable where cod_prd_contable = A.cod_prd_contable)as anio, num_mes FROM con_periodo_mensual as A WHERE cod_est_prd='A'"); $rowpa = mysql_fetch_array($querypa,$liconexion); if(($rowpa[0]==$periodoa)and($rowpa[1]==$periodom)) $tabla = "con_balance_general"; else $tabla = "con_balance_general_his"; */ $query= mysql_query("SELECT * FROM ".$tabla." WHERE periodoa='$periodoa' AND periodom='$periodom' AND valor!='0.00' ORDER BY clasificacion,codigo_cuenta"); ?> <?php while($row = mysql_fetch_array($query,$liconexion)) { /* if ($rwqy3[0] == 1) $ba = 1; else $ba = 0;*/ $descripcion = $row["descripcion"]; $clasificacion = $row["clasificacion"]; $cod_bg_plt = $row['cod_bg_plt']; $clase = $row["clase"]; $cc = $row["codigo_cuenta"]; $valor = $row["valor"]; $periodoa = $row["periodoa"];

Page 256: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

126

$periodom = $row["periodom"]; $fecha_gen = $row["fecha_gen"]; if(($clasificacion=='A')and($clase=='T')) { //ACTIVO $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='AC')and($clase=='T')) { //corriente $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%" align="right" class="detalle">'.$valor.'</td> </tr>'; }else if(($clasificacion=='ACD')and($clase=='G')) { //disponible $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="18%">&nbsp;</td> </tr>'; }else if($clasificacion=='ACD') { //caja - bancos $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='ACE')and($clase=='G')) { //Exigible $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr> <tr> <td width="45%" class="detalle">'.$descripcion.'</td>

Page 257: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

127

<td width="17%">&nbsp;</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="18%">&nbsp;</td> </tr>'; }else if($clasificacion=='ACE') { //acciones - bonos - more $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='ACR')and($clase=='G')) { //Realizable $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="18%">&nbsp;</td> </tr>'; }else if($clasificacion=='ACR') { //acciones - bonos - more $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='AN')and($clase=='T')) { //NO CORRIENTE $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td>

Page 258: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

128

<td width="18%" align="right" class="detalle">'.$valor.'</td> </tr>'; }else if(($clasificacion=='ANDFT')and($clase=='G')) { //Fijo contable $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="18%">&nbsp;</td> </tr>'; }else if($clasificacion=='ANDFT') { //vehiculos - muebles -etc $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='ANDI')and($clase=='G')) { //ACTIVO DIFERIDO $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="18%">&nbsp;</td> </tr>'; }else if($clasificacion=='ANDI') { //vehiculos - muebles -etc $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='AT')and($clase=='T')) { //TOTAL DE ACTIVO $td ='<tr> <td width="45%">&nbsp;</td>

Page 259: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

129

<td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%" style="border-top:solid; border-top-color:#CCC; border-top-width:1px; border-bottom:solid; border-bottom-color:#CCC; border-bottom-width:1px;" align="right" class="detalle">'.$valor.'</td> </tr> <tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr>'; }else if(($clasificacion=='P')and($clase=='T')) { //PASIVO $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr><tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr>'; }else if(($clasificacion=='PC')and($clase=='T')) { //pasivo corriente $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%" align="right" class="detalle">'.$valor.'</td> </tr>'; }else if(($clasificacion=='PCE')and($clase=='G')) { //pasivo exigible $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="18%">&nbsp;</td> </tr>'; }else if($clasificacion=='PCE') {

Page 260: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

130

//cuentas por pagar-documento x pagar etc $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='PNC')and($clase=='T')) { //PASIVO NO CORRIENTE $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%" align="right" class="detalle">'.$valor.'</td> </tr>'; }else if($clasificacion=='PNC') { //DOCUMENTOS POR PAGAR LARGO PLAZO etc $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='PNC')and($clase=='G')) { //PASIVO DIFERIDO $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"> align="right" class="dia">'.$valor.'</td> </tr>'; }else if($clasificacion=='PNC') { //ARRIENDOS PRECOBRADOS etc $td ='<tr> <td width="45%" class="detalle">'.$descripcion.'</td>

Page 261: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

131

<td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if(($clasificacion=='PT')and($clase=='T')) { //PATRIMONIO $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%" align="right" class="dia">'.$valor.'</td> </tr>'; }else if($clasificacion=='PT') { //ARRIENDOS PRECOBRADOS etc $td ='<tr> <td width="45%" class="dia">'.$descripcion.'</td> <td width="17%" align="right" class="dia">'.$valor.'</td> <td width="17%">&nbsp;</td> <td width="18%">&nbsp;</td> </tr>'; }else if($clasificacion=='TPP') { //TOTAL DEL PASIVO Y PATRIMONIO $td ='<tr> <td width="45%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%"&nbsp;></td> </tr><tr> <td width="45%" class="detalle">'.$descripcion.'</td> <td width="17%">&nbsp;</td> <td width="17%">&nbsp;</td> <td width="18%" style="border-top:solid; border-top-color:#CCC; border-top-width:1px; border-bottom:solid; border-bottom-color:#CCC; border-bottom-width:1px;" align="right" class="detalle">'.$valor.'</td> </tr>'; } ?> <? echo $td;?> <? }}?> </table> </td>

Page 262: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

132

</tr> </table> </fieldset> <? echo $ba;?>

Page 263: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

133

exporta-diario-exel.php <?php // inicio sesion session_start(); // llamo a conexion include("Conexion/Conexsql.php"); ?> <?php $desde = $_GET["desde"];//.' 00:00:00'; $hasta = $_GET["hasta"];//.' 23:59:59'; $desde1 = substr($desde,0,10); $hasta1 = substr($hasta,0,10); $sucursales = $_GET["sucursales"]; $modulo = $_GET["modulo"]; header("Content-Type: application/vnd.ms-excel"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("content-disposition: attachment;filename=reporte-diario-".$desde1."-".$hasta1.".xls"); ?> <HTML LANG="es"> <title>consulta bd</title> <TITLE>Eliminación de areas</TITLE> <style type="text/css"> <!-- .encabezado { font-family: Arial; text-align: center; color: #069; font-size: 24px; font-weight: bold; } .libro { font-family: Arial; font-size: 16px; font-weight: bold; } .cabeza { font-family: Arial; font-size: 12px; font-weight: bold; } .cabezadet { font-family: Arial; font-size: 12px; } .detalle { font-family: Arial, Helvetica, sans-serif;

Page 264: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

134

font-size: 12px; font-weight: bold; } .dia { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } .titulo { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } .titulo2{ font-family: Arial, Helvetica, sans-serif; font-size: 12px; } body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style> </head> <body> <table width="580" border="1" cellspacing="0" cellpadding="5"> <tr class="titulo"> <? $querye = mysql_query("SELECT * FROM gen_empresa WHERE cod_empresa ORDER BY cod_empresa ASC"); while($rowe = mysql_fetch_array($querye,$liconexion)){ $empresa = $rowe["razon_social"]; ?> <td height="40px" colspan="7" bgcolor="#FFFFFF" class="encabezado">Empresa comercial &quot;<? echo $empresa;?>&quot;</td> <? }?> </tr> <tr> <td colspan="7" bgcolor="#FFFFFF"><div align="center"><span class="libro">Libro diario</span></div></td> </tr> <tr> <td colspan="7" bgcolor="#F7F7F7"><span class="cabeza">FECHA DE INICIO Y CORTE</span></td> </tr> <tr class="titulo"> <td colspan="2" bgcolor="#F7F7F7"><span class="cabeza">DESDE:</span></td> <td width="28%" bgcolor="#F7F7F7"><span class="cabezadet"><? echo $desde1;?></span></td> <td colspan="2" bgcolor="#F7F7F7"><span class="cabeza"> <? if($modulo!=0){ ?> <? $querymo = mysql_query("SELECT descripcion FROM gen_modulo_erp WHERE cod_modulo_erp='$modulo' ORDER BY cod_modulo_erp ASC");

Page 265: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

135

$rowmo=mysql_fetch_array($querymo); $descripcion_modulo_erp = $rowmo["descripcion"]; ?> MODULO: <span class="cabezadet"><? echo $descripcion_modulo_erp;?></span> <? }?> </span></td> <td bgcolor="#F7F7F7">&nbsp;</td> <td bgcolor="#F7F7F7">&nbsp;</td> </tr> <tr> <td colspan="2" bgcolor="#F7F7F7"><span class="cabeza">HASTA:</span></td> <td bgcolor="#F7F7F7"><span class="cabezadet"><? echo $hasta1;?></span></td> <td colspan="2" bgcolor="#F7F7F7"><span class="cabeza"> <? if($sucursales!=0){ ?> <? $querysu = mysql_query("SELECT nombre FROM gen_sucursal WHERE cod_sucursal='$sucursales' ORDER BY cod_sucursal ASC"); $rowsu=mysql_fetch_array($querysu); $nombre_sucursal = $rowsu["nombre"]; ?> SUCURSAL: <span class="cabezadet"><? echo $nombre_sucursal;?></span> <? }?> </span></td> <td bgcolor="#F7F7F7">&nbsp;</td> <td bgcolor="#F7F7F7">&nbsp;</td> </tr> <tr class="titulo"> <td colspan="2" bgcolor="#0099FF"><strong>FECHA</strong></td> <td colspan="2" bgcolor="#0099FF"><strong>DETALLE</strong></td> <td width="10%" bgcolor="#0099FF"><strong>PARCIAL</strong></td> <td width="8%" bgcolor="#0099FF"><strong>DEBE</strong></td> <td width="9%" bgcolor="#0099FF"><strong>HABER</strong></td> </tr> <?php if(($sucursales==0)&&($modulo==0)){ $query = mysql_query("SELECT * FROM con_cab_asiento WHERE fecha BETWEEN '$desde' AND '$hasta' AND estado='A' ORDER BY num_asiento ASC"); } if(($sucursales!=0)&&($modulo==0)){ $query = mysql_query("SELECT * FROM con_cab_asiento WHERE fecha BETWEEN '$desde' AND '$hasta' AND cod_sucursal='$sucursales' AND estado='A' ORDER BY num_asiento ASC"); } if(($sucursales!=0)&&($modulo!=0)){ $query = mysql_query("SELECT * FROM con_cab_asiento WHERE fecha BETWEEN '$desde' AND '$hasta' AND cod_sucursal='$sucursales' AND cod_modulo_erp='$modulo' AND estado='A' ORDER BY num_asiento ASC"); } if(($sucursales==0)&&($modulo!=0)){ $query = mysql_query("SELECT * FROM con_cab_asiento WHERE fecha BETWEEN '$desde' AND '$hasta' AND cod_modulo_erp='$modulo' AND estado='A' ORDER BY num_asiento ASC");

Page 266: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

136

} while($row = mysql_fetch_array($query,$liconexion)){ $dia = substr($row["fecha"],8,2); $cod_cab = $row["cod_cab_asiento"]; $concepto_cab = $row["concepto"]; $periodom_cab = $row["periodom"]; $num_form = $row["num_formulario"]; if($periodom_cab==01){ $mesx="Ene."; }else if($periodom_cab==02){ $mesx="Feb."; }else if($periodom_cab==03){ $mesx="Mar."; }else if($periodom_cab==04){ $mesx="Abr."; }else if($periodom_cab==05){ $mesx="May."; }else if($periodom_cab==06){ $mesx="Jun."; }else if($periodom_cab==07){ $mesx="Jul."; }else if($periodom_cab==08){ $mesx="Ago."; }else if($periodom_cab==09){ $mesx="Sep."; }else if($periodom_cab==10){ $mesx="Oct."; }else if($periodom_cab==11){ $mesx="Nov."; }else if($periodom_cab==12){ $mesx="Dic."; } ?> <tr> <td width="5%" bgcolor="#FFFFFF"><div align="center" class="detalle"><? echo $mesx;?></div></td> <td width="10%" bgcolor="#FFFFFF"><div align="center" class="dia"><? echo $dia;?></div></td> <td colspan="2" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td><div align="center" class="detalle">- <? echo $num_form; ?> -</div></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="2" cellpadding="0"> <? $queryd = mysql_query("SELECT * FROM con_det_asiento,con_plan_cuentas WHERE con_det_asiento.cod_cab_asiento=".$cod_cab." AND con_plan_cuentas.cod_plan_cuentas=con_det_asiento.cod_plan_cuentas ORDER BY con_det_asiento.movimiento ASC"); while($rowd = mysql_fetch_array($queryd,$liconexion)){ $cod_det_asiento= $rowd["cod_det_asiento"];

Page 267: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

137

$cod_plan_cuentas= $rowd["cod_plan_cuentas"]; $asiento_movimiento = $rowd["movimiento"]; $asiento_valor= $rowd["valor_det"]; $nombre_cuentas =$rowd["nombre"]; ///////////////////////////// if($asiento_movimiento=="D"){ echo '<tr><td width="50%"><span class="titulo2">'.$nombre_cuentas.'</span></td> <td width="50%"></td></tr>'; }else{ echo '<tr><td width="50%"></td> <td width="50%"><span class="titulo2">'.$nombre_cuentas.'</span></td></tr>'; } } ?> </table></td> </tr> <? if($concepto_cab!=""){?> <tr> <td bgcolor="#F7F7F7"><div align="left"><span class="dia"> <? echo $concepto_cab;?></span></div></td> </tr> <? }?> </table></td> <td bgcolor="#FFFFFF">&nbsp;</td> <td valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td><div align="center" class="detalle">&nbsp;</div></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="2" cellpadding="0"> <? $queryd = mysql_query("SELECT * FROM con_det_asiento,con_plan_cuentas WHERE con_det_asiento.cod_cab_asiento=".$cod_cab." AND con_plan_cuentas.cod_plan_cuentas=con_det_asiento.cod_plan_cuentas ORDER BY con_det_asiento.movimiento ASC"); while($rowd = mysql_fetch_array($queryd,$liconexion)){ $cod_det_asiento= $rowd["cod_det_asiento"]; $cod_plan_cuentas= $rowd["cod_plan_cuentas"]; $asiento_movimiento = $rowd["movimiento"]; $asiento_valor= $rowd["valor_det"]; $nombre_cuentas =$rowd["nombre"]; ///////////////////////////// if($asiento_movimiento=="D"){ echo '<tr><td width="50%"><div align="right"><span class="titulo2">$ '.$asiento_valor.'</span></div></td></tr>'; }else{ echo '<tr><td width="50%"><div align="right"><span class="titulo2"></span></div></td></tr>'; }} ?>

Page 268: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

138

</table></td> </tr> <? if($concepto_cab!=""){?> <tr> <td class="detalle"><span class="dia">&nbsp;</span></td> </tr> <? }?> </table></td> <td valign="bottom" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td><div align="center" class="detalle">&nbsp;</div></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="2" cellpadding="0"> <? $queryd = mysql_query("SELECT * FROM con_det_asiento,con_plan_cuentas WHERE con_det_asiento.cod_cab_asiento=".$cod_cab." AND con_plan_cuentas.cod_plan_cuentas=con_det_asiento.cod_plan_cuentas ORDER BY con_det_asiento.movimiento ASC"); while($rowd = mysql_fetch_array($queryd,$liconexion)){ $cod_det_asiento= $rowd["cod_det_asiento"]; $cod_plan_cuentas= $rowd["cod_plan_cuentas"]; $asiento_movimiento = $rowd["movimiento"]; $asiento_valor= $rowd["valor_det"]; $nombre_cuentas =$rowd["nombre"]; ///////////////////////////// if($asiento_movimiento=="D"){ echo '<tr><td width="50%"><div align="right"><span class="titulo2"></span></div></td></tr>'; }else{ echo '<tr><td width="50%"><div align="right"><span class="titulo2">$ '.$asiento_valor.'</span></div></td></tr>'; }} ?> </table></td> </tr> <? if($concepto_cab!=""){?> <tr> <td class="dia">&nbsp;</td> </tr> <? }?> </table></td> </tr> <? }?> <tr> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF">&nbsp;</td> <td colspan="2" bgcolor="#FFFFFF" class="detalle"><div align="right">TOTAL</div></td> <td bgcolor="#FFFFFF">&nbsp;</td> <td bgcolor="#FFFFFF"><div align="right"><span class="detalle">$ <?php

Page 269: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

139

if(($sucursales==0)&&($modulo==0)){ $queryd = mysql_query("SELECT sum(valor_det) debe FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'D' ) and a.fecha >='$desde' and a.fecha <='$hasta'))"); } if(($sucursales!=0)&&($modulo==0)){ $queryd = mysql_query("SELECT sum(valor_det) debe FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'D' ) and a.fecha >='$desde' and a.fecha <='$hasta')) and (a.cod_sucursal='$sucursales')"); } if(($sucursales!=0)&&($modulo!=0)){ $queryd = mysql_query("SELECT sum(valor_det) debe FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'D' ) and a.fecha >='$desde' and a.fecha <='$hasta')) and (a.cod_sucursal= '$sucursales') and (d.cod_modulo_erp='$modulo')"); } if(($sucursales==0)&&($modulo!=0)){ $queryd = mysql_query("SELECT sum(valor_det) debe FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'D' ) and a.fecha >='$desde' and a.fecha <='$hasta')) and (d.cod_modulo_erp='$modulo')"); } $rowd=mysql_fetch_array($queryd); echo $rowd["debe"]; ?> </span></div></td> <td bgcolor="#FFFFFF"> <div align="right"><span class="detalle">$ <?php if(($sucursales==0)&&($modulo==0)){ $queryd = mysql_query("SELECT sum(valor_det) haber FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'H' ) and a.fecha >='$desde' and a.fecha <='$hasta'))"); } if(($sucursales!=0)&&($modulo==0)){ $queryd = mysql_query("SELECT sum(valor_det) haber FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'H' ) and a.fecha >='$desde' and a.fecha <='$hasta')) and (a.cod_sucursal='$sucursales')"); } if(($sucursales!=0)&&($modulo!=0)){ $queryd = mysql_query("SELECT sum(valor_det) haber FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'H' ) and a.fecha >='$desde' and a.fecha <='$hasta')) and (a.cod_sucursal= '$sucursales') and (d.cod_modulo_erp='$modulo')"); }

Page 270: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

140

if(($sucursales==0)&&($modulo!=0)){ $queryd = mysql_query("SELECT sum(valor_det) haber FROM con_det_asiento d, con_cab_asiento a WHERE ((d.cod_cab_asiento = a.cod_cab_asiento and (movimiento = 'H' ) and a.fecha >='$desde' and a.fecha <='$hasta')) and (d.cod_modulo_erp='$modulo')"); } $rowd=mysql_fetch_array($queryd); echo $rowd["haber"]; ?> </span></div> </td> </tr> </table> </body> </html>

Page 271: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

141

exporta-mayor-exel.php

<?php // inicio sesion session_start(); // llamo a conexion include("Conexion/Conexsql.php"); ?> <?php $periodoa = $_GET["periodoa"]; $periodom = $_GET["periodom"]; $sucursal = $_GET["sucursal"]; $cuentanum = $_GET["cuenta"]; header("Content-Type: application/vnd.ms-excel"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("content-disposition: attachment;filename=reporte-mayor-".$periodoa."-".$periodom."-".$sucursal.".xls"); ?> <HTML LANG="es"> <title>consulta bd</title> <TITLE>Eliminación de areas</TITLE> <style type="text/css"> <!-- .encabezado { font-family: Arial; text-align: center; color: #069; font-size: 24px; font-weight: bold; } .libro { font-family: Arial; font-size: 16px; font-weight: bold; } .cabeza { font-family: Arial; font-size: 12px; font-weight: bold; } .cabezadet { font-family: Arial; font-size: 12px; } .detalle { font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; } .dia { font-family: Arial, Helvetica, sans-serif; font-size: 12px;

Page 272: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

142

} .titulo { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } .titulo2{ font-family: Arial, Helvetica, sans-serif; font-size: 12px; } body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style> </head> <body> <table width="580" border="0" cellpadding="5" cellspacing="0"> <tr> <? $querye = mysql_query("SELECT * FROM gen_empresa WHERE cod_empresa ORDER BY cod_empresa ASC"); while($rowe = mysql_fetch_array($querye,$liconexion)){ $empresa = $rowe["razon_social"]; ?> <td colspan="6" bgcolor="#FFFFFF"><div align="center"><span class="encabezado">Empresa comercial &quot;<? echo $empresa;?>&quot;</span></div></td> <? }?> </tr> <tr> <td colspan="6" bgcolor="#FFFFFF"><div align="center"><span class="libro">Libro Mayor</span></div></td> </tr> <tr> <? $querysu = mysql_query("SELECT nombre FROM gen_sucursal WHERE cod_sucursal='$sucursal'"); $rowsu=mysql_fetch_array($querysu); $sucursal_n = $rowsu["nombre"]; ?> <td colspan="6" bgcolor="#FFFFFF"><div align="center"><span class="libro"><strong>SUCURSAL: </strong></span><span class="libro"><? echo $sucursal_n;?></span></div></td> </tr> </table> <? if($cuentanum!=""){ $querycu = mysql_query("SELECT cod_plan_cuentas, codigo_cuenta, nombre FROM con_plan_cuentas WHERE codigo_cuenta='$cuentanum' AND clase = 'C' ORDER BY codigo_cuenta ASC");

Page 273: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

143

}else{ $querycu = mysql_query("SELECT cod_plan_cuentas, codigo_cuenta, nombre FROM con_plan_cuentas where clase = 'C' ORDER BY codigo_cuenta ASC"); } while($rowcu = mysql_fetch_array($querycu,$liconexion)){ $cod_plan_cuentas = $rowcu["cod_plan_cuentas"]; $codigo_cuenta = $rowcu["codigo_cuenta"]; $nombre_cuenta = $rowcu["nombre"]; /*if(($periodoa!=0)&&($periodom==0)){ $query = mysql_query("SELECT fecha_crea, cod_cab_asiento, (SELECT concepto FROM con_cab_asiento WHERE cod_cab_asiento = A.cod_cab_asiento ) as 'Concepto', movimiento, valor_det FROM con_det_asiento as A WHERE cod_plan_cuentas = '$cod_plan_cuentas' and periodoa= '$periodoa' and periodom=13 and cod_sucursal ='$sucursal' and estado = 'A'"); } if(($periodoa!=0)&&($periodom!=0)){*/ $query = mysql_query("SELECT fecha_crea, cod_cab_asiento, (SELECT concepto FROM con_cab_asiento WHERE cod_cab_asiento = A.cod_cab_asiento ) as 'Concepto', movimiento, valor_det FROM con_det_asiento as A WHERE cod_plan_cuentas = '$cod_plan_cuentas' and periodoa= '$periodoa' and periodom= '$periodom' and cod_sucursal ='$sucursal' and estado = 'A'"); $rownum = mysql_num_rows($query); $periodom_ant = $periodom-1; $querysa= mysql_query("SELECT IFNULL(debe_actual,'0.00'), IFNULL(haber_actual,'0.00') FROM con_mayor_his WHERE cod_plan_cuentas='$cod_plan_cuentas' AND cod_sucursal='$sucursal' AND periodoa='$periodoa' AND periodom='$periodom_ant'"); $rowsa = mysql_fetch_array($querysa,$liconexion); if((($rowsa[0]!='0.00' and $rowsa[0]!='')or($rowsa[1]!='0.00' and $rowsa[1]!=''))or $rownum!=0 ){ // if($rownum!=0 ){ ?> <table width="580" border="1" cellspacing="0" cellpadding="5"> <tr> <td colspan="6" bgcolor="#FFFFFF"><span class="titulo"><strong>CUENTA:</strong></span> <span class="titulo2"><? echo $nombre_cuenta;?></span></td> </tr> <tr> <td colspan="6" bgcolor="#FFFFFF"><span class="titulo"><strong>CODIGO:</strong></span> <span class="titulo2"><? echo $codigo_cuenta;?></span></td> </tr> <tr class="titulo"> <td width="11%" bgcolor="#0099FF"><strong>FECHA</strong></td> <td width="6%" bgcolor="#0099FF"><strong>REF</strong></td> <td width="43%" bgcolor="#0099FF"><strong>CONCEPTO</strong></td> <td width="14%" bgcolor="#0099FF"><strong>DEBE</strong></td> <td width="13%" bgcolor="#0099FF"><strong>HABER</strong></td>

Page 274: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

144

<td width="13%" bgcolor="#0099FF"><strong>SALDO</strong></td> </tr> <?php /*if(($periodoa!=0)&&($periodom==0)){ $query = mysql_query("SELECT fecha_crea, cod_cab_asiento, (SELECT concepto FROM con_cab_asiento WHERE cod_cab_asiento = A.cod_cab_asiento ) as 'Concepto', movimiento, valor_det FROM con_det_asiento as A WHERE cod_plan_cuentas = '$cod_plan_cuentas' and periodoa= '$periodoa' and periodom=13 and cod_sucursal ='$sucursal' and estado = 'A'"); } if(($periodoa!=0)&&($periodom!=0)){*/ $query = mysql_query("SELECT fecha_crea, cod_cab_asiento, (SELECT concepto FROM con_cab_asiento WHERE cod_cab_asiento = A.cod_cab_asiento ) as 'Concepto', movimiento, valor_det FROM con_det_asiento as A WHERE cod_plan_cuentas = '$cod_plan_cuentas' and periodoa= '$periodoa' and periodom= '$periodom' and cod_sucursal ='$sucursal' and estado = 'A'"); if($periodom!=1){ $periodom_ant = $periodom-1; $querysa= mysql_query("SELECT IFNULL(debe_actual,'0.00'), IFNULL(haber_actual,'0.00') FROM con_mayor_his WHERE cod_plan_cuentas='$cod_plan_cuentas' AND cod_sucursal='$sucursal' AND periodoa='$periodoa' AND periodom='$periodom_ant'"); $rowsa = mysql_fetch_array($querysa,$liconexion); $debe_ant = $rowsa[0]; if($debe_ant=='') $haber_ant = $rowsa[1]; if($haber_ant=='') //$saldo_ant = $debe_ant - $haber_ant; $cc = substr($codigo_cuenta,0,1); if(($cc==1)or($cc==5)) $saldo_ant = $debe_ant - $haber_ant; else $saldo_ant = $haber_ant- $debe_ant; echo $dh1 =' <td width="8%" valign="top" bgcolor="#FFFFFF"><div align="center" class="detalle">'.$periodoa.' / '.$periodom_ant.'</div></td> <td width="4%" valign="top" bgcolor="#FFFFFF"><div align="center" class="dia">&nbsp;</div></td> <td valign="top" bgcolor="#FFFFFF"><span class="detalle">SALDO PERIODO ANTERIOR</span></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($debe_ant,2).'</span></div></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($haber_ant,2).'</span></div></td> <td valign="top" bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($saldo_ant,2).'</span></div></td>'; $saldo = $saldo_ant;

Page 275: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

145

} while($row = mysql_fetch_array($query,$liconexion)){ $fecha = $row["fecha_crea"]; $cod_cab_asiento = $row["cod_cab_asiento"]; $concepto_cab = $row["Concepto"]; $movimiento = $row["movimiento"]; $valor_det = $row["valor_det"]; if($movimiento=="D"){ $saldo = $saldo + $valor_det; $valortd = $valortd + $valor_det; $dh =' <td width="8%" valign="top" bgcolor="#FFFFFF"><div align="center" class="detalle">'.$fecha.'</div></td> <td width="4%" valign="top" bgcolor="#FFFFFF"><div align="center" class="dia">'.$cod_cab_asiento.'</div></td> <td valign="top" bgcolor="#FFFFFF"><span class="detalle">'.$concepto_cab.'</span></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($valor_det,2).'</span></div></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">&nbsp;</span></div></td> <td valign="top" bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($saldo,2).'</span></div></td>'; }else{ $saldo = $saldo - $valor_det; $valorth = $valorth + $valor_det; $dh = ' <td width="8%" valign="top" bgcolor="#FFFFFF"><div align="center" class="detalle">'.$fecha.'</div></td> <td width="4%" valign="top" bgcolor="#FFFFFF"><div align="center" class="dia">'.$cod_cab_asiento.'</div></td> <td valign="top" bgcolor="#FFFFFF"><span class="detalle">'.$concepto_cab.'</span></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">&nbsp;</span></div></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($valor_det,2).'</span></div></td> <td valign="top" bgcolor="#FFFFFF"><div align="right"><span class="titulo2">$ '.number_format($saldo,2).'</span></div></td>'; } ?> <tr> <? echo $dh;?></tr> <? } $valortd = $valortd + $debe_ant; $valorth = $valorth + $haber_ant; $valorts = $valortd - $valorth; $cc = substr($codigo_cuenta,0,1);

Page 276: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

146

if(($cc==1)or($cc==5)) $valorts = $valortd - $valorth; else $valorts = $valorth - $valortd; /*if($valorts<0){ $valorts2 = $valorts * -1; }else{ $valorts2 = $valorts; }*/ $valortd2 = number_format($valortd,2); $valorth2 = number_format($valorth,2); $valorts2 = number_format($valorts,2); ?> <tr> <td colspan="3" bgcolor="#FFFFFF"><div align="right"><span class="detalle">TOTAL</span></div></td> <td bgcolor="#FFFFFF"><div align="right"><span class="titulo2"><? echo '$ '.$valortd2;?></span></div></td> <td valign="top" bgcolor="#FFFFFF"><div align="right"><span class="titulo2"><? echo '$ '.$valorth2;?></span></div></td> <td valign="top" bgcolor="#FFFFFF"><div align="right"><span class="titulo2"><? echo '$ '.$valorts2;?></span></div></td> </tr> </table><p></p><p></p> <? unset($valorth); unset($valortd); unset($saldo); }//if verifica campos }//if cuentas ?> </body> </html>

Page 277: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

147

ProcesoBgeneral.php <?php //esto es para decirle al cache de procesos del navegador que se desactive header("Cache-Control: no-store, no-cache, must-revalidate"); $anio= $_POST["anio"]; $mes= $_POST["mes"]; $suc= $_POST["suc"]; $user= $_POST["user"]; // llamo a conexion include("Conexion/Conexsqli.php"); if ($result = mysqli_query($link, "call sp_bgeneral_gen('$anio', '$mes', '$suc', '$user')")) { while ($row = mysqli_fetch_array($result)) { printf($row[0]."|".$row[1]); } mysqli_free_result($result); } else { die ("ERROR PROCESO BALANCE GENERAL"); } mysqli_close($link); ?>

Page 278: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

148

ProcesoMayoriza.php <?php //esto es para decirle al cache de procesos del navegador que se desactive header("Cache-Control: no-store, no-cache, must-revalidate"); $anio= $_POST["anio"]; $mes= $_POST["mes"]; $suc= $_POST["suc"]; $user= $_POST["user"]; // llamo a conexion include("Conexion/Conexsqli.php"); if ($result = mysqli_query($link, "call sp_mayorizacion('$anio', '$mes', '$suc', '$user')")) { while ($row = mysqli_fetch_array($result)) { printf($row[0]."|".$row[1]); } mysqli_free_result($result); } else { die ("ERROR PROCESO MAYORIZACION"); } mysqli_close($link); ?>

Page 279: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

149

graba-tipo.php <?php // inicio sesion session_start(); // llamo a conexion include("Conexion/Conexsql.php"); ?> <?php $siglas = $_POST["txt_siglas"]; $descripcion = $_POST["txt_descripcion"]; $transaccional = $_POST["opt_ind_transaccional"]; $presupuesto = $_POST["opt_ind_presupuesto"]; $user = $_POST["user"]; // $query= "select cod_tipo_doc from con_tipo_doc where siglas = '$siglas' and estado = 'A'"; $result= mysql_query($query,$liconexion); if (mysql_num_rows($result)>0){ printf ("ERROR DOCUMENTO YA EXISTE"); }else{ mysql_query("INSERT INTO con_tipo_doc(siglas,descripcion,ind_transaccional,ind_presupuesto,fech_crea,user_crea,estado)VALUES('$siglas', '$descripcion', '$transaccional', '$presupuesto', NOW(), '$user', 'A')",$liconexion); printf ("DOCUMENTO INGRESADO CON EXITO"); mysql_close($liconexion); } ?>

Page 280: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

150

CONTA\JS\

asiento.js

ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function CreaAsiento(idGrid, id1, id2, id3, id4, id5, id6, id7, id8){ var ajax=nuevoAjax(); var cadena; var cadena2; var error; var errorD="0"; ajax.open("POST", ruta+"IngresasientoCC.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("sucursal="+document.getElementById(id1).value+"&modulo_erp="+id2+"&tipo_doc="+document.getElementById(id3).value+ "&vtotal="+document.getElementById(id4).value+"&concepto="+document.getElementById(id5).value+"&user="+id6+"&ita="+document.getElementById(id7).value+"&fecha="+document.getElementById(id8).value); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar //document.getElementById("cta_desc").value = ajax.responseText; cadena = ajax.responseText; for(i=0; i<cadena.length; i++) {

Page 281: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

151

if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } if(cadena == "0"){ //LLAMADO AL SP DE DETALLE DEL ASIENTO errorD = CreaAsientoDet(idGrid, cadena2, id2, document.getElementById(id4).value, document.getElementById(id1).value, document.getElementById(id7).value, document.getElementById(id8).value); if ( errorD != "0"){ alert ("PROCESO ABORTADO" + errorD); }else{ alert("ASIENTO EXITOSO"); document.form1.btnguardar.disabled = true; document.form1.btnagregar.disabled = true; } }else{ error = "ERROR:" + cadena + "MENSAJE:" + cadena2; alert(error); } } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } function CreaAsientoDet(idGrid, codcab, modulo, vtot, csuc, tas, fec){ var error; var cadena; var cadena2; var tabla = document.getElementById(idGrid); var filas = tabla.rows; if (filas.length > 1) { for(var i=1; i<filas.length; i++) {

Page 282: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

152

var ajax=nuevoAjax(); var fila = filas[i]; var columnas = fila.cells; ajax.open("POST", ruta+"IngresasientoDC.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("ccab="+codcab+"&codcta="+columnas[1].innerHTML+"&mov="+columnas[3].innerHTML+ "&coderp="+modulo+"&valdet="+columnas[4].innerHTML+"&vtotal="+vtot+"&observa=observa"+"&pres="+columnas[5].innerHTML+"&sucursal="+csuc+"&ita="+tas+"&fecha="+fec); ajax.onreadystatechange=function() { if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar cadena = ajax.responseText; for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } if(cadena != "0"){ error = "ERROR:" + cadena + "MENSAJE:" + cadena2; return error; } } } } } return "0"; }

Page 283: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

153

det-balance.js ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function ConsultaBalance( id1, id2, id3){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-balance-general.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("periodoa="+id1+"&periodom="+id2+"&sucursal="+id3);

Page 284: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

154

ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar // document.getElementById("con").innerHTML = ajax.responseText; str = ajax.responseText; document.getElementById("con").innerHTML = str.substring(0, str.length-1); if (str != "" && str.substring(str.length-1, str.length) == "1") document.form1.Aprobar.disabled = false; //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } // function ConsultaBalancec( id1, id2){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-balance-general-cons.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("periodoa="+id1+"&periodom="+id2); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar // document.getElementById("con").innerHTML = ajax.responseText; str = ajax.responseText; document.getElementById("con").innerHTML = str.substring(0, str.length-1); /* if (str != "" && str.substring(str.length-1, str.length) == "1") document.form1.Aprobar.disabled = false;*/ //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; }

Page 285: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

155

// if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } // function ApruebaBG( id1, id2, id3){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Apruebabgeneral.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("periodoa="+id1+"&periodom="+id2+"&sucursal="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar if (ajax.responseText == "0"){ document.form1.Aprobar.disabled= true; alert("BALANCE GENERAL APROBADO"); }else alert("ERROR APROBACION BALANCE GENERAL"); } } } function procesoBinicial(id1, id2){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"ProcesoBinicial.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&suc="+id2); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = ajax.responseText; if (trim(ajax.responseText) == "0|") ConsultaBalanceI(id1, id2); //alert("PROCESO BALANCE GENERAL EXITOSO"); else{ for(i=0; i<cadena.length; i++)

Page 286: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

156

{ if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } } function ConsultaBalanceI(id1, id2){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-balance-inicial.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("periodoa="+id1+"&sucursal="+id2); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar document.getElementById("con").innerHTML = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } function procesoMayorizaAjcons(id1, id2, id3){ var ajax=nuevoAjax(); var cadena; var cadena2; var Cerror; var error; ajax.open("POST", ruta+"ProcesoMayorizaAj_cons.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

Page 287: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

157

ajax.send("anio="+id1+"&mes="+id2+"&user="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = ajax.responseText; if (trim(ajax.responseText) == "0|"){ procesoBGCons(id1, id2); // ConsultaBalancec(id1, id2); }else{ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } } function procesoBGCons(id1, id2){ var ajax=nuevoAjax(); var cadena; var cadena2; var id3 = 'xxxx'; ajax.open("POST", ruta+"ProcesoBgeneral_cons.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2+"&user="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = ajax.responseText; if (trim(ajax.responseText) == "0|") ConsultaBalancec(id1, id2); else{ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") {

Page 288: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

158

cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } }

det-mayor.js ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){

Page 289: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

159

if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function ConsultaDetalle( id1, id2, id3,id4){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-detalle-mayor.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("periodoa="+id1+"&periodom="+id2+"&sucursal="+id3+"&cuenta="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar document.getElementById("con").innerHTML = ajax.responseText; //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } // function ConsultaSumas( id1, id2, id3){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-detalle-sumas-saldos.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("periodoa="+id1+"&periodom="+id2+"&sucursal="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar document.getElementById("con").innerHTML = ajax.responseText; //document.getElementById('con').innerHTML = "PRUEBA";

Page 290: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

160

//cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } function ConsultaSumasCons( id1, id2){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-detalle-sumas-saldos-cons.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("periodoa="+id1+"&periodom="+id2); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar document.getElementById("con").innerHTML = ajax.responseText; //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } function procesoMayorCons(id1, id2){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"ProcesoMayoriza_cons.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = ajax.responseText; if (trim(ajax.responseText) == "0|")

Page 291: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

161

ConsultaSumasCons(id1, id2); else{ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } }

Page 292: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

162

det-pyg.js ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function Consultapyg( id1, id2, id3){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-perdidas-ganancias.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("periodoa="+id1+"&periodom="+id2+"&sucursal="+id3);

Page 293: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

163

ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar str = ajax.responseText; document.getElementById("con").innerHTML = str.substring(0, str.length-1); if (str != "" && str.substring(str.length-1, str.length) == "1") document.form1.Aprobar.disabled = false; //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } /// function Consultapygmes(id1, id2, id3){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-perdidas-ganancias-mes.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("periodoa="+id1+"&periodom="+id2+"&sucursal="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar document.getElementById("con").innerHTML = ajax.responseText; //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } }

Page 294: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

164

//// function Consultapygc( id1, id2){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-perdidas-ganancias_cons.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("periodoa="+id1+"&periodom="+id2); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar str = ajax.responseText; document.getElementById("con").innerHTML = str.substring(0, str.length-1); /* if (str != "" && str.substring(str.length-1, str.length) == "1") document.form1.Aprobar.disabled = false;*/ //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } /// function procesoMayorizaAj(id1, id2, id3, id4){ var ajax=nuevoAjax(); var cadena; var cadena2; var Cerror; var error; ajax.open("POST", ruta+"ProcesoMayorizaAj.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2+"&suc="+id3+"&user="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = ajax.responseText; if (trim(ajax.responseText) == "0|"){ document.form1.Aprobar.disabled = true;

Page 295: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

165

alert ("PERDIDAS Y GANANCIAS APROBADO"); //ActuactaPYG(id1, id2, id3, id4); }else{ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } } function ActuactaPYG(id1, id2, id3, id4){ var ajax=nuevoAjax(); var cadena; var cadena2; var error =0; ajax.open("POST", ruta+"ActuactaPYG.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2+"&suc="+id3+"&user="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = ajax.responseText; if (trim(ajax.responseText) == "0|"){ alert ("PERDIDAS Y GANANCIAS APROBADO"); }else{ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; }

Page 296: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

166

} error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } } function procesoPYGCons(id1, id2){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"ProcesoPYG_cons.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = ajax.responseText; if (trim(ajax.responseText) == "0|") Consultapygc(id1, id2); else{ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } }

Page 297: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

167

diario.js ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function ConsultaDetalle( id1, id2, id3, id4){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-detalle-diario.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar document.getElementById("con").innerHTML = ajax.responseText; //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } }

Page 298: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

168

periodos-mes.js ruta=""; // se utiliza para paginas individuales //ruta="conta/"; // se utiliza con el contenedor function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function Consultames(id1){ var ajax=nuevoAjax(); var cadena; ajax.open("POST", ruta+"php/Consultames.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+document.getElementById(id1).value); ajax.onreadystatechange=function(){

Page 299: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

169

if (ajax.readyState==4){ if (trim(ajax.responseText) != "0"){ alert("PERIODO MENSUAL YA EXISTENTE"); document.getElementById(id1).focus(); } } } } function Creapermes(id1, id2,id3){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Ingresapermes.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anioc="+document.getElementById(id1).value+"&mes="+document.getElementById(id2).value+"&user="+id3); //ajax.send("anioc="+document.getElementById(id1).value+"&ini="+document.getElementById(id2).value+"&fin="+document.getElementById(id3).value+"&mes="+document.getElementById(id4).value+"&desc="+document.getElementById(id5).value+"&user="+id6); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar //document.getElementById("cta_desc").value = ajax.responseText; cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("INGRESO PERIODO MENSUAL EXITOSO"); }

Page 300: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

170

} } function crearfila(id,arreglo) { var accion = "insert"; if (accion=="insert") { var escoge = document.createElement('IMG'); escoge.setAttribute('src', ruta+'grid/img/b_new.png'); escoge.onclick = function() { escogeRow(id, escoge) } var tabla= document.getElementById(id); var tbody = tabla.tBodies[0]; tabla.setAttribute("border","0") tabla.setAttribute("cellpadding","0") tabla.setAttribute("cellspacing","0") var row = document.createElement("TR") row.setAttribute("class","fontTabla") row.onmouseover = function () { this.bgColor='#D5F1FF'; this.style.cursor="hand"; } row.onmouseout = function () { this.bgColor='#FFFFFF'; this.style.cursor="hand"; } var td1 = document.createElement("TD") td1.appendChild(escoge) //pego el check a la celda td1.setAttribute("class","celda2") row.appendChild(td1); //pego la celda a la fina //aqui creo las filas con los datos recordando que cada posicion del arrelo es en realidad una referencia a //un objeto html var td2 = document.createElement("TD") td2.setAttribute("class","celda2") var td3 = document.createElement("TD")

Page 301: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

171

td3.setAttribute("class","celda2") td2.innerHTML= arreglo[0] td3.innerHTML= arreglo[1] row.appendChild(td2); row.appendChild(td3); tbody.appendChild(row); } } function crearfila2(id,arreglo) { var accion = "insert"; if (accion=="insert") { var escoge = document.createElement('IMG'); escoge.setAttribute('src', ruta+'grid/img/b_new.png'); escoge.onclick = function() { escogeRow2(id, escoge) } var tabla= document.getElementById(id); var tbody = tabla.tBodies[0]; tabla.setAttribute("border","0") tabla.setAttribute("cellpadding","0") tabla.setAttribute("cellspacing","0") var row = document.createElement("TR") row.setAttribute("class","fontTabla") row.onmouseover = function () { this.bgColor='#D5F1FF'; this.style.cursor="hand"; } row.onmouseout = function () { this.bgColor='#FFFFFF'; this.style.cursor="hand"; } var td1 = document.createElement("TD") td1.appendChild(escoge) //pego el check a la celda td1.setAttribute("class","celda2") row.appendChild(td1); //pego la celda a la fina

Page 302: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

172

//aqui creo las filas con los datos recordando que cada posicion del arrelo es en realidad una referencia a //un objeto html var td2 = document.createElement("TD") td2.setAttribute("class","celda2") var td3 = document.createElement("TD") td3.setAttribute("class","celda2") var td4 = document.createElement("TD") td4.setAttribute("class","celda2") td2.innerHTML= arreglo[0] td3.innerHTML= arreglo[1] td4.innerHTML= arreglo[2] row.appendChild(td2); row.appendChild(td3); row.appendChild(td4); tbody.appendChild(row); } } function escogeRow(id, imagen){ var tbody = document.getElementById(id).tBodies[0]; var tdPadre = imagen.parentNode; rowPadre = tdPadre.parentNode; // document.getElementById('txtperiodo').value = rowPadre.cells[1].textContent; // document.getElementById('txtdescrip').value = rowPadre.cells[2].textContent; document.getElementById('txtperiodo').value = rowPadre.cells[1].innerHTML; // document.getElementById('txtdescrip').value = rowPadre.cells[2].innerHTML; } function escogeRow2(id, imagen){ var tbody = document.getElementById(id).tBodies[0]; var tdPadre = imagen.parentNode; rowPadre = tdPadre.parentNode; // document.getElementById('txtperiodo').value = rowPadre.cells[1].textContent; // document.getElementById('txtdescrip').value = rowPadre.cells[2].textContent; document.getElementById('txtanio').value = rowPadre.cells[1].innerHTML; document.getElementById('txtmes').value = rowPadre.cells[2].innerHTML;

Page 303: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

173

document.getElementById('txtdescrip').value = rowPadre.cells[3].innerHTML; } function cargarPera(band){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Consultapera.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("flag="+band); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != ""){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)==";") { var corte = cadena.substring(0, i); var corte2; for(j=0; j<corte.length; j++) { if(corte.charAt(j)=="|") { corte2= corte.substring(j+1, corte.length); corte=corte.substring(0, j); var arreglo = new Array (corte, corte2); crearfila('tablaDetalle',arreglo); break; } } cadena = cadena.substring(i+1, cadena.length); i= 0; } } } } } }

Page 304: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

174

function cargarPerm(band){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Consultaperm.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("flag="+band); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != ""){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)==";") { var corte = cadena.substring(0, i); var FragTexto = corte.split('|'); var arreglo = new Array (FragTexto[0], FragTexto[1], FragTexto[2]); crearfila2('tablaDetalle',arreglo); cadena = cadena.substring(i+1, cadena.length); i= 0; } } } } } } function activarPerm(id1, id2, id3){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Activapermes.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anioc="+document.getElementById(id1).value+"&mes="+document.getElementById(id2).value+"&user="+id3); ajax.onreadystatechange=function(){

Page 305: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

175

if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar //document.getElementById("cta_desc").value = ajax.responseText; cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("ACTIVACION PERIODO MENSUAL EXITOSO"); } } } function cargarPerm2(band, id1, id2, id3){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Consultaperm.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("flag="+band); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != "") { var FragTexto = cadena.split('|'); document.getElementById(id1).value = FragTexto[0]; document.getElementById(id2).value = FragTexto[1];

Page 306: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

176

document.getElementById(id3).value = FragTexto[2].substring(0, FragTexto[2].length-1); }else{ document.form1.btnactivar.disabled = true; alert("NO EXISTE PERIODO ACTIVO"); } } } } function cierraPerm(id1, id2, id3) { var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Cierrapermes.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+document.getElementById(id1).value+"&mes="+document.getElementById(id2).value+"&user="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("CIERRE DE PERIODO MENSUAL EXITOSO"); } } } function CambioPerm(id1, id2, id3, id4){

Page 307: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

177

var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Cambiapermes.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anioc="+document.getElementById(id1).value+"&mes="+document.getElementById(id2).value+"&cambio="+document.getElementById(id3).value+"&user="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar //document.getElementById("cta_desc").value = ajax.responseText; cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("CAMBIO ESTADO MENSUAL EXITOSO"); } } }

Page 308: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

178

periodos.js ruta=""; // se utiliza para paginas individuales //ruta="conta/"; // se utiliza con el contenedor function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function Consultanio(id1){ var ajax=nuevoAjax(); var cadena; ajax.open("POST", ruta+"php/Consultanio.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+document.getElementById(id1).value); ajax.onreadystatechange=function(){ if (ajax.readyState==4){

Page 309: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

179

if (trim(ajax.responseText) != "0"){ alert("PERIODO YA EXISTENTE"); document.getElementById(id1).focus(); } } } } function Creaperanual(id1, id2, id3){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Ingresaperanual.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anioc="+document.getElementById(id1).value+"&ref="+document.getElementById(id2).value+"&user="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar //document.getElementById("cta_desc").value = ajax.responseText; cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("INGRESO DE PERIODO EXITOSO"); } } } function crearfila(id,arreglo)

Page 310: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

180

{ var accion = "insert"; if (accion=="insert") { var escoge = document.createElement('IMG'); escoge.setAttribute('src', ruta+'grid/img/b_new.png'); escoge.onclick = function() { escogeRow(id, escoge) } var tabla= document.getElementById(id); var tbody = tabla.tBodies[0]; tabla.setAttribute("border","0") tabla.setAttribute("cellpadding","0") tabla.setAttribute("cellspacing","0") var row = document.createElement("TR") row.setAttribute("class","fontTabla") row.onmouseover = function () { this.bgColor='#D5F1FF'; this.style.cursor="hand"; } row.onmouseout = function () { this.bgColor='#FFFFFF'; this.style.cursor="hand"; } var td1 = document.createElement("TD") td1.appendChild(escoge) //pego el check a la celda td1.setAttribute("class","celda2") row.appendChild(td1); //pego la celda a la fina //aqui creo las filas con los datos recordando que cada posicion del arrelo es en realidad una referencia a //un objeto html var td2 = document.createElement("TD") td2.setAttribute("class","celda2") var td3 = document.createElement("TD") td3.setAttribute("class","celda2") td2.innerHTML= arreglo[0] td3.innerHTML= arreglo[1]

Page 311: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

181

row.appendChild(td2); row.appendChild(td3); tbody.appendChild(row); } } function escogeRow(id, imagen){ var tbody = document.getElementById(id).tBodies[0]; var tdPadre = imagen.parentNode; rowPadre = tdPadre.parentNode; // document.getElementById('txtperiodo').value = rowPadre.cells[1].textContent; // document.getElementById('txtdescrip').value = rowPadre.cells[2].textContent; document.getElementById('txtperiodo').value = rowPadre.cells[1].innerHTML; document.getElementById('txtdescrip').value = rowPadre.cells[2].innerHTML; } function cargarPera(band){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Consultapera.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("flag="+band); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != ""){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)==";") { var corte = cadena.substring(0, i); var corte2; for(j=0; j<corte.length; j++) { if(corte.charAt(j)=="|") {

Page 312: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

182

corte2= corte.substring(j+1, corte.length); corte=corte.substring(0, j); var arreglo = new Array (corte, corte2); crearfila('tablaDetalle',arreglo); break; } } cadena = cadena.substring(i+1, cadena.length); i= 0; } } } } } } function cargarPera2(band, id1, id2){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Consultapera.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("flag="+band); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != "") { for(j=0; j<cadena.length; j++) { if(cadena.charAt(j)=="|") { corte2= cadena.substring(j+1, cadena.length-1); cadena=cadena.substring(0, j); document.getElementById(id1).value = cadena; document.getElementById(id2).value = corte2; break; }

Page 313: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

183

} }else{ document.form1.btnactivar.disabled = true; alert("NO EXISTE PERIODO VERIFICADO"); } } } } function activarPera(id1, id2, id3) { var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Activaperanual.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+document.getElementById(id1).value+"&descrip="+document.getElementById(id2).value+"&user="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("ACTIVACION PERIODO EXITOSO"); } } } function cierraPera(id1, id2, id3) { var ajax=nuevoAjax();

Page 314: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

184

var cadena; var cadena2; ajax.open("POST", ruta+"php/Cierraperanual.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+document.getElementById(id1).value+"&descrip="+document.getElementById(id2).value+"&user="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("CIERRE DE PERIODO EXITOSO"); } } } function CambioPera(id1, id2, id3, id4) { var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/Cambioperanual.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+document.getElementById(id1).value+"&descrip="+document.getElementById(id2).value+"&cambio="+document.getElementById(id3).value+"&user="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){

Page 315: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

185

cadena = trim(ajax.responseText); if(cadena != "0|"){ for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); }else alert("CAMBIO ESTADO CONTABLE EXITOSO"); } } }

Page 316: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

186

plan_cuenta.js ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function validaCta(e) { var keynum var keychar var numcheck var dotcheck var tf = false if(e.which) // Netscape/Firefox/Opera keynum = e.which else keynum = e.keyCode // IE keychar = String.fromCharCode(keynum) numcheck = /[0-9]/ dotcheck = /./ if (numcheck.test(keychar) || (keychar==".") || (keynum==8) || (keynum==9) ) tf = true; return tf } function nuevoAjax(){

Page 317: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

187

var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function conscuenta(id1, id2, flag){ var ajax=nuevoAjax(); if (document.getElementById(id1).value != ""){ ajax.open("POST", ruta+"Consultacta.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("codcta="+document.getElementById(id1).value+"&flag="+flag); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar if (trim(ajax.responseText) == "NN"){ document.getElementById(id2).value = ""; alert("NO EXISTE CUENTA CONTABLE"); document.getElementById(id1).focus(); }else document.getElementById("cta_desc").value = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } }else document.getElementById(id2).value = ""; } function consnmn(id1,IdCta,IdOper){ var ajax=nuevoAjax(); if (document.getElementById(id1).value != ""){ ajax.open("POST", ruta+"Consultanmn.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

Page 318: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

188

ajax.send("nemonico="+document.getElementById(id1).value+"&IdCta="+document.getElementById(IdCta).value+"&IdOper="+IdOper); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar if (trim(ajax.responseText) != "NN"){ document.getElementById("nemo").value = ""; alert("NEMONICO YA EXISTENTE UTILIZE OTRO"); document.getElementById(id1).focus(); } } } } } function Creaplan(id1, id2, id3, id4, id5, id6){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Ingresacta.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("codcta="+document.getElementById(id1).value+"&clasecta="+document.getElementById(id2).value+"&nombre="+document.getElementById(id3).value+ "&presup="+document.getElementById(id4).value+"&descrip="+document.getElementById(id5).value+"&nemonico="+document.getElementById(id6).value); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar if (ajax.responseText !=" ") alert(ajax.responseText); else //alert("REGISTRO EXITOSO"); javascript:location.reload(true); } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } } //nuevo function MenuCuentas(id) { var theimage;

Page 319: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

189

var imageid; var e = document.getElementById(id); imageid = "img"+id; theimage = document.getElementById(imageid); if (e.style.display == '') { e.style.display = 'none'; theimage.src ='img/mx.png'; } else { e.style.display = ''; theimage.src = 'img/mi.png'; } } function ModificaPlan(id1, id2, id3, id4, id5, id6){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Modificacta.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("IdCta="+document.getElementById(id1).value+"&Nombre="+document.getElementById(id2).value+"&Clase="+document.getElementById(id3).value+ "&Nemo="+document.getElementById(id4).value+"&Descripcion="+document.getElementById(id5).value+"&Presupuesto="+document.getElementById(id6).value); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar if (ajax.responseText !=" ") alert(ajax.responseText); else javascript:location.reload(true); // alert("ACTUALIZACION CON EXITO"); } } } function ValidaIdCuenta(IdCuenta,IdFlag) { var BusAjax = nuevoAjax(); BusAjax.open("POST",ruta+"ConsultaId.php",true); BusAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); BusAjax.send("IdCuenta="+IdCuenta+"&IdFlag="+IdFlag); BusAjax.onreadystatechange=function() { if (BusAjax.readyState==4) { if (BusAjax.status==200) {

Page 320: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

190

registro = BusAjax.responseText; if (registro=="") { alert("Ha ocurrido un Error en la consulta del IdCuenta"); } else { if (IdFlag=="N") { // crea la cuenta document.getElementById("cuenta").value = registro; conscuenta('cuenta', 'cta_desc', '0'); document.getElementById("clase").focus(); } else { // modifica la cuenta FragTexto = registro.split('|'); document.getElementById("cuenta").value = FragTexto[0]; document.getElementById("nombre").value = FragTexto[1]; if (FragTexto[2]=="G") { document.getElementById("clase").selectedIndex="0"; } else { document.getElementById("clase").selectedIndex="1"; } document.getElementById("nemo").value = FragTexto[3]; if (FragTexto[4]=="S") { document.getElementById("presup").selectedIndex="0"; } else { document.getElementById("presup").selectedIndex="1"; } document.getElementById("descrip").value = FragTexto[5]; } }

Page 321: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

191

} } } } function ValidaDatos(IdValida) { var DivMensaje = document.getElementById("mensaje"); var txtcuenta; var txtnombre; var txtnemo; var txtdescri; txtcuenta = VerEspBla(document.getElementById("cuenta").value); txtnombre = VerEspBla(document.getElementById("nombre").value); txtnemo = VerEspBla(document.getElementById("nemo").value); txtdescri = VerEspBla(document.getElementById("descrip").value); if (txtcuenta.length==0) { DivMensaje.innerHTML = "Ingrese el Código de la Cuenta Padre"; return 0; } else if (txtnombre.length==0) { DivMensaje.innerHTML = "Ingrese el Nombre de la Nueva Cuenta"; return 0; } else if (txtnemo.length==0) { DivMensaje.innerHTML = "Ingrese el Nemonico de la Nueva Cuenta"; return 0; } else if (txtdescri.length==0) { DivMensaje.innerHTML = "Ingrese una descripción de la Nueva Cuenta"; return 0; } else { DivMensaje.innerHTML = ""; if (IdValida=="N") { // Crear Creaplan('cuenta','clase','nombre','presup','descrip','nemo'); Limpiar(); } else {

Page 322: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

192

ModificaPlan('cuenta','nombre','clase','nemo','descrip','presup'); //Actualizar } } } function VerEspBla (cadena) { cadena = cadena.replace(/(^\s*)|(\s*$)/g,""); return cadena; } function Limpiar() { document.getElementById("clase").selectedIndex="0"; document.getElementById("presup").selectedIndex="0"; document.getElementById("cuenta").value=""; document.getElementById("cta_desc").value=""; document.getElementById("nombre").value=""; document.getElementById("nemo").value=""; document.getElementById("descrip").value=""; } function ValidaIdCuenta1(IdCuenta) { var BusAjax = nuevoAjax(); BusAjax.open("POST",ruta+"ConsultaIdA.php",true); BusAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); BusAjax.send("IdCuenta="+IdCuenta); BusAjax.onreadystatechange=function() { if (BusAjax.readyState==4) { if (BusAjax.status==200) { registro = BusAjax.responseText; if (registro=="") { alert("Ha ocurrido un Error en la consulta del IdCuenta"); } else { // modifica la cuenta FragTexto = registro.split('|'); document.getElementById("txtcta").value = FragTexto[0];

Page 323: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

193

dhxWins.window('ventana').setModal(false); dhxWins.window("ventana").hide(); // close a window document.getElementById("txtcta").focus(); } } } } } function conscuenta2(id1, id2, flag){ var ajax=nuevoAjax(); if (document.getElementById(id1).value != ""){ ajax.open("POST", ruta+"Consultacta.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("codcta="+document.getElementById(id1).value+"&flag="+flag); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar if (trim(ajax.responseText) == "NN"){ document.getElementById(id2).value = ""; alert("ESTA NO ES UNA CUENTA CONTABLE"); document.getElementById(id1).focus(); document.getElementById("txtcta").value=""; }else document.getElementById("cta_desc").value = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor // document.getElementById("cta_desc").value="Procesando..."; // } } }else document.getElementById(id2).value = ""; }

Page 324: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

194

procesos.js ruta=""; // se utiliza para paginas individuales //ruta="conta/"; // se utiliza con el contenedor function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function procesoMayoriza(id1, id2, id3, id4){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/ProcesoMayoriza.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2+"&suc="+id3+"&user="+id4);

Page 325: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

195

ajax.onreadystatechange=function(){ if (ajax.readyState==4){ if (trim(ajax.responseText) == "0|") alert("PROCESO MAYORIZACION EXITOSO"); else{ cadena = ajax.responseText; for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } } function procesoPYG(id1, id2, id3, id4){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/ProcesoPYG.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2+"&suc="+id3+"&user="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ if (trim(ajax.responseText) == "0|") alert("PROCESO PERDIDAS Y GANANCIAS EXITOSO"); else{ cadena = ajax.responseText; for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } }

Page 326: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

196

error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } } function procesoPYGmes(id1, id2, id3, id4){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/ProcesoPYGmes.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2+"&suc="+id3+"&user="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ if (trim(ajax.responseText) == "0|") alert("PROCESO PERDIDAS Y GANANCIAS MENSUAL EXITOSO"); else{ cadena = ajax.responseText; for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } } function procesoBgeneral(id1, id2, id3, id4){ var ajax=nuevoAjax(); var cadena; var cadena2; ajax.open("POST", ruta+"php/ProcesoBgeneral.php", true);

Page 327: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

197

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("anio="+id1+"&mes="+id2+"&suc="+id3+"&user="+id4); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ if (trim(ajax.responseText) == "0|") alert("PROCESO BALANCE GENERAL EXITOSO"); else{ cadena = ajax.responseText; for(i=0; i<cadena.length; i++) { if(cadena.charAt(i)=="|") { cadena2= cadena.substring(i+1, cadena.length); cadena=cadena.substring(0, i); break; } } error = "ERROR: " + cadena + " MENSAJE: " + cadena2; alert(error); } } } }

tipo-doc.js ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp;

Page 328: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

198

} function grabatipo( id1, id2, id3, id4, id5){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"graba-tipo.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("txt_siglas="+id1+"&txt_descripcion="+id2+"&opt_ind_transaccional="+id3+"&opt_ind_presupuesto="+id4+"&user="+id5); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar alert(ajax.responseText); // document.getElementById("con").innerHTML = ajax.responseText; } } } // function ConsultaSumas( id1, id2, id3){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"Consulta-detalle-sumas-saldos.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // var aaaa = "firstinput="+id1+"&secondinput="+id2+"&sucursales="+id3+ "&modulo="+id4; ajax.send("periodoa="+id1+"&periodom="+id2+"&sucursal="+id3); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar document.getElementById("con").innerHTML = ajax.responseText; //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } }

Page 329: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

199

tipo-docm.js ruta="php/"; // se utiliza para paginas individuales //ruta = "conta/php/"; //se utiliza con el contenedor raiz function nuevoAjax(){ var xmlhttp=false; try{ // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } function escogedoc(id, id1, id2, id3, id4){ window.opener.document.getElementById('txt_siglas').value = id; document.getElementById('txt_descripcion').value = id1; document.getElementById('opt_ind_transaccional').value = id2; document.getElementById('opt_ind_presupuesto').value = id3; document.getElementById('estado').value = id4; } function modificatipos( id1, id2, id3, id4, id5, id6){ var ajax=nuevoAjax(); ajax.open("POST", ruta+"modifica-tipo.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("txt_siglas="+id1+"&txt_descripcion="+id2+"&opt_ind_transaccional="+id3+"&opt_ind_presupuesto="+id4+"&estado="+id5+"&user="+id6); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ //si es 4 es xq el servidor termino de procesar //document.getElementById("con").innerHTML = ajax.responseText; alert(ajax.responseText); //document.getElementById('con').innerHTML = "PRUEBA"; //cadena = ajax.responseText; //form1.con.innerhtml = ajax.responseText; } // if (ajax.readyState==2){ //si es 2 es xq aun esta procesando el servidor

Page 330: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

200

// document.getElementById("cta_desc").value="Procesando..."; // } } }

Util.js function validaNum(id1) { var num; var numcheck; numcheck = /^[0-9]+(,[0-9]+)*$/; num = document.getElementById(id1).value; // numcheck.test(keychar) if (document.getElementById(id1).value != ""){ if (!numcheck.test(num)){ alert("CANTIDAD NO VALIDA"); setTimeout('document.form1.txtvalor.focus()',75); // document.getElementById('txtvalor').focus(); return 1; } } } function Visible(id){ document.getElementById(id).style.visibility = "visible"; } function Invisible(id){ document.getElementById(id).style.visibility = "hidden"; } function trim(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)==" ") cadena=cadena.substring(i+1, cadena.length); else

Page 331: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

201

break; } for(i=cadena.length-1; i>=0; i=cadena.length-1) { if(cadena.charAt(i)==" ") cadena=cadena.substring(0,i); else break; } return cadena; } function extrae(cadena) { for(i=0; i<cadena.length; ) { if(cadena.charAt(i)=="|") { cadena=cadena.substring(0, i-1); break; } } } function formatCurrency(num) { num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+ num.substring(num.length-(4*i+3)); return (((sign)?'':'-') + num + '.' + cents); }

Page 332: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

202

carga.js function cargaDatos(){ div = document.getElementById("procesando"); div.style.display = ''; }

function terminaDatos(){ div = document.getElementById("procesando"); div.style.display='none'; }

Page 333: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

203

CAPITULO 2

2.1 MANUAL DE USUARIO DEL SISTEMA

2.1 Ingreso al Módulo Contable

Para ingresar al Módulo Contable lo hacemos desde cualquier

Navegador, entre ellos tenemos: Internet Explorer o Mozilla Firefox,

Opera.

FIGURA 1 Ingreso al Módulo Contable

En la barra de direcciones del Navegador escriba la siguiente

dirección:

http://localhost/business_gestor

http://127.0.0.1/business_gestor

Si el Sistema está ubicado en otro computador tendrá que escribir la ip

del servidor donde está la aplicación, siguiendo el siguiente modelo:

http://NombredelServidor/business_gestor

Page 334: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

204

Pantalla inicial Modulo Contable

Manejo del Menú

FIGURA 2 Pantalla inicial Modulo Contable

Opciones principales del menú del Módulo de Contabilidad.

Este icono representa que hay dentro de esta opción más

opciones

Este icono es el que tiene la opción con la cual se va a trabajar.

Page 335: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

205

FIGURA 3 Menu del Sistema

2.2 Mantenimiento

Opción donde se podrá ingresar, modificar según sea el caso de

mantenimiento a los Documentos, Periodos Contables, Periodos

Mensuales y Plan de Cuentas.

2.2.1 Documentos

Los documentos con los que trabaja la empresa, sean estos

Comprobantes de Egreso, Comprobantes de Ingreso, Diario,

etc, se podrán hacer las siguientes transacciones:

Crea Documento

Para el ingreso de un nuevo Documento. en el campo Tipo se

ingresara dos letras que corresponde a las siglas del

Documento, a continuación digitará en el casillero Descripción

Page 336: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

206

el nombre del Documento, en Indicador Transaccional podrá

seleccionar si es Transaccional Normal el Documento o es

Corriente (documento no transaccional) más bien es referencial.

En Indicador Presupuestario, si el Documento afecta o no al

Presupuesto.

FIGURA 4 Crea Documento

Dar click en el botón Guardar si se va a guardar el nuevo

documento, y saldrá un mensaje como el que sigue:

FIGURA 5 ALERTA

Page 337: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

207

Modifica Documento

Para modificar un Documento

Se le mostrará la siguiente pantalla, donde podrá seleccionar

que Documento es el que va a modificar, dándole click con el

mouse en la estrellita amarilla.

FIGURA 6 Modifica Documento

Se harán las modificaciones que les sea permitida y luego dar

click con el mouse en el botón Modificar y quedarán grabados

las modificaciones

Page 338: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

208

FIGURA 7 Modifica Documento

Page 339: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

209

2.2.2 Plan de Cuentas

Permite ingresar Cuentas dentro de grupos mayores a los que

llamaremos padre, permite ingresar grupos a los que

llamaremos grupos.

Ingreso Plan de Cuentas

Permite ingresar todo el Plan de Cuentas con los niveles que

requiera el Contador o la empresa, permitirá a grupos de

cuentas tener hijos cuentas las que se necesiten.

Para el ingreso del Plan de Cuentas se le mostrará al costado

derecho un cuadro conteniendo un árbol, de donde podrá

seleccionar el padre de la cuenta o grupo que quiera crear, al

seleccionar la cuenta padre el código de la cuenta padre

seleccionado se pone automáticamente en el casillero Cuenta

Padre, y abajo se describe el nombre de la cuenta Padre, a

continuación en el casillero Clase seleccionara si la cuenta es

una cuenta o un grupo de cuentas, se escribirá el casillero

nombre con el nombre de la cuenta, se escribe el campo

nemonico, el cual es una combinación de letras, las cuales no

deben estar repetidas, esto lo controlará el mismo sistema, se

llenará el campo descripción, y su Naturaleza podrá seleccionar

entre Deudora y Acreedora.

Terminar dándole doble click con el mouse en el botón Guardar.

Page 340: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

210

FIGURA 8 Plan de Cuentas

Modificar Plan de Cuentas

Podrá modificar solo los campos permitidos, y luego presionar

el botón Actualizar para grabar la modificación.

FIGURA 9 Plan de Cuentas

Page 341: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

211

2.2.3 Periodo Contable

Ingreso Periodo Contable

Ingrese el nuevo año y la descripción del Periodo Contable

como por ejemlo PERIODO CONTABLE 2010 y por último

presionar el botón Guardar.

FIGURA 10 Ingreso Periodo Contable

Page 342: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

212

Activar Periodo Contable

Para activar un Período Contable, se le mostrará la siguiente

pantalla de donde seleccionará el periodo contable que va a

activar dándole doble click con el mouse en la estrellita

amarilla, y la información automáticamente pasa a los casilleros

de año y descripción y se activa la pantalla que se muestra al

fondo, para luego presionar el botón Activar y quedará grabada

Activo el Período.

FIGURA 11 Activar Periodo Contable

Page 343: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

213

FIGURA 12 Activar Periodo Contable

Si es que el Periodo Mensual anterior estuviera en estado

Postergado, primero tendrá que ser cerrado para poder Activar

el Periodo Contable del siguiente año.

FIGURA 13 Activar Periodo Contable

Cambio de Estado Contable

Para cambiar el Estado a Postergado o Verificado, un Estado se

cambia a postergado cuando se quiere trabajar con el siguiente

periodo mensual sin haber cerrado el anterior.

El Estado es Verificado, cuando ya se va a proceder con el

Cierre del Periodo. Solamente podrá cambiar de estado al

periodo Activo.

Page 344: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

214

Para cambiar el Estado se le mostrará la siguiente pantalla, de

donde seleccionará con el mouse en el icono de la estrellita

amarilla, y esta información automáticamente activa la pantalla

de al fondo y la información es pasada a los casilleros

respectivos y se seleccionará el Estado a cambiar.

FIGURA 14 Cambio de Estado Contable

Page 345: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

215

Y dar click en el botón Cambiar, y se le mostrará el siguiente

mensaje.

FIGURA 15 Cambio de Estado Contable

Cierre Periodo Contable

Un periodo contable se cierra cuando ya no se va a ingresar, ni

se va a cambiar mas nada en ese periodo, porque una vez

cerrado ya no podrá realizar ningún cambio, ni aumento de

diarios.

Para cerrar el Periodo Contable, debe de estar cerrado todos

los meses del año que se quiere cerrar, para luego proceder a

seleccionar el icono de la estrellita amarilla y continuamente

presionar el botón Cerrar.

FIGURA 16 Cierre Periodo Contable

Page 346: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

216

2.2.4 Periodo Mensual

Son los meses del año que corresponden a un Periodo

Contable

.

Ingreso Periodo Mensual

Para ingresar un periodo mensual, debe de haber creado

primero el Periodo Anual al que le va a ingresar el periodo

mensual. Le saldrá la siguiente pantalla, en donde seleccionará

en el icono de la estrellita amarilla el Periodo Contable al cual le

va a ingresar el periodo mensual.

FIGURA 17 Ingreso Periodo Mensual

Page 347: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

217

Si el periodo mensual a crear ya existiera, saldrá el siguiente

mensaje de error:

FIGURA 18 Ingreso Periodo Mensual

Deberá Ingresar a continuación la descripción del Periodo

Mensual que se va a crear y dar click en el botón Ingresar.

FIGURA 19 Ingreso Periodo Mensual

Page 348: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

218

Si el periodo mensual a crear ya existe, entonces le saldrá la

siguiente pantalla:

FIGURA 20 Ingreso Periodo Mensual

Caso contrario saldrá el siguiente mensaje:

FIGURA 21 Ingreso Periodo Mensual

Activar Periodo Mensual

Para activar un Período Mensual, se le mostrará la siguiente

pantalla de donde seleccionará el periodo mensual que va a

activar dándole doble click con el mouse en la estrellita

amarilla, y la información automáticamente pasa a los casilleros

de año y descripción y se activa la pantalla que se ve al fondo,

para luego presionar el botón Activar y quedará grabada Activo

el Período.

Page 349: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

219

FIGURA 22 Activar Periodo Mensual

Page 350: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

220

Cambio Estado Periodo Mensual

Un Estado se cambia a postergado cuando se quiere trabajar

con el siguiente periodo mensual sin haber cerrado el anterior.

El Estado es Verificado, cuando ya se va a proceder con el

Cierre del Periodo. Solamente podrá cambiar de estado al

periodo Activo.

Para cambiar el Estado se le mostrará la siguiente pantalla, de

donde seleccionará con el mouse en el icono de la estrellita

amarilla, y esta información automáticamente activa la pantalla

de al fondo y la información es pasada a los casilleros

respectivos y se seleccionará el Estado a cambiar.

FIGURA 23 Cambio Estado Periodo Mensual

Page 351: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

221

Cierre Periodo Mensual

Un periodo mensual se cierra cuando ya no se va a ingresar, ni

se va a cambiar mas nada en ese periodo, porque una vez

cerrado ya no podrá realizar ningún cambio, ni aumento de

diarios en ese periodo.

Para cerrar seleccione el periodo dándole doble click en el icono

de la estrellita amarilla, se le activará la pantalla que se muestra

al fondo y continuamente presionar el botón Cerrar.

FIGURA 24 Cierre Periodo Mensual

Page 352: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

222

FIGURA 25 Cierre Periodo Mensual

No puede volver a cerrar un mes porque al cerrar el mes, uno

de los procesos que se realiza es pasar toda la información a

una tabla histórica, entonces le saldrá el siguiente mensaje de

error:

FIGURA 26 Cierre Periodo Mensual

Page 353: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

223

2.3 Ciclo Contable

Asientos de Diario

Aquí ingresará los asientos de Diario Normales, Asientos Iniciales, de

Cierre y de Regularización, si es que el Sistema ha sido adquirido con

todos los módulos, estos asientos son generados por cada uno de los

módulos que genera la transacción. Fr lo contrario los podrá ingresar

mediante esta opción.

FIGURA 27 Asientos de Diario

A continuación se dará una explicación detallada de cada campo a

ingresar en esta pantalla:

Seleccione el Tipo de Asiento que se va a registrar entre los

mencionados anteriormente y seleccione la Sucursal:

Page 354: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

224

FIGURA 28 Asientos de Diario

Luego ingresamos la fecha, para esto contamos con un pequeño

calendario que se muestra al lado, Si al ingresar la fecha se presenta

un mensaje de fecha no corresponde a periodos activos, es porque la

fecha no corresponde a periodos (meses) activos, por ejemplo si el

periodo contable es 2010, nos va a dar error si es que ingresamos la

fecha 25/01/2009, o si el periodo de febrero ya está cerrado e

ingresamos la fecha 14/02/2019.

Si existe el caso del que nos da el error y la fecha corresponde a un

periodo (mes ) dentro del periodo contable(anual) actual, verificar en la

opción de Periodo Mensuales, el Estado del Periodo que el mes este

activo.

FIGURA 29 Asientos de Diario

Page 355: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

225

Seleccionamos el Tipo de Documento que se va a ingresar:

FIGURA 30 Asientos de Diario

Digitamos la cuenta contable al último nivel disponible que es la

cuenta, por ejemplo 1.2.2.2

De lo contrario podrá dar click en el icono de la lupa y se le mostrará el

Plan de Cuentas en forma de árbol. Se puede buscar la cuenta

dandole click al grupo de donde pertenece la cuenta, bajando de

niveles hasta llegar al ultimo nivel disponible de la cuenta que se

busca, una vez encontrado seleccionamos con el mouse dandole

doble click y automáticamente el nombre de la cuenta y su código

aparecerá en la pantalla para su contabilización.

Page 356: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

226

FIGURA 31 Asientos de Diario

A continuación se ingresa la afectación de la transacción, si es al Debe

o al Haber.

FIGURA 32 Asientos de Diario

En el campo Afectación Presupuestaria se debe ingresar si el detalle

tiene o no afectación presupuestaria, esto es para la integración con

el Módulo Presupuestarios, si es que lo tuviera .

En el campo de valor ingresar el monto de la transacción.

Page 357: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

227

En el campo Glosa se debe ingresar el detalle de la transacción

FIGURA 33 Asientos de Diario

Y presionar el botón Adicionar:

Al presionar este botón la información ingresada se adiciona a la tabla

de abajo en forma horizontal y se continuará ahí mismo con el ingreso

del siguiente registro, se volverá a hacer con los mismos pasos visto.

Se podrá adicionar los registros que necesite al debe o al haber, lo

que importa es que la suma del debe deberá ser igual a la suma del

haber, esto significará que está cuadrado y se le mostrará un visto al

lado de la palabra CUADRADO y podrá ser guardado.

Para ingresar un asiento el periodo al que se le va a ingresar debe de

estar en estado Activo, caso contrario saldrá el siguiente mensaje de

error y no le permitirá grabar.

Page 358: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

228

FIGURA 34 Asientos de Diario

Si todo estuvo bien, entonces le sale el siguiente mensaje:

FIGURA 35 Asientos de Diario

Page 359: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

229

2.4 Reportes

2.4.1 Libros

Libro Diario General

FIGURA 36 Libro Diario General

Page 360: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

230

Si desea saber mas información de la transacción puede darle

doble click al icono de la lupa, y podrá visualizar el asiento en

mas detalle, por ejemplo le damos click en la lupa del asiento 3,

nos mostrará la siguiente pantalla:

FIGURA 37 Libro Diario General

Si desea originar un archivo de esta consulta lo puede hacer en

formato de Excel y formato de csv, para conseguir esto dele

click en el icono de Excel y se le abrirá la pantalla de dialogo en

el cual podrá tomas cualquiera de las dos alternativas: La una

de abrir el archivo directamente en Excel o la otra de guardar el

archivo en Excel para ser revisado posteriormente.

FIGURA 38 Libro Diario General

Page 361: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

231

Si elige abrir con Excel le saldrá el siguiente mensaje a lo cual

presionará el botón Si.

FIGURA 39 Libro Diario General

Y se le abrirá el archivo generado en Excel como sigue:

FIGURA 40 Libro Diario General

Page 362: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

232

De esta manera saldrá si el archivo se lo genera en formato csv:

FIGURA 41 Libro Diario General

De la misma manera como se generó el archivo en Excel y el

formato csv, se lo hará en donde usted vea estas opciones.

A continuación hemos pedido generar el reporte de todo el mes

en un archivo en Excel:

FIGURA 42 Libro Diario General

Page 363: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

233

Presione el botón Si.

FIGURA 43 Libro Diario General

El Libro Diario en formato Excel:

FIGURA 44 Libro Diario General

Page 364: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

234

Comprobante de Diario

Para imprimir el Comprobante de Diario, tenemos esta barra de

herramiento en la opción de Reportes – Libros - Asientos de

Diario, se ingresa los parámetros como lo vimos anteriormente y

al presionar el botón consultar le saldrá esta barra de

herramientas de donde usted presionará el icono que dice en

Excel COMPROBANTE DE DIARIO.

De esta manera nos saldrá el Comprobante de Diario:

FIGURA 45 Libro Diario General

Page 365: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

235

Libro Mayor

Para imprimir el Libro Mayor debe de ingresar año, el mes,

Sucursal y Cuenta Contable a requerida y luego presionar

evisualizar el Mayor si es que lo desea especifico por cuenta, de

lo contrario no ponga nada en este casillero.

FIGURA 46 Libro Mayor

Page 366: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

236

Como todos los reportes usted lo podrá generar en Excel o en

formato csv, de la misma manera ya indicada.

FIGURA 47 Libro Mayor

Presione el botón Si para abrir el archivo.

Page 367: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

237

Si la consulta del mayor no fue por una sola cuenta, entonces

visualizará todos los mayores y de todas manera siempre

recuerde que cuenta con las herramientas propias del

navegador.

FIGURA 48 Libro Mayor

Page 368: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

238

2.4.2 Estados Financieros

Balance Comprobación Sumas y saldos

Para consultar el Balance de Comprobación de Sumas y Saldos

deberá ingresar el año, el mes y la Sucursal requerida y luego

presionar el botón Consulta, el cual mostrará el Reporte

solicitado.

FIGURA 49 Balance Comprobación Sumas y saldos

Page 369: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

239

Visualización del Balance de Comprobación de Sumas y

Saldos:

FIGURA 50 Balance Comprobación Sumas y saldos

Page 370: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

240

Balance General

Para consultar el Balance General, deberá ingresar el año, el

mes y la Sucursal requerida y luego presionar el botón

Consulta, el cual mostrará el Reporte solicitado.

FIGURA 51 Balance Comprobación Sumas y saldos

Page 371: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

241

Visualización del Balance General Clasificado:

FIGURA 52 Balance Comprobación Sumas y saldos

Page 372: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

242

Estado de Pérdidas y Ganancias Acumulado

Para imprimir el Estado de Pérdidas y Ganancias Acumulado

debe de ingresar el año, el mes y la Sucursal requerida y luego

presionar el botón Consulta, el cual mostrará el Reporte

solicitado.

FIGURA 53 Estado de Pérdidas y Ganancias Acumulado

Page 373: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

243

Estado de Pérdidas y Ganancias Mensual

Para imprimir el Estado de Pérdidas y Ganancias Mensual debe

de ingresar el año, el mes y la Sucursal requerida y luego

presionar el botón Consulta, el cual mostrará el Reporte

solicitado.

FIGURA 54 Estado de Pérdidas y Ganancias Mensual

Page 374: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

244

Si desea originar un archivo lo puede hacer en formato de Excel

y formato de csv, para conseguir esto dele click en el icono de

Excel y se le abrirá la pantalla de dialogo en el cual podrá tomas

cualquiera de las dos alternativas:

La una de abrir el archivo directamente en Excel o la otra de

guardar el archivo en Excel para ser revisado posteriormente.

FIGURA 55 Estado de Pérdidas y Ganancias Mensual

Siempre que vea esta pantalla presione el botón Si.

Page 375: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

245

Visualización del archivo en formato de Excel del Estado de

Pérdidas y Ganancias Mensual.

FIGURA 56 Estado de Pérdidas y Ganancias Mensual

Page 376: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

246

Balance de Situación Inicial

Balance Comprobación Sumas y saldos Consolidado

Para imprimir el Balance General Consolidado debe de ingresar

el año y el mes requerido.

FIGURA 57 Balance Comprobación Sumas y saldos

Consolidado

Page 377: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

247

Se imprimirá en pantalla el Reporte, el cual como todos los

demás Reportes puede generarse a Excel o a formato csv.

FIGURA 58 Balance Comprobación Sumas y saldos

Consolidado

Page 378: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

248

Estado de Pérdidas y Ganancias Consolidado

Para imprimir el Estado de Pérdidas y Ganancias Consolidado

debe de ingresar el año y el mes requerido.

FIGURA 59 Estado de Pérdidas y Ganancias Consolidado

Page 379: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

249

Se imprimirá en pantalla el Reporte, el cual como todos los

demás Reportes puede generarse a Excel o a formato csv.

FIGURA 60 Estado de Pérdidas y Ganancias Consolidado

Page 380: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

250

Balance General Consolidado

Para imprimir el Balance General Consolidado debe de ingresar

el año y el mes requerido.

Se imprimirá en pantalla el Reporte, el cual como todos los

demás Reportes puede generarse a Excel o a formato csv.

FIGURA 61 Balance General Consolidado

Page 381: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

251

2.5 Procesos Contables

Mayorización

Este proceso actualizará los Saldos del Libro Mayor. Debe ingresar el

año, el mes y la Sucursal

FIGURA 62 Mayorización

Page 382: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

252

Pérdidas y Ganancias Mensual

Este proceso actualizará los Saldos del Estado de Pérdidas y

Ganancias Mensual. Debe ingresar el año, el mes y la Sucursal

FIGURA 63 Pérdidas y Ganancias Mensual

Page 383: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

253

Proceso de Estado de Pérdidas y Ganancias Acumulado

Este proceso actualizará los Saldos del Estado de Pérdidas y

Ganancias Acumulado hasta el año y mes que desee. Debe ingresar

el año, el mes y la Sucursal a generar el Estado de Pérdidas y

Ganancias Acumulado.

Mensajes de error

FIGURA 64 Proceso de Estado de Pérdidas y Ganancias

Acumulado

Page 384: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

254

Balance General

Este proceso actualizará los Saldos del Balance General. Debe

ingresar el año, el mes y la Sucursal a generar el Balance General.

FIGURA 65 Balance General

Page 385: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

255

GLOSARIO DE TÈRMINOS

ACTIVO.- Es el conjunto de segmento, cuantificable, de los beneficios

económicos futuros fundamentalmente esperados y controlados por

una entidad, representados por efectivos, derechos. Bienes o servicio

como consecuencia de transacciones pasadas o de otros eventos

ocurridos.

AJUSTE.- Apunte contable necesario para conseguir el correcto

registro contable de una operación que previamente adolecia de

errores, cualquiera que fuera su naturaleza.

AJUSTAR.- Corregir mediante un Diario las distintas cuentas que

intervienen en el ajuste.

ASIENTO.- Registro de transacciones en cuentas deudoras y en

cuentas acreedoras.

DEBE.- En el debe se registran todos los valores que se reciben,

ingresan o entran a cada una de las cuentas,

HABER.- En el haber se registran todos los valores que entregan,

egresan o salen de cada una de las cuentas.

Page 386: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

256

PASIVO.- Es el conjunto de segmento, cuantificable, de las

obligaciones presentes de una entidad particular, virtualmente

ineludibles, de transferir efectivo, bienes o servicio en el futuro a otras

entidades, como consecuencia de transacciones o eventos pasados.

REGISTRO CONTABLE.- Cada una de las anotaciones de las que se

vale para reflejar las operaciones asociadas al desempeño de una

actividad mercantil.

CAPITAL.- Es el rubro que representa a la inversión o al aporte de los

socios o empresarios, al margen de otros valores patrimoniales, sobre

los cuales puedan tener derecho, como las Reservas legales y las

utilidades no distribuidas.

Page 387: UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas …repositorio.ug.edu.ec/bitstream/redug/6790/1/Tesis... · 2017-10-22 · X CAPÍTULO 2 ANALISIS 29 2.1 Diagramas de Casos

257

BIBLIOGRAFÌA

Libros

Contabilidad General, octava edición, por Mercedes Bravo Valdiviezo

Contabilidad tomo 6, por Ing. Alejandro Zuñiga

Sitios de Páginas Web

www.monografia.com

www.manualdephp.com

www.desarrolloweb.com

www.mysql.com

www.javascript,com

www.php.com