TOMO 2 - Repositorio CISC

Anuncio
I
UNIVERSIDAD DE GUAYAQUIL
Facultad de Ciencias Matemáticas y Físicas
Carrera de Ingeniería en Sistemas
Computacionales
“Módulo Financiero para el Control Empresarial Orientado al
Mercado PYMES aplicando Tecnología RIA con Herramientas
Open Source”
PROYECTO DE TESIS DE GRADO
CURSO DE GRADUACIÓN
Previo a la Obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
Autor(es):
Sr. Maximo Alexis Asanza Quezada
Sra. Karina Alexandra Franco Farías
Sr. Raúl Gabriel Ríos León
GUAYAQUIL-ECUADOR
Año: 2010
Módulo Financiero
II
AGRADECIMIENTO
A mis padres,
A mi hermana
Maximo Alexis Asanza Quezada
Módulo Financiero
III
AGRADECIMIENTO
Agradezco a Dios por
darme
salud, fortaleza y
tolerancia a lo largo de todo este camino recorrido.
A mis compañeros de
proyecto de graduación,
Maximo Asanza y Gabriel Ríos, por brindarme su
apoyo con sus consejos y conocimientos.
A mis profesores
que dieron lo mejor de sí para
formar cada día buenos profesionales.
Finalmente un agradecimiento muy especial a mi
gran amigo el
Ing. Israel Ortega por
la ayuda
brindada para culminar con éxito este proyecto de
Graduación.
Gracias infinitas, gracias a todos ustedes
Karina Alexandra Franco Farías
Módulo Financiero
IV
AGRADECIMIENTO
Le doy gracias a Dios por estar en cada acto
de mi vida, por darme la fortaleza en momentos
difíciles.
Agradezco a mi familia por comprender lo mucho
que hago por estar aquí, brindándome el apoyo y
cariño que necesitaba.
A mi mamá por apoyarme en todo momento;
los buenos y los malos, por el ánimo, la colaboración
pero sobre todo con el amor de madre y sus consejos
para mi superación en esta vida competitiva.
Raúl Gabriel Ríos León
Módulo Financiero
V
DEDICATORIA
A mis padres,
A mi hermana
Maximo Alexis Asanza Quezada
Módulo Financiero
VI
DEDICATORIA
Le
dedico
este
Proyecto
de
Grado
a mis
padres, el Sr. Amanio Franco y a la Sra. Mercedes
Farías quienes con su esfuerzo, dedicación y apoyo
incondicional supieron guiarme a lo largo de mi
vida
profesional, brindándome su amor y sabios
consejos para poder culminar con éxito mi educación
superior.
A mi esposo el Dr. Veterinario Alfredo Véliz y
a mi hija
Nathaly
Véliz porque siempre están a
mi lado apoyándome, porque son la inspiración
de cada día y por ellos estoy dando lo mejor de mí.
A quien fue mi segunda madre, mi Tía Norma
Farías y a mi Tío César Serrano.
Finalmente a mis
hermanos
Fernando
Franco,
Raquel Franco y Eliana Serrano por estar a mi lado
incondicionalmente y por ser una luz en mi camino.
Para ustedes mis éxitos
Karina Alexandra Franco Farías
Módulo Financiero
VII
DEDICATORIA
Dedico
este
Proyecto
de
Grado
a
mi
señora madre que me ha preparado el camino,
sin obstáculos de por medio para que pueda
seguirlo.
A ella que ha sabido dar el todo por el todo a
sus
hijos,
por
todos estos
años
que ha sido
y será una madre excepcional.
Raúl Gabriel Ríos León
Módulo Financiero
VIII
TRIBUNAL DE GRADUACIÓN
Presidente Tribunal
2do. Vocal
Módulo Financiero
1er. Vocal
Secretario
IX
DECLARACIÓN EXPRESA
“La autoría de la tesis de grado corresponde exclusivamente al suscrito(s),
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)
Maximo Alexis Asanza Quezada
[email protected]
Karina Alexandra Franco Farías
[email protected]
Raúl Gabriel Ríos León
[email protected]
Módulo Financiero
X
INTRODUCCIÓN
Este manual se diseñó para los usuarios del sistema Business Gestor del
Módulo Financiero, en éste encontrara toda la información concerniente a las
funciones que brinda este sistema, desde su ingreso hasta la ejecución de un
proceso determinado, además del manejo y un paseo guiado por las distintas
pantallas del navegador web en el cual podrá hacer ingresos, consultas,
generar reportes, ubicar los recursos económicos, manejo de bancos,
cuentas, créditos, débitos, análisis de índices y razones financieras, etc.
Este manual técnico explica detalladamente lo mencionado y el uso de los
mismos en forma didáctica.
El manual, es sólo para usuarios del módulo financiero, no contiene
información de los otros módulos que intervienen en el E.R.P.
Para mayor comprensión del usuario se ilustra la información con gráficas
que muestran las mismas pantallas que se despliegan en el sitio web.
El ingreso desde el menú de bienvenida nos lleva a la pantalla donde se
encuentran los diferentes módulos que intervienen en el E.R.P., para luego
escoger la opción del menú “Financiero”, del cual se despliega la gama de
procesos que realiza el módulo pudiendo así escoger de entre ellos el
deseado.
Módulo Financiero
XI
ÍNDICE GENERAL
AGRADECIMIENTO ....................................................................................... II
DEDICATORIA ............................................................................................... V
TRIBUNAL DE GRADUACIÓN .................................................................... VIII
DECLARACIÓN EXPRESA ........................................................................... IX
ÍNDICE GENERAL ........................................................................................ XI
ÍNDICE ILUSTRACIONES ...........................................................................XV
MANUAL DE USUARIO ................................................................................. 1
1 MÓDULO FINANCIERO ............................................................................ 2
1.1
BANCO ................................................................................................ 3
1.2
MANTENIMIENTOS BANCOS. ..................................................................... 4
1.2.1 Entidades Bancarias ..................................................................... 5
1.2.2 Cuentas Bancarias ........................................................................ 8
1.2.3 Tipo de Notas Bancarias ............................................................. 14
1.2.4 Tipo de Protestos ........................................................................ 18
1.2.5 Procesos Bancarios .................................................................... 23
1.2.6 Depósitos Generales................................................................... 24
1.2.7 Notas de Crédito ......................................................................... 27
1.2.8 Notas de Débito .......................................................................... 31
Módulo Financiero
XII
1.2.9 Conciliación Bancaria.................................................................. 36
1.2.10 Transferencias ............................................................................ 41
1.2.11 Depósito Caja Banco Efectivo ..................................................... 44
1.2.12 Depósito Caja Banco Cheque ..................................................... 48
1.2.13 Registro Cheques Protestados en Depósito ............................... 52
1.2.14 Reportes Bancarios..................................................................... 56
1.2.15 Movimientos Bancarios ............................................................... 57
1.2.16 Conciliaciones Realizadas .......................................................... 61
1.2.17 Saldos Bancarios ........................................................................ 64
1.3
RAZONES FINANCIERAS ......................................................................... 68
1.3.1 Reporte de Razones Financieras ................................................ 68
1.3.2 Índices Financieros ..................................................................... 69
1.3.3 Mantenimientos Razones Financieras ........................................ 74
1.3.4 Razones Financieras .................................................................. 74
1.3.5 Grupos Razones Financieras...................................................... 81
1.4
REPORTES COMPARATIVOS .......................................................... 88
1.4.1 Balance General Comparativo .................................................... 88
1.5
ESTADO DE RESULTADO COMPARATIVO ................................................. 95
MANUAL TÉCNICO ................................................................................... 102
2 MANUAL TÉCNICO ............................................................................... 103
2.1
DICCIONARIO DE DATOS ...................................................................... 103
2.1.1 Tablas del Diagrama Entidad Relación (DER). ......................... 104
Módulo Financiero
XIII
2.1.2 Tablas de las Razones Financieras .......................................... 116
2.1.3 Tablas Temporales ................................................................... 119
2.2
NOMENCLATURA DE OBJETOS UTILIZADOS. ............................................ 121
2.2.1 Tablas ....................................................................................... 121
2.2.2 Campos..................................................................................... 122
2.2.3 Constraints ................................................................................ 122
2.2.4 Clases – Paginas ...................................................................... 123
2.3
SCRIPT DE CREACIÓN DE TABLAS. ....................................................... 124
2.3.1 Scripts de creación de tablas de Bancos .................................. 124
2.4
CODIFICACIÓN DE LOS COMPONENTES ................................................. 136
2.4.1 Configurando la Conexión......................................................... 136
2.4.2 Clases y Programacion de Bancos. .......................................... 138
2.4.3 Clases y Programación Razones Financieras .......................... 206
2.4.4 Clases y Programación Balance General Comparativo. ........... 214
2.5
LIBRERÍAS USADAS EN LAS PÁGINAS DE PRESENTACIÓN. ..... 220
2.5.1 Jquery. ...................................................................................... 220
2.5.2 Dhtmlx. ...................................................................................... 220
2.5.3 Meio código. .............................................................................. 221
2.6
LIBRERÍAS CREADAS PARA EL PROYECTO. ........................................... 222
2.6.1 Creador de ventanas................................................................. 222
2.6.2 Creador de mensajes de dialogo. ............................................. 223
2.7
DIAGRAMAS DE FLUJO DE DATOS. ........................................................ 227
Módulo Financiero
XIV
2.8
DIAGRAMA DE ITERACIÓN O SECUENCIA................................................ 230
2.8.1 Bancos ...................................................................................... 230
2.8.2 Diagrama de Secuencia Depósitos ........................................... 231
2.8.3 Diagrama de Secuencia Notas de Crédito/ Debito. ................... 231
2.8.4 Diagrama de Secuencia Transferencias. .................................. 232
2.8.5 Anulaciones. ............................................................................. 233
2.8.6 Conciliación bancaria. ............................................................... 234
2.8.7 Reportes Bancarios................................................................... 235
2.8.8 Razones Financieras. ............................................................... 236
2.8.9 Secuencia Reportes Financieros. ............................................ 237
Módulo Financiero
XV
ÍNDICE ILUSTRACIONES
1. Pantalla de Bienvenida ............................................................................... 2
Ilustración 2. Pantalla de bienvenida Entidades Bancarias............................. 5
3. Entidades Bancarias - Botón Nuevo -> Ingreso .......................................... 6
4. Entidades Bancarias - Botón Buscar .......................................................... 7
5. Entidades Bancarias - Botón Imprimir -> PDF ............................................ 8
6. Pantalla Bienvenida Cuentas Bancarias ..................................................... 9
7. Cuentas Bancarias - Botón Nuevo -> Ingreso ............................................ 9
8. Cuentas Bancarias - Botón Buscar ........................................................... 11
Ilustración 9. Cuentas Bancarias - Editar Banco ........................................... 12
10. Cuentas Bancarias - Editar Cuenta......................................................... 12
11. Cuentas Bancarias - Botón Imprimir ....................................................... 14
12. Pantalla Bienvenida Tipo de Notas Bancarias ........................................ 15
13. Tipo de Notas Bancarias - Seleccionar Editar y luego Guardar .............. 15
14. Tipo de Notas Bancarias - Botón Nueva Nota ........................................ 16
15. Tipo de Notas Bancarias - Nuevo -> Seleccionar Cuenta Contable ....... 17
16. Tipo de Notas Bancarias - Botón Guardar Nota...................................... 17
17. Tipo de Notas Bancarias - Botón Imprimir .............................................. 18
18. Pantalla Bienvenida Tipo de Protestos ................................................... 19
19. Tipo de Protestos - Botón Nuevo -> Pantalla Llenar ............................... 20
20. Tipo de Protestos - Botón Guardar Cambios .......................................... 20
Módulo Financiero
XVI
21. Tipo de Protestos - Botón Consultar -> Seleccionar Tipo Nota............... 21
22.Tipo de Protestos - Editar Nota -> Seleccionar Cargo A .......................... 21
23. Tipo de Protestos - Edición -> Guarda Cambios..................................... 22
24. Tipo de Protestos - Botón Imprimir ......................................................... 22
25. Pantalla Procesos Bancarios .................................................................. 23
26. Pantalla de inicio a Depósitos Generales................................................ 24
27. Botón Procesar - Seleccionar Cuenta ..................................................... 25
28. Botón Procesar - Seleccionar Cuenta Contable...................................... 26
29. Botón Procesar - Guardar Cambios ........................................................ 27
30. Pantalla de Bienvenida Notas de Crédito ............................................... 28
31. Notas de Crédito - Seleccionar Cuenta ................................................... 29
32. Notas de Crédito - Seleccionar Tipo Nota y Sucursal ............................. 29
33. Notas de Crédito - Ver Registro .............................................................. 30
34. Notas de Crédito - Botón Guardar .......................................................... 31
35. Pantalla Bienvenida notas de Débito ...................................................... 32
36. Notas de Débito - Seleccionar Cuenta y Sucursal .................................. 33
37. Notas de Débito - Seleccionar Tipo Nota y Fecha .................................. 33
38. Notas de Débito - Botón Guardar............................................................ 34
39. Notas de Débito - Botón Imprimir ............................................................ 35
40. Notas de Débito - Botón Anular Documento ........................................... 35
41. Pantalla Bienvenida Conciliación Bancaria ............................................. 36
42. Conciliación Bancaria - Opciones a Escoger .......................................... 37
Módulo Financiero
XVII
43. Conciliación Bancaria - Subir Archivo ..................................................... 38
44. Conciliación Bancaria - Saltar este Paso ................................................ 38
45. Conciliación Bancaria - Elegir Cuenta a Conciliar ................................... 39
46. Conciliación Bancaria - Seleccionar Fecha ............................................. 39
47. Conciliación Bancaria - Botón Conciliar .................................................. 41
48. Pantalla de Bienvenida Transferencias................................................... 42
49. Transferencias - Seleccionar Sucursal ................................................... 42
50. Transferencias - Botón Guardar.............................................................. 44
51. Pantalla Bienvenida Depósito Caja Banco Efectivo ................................ 45
52. Depósito Caja Banco Efectivo - Seleccionar Cuenta Bancaria ............... 45
53. Depósito Caja Banco Efectivo - Seleccionar Sucursal ............................ 46
54. Depósito Caja Banco Efectivo - Botón Procesar -> Alerta ...................... 47
55. Pantalla Bienvenida Depósito Caja Banco Cheques .............................. 48
56. Depósito Caja Banco Cheques - Seleccionar Cuenta............................. 49
57. Depósito Caja Banco Cheques - Seleccionar Sucursal .......................... 49
58. Depósito Caja Banco Cheques - Visto Bueno Seleccionando el Check . 50
59. Depósito Caja Banco Cheques - Botón Procesar ................................... 51
60. Pantalla de bienvenida Registro Cheques Protestados en Depósito ...... 52
61. Registro Cheques Protestados en Depósito - Seleccionar Sucursal ...... 53
62. Registro Cheques Protestados en Depósito - Seleccionar Cheques ...... 54
63. Registro Cheques Protestados en Depósito - Seleccionar Tipo de Cargos
...................................................................................................................... 54
Módulo Financiero
XVIII
64. REPORTES BANCARIOS ...................................................................... 56
65. Pantalla Bienvenida Movimientos Bancarios .......................................... 57
66. Movimientos Bancarios - Seleccionar Cuenta......................................... 58
67. Movimientos Bancarios - Seleccionar Desde .......................................... 58
68. Movimientos Bancarios - Seleccionar el Tipo de Movimiento ................. 58
69. Movimientos Bancarios - Seleccionar Sucursal ...................................... 59
70. Movimientos Bancarios - Seleccionar Naturaleza del Movimiento .......... 59
71. Movimientos Bancarios - Botón Consultar -> Consulta ........................... 60
72. Movimientos Bancarios - Botón Imprimir ................................................ 60
73. Movimientos Bancarios - Botón Exportar A Cvs o Excel ......................... 61
74. Pantalla Bienvenida Conciliaciones Realizadas...................................... 62
75. Conciliaciones Realizadas - Seleccionar Cuenta .................................... 62
76. Conciliaciones Realizadas - Botón Imprimir ............................................ 63
77. Conciliaciones Realizadas - Botón Exportar A Excel o Cvs .................... 64
78. Pantalla Bienvenida Saldos Bancarios ................................................... 65
79. Saldos Bancarios - Consulta Directa ...................................................... 65
80. Saldos Bancarios - Botón Imprimir.......................................................... 66
81. Saldos Bancarios - Botón Exportar a Excel o Cvs .................................. 67
82. Pantalla Bienvenida Reporte de Razones Financieras ........................... 69
83. Índices Financieros - Seleccionar Periodo .............................................. 70
84. Índices Financieros - Seleccionar Periodo y Desde ................................ 70
Ilustración 85. Índices Financieros - Botón Generar -> Todos ...................... 71
Módulo Financiero
XIX
Ilustración 86. Índices Financieros -> Generar -> Ver Gráfica ...................... 72
Ilustración 87. Índices Financieros - Botón Imprimir ..................................... 73
Ilustración 88. Índices Financieros - Botón Exportar a Excel o Cvs .............. 73
Ilustración 89. MANTENIMIENTOS RAZONES FINANCIERAS ................... 74
Ilustración 90. Pantalla Bienvenida Razones Financieras ............................ 75
Ilustración 91. Razones Financieras Grupo .................................................. 75
Ilustración 92. Razones Financieras - Botón Nuevo Grupo .......................... 76
Ilustración 93. Razones Financieras - Seleccionar Grupo y Objetivo ........... 76
Ilustración 94. Razones Financieras - Editor de Formulas............................ 77
Ilustración 95. Razones Financieras - Editor de Formulas -> Guardar ......... 78
Ilustración 96. Razones Financieras - Editar -> Botón Guardar .................... 79
Ilustración 97. Razones Financieras - Botón Procesar Búsqueda ................ 79
Ilustración 98. Razones Financieras - Botón Imprimir................................... 80
Ilustración 99. Razones Financieras - Botón Exportar A Excel o Cvs ........... 80
Ilustración 100. Razones Financieras - Editar Registros .............................. 81
Ilustración 101. Pantalla Bienvenida Grupos Razones Financieras .............. 82
Ilustración 102. Grupos Razones Financieras - Editar Razón Financiera ..... 83
Ilustración 103. Grupos Razones Financieras - Edición ............................... 83
Ilustración 104. Grupos Razones Financieras - Editar -> Botón Guardar ..... 84
Ilustración 105. Grupos Razones Financieras - Botón Nuevo ...................... 84
Ilustración 106. Grupos Razones Financieras - Nuevo -> Botón Guardar .... 85
Ilustración 107. Grupos Razones Financieras - Botón Buscar ...................... 85
Módulo Financiero
XX
Ilustración 108. Grupos Razones Financieras - Botón Imprimir .................... 86
Ilustración 109. Grupos Razones Financieras - Botón Exportar a Excel o Cvs
...................................................................................................................... 87
Ilustración 110. Pantalla Bienvenida Balance General Comparativo ............ 89
Ilustración 111. Balance General Comparativo - Ingreso Datos ................... 89
Ilustración 112. Balance General Comparativo - Botón Nuevo ..................... 90
Ilustración 113. Balance General Comparativo - Botón Reporte Horizontal . 91
Ilustración 114. Balance General Comparativo - Reporte Vertical ................ 91
Ilustración 115. Balance General Comparativo - Botón Exportar A Excel o Pdf
...................................................................................................................... 92
Ilustración 116. Balance General Comparativo - Ejemplo Exportar a Excel . 92
Ilustración 117. Balance General Comparativo - Botón Gráfico -> Pestaña
Activo ............................................................................................................ 93
Ilustración 118. Balance General Comparativo - Botón Gráfico -> Pestaña
Pasivo ........................................................................................................... 93
Ilustración 119. Balance General Comparativo - Botón Gráfico -> Pestaña
Patrimonio ..................................................................................................... 94
Ilustración 120. Balance General Comparativo - Botón Imprimir .................. 94
Ilustración 121. Pantalla Bienvenida Estado de Resultado Comparativo...... 95
Ilustración 122. Estado de Resultado Comparativo - Botón Nuevo ->
Seleccionar Sucursal .................................................................................... 97
Módulo Financiero
XXI
Ilustración 123. Estado de Resultado Comparativo - Botón Reporte ->
Presentación Vertical .................................................................................... 97
Ilustración 124. Estado de Resultado Comparativo - Botón Exportar A Pdf o
Excel ............................................................................................................. 98
Ilustración 125. Estado de Resultado Comparativo - Botón Exportar ->
Ejemplo ......................................................................................................... 99
Ilustración 126. Estado de Resultado Comparativo - Botón Exportar ->
Ejemplo Excel ............................................................................................. 100
Ilustración 127. Estado de Resultado Comparativo - Botón Imprimir .......... 101
Ilustración 128. Conciliación Bancaria ........................................................ 227
Ilustración 130. Reportes ............................................................................ 228
Ilustración 129. DFD Reportes Financieros ................................................ 228
Ilustración 131. . DFD de los Reportes – Razones Financieras .................. 229
Ilustración 132. Diagrama de Secuencia Bancos........................................ 230
Ilustración 4. Diagrama de Secuencias Depósitos ...................................... 231
Ilustración 134. Diagrama Secuencia Notas ............................................... 231
Ilustración 135. Diagrama Secuencias Transferencias ............................... 232
Ilustración 136. Diagrama Secuencia Anulaciones ..................................... 233
Ilustración 137. Diagrama Secuencia Conciliación Bancaria ...................... 234
Ilustración 138. Secuencia reportes Bancarios ........................................... 235
Ilustración 139. Diagrama Secuencia Razones .......................................... 236
Ilustración 140. Diagrama Secuencia Reportes .......................................... 237
Módulo Financiero
XXII
ÍNDICE DE TABLAS
Tabla 1 Entidad: fin_banco ......................................................................... 104
Tabla 2 Entidad: fin_banco_cheques_devueltos......................................... 105
Tabla 3 Entidad: fin_banco_conciliacion ..................................................... 106
Tabla 4 Entidad: fin_banco_cuenta............................................................. 107
Tabla 5 Entidad: fin_banco_detalla ............................................................. 108
Tabla 6 Entidad: fin_banco_detalle_movimiento......................................... 109
Tabla 7 Entidad: fin_banco_movimientos ................................................... 111
Tabla 8 Entidad: fin_banco_notasdebcheques ........................................... 112
Tabla 9 Entidad: fin_banco_tipo_cuenta ..................................................... 113
Tabla 10 Entidad: fin_banco_tipo_movimiento ........................................... 114
Tabla 11 Entidad: fin_tipo_nota .................................................................. 115
Tabla 12 Entidad: fin_formulas ................................................................... 117
Tabla 13 Entidad:fin_grupo_razones .......................................................... 118
Tabla 14 Entidad: fin_cuentas_totales ........................................................ 119
Tabla 15 Entidad: fin_cuentas_totales_temp .............................................. 120
Módulo Financiero
MANUAL DE USUARIO
2
1 Módulo Financiero
Para acceder al ERP Business Gestor debemos acceder a la dirección
Web del servidor que contiene a nuestro Módulo Financiero, como se
aprecia en la Ilustracion 1. Pantalla de Bienvenida.
Ejemplo: http//192.168.0.1/BG26-02-2010/BG/index.php
Posteriormente el sistema nos pedirá autenticarnos, es decir; solicitara
ingreso de un usuario y una contraseña.
Ilustración 1. Pantalla de Bienvenida
Usuario: Se ingresa el usuario según el nombre de identificación de
acceso proporcionado por seguridades.
Contraseña: Clave proporcionada por el módulo de seguridades para el
respectivo acceso al sitio Web.
Módulo Financiero
3
1.1 BANCO
El E.R.P. permite que EL MÓDULO funcione en forma independiente o
integrado con otros módulos del mismo sistema, tiene capacidad para
manejar:
o Tantas EMPRESAS como número de combinaciones se pueden
formar con los dígitos alfanuméricos.
o Un sin número de ENTIDADES BANCARIAS O GRUPOS
CREDITICIOS, por cada Empresa.
o Tantas CUENTAS BANCARIAS por cada una de las Entidades
Bancarias, el límite de número de cuentas bancarias será el que
la organización desee.
El módulo interactúa automáticamente con otros módulos, tales como
Contabilidad,
Cuentas
por
Pagar,
Caja,
Facturación,
etc.
Todo
dependiendo de los módulos generales disponibles dentro del Sistema
Integrado Business Gestor.
Módulo Financiero
4
1.2 Mantenimientos Bancos.
Este componente permite al usuario crear un mantenimiento
preventivo o correctivo establecido oficialmente por el software,
pudiendo enlazar estas a un sistema o categoría de cuenta.
Los mantenimientos se gestionan de forma completamente manual
por medio de pantalla y se puede incluir en ellos cualquier tipo de
cuenta, con el control de números de cuenta;
Las cuentas de
mantenimiento pueden agruparse por tipos de cuenta.
Es posible asignar varias cuentas a una entidad crediticia,
codificables mediante las respectivas tablas creadas para el mismo
trabajo.
Permite realizar mantenimientos, en espera de confirmación por
parte del administrador.
Módulo Financiero
5
Entre sus principales funciones encontramos las siguientes:
1.2.1
Entidades Bancarias
Es el conjunto de entidades o instituciones que, dentro
de
una economía determinada, prestan el servicio de banco.
Seleccionamos desde el menú de módulos la presente opción
para que nos lleve automáticamente a la pantalla “buscar”, la
imagen muestra una barra de menú (toolbar), y el ingreso de
datos que se requieren para generar una consulta, creación o
modificación de una entidad bancaria.
Ilustración 2. Pantalla de bienvenida Entidades Bancarias
Botón Nuevo: Nos lleva a una nueva ventana para ingreso de
datos para poder identificar la nueva institución crediticia.
Módulo Financiero
6
Código: Lo da el sistema automáticamente al guardar.
Ruc: Número de identificación fiscal obligatorio.
Nombre: Razón Social de la institución bancaria.
Dirección: Ubicación de la institución.
País: Nación de la institución.
Provincia: Demarcación de la institución.
Ciudad: Localidad de la institución.
Teléfono: Número para poder contactar a la institución.
Teléfono-Fax: Número para envío de documentos
Web Site: Página Oficial en internet para banca en línea
e-mail: Dirección de correo electrónico para comunicación.
Observación: Ingreso de datos alternativos de la institución.
Ilustración 3. Entidades Bancarias - Botón Nuevo -> Ingreso
Módulo Financiero
7
Botón Buscar: Esta opción permite buscar la institución
bancaria, sea esta por código o nombre.
Nos permite la edición o eliminación de la información por
medio de la opción ubicada en la parte derecha de la
presentación buscada.
Ilustración 4. Entidades Bancarias - Botón Buscar
Botón Imprimir: La opción permite imprimir a formato PDF.
Para así poder almacenar el documento en físico y respaldo en
archivos sin que pueda ser manipulado electrónicamente.
Módulo Financiero
8
Ilustración 5. Entidades Bancarias - Botón Imprimir -> PDF
1.2.2
Cuentas Bancarias
Una cuenta bancaria es un contrato financiero con una entidad
bancaria en virtud del cual se registran el balance y los
subsiguientes movimientos de dinero del cliente.
Existen diferentes tipos de cuentas bancarias, como las cuentas
corrientes, para efectuar las operaciones bancarias del día a
día, o las cuentas de ahorro para encomendar la custodia de
fondos de un cliente.
Seleccionamos desde el menú de módulos la presente opción
para que nos lleve automáticamente a la pantalla “buscar”, la
imagen muestra una barra de menú (toolbar), y el ingreso de
Módulo Financiero
9
datos que se requieren para generar una consulta, creación o
modificación de una entidad bancaria.
Ilustración 6. Pantalla Bienvenida Cuentas Bancarias
Botón Nuevo: Nos lleva a una nueva ventana para ingreso de
datos para poder identificar la nueva institución crediticia.
Ilustración 7. Cuentas Bancarias - Botón Nuevo -> Ingreso
Módulo Financiero
10
Pestaña Cuenta
Código: Generado automáticamente por el sistema.
Número de cuenta: Ingreso según código suministrado por el
Banco.
Banco: Identificación de la institución según Base de Datos.
Cuenta Contable: Para la respectiva partida doble en la
contabilidad.
Fecha de Apertura: Creación o reapertura de la cuenta.
Nombre de Cuenta: Según sea el caso lo da el origen de la
cuenta.
Secuencia de Cheque (Siguiente): Número en que inicia o
reinicia un determinado Cheque.
Titular: Identificación de quién es el dueño de la cuenta.
Nota: Datos adicionales para ingresar, de darse el caso.
Pestaña Contacto
Contacto: Identifica a la persona encargada de la cuenta
(Oficial).
Teléfono: Número para contactar al oficial de cuenta.
Teléfono-Fax: Número para envío de correspondencia.
Módulo Financiero
11
Cargo: Ocupación de la persona que atiende la cuenta en el
banco.
Comentario: Cualquier comentario adicional para referirse al
contacto.
Botón Buscar: Genera automáticamente la búsqueda de la
información como también si lo desea por especificación de la
institución o nombre de cuenta.
Ilustración 8. Cuentas Bancarias - Botón Buscar
Se tiene también la edición o eliminación del registro según
vemos a continuación.
Módulo Financiero
12
Ilustración 9. Cuentas Bancarias - Editar Banco
La edición puede ser desde la pestaña Cuenta como también la
del Contacto.
Ilustración 10. Cuentas Bancarias - Editar Cuenta
Pestaña Cuenta
Código: Generado automáticamente por el sistema.
Número de cuenta: Ingreso según código suministrado por el
Banco.
Módulo Financiero
13
Banco: Identificación de la institución según Base de Datos.
Cuenta Contable: Para la respectiva partida doble en la
contabilidad.
Fecha de Apertura: Creación o reapertura de la cuenta.
Nombre de Cuenta: Según sea el caso lo da el origen de la
cuenta.
Secuencia de Cheque (Siguiente): Número en que inicia o
reinicia.
Titular: Identificación de quién es el dueño de la cuenta.
Nota: Datos adicionales para ingresar, de darse el caso.
Pestaña Contacto
Contacto: Identifica a la persona encargada de la cuenta en la
institución crediticia (Oficial de cuenta).
Teléfono: Número para contactar al oficial de cuenta.
Teléfono-Fax: Número para envío de correspondencia.
Cargo: Ocupación de la persona que atiende la cuenta en el
banco (oficial de cuenta, cajero o administrador).
Comentario: Cualquier comentario adicional para referirse al
contacto en la misma institución crediticia de la cuenta.
Módulo Financiero
14
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF.
Ilustración 11. Cuentas Bancarias - Botón Imprimir
1.2.3
Tipo de Notas Bancarias
Entre los principales documentos bancarios de esta clase
tenemos dos, que son notas de crédito y notas de débito, son
créditos o débitos debido a las diferentes transacciones que se
realizan en el día a día de una organización.
Seleccionamos desde el menú de módulos la opción para que
nos lleve a la pantalla “consultar”, la imagen muestra una barra
de menú (toolbar), y el ingreso de datos que se requieren para
generar una consulta, creación o modificación de una nota
bancaria.
Módulo Financiero
15
Ilustración 12. Pantalla Bienvenida Tipo de Notas Bancarias
Botón Nuevo: Crea una nueva Nota, sea esta según las
especificaciones ingresadas.
Ilustración 13. Tipo de Notas Bancarias - Seleccionar Editar y
luego Guardar
Módulo Financiero
16
Notas: Puede ser de Crédito o de Débito bancario.
Ilustración 14. Tipo de Notas Bancarias - Botón Nueva Nota
Descripción: Se puede definir un identificador o glosa para
describir el movimiento.
Contabilidad: Se identifica la Cuenta Contable que identifica la
Nota Bancaria.
Módulo Financiero
17
Ilustración 15. Tipo de Notas Bancarias - Nuevo -> Seleccionar
Cuenta Contable
Botón Guardar: Almacena la Nota según la creación.
Ilustración 16. Tipo de Notas Bancarias - Botón Guardar Nota
Módulo Financiero
18
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF.
Ilustración 17. Tipo de Notas Bancarias - Botón Imprimir
1.2.4
Tipo de Protestos
El protesto de un cheque es el acto que permite acreditar en la
forma prevista por ley que se ha producido una negativa del
firmante a pagar en esa fecha; en el caso de que el cheque
haya de sido mal endosado o falta de firma, como también falta
de fondos una vez llegado el momento del vencimiento, sea
cual sea el modo en que éste se haya fijado es un protesto.
Ingresamos desde el menú de módulos a la presente opción
para que nos lleve automáticamente a la pantalla “consultar”, la
imagen muestra una barra de menú (toolbar), y el ingreso de
Módulo Financiero
19
datos que se requieren para generar una consulta, creación o
modificación
del
documento
que
fue
devuelto
en
un
determinado momento.
Ilustración 18. Pantalla Bienvenida Tipo de Protestos
Botón Nuevo: Permite crear e identificar un cheque o
documento que esté protestado por la institución crediticia.
Descripción: Se desea el ingreso específico del porqué se
protestó el documento, no ha simple vista sino en concreto y al
detalle.
Cargo A: Se desea saber quién se equivoco o hizo mal
utilización del documento, dentro de la organización.
Módulo Financiero
20
Ilustración 19. Tipo de Protestos - Botón Nuevo -> Pantalla
Llenar
Botón Guardar: Permite almacenar las razones por las que fue
protestado el documento.
Ilustración 20. Tipo de Protestos - Botón Guardar Cambios
Módulo Financiero
21
Botón Consultar: Se puede consultar por 2 métodos
mostrados, Descripción y Tipo Notas, en esta última tenemos
las originadas por el cliente e internas a nuestra institución.
Ilustración 21. Tipo de Protestos - Botón Consultar ->
Seleccionar Tipo Nota
Icono Edición: Podemos editar la información de ser
necesario, se lo hace ubicando el cursor a la derecha de la
opción a editar, luego nos envía a una ventana para su edición.
I
Ilustración 22.Tipo de Protestos - Editar Nota -> Seleccionar
Cargo A
Módulo Financiero
22
Botón Guardar: Nos permite almacenar los cambios realizados
en la edición del tipo de protesto.
Ilustración 23. Tipo de Protestos - Edición -> Guarda Cambios
Botón Imprimir: Esta opción permite imprimir o exportar el
documento en formato PDF, para su almacenamiento físico.
Ilustración 24. Tipo de Protestos - Botón Imprimir
Módulo Financiero
23
1.2.5
Procesos Bancarios
El ingreso desde el menú de módulos a la presente opción, nos
lleva automáticamente a la pantalla de Inicio luego a “Depósitos
Generales”, la imagen mostrará una barra de menú (toolbar), y el
ingreso de datos que se requieren para generar un depósito y a la
vez consulta, así como la modificación del documento que fue
creado en un determinado momento.
Ilustración 25. Pantalla Procesos Bancarios
Módulo Financiero
24
1.2.6
Depósitos Generales
Depósito Bancario de Dinero: es un contrato con el cual el
depositante entrega una suma de dinero a una institución de
crédito para su guarda y custodia.
Ilustración 26. Pantalla de inicio a Depósitos Generales.
Área Depósitos
Cuenta: Se escoge de entre las diferentes instituciones
bancarias existentes en la empresa, además de que estén en
buen funcionamiento y generen procesos.
Módulo Financiero
25
Ilustración 27. Botón Procesar - Seleccionar Cuenta
Número del documento: Identificación del documento, ingresado
manualmente, para concordancia de registros.
Sucursal: Se escoge una de todas las sucursales existentes y
activas registradas por la organización a nivel nacional.
Fecha: Día en que se crea o creo dicha transacción para su
registro.
Total: Cantidad extraída según datos solicitados por esta
página.
Son: Descripción del mismo “Total” pero en letras, para seguir
estándar.
Concepto: Breve reseña de lo que se desea registrar en la
transacción.
Módulo Financiero
26
Ilustración 28. Botón Procesar - Seleccionar Cuenta Contable
Área Detalle Depósitos
Cuenta: Identifica la institución en la que se depósito según
valor.
Descripción: Indica las cuentas contables que intervinieron en la
transacción.
Debe: Indica la entrada a la cuenta "bancos".
Haber: Indica la salida de las cuentas "intervenidas".
Módulo Financiero
27
Botón Procesar: Indica si desea Aceptar las transacciones
hechas para poder ser almacenadas en la Base de Datos.
Ilustración 29. Botón Procesar - Guardar Cambios
1.2.7
Notas de Crédito
Las notas de crédito son documentos que se emiten para anular
operaciones, aceptar devoluciones y conceder descuentos o
bonificaciones.
Ingresamos desde el menú de módulos a la presente opción
para que nos lleve automáticamente a la pantalla “consultar”, la
imagen muestra una barra de menú (toolbar), y el ingreso de
Módulo Financiero
28
datos que se requieren para generar una consulta, creación o
modificación
del
documento
que
fue
devuelto
en
un
determinado momento.
Ilustración 30. Pantalla de Bienvenida Notas de Crédito
Área Nota de Crédito
Cuenta: En este campo seleccionamos la institución bancaria
que interviene en esta transacción.
Módulo Financiero
29
Ilustración 31. Notas de Crédito - Seleccionar Cuenta
Sucursal: Escogemos una de las diferentes sucursales activas
de la empresa.
Ilustración 32. Notas de Crédito - Seleccionar Tipo Nota y
Sucursal
Tipo de Nota: Escogemos el tipo de entre las permitidas por el
sistema
Fecha: Día en que se hace la transacción.
Documento #: Identificación con que se registra el documento.
Módulo Financiero
30
Valor: Cantidad en cifras de lo que se va gestionar.
Observación: Ingreso de una descripción del porqué se generó
dicha nota de crédito.
Ilustración 33. Notas de Crédito - Ver Registro
Área Contabilidad
Cuenta: Identifica la cuenta según el Plan de Cuentas de
Contabilidad, se lo puede apreciar bajo el ingreso de los Datos
en el sector “Contabilidad”.
Descripción: Describe en sí la cuenta Contable que interviene
en la transacción siendo esta siempre para el DEBE la cuenta
“banco” y varía para el Haber
Debe: Identifica las cantidades que ingresan a la cuenta Banco.
Haber: Identifica las cuentas que salieron para entrar a la
cuenta Banco.
Módulo Financiero
31
Botón Guardar: Permite Almacenar la transacción realizada,
de estar aprobada por el sistema pasa a la base de datos para
su respectiva consulta en lo posterior.
Ilustración 34. Notas de Crédito - Botón Guardar
1.2.8
Notas de Débito
Es un comprobante que el banco envía a su cliente, en la que
se le notifica haber cargado o debitado en su cuenta una
determinada suma o valor, por el concepto que se indica en la
misma nota. Este documento incrementa el valor de la deuda o
saldo de la cuenta, ya sea por un error en la facturación, interés
por mora en el pago, o cualquier otra circunstancia que
signifique el incremento del saldo de la cuenta.
Ingresamos desde el menú de módulos a la presente opción
para que nos lleve automáticamente a la pantalla “crear”, la
Módulo Financiero
32
imagen muestra una barra de menú (toolbar), y el ingreso de
datos que se requieren para generar una creación o
modificación del documento que fue emitido en un determinado
momento.
Ilustración 35. Pantalla Bienvenida notas de Débito
Área Nota de Débito
Cuenta: En este campo seleccionamos la institución bancaria
que interviene en esta transacción.
Módulo Financiero
33
Ilustración 36. Notas de Débito - Seleccionar Cuenta y
Sucursal
Sucursal: Escogemos una de las diferentes sucursales activas
de la empresa.
Tipo de Nota: Escogemos el tipo de entre las permitidas por el
sistema
Ilustración 37. Notas de Débito - Seleccionar Tipo Nota y
Fecha
Fecha: Día en que se hace la transacción.
Documento #: Identificación con que se registra el documento.
Módulo Financiero
34
Valor: Cantidad en cifras de lo que se va gestionar
Saldo Banco: Cantidad que se encuentra en el banco según
movimientos en el sistema business_gestor.
Observación: Pequeña descripción de lo que se realiza en la
transacción, sólo para identificar cómo y por qué.
Botón Guardar: Permite Almacenar la transacción realizada,
de estar aprobada por el sistema pasa a la base de datos para
su respectiva consulta en lo posterior.
Ilustración 38. Notas de Débito - Botón Guardar
Área Contabilidad
Cuenta: Identifica la cuenta según el Plan de Cuentas de
Contabilidad, se lo puede apreciar bajo el ingreso de los Datos
en el sector “Contabilidad”.
Módulo Financiero
35
Descripción: Describe en sí la cuenta Contable que interviene
en la transacción siendo esta siempre para el DEBE la cuenta
“banco” y varía para el Haber.
Debe: Identifica las cantidades que ingresan a la cuenta Banco.
Haber: Identifica las cuentas que salieron para entrar a la
cuenta Banco.
Ilustración 39. Notas de Débito - Botón Imprimir
Ilustración 40. Notas de Débito - Botón Anular Documento
Módulo Financiero
36
1.2.9
Conciliación Bancaria
La conciliación bancaria es un proceso que permite confrontar y
conciliar los valores que la empresa tiene registrados, de una
cuenta de ahorros o corriente, con los valores que el banco
suministra por medio del extracto bancario
Ingresamos desde el menú de módulos a la presente opción
para que nos lleve automáticamente a la pantalla “subida de
archivo”, la imagen muestra una barra de menú (toolbar), y el
ingreso de archivo que se requiere para generar la creación o
modificación de la conciliación.
Ilustración 41. Pantalla Bienvenida Conciliación Bancaria
Módulo Financiero
37
Procesar Conciliación: Esta pantalla nos permite muchas
opciones para crear una conciliación, los métodos Subir Archivo
o Saltar este paso, no requieren de mucho conocimiento ni
esfuerzo, las interfaz le permitirá a continuación aprender las 2
maneras.
Ilustración 42. Conciliación Bancaria - Opciones a Escoger
Browse: Permite buscar el archivo emitido por el banco para
poder corroborar las transacciones que se hicieron a través de
un determinado tiempo.
Módulo Financiero
38
Ilustración 43. Conciliación Bancaria - Subir Archivo
Saltar este Paso: Requiere información detallada de lo que
existe en nuestro sistema, ya que no se tiene un archivo emitido
por la institución crediticia para su respectiva conciliación.
Ilustración 44. Conciliación Bancaria - Saltar este Paso
Nos trae a la presente página para hacer una concordancia de
las transacciones realizadas.
Módulo Financiero
39
Ilustración 45. Conciliación Bancaria - Elegir Cuenta a Conciliar
Cuenta: Permite elegir a una de las instituciones bancarias que
deseamos conciliar.
Conciliación Anterior: Trae del sistema automáticamente la
conciliación inmediata anterior para poder ser analizada.
Fecha Ec.: Tiempo en que se genera la conciliación con horario
de ecuador.
Ilustración 46. Conciliación Bancaria - Seleccionar Fecha
Saldo en Banco: Trae el valor existente y actual del Saldo hasta
la fecha.
Saldo a Conciliar: Valor que se ha generado desde la base.
Módulo Financiero
40
Mes: Extraído automáticamente del sistema, de ser el caso o
modificarse para ver qué mes se va a conciliar.
Año: Extraído automáticamente del sistema de, ser el caso
modificarse para ver qué año se va a conciliar.
Total conciliado: Valor que se genera a través de un cálculo
generado por la misma página según datos almacenados.
Diferencia: Valor que se genera a través del cálculo de la
página y que permite saber el grado de error y concordancia
con la banca.
Fecha: Fecha en que se generó la transacción.
No. documento: Identificación con la que se almacenó la
transacción.
Concepto: El motivo por el cual se generó la transacción.
Sucursal: Lugar de donde se generó la transacción.
Tipo: Qué tipo de entrada o salida se generó
Operación: Si fue de alguna salida o entrada.
Valor: Cantidad con la que se generó dicha transacción.
Botón Guardar: Permite Almacenar la conciliación realizada,
de estar aprobada por el sistema pasa a la base de datos para
su respectiva consulta en lo posterior.
Módulo Financiero
41
Ilustración 47. Conciliación Bancaria - Botón Conciliar
1.2.10
Transferencias
Operación por la que por orden de un cliente de una entidad
bancaria se produce el traspaso de una determinada cantidad
de dinero que el cliente tiene depositado en una cuenta en ese
banco a otra cuenta de la misma institución financiera o de otra
distinta, y por lo que la entidad puede cobrar a su cliente una
comisión en concepto de gastos de transferencia.
Ingresamos desde el menú de módulos a la presente opción
para
que
nos
lleve
automáticamente
a
la
pantalla
“transferencias”, la imagen muestra una barra de menú
(toolbar), y el ingreso de datos que se requiere para generar la
transferencia entre cuentas.
Módulo Financiero
42
Ilustración 48. Pantalla de Bienvenida Transferencias
Área Transferencia
Sucursal: Escogemos una de las diferentes sucursales activas
de la empresa y en funcionamiento de operaciones.
Ilustración 49. Transferencias - Seleccionar Sucursal
Número
del
Documento:
ingresado manualmente
Módulo Financiero
Identificación
del
documento,
43
Cuenta Origen: Entidad o cuenta en donde se encuentra el
dinero a ser trasladado o transferido.
Cuenta Destino: Entidad o cuenta en donde se traslada o recibe
lo transferido.
Monto: Cantidad que se ingresa manualmente para ser
transferida.
Saldo: Cantidad que le que a la cuenta que fue debitada.
Fecha: Tiempo en que se genera la transacción.
Son: Cantidad generada automáticamente por el sistema en
letras.
Concepto: El por qué del monto trasladado.
Área Detalle Contabilidad
Cuenta: Número de cuenta o Institución que fue afectada con el
giro del débito
Descripción: Breve descripción de la transacción, cuenta banco.
Debe: Cantidad que ingresó.
Haber: Cantidad que egresó.
Botón Guardar: Permite Almacenar la transferencia realizada,
de estar aprobada por el sistema según datos visualizados en
Módulo Financiero
44
pantalla, pasa a la base de datos para su respectiva consulta en
lo posterior.
Ilustración 50. Transferencias - Botón Guardar
1.2.11
Depósito Caja Banco Efectivo
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “depósitos”, la imagen
muestra una barra de menú (toolbar), y el ingreso de datos que
se requiere para generar un depósito a la institución financiera
seleccionada para este fin.
Módulo Financiero
45
Ilustración 51. Pantalla Bienvenida Depósito Caja Banco
Efectivo
Área Depósitos
Cuenta: Se escoge de entre las diferentes instituciones
bancarias que se encuentren en funcionamiento con las
cuentas.
Ilustración 52. Depósito Caja Banco Efectivo - Seleccionar
Cuenta Bancaria
Módulo Financiero
46
Número del documento: Identificación del documento, ingresado
manualmente por el usuario.
Sucursal: Se escoge una de todas las sucursales existentes y
activas.
Ilustración 53. Depósito Caja Banco Efectivo - Seleccionar
Sucursal
Fecha: Día en que se crea o creo dicha transacción para su
registro.
Total: Cantidad extraída según datos solicitados y registros de
esta página.
Son: Descripción del mismo “Total” pero en letras, para seguir
estándar.
Concepto: Breve reseña de lo que se desea registrar en la
transacción.
Módulo Financiero
47
Área Detalle Depósitos
Traer Movimientos: Extrae los registros que están registrados
para el respectivo depósito.
Visto bueno: Si se desea depositar se lo selecciona y va
sumando al "Total".
Nombre: La cuenta que es la emisora del efectivo para ser
llevado al banco.
Fecha: Tiempo en que se generó la transacción.
Contabilidad: Cuenta contable afectada.
Saldo: Cantidad en que se ve el valor del depósito de cada una
de las cuentas seleccionadas por medio del visto bueno.
Botón Procesar: Una vez ingresado los datos se verifica que
todos los campos requeridos estén llenos para validarlos,
teniendo estos se hace el respectivo proceso de depósito.
Ilustración 54. Depósito Caja Banco Efectivo - Botón Procesar
-> Alerta
Módulo Financiero
48
1.2.12
Depósito Caja Banco Cheque
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “depósitos”, la imagen
muestra una barra de menú (toolbar), y el ingreso de datos que
se requiere para generar un depósito a la institución financiera
seleccionada para este fin.
Ilustración 55. Pantalla Bienvenida Depósito Caja Banco
Cheques
Módulo Financiero
49
Área Depósitos
Cuenta: Se escoge de entre las diferentes instituciones
bancarias que se encuentren en funcionamiento con las
cuentas.
Ilustración 56. Depósito Caja Banco Cheques - Seleccionar
Cuenta
Número del documento: Identificación del documento, ingresado
manualmente por el usuario.
Sucursal: Se escoge una de todas las sucursales existentes y
activas.
Ilustración 57. Depósito Caja Banco Cheques - Seleccionar
Sucursal
Módulo Financiero
50
Fecha: Día en que se crea o creo dicha transacción para su
registro.
Total: Cantidad extraída según datos solicitados y registros de
esta página.
Son: Descripción del mismo “Total” pero en letras, para seguir
estándar.
Concepto: Breve reseña de lo que se desea registrar en la
transacción.
Área Detalle Depósitos
Traer Movimientos: Extrae los registros que están registrados
para el respectivo depósito.
Visto bueno: Si se desea depositar se lo selecciona y va
sumando al "Total".
Ilustración 58. Depósito Caja Banco Cheques - Visto
Bueno Seleccionando el Check
Módulo Financiero
51
Nombre: La cuenta que es la emisora del efectivo para ser
llevado al banco.
Fecha: Tiempo en que se generó la transacción.
Contabilidad: Cuenta contable afectada.
Saldo: Cantidad en que se ve el valor del depósito de cada una
de las cuentas seleccionadas por medio del visto bueno.
Botón Procesar: Una vez ingresado los datos se verifica que
todos los campos requeridos estén llenos para validarlos,
teniendo estos se hace el respectivo proceso de depósito, se
almacenan los registros para su futura consulta.
Ilustración 59. Depósito Caja Banco Cheques - Botón Procesar
Módulo Financiero
52
1.2.13
Registro Cheques Protestados en Depósito
Es común que a una empresa lleguen cheques sin fondos o con
cualquier otro problema que luego son devueltos por el banco,
debiendo la empresa registrar este hecho en la contabilidad.
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “registro”, la imagen
muestra una barra de menú (toolbar), y el ingreso de datos que
se requiere para generar un registro a la institución financiera
seleccionada para este fin.
Ilustración 60. Pantalla de bienvenida Registro Cheques
Protestados en Depósito
Módulo Financiero
53
Sucursal: Se escoge una de todas las sucursales existentes y
activas.
Ilustración 61. Registro Cheques Protestados en Depósito Seleccionar Sucursal
Número Documento del Banco: Se ingresa según informe
emitido por el banco, en el mismo existe el número del
documento.
Ingreso Depósitos: Aquí se encuentra según datos guardados y
registrados los distintos depósitos realizados para ir asignando
la concordancia con el banco.
Ingreso Cheque: Identifica el cheque en sí que se está
protestando en la banca.
Módulo Financiero
54
Ilustración 62. Registro Cheques Protestados en Depósito Seleccionar Cheques
Tipo de Cargo: Se puede escoger de entre los más comunes
tipos de protestos.
Ilustración 63. Registro Cheques Protestados en Depósito Seleccionar Tipo de Cargos
Módulo Financiero
55
Valores de Recargos: Aquí se ingresa el monto que cobra la
institución bancaria por el protesto del cheque siendo este un
valor variable, no siempre son los mismos aunque sea por el
mismo motivo.
Valor total: Tenemos la sumatoria del total que se generó por
protestarse un cheque.
Observación: Aquí el ingreso de un comentario para justificar el
motivo del protesto para mayor claridad en el futuro.
Módulo Financiero
56
1.2.14
Reportes Bancarios
El reporte bancario, es el que registra el “detalle de movimientos”
de las diferentes cuentas de las últimas fechas o indica que ésta
fue abierta desde una fecha determinada como también puede ser
reactivada presentando los respectivos depósitos iniciales.
Ilustración 64. REPORTES BANCARIOS
Módulo Financiero
57
1.2.15
Movimientos Bancarios
Esta opción se encarga de registrar en forma automática todos
los movimientos bancarios que se realizaron en la empresa,
tales como depósitos, retiros, entre otros. Al ingresar a ella, el
módulo le muestra la siguiente pantalla:
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “consulta”, la imagen
muestra una barra de menú (toolbar), y el ingreso de datos que
se requiere para generar un registro a la institución financiera
seleccionada para este fin.
Ilustración 65. Pantalla Bienvenida Movimientos Bancarios
Módulo Financiero
58
Área Consulta Movimientos
Cuenta: Seleccionar de entre las diferentes cuentas existentes y
activas que se tiene en el sistema.
Ilustración 66. Movimientos Bancarios - Seleccionar Cuenta
Desde: Representa el inicio del periodo a consultar.
Ilustración 67. Movimientos Bancarios - Seleccionar Desde
Tipo Movimiento: Se puede seleccionar de entre una gama de
movimientos tales como, Depósitos, transferencias, Notas y
más.
Ilustración 68. Movimientos Bancarios - Seleccionar el Tipo de
Movimiento
Módulo Financiero
59
Sucursal: Se escoge una de todas las sucursales existentes y
activas.
Ilustración 69. Movimientos Bancarios - Seleccionar Sucursal
Hasta: Representa el final del periodo a consultar.
Naturaleza del Movimiento: Pudiendo ser la naturaleza entrante
o saliente de dinero.
Ilustración 70. Movimientos Bancarios - Seleccionar Naturaleza
del Movimiento
Descripción: Breve reseña de lo que se desea explicar en el por
qué de la consulta.
Número Documento: Ingresado manualmente para tener un
respaldo del mismo en carpeta.
Módulo Financiero
60
Botón Consultar: Extrae de la base de datos todos los
movimientos generados a través del tiempo solicitado y según
los parámetros de restricción que se llenaron en la ventana a
continuación.
Ilustración 71. Movimientos Bancarios - Botón Consultar ->
Consulta
Botón Imprimir: Esta opción permite imprimir el documento en
formato Pdf. Para su respectiva impresión como informe de
respaldo y archivo.
Ilustración 72. Movimientos Bancarios - Botón Imprimir
Módulo Financiero
61
Botón Exportar A: Esta opción permite hacer documentos en
Excel o CVS para su respectivo respaldo electrónico o
impresión del mismo para respaldo documentado.
Ilustración 73. Movimientos Bancarios - Botón Exportar A CVS
o Excel
1.2.16
Conciliaciones Realizadas
Esta automatización implica, conocer el total de conciliaciones
realizadas en el sitio y primer lugar un significativo ahorro de
tiempos de ejecución de estas tareas “rutinarias”, lo que
directamente
se
traduce
en
un
“ahorro
de
costes
administrativos”; y en segundo lugar se identifica los puntos
faltantes de conciliar.
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “consulta”, la imagen
Módulo Financiero
62
muestra una barra de menú (toolbar), y el ingreso de datos que
se requiere para consultar los registros de la institución
financiera seleccionada para este fin.
Ilustración 74. Pantalla Bienvenida Conciliaciones Realizadas
Área Cuentas Bancarias
Seleccione la Cuenta bancaria: Seleccionamos la institución
que se desea consultar si hay conciliación.
Ilustración 75. Conciliaciones Realizadas - Seleccionar Cuenta
Módulo Financiero
63
Área Conciliaciones Realizadas
Cuenta: Identifica la cuenta bancaria que interviene.
Banco: Identifica al Banco que se concilió.
Fecha: tiempo en sí que se realizó la conciliación.
Conciliación: Concilia de por si la cuenta
Bancaria: Área de diseño para dividir.
Valor conciliación: El valor que se concilió
Debe: Lo que entró al banco en sí.
Haber: Lo que salió del banco en sí.
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF. Para su respectiva impresión como informe de
respaldo y archivo.
Ilustración 76. Conciliaciones Realizadas - Botón Imprimir
Módulo Financiero
64
Botón Exportar A: Esta opción permite hacer documentos en
Excel o CVS para su respectivo respaldo electrónico o
impresión del mismo para respaldo documentado.
Ilustración 77. Conciliaciones Realizadas - Botón Exportar A
Excel o CVS
1.2.17
Saldos Bancarios
Cantidad de dinero con que se encuentra en un momento
determinado, lo tiene una persona física o jurídica en una
cuenta corriente o de ahorro domiciliada en una entidad
bancaria.
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “consulta”, la imagen
muestra una barra de menú (toolbar), y el ingreso de datos que
Módulo Financiero
65
se requiere para generar un registro a la institución financiera
seleccionada para este fin.
Ilustración 78. Pantalla Bienvenida Saldos Bancarios
Contabilidad: Identifica la codificación de la sub cuenta contable
según plan de cuentas de contabilidad.
Ilustración 79. Saldos Bancarios - Consulta Directa
Módulo Financiero
66
Nombre: La misma sub cuenta según codificación del plan de
cuentas de contabilidad.
Cuenta: Vemos el Número de cuenta de la Institución Bancaria
indiferente si tiene más de una cuenta en cada banco, todas
salen con su respectivo saldo.
Saldo: Identifica cuánto se tiene en la cuenta a la hora de entrar
al presente módulo.
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF. Para su respectiva impresión como informe de
respaldo y archivo.
Ilustración 80. Saldos Bancarios - Botón Imprimir
Módulo Financiero
67
Botón Exportar A: Esta opción permite hacer documentos en
Excel o CVS para su respectivo respaldo electrónico o
impresión del mismo para respaldo documentado.
Ilustración 81. Saldos Bancarios - Botón Exportar a Excel o
CVS
Módulo Financiero
68
1.3 Razones Financieras
Este es uno de los instrumentos más implementados para realizar
análisis financiero de entidades, ya que estas pueden medir en un alto
grado la verdadera eficacia y comportamiento de la Organización. Estas
presentan una perspectiva amplia de la situación financiera,
puede
precisar el grado de liquidez, de rentabilidad, el apalancamiento
financiero, la cobertura y todo lo que tenga que ver con su actividad.
1.3.1
Reporte de Razones Financieras
La vida de una empresa está sujeta a la habilidad con que se
administren sus finanzas. Aún cuando una empresa esté bien
dirigida en sus aspectos de producción, ventas y utilidades, estas
solas características
no son indicadores completos de su
administración financiera, la cual puede juzgarse mediante el
estudio de la solvencia, estabilidad y productividad de la empresa.
En este se podrán consultar todos y cada uno de los índices que
se haiga considerado para la reportaría.
Módulo Financiero
69
Ilustración 82. Pantalla Bienvenida Reporte de Razones Financieras
1.3.2
Índices Financieros
Son el producto de establecer resultados numéricos basados en
relacionar dos cifras o cuentas, bien sea del Balance general o
del Estado de Pérdidas y Ganancias.
Por si no tienen mayor significado, sólo cuando se relacionan
unos a otros y los comparamos.
Adicionalmente nos permite calcular indicadores promedios.
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “consulta”, la imagen
muestra una barra de menú (toolbar), y el ingreso de datos que
Módulo Financiero
70
se requiere para generar un registro periodo seleccionado para
este fin.
Ilustración 83. Índices Financieros - Seleccionar Periodo
Área Periodo
Periodo: Se selecciona el tipo de periodo que se desea analizar
teniendo entre estos el Anual y el Mensual.
Ilustración 84. Índices Financieros - Seleccionar Periodo y
Desde
Módulo Financiero
71
Desde: Representa el inicio del periodo a consultar.
Grupo: Existe una cantidad considerable de índices a
escoger
en
esta
opción,
de
entre
ellos
tenemos
endeudamiento, rentabilidad, etc.
Hasta: Representa el final del periodo a consultar.
Sucursal: Escogemos de entre las agencias activas y en
funcionamiento según el sistema.
Botón Generar: Consulta la base según los requerimientos del
usuario para extraer los diferentes índices solicitados.
Ilustración 85. Índices Financieros - Botón Generar -> Todos
Módulo Financiero
72
Como vemos en la ventana anterior existe el ícono de gráfica,
en este nos permite hacer un gráfico estadístico de los datos
generados por el sistema.
Podemos Imprimir la gráfica a en PDF, para una mejor
comprensión y archivo documentado de lo generado según los
datos del índice solicitado.
Ilustración 86. Índices Financieros -> Generar -> Ver Gráfica
Módulo Financiero
73
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF. Para su respectiva impresión como informe de
respaldo y archivo.
Ilustración 87. Índices Financieros - Botón Imprimir
Botón Exportar A: Esta opción permite hacer documentos en
Excel o CVS para su respectivo respaldo electrónico o
impresión del mismo para respaldo documentado.
Ilustración 88. Índices Financieros - Botón Exportar a Excel o
CVS
Módulo Financiero
74
1.3.3
Mantenimientos Razones Financieras
Ilustración 89. MANTENIMIENTOS RAZONES FINANCIERAS
1.3.4
Razones Financieras
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “vista”, la siguiente
imagen muestra una barra de menú (toolbar), y el ingreso de
datos que se requiere para generar un registro del índice
financiero seleccionado para este fin.
Módulo Financiero
75
Ilustración 90. Pantalla Bienvenida Razones Financieras
Área Fórmulas Financieras
Ilustración 91. Razones Financieras Grupo
Grupo: Identifica el grupo en si para poder escoger de entre
las razones financieras y generar el reporte deseado
Nombre Fórmula: Es como se le denomina en si a la fórmula
para su descripción en el módulo.
Módulo Financiero
76
Fórmula: Viene lo que consta o está compuesta (describe en
formula) en si la fórmula.
Área Resultado de la Consulta:
Nuevo: Me lleva a la presente ventana para el ingreso del nuevo
grupo de razones financieras.
Ilustración 92. Razones Financieras - Botón Nuevo Grupo
Grupo: Tenemos las diferentes clases a las que puede
pertenecer esta nueva razón.
Ilustración 93. Razones Financieras - Seleccionar Grupo y Objetivo
Módulo Financiero
77
Nombre: Es el nombre con el que se denominará dicha nueva
razón.
Abreviatura: Es la palabra corta para identificar la nueva razón.
Concepto: En sí lo que hace y para qué sirve dicha razón.
Formula: En este campo podemos entrar y crear una formula
como lo ilustramos a continuación:
Pantalla básica para poder validar lo que ingresa el usuario, se
trata de encerrar lo que realmente puede hacer el módulo.
Área para visualizar el avance de la creación de formula.
Área de signos que intervienen en la creación de formula.
Números para poder ingresar por teclado.
Cuentas que intervienen en las razones.
Los respectivos botones para poder editar.
Ilustración 94. Razones Financieras - Editor de Formulas
Módulo Financiero
78
Botón Guardar: Almacena la formula una vez creada y validad
por el sistema.
Ilustración 95. Razones Financieras - Editor de Formulas ->
Guardar
Expresado En: Según lo escogido se puede identificar por
porcentajes y más.
Valor Sector: Dependerá del usuario, en base a índices
estadísticos emitidos por entes encuestadores.
Objetivo: este puede ser, bajo, alto medio, esto según el
requerimiento del usuario.
Alarmas: Verde, Naranja, Roja.
Guardar: Almacena la Razón financiera según la creación.
Módulo Financiero
79
Ilustración 96. Razones Financieras - Editar -> Botón Guardar
Botón Procesar búsqueda: Se puede buscar las razones
financieras creadas por el usuario o existentes en el sistema por
medio de este botón.
Ilustración 97. Razones Financieras - Botón Procesar
Búsqueda
Módulo Financiero
80
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF. Para su respectiva impresión como informe de
respaldo y archivo.
Ilustración 98. Razones Financieras - Botón Imprimir
Botón Exportar A: Esta opción permite hacer documentos en
Excel o CVS para su respectivo respaldo electrónico o
impresión del mismo para respaldo documentado.
Ilustración 99. Razones Financieras - Botón Exportar A Excel o
CVS
Módulo Financiero
81
Icono Edición: Se puede editar la razón seleccionada por
medio del ícono en la misma parte derecha, presentando el
siguiente mensaje.
Ilustración 100. Razones Financieras - Editar Registros
1.3.5
Grupos Razones Financieras
Ingresamos desde el menú de módulos a la opción para que
nos lleve automáticamente a la pantalla “principal” haciendo
automáticamente la búsqueda de las razones existentes, la
siguiente imagen muestra una barra de menú (toolbar), y el
ingreso de datos que se requiere para generar un registro del
índice financiero seleccionado para este fin.
Módulo Financiero
82
Ilustración 101. Pantalla Bienvenida Grupos Razones
Financieras
Área de Grupos
Nombre Grupo: Identifica a cada uno de las razones financieras
habidas o existentes y creadas, por esta opción podemos
buscarla.
Descripción: Hace referencia al nombre de la razón financiera,
por esta opción podemos buscarla.
Área Resultados Consulta
Nombre: Con este se identifica la clase de Razón financiera.
Descripción: Hace referencia al nombre de la razón financiera,
por esta opción podemos buscarla.
Módulo Financiero
83
Edición: Permite Editar la razón como se ve a continuación.
Ilustración 102. Grupos Razones Financieras - Editar Razón
Financiera
Ilustración 103. Grupos Razones Financieras - Edición
Módulo Financiero
84
Botón Guardar: Permite guardar los cambios hechos a la razón
financiera entrando desde la pantalla principal.
Ilustración 104. Grupos Razones Financieras - Editar ->
Botón Guardar
Botón Nuevo: Nos lleva a una nueva ventana para ingreso de
nuevos grupos de razones financieras y datos para poder
identificar el nuevo grupo.
Ilustración 105. Grupos Razones Financieras - Botón Nuevo
Módulo Financiero
85
Botón Guardar: Permite guardar los cambios hechos al grupo
de razón financiera entrando desde la pantalla anterior.
Ilustración 106. Grupos Razones Financieras - Nuevo -> Botón
Guardar
Botón Buscar: Genera automáticamente la búsqueda de toda
la información como también si así se lo desea por
especificación del nombre del grupo o descripción de la razón
financiera.
Ilustración 107. Grupos Razones Financieras - Botón Buscar
Módulo Financiero
86
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF. Para su respectiva impresión como informe de
respaldo y archivo.
Ilustración 108. Grupos Razones Financieras - Botón Imprimir
Módulo Financiero
87
Botón Exportar A: Esta opción permite exportar y hacer
documentos en Excel o CVS para su respectivo respaldo
electrónico o impresión del mismo para respaldo documentado.
Ilustración 109. Grupos Razones Financieras - Botón Exportar
a Excel o CVS
Módulo Financiero
88
1.4 REPORTES COMPARATIVOS
La solución más completa para establecer cambios uno a uno con sus
estados financieros. Cuenta con herramientas simples, fáciles de usar y
que permiten obtener información, además, ofrece diferentes opciones
de acuerdo al modelo de negocio y al plan contable estándar.
1.4.1
Balance General Comparativo
Un balance general comparativo muestra el activo, pasivo y capital
contable de un negocio en dos ó más fechas determinadas, y
además, contienen aumentos y/o disminuciones que ocurren de un
año a otro, en términos monetarios o expresados en porcentajes.
Los cambios son importantes porque dan una guía de la dirección
en que se están desarrollando las operaciones y la misma
organización.
Seleccionamos desde el menú de módulos la presente opción
para que nos lleve automáticamente a la pantalla “nuevo”, la
imagen muestra una barra de menú (toolbar), y una serie de
ingresos de datos que se requieren para generar un balance
comparativo.
Módulo Financiero
89
Ilustración 110. Pantalla Bienvenida Balance General Comparativo
Detalle de las opciones contenidas en la página WEB.
Ilustración 111. Balance General Comparativo - Ingreso Datos
Nombre del Reporte: Identificado por la opción escogida desde
el menú principal.
Periodo: Se podrá escoger el periodo a generar, que son Anual
o Mensual.
Periodo Actual: Se escogerá la fecha del presente periodo.
Módulo Financiero
90
Periodo a Comparar: Se escogerá entre uno de los periodos ya
generados para ser así comparado.
Empresa: Selecciona una de las empresas asociadas al grupo
como también la principal.
Sucursal: Selecciona una de las diferentes sucursales de la
empresa.
Tipo: Selecciona Resumido o Detallado, dependiendo de la gran
cantidad de información que maneje la empresa.
Barra de menú
Botón Nuevo: Crea un nuevo Balance General Comparativo
Ilustración 112. Balance General Comparativo - Botón Nuevo
Botón Reporte: Presenta un reporte según lo solicitado en el
sub-menú.
Horizontal: Presenta el modo como se ve a continuación.
Módulo Financiero
91
Ilustración 113. Balance General Comparativo - Botón Reporte
Horizontal
Vertical: Presenta en columnas los datos mostrados
Ilustración 114. Balance General Comparativo - Reporte
Vertical
Módulo Financiero
92
Botón Exportar: Permite exportar la información presentada en
página web a formatos PDF o Excel como se ve a continuación
en la barra.
Ilustración 115. Balance General Comparativo - Botón Exportar
A Excel o PDF
El siguiente es un ejemplo del formato exportado a Excel
Ilustración 116. Balance General Comparativo - Ejemplo
Exportar a Excel
Módulo Financiero
93
Botón Gráfico: La opción permite presentar la gráfica
estadística según los valores obtenidos por la data, como
veremos tendremos 3 tipos de gráficos (Activo, Pasivo y el
Patrimonio).
Podremos cambiarnos por medio de las pestañas que se ven en
la parte superior de la ventana activa.
Ilustración 117. Balance General Comparativo - Botón Gráfico > Pestaña Activo
Ilustración 118. Balance General Comparativo - Botón Gráfico > Pestaña Pasivo
Módulo Financiero
94
Ilustración 119. Balance General Comparativo - Botón Gráfico > Pestaña Patrimonio
Botón Imprimir: Esta opción permite imprimir o exportar el
documento en formato PDF. Para su respectiva impresión como
informe de respaldo y archivo en físico.
Ilustración 120. Balance General Comparativo - Botón Imprimir
Módulo Financiero
95
1.5 Estado de Resultado Comparativo
Es un documento que refleja la situación financiera de un ente
económico, ya sea de una organización pública o privada, y que
permite efectuar un análisis comparativo de la misma; incluye el
activo, el pasivo y el capital contable.
Se formula de acuerdo con un formato y un criterio estándar para que
la información básica de la empresa pueda obtenerse uniformemente
como por ejemplo: posición financiera, capacidad de lucro y fuentes
de fondeo.
Seleccionamos desde el menú la opción para que nos lleve a la
pantalla “nuevo”, la imagen muestra una barra de menú (toolbar), y
los ingresos de datos que se requieren para generar un reporte.
Ilustración 121. Pantalla Bienvenida Estado de Resultado Comparativo
Módulo Financiero
96
Se presenta el detalle de las opciones contenidas en la página
WEB.
Nombre del Reporte: Identificado por la opción escogida desde
el menú principal.
Periodo: Se podrá escoger el periodo a generar, que son Anual
o Mensual.
Periodo Actual: Se escogerá la fecha del presente periodo.
Periodo a Comparar: Se escogerá entre uno de los periodos ya
generados para ser así comparado.
Empresa: Selecciona una de las empresas asociadas al grupo
como también la principal.
Sucursal: Selecciona una de las diferentes sucursales de la
empresa.
Barra de menú
Botón
Nuevo:
Crea
un
nuevo
Estado
de
Resultado
Comparativo en la base datos para su posterior apertura y
análisis del mismo.
Módulo Financiero
97
Ilustración 122. Estado de Resultado Comparativo - Botón
Nuevo -> Seleccionar Sucursal
Botón Reporte: Presenta un reporte según lo solicitado en el
sub-menú.
Horizontal: Presenta el modo como se ve a continuación.
Vertical: Presenta en columnas los datos mostrados
Ilustración 123. Estado de Resultado Comparativo - Botón
Reporte -> Presentación Vertical
Módulo Financiero
98
Botón Exportar: Permite exportar la información presentada en
página web a formatos PDF o Excel según el requerimiento o
naturaleza del reporte.
Ilustración 124. Estado de Resultado Comparativo - Botón
Exportar A PDF o Excel
Módulo Financiero
99
Un ejemplo del reporte exportado a formato PDF.
Ilustración 125. Estado de Resultado Comparativo - Botón
Exportar -> Ejemplo
Módulo Financiero
100
Un ejemplo del reporte exportado a formato Excel.
Ilustración 126. Estado de Resultado Comparativo - Botón
Exportar -> Ejemplo Excel
Módulo Financiero
101
Botón Imprimir: Esta opción permite imprimir el documento en
formato PDF. Para su respectiva impresión como informe de
respaldo y archivo.
Ilustración 127. Estado de Resultado Comparativo - Botón
Imprimir
Módulo Financiero
102
MANUAL TÉCNICO
MÓDULO FINANCIERO
Módulo Financiero
103
2 MANUAL TÉCNICO
El manual técnico contiene la descripción detallada de cada una de las
especificaciones técnicas usadas para desarrollar nuestro Módulo
Financiero. Los estándares, reglas y normalización de las tablas y
campos empleados para su desarrollo.
Este documento contiene toda la información sobre los recursos
utilizados por el proyecto, llevan una descripción muy bien detallada
sobre las características físicas y técnicas de cada elemento. Por
ejemplo: características de procesadores, velocidad, dimensiones del
equipo, garantías, soporte, proveedores y equipo adicional.
2.1 Diccionario de Datos
Como su nombre lo dice, el Diccionario de Datos describe el
contenido y significado de cada una de las tablas usadas con sus
respectivos campos, que es lo que almacenan cada uno de ellos y
para qué sirven. Aquí se detalla la estructura de las tablas del Modelo
E/R o DER.
A continuación se detalla la estructura de cada una de las tablas que
se crearon durante el desarrollo del Módulo Financiero.
Módulo Financiero
104
2.1.1
Tablas del Diagrama Entidad Relación (DER).
Tablas de Bancos
Nombre de la tabla
Tipo de tabla
Clave primaria: cod_banco
Clave foránea: gen_cod_participante
fin_banco
Maestra
Descripción: Tabla que contiene la información detallada de cada una de las Instituciones
Bancarias
Descripción de los Campos
Nombre
Tamaño
Descripción
int
11
Código único, para identificar a cada
banco,
se
autoincrementa
secuencialmente
gen_cod_participante int
11
Clave foránea para relacionarse con
gen_participantes
cod_banco
Tipo Dato
Para definir el estado, por default
A=Activo
estado
varchar
usuario_creacion
varchar
42
Campo para identificar al usuario que
creó el registro
fecha_mod
date
0
Campo para definir la a fecha de
modificación del registro
usuario_modifica
varchar
42
Campo para identificar al usuario que
modifica el registro
fecha_creacion
datetime
0
Campo para definir la a fecha de
creación del registro
1
Tabla 1 Entidad: fin_banco
Módulo Financiero
105
Clave primaria:
cod_fin_banco_cheques_devueltos
Nombre de la tabla
Tipo de tabla
Clave foránea:
fin_banco_cheques_devueltos
Maestra
cod_fin_banco_movimientos
Contabilidad: cod_cxc_cheques
Descripción: Tabla que contiene la información detallada de cada uno de las cheques devueltos y
mantiene relación directa con la tabla con cxc_cheques.
Descripción de los Campos
Nombre
Tipo Dato Tamaño
cod_fin_banco_cheques_devueltos int
11
cod_cxc_cheques
varchar
100
cod_fin_banco_movimientos
int
11
estado
varchar
20
r_empresa
float
10
r_cliente
float
10
valor_total
float
10
valor_cheque
float
10
Descripción
Código único para
identificar cada cheque
devuelto, se
autoincrementa
secuencialmente
Clave foránea para
relacionarse con
cxc_cheques
Clave foránea para
relacionarse con
fin_banco_movimientos
Para definir el estado, por
default A=Activo
Para almacenar el recargo
que se le hace a la
empresa por cheque
devuelto
Para almacenar el recargo
que se le hace al cliente
por cheque devuelto
Para guardar en base la
sumatoria de el recargo al
cliente, a la empresa y
valor del cheque
Campo para almacenar el
valor real del cheque.
Tabla 2 Entidad: fin_banco_cheques_devueltos
Módulo Financiero
106
Clave primaria: cod_conciliacion
Clave foránea:
cod_fin_banco_movimientos
Descripción: Tabla que almacena cada una de las conciliaciones bancarias realizadas.
Nombre de la tabla
fin_banco_conciliacion
Tipo de tabla
Maestra
Descripción de los Campos
Nombre
Tipo Dato
Tamaño Descripción
cod_conciliacion
int
11
cod_fin_banco_cuenta
int
11
saldo_conciliacion_anterior
double
0
saldo_conciliacion
double
0
mes_conciliado
int
11
Numero del mes conciliado
saldo_banco
double
10
Contiene el saldo de bancos
fecha_estado_bancario
date
0
Para guardar la fecha del estado
bancario.
anio_conciliado
int
11
Numero del año conciliado.
Código único para identificar a cada
conciliación, se autoincrementa
secuencialmente
Clave foránea para relacionarse con
fin_banco_cuenta
Para guardar el saldo de la
conciliación anterior
Almacena el saldo de la conciliación
actual
Tabla 3 Entidad: fin_banco_conciliacion
Módulo Financiero
107
Clave primaria: cod_ b anco_cuenta
Clave foránea: cod_banco
cod_tipo_cuenta
Contabilidad : con_cod_plan_cuentas
Descripción: Tabla que almacena los diferentes tipos de cuentas existentes en la Institución
Bancaria.
Descripción de los Campos
Nombre de la tabla
fin_banco_cuenta
Tipo de tabla
Maestra
Nombre
Tipo Dato
Tamaño Descripción
cod_banco_cuenta
int
11
Código único para identificar a cada cuenta del
banco, se autoincrementa secuencialmente
cod_banco
int
11
Clave foránea para relacionarse con fin_banco
n_cuenta
varchar
20
cod_tipo_cuenta
int
11
Para almacenar el número de cuenta bancaria
Clave foránea para relacionarse con
fin_banco_tipo_cuenta
con_cod_plan_cuenta int
11
Clave foránea para relacionarse con
con_plan_cuentas
nombre_cuenta
varchar
200
Campo que contiene el nombre de la cuenta
bancaria
fecha_apertura
date
0
Campo que almacena la fecha de apertura de la
cuenta bancaria
titular
varchar
100
Campo para guardar el Nombre del titular o dueño
de la cuenta
Tabla 4 Entidad: fin_banco_cuenta
Módulo Financiero
108
Indices : cod_
banco_conciliacion
cod_movimiento
Descripción: Tabla que almacena el detalle de cada conciliación bancaria realizada.
Nombre de la tabla
fin_banco_detalle
Tipo de tabla
Detalle
Descripción de los Campos
Nombre
Tipo Dato
Tamaño Descripción
Indice para relacionarse con
fin_banco_conciliacion
cod_banco_conciliacion int
11
cod_movimiento
int
11
tipo
varchar
1
usuario_creacion
varchar
20
fecha_creacion
date
0
Campo para identificar la fecha de
creación del registro
usuario_modficacion
varchar
20
Campo para identificar al usuario
que modifico el registro
fecha_modificacion
date
0
Campo para identificar la fecha de
modificación del registro
Indice para relacionarse con
fin_banco_movimiento
Para especificar el tipo de detalle
de la conciliación
Campo para identificar al usuario
que creó el registro
Tabla 5 Entidad: fin_banco_detalla
Módulo Financiero
109
Nombre de la tabla
fin_banco_detalle_movimiento
Tipo de tabla
Detalle
Clave primaria :
cod_ banco_cuentas_detalle
Clave foránea:
cod_banco_movimientos
Descripción: Tabla que almacena el detalle de cada transacción bancaria realizada.
Descripción de los Campos
Tipo
Dato
Tamaño
Nombre
Descripción
Código único para identificar a
cada detalle de las cuentas
del banco.
Clave foránea para
relacionarse con
fin_banco_movimientos
Presenta la contrapartida
contable
Para guardar el valor del
movimiento
cod_banco_cuentas_detalle
int
11
cod_banco_movimientos
int
11
con_cuenta_afecta
int
11
valor
double
0
estado
varchar
1
Campo que por default
muestra el estado de A=Activa
usuario_creacion
varchar
20
Campo para identificar al
usuario que creó el registro
fecha_creacion
datetime
0
Campo para identificar la
fecha de creación del registro
20
Campo para identificar al
usuario que modifico el
registro
usuario_mod
varchar
Tabla 6 Entidad: fin_banco_detalle_movimiento
Módulo Financiero
110
Clave primaria :
cod_ banco_movimiento
Clave foránea:
Nombre de la tabla
Tipo de tabla
cod_banco_cuenta,
fin_banco_movimientos
Maestra
cod_tipo_movimiento
gen_cod_participante
cod_sucursal
Descripción: Tabla que almacena todos los movimientos bancarios de las diferentes cuentas
bancarias.
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
cod_banco_movimientos
int
11
cod_banco_cuenta
int
11
cod_tipo_movimiento
int
11
gen_cod_participante
int
11
num_documento
int
11
Campo que
documento
datetime
0
Campo que guardara
movimiento bancario
valor_total
double
0
Campo que guardara el valor total del
movimiento
conciliado
varchar
1
Campo que identifica que clase de estado
tiene el movimiento: T=En tránsito,
S=Conciliado, N=No conciliado
responsable_conciliacion
varchar
45
Campo que almacenara el nombre del
responsable de la conciliación
fecha_conciliado
datetime
0
Campo que almacenara
movimiento conciliado
estado
varchar
1
Campo que me permitirá conocer si el
estado del movimiento esta activo o no, por
default presentara A=Activo, si es I=Ignorar
fecha
Módulo Financiero
Descripción
Código único para identificar a
movimiento de las cuentas del banco.
cada
Clave foránea para relacionarse con
fin_banco_cuenta y obtener datos de las
cuentas.
Clave foránea para relacionarse con
fin_banco_tipo_movimiento y obtener
datos de los movimientos.
Clave foránea para relacionarse con
gen_participantes y obtener datos de los
participantes.
guardara
el
la
la
número
del
fecha
del
fecha
del
111
descripcion
varchar
100
Campo para describir al movimiento
usuario_creacion
varchar
20
Campo para identificar al usuario que creó el
registro
fecha_creacion
datetime
0
Campo para identificar la fecha de creación
del registro
usuario_mod
varchar
20
Campo para identificar al usuario que
modifico el registro
fecha_mod
datetime
0
Campo para identificar
modificación del registro
con_cod_diario
int
11
estado_cheque
varchar
1
cod_sucursal
int
11
Clave foránea para relacionarse con la tabla
gen_sucursal para obtener las sucursales
cod_deuda
int
11
Campo para almacenar el código de la
deuda de cuentas por pagar, aplicable para
documentos tipo cheque
varchar
100
Campo que contiene el código de cuentas
por pagar
int
11
Campo que contiene el número
documento utilizado en el movimiento
cuenta_prove
nodoc
fecha
de
Campo que contiene el numero del diario
que nos retorna el stored procedure del
modulo de contabilidad.
Campo que almacena los estados de
cuentas por pagar: Estados emitido, pagado
o cobrado
Tabla 7 Entidad: fin_banco_movimientos
Módulo Financiero
la
del
112
Nombre de la tabla
fin_banco_notasdebcheques
Tipo de tabla
Maestra
Clave primaria : cod_ sec
Descripción: Tabla que almacena las notas de debito y crédito de los movimientos bancarios
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
int
11
descripcion
varchar
20
Campo para describir la nota de debito o cheque
afecta
varchar
1
Campo que contiene los siguientes estados: I=Interna,
C=Cliente
int
11
Campo que se llena únicamente cuando el estado I
=Interna esta Activo caso contrario se va a cuentas
por cobrar y así sacar la cuenta contable del cliente
varchar
20
Campo que por default muestra el estado de A=Activa
cod_sec
cod_contabilidad
estado
Descripción
Código único que determina la secuencias de las
notas debito o cheques, se autoincrementa
secuencialmente
Tabla 8 Entidad: fin_banco_notasdebcheques
Módulo Financiero
113
Nombre de la tabla
fin_banco_tipo_cuenta
Tipo de tabla
Maestra
Clave primaria : cod_ tipo_cuenta
Descripción: Tabla que almacena el tipo de cuenta que existe en la institución bancaria.
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
Descripción
Código único para identificar el tipo de cuenta, se
autoincrementa secuencialmente
cod_tipo_cuenta
int
11
descripcion
varchar
45
Campo para describir al tipo de cuenta, si es corriente.
estado
varchar
1
Campo que por default muestra el estado de A=Activa,
para conocer si el tipo de cuenta esta activa o no
usuario_creacion int
11
Campo para identificar al usuario que creo el registro
fecha_creacion
datetime
0
Campo para identificar la fecha de cracion del registro
usuario_mod
int
11
Campo para identificar al usuario que modifico el
registro
fecha_mod
datetime
0
Campo para identificar la fecha de modificacion del
registro
Tabla 9 Entidad: fin_banco_tipo_cuenta
Módulo Financiero
114
Nombre de la tabla
fin_banco_tipo_movimiento
Tipo de tabla
Detalle
Clave primaria :
cod_ tipo_movimiento
Descripción: Tabla que almacena el tipo de movimiento bancario.
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
cod_tipo_movimiento
int
11
descripcion
varchar
100
Para guardar alguna descripción del movimiento
bancario realizado
letra
varchar
1
Campo para guardar las letras D=Deposito,
R=Retiro; T=Transferencia
estado
varchar
1
Campo para identificar el estado del tipo de
movimiento. A=Activo, I=Inactivo
int
11
Campo para identificar al usuario que creó el
registro
datetime
0
Campo para identificar la fecha de creación del
registro
int
11
Campo para identificar al usuario que modifico el
registro
fecha_mod
datetime
0
Campo para identificar la fecha de modificación
del registro
operación
varchar
1
Campo que me permite guardar los signos + o - .
Me indicara que operación se va a realizar en el
movimiento
usuario_creacion
fecha_creacion
usuario_mod
Descripción
Código único
para identificar el tipo de
movimiento
bancario,
se
autoincrementa
secuencialmente
Tabla 10 Entidad: fin_banco_tipo_movimiento
Módulo Financiero
115
Nombre de la tabla
fin_tipo_nota
Tipo de tabla
Maestra
Clave primaria : cod_
tipo_cuenta
Descripción: Tabla que almacena el tipo de nota que se emite ante las notas de debito y crédito
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
Descripción
Código único para identificar el tipo de
nota del documento, se autoincrementa
secuencialmente
Campo que contiene la clave foránea
de la tabla
fin_banco_tipo_movimiento y obtener
los tipos de movimientos
cod_tipo_nota
int
11
cod_fin_tipo_mov
int
11
varchar
20
Código para guardar alguna
descripción del tipo de nota a usarse.
int
11
Código que contiene la clave foránea
de la tabla con_plan _cuentas y
obtener el plan de cuentas
estado
varchar
1
Campo para identificar el estado del
tipo de nota. A=Activo, I=Inactivo
usuario_creacion
varchar
20
Campo para identificar al usuario que
creó el registro
date
0
Campo para identificar la fecha de
creación de la nota
20
Campo para identificar al usuario que
modifico el registro
descripcion
cod_plan_cuentas
fecha_creacion
usuario_modificacion varchar
Tabla 11 Entidad: fin_tipo_nota
Módulo Financiero
116
2.1.2
Tablas de las Razones Financieras
Nombre de la tabla
fin_formulas
Tipo de tabla
Maestra
Clave primaria : cod_ formula
Clave foránea: cod_grupo
Descripción: Tabla que almacena todas las formulas de las razones financieras.
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
cod_formula
int
11
cod_grupo
int
11
parametro
varchar
20
nom_formula
varchar
100
Campo para almacenar el nombre de la fórmula
descripcion
varchar
200
Campo para guardar una descripción de la fórmula
formula_texto
varchar
1000
Campo que guardara la cadena elaborada en los
mantenimientos
formula_presentacion varchar
2000
Campo que guardara la forma de presentar a la
fórmula
siglas
varchar
4
Campo que contiene la abreviatura de cada
fórmula
expresion
varchar
20
Campo que guardara el tipo en que se expresa la
formula: Ejm: $, %, veces, días
estado
varchar
1
Campo para guardar el estado de la fórmula
A=Activo, I=Inactivo
usuario_creacion
varchar
20
Campo para identificar el estado del tipo de nota.
A=Activo, I=Inactivo
fecha_creacion
datetime
0
Campo para identificar al usuario que creo el
registro
Módulo Financiero
Descripción
Código único, para identificar a cada formula, se
autoincrementa secuencialmente
Código único para identificar al grupo al que
pertenece cada formula, se autoincrementa
secuencialmente
Campo que guardara el valor del parámetro de la
industria contra el cual se comparan las razones
117
usuario_mod
varchar
20
Campo para identificar la fecha de cracion del
registro
fecha_mod
datetime
0
Campo para identificar al usuario que modifico el
registro
rango_verde
float
10
Campo que guarda el valor tope para el rango
verde,
rango_naranja
float
10
Campo que guarda el valor tope para el rango
naranja
rango_rojo
float
10
Campo que guarda el valor tope para el rango rojo
descripcion_verde
varchar
100
Campo que muestra la descripción para la alarma
verde: Ejm: bueno, estable
descripcion_naranja
varchar
100
Campo que muestra la descripcion para la alarma
naranja: Ejm: precaución
descripcion_rojo
varchar
100
Campo que muestra la descripcion para la alarma
roja: Ejm: problemas, revisar
relacion_objetivo
varchar
1
Campo que guarda la relación entre el objetivo y la
meta: Ejemplo: Mayor a 3 :está bien, menor :está
mal
Tabla 12 Entidad: fin_formulas
Módulo Financiero
118
Nombre de la tabla
Tipo de tabla
fin_grupo_razones
Maestra
Clave primaria : cod_ tipo_cuenta
Descripción: Tabla que almacena el tipo de cuenta que existe en la institución bancaria.
Descripción de los Campos
Nombre
Tipo Dato Tamaño
cod_razon
int
11
nombre_razon
varchar
35
estado
varchar
1
usuario_creacion varchar
20
fecha_creacion
datetime 0
usuario_mod
varchar
fecha_mod
datetime 0
20
Descripción
Código único,
para identificar a cada grupo de
formulas, se autoincrementa secuencialmente.
Campo que guardara el nombre de cada grupo de
formulas de las razone
Campo para guardar el estado del grupo de fórmulas
A=Activo, I=Inactivo
Campo para identificar el estado del tipo de nota.
A=Activo, I=Inactivo
Campo para identificar al usuario que creó el registro
Campo para identificar la fecha de creación del
registro
Campo para identificar al usuario que modifico el
registro
Tabla 13 Entidad:fin_grupo_razones
Módulo Financiero
119
2.1.3
Tablas Temporales
Indices:
Nombre de la tabla
Tipo de tabla
cod_ totales_cuentas
fin_cuentas_totales
Maestra
cod_cuenta
Descripción: Tabla que almacena los saldos de las cuentas del plan de cuentas de contabilidad y
de las plantillas de Contabilidad ordenado.
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
cod_totales_cuentas int
11
cod_cuenta
varchar
20
descripcion
varchar
200
tipo
varchar
5
estado
varchar
1
Descripción
Código único, para identificar a cada cuenta, se
autoincrementa secuencialmente
Código único para cada cuenta del plan de cuentas
Campo que guardara el nombre de la cuenta
contable
Campo que guardara el tipo de cuenta. C=Cuenta,
G=grupo, T=Total
Campo para guardar el estado del grupo de
fórmulas A=Activo, I=Inactivo
Campo para almacenar el numero de tabla para
tabla
int
11
identificar 1=cuentas actuales, mensuales o anuales
2=temporales
Tabla 14 Entidad: fin_cuentas_totales
Módulo Financiero
120
Nombre de la tabla
Tipo de tabla
fin_cuentas_totales_temp
Maestra
Indices:
cod_ totales_cuentas
cod_cuenta
Descripción: Tabla que almacena los saldos de las cuentas del plan de cuentas de contabilidad.
y de las plantillas de los Balances sin ordenar.
Descripción de los Campos
Nombre
Tipo Dato
Tamaño
cod_totales_cuentas int
11
cod_cuenta
varchar
20
descripcion
varchar
200
tipo
varchar
5
estado
varchar
1
Descripción
Código único, para identificar a cada cuenta, se
autoincrementa secuencialmente
Código único para cada cuenta del plan de cuentas
Campo que guardara el nombre de la cuenta
contable
Campo que guardara el tipo de cuenta. C=Cuenta,
G=grupo, T=Total
Campo para guardar el estado del grupo de
fórmulas A=Activo, I=Inactivo
Campo para almacenar el numero de tabla para
tabla
int
11
identificar 1=cuentas actuales, mensuales o anuales
2=temporales
Tabla 15 Entidad: fin_cuentas_totales_temp
Módulo Financiero
121
2.2 Nomenclatura de objetos utilizados.
La necesidad de utilizar una nomenclatura estándar en el desarrollo
de aplicaciones surge en forma natural al desarrollar cualquier
aplicación no trivial.
Los principales objetivos que se desean alcanzar al definir un
estándar para la nomenclatura son los siguientes:
• Facilitar la integración de bases de la base de datos
• Facilitar la definición de nombres
• Facilitar la lectura del código generado
Nombrar objetos distintos de forma distinta – objetos diferentes no
debe llevar el mismo nombre.
Primeramente se presentan ciertas definiciones que se utilizarán a
lo largo de todo el documento, y en segundo lugar se presenta la
nomenclatura en sí misma. El siguiente punto describe la
nomenclatura empleada en el desarrollo de nuestro módulo.
2.2.1

