CAPITULO III. DESARROLLO DE LA PROPUESTA
3.1. Tema
3.2.4. Desarrollo
En el presente apartado se presenta una muestra del libro diario en el desarrollo del sistema.
Formulario del Libro Diario detallediarioModel.php.
TextBox ComboBox ComboBox Menú Principal Button
<?php
defined("_XTEXEC") or die("Area restingida");
class detallediarioModel extends XTModelBase {
public function Todos($id_libro_diario) { if($tam_paginacion!=""){ if($pagina==""){ $pagina = 0; } else{ $pagina = $pagina -1;
$pagina = $pagina * $tam_paginacion; }
}
$select = array('*');
$from = array('vta_detalle_diario');
$where = array();
$where[] = "id_libro_diario=$id_libro_diario"; $groupBy = array(); $having = array(); $orderBy = array(); if($tam_paginacion=="") $limit = array(); $this- >TraerDatos($select,$from,$where,$groupBy,$having,$orderBy,$limit); return $this->getData(); }
public function RegistroxId($codigo) {
$select =
array('id_detalle_diario','id_libro_diario','id_cuenta','observacion_detalle_diari
$from = array('tbl_detalle_diario');
$where = array("id_detalle_diario=$codigo"); $groupBy = array(); $having = array(); $orderBy = array(); $limit = array(); $this- >TraerDatos($select,$from,$where,$groupBy,$having,$orderBy,$limit); $temporal = $this->getData(); return $temporal[0]; } public function Insertar($id_libro_diario,$id_cuenta,$observacion_detalle_diario,$debe_detalle_dia rio,$haber_detalle_diario,$codref_detalle_diario) {
$this->InsertarRegistro('id_detalle_diario',"insert into tbl_detalle_diario(id_libro_diario, id_cuenta, observacion_detalle_diario, debe_detalle_diario, haber_detalle_diario, codref_detalle_diario)
values($id_libro_diario,$id_cuenta,'$observacion_detalle_diario','$debe_detalle_di ario','$haber_detalle_diario',$codref_detalle_diario)");
if($this->getErrorExiste()==true){ return false; } else{ return true; } } public function Actualizar($id_detalle_diario,$id_libro_diario,$id_cuenta,$observacion_detalle_dia rio,$debe_detalle_diario,$haber_detalle_diario,$codref_detalle_diario) {
$this->EjecutarSQL("update tbl_detalle_diario set id_libro_diario=$id_libro_diario, id_cuenta=$id_cuenta,
observacion_detalle_diario='$observacion_detalle_diario', debe_detalle_diario='$debe_detalle_diario',
haber_detalle_diario='$haber_detalle_diario', codref_detalle_diario=$codref_detalle_diario where id_detalle_diario=$id_detalle_diario"); if($this->getErrorExiste()==true){ return false; } else{ return true; } }
public function Eliminar($codigo) {
$this->EjecutarSQL("delete from tbl_detalle_diario where id_detalle_diario=$codigo"); if($this->getErrorExiste()==true){ return false; } else{ return true;
} }
}
?>
Formulario del Libro Diario detallelibroController.php.
<?php
defined("_XTEXEC") or die("Area restingida"); XTReferencia::LoadModelLib("detallediario"); XTReferencia::LoadModelLib("cuenta");
XTReferencia::LoadModelLib("librodiario");
class detallediarioController extends XTControllerBase {
public function index() {
if(!XTPrivilegios::Ver("detallediario"))die("No tiene privilegios");
$this->listar(); }
public function listar() {
if(!XTPrivilegios::Ver("detallediario"))die("No tiene privilegios");
$detallediario = new detallediarioModel(); extract(XTUtils::AllVars());
$listado = $detallediario->Todos($this->pagina, $this- >tam_paginacion,$xtfiltro);
$data['listado'] = $listado;
$data['total_registros'] = $detallediario->getContadorfilas(); $this->view->show("listar", $data);
}
public function agregar() {
if(!XTPrivilegios::Agregar("detallediario"))die("No tiene
privilegios");
$xtformaction = XTUtils::Request("xtformaction"); if($xtformaction=="")
{
//inicia modo
$listado_cuenta = new cuentaModel();
$listado_librodiario = new librodiarioModel(); $data[listado_cuenta] = $listado_cuenta->Todos();
$data[listado_librodiario] = $listado_librodiario->Todos(); extract(XTUtils::AllVars());
$this->view->show("agregar",$data); }
elseif($xtformaction=="GUARDAR"){
//inicia modo de guardado
$detallediario = new detallediarioModel(); extract(XTUtils::AllVars());
$tranret = $detallediario-
>Insertar($id_libro_diario,$id_cuenta,$observacion_detalle_diario,$debe_detalle_di ario,$haber_detalle_diario,$codref_detalle_diario);
if($tranret==true){
$datareturn[]=array('estado'=>'OK','parametro'=>$detallediario- >last_insert);
echo array2json($datareturn); }
else{
$datareturn[]=array('estado'=>'ERROR','parametro'=>$detallediario- >getErrorMensaje());
echo array2json($datareturn); }
} }
public function editar() {
$detallediario = new detallediarioModel();
$xtformaction = XTUtils::Request("xtformaction"); if($xtformaction=="")
{
if(!XTPrivilegios::Ver("detallediario"))die("No tiene
privilegios");
$id_detalle_diario = XTUtils::Request("codigo"); if($id_detalle_diario==null){
die('No se ha seleccionado ningun registro'); }
extract(XTUtils::AllVars());
$localfila = $detallediario->RegistroxId($id_detalle_diario);
$data['localfila'] = $localfila;
$listado_cuenta = new cuentaModel();
$listado_librodiario = new librodiarioModel(); $data[listado_cuenta] = $listado_cuenta->Todos();
$data[listado_librodiario] = $listado_librodiario->Todos(); $this->view->show("editar",$data);
//inicia modo }
elseif($xtformaction=="GUARDAR"){
if(!XTPrivilegios::Editar("detallediario"))die("No tiene
privilegios");
//inicia modo de guardado
extract(XTUtils::AllVars()); $tranret = $detallediario-
>Actualizar($id_detalle_diario,$id_libro_diario,$id_cuenta,$observacion_detalle_di ario,$debe_detalle_diario,$haber_detalle_diario,$codref_detalle_diario);
if($tranret==true){
$datareturn[]=array('estado'=>'OK','parametro'=>''); echo array2json($datareturn);
} else{
$datareturn[]=array('estado'=>'ERROR','parametro'=>$detallediario- >getErrorMensaje()); echo array2json($datareturn); } } }
public function eliminar() {
$detallediario = new detallediarioModel();
if(!XTPrivilegios::Eliminar("detallediario"))die("No tiene
privilegios");
$eliminarcodigo = XTUtils::Request("eliminarcodigo"); $tranret = $detallediario->Eliminar($eliminarcodigo); if($tranret==true){
$datareturn[]=array('estado'=>'OK','parametro'=>''); echo array2json($datareturn);
} else{
$datareturn[]=array('estado'=>'ERROR','parametro'=>$detallediario- >getErrorMensaje()); echo array2json($datareturn); } } } ?>
Formulario del Libro Diario librodiarioController.php.
<?php
defined("_XTEXEC") or die("Area restingida");
XTReferencia::LoadModelLib("librodiario"); XTReferencia::LoadModelLib("periodo"); XTReferencia::LoadModelLib("cuenta");
class librodiarioController extends XTControllerBase {
public function index() {
if(!XTPrivilegios::Ver("librodiario"))die("No tiene privilegios");
$this->listar(); }
public function listar() {
if(!XTPrivilegios::Ver("librodiario"))die("No tiene privilegios");
$librodiario = new librodiarioModel(); extract(XTUtils::AllVars());
$listado = $librodiario->Todos($this->pagina, $this- >tam_paginacion,$xtfiltro);
$data['listado'] = $listado;
$data['total_registros'] = $librodiario->getContadorfilas(); $this->view->show("listar", $data);
}
public function agregar() {
if(!XTPrivilegios::Agregar("librodiario"))die("No tiene privilegios");
$xtformaction = XTUtils::Request("xtformaction"); if($xtformaction=="")
{
//inicia modo
$listado_periodo = new periodoModel();
$data[listado_periodo] = $listado_periodo->Todos(); extract(XTUtils::AllVars());
$cuenta = new cuentaModel();
$listado = $cuenta->TodosAlter($this->pagina, $this- >tam_paginacion,$xtfiltro);
$data['listado'] = $listado;
$this->view->show("agregar",$data); }
elseif($xtformaction=="GUARDAR"){
//inicia modo de guardado
$librodiario = new librodiarioModel(); extract(XTUtils::AllVars());
$notadetalle = $_SESSION["notadetalle"];
$asiento = new XTNotaContable();
$ret = $asiento->InicioTransaccion(); if($ret!=""){
$datareturn[]=array('estado'=>'ERROR','parametro'=>$ret); echo array2json($datareturn); return; } $asiento->Cabecera($fecha_libro_diario, $observacion_libro_diario); if(count($notadetalle)>0){ foreach($notadetalle as $fila){ extract($fila);
$asiento->AddDetalle($id_cuenta, $debe, $haber); }
}
$ret = $asiento->CrearAsientoContable(); if($ret=="OK"){
$datareturn[]=array('estado'=>'OK','parametro'=>$librodiario->last_insert); echo array2json($datareturn);
} else{
$datareturn[]=array('estado'=>'ERROR','parametro'=>$ret); echo array2json($datareturn);
} }
public function editar() {
$librodiario = new librodiarioModel();
$xtformaction = XTUtils::Request("xtformaction"); if($xtformaction=="")
{
if(!XTPrivilegios::Ver("librodiario"))die("No tiene
privilegios");
$id_libro_diario = XTUtils::Request("codigo"); if($id_libro_diario==null){
die('No se ha seleccionado ningun registro'); }
extract(XTUtils::AllVars());
$localfila = $librodiario->RegistroxId($id_libro_diario);
$data['localfila'] = $localfila;
$listado_periodo = new periodoModel();
$data[listado_periodo] = $listado_periodo->Todos(); $this->view->show("editar",$data);
//inicia modo }
elseif($xtformaction=="GUARDAR"){
if(!XTPrivilegios::Editar("librodiario"))die("No tiene
privilegios");
//inicia modo de guardado
extract(XTUtils::AllVars()); $tranret = $librodiario-
>Actualizar($id_libro_diario,$id_periodo,$fecha_libro_diario,$numero_libro_diario, $observacion_libro_diario,$monto_libro_diario);
if($tranret==true){
$datareturn[]=array('estado'=>'OK','parametro'=>''); echo array2json($datareturn);
} else{
$datareturn[]=array('estado'=>'ERROR','parametro'=>$librodiario- >getErrorMensaje());
echo array2json($datareturn); }
} }
public function eliminar() {
3.2.5. Pruebas
El sistema de gestión contable tendrá un diseño modular motivo por el cual se realizaran pruebas de unidad y pruebas de integración.
Los datos empleados para realizar las pruebas son datos reales. Las pruebas serán realizadas por el programador del sistema.
Las pruebas se realizaran de manera incremental, es decir que luego de probar un módulo se continuará con el siguiente; finalmente se probarán todos los módulos de manera integrada.
La etapa de pruebas del sistema informático se la realizó a través de la prueba de unidad y la prueba de integración.
3.2.5.1. Prueba de Unidad
Permitió realizar la prueba individual a cada módulo, detectando errores que se iban corrigiendo a medida que se los detectaba. Una vez realizadas las pruebas unitarias, en la cual se detectaron y corrigieron algunos errores, se procedió a realizar la prueba de integración.
3.2.5.2. Prueba de integración
Una vez concluidas las pruebas de módulos se realizaron las pruebas de integración en la que se probó conjuntamente los módulos que conforman el sistema informático. En la prueba de integración se pudo determinar que los procesos se ejecutaron correctamente y la información fluyó de forma adecuada proporcionando las entradas y salidas especificadas por el usuario.
3.2.6. Implementación
Para que el sistema funcione de forma correcta es necesario considerar los siguientes requerimientos mínimos:
Hardware.- En cuanto a los requerimientos de Hardware mínimos para el funcionamiento del sistema, se deben considerar dos aspectos:
COMPONENTE REQUERIMIENTO MÍNIMO
Espacio en disco duro Para la instalación del sistema de gestión 3 GB
Para el almacenamiento de la información 50 GB
Procesador Core I3 o superior
Memoria RAM 4GB o superior
Mainboard Socket LGA1155,CORE-I7,DDR3,V,S,R o superior
Dispositivos periféricos Teclado ergonómico QWERTY Mouse de 2 botones con Scroll Dispositivo de salida Monitor 17” LCD o superior
Lectores Unidad de DVD-Writer o superior Regulador de energía UPS de 700W o superior
Tabla 3. Requerimientos de hardware para el servidor Elaborado por: Autor de la tesis
Requerimientos para los computadores cliente
COMPONENTE REQUERIMIENTO MÍNIMO
Espacio en disco duro 256MB para la aplicación
Procesador Dual Core 2.0 o superior
Memoria RAM 1GB o superior
Mainboard Socket 775, DDR2, USB, Video,
Sonido, Red o Superior Dispositivos periféricos Teclado ergonómico QWERTY
Mouse de 2 botones con Scroll Dispositivo de salida Monitor 17” o superior
Lectores Unidad de DVD-Writer o superior Regulador de energía UPS de 700W o superior
Tabla 4. Requerimientos de hardware para el cliente Elaborado por: Autor de la tesis
Software.- En cuanto a los requerimientos de Software mínimos para el funcionamiento del sistema, se deben considerar dos aspectos:
Requerimientos para la base de datos
COMPONENTE REQUERIMIENTO MÍNIMO
Sistema operativo Windows XP server pack 3 or Windows 7, superior
Sistema de Gestión de bases de datos MySQL 5.6 o superior
Apache HTTP Server 2.2.9 o superior Paquetes de oficina Microsoft Office 2007 o superior
Tabla 5. Requerimientos de software para el servidor Elaborado por: Autor de la tesis
Requerimientos para los computadores cliente
COMPONENTE REQUERIMIENTO MÍNIMO
Sistema operativo Windows 7 o superior
Complementos Controlador cliente MySQL 5.6 Paquetes de oficina Microsoft Office 2007 o superior
Tabla 6. Requerimientos de software para el cliente Elaborado por: Autor de la tesis
CONCLUSIONES Y RECOMENDACIONES.
Conclusiones generales
Al finalizar el presente trabajo de investigación realizado en la microempresa comunitaria de agua potable y alcantarillado de San Rafael “ECAPASR” SCC, sobre el desarrollo de un sistema informático para la gestión contable, se llegaron a las siguientes conclusiones:
- Se fundamentó científicamente todo lo referente a las variables en estudio, estas son sistemas informáticos y gestión contable, en dicha fundamentación se realizó un análisis mesurado enfocando diferentes puntos de vista de respetables autores, llegando a la conclusión de que los sistemas informáticos han venido involucrándose en diferentes áreas de la industria, el comercio, entre otras, especialmente en lo referente a la contabilidad del talento humano.
- Se realizó un estudio de la realidad contable – informática del centro de estudio y se evidencio que el sistema informático facilita la organización de la información, procesándola de una manera adecuada y de forma oportuna, evitando de esta manera el empleo excesivo de tiempo para llevar a cabo cada una de las tareas realizadas en la Secretaria y dentro de las funciones del gerente y la contadora.
- De las encuestas realizadas a los clientes y funcionarios, la mayor parte de ellos estuvieron de acuerdo de que era necesario el desarrollo de un sistema informático para así mejorar el proceso contable, pago de consumo de agua, adquisición de herramientas, compra de materiales y rol de pagos al empleado.
- Mediante las técnicas y los instrumentos de investigación utilizadas se determinó el desarrollo de un sistema informático ya que este es de gran importancia para la microempresa de Agua Potable y Alcantarillado “ECAPASR” SCC, y así la entidad se mantenga acorde con el avance de las nuevas tecnologías de la información y la comunicación.
Recomendaciones.
Al concluir con el presente trabajo de investigación, se formulan las siguientes recomendaciones:
- El personal administrativo debe emplear y utilizar las nuevas herramientas tecnológicas, lo que permitirá mantenerse con los avances desarrollados. - El personal administrativo y clientes deben recibir capacitación de forma
permanente y con personas especializadas en el uso de sistemas informáticos.
- Es importante que el personal docente dé importancia al sistema informático al momento de realizar el ingreso de las notas de los estudiantes, ya que este proceso permitiría facilitar el trabajo de la secretaria y así permitir ahorrar tiempo para emplearlo en otras actividades relacionadas con el trabajo y al buen desenvolvimiento de la entidad.
- Acoger el desarrollo de este sistema para que sirva como base fundamental para que la Universidad apoyen el desarrollo de otros sistemas que ayuden a llevar a cabo tareas rutinarias y que con el empleo de un sistema se las pueda realizar de forma rápida y sencilla.
BIBLIOGRAFÍA
Alfonso Garcia, C. H. (2011). Seguridad Informatica. España: Ed. Nro 1.
Alvaro Gomez Vieites, C. S. (2010). Sistemas de Información. Madrid, España: 3ra edición.
Asuad, F. O. (2012). Contabilidad General un Sistema de Informacion. Medillín - Colombia: 1ra edición.
Beati, H. (Septiembre 2012). PHP Creacion de paginas web dinámicas. Mexico: Tercera edición.
Castillo, E. G. (Diciembre, 2010). PHP Profecional. Perú: Primera edición . CHUECO, M. (2011). Objetivos. Bogota-Colombia: Nro. 2.
Coronel, A. A. (Julio, 2007). Sistemas de Información. Mexico.
Fernández Alarcón, V. (2006). Desarrollo de sistemas de información: una
metodología basada en el modelado. España: Univ. Politécnica de Catalunya.
Fierro Martinez, A. M. (2011). Contabilidad General: Libros Contables. Bogota: Ed. 4. Gerardo Guajardo Cantú, N. E. (2014). Contabilidad financiera. México: Sexta
edicion.
Ian, S. (2011). Ingenieria de Software. Mexico: Luis M. Cruz Castillo.
INTECO. (Marzo, 2009). INGENIERÍA DEL SOFTWARE: METODOLOGÍAS Y
CICLOS DE VIDA. España: Primera edición.
Jesus, C. S. (2011). Seguridad Informática. Bogota- Colombia: Ed. 1ra.
Kathi. (Martes 6 de Diciembre de 2011). Informática. Obtenido de http://katy- vane.blogspot.com/2011/12/que-es-un-browser.html
Laudon Kenneth, & Laudon Jane. (2010). Administración de los Sistemas de
Información Organización y Tecnología. Madrid - España: Editorial McGraw-
Hill.
Laudon, K. C. (2012). Sistema de Informacion Gerencial. Mexico: Decimo segunda edición.
Lexus. (2013). Manual de Contabilidad y Costos. España: Editorial Lexus.
Mario G. Piattini Velthuis, F. O.-R. (2012). Calidad de Sistemas Informáticos. México. Mena, N. G. (15 de octubre de 2012). Ingenieria de software I. Obtenido de
http://sofware1nathalygrijalva.blogspot.com/2012/10/modelo-espiral.html
Orovengua, J. (5 de Febrero de 2013). Los siete mejores IDE para PHP. Obtenido de http://www.dedodigital.com/302-los-siete-mejores-ide-para-php
Pavon, J. (2011). Creacion de un Portal con PHP y MySQL. Madrid, España: Ed Nro 4.
Pombo, J. R. (2009). Contabilidad General. Madrid, España: 2da edicion.
Pressman Roger. (2009). Ingeniería del Software Quinta Edición. México: Editorial McGraw Hill de España .
Puertas, J. P. (2011). Creacion de un Portal con PHP y MySQL. México: Cuarta edición.
Quijado, J. L. (2011). Domine PHP y MySQL. Mexico: 2da Edicion .
Ralph M. Stair, G. W. (2010). Principios de sistemas de Información . México: 9a, Edición.
Rey, C. S. (2011). Sistemas de Información. Ed 3ra.
Roger S. Pressman, P. (2010). Ingeniería de Software: un enfoque practico. Mexico: Septima edición.
Salvador Sanchez Alonso, S. U. (2012). Ingenieria del Software. Mexico: Primera edición.
Sarmiento, R. (2010). Contabilidad de Costos. Quito-Ecuador: Segunda Ediciòn. Sommerville Ian. (2005). Ingeniería del Software. Pearson Educación.
Spona, H. (mayo, 2012). Programacion de bases de datos con MySQL y PHP.
México: Primera edición.
suarez, G. M. (Miercoles 19 de Marzo de 2014). Contabilidad Básica. Obtenido de http://www.monografias.com/trabajos98/contabilidad-basica-
estudio/contabilidad-basica-estudio.shtml
VALDIVIESO, M. B. (2011). Contabilidad General. Ecuador: No. 10.
Valdivieso, M. B. (2013). Contabilidad General. Ecuador, Quito: Decima Primera Edición.
ANEXOS
Anexo 1.- Guía de entrevista para el Gerente
2.5. ¿Qué tipo de inconvenientes se ha encontrado en el cobro de consumo de agua?
2.6. ¿Qué problemas se ha encontrado en el manejo de procesos contables dentro de la administración en "ECAPASR", SCC?
2.7. ¿Cuáles son los errores que se obtenido en la conciliaciones bancarias?
2.8. ¿Enumere los problemas que existe, en la toma de listado de asistencias a los clientes en mingas?
2.9. ¿Qué inconvenientes existe cuando un empleado no registra un listado de entrega de herramientas?
2.10. ¿Cómo se realiza la recaudación por consumo de agua, alcantarillado y multa, de un cliente?
2.11. ¿Qué tipo de errores ha encontrado en informes finales sea mensuales, anuales, semanales o diarias?
2.12. ¿Cuál es el cálculo el pago de consumo de agua?
2.13. ¿Cuáles son los riesgos que existe si usted no entrega recibos o facturas de pagos a un cliente?
2.14. ¿Indique las causas por las cuales la recaudación de fondos en la entidad se han
extraviado?
2.15. ¿Enumere las dificultades que existe en recaudar fondos en la microempresa "ECAPASR"SCC?.
Anexo 2.- Guía de entrevista para la contadora 2.16. ¿Qué tan difícil es el registro de balance general?
2.17. ¿Cuál son los pasos para los cálculos de procesos contables?
2.18. ¿Qué tipo de dificultades ha tenido al momento de registrar datos en el libro diario?
2.19. ¿Cuáles son los datos que se registra para el pago de rol de pagos?
2.20. ¿Qué tipo de dificultades tiene al momento de realizar el cierre de caja?
2.21. ¿Cuáles son los inconvenientes que se tiene en el registro de cobro de consumo de agua?
2.22. ¿Qué problemas existe al registrar la contabilidad manualmente?
2.24. ¿Cómo se elabora una conciliación bancaria?
2.25. ¿Qué dificultades existe en la entrega final de informes contables al gerente? Anexo 2.- Cuestionario para Clientes
2.26. ¿En "ECAPASR" SCC se ha generado alguna vez largas filas por cobro de consumo de agua?
Siempre A veces Nunca
2.27. ¿Se ha perdido su información de la base de datos deja empresa?
Si No
2.28. ¿Se ha registrado sus pagos a otro usuario por cualquier circunstancia? Si
No
2.29. ¿Cuenta con recibos o facturas de pagos correspondientes? Si
No
2.30. ¿Con que frecuencia su asistencia, se ha asignado a otro usuario por mes? Cada 10 días
Cada 20 días Cada 30 días
Nunca
2.31. ¿Existe problemas al momento de recibir y entregar los materiales para la minga por parte de los empleados?
Si No
2.32. ¿Tiene dificultades en el cobro de consumo de agua? Si
No A veces
2.33. ¿Con que frecuencia ocurre los problemas en registro de factura de pagos y multas?
Cada mes Cada 2 meses Cada 3 meses
2.34. ¿Cuenta con registro adecuado para el cobro de consumo de agua? Si
No
2.35. ¿Le gustaría que la empresa obtenga un sistema contable para las consultas de pagos?
Si No Tal vez