Tablas
Los nombres de las tablas se han escrito con minúscula y
muestran
una
descripción
almacenan. Por ejemplo:
Módulo Financiero
de
toda
la información
que
122
•
fin_banco.- Almacena la información de las Instituciones
Financieras (Bancos).
2.2.2
Campos

Los nombres de los campos se han escrito con
minúscula y muestran una descripción específica de lo que se
almacenan. Por ejemplo
• cod_fin_bancos Almacena el código del Banco.
2.2.3
Constraints

Se crearon constraints para claves primarias (pk) y
foráneas (fk), para validar el ingreso de no nulos, que sean
únicos, auto-numéricos.

Los nombres de los constraints constan de las siguientes
partes:
• NOMBRE_TABLA.- Nombre de la tabla en que se los
crea.
• LETRA DEL TIPO DE CONSTRAINT.- La cual puede
ser cualquiera de las siguientes:
Módulo Financiero
123
•
PK  Si es Primary key
•
FK  Si es Foranea o secundaria (foreign key)
• NOMBRE DEL CAMPO.- Nombre del campo.
Por ejemplo:
• cod_fin_banco.- Es una clave primaria.
• fk_gen_cod_participante.- Es una clave foránea de la
tabla con_gen_participante.
2.2.4
•
Clases – Paginas
Los nombres de las páginas están escritos por su
funcionalidad, Por ejemplo: man (mantenimiento) seguido de
la primera letra en mayúscula del nombre de la página.
•
•
Los nombres de los objetos están escritos con minúscula.

PAGINAS: manBancos.php.

CLASES: bancos.class.php.
Las clases contienen métodos y atributos, los atributos están
escritos con minúscula mientras que los métodos están
Módulo Financiero
124
escritos en nomenclatura Pascal sin guion bajo. Por
ejemplo:
• ATRIBUTO: $nombre
• MÉTODOS: function obtenerSucursal()
2.3 Script de Creación de Tablas.
2.3.1
Scripts de creación de tablas de Bancos
FIN_BANCO.
• -- Table structure for `fin_banco`
• -- ---------------------------• DROP TABLE IF EXISTS `fin_banco`;
• CREATE TABLE `fin_banco` (
• `cod_banco` int(11) NOT NULL auto_increment,
• `gen_cod_participante` int(11) NOT NULL,
`estado` varchar(1) 124odifica set utf8 collate
•
utf8_unicode_ci default NULL,
135. • `usuario_creacion` varchar(42) 124odifica set utf8 collate
utf8_unicode_ci default NULL COMMENT ‘codigo participante que crea
banco’,
136. • `fecha_mod` date default NULL,
137. • `usuaro_modifica` varchar(42) 124odifica set utf8 collate
128.
129.
130.
131.
132.
133.
134.
utf8_unicode_ci default NULL,
138. • `fecha_creacion` datetime default NULL,
139. • PRIMARY KEY (`cod_banco`),
140. • KEY `gen_cod_participante` (`gen_cod_participante`),
CONSTRAINT
FOREIGN
141. •
`fin_banco_ibfk_1`
(`gen_cod_participante`)
(`cod_participante`)
Módulo Financiero
REFERENCES
KEY
`gen_participantes`
125
ENGINE=InnoDB
142.
)
CHARSET=latin1;
AUTO_INCREMENT=13
DEFAULT
FIN_BANCO_CHEQUES_DEVUELTOS.
16.• -- ---------------------------17.• -- Table structure for `fin_banco_cheques_devueltos`
18.• -- ---------------------------19.• DROP TABLE IF EXISTS `fin_banco_cheques_devueltos`;
20.• CREATE TABLE `fin_banco_cheques_devueltos` (
21.•
`cod_fin_banco_cheques_devueltos` int(11) NOT NULL
auto_increment,
22.• `cod_cxc_cheques` varchar(100) default NULL,
23.• `cod_fin_banco_movimientos` int(11) default NULL,
24.• `estado` varchar(20) default NULL,
25.• `r_empresa` float(10,2) default NULL,
26.• `r_cliente` float(10,2) default NULL,
27.• `valor_total` float(10,2) default NULL,
28.• `valor_cheque` float(10,2) default NULL,
29.• PRIMARY KEY (`cod_fin_banco_cheques_devueltos`)
ENGINE=InnoDB
AUTO_INCREMENT=33
DEFAULT
30. )
CHARSET=latin1;
FIN_BANCO_CONCILIACION.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
Módulo Financiero
•
•
•
•
•
•
•
•
•
•
•
•
•
-- ----------------------------- Table structure for `fin_banco_conciliacion`
-- ---------------------------DROP TABLE IF EXISTS `fin_banco_conciliacion`;
CREATE TABLE `fin_banco_conciliacion` (
`cod_conciliacion` int(11) NOT NULL auto_increment,
`cod_fin_banco_cuenta` int(11) default NULL,
`saldo_conciliacion_anterior` double default NULL,
`saldo_conciliado` double default NULL,
`mes_conciliado` int(11) default NULL,
`saldo_banco` double(10,2) default NULL,
`fecha_estado_bancario` date default NULL,
`anio_conciliado` int(11) default NULL,
126
• `tipo` varchar(1) NOT NULL,
• `usuario_creacion` varchar(20) 126odifica set utf8 collate
utf8_unicode_ci default NULL,
172. • `fecha_creacion` datetime default NULL,
173. • `usuario_modificacion` varchar(20) 126odifica set utf8
collate utf8_unicode_ci default NULL,
174. • `fecha_modificacion` datetime default NULL,
175. • PRIMARY KEY (`cod_conciliacion`),
KEY
176. •
`fk_fin_banco_conciliacion_cuenta`
170.
171.
(`cod_fin_banco_cuenta`)
177. •
) ENGINE=InnoDB
AUTO_INCREMENT=7
DEFAULT
CHARSET=latin1 ROW_FORMAT=DYNAMIC;
178. •
Fin_Banco_Cuenta.
• - ---------------------------• -- Table structure for `fin_banco_cuenta`
• -- ---------------------------• DROP TABLE IF EXISTS `fin_banco_cuenta`;
• CREATE TABLE `fin_banco_cuenta` (
• `cod_banco_cuenta` int(11) NOT NULL,
• `cod_banco` int(11) NOT NULL,
`n_cuenta` varchar(20) character set utf8
•
utf8_unicode_ci NOT NULL,
187. • `cod_tipo_cuenta` int(11) NOT NULL,
188. • `con_cod_plan_cuenta` int(11) default NULL,
189. • `nombre_cuenta` varchar(200) 126odifica set utf8
utf8_unicode_ci default NULL,
190. • `fecha_apertura` date default NULL,
191. •
`titular` varchar(100) character set utf8
utf8_unicode_ci default NULL,
192. •
`Cheques` varchar(1) character set utf8
utf8_unicode_ci default ‘n’,
193. • `num_cheque_sig` int(11) default ‘1’,
194. • `num_deposito_sig` int(11) default ‘1’,
195. • `num_nd_sig` int(11) default ‘1’,
196. • `num_nc_sig` int(11) default ‘1’,
197. • `saldo` float(10,2) default ‘0.00’,
179.
180.
181.
182.
183.
184.
185.
186.
Módulo Financiero
collate
collate
collate
collate
127
• `observacion` varchar(300) character set utf8 collate
utf8_unicode_ci default NULL,
199. •
`contacto` varchar(50) character set utf8 collate
utf8_unicode_ci default NULL,
200. •
`contacto_telefono` varchar(10) 127odifica set utf8
collate utf8_unicode_ci default NULL,
201. • `contacto_fax` varchar(10) character set utf8 collate
utf8_unicode_ci default NULL,
202. • `contacto_comentario` varchar(200) 127odifica set utf8
collate utf8_unicode_ci default NULL,
203. • `contacto_cargo` varchar(30) 127odifica set utf8 collate
utf8_unicode_ci default NULL,
204. • `usuario_creacion` varchar(20) 127odifica set utf8 collate
198.
utf8_unicode_ci default NULL,
205. • `fecha_creacion` datetime default NULL,
206. • `usuario_mod` varchar(20) character set utf8 collate
utf8_unicode_ci default NULL,
207. • `fecha_mod` datetime default NULL,
208. •
`estado` varchar(1) 127odifica set utf8 collate
utf8_unicode_ci default ‘A’,
209. • PRIMARY KEY (`cod_banco_cuenta`)
ENGINE=InnoDB
DEFAULT
CHARSET=latin1
210. •
)
ROW_FORMAT=DYNAMIC;
211. •
Fin_Banco_Detalle_Conciliacion.
•
• -- ----------------------------Table
structure
•
`fin_banco_detalle_conciliacion`
215. • -- ---------------------------IF
DROP
TABLE
216. •
212.
213.
214.
for
EXISTS
`fin_banco_detalle_conciliacion`;
217. • CREATE TABLE `fin_banco_detalle_conciliacion`
(
218. • `cod_banco_conciliacion` int(11) NOT NULL,
219. • `cod_movimiento` int(11) NOT NULL,
Módulo Financiero
128
220. • `tipo` varchar(1) collate utf8_unicode_ci NOT
NULL,
`usuario_creacion`
varchar(20)
collate
221. •
utf8_unicode_ci NOT NULL,
222. • `fecha_creacion` date NOT NULL,
`usuario_modificacion` varchar(20) collate
223. •
utf8_unicode_ci NOT NULL,
224. • `fecha_modificacion` date NOT NULL
)
ENGINE=MyISAM
DEFAULT
CHARSET=utf8
225. •
COLLATE=utf8_unicode_ci;
226. •
Fin_Banco_Detalle_Movimiento.
• -- ---------------------------• -- Table structure for `fin_banco_detalle_movimiento`
• -- ---------------------------• DROP TABLE IF EXISTS `fin_banco_detalle_movimiento`;
• CREATE TABLE `fin_banco_detalle_movimiento` (
• `cod_banco_cuentas_detalle` int(11) NOT NULL,
• `cod_banco_movimientos` int(11) default NULL,
• `con_cuenta_afectada` int(11) default NULL,
• `valor` double default NULL,
`estado` varchar(1) 128odifica set utf8 collate
•
utf8_unicode_ci default NULL,
237. • `usuario_creacion` varchar(20) 128odifica set utf8 collate
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
utf8_unicode_ci default NULL,
238. • `fecha_creacion` datetime default NULL,
239. • `usuario_mod` varchar(20) character set utf8 collate
utf8_unicode_ci default NULL,
240. • `fecha_mod` datetime default NULL,
241. • `cod_deuda` varchar(100) default NULL,
242. • PRIMARY KEY (`cod_banco_cuentas_detalle`),
KEY
243. •
`fk_fin_banco_detalle_movimiento_fin_banco_movimientos`
(`cod_banco_movimientos`)
Módulo Financiero
129
ENGINE=MyISAM
244. •
)
ROW_FORMAT=DYNAMIC;
245. •
DEFAULT
CHARSET=latin1
Fin_Banco_Movimientos.
246.
247.
248.
• -- ----------------------------Table
structure
for
•
`fin_banco_movimientos`
249. • -- ---------------------------250. • DROP TABLE IF EXISTS `fin_banco_movimientos`;
251. • CREATE TABLE `fin_banco_movimientos` (
`cod_banco_movimientos` int(11) NOT NULL
252. •
auto_increment,
253. • `cod_banco_cuenta` int(11) default NULL,
254. • `cod_tipo_movimiento` int(11) default NULL,
255. • `gen_cod_participante` int(11) default NULL,
256. • `num_documento` int(11) default NULL,
257. • `fecha` datetime NOT NULL COMMENT ‘persona a
quien se gira el cheque’,
258. • `valor_total` double NOT NULL,
259. • `conciliado` varchar(1) character set utf8
collate utf8_unicode_ci NOT NULL default ‘n’ COMMENT
‘adquiere: T estado transito, n no conciliado, S
conciliado’,
`responsable_conciliacion`
varchar(45)
260. •
129odifica set utf8 collate utf8_unicode_ci default
NULL,
261. • `fecha_conciliado` datetime default NULL,
262. • `estado` varchar(1) character set utf8 collate
utf8_unicode_ci NOT NULL default ‘a’,
263. • `descripcion` varchar(100) character set utf8
collate utf8_unicode_ci NOT NULL,
264. • `usuario_creacion` varchar(20) 129odifica set
utf8 collate utf8_unicode_ci default NULL,
265. • `fecha_creacion` datetime default NULL,
266. • `usuario_mod` varchar(20) character set utf8
collate utf8_unicode_ci default NULL,
Módulo Financiero
130
267. • `fecha_mod` datetime default NULL,
268. • `con_cod_diario` int(11) default NULL,
269. • `estado_cheque` varchar(1) default NULL,
270. • `cod_sucursal` int(11) NOT NULL,
271. • `cod_deuda` int(11) default NULL,
272. • `cuenta_prove` varchar(100) default NULL,
273. • `nodoc` int(11) default NULL,
274. • PRIMARY KEY (`cod_banco_movimientos`)
) ENGINE=MyISAM AUTO_INCREMENT=58 DEFAULT
275. •
CHARSET=latin1 ROW_FORMAT=DYNAMIC;
276. •
Fin_Banco_Notasdebcheque
277. • -- ---------------------------278. • -- Table structure for `fin_banco_notasdebcheque`
279. • -- ---------------------------280. • DROP TABLE IF EXISTS `fin_banco_notasdebcheque`;
281. • CREATE TABLE `fin_banco_notasdebcheque` (
282. • `cod_sec` int(11) NOT NULL auto_increment,
283. • `descripcion` varchar(20) default NULL,
284. • `afecta` varchar(1) default NULL,
285. • `cod_contabilidad` int(11) default NULL,
286. • `estado` varchar(20) NOT NULL,
287. • PRIMARY KEY (`cod_sec`)
288. •
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT
CHARSET=latin1;
289. •
Módulo Financiero
131
Fin_Banco_Tipo_Cuenta.
• -- ---------------------------• -- Table structure for `fin_banco_tipo_cuenta`
• -- ---------------------------• DROP TABLE IF EXISTS `fin_banco_tipo_cuenta`;
• CREATE TABLE `fin_banco_tipo_cuenta` (
• `cod_tipo_cuenta` int(11) NOT NULL auto_increment,
• `descripcion` varchar(45) character set utf8 collate
utf8_unicode_ci NOT NULL,
297. •
`estado` varchar(1) character set utf8 collate
290.
291.
292.
293.
294.
295.
296.
utf8_unicode_ci NOT NULL,
298. • `usuario_creacion` int(11) default NULL,
299. • `fecha_creacion` datetime default NULL,
300. • `usuario_mod` int(11) default NULL,
301. • `fecha_mod` datetime default NULL,
302. • PRIMARY KEY (`cod_tipo_cuenta`)
303. •
) ENGINE=InnoDB AUTO_INCREMENT=2
DEFAULT
CHARSET=latin1 ROW_FORMAT=DYNAMIC;
304. •
Fin _Banco_Tipo_Movimiento
• ---------------------------• -- Table structure for `fin_banco_tipo_movimiento`
• -- ---------------------------• DROP TABLE IF EXISTS `fin_banco_tipo_movimiento`;
• CREATE TABLE `fin_banco_tipo_movimiento` (
• `cod_tipo_movimiento` int(11) NOT NULL,
• `descripcion` varchar(100) 131odifica set utf8 collate
utf8_unicode_ci default NULL,
312. •
`letra` varchar(1) character set utf8 collate
305.
306.
307.
308.
309.
310.
311.
utf8_unicode_ci default NULL,
Módulo Financiero
132
`estado` varchar(1) character set utf8 collate
•
utf8_unicode_ci NOT NULL,
314. • `usuario_creacion` int(11) default NULL,
315. • `fecha_creacion` datetime default NULL,
316. • `usuario_mod` int(11) default NULL,
317. • `fecha_mod` datetime default NULL,
318. •
`operacion` varchar(1) character set utf8 collate
utf8_unicode_ci default NULL,
319. • PRIMARY KEY (`cod_tipo_movimiento`)
ENGINE=InnoDB
DEFAULT
CHARSET=latin1
320. •
)
ROW_FORMAT=DYNAMIC;
321. •
313.
Script de las tablas de las Razones Financieras
Fin_Formulas
• -- ---------------------------• -- Table structure for `fin_formulas`
• -- ---------------------------• DROP TABLE IF EXISTS `fin_formulas`;
• CREATE TABLE `fin_formulas` (
• `cod_formula` int(11) NOT NULL auto_increment,
• `cod_grupo` int(11) NOT NULL,
`parametro` varchar(20) character set utf8 collate
•
utf8_unicode_ci NOT NULL,
330. • `nom_formula` varchar(100) character set utf8 collate
322.
323.
324.
325.
326.
327.
328.
329.
utf8_unicode_ci NOT NULL,
331. • `descripcion` varchar(200) character set utf8
utf8_unicode_ci NOT NULL,
332. • `formula_texto` varchar(1000) character set utf8
utf8_unicode_ci NOT NULL,
333. • `formula_presentacion` varchar(2000) character
collate utf8_unicode_ci NOT NULL,
334. •
`siglas` varchar(4) character set utf8
utf8_unicode_ci NOT NULL,
335. • `132odificaci` varchar(20) character set utf8
utf8_unicode_ci NOT NULL,
Módulo Financiero
collate
collate
set utf8
collate
collate
133
`estado` varchar(1) character set utf8 collate
•
utf8_unicode_ci NOT NULL default ‘A’,
337. • `usuario_creacion` varchar(20) 133odifica set utf8 collate
utf8_unicode_ci default NULL,
338. • `fecha_creacion` datetime NOT NULL,
339. • `usuario_mod` varchar(20) character set utf8 collate
336.
utf8_unicode_ci default NULL,
340. • `fecha_mod` datetime default NULL,
341. • `rango_verde` float(10,2) default NULL,
342. • `rango_naranja` float(10,2) default NULL,
343. • `rango_rojo` float(10,2) default NULL,
344. •
`descripcion_verde` varchar(100) 133odifica set utf8
collate utf8_unicode_ci default NULL,
345. • `descripcion_naranja` varchar(100) 133odifica set utf8
collate utf8_unicode_ci default NULL,
346. •
`descripcion_rojo` varchar(100) 133odifica set utf8
collate utf8_unicode_ci default NULL,
347. •
`133odifica_objetivo` varchar(1) 133odifica set utf8
collate utf8_unicode_ci default NULL,
348. • PRIMARY KEY (`cod_formula`),
349. • KEY `fin_formula_fin_grupo_razones_fk` (`cod_grupo`)
350. •
) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT
CHARSET=latin1;
351. •
Fin_Grupo_Razones.
• - ---------------------------• -- Table structure for `fin_grupo_razones`
• -- ---------------------------• DROP TABLE IF EXISTS `fin_grupo_razones`;
• CREATE TABLE `fin_grupo_razones` (
• `cod_razon` int(11) NOT NULL auto_increment,
• `nombre_razon` varchar(35) 133odifica set utf8 collate
utf8_unicode_ci NOT NULL,
359. •
`estado` varchar(1) character set utf8 collate
utf8_unicode_ci NOT NULL default ‘A’,
360. • `usuario_creacion` varchar(20) default NULL,
361. • `fecha_creacion` datetime default NULL,
352.
353.
354.
355.
356.
357.
358.
Módulo Financiero
134
• `usuario_mod` varchar(20) default NULL,
• `fecha_mod` datetime default NULL,
• `observacion` varchar(50) character set utf8 collate
utf8_unicode_ci default NULL,
365. • PRIMARY KEY (`cod_razon`)
366. •
) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT
362.
363.
364.
CHARSET=latin1;
367. •
Script de las Tablas Temporales
Fin_Temp_Cuentas_Totales.
368. • -- Table structure for `fin_temp_cuentas_totales`
369. • -- ---------------------------370. • DROP TABLE IF EXISTS `fin_temp_cuentas_totales`;
371. • CREATE TABLE `fin_temp_cuentas_totales` (
372. • `cod_totales_cuentas` int(11) NOT NULL auto_increment,
373. • `cod_cta` varchar(15) NOT NULL,
374. • `cod_sucursal` int(11) default NULL,
375. • `nivel` tinyint(4) NOT NULL,
376. • `nombre_cuenta` varchar(60) default NULL,
377. • `saldo` decimal(10,4) NOT NULL,
378. • `clase` varchar(1) NOT NULL,
379. • `tipo` varchar(3) NOT NULL,
380. • `anio` int(4) NOT NULL,
381. • `mes` int(2) NOT NULL,
382. • `estado` varchar(1) NOT NULL,
383. • `usuario_crea` varchar(15) default NULL,
384. • `fecha_crea` date default NULL,
385. • `usuario_modi` varchar(15) default NULL,
386. • `fecha_modi` date default NULL,
387. • PRIMARY KEY (`cod_totales_cuentas`)
388. •
) ENGINE=MyISAM AUTO_INCREMENT=330 DEFAULT
CHARSET=utf8;
Módulo Financiero
135
Fin_Tipo_Nota.
389. • -- ---------------------------390. • -- Table structure for `fin_tipo_nota`
391. • -- ---------------------------392. • DROP TABLE IF EXISTS `fin_tipo_nota`;
393. • CREATE TABLE `fin_tipo_nota` (
394. • `cod_tipo_nota` int(11) NOT NULL auto_increment,
395. • `cod_fin_tipo_mov` int(11) NOT NULL,
396. • `decripcion` varchar(20) NOT NULL,
397. • `cod_plan_cuentas` int(11) NOT NULL,
398. • `estado` varchar(1) NOT NULL default ‘A’,
399. • `usuario_creacion` varchar(20) NOT NULL,
400. • `fecha_creacion` date NOT NULL,
401. • `usuario_modificacion` varchar(20) NOT NULL,
402. • `fecha_modificacion` date NOT NULL,
403. • PRIMARY KEY (`cod_tipo_nota`)
404. •
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT
CHARSET=latin1;
405. •
Módulo Financiero
136
2.4 Codificación de los Componentes
2.4.1
Configurando la Conexión.
Para establecer la conexión a la base de datos se cuenta con
una clase que contiene los atributos correctos para poder
realizar la conexión a ella, el siguiente archivo de configuración
consta de usuario, clave y host correspondiente a la base de
datos que se desea conectar a la Base de Datos:
business_bg, para nuestro proyecto.
Clase conexión.-
Esta clase contiene los parámetros de
conexión en la función DBManager() y la función conectar() es
la que establece la conexión y acceso a la BD business_bg.
406.
class DBManager{
407.
var $conect;
408.
var $BaseDatos;
409.
var $Servidor;
410.
var $Usuario;
411.
var $Clave;
412.
function DBManager(){
413.
$this->BaseDatos = "business_bg";
414.
$this->Servidor = "localhost";
415.
$this->Usuario = "business_G1B";
416.
$this->Clave = "XyPyFM9nKO";
417.
}
418.
function conectar() {
419.
if(!($con=mysql_connect($this->Servidor,$this>Usuario,$this->Clave))){
420.
echo" [:(] Error al conectar a la base de datos"
421.
exit();
Módulo Financiero
137
422.
}
423.
if (!mysql_select_db($this->BaseDatos,$con)){
424.
echo " [:(] Error al seleccionar la base de datos";
425.
exit();
426.
}
427.
$this->conect=$con;
428.
return true;
429.
}
430.
431.
function conectarli() {
432.
$link=mysqli_connect($this->Servidor,$this>Usuario,$this->Clave,$this->BaseDatos);
433.
if (!$link) {
434.
printf("ERROR CONEXION MySQL Server. Errorcode:
%s\n", mysqli_connect_error());
435.
return false;
436.
}
437.
return $link;
438.
}
439.
440.
function cerrarConexion($link)
441.
{
442.
mysqli_close($link);
443.
}
444.
445.
function cerrarNormal() {
446.
mysql_close($this->conect);
447.
}
448.
449.
}
Módulo Financiero
138
2.4.2
Clases y Programacion de Bancos.
Clase Banco.-
Esta clase nos permite trabajar con la entidad
banco.
Atributos y Constructores
1.
class bancos {
2.
3.
var
$cadenasql=
gen_participantes.cedula_ruc
Nombre,
"SELECT
RUC,
fin_banco.cod_banco
AS
Codigo,
UPPER(gen_participantes.nombre)
upper(gen_participantes.direccion)
AS
as
Direccion,
upper(gen_participantes.telefono) AS Telefono, gen_participantes.telefono2
Telefono2,
gen_participantes.cod_ciudad
as
Ciudad,
lower(gen_participantes.email) AS Email, lower(gen_participantes.sitioweb) AS
Web, upper(gen_participantes.observacion) AS Observacion FROM fin_banco ,
gen_participantes
WHERE
fin_banco.gen_cod_participante
=
gen_participantes.cod_participante AND UPPER(fin_banco.estado) = 'A'";
4.
var $con;
5.
function bancos()
6.
{
7.
$this->con=new DBManager;
8.
//creo mi objeto conexion.
9.
}
Método Insertar.- Inserta data a la entidad Bancos y
gen_participantes.
10. Function
$estado,
insertar($cedula_ruc,$nombre_1,$nombre_completo,$razon_social,
$user_creacion,$user_modificacion,$cod_tipo_participante,
$direccion,$email,$pagina_web,$telefono,$telefono2,$ciudad,$observaciones)
11. {
12.
if($this->con->conectar()==true)
13.
{
Módulo Financiero
139
14.
$c1='';
15.
//almacena la consulta de los codigos $c2='';
16.
$c3='';
17.
mysql_query('SET AUTOCOMMIT=0');
18.
mysql_query('START TRANSACTION');
19.
mysql_query('BEGIN');
20.
$cadena1='SELECT count(*) reg , max(fin_banco.cod_banco ) num
FROM fin_banco';
21.
$cadena2='SELECT
count(*)
reg
,
max(gen_participantes.cod_participante ) num FROM gen_participantes';
22.
$cadena3='SELECT curdate() fecha FROM dual';
23.
$c1 = mysql_query($cadena1);
24.
$c2 = mysql_query($cadena2);
25.
$c3 = mysql_query($cadena3);
26.
$row1 = mysql_fetch_array($c1);
27.
$row2 = mysql_fetch_array($c2);
28.
$row3 = mysql_fetch_array($c3);
29.
$reg1 = $row1["reg"];
30.
$reg2 = $row2["reg"];
31.
if($reg1>0) $codbanco = $row1["num"]+1;
32.
else $codbanco=1;
33.
if($reg2>0) $codpart = $row2["num"]+1;
34.
else $codpart=1;
35.
$fecha = $row3["fecha"];
36.
$c4= "insert into gen_participantes ( cod_participante, cedula_ruc, nombre,
direccion, telefono, telefono2, email, sitioweb, Observacion, estado, fecha_creacion,
user_creacion, fecha_modificacion, user_modificacion, genero, fecha_nacimiento,
cod_ciudad
)
values
.$direccion."','"
(".$codpart
.$telefono."','"
.$observaciones."','"
.",'"
.$cedula_ruc."','"
.$telefono2."','"
.$estado."','"
.$fecha."','"
.$nombre_completo."','"
.$email."','"
.$pagina_web."','"
.$user_creacion."','"
.$fecha."','"
.$user_creacion."', 'm','0000-00-00',".$ciudad.")";
37.
$c4=mysql_query($c4);
38.
/*inserto datos en la tabla Bancos */
39.
$c5=
"insert
fin_banco.estado,
into
fin_banco
(
fin_banco.gen_cod_participante
fin_banco.usuario_creacion,
fin_banco.usuaro_modifica,
fin_banco.fecha_creacion
fin_banco.fecha_mod,
)
VALUES("
.$codpart.",'"
.$estado."','" .$user_creacion."','" .$fecha."','" .$user_creacion."','" .$fecha."')";
40.
$c5 =mysql_query($c5);
41.
$condicion=0;
42.
if((!$c2)&&(!$c3)&&(!$c1)&&(!$c4)&&(!$c5))
43.
{
44.
Módulo Financiero
mysql_query('ROLLBACK');
,
140
45.
$condicion= 0;
46.
}
47.
else
48.
{
49.
mysql_query('COMMIT');
50.
$condicion =1;
51.
}
52.
mysql_query('SET AUTOCOMMIT=1');
53.
return $condicion;
54.
}
55.
}
56.
Método Actualizar.- Actualiza un registro de la entidad banco.
1. function actualizar($cod_banco,$nombre_completo, $user_modificacion,$direccion,
$email,$pagina_web,$telefono,$telefono2,$observaciones,$ciudad )
2. {
3.
if($this->con->conectar()==true)
4.
{
5.
$cadena3='SELECT curdate() fecha FROM dual';
6.
$c3 = mysql_query($cadena3);
7.
$row3 = mysql_fetch_array($c3);
8.
$fecha = $row3["fecha"];
9.
$resultado= //inicio sentencia de actualizacion
10. "UPDATE gen_participantes, fin_banco
11. SET gen_participantes.user_modificacion='".$user_modificacion."',
12. gen_participantes.nombre='".$nombre_completo."
13. ',gen_participantes.direccion='".$direccion.
14. "',gen_participantes.email='".$email.
"',gen_participantes.sitioweb='".$pagina_web.
"',gen_participantes.telefono='".$telefono.
"',gen_participantes.telefono2='".$telefono2.
"',gen_participantes.observacion='".$observaciones.
"',gen_participantes.cod_ciudad=".$ciudad."
15. where fin_banco.cod_banco=".$cod_banco."
16. and gen_participantes.cod_participante = fin_banco.gen_cod_participante";
Módulo Financiero
141
17.
// echo $resultado;
18.
$a= mysql_query($resultado);
19.
if($a)
20.
{
21.
echo 'Registro Actualizado';
22.
}
23.
else
24.
{
25.
echo 'Existen Problemas Consulte su Proveedor';
26.
}
27.
}
28.
//fin if que3ry
29. }
Método mostrar_banco ($id).- Nos muestra la información de un
banco especificando su Id.
1.
2.
3.
4.
5.
6.
7.
8.
9.
function mostrar_banco($id)
{
if($this->con->conectar()==true)
{
$cadenasql=$this->cadenasql.' and fin_banco.cod_banco = '.$id;
$registro=mysql_query($cadenasql);
return mysql_fetch_array($registro);
}
}
Function eliminar ($id).- Actualiza el estado del banco en la entidad
banco ha Estado = I
Nos retorna un valor entre:
Módulo Financiero
142
0. Registro eliminado Correctamente
1. Registro asociado con cuenta bancaria.
2. Errores de conexión.
1. function eliminar($id)
2. {
3.
if($this->con->conectar()==true)
4.
{
5.
$retorno="select fin_banco_cuenta.cod_banco from fin_banco_cuenta where
upper(fin_banco_cuenta.estado)='A' and fin_banco_cuenta.cod_banco=".$id;
6.
$retorno=mysql_query($retorno);
7.
$retorno=mysql_num_rows($retorno);
8.
if($retorno>0)
9.
{
10.
return 2;
11.
}
12.
else
13.
{
14.
$retorno= " update fin_banco set fin_banco.estado = 'I' where
fin_banco.cod_banco=".$id;
15.
mysql_query($retorno);
16.
if ($retorno==true)
17.
{
18.
Else
return 1;
}
19.
20.
{
21.
}
22.
return 0;
23. }
Módulo Financiero
return 0;
}
}
143
Clase
Cuentas.-
Esta
clase
interactúa
con
la
entidad
fin_banco_cuentas.
Atributos y constructor
1.
class cuentas
2. {
3.
var $con;
4.
var $cadenasql= "SELECT fin_banco_cuenta.cod_banco_cuenta AS Codigo,
5. fin_banco_cuenta.n_cuenta AS N_cuenta, upper(gen_participantes.nombre) AS
N_Banco, fin_banco_cuenta.saldo AS Saldo,
6. upper(fin_banco_cuenta.nombre_cuenta) AS Nombre,
upper(fin_banco_cuenta.fecha_apertura) AS F_Apertura,
upper(fin_banco_cuenta.titular) AS N_Titular, fin_banco_cuenta.Cheques AS
Cheques, fin_banco_cuenta.num_cheque_sig AS Num_Cheque,
fin_banco_cuenta.num_deposito_sig AS Num_Deposito,
fin_banco_cuenta.num_nd_sig AS Num_Nota_Debito,
fin_banco_cuenta.num_nc_sig AS Num_Nota_Credito,
upper(fin_banco_cuenta.observacion) AS Observacion,
upper(fin_banco_tipo_cuenta.descripcion) AS D_Tipo, fin_banco.cod_banco AS
Cod_banco, fin_banco_tipo_cuenta.cod_tipo_cuenta AS cod_cuenta,
gen_participantes.cod_participante AS cod_participante,
con_plan_cuentas.cod_plan_cuentas AS cod_cont,
con_plan_cuentas.descripcion AS D_Contabilidad,
con_plan_cuentas.codigo_cuenta AS Cuenta_fisica,
fin_banco_cuenta.cod_banco_cuenta AS codigo_cuenta,
fin_banco_cuenta.contacto as Contacto, fin_banco_cuenta.contacto_telefono
as Contacto_telefono, fin_banco_cuenta.contacto_fax as Contacto_fax,
fin_banco_cuenta.contacto_comentario as Contacto_comentario,
fin_banco_cuenta.contacto_cargo as Cargo FROM fin_banco_cuenta ,
fin_banco , gen_participantes , fin_banco_tipo_cuenta , con_plan_cuentas
where fin_banco.gen_cod_participante=gen_participantes.cod_participante and
fin_banco_tipo_cuenta.cod_tipo_cuenta=fin_banco_cuenta.cod_tipo_cuenta
and fin_banco_cuenta.cod_banco=fin_banco.cod_banco and
fin_banco_cuenta.con_cod_plan_cuenta= con_plan_cuentas.cod_plan_cuentas
";
7.
8. function cuentas()
Módulo Financiero
144
9.
{
10.
$this->con=new DBManager;
11.
//creo mi objeto conexion.
}
12.
13.
}
Método
Insertar.-
Permite
insertar
datos
en
la
entidad
Fin_banco_cuentas.
1. function insertar( $cod_banco, $cod_tipo_cuenta, $cod_conta, $nombre_cuenta,
$fecha_apertura, $titular, $cheque, $cheque_sig, $deposito_sig, $credito_sig,
$debito_sig, $observacion, $usuario_crea, $n_cuenta, $document_fin,
$contacto_telefono, $contacto_fax, $contacto_comentario, $contacto_cargo, $contacto)
2. {
3.
if($this->con->conectar()==true)
4.
{
5.
$c1='';
6.
7.
$c3='';
8.
mysql_query('SET AUTOCOMMIT=0');
9.
mysql_query('START TRANSACTION');
10.
mysql_query('BEGIN');
11.
$cadena1='select NOW() as fecha, count(*) as reg, max(cod_banco_cuenta) as
max from fin_banco_cuenta';
12.
$c1 = mysql_query($cadena1);
13.
$row1 = mysql_fetch_array($c1);
14.
$reg1 = $row1["reg"];
15.
if($reg1>0) $codcuenta = $row1["max"]+1;
16.
else $codcuenta =1;
17.
$fecha = date("Y-m-d H:i:s");
18.
$cadena = "insert into";
19.
$cadena = $cadena." fin_banco_cuenta (";
20.
$cadena = $cadena." fin_banco_cuenta.cod_banco_cuenta, ";
21.
$cadena = $cadena." fin_banco_cuenta.cod_banco, ";
22.
$cadena = $cadena." fin_banco_cuenta.cod_tipo_cuenta,";
23.
$cadena = $cadena." fin_banco_cuenta.con_cod_plan_cuenta,";
Módulo Financiero
145
24.
$cadena = $cadena." fin_banco_cuenta.num_cheque_sig,";
25.
$cadena = $cadena." fin_banco_cuenta.fecha_apertura , ";
26.
$cadena = $cadena." fin_banco_cuenta.fecha_creacion , ";
27.
$cadena = $cadena." fin_banco_cuenta.fecha_mod , ";
28.
$cadena = $cadena." fin_banco_cuenta.nombre_cuenta ,";
29.
$cadena = $cadena." fin_banco_cuenta.observacion ,";
30.
$cadena = $cadena." fin_banco_cuenta.titular ,";
31.
$cadena = $cadena." fin_banco_cuenta.usuario_creacion,";
32.
$cadena = $cadena." fin_banco_cuenta.usuario_mod,";
33.
34.
$cadena = $cadena." fin_banco_cuenta.n_cuenta,";
35.
$cadena = $cadena." fin_banco_cuenta.Cheques,";
36.
$cadena = $cadena." fin_banco_cuenta.contacto,";
37.
$cadena = $cadena." fin_banco_cuenta.contacto_telefono,";
38.
$cadena = $cadena." fin_banco_cuenta.contacto_fax,";
39.
$cadena = $cadena." fin_banco_cuenta.contacto_comentario,";
40.
$cadena = $cadena." fin_banco_cuenta.contacto_cargo";
41.
$cadena = $cadena." )";
42.
$cadena = $cadena. " values (";
43.
$cadena = $cadena. $codcuenta. ",";
44.
$cadena = $cadena. $cod_banco. ",";
45.
$cadena = $cadena. $cod_tipo_cuenta. ",";
46.
$cadena = $cadena. $cod_conta. ",";
47.
$cadena = $cadena. $cheque_sig.",";
48.
$cadena = $cadena."'".$fecha_apertura."',";
49.
$cadena = $cadena."'".$fecha."',";
50.
$cadena = $cadena."'".$fecha."',";
51.
$cadena = $cadena."'".$nombre_cuenta."',";
52.
$cadena = $cadena."'".$observacion."',";
53.
$cadena = $cadena."'".$titular."',";
54.
$cadena = $cadena."'".$usuario_crea."',";
55.
$cadena = $cadena."'".$usuario_crea."',";
56.
$cadena = $cadena. $n_cuenta.",";
57.
$cadena = $cadena."'".$cheque."',";
58.
$cadena = $cadena."'".$contacto."',";
59.
$cadena = $cadena."'".$contacto_telefono."',";
60.
$cadena = $cadena."'".$contacto_fax."',";
61.
$cadena = $cadena."'".$contacto_comentario."',";
62.
$cadena = $cadena."'".$contacto_cargo."'";
63.
$cadena = $cadena.") ";
64.
// echo $cadena;
65.
$c2=mysql_query($cadena);
Módulo Financiero
146
66.
if(!$c2)
67.
{
68.
mysql_query('ROLLBACK');
69.
70.
return 0;
71.
}
72.
else
73.
{
74.
mysql_query('COMMIT');
75.
76.
return 1;
77.
78.
}
79.
mysql_query('SET AUTOCOMMIT=1');
80.
}
81. }
Método Actualizar.- Actualiza los registros de la entidad cuentas,
nos retorno el valor de 0 o 1 en caso de éxito o error.
1. function actualizar( $cod_cuenta, $nombre_cuenta, $fecha_apertura, $titular,
$documento_inicio, $documento_sig, $observacion, $usuario_mod, $documento_fin,
$contacto_telefono, $contacto_fax, $contacto_comentario, $contacto_cargo, $contacto )
2. {
3.
if($this->con->conectar()==true)
4.
{
5.
$cadena="update fin_banco_cuenta";
6.
$cadena=$cadena." set ";
7.
//$cadena=$cadena." fin_banco_cuenta.documento_inicio
=".$documento_inicio.",";
8.
$cadena=$cadena." fin_banco_cuenta.num_cheque_sig =".$documento_sig.",";
9.
$cadena=$cadena." fin_banco_cuenta.nombre_cuenta ='".$nombre_cuenta. "',";
10.
$cadena=$cadena." fin_banco_cuenta.observacion = '".$observacion."',";
11.
$cadena=$cadena." fin_banco_cuenta.titular='".$titular."',";
12.
$cadena=$cadena." fin_banco_cuenta.usuario_mod='". $usuario_mod."',";
13.
$cadena=$cadena." fin_banco_cuenta.fecha_mod = NOW() ,";
Módulo Financiero
147
14.
$cadena=$cadena." fin_banco_cuenta.contacto='".$contacto."',";
15.
$cadena=$cadena." fin_banco_cuenta.contacto_telefono='".$contacto_telefono.
"',";
16.
$cadena=$cadena." fin_banco_cuenta.contacto_cargo='".$contacto_cargo. "',";
17.
$cadena=$cadena."
fin_banco_cuenta.contacto_comentario='".$contacto_comentario."',";
18.
$cadena=$cadena." fin_banco_cuenta.contacto_fax='".$contacto_fax. "'";
19.
//$cadena=$cadena." fin_banco_cuenta.documento_fin=".$documento_fin;
20.
$cadena=$cadena." where
fin_banco_cuenta.cod_banco_cuenta=".$cod_cuenta;
21.
//echo $cadena;
22.
$a= mysql_query($cadena);
23.
24.
if($a)
25.
{
26.
// echo 'Actualizado';
27.
return 1;
28.
}
29.
else
30.
{
31.
return 0;
32.
}
33.
}
34.
//fin if que3ry return 0;
35. }
Método
mostrar_cuentas($id).-
Nos
muestra
una
cuenta
bancaria cuando se selecciona el id, nos devuelve un registro en
formato mysql_query para ser convertido en un arreglo.
1. function mostrar_cuenta($id)
2. {
3.
if($this->con->conectar()==true)
4.
{
5.
return mysql_query($this->cadenasql.' and
fin_banco_cuenta.cod_banco_cuenta='.$id);
6.
}}
Módulo Financiero
148
Método mostrar_cuentas.- Nos muestra un conjunto de cuentas
que cumplan con los parámetros enviados, como son banco,
nombre de la cuenta, fecha de apertura, nos devuelve un arreglo
en formato myql fetch array.
1. {
2.
function
Mostrar_cuentas($banco='',$nombreCuenta='',$fechaDesde,$fechaHasta,$op=1)
3.
4.
if($this->con->conectar()==true)
{
5.
$sql=" SELECT fin_banco_cuenta.cod_banco_cuenta AS Codigo,
fin_banco_cuenta.n_cuenta AS N_cuenta, upper(gen_participantes.nombre) AS
N_Banco, fin_banco_cuenta.saldo AS Saldo,
upper(fin_banco_cuenta.nombre_cuenta) AS Nombre,
upper(fin_banco_cuenta.fecha_apertura) AS F_Apertura,
upper(fin_banco_cuenta.titular) AS N_Titular, fin_banco_cuenta.Cheques AS
Cheques, fin_banco_cuenta.num_cheque_sig AS Num_Cheque,
upper(fin_banco_cuenta.observacion) AS Observacion,
upper(fin_banco_tipo_cuenta.descripcion) AS D_Tipo, fin_banco.cod_banco AS
Cod_banco, fin_banco_tipo_cuenta.cod_tipo_cuenta AS cod_cuenta,
gen_participantes.cod_participante AS cod_participante,
con_plan_cuentas.cod_plan_cuentas AS cod_cont, con_plan_cuentas.descripcion AS
D_Contabilidad, con_plan_cuentas.codigo_cuenta AS C_Contabilidad,
fin_banco_cuenta.cod_banco_cuenta AS codigo_cuenta, fin_banco_cuenta.contacto
as Contacto, fin_banco_cuenta.contacto_telefono as Contacto_telefono,
fin_banco_cuenta.contacto_fax as Contacto_fax,
fin_banco_cuenta.contacto_comentario as Contacto_comentario,
fin_banco_cuenta.contacto_cargo as Cargo FROM fin_banco_cuenta , fin_banco ,
gen_participantes , fin_banco_tipo_cuenta , con_plan_cuentas where
fin_banco.gen_cod_participante=gen_participantes.cod_participante and
fin_banco_tipo_cuenta.cod_tipo_cuenta=fin_banco_cuenta.cod_tipo_cuenta and
fin_banco_cuenta.cod_banco=fin_banco.cod_banco and
fin_banco_cuenta.con_cod_plan_cuenta= con_plan_cuentas.cod_plan_cuentas and
upper(fin_banco_cuenta.estado)= 'A' and gen_participantes.nombre like
'%".$banco."%' and fin_banco_cuenta.nombre_cuenta like '%".$nombreCuenta."%' ";
6.
if(op==1)
7.
{
Módulo Financiero
149
8.
$sql=$sql. " and fin_banco_cuenta.fecha_apertura >= '".$fechaDesde."' and
fin_banco_cuenta.fecha_apertura <='".$fechaHasta."'";
9.
}
10.
11.
$cadena= mysql_query($sql);
12.
return $cadena;
13.
}
14. }
Método eliminar.- Permite cambiar el estado de una cuenta
bancaria, nos devuelve los valores 1, 0 si se verifica los casos de
éxito y error.
450. function eliminar($id)
451. {
452. if($this->con->conectar()==true)
453. {
454.
$retorno=" select fin_banco_movimientos.cod_banco_movimientos
from
fin_banco_movimientos
where
fin_banco_movimientos.cod_banco_cuenta=".$id."
and
upper(fin_banco_movimientos.estado)='A'";
455.
$retorno=mysql_query($retorno);
456.
$retorno=mysql_num_rows($retorno);
457.
if ($retorno>0)
458.
{
459.
return 2;
460.
}
461.
$retorno= " update fin_banco_cuenta set fin_banco_cuenta.estado = 'I'
where fin_banco_cuenta.cod_banco_cuenta=".$id;
462.
mysql_query($retorno);
463.
if ($retorno==true)
464.
{
465.
return 1;
466.
}
467.
else
468.
{
469.
return 0; } }}
Módulo Financiero
150
Clase TipoNotas.- Esta clase nos permite definir las notas de
debito y crédito, además permiten la asociación con las cuentas
contables.
Esta clase interactúa con la entidad fin_tipo_nota.
Atributos y métodos.1.
2.
3.
4.
5.
6.
7.
class TipoNotas
{
var $con;
function TipoNotas()
{
$this->con = new DBManager;
}
Método insertar.- Inserta los datos en la entidad, retorna 1 o 0
dependiendo del caso de éxito.
8.
function insertarTipoNotas($codplanCuentas, $codMovimiento,
$descripcion, $usuario)
9.
{
10.
if($this->con->conectar()==true)
11.
{
12.
$sql=
"
insert
into
fin_tipo_nota
(
fin_tipo_nota.cod_plan_cuentas,
fin_tipo_nota.cod_fin_tipo_mov,
fin_tipo_nota.decripcion,
fin_tipo_nota.usuario_creacion,
fin_tipo_nota.fecha_creacion )
13.
values
("
.$codplanCuentas.","
.$codMovimiento
.",'"
.$descripcion ."','" .$usuario. "', NOW())";
14.
$retorno= mysql_query($sql);
15.
if(!$retorno)
16.
{
17.
return -1;
18.
}
Módulo Financiero
151
19.
20.
21.
22.
23.
24.
25.
else
{
return 0;
}
}
return -1;
}
Método mostrarTipoNotas.- Nos muestra el listado de las notas
que cumplen con los parámetros de entrada, y nos devuelve un
arreglo en formato mysql_fetch_array.
26.
function mostrarTipoNotas($descripcion, $tipoNota)
27.
{
28.
if($tipoNota ==-1)
29.
{
30.
$condicion1=" and fin_tipo_nota.cod_fin_tipo_mov > -1 ";
31.
}
32.
else
33.
{
34.
$condicion1= " and fin_tipo_nota.cod_fin_tipo_mov
=$tipoNota ";
35.
}
36.
if($this->con->conectar()==true) {
37.
$sql= " select fin_tipo_nota.cod_tipo_nota as Codigo,
fin_tipo_nota.decripcion as Descripcion, con_plan_cuentas.descripcion as
CuentaContable, fin_banco_tipo_movimiento.descripcion as DescripcionTipo,
con_plan_cuentas.codigo_cuenta as cuentaC, fin_tipo_nota.cod_plan_cuentas as
cuentaPlan from fin_banco_tipo_movimiento, con_plan_cuentas, fin_tipo_nota
38.
Where
fin_tipo_nota.cod_plan_cuentas=
con_plan_cuentas.cod_plan_cuentas and upper(fin_tipo_nota.estado)= 'A'
39. AND
fin_banco_tipo_movimiento.cod_tipo_movimiento=fin_tipo_nota.cod_fin_tipo
_mov
".$condicion1."
and
upper(fin_tipo_nota.decripcion)
like
'%".$descripcion."%'";
40.
$retorno= mysql_query($sql);
//echo $sql;
41.
return $retorno; }}
Módulo Financiero
152
Método mostrarTipoNotasId($idnota).- Nos retorna los datos
específicos de una nota cuyo id coincida con el especificado.
42.
43.
44.
45.
46.
47.
48.
49.
50.
function mostrarTipoNotasId($Idnota)
{
if($this->con->conectar()==true)
{
$sql= "select fin_tipo_nota.cod_tipo_nota as Codigo,
fin_tipo_nota.decripcion as Descripcion, con_plan_cuentas.descripcion as
CuentaContable,
fin_banco_tipo_movimiento.descripcion
as
DescripcionTipo,
fin_tipo_nota.cod_plan_cuentas
as
cuentaC,
fin_tipo_nota.cod_fin_tipo_mov
as
CodigoMov
from
fin_banco_tipo_movimiento, con_plan_cuentas, fin_tipo_nota where
fin_banco_tipo_movimiento.cod_tipo_movimiento=fin_tipo_nota.cod_fin_tip
o_mov
and
con_plan_cuentas.cod_plan_cuentas=fin_tipo_nota.cod_plan_cuentas and
fin_tipo_nota.cod_tipo_nota=".$Idnota;
$retorno= mysql_query($sql);
return $retorno;
}
}
Método desactivarNota($Idnota).- Actualiza el registro
desactivando su estado para que no pueda ser utilizado.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
Módulo Financiero
function desactivarNota($Idnota)
{
if($this->con->conectar()==true)
{
$sql= " update
fin_tipo_nota
set fin_tipo_nota.estado = 'I'
where fin_tipo_nota.cod_tipo_nota=".$Idnota;
153
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
$retorno= mysql_query($sql);
if($retorno)
{
$retorno=1;
}
else
{
$retorno=0;
}
return $retorno;
}
return 0;
}/
Método actualizar TipoNota.- Recibe los parámetros para poder
actualizar el registro correspondiente.
79.
actualizarTipoNota(
$Idnota,$codplanCuentas,
function
$codMovimiento, $descripcion, $usuario )
80.
{
81.
if($this->con->conectar()==true)
82.
{
83.
$sql=
"
update
fin_tipo_nota
set
fin_tipo_nota.cod_plan_cuentas=".$codplanCuentas.",
fin_tipo_nota.decripcion='".
$descripcion."',
fin_tipo_nota.cod_fin_tipo_mov=".$codMovimiento."
where
fin_tipo_nota.cod_tipo_nota=".$Idnota;
84.
// echo $sql;
85.
$retorno= mysql_query($sql);
86.
if(!$retorno)
87.
{
88.
$retorno=1;
89.
}
Módulo Financiero
154
90.
91.
92.
93.
94.
95.
96.
97.
98.
else
{
$retorno=0;
}
return $retorno;
}
return 0;
}
//fin funcuin
Clase chequesProtestados.- Nos permite manipular los cheques
de clientes protestados.
Costructor
Método mostrarPorId($movimientoBanco).-Nos muestra los
cheques de un movimiento.
99.
100.
101.
102.
103.
104.
105.
class chequesProtestados
{
function chequesProtestados()
{
$this->con=new DBManager;//creo mi objeto conexion.
}
106.
107.
108.
109.
function mostrarPorId($movimientoBanco)
{
if($this->con->conectar()==true)
110.
111.
112.
113.
114.
115.
Módulo Financiero
{
$sql="
SELECT
cxc_cheque.nombre_banco as Nbanco,
cxc_cheque.numero_cuenta as Ncuenta,
cxc_cheque.fecha as Fecha,
155
116.
117.
118.
119.
cxc_cheque.Numero_cheque as Ncheque,
gen_participantes.nombre as Cliente,
fin_banco_cheques_devueltos.r_empresa as Recargo1,
fin_banco_cheques_devueltos.r_cliente
as
Recargo2,
120.
121.
122.
123.
124.
fin_banco_cheques_devueltos.valor_cheque as total
FROM
cxc_cobros ,
cxc_cheque ,
125.
126.
127.
128.
129.
fac_cliente ,
gen_participantes ,
fin_banco_cheques_devueltos
WHERE
fac_cab_agenda_cobro ,
fin_banco_cheques_devueltos.cod_cxc_cheques=
cxc_cheque.cod_cheque
130.
and
131.
cxc_cheque.cod_cheque = cxc_cobros.cod_cheque
132.
AND
133.
fac_cab_agenda_cobro.cod_agenda_cobro
cxc_cobros.fac_cod_agenda_cobro AND
134.
fac_cab_agenda_cobro.fac_cliente
=
=
fac_cliente.cod_cliente AND
135.
fac_cliente.cod_cliente
gen_participantes.cod_participante
136.
and
137.
cxc_cheque.cod_tipo_cheque=3
138.
and
139.
=
fin_banco_cheques_devueltos.cod_fin_banco_movimientos=".$m
ovimientoBanco;
140.
141.
142.
143.
144.
145.
}
}
146.
}//fin clase
Módulo Financiero
$retorno=mysql_query($sql);
return $retorno;
156
Clase CargoChequeDevuelto.
Esta
clase
nos
permite
interactuar
con
la
entidad
fin_banco_notasdebcheque, y nos permite registrar las notas de
debito que le banco nos emite cuando un cheque es devuelto por
diversos motivos como son: Cheque protestado, firma inconforme,
remarcado de cantidad, etc.
Atributos y constructor
147.
148.
149.
150.
151.
152.
153.
154.
class CargoChequeDevuelto
{
var $con;
function CargoChequeDevuelto()
{
$this->con = new DBManager;
}
Método Insertar.- Inserta nuevos registros en la entidad.
155.
function insertar($descripcion,$afecta,$codContabilidad)
156.
{
157.
if($this->con->conectar()==true)
158.
{
159.
$sql="insert into fin_banco_notasdebcheque (
fin_banco_notasdebcheque.descripcion,
fin_banco_notasdebcheque.afecta,
fin_banco_notasdebcheque.estado,
fin_banco_notasdebcheque.cod_contabilidad)
values
('".$descripcion."','".$afecta."','A',".$codContabilidad.")";
160.
mysql_query($sql);
161.
}
162.
}
Módulo Financiero
157
Function mostrarTodos().- Muestra todos los registros activos que
cumplan con la condición , de descripción y afectación.
• function mostrarTodos($descripcion,$afecta)
{
•
if($this->con->conectar()==true)
•
{
•
$sql="select fin_banco_notasdebcheque.cod_sec
•
as
codigo,
fin_banco_notasdebcheque.descripcion
as
Descripcion,
fin_banco_notasdebcheque.cod_contabilidad
as
Contabilidad,
fin_banco_notasdebcheque.afecta as Afecta from fin_banco_notasdebcheque
where
upper(fin_banco_notasdebcheque.estado)='A'
and
fin_banco_notasdebcheque.descripcion
like
'%".$descripcion."%'
and
fin_banco_notasdebcheque.afecta like '%".$afecta."%' ";
168.
$consulta=mysql_query($sql);
•
169.
return $consulta;
•
170.
}
•
171.
}
•
163.
164.
165.
166.
167.
Método mostrarPorId($codigo).- Muestra el registro por medio del
parámetro de su código.
• function mostrarPorId($codigo)
{
•
if($this->con->conectar()==true)
•
{
•
$sql=" select fin_banco_notasdebcheque.cod_sec as
•
codigo,
fin_banco_notasdebcheque.descripcion
as
Descripcion,
fin_banco_notasdebcheque.cod_contabilidad
as
Contabilidad,
fin_banco_notasdebcheque.afecta
as
Afecta
from
fin_banco_notasdebcheque
where
fin_banco_notasdebcheque.cod_sec=".$codigo;
177. •
$consulta=mysql_query($sql);
178. •
return $consulta;
179. •
}
180. •
}
172.
173.
174.
175.
176.
Módulo Financiero
158
Método actualizarRegistro.- Actualiza el registro seleccionado,
utiliza para esto el parámetro $codigo que es el id del registro.
•function
actualizarRegistro($codigo,$descripcion,$codContabilidad,$afecta)
182.
{
•
183.
if($this->con->conectar()==true)
•
184.
{
•
185.
$sql=" update fin_banco_notasdebcheque set
•
181.
fin_banco_notasdebcheque.descripcion
='".$descripcion."',
fin_banco_notasdebcheque.cod_contabilidad
=".$codContabilidad.",
fin_banco_notasdebcheque.afecta
='".$afecta."'
where
fin_banco_notasdebcheque.cod_sec =".$codigo;
186.
$consulta=mysql_query($sql);
•
187.
return 1;
•
188.
}
•
189.
}
•
Método eliminar ($codigo).-
Actualiza el estatus del registro, a
inactivo para que no sea tomado en cuenta (eliminado lógico).
• function eliminar($codigo)
{
•
if($this->con->conectar()==true)
•
{
•
$sql=" update fin_banco_notasdebcheque set
•
fin_banco_notasdebcheque.estado
='I'
where
fin_banco_notasdebcheque.cod_sec =".$codigo;
195.
$consulta=mysql_query($sql);
•
196.
return 1;
•
197.
}
•
198.
}
•
190.
191.
192.
193.
194.
Módulo Financiero
159
Método MostrarDepositosCheques.- Saca los movimientos que
coinciden con los depósitos de cheques para ser visualizados por
el documento Html.
199. • function mostrarDepositosCheques()
200. •
{ if($this->con->conectar()==true)
201. • {
$sql="SELECT fin_banco_movimientos.cod_banco_movimientos
AS
CODIGO,
fin_banco_movimientos.cod_tipo_movimiento
AS
codiMovimientos , fin_banco_movimientos.con_cod_diario as Diario,
fin_banco_movimientos.num_documento
AS
Documento
,
fin_banco_movimientos.descripcion
as
Descripcion,
fin_banco_movimientos.fecha as Fecha, fin_banco_movimientos.valor_total
as Valor, fin_banco_movimientos.cod_banco_cuenta as cuenta FROM
fin_banco_movimientos
where
fin_banco_movimientos.cod_tipo_movimiento
=9
and
fin_banco_movimientos.estado='A'
and
upper(fin_banco_movimientos.conciliado)='N'
order
by
fin_banco_movimientos.fecha desc ";
202. •
$consulta=mysql_query($sql);
return $consulta; } }
Método Cheque($codigoMovimiento).- Saca los valores del
cheque almacenados en la entidad cxc_cobros.
203. function cheque($codigoMovimiento)
204.
{ if($this->con->conectar()==true)
205.
{
$sql="select cxc_cobros.cod_cheque as codigo,
cxc_cheque.nombre_banco as Banco, cxc_cheque.Numero_cheque as
Numcheque, cxc_cheque.numero_cuenta as Cuenta, cxc_cheque.monto
as Valor from cxc_cobros, cxc_cheque where cxc_cobros.cod_predeposito
in(select tes_deposito_caja.cod_deposito from tes_deposito_caja where
tes_deposito_caja.fin_cod_movimiento=".$codigoMovimiento.")
and
cxc_cheque.cod_cheque=
cxc_cobros.cod_cheque
and
cxc_cheque.cod_tipo_cheque=4 and upper(cxc_cheque.estado)='A'";
206. $consulta=mysql_query($sql);
207.
return $consulta; } }
Módulo Financiero
160
Clase Movimientos.- La clase movimientos es la clase más usada
en el sistema bancos, esta clase interactúa con las entidades,
fin_banco_movimientos, fin_banco_detalleMovimentos, las cuales
son actualizadas con los diferentes métodos, además la clase
actualiza los saldos de las cuentas gracias a que actualiza datos de
fin_banco_cuenta
1.
• class Movimiento { var $con;
var $conexion;
•
///datos cuenta bancaria;
•
var $contabilidaFisicaBanco;
•
var $numeroCuenta;
•
var $bancoParticipante;
•
var $contabilidadContableBanco;
•
•var $cadenaSql="SELECT
9.
fin_banco_movimientos.cod_banco_movimientos
as
Codigo,fin_banco_movimientos.cod_banco_cuenta
as
Cod_cuenta,fin_banco_movimientos.cod_tipo_movimiento as
10. Cod_Tipo_M,fin_banco_movimientos.gen_cod_participante
as
Cod_participante,fin_banco_movimientos.num_documento
as
Num_documento,fin_banco_movimientos.fecha
as
Fecha,fin_banco_movimientos.valor_total
as
Total,fin_banco_movimientos.conciliado
as
Conciliado,fin_banco_tipo_movimiento.descripcion
as
Des_Tipo,fin_banco_tipo_movimiento.operacion
as
Operacion,fin_banco_movimientos.descripcion
as
Descripcion,fin_banco_cuenta.n_cuenta
as
Num_cuenta,fin_banco_movimientos.cod_sucursal as Sucursal FROM
fin_banco_movimientos,fin_banco_tipo_movimiento,fin_banco_cuenta
WHERE
fin_banco_movimientos.cod_tipo_movimiento
=
fin_banco_tipo_movimiento.cod_tipo_movimiento
AND
fin_banco_movimientos.cod_banco_cuenta
=
fin_banco_cuenta.cod_banco_cuenta
AND
upper(fin_banco_movimientos.estado)='A'";
11.
function Movimiento() { $this->con=new DBManager }
•
2.
3.
4.
5.
6.
7.
8.
Módulo Financiero
161
Método insertar movimientos.- Este método Inserta los
movimientos según su naturaleza tanto en contabilidad como en la
entidad Detalle Movimientos.
12. •function insertar_movimiento(
13. $cod_banco_cuenta,$cod_tipo_movimiento,$gen_cod_participante,$num_d
ocumento,$valor_total,$descripcion,$conciliado,$fecha_conciliado,$respon
sable_conciliacion,$usuario_creacion,$usuario_mod,$detalle_movimiento_
col1,$detalle_movimiento_col2,$detalle_movimiento_col3,$detalle_cheque
s,$sucursal,$fecha ) {
14. •
$this->sacarDatosCuentas($cod_banco_cuenta);
15. •
$sucursal =$sucursal;
16. •
$modulo_erp =1;
17. •
$tipo_doc =1;
18. •
$vtotal =$valor_total;
19. •
$concepto =$descripcion;
20. •
$user =$usuario_creacion;
21.
$participanteBanco=$this->bancoParticipante;
•
22.
$codigoPlanCuentaBanco=1;
•
23.
$cuentaBancaria=$this->numeroCuenta;
•
24.
$cuenta=$this->contabilidadContableBanco;
•
25.
$cabecera=0;
•
26.
//asiento contable... //asiento contable....
•
$tipo_docu=$cod_tipo_movimiento;
27.
//inserta detalle //inserto el banco en el detalle.....
•
$op='';
28.
switch($cod_tipo_movimiento) {
•
29.
case 1:$tipo1='D';
•
30.
$tipo2='H';
•
31.
$op='+';
•
32.
$tipo_docu=8;
•
33.
break;
•
34.
case 3:$tipo1='H';
•
35.
$tipo2='D';
•
36.
$op='-';
•
37.
$tipo_docu=10;
•
38.
break;
•
39.
case 4:$tipo1='D';
•
40.
$tipo2='H';
•
Módulo Financiero
162
$op='+';
•
$tipo_docu=11;
•
break;
•
case 10:$tipo1='H';
•
$tipo2='D';
•
$op='-';
•
$tipo_docu=10;
•
break;
•
case 9:$tipo1='D';
•
$tipo2='H';
•
$op='+';
•
$tipo_docu=8;
•
break;
•
case 8: $tipo1='D';
•
$tipo2='H';
•
$op='+';
•
$tipo_docu=8;
•
break;
•
}
•
$concepto=$descripcion;
•
$cabecera=$this•
>insertarCabeceraContabilidad($sucursal,$modulo_erp,$vtotal,$concepto,$user
,$tipo_docu);
62.
$CodErp=1;
•
63.
$valorTotal=$valor_total;
•
64.
$valorDetalle=$valorTotal;
•
65.
$this•
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
>insertarDetalleContabilidad($cabecera,$tipo1,$cuenta,$CodErp,$valorDetalle,$
valorTotal,$sucursal);
66.
//insercion de los detalles $col1= array();
•
67.
$col2= array();
•
68.
$col3= array();
•
69.
//$col2= array();
•
70.
//echo $detalle_movimiento_col1.'???'.
•
$detalle_movimiento_col2;
71.
$col1= explode(",",$detalle_movimiento_col1);
•
72.
// trae los cidigos de las cuentas contables
•
$col2=explode(",",$detalle_movimiento_col2);
73.
// trae los valores;
•
74.
$col3= explode(",",$detalle_movimiento_col1);
•
75.
// trae los cidigos de las cuentas contables fisicos)
•
//$col2=explode(",",$detalle_movimiento_col2);
Módulo Financiero
163
// trae los valores;
•
for($i=0;
•
$i<count($col2);
•
$i++) {
•
$this•
>insertarDetalleContabilidad($cabecera,$tipo2,$col1[$i],$CodErp,$col2[$i],$valo
rTotal,$sucursal);
81.
}
•
82.
if($this->con->conectar()==true) {
•
83.
$resultado=mysql_query('SET AUTOCOMMIT=0');
•
84.
$resultado=mysql_query('START
•
76.
77.
78.
79.
80.
TRANSACTION');
85.
$resultado=mysql_query('BEGIN');
•
86.
//insert de la cadena cabecera //
•
87.
$retorno=$this->insertarCabecera(
•
$cod_banco_cuenta,$cod_tipo_movimiento,$participanteBanco,$num_documen
to,$valor_total,$descripcion,$usuario_creacion,$usuario_mod,$sucursal,$cabec
era,$fecha );
88.
$retorno2=$this•
>insertComMoviGen($CodErp,$cabecera,$participanteBanco,$cuenta,$tipo1,$v
alor_total);
89.
if(!$retorno) {
•
90.
mysql_query('ROLLBACK');
•
91.
mysql_query('SET AUTOCOMMIT=1');
•
92.
return -1;
•
93.
}
•
94.
else {
•
95.
$cod_banco_movimientos=$retorno;
•
96.
}
•
97.
$participante=1;
•
98.
/////////////// resolver participante for($i=0;
•
99.
$i<count($col2);
•
100.
$i++)
{
•
101.
$retorno=$this•
>insertarDetalle($cod_banco_movimientos,$col1[$i],$col2[$i],$usuario_creacion
);
102.
$retorno2=$this•
>insertComMoviGen($CodErp,$cabecera,$participanteBanco,$col1[$i],$tipo2,$c
ol2[$i]);
103.
if(!$retorno) {
•
104.
mysql_query('ROLLBACK');
•
105.
mysql_query('SET AUTOCOMMIT=1');
•
Módulo Financiero
164
return -1;
•
}
•
}
•
$retono=$this•
>cambiarSaldo($cod_banco_cuenta,$op,$valor_total);
110.
mysql_query('COMMIT');
•
111.
mysql_query('SET AUTOCOMMIT=1');
•
112.
return $cod_banco_movimientos;
•
113.
}
•
114.
}
•
115.
//
fin
funcion
insertar...
function
•
106.
107.
108.
109.
mostrar_movimiento_id($cod_banco_movimientos) {
116.
if($this->con->conectar()==true) {
•
117.
$cadena=$this->cadenaSql;
•
118.
$cadena=$cadena."
•
and
fin_banco_movimientos.cod_banco_movimientos =";
119.
$cadena=$cadena.$cod_banco_movimientos;
•
120.
$retorno= mysql_query($cadena);
•
121.
return $retorno;
•
122.
}
•
123.
}
•
124.
125.
126.
127.
128.
129.
130.
131.
132.
•
function detalle_movimiento($id_movimiento) {
$cadena=
•
"
SELECT
fin_banco_detalle_movimiento.valor
as
Valor,con_plan_cuentas.descripcion
as
Descripcion,fin_banco_detalle_movimiento.con_cuenta_afectada,fin_ba
nco_detalle_movimiento.cod_banco_movimientos,con_plan_cuentas.co
digo_cuenta
as
Codigo_cuenta
FROM
fin_banco_detalle_movimiento,con_plan_cuentas
WHERE
fin_banco_detalle_movimiento.con_cuenta_afectada
=
con_plan_cuentas.cod_plan_cuentas
and
fin_banco_detalle_movimiento.cod_banco_movimientos =";
$cadena= $cadena.$id_movimiento;
•
if($this->con->conectar()==true) {
•
$retorno=mysql_query($cadena);
•
}
•
return $retorno;
•
}
•
Módulo Financiero
165
Método mostrarMovimientos.- Muestra todos los movimientos
activos según los parámetros ingresados.
•function
mostrarMovimientos($codCuenta,$codSucursal,$inicio,
134.
$fin,$tipoMov=1,$numDoc='',$descripcion='',$operacion='',$conciliado='%')
135.
{
136.
if($this->con->conectar()==true) {
•
137.
if($codSucursal==-1) {
•
133.
138.

$condicion1
="
fin_banco_movimientos.cod_sucursal>-1 ";
139.

}
140.

else {
141.

$condicion1
="
fin_banco_movimientos.cod_sucursal= ".$codSucursal;
142.

}
143.

if($codCuenta==-1) {
144.

$condicion2
="
fin_banco_movimientos.cod_banco_cuenta>-1 ";
145.

}
146.

else {
147.

$condicion2
="
fin_banco_movimientos.cod_banco_cuenta= ".$codCuenta;
148.

}
149.

if($tipoMov==-1) {
150.

$condicion4="";
151.

}
152.

else {
153.

$condicion4="
fin_banco_movimientos.cod_tipo_movimiento = ".$tipoMov;
154.

}
155.

if($numDoc=='') {
156.

$condicion5 ="";
157.

}
158.

else {
159.

$condicion5="
fin_banco_movimientos.num_documento= ".$numDoc;
160.

}
Módulo Financiero
and
and
and
and
and
and
166
161.

$condicion7="
and
fin_banco_movimientos.descripcion like '%".$descripcion."%'";
162.

if($operacion=='') {
163.

$condicion6 ="";
164.

}
165.

else {
166.

$condicion6="
and
fin_banco_tipo_movimiento.operacion like'".$operacion."'";
167.

}
168.

if($conciliado=='A') {
169.

$condicion8
="and
upper(fin_banco_movimientos.conciliado) in ('T','S') ";
170.

}
171.
else {
•
172.
$condicion8=" and
•
upper(fin_banco_movimientos.conciliado) like '".$conciliado."'";
173.
}
•
174.
$fecha_inicio="'".$inicio." 00:00:00'";
•
175.
$fecha_fin="'".$fin." 23:59:59'";
•
176.
$condicion3="
•
and
fin_banco_movimientos.fecha_creacion>=
".$fecha_inicio."
and
fin_banco_movimientos.fecha_creacion<= ".$fecha_fin;
177. •
$sql="SELECT fin_banco_movimientos.cod_banco_movimientos
as
Codigo,fin_banco_movimientos.cod_banco_cuenta
as
Cod_cuenta,fin_banco_movimientos.cod_tipo_movimiento
as
Cod_Tipo_M,fin_banco_movimientos.gen_cod_participante
as
Cod_participante,fin_banco_movimientos.num_documento
as
Num_documento,fin_banco_movimientos.fecha
as
Fecha,fin_banco_movimientos.valor_total
as
Total,fin_banco_movimientos.conciliado
as
Conciliado,fin_banco_tipo_movimiento.descripcion
as
Des_Tipo,fin_banco_tipo_movimiento.operacion
as
Operacion,fin_banco_movimientos.descripcion
as
Descripcion,fin_banco_cuenta.n_cuenta
as
Num_cuenta,fin_banco_movimientos.cod_sucursal
as
Cod_Sucursal,gen_sucursal.nombre
as
Nombre_sucursal,fin_banco_movimientos.con_cod_diario
as
Cod_diario,gen_participantes.nombre
as
Nombre_banco,date(fin_banco_movimientos.fecha_conciliado)
as
Fecha_conciliado
FROM
fin_banco_movimientos,fin_banco_tipo_movimiento,fin_banco_cuenta,gen_s
ucursal,fin_banco,gen_participantes
WHERE
Módulo Financiero
167
fin_banco_movimientos.cod_tipo_movimiento
=
fin_banco_tipo_movimiento.cod_tipo_movimiento
AND
fin_banco_movimientos.cod_banco_cuenta
=
fin_banco_cuenta.cod_banco_cuenta
AND
upper(fin_banco_movimientos.estado)='A'
AND
gen_participantes.cod_participante=fin_banco.gen_cod_participante
and
fin_banco.cod_banco=fin_banco_cuenta.cod_banco
AND
fin_banco_movimientos.cod_sucursal=gen_sucursal.cod_sucursal
".$condicion1.$condicion2.$condicion3.$condicion4.$condicion5.$condicion6
.$condicion7.$condicion8. " order by fin_banco_movimientos.fecha desc";
178.
//echo $sql;
•
179.
return mysql_query($sql);
•
180.
}
•
181.
}
•
Método insertarTransferencia.- Es el encargado de transferir los
valores entre las cuentas bancaria de la empresa, a demás hace el
asiento contable correspondiente y actualiza los saldos de ambas
cuentas, cuando existe un error devuelve como resultado un valor de
1 en caso de éxito devuelve el valor del movimientos.
182.
insertarTransferencia(
function
$codCuentaOrigen,$codCuentaDestino,$numDocumento,$descripcion,$valor
,$codSucursal,$usuario_creacion,$usuario_mod,$contabilidad1,$contabilida
d2,$fecha ) {
183.
$this->sacarDatosCuentas($codCuentaOrigen);
184.
$modulo_erp =1;
185.
$tipo_doc =5;
186.
$vtotal =$valor_total;
187.
$concepto =$descripcion;
188.
$user =$usuario_creacion;
189.
$participanteBanco=$this->bancoParticipante;
190.
// $codigoPlanCuentaBanco=1;
191.
$cuentaBancaria=$this->numeroCuenta;
192.
$cuenta1=$this->contabilidadContableBanco;
Módulo Financiero
168
193.
$cabecera=0;
194.
//asiento contable... //asiento contable....
$tipo_docu=$cod_tipo_movimiento;
195.
$cod_banco_cuenta=$codCuentaOrigen;
196.
$cod_tipo_movimiento=7;
197.
$num_documento=$numDocumento;
198.
$valor_total= $valor;
199.
$sucursal=$codSucursal;
200.
$cabecera=$this>insertarCabeceraContabilidad($codSucursal,$modulo_erp,$valor,$concepto
,$usuario_creacion,5);
201.
$this>insertarDetalleContabilidad($cabecera,'D',$cuenta1,$modulo_erp,$valor,$v
alor,$sucursal);
202.
$this->sacarDatosCuentas($codCuentaDestino);
203.
$cuenta2=$this->contabilidadContableBanco;
204.
$this>insertarDetalleContabilidad($cabecera,'H',$cuenta2,$modulo_erp,$valor,$v
alor,$sucursal);
205.
if($this->con->conectar()==true) {
206.
$resultado=mysql_query('SET AUTOCOMMIT=0');
207.
$resultado=mysql_query('START TRANSACTION');
208.
$resultado=mysql_query('BEGIN');
209.
$this->sacarDatosCuentas($codCuentaDestino);
210.
$cuenta=$this->contabilidadContableBanco;
211.
$retorno2=$this>insertCmMoviGen($modulo_erp,$cabecera,$this>bancoParticipante,$cuenta,'D',$valor);
212.
$this->sacarDatosCuentas($codCuentaDestino);
213.
$cuenta=$this->contabilidadContableBanco;
214.
$retorno2=$this>insertComMoviGen($modulo_erp,$cabecera,$this>bancoParticipante,$cuenta,'H',$valor);
215.
$tipo_docu=$cod_tipo_movimiento;
216.
$cod_banco_cuenta=$codCuentaOrigen;
217.
$cod_tipo_movimiento=7;
218.
$num_documento=$numDocumento;
219.
$valor_total = $valor;
220.
$sucursal =$codSucursal;
221.
$concepto =$descripcion;
222.
$retorno=$this->insertarCabecera(
$codCuntaOrigen,$cod_tipo_movimiento,$this-
Módulo Financiero
169
>bancoParticipante,$numDocumento,$valor_total,$descripcion,$usuario_cre
acion,$usuario_mod,$sucursal,$cabecera,$fecha );
223.
if(!$retorno) {
224.
mysql_query('ROLLBACK');
225.
mysql_query('SET AUTOCOMMIT=1');
226.
return -1;
227.
}
228.
else {
229.
$cod_banco_movimientos=$retorno;
230.
}
231.
$retorno=$this>insertarDetalle($cod_banco_movimientos,$contabilidad2,$valor_total,$usua
rio_creacion);
232.
$this->sacarDatosCuentas($codCuentaDestino);
233.
$cod_banco_cuenta=$codCuentaDestino;
234.
$cod_tipo_movimiento=6;
235.
$num_documento=$numDocumento;
236.
$verificador_insercion=0;
237.
$valor_total= $valor;
238.
$retorno=$this->insertarCabecera(
$codCuentaDestino,$cod_tipo_movimiento,$this>bancoParticipante,$numDocumento,$valor_total,$descripcion,$usuario_cre
acion,$usuario_mod,$sucursal,$cabecera,$fecha );
239.
if(!$retorno) {
240.
mysql_query('ROLLBACK');
241.
mysql_query('SET AUTOCOMMIT=1');
242.
return -1;
•
243.
}
•
244.
else {
•
245.
$cod_banco_movimientos=$retorno;
•
246.
}
•
247.
$retorno=$this•
>insertarDetalle($cod_banco_movimientos,$contabilidad1,$valor_total,$usua
rio_creacion);
248.
$cadena='';
•
249.
$this->cambiarSaldo($codCuentaOrigen,'•
',$valor_total);
250.
•
>cambiarSaldo($codCuentaDestino,'+',$valor_total);
251.
if(!$retorno) {
•
252.
mysql_query('ROLLBACK');
•
253.
mysql_query('SET AUTOCOMMIT=1');
•
Módulo Financiero
$this-
170
254.
255.
256.
257.
258.
259.
260.
•
•
•
•
•
•
•
261.
return -1;
}
mysql_query('COMMIT');
mysql_query('SET AUTOCOMMIT=1');
return $cod_banco_movimientos;
}
}
Método anulacionMovimiento($codigoMovimiento).- Anula los
movimientos de fin_banco _movimientos y además hace un asiento
contable, valida si el movimientos es un movimiento de tipo
transacción además cuando la anulación es satisfactoria devuelve
como resultado 0.
262.
263.
264.
• function anulacionMovimiento($codigoMovimiento) {
if($this->con->conectar()==true) {
$sql=" select fin_banco_movimientos.valor_total
•
AS Valor,fin_banco_movimientos.con_cod_diario as
Diario,fin_banco_tipo_movimiento.operacion as
Signo,fin_banco_tipo_movimiento.cod_tipo_movimiento as
Cod_tipo,fin_banco_movimientos.cod_banco_cuenta as Cod_cuenta from
fin_banco_movimientos,fin_banco_tipo_movimiento where
fin_banco_movimientos.cod_tipo_movimiento=
fin_banco_tipo_movimiento.cod_tipo_movimiento and
fin_banco_movimientos.cod_banco_movimientos=".$codigoMovimiento;
265.
//echo '<br />'.$sql;
•
266.
$retorno= mysql_query($sql);
•
267.
$retorno= mysql_fetch_array($retorno);
•
268.
$valor=$retorno['Valor'];
•
269.
$diario=$retorno['Diario'];
•
270.
$signo=$retorno['Signo'];
•
271.
$cuenta=$retorno['Cod_cuenta'];
•
272.
$codigoTipoMovimiento=$retorno['Cod_tipo'];
•
Módulo Financiero
171
//anulo el movimiento
•
switch($codigoTipoMovimiento) {
274.
case 1:$tpDoc=8;
•
275.
break;
•
276.
case 3:$tpDoc=10;
•
277.
break;
•
278.
case 4:$tpDoc=11;
•
279.
break;
•
280.
default:$tpDoc=5;
•
281.
break;
•
282.
}
•
283.
$sql=" update fin_banco_movimientos set
•
273.
fin_banco_movimientos.estado ='I' where
fin_banco_movimientos.cod_banco_movimientos=".$codigoMovimiento. " and
upper(fin_banco_movimientos.conciliado)='N'";
284.
$retorno= mysql_query($sql);
•
285.
$sql2=" update fin_banco_detalle_conciliacion set
•
fin_banco_detalle_conciliacion.tipo='D' where
fin_banco_detalle_conciliacion.cod_movimiento=".$codigoMovimiento;
286.
$retorno2= mysql_query($sql2);
•
287.
288.
if($signo=='+') {
•
$retorno=$this->cambiarSaldo($cuenta,'-
',$valor);
289.
290.
291.
}
•
else {
•
$retorno=$this•
>cambiarSaldo($cuenta,'+',$valor);
292.
}
•
293.
if (($codigoTipoMovimiento==6)||($codigoTipoMovimiento==7)) {
294.
$sql= "select
•
fin_banco_movimientos.cod_banco_cuenta as
cuenta,fin_banco_movimientos.cod_banco_movimientos as
codigo,fin_banco_movimientos.cod_banco_movimientos as
codigo,fin_banco_movimientos.cod_tipo_movimiento as Cod_tipo from
fin_banco_movimientos where
fin_banco_movimientos.cod_banco_movimientos<>".$codigoMovimiento." and
upper(fin_banco_movimientos.conciliado)='N' and
fin_banco_movimientos.con_cod_diario=".$diario." AND
fin_banco_movimientos.valor_total=".$valor;
295.
// echo '<br />'.$sql;
•
296.
$retorno= mysql_query($sql);
•
297.
$retorno= mysql_fetch_array($retorno);
•
Módulo Financiero
172
$cuenta=$retorno['cuenta'];
•
$codigoMovimiento=$retorno['codigo'];
•
//$tipoMovimiento=$retorno['Cod_tipo'];
•
//signo anterior para el saldo.. $sql=" update
•
fin_banco_movimientos set fin_banco_movimientos.estado ='I' where
fin_banco_movimientos.cod_banco_movimientos=".$codigoMovimiento. " and
upper(fin_banco_movimientos.conciliado)='N'";
302.
$retorno= mysql_query($sql);
•
303.
$sql2=" update fin_banco_detalle_conciliacion
•
298.
299.
300.
301.
set fin_banco_detalle_conciliacion.tipo='D' where
fin_banco_detalle_conciliacion.cod_movimiento=".$codigoMovimiento;
304.
$retorno2= mysql_query($sql2);
•
305.
if($signo=='+') {
•
306.
$retorno=$this•
>cambiarSaldo($cuenta,'+',$valor);
307.
}
•
308.
else {
•
309.
$retorno=$this->cambiarSaldo($cuenta,'•
',$valor);
310.
}
•
else
}
•
313.
if codigo 7 $this->anulacionContabilidad
($codigoMovimiento,'bg');
314.
}
•
315.
•
316.
}
•
317.
•
311.
312.
Método insertarCabecera.- Inserta los datos, y devuelve como
resultado el movimientos, este es utilizado por los métodos insertar,
insertar transferencias.
• function
insertarCabecera($cod_banco_cuenta,$cod_tipo_movimiento,$gen_cod_partici
pante,$num_documento,$valor_total,$descripcion,$usuario_creacion,$usuario_
mod,$sucursal,$cabecera,$fecha_actual='NOW()' ) {
318.
Módulo Financiero
173
$sql="select count(cod_banco_movimientos) reg from
•
fin_banco_movimientos";
320.
// echo $fecha_actual;
•
321.
$consulta=mysql_query($sql);
•
322.
$registro=mysql_fetch_array($consulta);
•
323.
$registro=$registro['reg'];
•
324.
$cod_banco_movimientos=$registro+1;
•
325.
$cadena= "insert into fin_banco_movimientos (";
•
326.
$cadena=$cadena."
•
319.
fin_banco_movimientos.cod_banco_movimientos,";
327.
$cadena=$cadena."
•
fin_banco_movimientos.cod_banco_cuenta,";
328.
$cadena=$cadena."
•
fin_banco_movimientos.cod_tipo_movimiento,";
329.
$cadena=$cadena."
•
fin_banco_movimientos.gen_cod_participante,";
330.
$cadena=$cadena."
•
fin_banco_movimientos.num_documento,";
331.
$cadena=$cadena." fin_banco_movimientos.fecha,";
•
332.
$cadena=$cadena."
•
fin_banco_movimientos.valor_total,";
333.
$cadena=$cadena."
•
fin_banco_movimientos.descripcion,";
334.
$cadena=$cadena."
•
fin_banco_movimientos.conciliado,";
335.
$cadena=$cadena."
•
fin_banco_movimientos.fecha_conciliado,";
336.
$cadena=$cadena."
•
fin_banco_movimientos.responsable_conciliacion,";
337.
$cadena=$cadena."
•
fin_banco_movimientos.usuario_creacion,";
338.
$cadena=$cadena."
•
fin_banco_movimientos.fecha_creacion,";
339.
$cadena=$cadena."
•
fin_banco_movimientos.usuario_mod,";
340.
$cadena=$cadena."
•
fin_banco_movimientos.fecha_mod,";
341.
$cadena=$cadena." fin_banco_movimientos.estado,";
•
342.
$cadena=$cadena."
•
fin_banco_movimientos.cod_sucursal,";
343.
$cadena=$cadena."
•
fin_banco_movimientos.con_cod_diario";
Módulo Financiero
174
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
$cadena=$cadena." ) values(";
$cadena=$cadena.$cod_banco_movimientos.",";
$cadena=$cadena.$cod_banco_cuenta.",";
$cadena=$cadena.$cod_tipo_movimiento.",";
$cadena=$cadena.$gen_cod_participante.",";
$cadena=$cadena.$num_documento.",";
$cadena=$cadena." '".$fecha_actual."',";
$cadena=$cadena.$valor_total.",";
$cadena=$cadena." '".$descripcion."',";
$cadena=$cadena." 'n',";
$cadena=$cadena." '',";
$cadena=$cadena." '',";
$cadena=$cadena." '".$usuario_creacion."',";
$cadena=$cadena." NOW()".",";
$cadena=$cadena." '".$usuario_mod."',";
$cadena=$cadena." NOW()".",";
$cadena=$cadena."'".'A'."'";
$cadena=$cadena.",".$sucursal;
$cadena=$cadena.",".$cabecera;
$cadena=$cadena.")";
$retorno=mysql_query($cadena);
if(!retorno) {
return $retorno;
}
else {
return $cod_banco_movimientos;
}
}
Metodo insertarDetalle.- Inserta el detalle de la transacción.
function
•
insertarDetalle($cod_banco_movimientos,$conCuenta,$valor,$usuario_creacion)
{
373.
$consulta="select count(cod_banco_cuentas_detalle) reg
•
372.
";
374.
$consulta=$consulta."from
•
fin_banco_detalle_movimiento";
375.
$registros=mysql_query($consulta);
•
Módulo Financiero
175
$registro = mysql_fetch_array($registros);
•
$registro=$registro['reg'];
•
$cod_banco_cuentas_detalle=$registro+1;
•
$cadena= "";
•
$cadena=$cadena." insert into";
•
$cadena=$cadena." fin_banco_detalle_movimiento";
•
$cadena=$cadena." ( ";
•
$cadena=$cadena."
•
fin_banco_detalle_movimiento.cod_banco_cuentas_detalle,";
384.
$cadena=$cadena."
•
376.
377.
378.
379.
380.
381.
382.
383.
fin_banco_detalle_movimiento.cod_banco_movimientos,";
385.
$cadena=$cadena."
•
fin_banco_detalle_movimiento.con_cuenta_afectada,";
386.
$cadena=$cadena."
•
fin_banco_detalle_movimiento.valor,";
387.
$cadena=$cadena."
•
fin_banco_detalle_movimiento.estado,";
388.
$cadena=$cadena."
•
fin_banco_detalle_movimiento.usuario_creacion,";
389.
$cadena=$cadena."
•
fin_banco_detalle_movimiento.fecha_creacion,";
390.
$cadena=$cadena."
•
fin_banco_detalle_movimiento.usuario_mod,";
391.
$cadena=$cadena."
•
fin_banco_detalle_movimiento.fecha_mod";
392.
$cadena=$cadena." ) values (";
•
393.
$cadena=$cadena.$cod_banco_cuentas_detalle.",";
•
394.
$cadena=$cadena.$cod_banco_movimientos.",";
•
395.
$cadena=$cadena.$conCuenta.",";
•
396.
$cadena=$cadena.$valor.",";
•
397.
$cadena=$cadena." 'A' ".",";
•
398.
$cadena=$cadena." '".$usuario_creacion."',";
•
399.
$cadena=$cadena." NOW() ".",";
•
400.
$cadena=$cadena." '".$usuario_creacion."',";
•
401.
$cadena=$cadena." NOW() ";
•
402.
$cadena=$cadena.")";
•
403.
$retorno=mysql_query($cadena);
•
404.
return
$retorno;
•
405.
}
•
Módulo Financiero
176
Método insertarCabeceraContabilidad.- Inserta la cabecera de
contablidad gracias al SP sp_ingresa_cab_asiento.
406.
407.
 function
insertarCabeceraContabilidad($sucursal,$modulo_erp,$vtotal,$concepto,$user,$ti
po_doc) {
408.

$conexion=$this->con->conectarli();
409.

$sql= "CALL sp_ingresa_cab_asiento (".$sucursal.','
.$modulo_erp.','.$tipo_doc.',' .$vtotal.',"' .$concepto.'","' .$user.'")';
410.
;
411.

$retorno =mysqli_query($conexion,$sql);
412.

while ($row = mysqli_fetch_array($retorno)) {
413.

$cabecera=$row[1];
414.

}
415.

$this->con->cerrarConexion($conexion);
416.

return $cabecera;
417.
 }
418.
Método insertarDetalleContabilidad.- inserta el detalle en
contabilidad por cada registro.
419. •function insertarDetalleContabilidad( $cabecera,$tipo,$cuenta,$CodErp,
420. $valorDetalle,$valorTotal,$sucursal) {
421. •
$cuenta=$this->sacarDatosContable($cuenta);
422. •
$sql='call sp_ingresa_det_asiento('.$cabecera.',"' .$cuenta.'",
423. "' .$tipo.'",' .$CodErp.',' .$valorDetalle.',' .$valorTotal. ',"","s",' .$sucursal.')';
424. •
$conexion=$this->con->conectarli();
425. •
$result = mysqli_query($conexion,$sql);
426. •
$row=mysqli_fetch_array($result);
427. •
$this->con->cerrarConexion($conexion);
428. •
429. •
}
Módulo Financiero
177
Método insertComMoviGen.- Inserta los datos cuadrados en la
entidad correspondiente.
430.
431.
432.
•function insertComMoviGen($CodErp,$cabecera,
$participante,$codigoPlanCuenta,$tipo,$valor) {
insert
con_movimientos_gen
•$sql="
(
con_movimientos_gen.cod_modulo_erp,con_movimientos_gen.cod_cab_asi
ento,con_movimientos_gen.cod_participante,con_movimientos_gen.cod_pla
n_cuentas,con_movimientos_gen.cuenta_bancaria,con_movimientos_gen.va
lor,con_movimientos_gen.signo) values( ".$CodErp."," .$cabecera. ","
.$participante."," .$codigoPlanCuenta.",'" .$cuentaBancaria."'," .$valor.",'"
.$tipo. "')";
433.
return mysql_query($sql);
•
434.
}
•
Método sacarDatosCuentas.- Nos proporciona los datos de las
cuentas bancarias para insertar correctamente a contabilidad.
• function sacarDatosCuentas($codCuenta) {
if($this->con->conectar()==true) {
•
$sql="select fin_banco_cuenta.n_cuenta as
•
codigo,fin_banco_cuenta.con_cod_plan_cuenta
as
CC,fin_banco.gen_cod_participante as parti from fin_banco_cuenta,fin_banco
where
fin_banco.cod_banco=fin_banco_cuenta.cod_banco
and
fin_banco_cuenta.cod_banco_cuenta=".$codCuenta;
438.
$retorno=mysql_query($sql);
•
439.
//echo $sql;
•
440.
$retorno=mysql_fetch_array($retorno);
•
441.
//$this->con->cerrarNormal();
•
442.
$this->bancoParticipante=$retorno['parti'];
•
443.
$this->contabilidadContableBanco=$retorno['CC'];
•
444.
$this->numeroCuenta=$retorno['codigo'];
•
445.
}
•
446.
}
•
447.
• function sacarDatosContable($codCuenta) {
435.
436.
437.
Módulo Financiero
178
//echo 'Cuenta contable ---- '.$codCuenta;
•
if($this->con->conectar()==true) {
•
$sql="SELECT con_plan_cuentas.codigo_cuenta
•
as Cuenta FROM con_plan_cuentas where con_plan_cuentas.cod_plan_cuentas
=".$codCuenta;
451.
$retorno=mysql_query($sql);
•
452.
//echo $sql;
•
453.
$retorno=mysql_fetch_array($retorno);
•
454.
$this->con->cerrarNormal();
•
455.
return $retorno['Cuenta'];
•
456.
}
•
457.
}
•
448.
449.
450.
Método cambiarSaldo.- Permite cambiar los saldos de las cuentas
bancarias que intervienen en los movimientos realizados.
• function cambiarSaldo($codCuenta,$op,$valor) {
if($this->con->conectar()==true) {
•
if($op=='+') {
•
$sql="update fin_banco_cuenta set
•
fin_banco_cuenta.saldo=fin_banco_cuenta.saldo+".$valor."
where
fin_banco_cuenta.cod_banco_cuenta=".$codCuenta;
462.
}
•
463.
else {
•
464.
$sql="update fin_banco_cuenta set
•
458.
459.
460.
461.
465.
466.
467.
468.
469.
fin_banco_cuenta.saldo=fin_banco_cuenta.saldo-".$valor."
fin_banco_cuenta.cod_banco_cuenta=".$codCuenta;
}
•
$retorno=mysql_query($sql);
•
return $retorno;
•
}
•
}
•
Módulo Financiero
where
179
Método anulacionContabilidad.- En el momento que se elimina
un movimientos de la tabla fin_banco_movimientos, este
automáticamente elimina el movimiento contable haciendo un
contra-asiento.
470.
471.
472.
• function anulacionContabilidad($movimiento,$usuario='bg') {
$sql
=
"SELECT
•
fin_banco_movimientos.cod_banco_movimientos
Codigo,fin_banco_movimientos.cod_banco_cuenta
Cod_cuenta,fin_banco_movimientos.cod_tipo_movimiento
Cod_Tipo_M,fin_banco_movimientos.gen_cod_participante as
473.
Cod_participante,fin_banco_movimientos.valor_total
Total,fin_banco_movimientos.descripcion as
474.
Descripcion,fin_banco_movimientos.cod_sucursal
Sucursal,fin_banco_movimientos.valor_total
as
Valor
fin_banco_movimientos
fin_banco_movimientos.cod_banco_movimientos=".$movimiento;
475.
$sql2=
"
•
as
as
as
as
as
FROM
WHERE
SELECT
fin_banco_detalle_movimiento.cod_banco_movimientos
as
Cod_movimiento,fin_banco_detalle_movimiento.con_cuenta_afectada
as
Cuenta,fin_banco_detalle_movimiento.valor
as
Valor
FROM
fin_banco_detalle_movimiento
where
fin_banco_detalle_movimiento.cod_banco_movimientos=".$movimiento;
476.
if($this->con->conectar()==true) {
•
477.
$retorno=mysql_query($sql);
•
478.
$registro=mysql_fetch_array($retorno);
•
479.
$detalle=mysql_query($sql2);
•
480.
$cod_tipo_movimiento=$registro['Cod_Tipo_M'];
•
481.
$descripcion ="Anulacion de
•
Registro".$registro['Descripcion'];
482.
$sucursal =$registro['Sucursal'];
•
483.
$valor = $registro['Valor'];
•
484.
$cuentaBancaria=$registro['Cod_cuenta'];
•
485.
switch ($cod_tipo_movimiento) {
•
486.
case 1:$tipo_doc=8;
•
487.
$tipo1='H';
•
Módulo Financiero
180
$tipo2='D';
•
break;
•
case
4:$tipo_doc=10;
•
$tipo1='H';
•
$tipo2='D';
•
break;
•
case 3:$tipo_doc=11;
•
$tipo1='D';
•
$tipo2='H';
•
break;
•
case 6:$tipo_doc=5;
•
$tipo1='H';
•
$tipo2='D';
•
break;
•
case 7:$tipo_doc=5;
•
$tipo1='D';
•
$tipo2='H';
•
break;
•
case 8: $tipo_doc=8;
•
$tipo1='H';
•
508.

$tipo2='D';
509.

break;
510.

}
511.

}
512.

$modulo_erp=1;
513.

$cabecera=$this>insertarCabeceraContabilidad($sucursal,$modulo_erp,$valor,$descripcion,$usu
ario,$tipo_doc);
514.

$this->sacarDatosCuentas($cuentaBancaria);
515.

$cuenta=$this->contabilidadContableBanco;
516.

$this->numeroCuenta;
517.

$this>insertarDetalleContabilidad($cabecera,$tipo1,$cuenta,$modulo_erp,$valor,$valo
r,$sucursal);
518.

//insertar
detalles...
while($fila=mysql_fetch_array($detalle)) {
519.

$a=$this>insertarDetalleContabilidad($cabecera,$tipo2,$fila['Cuenta'],$modulo_erp,$fila['V
alor'],$valor,$sucursal);
520.

}
521.

$this->con->conectar();
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
Módulo Financiero
181
522.

$this->insertComMoviGen(1,$cabecera,$this>bancoParticipante,$this->contabilidadContableBanco,$tipo1,$valor);
523.

$detalle2=mysql_query($sql2);
524.

while($fila=mysql_fetch_array($detalle2)) {
525.

//$a=$this-
>insertarDetalleContabilidad($cabecera,$tipo2,$fila['Cuenta'],$modu
lo_erp,$fila['Valor'],$valor,$sucursal);
526.

$this>insertComMoviGen(1,$cabecera,$this>bancoParticipante,10,$tipo2,$fila['Valor']);
527.

}
528.

$this->con->cerrarNormal();
529.

//return true;
530.
 }
Método movimientoHermano.- Identifica el movimiento asociado a
una trasferencia.
531.
 function m ovim ie ntoHe rm a no($codMovim ie nto) {
532.

if($this->con->conectar()==true) {
533.

$sql="
select
fin_banco_movimientos.cod_banco_movimientos
as
Codigo,fin_banco_cuenta.cod_banco_cuenta
as
Cod_cuenta,gen_participantes.nombre
as
Nombre,fin_banco_cuenta.n_cuenta
as
Numero,fin_banco_movimientos.conciliado
as
Conciliado,con_plan_cuentas.codigo_cuenta
as
Codigo,con_plan_cuentas.descripcion
as
Descripcion
from
fin_banco_movimientos,gen_participantes,fin_banco,fin_banco_cuenta,con
_plan_cuentas
where
gen_participantes.cod_participante=fin_banco.gen_cod_participante
and
fin_banco.cod_banco=fin_banco_cuenta.cod_banco
and
fin_banco_movimientos.cod_banco_movimientos
<>".$codMovimiento."
and
fin_banco_cuenta.cod_banco_cuenta
=
fin_banco_movimientos.cod_banco_cuenta
and
con_plan_cuentas.cod_plan_cuentas=fin_banco_cuenta.con_cod_plan_cue
nta
and
fin_banco_movimientos.con_cod_diario
in
(
select
Módulo Financiero
182
fin_banco_movimientos.con_cod_diario
from
fin_banco_movimientos
where
fin_banco_movimientos.cod_banco_movimientos=".$codMovimiento.") limit
1";
534.

//echo $sql;
535.

$retorno=mysql_query($sql);
536.

return $retorno;
537.

}
538.
 }
539.
Método insertarMovimientoCajaBanco.- Inserta los movimientos
de caja y bancos.
540.
function insertarMovimientoCajaBanco(
$cod_banco_cuenta,$num_documento,$valor_total,$descripcion,$usuario_creaci
on,$ArregloDepositos,$ArregloCuentasContables,$ArregloValores,$sucursal,$fec
ha,$tipoMov=8 ) {
541.
//echo $ArregloDepositos;
•
542.
//echo $ArregloCuentasContables;
•
543.
$ArregloDepositos= explode(',',$ArregloDepositos);
•
544.
•
$ArregloCuentasContables=explode(',',$ArregloCuentasContables);
545.
$ArregloValores=explode(',',$ArregloValores);
•
546.
$this->sacarDatosCuentas($cod_banco_cuenta);
•
547.
$sucursal =$sucursal;
•
548.
$modulo_erp =1;
•
549.
$tipo_doc =3;
•
550.
$vtotal =$valor_total;
•
551.
$concepto =$descripcion;
•
552.
$user =$usuario_creacion;
•
553.
$participanteBanco=$this->bancoParticipante;
•
554.
$cuentaBancaria=$this->numeroCuenta;
•
555.
$cuenta=$this->contabilidadContableBanco;
•
556.
$cabecera=0;
•
557.
$cabecera=$this•
>insertarCabeceraContabilidad($sucursal,$modulo_erp,$vtotal,$concepto,$user,$
tipo_doc);
Módulo Financiero
183
$this•
>insertarDetalleContabilidad($cabecera,'D',$cuenta,$modulo_erp,$vtotal,$vtotal,$
sucursal);
559.
for($i=0;
•
560.
$i<count($ArregloDepositos);
•
561.
$i++) {
•
562.
$this•
558.
>insertarDetalleContabilidad($cabecera,'H',$ArregloCuentasContables[$i],$modul
o_erp,$ArregloValores[$i],$vtotal,$sucursal);
563.
}
•
564.
if($this->con->conectar()==true) {
•
565.
$retorno=$this->insertarCabecera(
•
$cod_banco_cuenta,$tipoMov,$participanteBanco,$num_documento,$valor_total,
$descripcion,$usuario_creacion,$usuario_creacion,$sucursal,$cabecera,$fecha );
566.
$cod_movimiento=$retorno;
•
567.
$retorno2=$this•
>insertComMoviGen($modulo_erp,$cabecera,$participanteBanco,$cuenta,'D',$va
lor_total);
568.
$participante= $participanteBanco;
•
569.
/////////////// resolver participante for($i=0;
•
570.
$i<count($ArregloDepositos);
•
571.
$i++) {
•
572.
$retorno=$this•
>insertarDetalle($retorno,$ArregloCuentasContables[$i],$ArregloValores[$i],$usu
ario_creacion);
573.
$retorno2=$this•
>insertComMoviGen($modulo_erp,$cabecera,$participante,$ArregloCuentasCont
ables[$i],'H',$ArregloValores[$i]);
574.
/// ejecutar deposito en tabla de tes_deposito
•
$sql
="update
tes_deposito_caja
set
tes_deposito_caja.estado_proceso_deposito='E',tes_deposito_caja.fin_cod_movi
miento=".$cod_movimiento."
where
tes_deposito_caja.cod_deposito=".$ArregloDepositos[$i];
575.
mysql_query($sql);
•
576.
}
•
577.
$retono=$this•
>cambiarSaldo($cod_banco_cuenta,'+',$valor_total);
578.
return $cod_movimiento;
•
579.
}
•
580.
}
•
function
581.
anulacionMovimientoCajaBanco($cod_movimiento) {
Módulo Financiero
184
$this582.
•
>anulacionContabilidad($movimiento,$usuario='bg');
if($this->con->conectar()==true) {
583.
•
$sql="update tes_deposito_caja set
584.
•
tes_deposito_caja.estado_proceso_deposito='P',where
tes_deposito_caja.fin_cod_movimiento=".$movimiento;
mysql_query($sql);
585.
•
}
586.
•
}
587.
•
Método insertarMovimientosCajaBancosCheques.- Ingresa los
datos.
insertarMovimientosCajaBancosCheques(
function
•
$cod_banco_cuenta,$num_documento,$valor_total,$descripcion,$usuario_creaci
on,$ArregloDepositos,$ArregloCuentasContables,$ArregloValores,$sucursal,$fec
ha ) {
589.
$codMovimiento=$this•
588.
>insertarMovimientoCajaBanco(
$cod_banco_cuenta,$num_documento,$valor_total,$descripcion,$usuario_creaci
on,$ArregloDepositos,$ArregloCuentasContables,$ArregloValores,$sucursal,9,$fe
cha );
590.
if($this->con->conectar()==true) {
•
591.
$arregloDepos=array();
•
592.
$arregloDepos=explode(',',$ArregloDepositos);
•
593.
for($i=0;
•
594.
$i<count($arregloDepos);
•
595.
$i++) {
•
596.
$sql= "update cxc_cheque set
•
cxc_cheque.cod_tipo_cheque= 4 where cxc_cheque.cod_cheque in ( SELECT
cxc_cobros.cod_cheque
as
CodigoCheque
from
cxc_cobros
where
cxc_cobros.cod_predeposito=".$arregloDepos[$i]." and cxc_cobros.estado='A' )";
597.
mysql_query($sql);
•
598.
}
•
599.
// sacar cajas y cuentas contables
•
600.
}
•
601.
return $codMovimiento;
•
602.
}
•
Módulo Financiero
185
Método ingresarChequeprotestado.- Descuenta los valores por
cheques protestados de nuestros clientes.
603.
604.
ingresarChequeprotestado
function
•
($codCheque,$valorTotal,$valorRecargo,$tipoCargo,$
observacion,$cuentaBanco,$sucursal,$numDocumento,$
usuario) {
605.
if($this->con•
>conectar()==true) {
606.
$sql=
"select
•
fin_banco_notasdebcheque.afecta
as
afecta,fin_banco_notasdebcheque.cod_contabilidad
as
contabilidad,fin_banco_notasdebcheque.cod_sec
from
fin_banco_notasdebcheque
where
fin_banco_notasdebcheque.cod_sec=". $tipoCargo;
607.
$return=mysql_query($sql);
•
608.
•
$registro=mysql_fetch_array($return);
609.
•
if($registro['afecta']=='C') {
610.
$sql="SELECT
•
fac_cliente.cod_cuenta
as
Cuenta
from
cxc_cobros,fac_cab_agenda_cobro,fac_cliente
where
cxc_cobros.cod_cheque=
'".$codCheque."'
and
fac_cab_agenda_cobro.cod_agenda_cobro=cxc_cobros.f
ac_cod_agenda_cobro
and
fac_cab_agenda_cobro.fac_cliente=fac_cliente.cod_c
liente";
611.
•
$return1=mysql_query($sql);
612.
•
$cuentas=mysql_fetch_array($return1);
613.
$cuentaContables=
•
$cuentas['Cuenta'];
614.
$valores= $valorTotal;
•
615.
$recargoE=0;
•
616.
•
$recargoC=$valorRecargo;
Módulo Financiero
186
}
•
else {
•
619.
$cuentaContables=21
•
.','.$registro['contabilidad'];
620.
$valores =$valorTotal•
$valorRecargo.",".$valorRecargo;
621.
•
$recargoE=$valorRecargo;
622.
$recargoC=0;
•
623.
}
•
624.
}
•
625.
$retorno=$this•
>insertar_movimiento($cuentaBanco,10,1,$numDocumen
to,$valorTotal,$observacion,'n','','',$usuario,$us
uario,$cuentaContables,$valores,$cuentaContables,'
',$sucursal );
626.
//actualizar datos en cxc.
•
$this->con->conectar();
627.
$sql="update cxc_cheque set
•
cxc_cheque.cod_tipo_cheque=3
where
cxc_cheque.cod_cheque='".$codCheque."'";
628.
//echo $sql;
•
629.
mysql_query($sql);
•
630.
$valorcheque=$valorTotal•
$valorRecargo;
631.
$sql="
insert
into
•
fin_banco_cheques_devueltos
(cod_cxc_cheques,cod_fin_banco_movimientos,r_clien
te,r_empresa,valor_cheque,valor_total,estado)
values('".$codCheque."',".$retorno.",".$recargoC."
,".$recargoE.",".$valorcheque.",".$valorTotal.",'A
')";
632.
mysql_query($sql);
•
633.
return $retorno;
•
634.
}
•
635.
• }
617.
618.
Módulo Financiero
187
Clase Conciliación. Esta clase se utiliza para realizar las
inserciones en la entidad Fin conciliación y Fin_detalle_conciliacion,
registra los métodos de insert, update y delete a los datos, además,
tiene métodos para conocer los movimientos conciliados y el cierre
de un periodo en una fecha determinada.
Atributos y Constructor.
Los atributos utilizados en esta clase son el objeto conexión.
636.
637.
638.
639.
640.
641.
642.
643.
Módulo Financiero
class Conciliacion
{
var $con;
function Conciliacion()
{
$this->con=new DBManager;
}
188
MÉTODO PROCESAR_CONCILIACION.- Recibe parámetros como
los movimientos, en un formato de arreglo, tanto los que el usuario
a elegido para ser conciliados así como los que están en tránsito, la
fecha del estado bancario, y el saldo en bancos procesado a la
fecha.
644.
function
procesar_conciliacion(
$cod_banco_cuenta,
$saldo_conciliacion_anterior,
$saldo_conciliacion,
$mes_conciliado,
$anio_conciliado,
$usuario_creacion,
$arreglo_movimientos_id_conciliados,
$arreglo_movimientos_id_transito, $fecha_estado_bancario, $saldo_banco )
645.
{
646.
if($this->con->conectar()==true)
647.
{
648.
$resultado = mysql_query('SET AUTOCOMMIT=0');
649.
$resultado = mysql_query('START TRANSACTION');
650.
$resultado = mysql_query('BEGIN');
651.
//estraigo los datos de la cadena $Sql para optener el
numero
siguiente
de
conciliacion
$Sql
="select
count(fin_banco_conciliacion.cod_conciliacion
)+1
as
reg
from
fin_banco_conciliacion";
652.
$registros = mysql_fetch_array(mysql_query($Sql));
653.
$cod_banco_conciliacion =$registros['reg'];
654.
$usuario_modificacion = $usuario_creacion;
655.
// seteo cadena con consulta para insetar data en la tabla
conciliacion $cadena ='';
656.
$cadena =$cadena. "insert into fin_banco_conciliacion ";
657.
$cadena =$cadena. "( ";
658.
$cadena
=$cadena.
"fin_banco_conciliacion.cod_conciliacion" .",";
659.
$cadena
=$cadena.
"fin_banco_conciliacion.cod_fin_banco_cuenta" .",";
660.
$cadena
=$cadena.
"fin_banco_conciliacion.saldo_conciliacion_anterior" .",";
Módulo Financiero
189
661.
$cadena
=$cadena.
"fin_banco_conciliacion.saldo_conciliado" .",";
662.
$cadena
=$cadena.
"fin_banco_conciliacion.mes_conciliado" .",";
663.
$cadena
=$cadena.
"fin_banco_conciliacion.anio_conciliado" .",";
664.
$cadena
=$cadena.
"fin_banco_conciliacion.usuario_creacion" .",";
665.
$cadena
=$cadena.
"fin_banco_conciliacion.fecha_creacion" .",";
666.
$cadena
=$cadena.
"fin_banco_conciliacion.usuario_modificacion" .",";
667.
$cadena
=$cadena.
"fin_banco_conciliacion.fecha_modificacion" .",";
668.
$cadena
=$cadena.
"fin_banco_conciliacion.fecha_estado_bancario" .",";
669.
$cadena =$cadena. "fin_banco_conciliacion.saldo_banco";
670.
$cadena =$cadena. ")";
671.
$cadena =$cadena. "values ( ";
672.
$cadena =$cadena. $cod_banco_conciliacion .",";
673.
$cadena =$cadena. $cod_banco_cuenta .",";
674.
$cadena =$cadena. $saldo_conciliacion_anterior .",";
675.
$cadena =$cadena. $saldo_conciliacion .",";
676.
$cadena =$cadena. $mes_conciliado .",";
677.
$cadena =$cadena. $anio_conciliado .",";
678.
$cadena =$cadena. "'". $usuario_creacion ."',";
679.
$cadena =$cadena. "NOW() ,";
680.
$cadena =$cadena."'". $usuario_modificacion ."',";
681.
$cadena =$cadena. "NOW(), ";
682.
$cadena =$cadena."'".$fecha_estado_bancario."',";
683.
$cadena =$cadena.$saldo_banco;
684.
$cadena =$cadena. ")";
685.
$Sql =$cadena;
686.
//echo ".. cabecera ".$Sql;
687.
// inicio la transaccion $retorno1= mysql_query($Sql);
688.
$id_conciliados= array();
689.
$id_conciliados=explode(',',$arreglo_movimientos_id_conciliados);
690.
$id_transito= array();
691.
$id_transito= explode(',',$arreglo_movimientos_id_transito);
692.
//echo $arreglo_movimientos_id_transito;
693.
$verificador=0;
Módulo Financiero
190
694.
$sql="insert into fin_banco_detalle_conciliacion (
fin_banco_detalle_conciliacion.cod_banco_conciliacion,
fin_banco_detalle_conciliacion.cod_movimiento,
fin_banco_detalle_conciliacion.usuario_creacion,
fin_banco_detalle_conciliacion.fecha_creacion,
fin_banco_detalle_conciliacion.usuario_modificacion,
fin_banco_detalle_conciliacion.fecha_modificacion,
fin_banco_detalle_conciliacion.tipo ) values ";
695.
$cadena='';
696.
for($i=0;$i<count($id_conciliados);
697.
$i++)
698.
{
699.
if($id_conciliados[$i]!='')
700.
{
701.
$cadena =$cadena."(";
702.
$cadena = $cadena. $cod_banco_conciliacion .",";
703.
$cadena = $cadena. $id_conciliados[$i] .",";
704.
$cadena =$cadena. "'". $usuario_creacion ."',";
705.
$cadena =$cadena. " NOW() ,";
706.
$cadena =$cadena."'". $usuario_modificacion."',";
707.
$cadena =$cadena. "NOW(), ";
708.
$cadena =$cadena."'C'),";
709.
}
710.
}
711.
$long=strlen($cadena);
712.
$cadena=substr($cadena,0,$long-1);
713.
$cadena=$sql.$cadena;
714.
//echo $cadena;
715.
$retorno2=mysql_query($cadena);
716.
$cadena= " update fin_banco_movimientos set";
717.
$cadena=$cadena. " fin_banco_movimientos.conciliado
='S',";
718.
$cadena=$cadena.
"
fin_banco_movimientos.fecha_conciliado = NOW() ";
719.
$cadena=$cadena. " where";
720.
$cadena=$cadena."
fin_banco_movimientos.cod_banco_movimientos
in
(".$arreglo_movimientos_id_conciliados.")";
721.
//echo $cadena;
722.
$retorno3= mysql_query($cadena);
723.
$sql= "insert into fin_banco_detalle_conciliacion (
fin_banco_detalle_conciliacion.cod_banco_conciliacion
,
Módulo Financiero
191
fin_banco_detalle_conciliacion.cod_movimiento,
fin_banco_detalle_conciliacion.usuario_creacion,
fin_banco_detalle_conciliacion.fecha_creacion,
fin_banco_detalle_conciliacion.usuario_modificacion,
fin_banco_detalle_conciliacion.fecha_modificacion,
fin_banco_detalle_conciliacion.tipo ) values ";
724.
$cadena='';
725.
for($i=0;$i<count($id_transito);
726.
$i++)
727.
{
728.
if($id_transito[$i]!='')
729.
{
730.
$cadena=$cadena.'(';
731.
$cadena = $cadena. $cod_banco_conciliacion .",";
732.
$cadena = $cadena. $id_transito[$i] .",";
733.
$cadena =$cadena. "'". $usuario_creacion ."',";
734.
$cadena =$cadena. " NOW() ,";
735.
$cadena =$cadena."'". $usuario_modificacion."',";
736.
$cadena =$cadena. "NOW() ";
737.
$cadena =$cadena.",'T'),";
738.
}
739.
}
740.
$long=strlen($cadena);
741.
$cadena=substr($cadena,0,$long-1);
742.
$cadena=$sql.$cadena;
743.
//echo $cadena;
744.
$retorno4=mysql_query($cadena);
745.
$cadena= " update fin_banco_movimientos set";
746.
$cadena=$cadena. " fin_banco_movimientos.conciliado
='T',";
747.
$cadena=$cadena.
"
fin_banco_movimientos.fecha_conciliado = NOW() ";
748.
$cadena=$cadena. " where";
749.
$cadena=$cadena."
fin_banco_movimientos.cod_banco_movimientos
in
(".$arreglo_movimientos_id_transito.")";
750.
//echo " <hr /> ".$cadena;
751.
$retorno5= mysql_query($cadena);
752.
if(($retorno1)&&($retorno1)&&($retorno1)&&($retorno1)&&($retorno1)&&($retorno
1))
753.
{
Módulo Financiero
192
754.
$registro=mysql_query('COMMIT');
755.
// entra en todos los
$cod_banco_conciliacion;
756.
return $cod_banco_conciliacion;
757.
}
758.
else
759.
{
760.
return $cod_banco_conciliacion;
761.
$registro=mysql_query('ROLLBACK');
762.
//echo 0;
763.
return -1;
764.
}
765.
}
766.
}
MÉTODO
bucles
//
echo
MOSTRAR_MOVIMIENTOS($CUENTA,$FECHA).-
Muestra los movimientos a una fecha determinada, para ser
conciliados.
767.
768.
769.
770.
771.
772.
function mostrar_movimientos($cuenta,$fecha)
{
if($this->con->conectar())
{
$sql=
"SELECT
fin_banco_movimientos.cod_banco_movimientos
as
Codigo,
fin_banco_movimientos.cod_banco_cuenta
as
Cod_cuenta,
fin_banco_movimientos.cod_tipo_movimiento
as
Cod_Tipo_M,
fin_banco_movimientos.gen_cod_participante
as
Cod_participante,
fin_banco_movimientos.num_documento
as
Num_documento
,
fin_banco_movimientos.fecha
as
Fecha,
fin_banco_movimientos.valor_total
as
Total,
fin_banco_movimientos.conciliado
as
Conciliado,
fin_banco_tipo_movimiento.descripcion
as
Des_Tipo,
fin_banco_tipo_movimiento.operacion
as
Operacion,
Módulo Financiero
193
fin_banco_movimientos.descripcion
as
Descripcion,
fin_banco_cuenta.n_cuenta as Num_cuenta, gen_sucursal.nombre as
Nombre_suc FROM fin_banco_movimientos , fin_banco_tipo_movimiento
,
fin_banco_cuenta,
gen_sucursal
WHERE
fin_banco_movimientos.cod_tipo_movimiento
=
fin_banco_tipo_movimiento.cod_tipo_movimiento
AND
fin_banco_movimientos.cod_banco_cuenta
=
fin_banco_cuenta.cod_banco_cuenta
AND
upper(fin_banco_movimientos.estado)<>'I'
AND
upper(fin_banco_movimientos.conciliado)<>'S'
AND
fin_banco_movimientos.cod_sucursal=gen_sucursal.cod_sucursal
and
fin_banco_movimientos.cod_banco_cuenta
=".$cuenta."
and
fin_banco_movimientos.fecha
<'".$fecha."
23:59:59'
order
by
fin_banco_movimientos.fecha
desc
,
fin_banco_movimientos.cod_banco_movimientos desc ";
773.
// echo $sql;
774.
$consulta= mysql_query($sql);
775.
return $consulta;
776.
}
777.
}
Método Obtener conciliación.- Permite obtener una conciliación a
una fecha determinada y de una cuenta bancaria especificada en
los parámetros.
778.
function mostrar_movimientos($cuenta,$fecha)
779.
{
780.
if($this->con->conectar())
781.
{
782.
$sql=
fin_banco_movimientos.cod_banco_movimientos
as
fin_banco_movimientos.cod_banco_cuenta as Cod_cuenta,
783.
fin_banco_movimientos.cod_tipo_movimiento
Cod_Tipo_M,
fin_banco_movimientos.gen_cod_participante
Cod_participante,
fin_banco_movimientos.num_documento
Módulo Financiero
"SELECT
Codigo,
as
as
as
194
Num_documento
,
fin_banco_movimientos.fecha
as
Fecha,
fin_banco_movimientos.valor_total
as
Total,
fin_banco_movimientos.conciliado
as
Conciliado,
fin_banco_tipo_movimiento.descripcion
as
Des_Tipo,
fin_banco_tipo_movimiento.operacion
as
Operacion,
fin_banco_movimientos.descripcion
as
Descripcion,
fin_banco_cuenta.n_cuenta as Num_cuenta, gen_sucursal.nombre as
Nombre_suc FROM fin_banco_movimientos , fin_banco_tipo_movimiento
,
fin_banco_cuenta,
gen_sucursal
WHERE
fin_banco_movimientos.cod_tipo_movimiento
=
fin_banco_tipo_movimiento.cod_tipo_movimiento
AND
fin_banco_movimientos.cod_banco_cuenta
=
fin_banco_cuenta.cod_banco_cuenta
AND
upper(fin_banco_movimientos.estado)<>'I'
AND
upper(fin_banco_movimientos.conciliado)<>'S'
AND
fin_banco_movimientos.cod_sucursal=gen_sucursal.cod_sucursal
and
fin_banco_movimientos.cod_banco_cuenta
=".$cuenta."
and
fin_banco_movimientos.fecha
<'".$fecha."
23:59:59'
order
by
fin_banco_movimientos.fecha
desc
,
fin_banco_movimientos.cod_banco_movimientos desc ";
784.
// echo $sql;
785.
$consulta= mysql_query($sql);
786.
return $consulta;
787.
}
788.
}
789.
Método
mostrarMovimientosTransito.-
Nos
muestra
los
movimientos en que se encuentran almacenados en la base de
datos.
790.
function
$conciliacion,$conciliado)
791.
{
792.
if($this->con->conectar())
793.
{
Módulo Financiero
mostrarMovimientosTransito($tipo,
195
794.
$sql="SELECT fin_banco_movimientos.valor_total as
Valor, fin_banco_movimientos.descripcion as Descripcion,
795.
fin_banco_movimientos.num_documento
as
Numero
FROM fin_banco_detalle_conciliacion, fin_banco_movimientos where
fin_banco_movimientos.cod_tipo_movimiento=".$tipo."
and
fin_banco_detalle_conciliacion.cod_banco_conciliacion=".$conciliacion."
and
upper(fin_banco_detalle_conciliacion.tipo)='".$conciliado."'
and
fin_banco_movimientos.cod_banco_movimientos=fin_banco_detalle_conc
iliacion.cod_movimiento order by 1";
796.
$consulta= mysql_query($sql);
797.
return $consulta;
798.
}
799.
}
800.
801.
Módulo Financiero
196
Funciones.
Las funciones nos ayudan a trabajar las peticiones de las páginas
HTML que viene
por el método Post o Get, éstas validan la
información y la procesan según la acción encomendada.
Archivo Banco.Guardar.Php.Se encarga de guardar los datos en la base de datos con el objeto,
$objbanco, las acciones son:
1.
2.
3.
4.
1.
Guardar.
2.
Actualizar.
3.
Eliminar.
<?php require('../clases/banco.class.php');
$objbanco=new bancos();
$consulta='';
if((isset($_POST['RUC']))&&(isset($_POST['nombre'])
)&&(isset($_POST['razon_social']))&&(isset($_POST['cod_t_p']))&&(i
sset($_POST['telefono']))&&(isset($_POST['observaciones']))&&(iss
et($_POST['direccion']))&&(isset($_POST['accion'])))
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Módulo Financiero
{
$cedula_ruc=$_POST['RUC'];
$nombre_1=$_POST['nombre'];
$nombre_completo=$_POST['nombre'];
$razon_social=$_POST['razon_social'];
$estado='A';
$user_creacion='USERio';
$cod_t_p=$_POST['cod_t_p'];
/////// sesion reemplazar asi.
$user_mod = 'US';
/////// sesion reemplazar asi.....
$direccion=$_POST['direccion'];
197
17.
18.
$telefono=$_POST['telefono'];
if(isset($_POST['email'])) $email=$_POST['email'];
19.
20.
21.
22.
23.
24.
else $email='';
if($_POST['web']!='') $pagina_web=$_POST['web'];
else $pagina_web='http:';
if(($_POST['telefono2'])!='') $telefono2=$_POST['telefono2'];
else $telefono2='000000000';
if(isset($_POST['ciudad'])) $ciudad=$_POST['ciudad'];
25.
else $ciudad=1;
26.
$observaciones=$_POST['observaciones'];
27.
if ($_POST['accion']==1)
28.
{
29.
$consulta=$objbanco->insertar( $cedula_ruc, $nombre_1,
$nombre_completo, $razon_social, $estado, $user_creacion, $user_mod,
$cod_t_p, $direccion, $email, $pagina_web, $telefono, $telefono2, $ciudad,
$observaciones);
30.
echo $consulta;
31.
}
32.
else
33.
{
34.
if (($_POST['accion']==2)&&(isset($_POST['id'])))
35.
{
36.
37.
// echo 'actualizar';
38.
$id=$_POST['id'];
39.
$consulta=$objbanco->actualizar($id,
$nombre_completo, $user_modificacion, $direccion, $email, $pagina_web,
$telefono, $telefono2, $observaciones,$ciudad);
40.
echo $consulta;
41.
}
42.
}
43.
}
44.
if (($_POST['accion']==3)&&(isset($_POST['id'])))
45.
46.
47.
48.
49.
50.
Módulo Financiero
{
$consulta=$objbanco->eliminar($_POST['id']);
echo $consulta;
}
?>
198
Archivo cuenta.guardar.php.Se encarga de guardar los datos en la base de datos con el objeto,
$objcuenta, las acciones son:
1. Guardar.
2. Actualizar.
3. Eliminar.
1. <?php require('../clases/cuentas.class.php');
2.
require('../session.php');
3.
$objcuenta=new cuentas();
4.
$consulta='';
5.
if ((isset($_POST['accion']))&&(isset($_POST['cod_banco']))&&
(isset($_POST['cod_banco']))&&(isset($_POST['cod_tipo_cuenta']))&&
(isset($_POST['cod_conta']))&&(isset($_POST['nombre_cuenta']))&&
(isset($_POST['fecha_apertura']))&&(isset($_POST['titular']))&&
(isset($_POST['cheque']))&&(isset($_POST['observacion']))&&(isset($_POST['n_c
uenta'])))
6.
{
7.
$cod_banco=$_POST['cod_banco'];
8.
$cod_tipo_cuenta=$_POST['cod_tipo_cuenta'];
9.
$cod_conta = $_POST['cod_conta'];
10.
$nombre_cuenta=$_POST['nombre_cuenta'];
11.
$fecha_apertura=$_POST['fecha_apertura'];
12.
$titular=$_POST['titular'];
13.
$cheque=$_POST['cheque'];
14.
$cheque_sig=$_POST['cheque_sig'];
15.
$deposito_sig=$_POST['deposito_sig'];
16.
$debito_sig=$_POST['nd_sig'];
17.
$credito_sig=$_POST['nc_sig'];
18.
$observacion=$_POST['observacion'];
19.
$usuario_crea= sesiones();
20.
$usuario_mod=sesiones();
21.
$n_cuenta=$_POST['n_cuenta'];
22.
$documento_fin=$_POST['documento_fin'];
23.
$contacto=$_POST['contacto'];
24.
$contacto_telefono=limpiar($_POST['contacto_telefono']);
25.
$contacto_fax=limpiar($_POST['contacto_fax']);
Módulo Financiero
199
26.
$contacto_comentario=$_POST['contacto_comentario'];
27.
$contacto_cargo=$_POST['contacto_cargo'];
28.
if ($_POST['accion']==1)
29.
{
30.
$consulta=$objcuenta->insertar(
$cod_banco,
$cod_tipo_cuenta, $cod_conta, $nombre_cuenta, $fecha_apertura, $titular,
$cheque, $cheque_sig,
31.
$deposito_sig,
$credito_sig,
$debito_sig,
$observacion,
$usuario_crea, $n_cuenta, $document_fin, $contacto_telefono, $contacto_fax,
$contacto_comentario, $contacto_cargo, $contacto );
32.
echo $consulta;
33.
//creo la primera cinciliacion para la cuenta. //
34.
}
35.
else
36.
{
37.
if (($_POST['accion']==2)&&(isset($_POST['id'])))
38.
{
39.
//echo('entre');
40.
$cod_cuenta=$_POST['id'];
41.
$consulta=$objcuenta->actualizar( $cod_cuenta,
$nombre_cuenta, $fecha_apertura, $titular, $documento_inicio, $cheque_sig,
$observacion,
$usuario_mod,
$documento_fin,
$contacto_telefono,
$contacto_fax, $contacto_comentario, $contacto_cargo, $contacto );
42.
echo $consulta;
43.
} }}
44.
if (($_POST['accion']==3)&&(isset($_POST['id'])))
45.
{
46.
//echo 'entra';
47.
$cod_cuenta=$_POST['id'];
48.
$consulta=$objcuenta->eliminar($cod_cuenta);
49.
echo $consulta;
50.
}
51.
function limpiar($cadena)
52.
{
53.
if (empty($cadena)) return false;
54.
//limpiamos todos los caracteres invalidos $nueva_cadena =
ereg_replace("[^ A-Za-z0-9_]", "", $cadena);
55.
return $nueva_cadena;
56.
}
57.
Módulo Financiero
200
Movimientos Guardar.php.- Permite guardar los movimientos con
el objeto Movimientos,
Permite ingresar los depósitos, Notas de Debito, Notas de Crédito,
Caja Bancos, caja Bancos Cheques.
1. <?php require('../clases/movimientos.class.php');
2. $user='maxlex';
3.
$usuario_creacion=$user;
4.
$usuario_mod=$user;
5.
$fecha=$_POST['fecha'];
6.
if(($_POST['accion']==1)||($_POST['accion']==3))
7.
{
8.
$cod_banco_cuenta=$_POST['cod_banco_cuenta'];
9.
$cod_tipo_movimiento=$_POST['cod_tipo_movimiento'];
10.
$gen_cod_participante=$_POST['cod_participantes'];
11.
$num_documento=$_POST['num_documento'];
12.
$valor_total=$_POST['valor_total'];
13.
$descripcion=$_POST['descripcion'];
14.
$conciliado='n';
15.
$fecha_conciliado=' ';
16.
$responsable_conciliacion=' ';
17.
$detalle_movimiento_col1=$_POST['arreglo1'];
18.
$detalle_movimiento_col2=$_POST['arreglo2'];
19.
$codSucursal=$_POST['sucursal'];
20.
$fecha=$_POST['fecha'];
21.
if($_POST['accion']==3)
22.
{
23.
$detalle_cheques=$_POST['cheques'];
24.
$detalle_movimiento_col1='';
25.
$detalle_movimiento_col2='';
26.
}
27.
else
28.
{
29.
$detalle_cheques='';
30.
}
31.
$objMovimiento= new Movimiento();
32.
$retorno=$objMovimiento->insertar_movimiento(
$cod_banco_cuenta,
Módulo Financiero
201
33.
$cod_tipo_movimiento,
$gen_cod_participante,
$num_documento, $valor_total, $descripcion, $conciliado, $fecha_conciliado,
$responsable_conciliacion,
$usuario_creacion,
$usuario_mod,
$detalle_movimiento_col1, $detalle_movimiento_col2, $detalle_movimiento_col3,
$detalle_cheques, $codSucursal, $fecha );
34.
echo $retorno;
35.
}
36.
if($_POST['accion']==2)
37.
{
38.
$codigo_mov=$_POST['codigo_mov'];
39.
$valor_total=$_POST['valor_total'];
40.
$descripcion=$_POST['descripcion'];
41.
$usuario_mod=$user;
42.
$detalle_movimiento_col1=$_POST['arreglo1'];
43.
$detalle_movimiento_col2=$_POST['arreglo2'];
44.
$objMovimiento= new Movimiento();
45.
$retorno=$objMovimiento->actualizar_movimiento(
$codigo_mov,
$valor_total,
$descripcion,
$usuario_mod,
$detalle_movimiento_col1, $detalle_movimiento_col2 );
46.
}
47.
//accion que me permite guardar //las transsaciones entre
bancos if($_POST['accion']==4)
48.
{
49.
$objMovimiento= new Movimiento();
50.
$codCuentaOrigen=$_POST['cuentaOrigen'];
51.
$codCuentaDestino=$_POST['cuentaDestino'];
52.
$numDocumento=$_POST['numDocumento'];
53.
$descripcion=$_POST['descripcion'];
54.
$valor=$_POST['valor'];
55.
$codSucursal=$_POST['sucursal'];
56.
$contabilidad1=$_POST['contabilidad1'];
57.
$contabilidad2=$_POST['contabilidad2'];
58.
$retorno=$objMovimiento->insertarTransferencia(
$codCuentaOrigen, $codCuentaDestino, $numDocumento, $descripcion, $valor,
$codSucursal, $usuario_creacion, $usuario_mod, $contabilidad1, $contabilidad2,
$fecha );
59.
echo $retorno;
60.
}
61.
if(isset($_GET['codigo']))
62.
63.
Módulo Financiero
{
$objMovimiento= new Movimiento();
202
64.
$retorno=$objMovimiento>anulacionMovimiento($_GET['codigo']);
65.
}
66.
if($_POST['accion']==5)
67.
{
68.
$cod_banco_cuenta =$_POST['cod_banco_cuenta'];
69.
$num_documento =$_POST['num_documento'];
70.
$valor_total =$_POST['valor_total'];
71.
$descripcion =$_POST['descripcion'];
72.
$ArregloCuentasContables =$_POST['arregloContabilidad'];
73.
$ArregloValores =$_POST['arregloValores'];
74.
$ArregloCajas =$_POST['arregloCajas'];
75.
$codSucursal =$_POST['sucursal'];
76.
$usuario =$user;
77.
$objMovimiento= new Movimiento();
78.
$retorno=$objMovimiento->insertarMovimientoCajaBanco(
$cod_banco_cuenta, $num_documento, $valor_total, $descripcion, $usuario,
$ArregloCajas, $ArregloCuentasContables, $ArregloValores, $codSucursal,
$fecha);
79.
echo $retorno;
80.
}
81.
if($_POST['accion']==6)
82.
{
83.
$cod_banco_cuenta =$_POST['cod_banco_cuenta'];
84.
$num_documento =$_POST['num_documento'];
85.
$valor_total =$_POST['valor_total'];
86.
$descripcion =$_POST['descripcion'];
87.
$ArregloCuentasContables =$_POST['arregloContabilidad'];
88.
$ArregloValores =$_POST['arregloValores'];
89.
$ArregloCajas =$_POST['arregloCajas'];
90.
$codSucursal =$_POST['sucursal'];
91.
$usuario =$user;
92.
$objMovimiento= new Movimiento();
93.
$retorno=$objMovimiento>insertarMovimientosCajaBancosCheques(
$cod_banco_cuenta,
$num_documento,
$valor_total,
$descripcion,
$usuario,
$ArregloCajas,
$ArregloCuentasContables, $ArregloValores, $codSucursal,$fecha);
94.
echo $retorno;
95.
}
96.
if($_POST['accion']==7)
97.
{
98.
$objMovimiento= new Movimiento();
Módulo Financiero
203
99.
$codCheque=$_POST['codCheque'];
100.
$valorRecargo=$_POST['valorR'];
101.
$tipoCargo=$_POST['tipo'];
102.
$observacion=$_POST['observacion'];
103.
$cuentaBanco=$_POST['cuentaBanco'];
104.
$sucursal=$_POST['sucursal'];
105.
$numDocumento=$_POST['numDocumento'];
106.
$valorTotal=$_POST['valorTotal'];
107.
$retorno=
$objMovimiento>ingresarChequeprotestado($codCheque,
$valorTotal,
$valorRecargo,
$tipoCargo, $observacion, $cuentaBanco, $sucursal, $numDocumento, $user);
108.
echo $retorno;
109.
}
110.
?>
Archivo tipoNotas.php.Utiliza el objeto TipoNotas para insertar notas de débito o crédito,
además actualiza los registros si la acción corresponde a 2.
1. <?php require_once('../clases/tipoNotas.class.php');
2. $accion=$_POST['accion'];
3. if($accion==1)
4.
{
5.
$codplanCuentas =$_POST['codPlanCuentas'];
6.
$codMovimiento =$_POST['codMovimiento'];
7.
$descripcion =$_POST['descripcion'];
8.
$usuario = 'Maxlex';
9.
$objTipoNotas= new TipoNotas();
10.
$retorno=$objTipoNotas>insertarTipoNotas($codplanCuentas, $codMovimiento, $descripcion, $usuario);
11.
echo $retorno;
12.
}
13.
if($accion==3)
14.
{
15.
$Idnota=$_POST['codTipoNota'];
16.
$objTipoNotas= new TipoNotas();
17.
Módulo Financiero
$retorno=$objTipoNotas->desactivarNota($Idnota);
204
18.
echo $retorno;
19.
}
20.
if($accion==2)
21.
{
22.
$codplanCuentas =$_POST['codPlanCuentas'];
23.
$codMovimiento =$_POST['codMovimiento'];
24.
$descripcion =$_POST['descripcion'];
25.
$Idnota=$_POST['codigo'];
26.
$objTipoNotas= new TipoNotas();
27.
$retorno=$objTipoNotas>actualizarTipoNota($Idnota,$codplanCuentas, $codMovimiento, $descripcion,
$usuario);
28.
echo $retorno;
29.
}v
30.
?>
31.
Archivo conciliaciones.guardar.php.- Interactúa con los datos de
conciliación.
1.
<?php require_once('../clases/conciliacion.class.php');
2.
require_once('../session.php');
3.
if(isset($_POST['accion']))
4.
{
5.
$accion=$_POST['accion'];
6.
}
7.
$usuario_creacion =sesiones();
8.
$objConciliacion = new Conciliacion();
9.
switch($accion)
10.
{
11.
case 1: //echo 'entro';
12.
if
(
(isset($_POST['cod_banco_cuenta'])
)
&&
(isset($_POST['saldo_conciliacion'])) && (isset($_POST['conciliacion_anterior']))
&& (isset($_POST['mes_conciliado']) ) && (isset($_POST['anio_conciliado']) ) &&
(isset($_POST['arreglo_movimientos_id_conciliados']
))
&&
(isset($_POST['arreglo_movimientos_id_transito'] )) )
13.
{
14.
// echo 'entre';
Módulo Financiero
205
15.
$cod_banco_cuenta = $_POST['cod_banco_cuenta'];
16.
$saldo_conciliacion_anterior
=
$_POST['conciliacion_anterior'];
17.
$saldo_conciliacion = $_POST['saldo_conciliacion'];
18.
$mes_conciliado = $_POST['mes_conciliado'];
19.
$anio_conciliado = $_POST['anio_conciliado'];
20.
$arreglo_movimientos_id_conciliados=
$_POST['arreglo_movimientos_id_conciliados'];
21.
$arreglo_movimientos_id_transito
=
$_POST['arreglo_movimientos_id_transito'];
22.
$fecha_fin = $_POST['fecha_estado_bancario'];
23.
$saldo_banco = $_POST['estado_bancario'];
24.
//echo 'arreglo t'.$arreglo_movimientos_id_transito;
25.
$retorno=$objConciliacion->procesar_conciliacion(
$cod_banco_cuenta,
$saldo_conciliacion_anterior,
$saldo_conciliacion,
$mes_conciliado,
$anio_conciliado,
$usuario_creacion,
$arreglo_movimientos_id_conciliados,
$arreglo_movimientos_id_transito,
$fecha_fin, $saldo_banco );
26.
echo $retorno;
27.
}
28.
break;
29.
case 2: if ( (isset($_POST['cod_banco_cuenta']) ) &&
(isset($_POST['mes_conciliado']) ) && (isset($_POST['anio_conciliado']) ) )
30.
{
31.
$cuenta = $_POST['cod_banco_cuenta'];
32.
$mes = $_POST['mes_conciliado'];
33.
$anio = $_POST['anio_conciliado'];
34.
$retorno=$objConciliacion>primera_conciliacion($cuenta,$mes,$anio);
35.
echo $retorno;
36.
}
37.
break;
38.
}
39.
Módulo Financiero
206
2.4.3
Clases y Programación Razones Financieras
La clase razones financieras tiene como objetivo trabajar con la
entidad fin _formulas y fin_grupo _razones.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Módulo Financiero
class RazonesFinacieras
{
var $con;
function RazonesFinacieras(){
$this->con=new DBManager;//creo mi objeto conexion.
$this->actualizarRegistroCT;
}
function insertar( $cod_grupo,
$nom_formula,
$descripcion,
$expresion,
$siglas,
$formula_texto,
$formula_presentacion,
$parametro,
$usuario_creacion,
$rango_verde,
$rango_naranja,
$rango_rojo,
$desc_verde,
$desc_naranja,
$desc_rojo,
$relacion_objetivo
)
{
if($this->con->conectar()==true){
$cadena= "insert into fin_formulas (";
$cadena=$cadena." fin_formulas.cod_grupo, ";
$cadena=$cadena." fin_formulas.descripcion, ";
$cadena=$cadena." fin_formulas.expresion, ";
207
36.
";
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
Módulo Financiero
$cadena=$cadena." fin_formulas.formula_presentacion,
$cadena=$cadena." fin_formulas.nom_formula ,";
$cadena=$cadena." fin_formulas.siglas,";
$cadena=$cadena." fin_formulas.formula_texto, ";
$cadena=$cadena." fin_formulas.parametro, ";
$cadena=$cadena." fin_formulas.usuario_creacion,";
$cadena=$cadena." fin_formulas.usuario_mod,";
$cadena=$cadena." fin_formulas.fecha_creacion,";
$cadena=$cadena." fin_formulas.fecha_mod,";
$cadena=$cadena." fin_formulas.rango_verde,";
$cadena=$cadena." fin_formulas.rango_naranja,";
$cadena=$cadena." fin_formulas.rango_rojo,";
$cadena=$cadena." fin_formulas.descripcion_verde,";
$cadena=$cadena." fin_formulas.descripcion_naranja,";
$cadena=$cadena." fin_formulas.descripcion_rojo,";
$cadena=$cadena." fin_formulas.relacion_objetivo";
$cadena=$cadena." ) values (";
$cadena=$cadena . $cod_grupo. " ,";
$cadena=$cadena."' ".$descripcion." ',";
$cadena=$cadena."' ".$expresion . "' ,";
$cadena=$cadena."' ".$formula_presentacion. "',";
$cadena=$cadena."' ".$nom_formula."',";
$cadena=$cadena."' ".$siglas. "', ";
$cadena=$cadena."' ".$formula_texto."',";
$cadena=$cadena."' ".$parametro. "', ";
$cadena=$cadena."' ".$usuario_creacion."' ,";
$cadena=$cadena."' ".$usuario_creacion."' , ";
$cadena=$cadena."NOW(),";
$cadena=$cadena."NOW(),";
$cadena=$cadena.$rango_verde.",";
$cadena=$cadena.$rango_naranja.",";
$cadena=$cadena.$rango_rojo.",";
$cadena=$cadena."'".$desc_verde."',";
$cadena=$cadena."'".$desc_naranja."',";
$cadena=$cadena."'".$desc_rojo."',";
$cadena=$cadena."'".$relacion_objetivo."'";
$cadena=$cadena.")";
$retorno= mysql_query($cadena);
208
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
Módulo Financiero
}
}//insertar
function razones_finacieras($grupo)
{
if($this->con->conectar()==true){
if($grupo==-1)
{
$Sql= "select fin_formulas.cod_formula as Codigo,
fin_formulas.cod_grupo as Grupo,
fin_formulas.descripcion as Descripcion,
fin_formulas.expresion as Expresado,
fin_formulas.formula_presentacion as Formula_texto,
fin_formulas.nom_formula as Nombre ,
fin_formulas.siglas as Siglas,
fin_formulas.formula_texto AS Formula,
fin_formulas.parametro as Parametro,
fin_formulas.usuario_creacion ,
fin_formulas.fecha_creacion,
fin_formulas.usuario_mod,
fin_formulas.fecha_mod,
fin_formulas.rango_verde
as Rango_verde,
fin_formulas.rango_naranja
as Rango_naranja,
fin_formulas.rango_rojo
as Rango_rojo,
fin_formulas.descripcion_verde
as Desc_verde,
fin_formulas.descripcion_rojo
as Desc_rojo,
fin_formulas.descripcion_naranja as Desc_naranja,
fin_formulas.relacion_objetivo
as Relacion_objetivo
from
fin_formulas
where estado='A' order by cod_grupo";
}else
{
209
119.
120.
$Sql= "select
fin_formulas.cod_formula as
Codigo,
121.
122.
123.
124.
fin_formulas.cod_grupo as Grupo,
fin_formulas.descripcion as Descripcion,
fin_formulas.expresion as Expresado,
fin_formulas.formula_presentacion as
Formula_texto,
125.
126.
127.
128.
129.
130.
131.
132.
133.
fin_formulas.nom_formula as Nombre ,
fin_formulas.siglas as Siglas,
fin_formulas.formula_texto AS Formula,
fin_formulas.parametro as Parametro,
fin_formulas.usuario_creacion ,
fin_formulas.fecha_creacion,
fin_formulas.usuario_mod,
fin_formulas.fecha_mod,
fin_formulas.rango_verde
as
fin_formulas.rango_naranja
as
Rango_verde,
134.
135.
Rango_naranja,
136.
137.
138.
139.
fin_formulas.rango_rojo
as Rango_rojo,
fin_formulas.descripcion_verde
as
Desc_verde,
140.
fin_formulas.descripcion_rojo
as
Desc_rojo,
141.
fin_formulas.descripcion_naranja
as
fin_formulas.relacion_objetivo
as
Desc_naranja,
142.
Relacion_objetivo
143.
144.
145.
146.
147.
from
fin_formulas
where estado='A' and cod_grupo =".$grupo.'
order by cod_grupo' ;
148.
149.
150.
151.
Módulo Financiero
}
210
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
$retorno=mysql_query($Sql);
}
return $retorno;
}
function consulta_razones($grupo,$nombre,$formula)
{
if($this->con->conectar()==true)
{
$Sql= "select
fin_formulas.cod_formula as
Codigo,
163.
164.
165.
166.
fin_formulas.cod_grupo as Grupo,
fin_formulas.descripcion as Descripcion,
fin_formulas.expresion as Expresado,
fin_formulas.formula_presentacion
as
Formula_texto,
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
fin_formulas.nom_formula as Nombre ,
fin_formulas.siglas as Siglas,
fin_formulas.formula_texto AS Formula,
fin_formulas.parametro as Parametro,
fin_formulas.usuario_creacion ,
fin_formulas.fecha_creacion,
fin_formulas.usuario_mod,
fin_formulas.fecha_mod,
fin_formulas.rango_verde
as Rango_verde,
fin_formulas.rango_naranja
as
Rango_naranja,
178.
179.
180.
181.
182.
183.
fin_formulas.rango_rojo
as Rango_rojo,
fin_formulas.descripcion_verde
as Desc_verde,
fin_formulas.descripcion_rojo
as Desc_rojo,
fin_formulas.descripcion_naranja
as
Desc_naranja,
184.
fin_formulas.relacion_objetivo
Relacion_objetivo
185.
186.
187.
188.
Módulo Financiero
from
fin_formulas
as
211
189.
where estado='A' and cod_grupo =".$grupo.' and
nom_formula like "%'.$nombre.'%" and formula_presentacion
like
"%'.$formula.'%" order by cod_grupo' ;
190.
// echo $Sql;
191.
$arreglo=mysql_query($Sql);
192.
}
193.
return $arreglo;
194.
}
195.
196.
197.
198.
199.
200.
201.
202.
function consulta_razones_id($codigo)
{
if($this->con->conectar()==true)
{
$Sql= "select
fin_formulas.cod_formula as
Codigo,
203.
204.
205.
206.
fin_formulas.cod_grupo as Grupo,
fin_formulas.descripcion as Descripcion,
fin_formulas.expresion as Expresado,
fin_formulas.formula_presentacion
as
Formula_texto,
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
fin_formulas.nom_formula as Nombre ,
fin_formulas.siglas as Siglas,
fin_formulas.formula_texto AS Formula,
fin_formulas.parametro as Parametro,
fin_formulas.usuario_creacion ,
fin_formulas.fecha_creacion,
fin_formulas.usuario_mod,
fin_formulas.fecha_mod,
fin_formulas.rango_verde
as Rango_verde,
fin_formulas.rango_naranja
as
Rango_naranja,
218.
219.
220.
221.
222.
223.
Desc_naranja,
Módulo Financiero
fin_formulas.rango_rojo
as Rango_rojo,
fin_formulas.descripcion_verde
as Desc_verde,
fin_formulas.descripcion_rojo
as Desc_rojo,
fin_formulas.descripcion_naranja
as
212
224.
fin_formulas.relacion_objetivo
as
Relacion_objetivo
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
".$cod_grupo.",";
260.
'".$descripcion."',";
261.
'".$expresion."',";
Módulo Financiero
from
fin_formulas
where cod_formula =".$codigo ;
$arreglo=mysql_query($Sql);
}
return $arreglo;
}
function actualizar( $codigo,
$cod_grupo,
$nom_formula,
$descripcion,
$expresion,
$siglas,
$formula_texto,
$formula_presentacion,
$parametro,
$usuario_modificacion,
$rango_verde,
$rango_naranja,
$rango_rojo,
$desc_verde,
$desc_naranja,
$desc_rojo,
$relacion_objetivo
)
{
if($this->con->conectar()==true){
$cadena= "update fin_formulas set ";
$cadena=$cadena." fin_formulas.cod_grupo
=
$cadena=$cadena." fin_formulas.descripcion
=
$cadena=$cadena." fin_formulas.expresion
=
213
262.
263.
$cadena=$cadena." fin_formulas.nom_formula
=
'".$nom_formula."',";
264.
$cadena=$cadena." fin_formulas.siglas
=
'".$siglas. "', ";
265.
266.
$cadena=$cadena." fin_formulas.parametro
=
'".$parametro. "', ";
267.
268.
$cadena=$cadena." fin_formulas.usuario_mod
= '".$usuario_modificacion."' , ";
269.
270.
$cadena=$cadena." fin_formulas.fecha_mod
=
NOW(),";
271.
$cadena=$cadena." fin_formulas.rango_verde
=
".$rango_verde.",";
272.
$cadena=$cadena." fin_formulas.rango_naranja
=
".$rango_naranja.",";
273.
$cadena=$cadena." fin_formulas.rango_rojo
=
".$rango_rojo.",";
274.
$cadena=$cadena." fin_formulas.descripcion_verde
= '".$desc_verde."',";
275.
$cadena=$cadena." fin_formulas.descripcion_naranja
= '".$desc_naranja."',";
276.
$cadena=$cadena." fin_formulas.descripcion_rojo
=
'".$desc_rojo."',";
277.
$cadena=$cadena." fin_formulas.relacion_objetivo
=
'".$relacion_objetivo."'";
278.
$cadena=$cadena." where cod_formula
=
".$codigo;
279.
echo $cadena;
280.
$retorno= mysql_query($cadena);
281.
return $retorno;
282.
}
283.
284.
}//actualizar
285.
function eliminar($codigo)
286.
{
287.
if($this->con->conectar()==true){
288.
289.
$cadena= "update
fin_formulas set
fin_formulas.estado='I' where cod_formula = ".$codigo;
Módulo Financiero
214
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
$retorno= mysql_query($cadena);
return $retorno;
}
}//eliminar
}//clase razones
function actualizarRegistroCT()
{
$sql='call sp_fin_cuentas_totales()';
$conexion=$this->con->conectarli();
$result = mysqli_query($conexion,$sql);
$this->con->cerrarConexion($conexion);
}
?>
2.4.4 Clases y Programación Balance General Comparativo.
Class
Blance.-
Permite
obtener
los
datos
de
la
entidad
Con_balance_his.- Permite obtener los datos para ser comparados
ya sea de manera mensual o anual, además establece las cuentas
contables que participarán en el proceso de comparación.
309.
310.
311.
312.
313.
314.
Módulo Financiero
include('../clases/conexion.php');
class Balance{
var $con;
var $sql;
public function Balance(){
$this->con=new Conexion;
215
315.
316.
}
317.
318.
//SISTEMA HORIZONTAL - BALANCE GENERAL - POR
SUCURSALES Y CONSOLIDADO
319.
//FUNCION PARA OBTENER EL BALANCE ANUAL
320.
public function listarBalanceAnual($anio1, $anio2,
$cod_sucursal){
321.
322.
if($this->con->conectar()==true)
323.
{
324.
if ($cod_sucursal==-1){
325.
$sql="select codigo as CUENTA, descripcion as
NOMBRE, clasificacion as NIVEL, clase as CLASE
326.
from (select if(codigo_cuenta=NULL,clasificacion, if(
codigo_cuenta='', clasificacion, codigo_cuenta)) as codigo,
327.
cod_bg_plt, descripcion, clase, clasificacion, periodoa,
periodom, valor, estado
328.
from con_balance_general_his order by cod_bg_plt) as
tabla
329.
where periodoa in ($anio1, $anio2) and periodom=12
and estado='A'
330.
group by codigo
331.
order by cod_bg_plt";
332.
}else{
333.
$sql= "SELECT codigo AS CUENTA,
334.
descripcion AS NOMBRE, cod_sucursal AS
SUCURSAL,
335.
clasificacion AS NIVEL, clase as CLASE
336.
FROM (SELECT IF(codigo_cuenta=NULL,
clasificacion, IF( codigo_cuenta='', clasificacion, codigo_cuenta)) AS codigo,
337.
cod_bg_plt, descripcion, clase, clasificacion, periodoa,
periodom, valor, estado, con_balance_general_his.cod_sucursal
338.
FROM con_balance_general_his ORDER BY
cod_bg_plt) AS Tabla
339.
WHERE periodoa in($anio1, $anio2) and periodom=12
AND cod_sucursal=$cod_sucursal and estado='A'
340.
GROUP BY codigo, descripcion, cod_sucursal
341.
ORDER BY cod_bg_plt";
342.
343.
//echo $this->sql;
344.
}
Módulo Financiero
216
345.
$consulta = mysql_query ($sql);//, $con);
346.
return $consulta;
347.
}
348.
}
349.
350.
public function obtenerBalanceAnual($anio, $cod_sucursal){
351.
352.
if($this->con->conectar()==true)
353.
{
354.
if ($cod_sucursal==-1){
355.
$sql="select codigo as CUENTA, descripcion as
NOMBRE, sum(valor) as TOTAL,clasificacion as NIVEL
356.
from (select if(codigo_cuenta=NULL,clasificacion, if(
codigo_cuenta='', clasificacion, codigo_cuenta)) as codigo,
357.
cod_bg_plt, descripcion, clase, clasificacion, periodoa,
periodom, valor, estado
358.
from con_balance_general_his order by cod_bg_plt) as
tabla
359.
WHERE periodoa=$anio and periodom=12 and
estado='A'
360.
group by codigo
361.
order by cod_bg_plt";
362.
}else{
363.
364.
$sql= "SELECT codigo AS CUENTA,
365.
descripcion AS NOMBRE, valor as TOTAL,
cod_sucursal AS SUCURSAL,
366.
clasificacion AS NIVEL, clase as CLASE
367.
FROM (SELECT IF(codigo_cuenta=NULL,
clasificacion, IF( codigo_cuenta='', clasificacion, codigo_cuenta)) AS codigo,
368.
cod_bg_plt, descripcion, clase, clasificacion, periodoa,
periodom, valor, estado, con_balance_general_his.cod_sucursal
369.
FROM con_balance_general_his ORDER BY
cod_bg_plt) AS Tabla
370.
WHERE periodoa=$anio1 AND periodom=12 and
cod_sucursal=$cod_sucursal and estado='A'
371.
GROUP BY codigo, descripcion, cod_sucursal
372.
ORDER BY cod_bg_plt";
373.
374.
}
375.
$consulta = mysql_query ($sql);
376.
return $consulta ;
Módulo Financiero
217
377.
}
378.
}
379.
380.
//FUNCION QUE GENERA EL BALANCE MENSUAL
381.
public function listarBalanceMensual($anio1, $mes1, $anio2,
$mes2, $cod_sucursal){
382.
383.
384.
if($this->con->conectar()==true)
385.
{
386.
387.
if ($cod_sucursal==-1){
388.
$sql="select codigo as CUENTA, descripcion as
NOMBRE, clasificacion as NIVEL, clase as CLASE
389.
from (select if(codigo_cuenta=NULL,clasificacion, if(
codigo_cuenta='', clasificacion, codigo_cuenta)) as codigo,
390.
cod_bg_plt, descripcion, clase, clasificacion, periodoa,
periodom, estado
391.
from con_balance_general_his
392.
order by cod_bg_plt) as tabla
393.
where ( (periodoa=$anio1 AND periodom=$mes1) OR
(periodoa=$anio2 AND periodom=$mes2) ) and estado='A'
394.
group by codigo
395.
order by cod_bg_plt";
396.
397.
}else{
398.
$sql="SELECT codigo AS CUENTA, descripcion AS
NOMBRE, cod_sucursal AS SUCURSAL, clasificacion AS NIVEL, clase AS
CLASE
399.
FROM (SELECT
IF(codigo_cuenta=NULL,clasificacion, IF( codigo_cuenta='', clasificacion,
codigo_cuenta)) AS codigo,
400.
cod_bg_plt, descripcion, clase, clasificacion, periodoa,
periodom, estado, con_balance_general_his.cod_sucursal
401.
FROM con_balance_general_his
402.
ORDER BY cod_bg_plt) AS Tabla
403.
WHERE ( (periodoa=$anio1 AND periodom=$mes1)
OR (periodoa=$anio2 AND periodom=$mes2) ) AND
cod_sucursal=$cod_sucursal
404.
AND estado='A'
405.
GROUP BY codigo
406.
ORDER BY cod_bg_plt";
Módulo Financiero
218
407.
408.
//echo $sql;
409.
}
410.
$consulta = mysql_query ($sql);
411.
return $consulta;
412.
}
413.
}
414.
public function obtenerBalanceMensual($anio, $mes,
$cod_sucursal ){
415.
416.
if($this->con->conectar()==true)
417.
{
418.
if ($cod_sucursal==-1){
419.
$sql="select codigo as CUENTA, descripcion as
NOMBRE, sum(valor) as TOTAL, clasificacion as NIVEL
420.
from (select if(codigo_cuenta=NULL,clasificacion, if(
codigo_cuenta='', clasificacion, codigo_cuenta)) as codigo,
421.
cod_bg_plt, descripcion, clasificacion, periodoa,
periodom, valor, estado
422.
from con_balance_general_his
423.
order by cod_bg_plt) as tabla
424.
where periodoa=$anio AND periodom=$mes and
estado='A'
425.
group by codigo
426.
order by cod_bg_plt";
427.
428.
//echo $sql;
429.
430.
}else{
431.
432.
$sql= "SELECT codigo AS CUENTA, descripcion AS
NOMBRE, valor AS TOTAL, clasificacion AS NIVEL, cod_sucursal AS
SUCURSAL
433.
FROM (SELECT
IF(codigo_cuenta=NULL,clasificacion, IF( codigo_cuenta='', clasificacion,
codigo_cuenta)) AS codigo,
434.
cod_bg_plt, descripcion, clasificacion, periodoa,
periodom, valor, estado, con_balance_general_his.cod_sucursal
435.
FROM con_balance_general_his
436.
ORDER BY cod_bg_plt) AS Tabla
437.
WHERE periodoa=$anio AND periodom= $mes AND
estado='A' AND cod_sucursal=$cod_sucursal
Módulo Financiero
219
438.
group by codigo
439.
order by cod_bg_plt";
440.
441.
//echo $sql;
442.
}
443.
$consulta = mysql_query ($sql);//, $con);
444.
return $consulta;
445.
}
446.
}
447.
448.
//SISTEMA VERTICAL - BALANCE GENERAL - POR
SUCURSALES Y CONSOLIDADO
449.
450.
public function obtenerSaldosTotales(){
451.
if($this->con->conectar()==true)
452.
{
453.
if ($cod_sucursal==-1){
454.
455.
456.
}
457.
458.
459.
}
460.
}
461.
462.
Módulo Financiero
220
2.5 LIBRERÍAS USADAS EN LAS PÁGINAS DE PRESENTACIÓN.
Las Librerías de código Js utilizadas para la realización del proyecto
son las siguientes:
2.5.1
Jquery.
Esta librería la utilizamos para el manejo mas practico de
código java script, además del manejo de Ajax, para este
proyecto se a utilizado la versión 1.3.2.
2.5.2
Dhtmlx.
Esta librería nos ayuda con el entorno visual del aplicativo, nos
permite simular un ambiente de escritorio en un navegador web.
Las principales características usadas de esta librería son:
•
Creación de Ventanas.
•
Creación de Menús.
1. Creación de Tabs,.
2. Creación de Tablas y Grillas.
Módulo Financiero
221
2.5.3
Meio código.
Es una librería derivada de jquery que permite validar cajas de
texto (mascaras de entrada).
Importación de Librerías en las Paginas HTML
1.
<script src="../js/jquery-1.3.2.js"> </script>
2.
<script
src="../js/codebase/dhtmlxWindows/codebase/dhtmlxcommon.js"></script>
3.
<script
src="../js/codebase/dhtmlxWindows/codebase/dhtmlxcontainer.js"></script>
4.
<script
src="../js/codebase/dhtmlxWindows/codebase/dhtmlxwindows.js"> </script>
5.
<script
src="../js/codebase/dhtmlxCalendar/codebase/dhtmlxcommon.js"></script>
6.
<script
src="../js/codebase/dhtmlxToolbar/codebase/dhtmlxtoolbar.js"></script>
7.
<script
src="../js/codebase/dhtmlxCalendar/codebase/dhtmlxcalendar.js"></script>
8.
<script
src="../js/codebase/dhtmlxTabbar/codebase/dhtmlxtabbar.js"></script> <script
src="../js/codebase/dhtmlxCombo/codebase/dhtmlxcombo.js"></script>
9.
<script
src="../js/codebase/dhtmlxTabbar/codebase/dhtmlxtabbar_start.js"></script>
10.
<script src="../js/jquery.validate.pack.js"></script>
11.
<script
src="../js/json_sans_eval.js"></script>
<script
src="../js/Dialogo.js">
12.
</script>
13.
<script src="../js/mascara.js"></script>
14.
<script src="../js/creadorVentanas.js"></script>
Módulo Financiero
222
2.6
Librerías Creadas Para el Proyecto.
2.6.1
Creador de ventanas.
Libería que nos permite crear ventanas con direcciones Url, las
cuales contendrán paginas de nuestro proyecto.
15.
16.
17.
18.
19.
ar dhxWins, w1 ;
function crearVentanaURL(x,y,titulo,url) {
dhxWins = new dhtmlXWindows();
dhxWins.enableAutoViewport(true);
20.
21.
22.
23.
24.
// dhxWins.attachViewportTo(contenedor);
dhxWins.setImagePath("../js/codebase/imgs");
w1 = dhxWins.createWindow("w1", 0, 0, x, y);
w1.setText(titulo);
25.
26.
27.
28.
29.
dhxWins.window("w1").center();
// w1.button("minmax1").disable();
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
w1.attachURL(url)
//minmax1,minmax2
}
function crearVentanaURL2(x,y,titulo,url,funcion) {
dhxWins = new dhtmlXWindows();
dhxWins.enableAutoViewport(true);
// dhxWins.attachViewportTo(contenedor);
dhxWins.setImagePath("../js/codebase/imgs");
w1 = dhxWins.createWindow("w1", 0, 0, x, y);
40.
41.
42.
43.
44.
//w1.button("minmax1").disable();
45.
w1.setModal(true)
Módulo Financiero
w1.setText(titulo);
w1.attachURL(url)
dhxWins.window("w1").center();
223
46.
47.
48.
49.
dhxWins.attachEvent("onClose",function(dhxWins){
eval(funcion);
w1.setModal(false)
padre=dhxWins.parentNode;
50.
51.
52.
53.
54.
padre.removeChild(dhxWins);
return
});
55.
56.
57.
58.
2.6.2
//minmax1,minmax2
}
Creador de mensajes de dialogo.
Crea los mensajes de dialogo que se muestran advertencias en
pantalla.
59.
60.
ar dhxWins ;
61.
var rutaImagenes;
62.
rutaImagenes="../imagenes/dialogo/"
63.
var ventanaModalDialogoArreglo;
64.
ventanaModalDialogoArreglo=Array();
65.
function
crearDialogoModal(contenedor,arregloBotones,ArregloFunciones,titulo,mensaj
e,imagen)
66.
{
67.
68.
69.
switch (imagen)
70.
{
71.
case 1:
72.
// admiracion
73.
rutaImagen='<img src="'+rutaImagenes+'pregunta.png"
width="30" height="30" />';
Módulo Financiero
224
74.
75.
break;
76.
case 2:
77.
// error
78.
rutaImagen='<img src="'+rutaImagenes+'atencion.png"
width="30" height="30" />';
79.
break;
80.
case 3:
81.
//pregunta
82.
rutaImagen='<img src="'+rutaImagenes+'error.png"
width="30" height="30" />';
83.
break;
84.
case 4:
85.
rutaImagen='<img src="'+rutaImagenes+'admiracion.png"
width="30" height="30" />';
86.
break;
87.
case 5:
88.
rutaImagen='<img src="'+rutaImagenes+'ok.png"
width="30" height="30" />';
89.
break;
90.
91.
}
92.
93.
ventanaModalDialogoArreglo =ArregloFunciones;
94.
95.
96.
97.
tablaCabecera=document.createElement('table');
98.
tablaCabecera.style.fontSize='12px';
99.
filaCabecera=document.createElement('tr');
100.
casillaImagen=document.createElement('td');
101.
102.
casillaMensaje=document.createElement('td');
103.
casillaMensaje.setAttribute('width','40px');
104.
casillaMensaje.setAttribute('align','right');
105.
casillaMensaje.setAttribute('width','200px');
106.
casillaMensaje.style.textAlign='center';
107.
108.
divImagen=document.createElement('div');
109.
divImagen.innerHTML=rutaImagen;
110.
111.
casillaImagen.appendChild(divImagen);
Módulo Financiero
225
112.
113.
textoNodo=document.createTextNode(mensaje);
114.
casillaMensaje.appendChild(textoNodo);
115.
116.
filaCabecera.appendChild(casillaImagen);
117.
filaCabecera.appendChild(casillaMensaje);
118.
119.
tablaCabecera.appendChild(filaCabecera);
120.
121.
divElemento=document.createElement('div');
122.
divElemento.appendChild(tablaCabecera);
123.
124.
divContenedor=document.getElementById(contenedor);
125.
126.
divElementoBotonera=document.createElement('div');
127.
128.
129.
boton=Array();
130.
htmlBoton=Array();
131.
tablaBotones=document.createElement('table');
132.
filaBotones=document.createElement('tr');
133.
divElemento.id='divDialogoModal';
134.
135.
136.
137.
for(i=0; i<arregloBotones.length; i++)
138.
{
139.
casillaBotones=document.createElement('td');
140.
cerrarVentana="cerrarDialogoModal("+i+")";
141.
142.
boton[i]=document.createElement('button');
143.
boton[i].setAttribute('type',"button");
144.
boton[i].setAttribute('onclick',cerrarVentana);
145.
boton[i].setAttribute('name',arregloBotones[i]);
146.
147.
148.
htmlBoton[i]='<input
name=""
type="button"
onclick="'+cerrarVentana+'" value="'+ arregloBotones[i]+'" />'
149.
150.
151.
casillaBotones.innerHTML=htmlBoton[i];
152.
filaBotones.appendChild(casillaBotones)
Módulo Financiero
226
153.
}
154.
tablaBotones.appendChild(filaBotones);
155.
divBotonera= document.createElement('div');
156.
divBotonera.setAttribute('align', 'right');
157.
divBotonera.appendChild(tablaBotones)
158.
divElemento.appendChild(divBotonera);
159.
160.
divContenedor.appendChild(divElemento);
161.
dhxWins = new dhtmlXWindows();
162.
dhxWins.enableAutoViewport(true);
163.
dhxWins.attachViewportTo(contenedor);
164.
dhxWins.setImagePath("../../codebase/imgs/");
165.
ventanaMOdalDialogo1
dhxWins.createWindow("ventanaMOdalDialogo1",100, 100, 300, 120)
166.
ventanaMOdalDialogo1.setText(titulo);
167.
ventanaMOdalDialogo1.attachObject('divDialogoModal');
168.
ventanaMOdalDialogo1.button("close").disable();
169.
dhxWins.window("ventanaMOdalDialogo1").denyResize()
170.
dhxWins.window("ventanaMOdalDialogo1").center();
171.
172.
dhxWins .window('ventanaMOdalDialogo1').setModal(true);
173.
// ventanaMOdalDialogo1.button("max").disable();
174.
175.
}
176.
function cerrarDialogoModal(id)
177.
{
178.
179.
dhxWins .window('ventanaMOdalDialogo1').setModal(false);
180.
dhxWins .window("ventanaMOdalDialogo1").hide()
181.
eval(ventanaModalDialogoArreglo[id]);
182.
}
Módulo Financiero
=
227
2.7 Diagramas de Flujo de Datos.
Los diagramas de flujos de datos (DFD), son una técnica de
modelización, que nos muestra un sistema como una red de
procesos conectados entre ellos por flujos y almacenamientos de
datos.
Este
modelo que
proporciona en forma
intercambian los datos del modulo financiero.
Ilustración 128. Conciliación Bancaria
Módulo Financiero
gráfica como
se
228
Ilustración 129. DFD Reportes Financieros
Ilustración 130. Reportes
Módulo Financiero
229
Ilustración 131. . DFD de los Reportes – Razones Financieras
Módulo Financiero
230
2.8 Diagrama de Iteración o Secuencia
2.8.1
Bancos
Usuario
Interfaz
Base de Datos
Sistema
Registro Depositos General
Guarda Solicitud()
Notas de Credito
Notas Debito
Envio de Datos ()
Actualiza Solicituc ()
Conciliación Bancaria
Transferencias
Confirmacion de Transaccion
Confirmación
Depositos Caja banco
Depositos Caja banco (cheques)
Mensajes De Confirmacion
Ilustración 132. Diagrama de Secuencia Bancos
Módulo Financiero
231
2.8.2
Diagrama de Secuencia Depósitos
Usuario
Interfaz
Base de Datos
Sistema
Guarda Solicitud()
Cuenta Bancaria
Depositos Caja banco
Actualiza Saldos En Banco
Envio de Transaccion
Actualiza Solicituc ()
Registro Depositos General
Confirmacion de Transaccion
Confirmación de Transaccion Exitosa
Depositos Caja banco (cheques)
Mensajes De Confirmacion
Ilustración 133. Diagrama de Secuencias Depósitos
2.8.3
Diagrama de Secuencia Notas de Crédito/ Debito.
Usuario
Interfaz
Base de Datos
Sistema
Cuenta Bancaria
Guarda Solicitud()
Nota de Creidito
Envio de Transaccion
Actualiza Saldos En Banco
Saldos Banco
Confirmacion de Transaccion
Confirmación de Transaccion Exitosa
Nota debitos bancaria
Mensajes De Confirmacion
Ilustración 134. Diagrama Secuencia Notas
Módulo Financiero
232
2.8.4
Diagrama de Secuencia Transferencias.
Usuario
Interfaz
Sistema
Base de Datos
Registra Movimientos
Envio de Transacción
Transferencias entre Bancos
Actualiza Saldos Bancos
Verificacion de Saldos
Saldos Disponible Banco
Confirmacion de Transacción
Confirmación Transaccion
Mensajes De Confirmacion
Ilustración 135. Diagrama Secuencias Transferencias
Módulo Financiero
233
2.8.5
Anulaciones.
Usuario
Interfaz
Base de Datos
Sistema
Anular Deposito
Transferencias
Anulaciones
actualiza Movimiento
Notas Debito Credito
Actualiza Saldos
Confirmación de Anulación
Valida Datos A Anular
Confirmacion de Anulación
Confirmación Transacción
Mensajes De Confirmacion
Ilustración 136. Diagrama Secuencia Anulaciones
Módulo Financiero
234
2.8.6
Conciliación bancaria.
Usuario
Interfaz
Sistema
Registra Movimientos Conciliados
envio de Movimientos Conciliados
Conciliacion
Actualiza movimientos Transito
valida Periodos
Saldos Disponible Banco
Confirmacion de Transacción
Confirmación Transaccion
Mensajes De Confirmacion
Ilustración 137. Diagrama Secuencia Conciliación Bancaria
Módulo Financiero
235
2.8.7
Reportes Bancarios.
Usuario
Interfaz
Base de Datos
Sistema
Envio de Consulta
Envio de Parametros de Consulta
Consulta ()
Validacion de Parametros
Reportes
Reporte
Registros encontrados
Ilustración 138. Secuencia reportes Bancarios
Módulo Financiero
236
2.8.8
Razones Financieras.
Usuario
Interfaz
Base de Datos
Sistema
Guardar razon()
Cuentas Contables
Razon Finaciera
Ingreso De formula
Validación Fórmula
Confirmacion de Transacción
Confirmación Transaccion
Mensajes De Confirmacion
Ilustración 139. Diagrama Secuencia Razones
Módulo Financiero
237
2.8.9
Secuencia Reportes Financieros.
Usuario
Interfaz
Base de Datos
Sistema
Parametros Reporte
Parametros Seleccionados
Escoje parametros de Reporte
Valida Periodos y Parametros
Reporte comparativo
Consulta()
Reporte
Grupo de Registros
Ilustración 140. Diagrama Secuencia Reportes
Módulo Financiero
Descargar