Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Kari_jk8@hotmail.com
fvillavi@yahoo.com
Yo, Edith Karina ato Suntaxi, declaro bajo juramento que el trabajo aqu
descrito es de mi autora; que no ha sido previamente presentada para ningn
grado o calificacin profesional; y, que he consultado las referencias
bibliogrficas que se incluyen en este documento.
Certifico que el presente trabajo fue desarrollado por Edith Karina ato Suntaxi
bajo mi supervisin.
Karina
I
CONTENIDO
INTRODUCCIN .......................................................................................................................... IX
1. CAPITULO 1 : DEFINICIN DEL PROYECTO ................................................................. 1
1.1. DESCRIPCIN DEL PROBLEMA ................................................................................. 1
1.1.1. ANALISIS DEL PROBLEMA................................................................................ 1
1.1.2. GLOSARIO DE TERMINOS ................................................................................. 3
1.1.2.1. SRI .............................................................................................................. 3
1.1.2.2. ACTIVOS Y GASTOS ................................................................................ 10
1.1.2.3. RATIOS O NDICES FINANCIEROS ......................................................... 11
1.2. SELECCIN DE LA METODOLOGA PARA EL DESARROLLO DEL SISTEMA ....... 13
1.2.1. APLICACIN DEL PROCESO UNIFICADO EN EL PROYECTO........................ 14
1.3. SELECCIN DE HERRAMIENTAS DE DESARROLLO .............................................. 15
1.3.1. SELECCIN DEL FRAMEWORK DE APLICACIN WEB ................................. 15
1.3.2. SELECCIN DE LA BASE DE DATOS .............................................................. 17
1.3.3. LICENCIA LGPL ................................................................................................ 17
2. CAPITULO 2: INGENIERIA DEL SISTEMA .................................................................... 21
2.1. MODELO DEL NEGOCIO ........................................................................................... 21
2.1.1. ESPECIFICACIN DE REQUERIMIENTOS. ...................................................... 21
2.1.1.1. Requerimientos Funcionales ................................................................................ 21
2.1.2. ANALISIS .......................................................................................................... 24
2.1.2.1. Diagrama de paquetes .................................................................................. 24
2.1.2.2. Descripcin del paquete de anlisis ............................................................... 25
2.1.2.3. Casos de uso ............................................................................................... 28
2.1.2.3.1. Caso de uso del paquete Gestin de Ventas ................................................ 28
2.1.2.3.2. Caso de uso del paquete Gestin de Compras ............................................. 38
2.1.2.3.3. Caso de uso del paquete Gestin de Inventario ........................................... 48
2.1.2.3.4. Caso de uso del paquete Gestin de Administracin .................................... 55
2.1.2.3.5. Caso de uso del paquete Gestin de Ingresos y Gastos ................................ 58
2.2. ARQUITECTURA DEL SISTEMA ............................................................................... 66
2.2.1. DIAGRAMA DE CLASES................................................................................... 66
2.2.2. DIAGRAMAS DE SECUENCIA .......................................................................... 68
2.2.2.2. Registrar Crdito de Venta ....................................................................... 70
2.2.2.3. Eliminar Crdito de Venta ......................................................................... 71
2.2.2.4. Listar Crdito de venta ............................................................................. 72
2.2.2.5. Registrar Detalle de pago de venta .......................................................... 73
2.2.2.6. Modificar Detalle de pago de venta .......................................................... 74
2.2.2.7. Registrar Devolucin de Venta ................................................................. 75
2.2.2.8. Listar Ventas ............................................................................................. 76
II
NDICE DE FIGURAS
NDICE DE TABLAS
RESUMEN
INTRODUCCIN
El sistema FERRASIS emerge como producto del anlisis de los procesos que
se llevan de manera manual en cualquier ferretera, la carencia de controles y
el cumplimiento de las normas legales que hacen referencia al SRI, conllevan
a un deficiente manejo para la emisin de facturas y pago de impuestos.
Se convierte una necesidad la creacin de una herramienta que pueda apoyar
la mencionada gestin.
que no tienen nada que ver realmente con el Software Libre ni con las
libertades para el usuario.
Para cumplir con este fin propuesto, se ha divido el presente proyecto de
titulacin en captulos, de la siguiente manera:
El capitulo 1 se empezara realizando un anlisis de las necesidades comunes
al rea ferretera con respecto a su administracin, que servir de base para el
desarrollo del proyecto. Tambin se har una comparacin de las herramientas
de desarrollo ms populares en la actualidad para escoger el que brinde la
mejor solucin.
Para realizar un venta se involucra una serie de pasos que se los realiza
manualmente tal es el caso como el control el stock y la actualizacin de los
datos del producto a comercializarse dando como resultado un mayor trabajo
hacia los empleados y administradores de la ferretera.
[1]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Sistema de rentas internas
[2]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Personas naturales
[3]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Sociedades
4
[4]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Grandes contribuyentes
[5]
SRI, http://www.sri.gov.ec/sri/portal/main.do, RISE
[6]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Impuestos
5
Declaracin Semestral
Noveno
Dgito Declaracin Mensual Primer semestre Segundo semestre
[7]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Impuesto al valor agregado Iva
6
1.1.2.1.3. RUC
RUC (El Registro nico de Contribuyentes) es el sistema de identificacin por
el que se asigna un nmero a las personas naturales y sociedades que realizan
actividades econmicas, que generan obligaciones tributarias.
[8]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Impuesto a la renta
7
1.1.2.1.4. Factura
Las facturas son comprobantes de venta que sustentan la transferencia de un
bien o la prestacin de un servicio. Son utilizadas cuando la transaccin se
realiza con personas jurdicas o con personas naturales que necesiten
sustentar crdito tributario del IVA, y en operaciones de exportacin.
[9]
SRI, http://www.sri.gov.ec/sri/portal/main.do, RUC
8
[10]
Figura 1. 1 Formato para la Factura
[ 10 ]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Facturas
9
[11]
Figura 1. 2 Formato de Nota de venta Simplificado
[ 11 ]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Nota de Venta
10
[12 ]
IMONOGRAFIAS, http://www.monografias.com/trabajos51/activos-fijos/activos-fijos2.shtml,
Activos
[13]
CHAGA GALVAN, Jose Alfonso, http://www.mailxmail.com/curso-contabilidad/clasificacion-
activo-pasivo, Clasificacin de los activos
11
[ 14 ]
CHAGA GALVAN, Jos Alfonso, http://www.mailxmail.com/curso-contabilidad-practica-5-
estado-ganancias-perdidas/gastos-operacionales-administracion-gastos-personal, Clasificacin
de los gastos
[15]
CRECE NEGOCIOS, http://www.crecenegocios.com/la-contabilidad-de-costos/, Clasificacin
de los gastos
12
UTILIDADBR UTA
MU =
VENTAS
UTILIDADNETA
MU =
VENTASNETAS
Criterio de Anlisis
Por cada unidad monetaria de venta, se generan X, X unidades monetarias de
utilidad. Un X, X% de utilidad por sobre las ventas.
[16]
CRECENEGOCIOS, http://www.crecenegocios.com/ratios-financieros/, Ratios financieros
[ 17 ]
MONOGRAFIAS, http://www.monografias.com/trabajos28/ratios-financieros/ratios-
financieros.shtml, Ratios financieros
13
[21]
[Presuman 1997] PRESSMAN, Ingeniera del Software: Un enfoque prctico.
[ 18 ]
[Jacobson2000] JACOBSON, Ivar; BOOCH, GRADY; RUMBAUGH, James. El proceso
unificado de desarrollo de software.
14
[19]
Figura 1. 3 Fases y flujos de trabajo del UP.
En el presente proyecto se han definido los siguientes flujos de trabajo
fundamentales, descritos en la tabla 1.5
Modelo de secuencia
Modelo de colaboracin
Modelo de despliegue
Modelo de componentes
Implementacin Manual de usuario
[ 19 ]
WIKIMEDIA FOUNDATION, http://en.wikipedia.org/wiki/Unified_Process, Proceso Unificado
2
FERRASIS.- Sistema de facturacin para ferreteras
15
Manual de Instalacin
CARACTERISTICAS FRAMEWORKS
Codeigniter
Caractersticas:
[20]
CODEINGNITER, http://codeigniter.uptodown.com, caractersticas de codeingniter
18
[ 21 ]
GNU, http://www.gnu.org/licenses/lgpl-2.1.html, Licencia LGPL
20
[12 ]
GNU, http://www.gnu.org/licenses/lgpl-2.1.html, Licencia LGPL
[ 22 ]
GNU, http://www.gnu.org/licenses/gpl-2.0.html, Licencia GPL
[ 23 ]
WIKIMEDIA FOUNDATION, http://es.wikipedia.org/wiki/Licencias_de_software_libre,
Comparacin entre licencias de software libre
21
2.1.2. ANALISIS
En esta fase se estudia de una manera ms detallada la informacin
presentada anteriormente, pero esta vez desde el punto de vista del
programador (vista interna del sistema) y no desde el de un usuario (vista
externa del sistema).
2.1.2.1. Diagrama de paquetes
El paquete es un mecanismo de propsito general para organizar elementos
del modelado en grupos con el fin de comprenderlos ms fcilmente.
Conforme va creciendo el sistema hasta alcanzar un gran tamao, se hace
necesario organizar estos elementos en bloques mayores llamados paquetes.
Los paquetes que contienen los diversos elementos de los modelos y estn
especificados como se indica en la Figura 2.1
Gestin de Compras
Gestin de Inventario
Gestin de Administracin
Gestin de
empleados
Eliminar subcategora de
producto
Gestin de categora Registrar categora de
de producto producto
Modificar categora de
producto
Eliminar categora de
producto
Registrar empleado
Modificar empleado
ADMINISTRADOR Administracin Gestin de Eliminar empleado
empleados Consultar empleado
<<extend>>
registrarCliente
<<include>>
registrarVenta
<<include>>
registrarDetalle
<<include>> registrarCrditoVenta
modif icarDetalle
eliminarCrditoVenta
eliminarDetalle
<<extend>>
listarCrditoVenta
registrarDetallePagoVenta
<<extend>>
registrarDev olucinVenta
<<extend>>
<<extend>>
modif icarDetallePagoVenta
modif icarDev olucinVenta
actualizarStock
eliminarDetallePagoVenta
eliminarDev olucinVenta
<<extend>>
<<include>>
Cajero
consultarDev olucinVenta
<<include>>
<<include>>
listarVentas
<<include>>
<<include>>
eliminarCliente
<<include>>
v erif icarCliente
<<include>>
consultarCliente
el total de la factura
observacin.
4 El Cajero selecciona guardar.
5 El Sistema valida y guarda los datos
1 En 4.- El Cajero selecciona cancelar
Secundario1
2 El Sistema cancela la accin
En 5.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.
registrarProveedor
<<include>>
<<include>> registrarDetalle
registrarCompra
<<include>>
modificarDetalle
registrarCrditoCompra
eliminarDetalle
eliminarCrditoCompra
<<extend>>
<<extend>> <<extend>>
registrarDetallePagoCompra
listarCrditoCompra
<<extend>>
Contador
modificarDetallePagoCompra actualizarStock
(from Actors)
registarDevolucinCompra
<<extend>>
eliminarDetallePagoCompra
modificarDevolucinCompra
<<include>>
<<include>>
eliminarDevolucinCompra
<<include>>
<<include>>
consultarDevolucinCompra verificarDevolucinCompra
listarCompras
<<include>>
<<include>>
modificarProveedor
verificarProveedor
<<include>>
eliminarProveedor
consultarProveedor
registrarProducto
modif icarProducto
<<include>>
<<include>>
<<include>> eliminarProducto
<<include>>
v erif icarProducto
consultarProducto
registrarSubcategoraProducto
<<include>>
<<include>>
Bodeguero
consultarSubcategoraProducto
registrarCategoraProducto
<<include>>
<<include>>
modif icarCategoraProducto
<<include>>
v erif icarCategoraProducto
eliminarCategoraProducto
modif icarParametros
registrarEmpleado
<<include>>
<<include>>
<<include>>
modif icarEmpleado
v erif icarEmpleado <<include>>
Administrador
eliminarEmpleado
consultarEmpleado
<<include>> registrarGasto
generarPagoImpuesto
<<include>>
modificarGasto
n <<include>>
verificarGasto
<<include>>
mostrarRentabilidad
eliminarGasto
Contador
consultarGasto
(from Actors)
listarProductosBajoStock
registrarCategoraGasto
listarPagosPendientesProveedores
<<include>>
<<include>>
modificarCategoraGasto
<<include>>
verificarCategoraGasto
<<include>> listarPagosPendientesCliente
eliminarCategoraGasto
consultarCategoraGasto
en la venta.
Mostrar informacin de la ganancia anuales y ratios financieros de
rentabilidad
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
acceso al sistema.
Precondiciones:
Ventas registradas
Compras registradas.
Poscondiciones: Datos resumidos sobre ventas, compras, gastos y ganancia.
Flujo: Pasos Accin
1 El Contador selecciona mostrar rentabilidad.
El Sistema muestra las opciones de venta, compra, gasto, anlisis
2
anual.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito de clientes registrados
Poscondiciones: Lista de pagos pendientes de clientes
Flujo: Pasos Accin
1 El Contador selecciona listar pagos pendientes de clientes
2 El Contador selecciona la fecha desde / hasta
Principal
3 El Contador selecciona buscar
Prov eedor
raznSocial : string
ruc : int
f echaIngreso : date
+prov ee 1
+pertenece 1..*
Producto
cdigo : string
nombre : string
cantidad : int
Empleado unidad : string Cliente
login : string +registra +es registrado stock : int +es registrado +registra
ruc : string
contrasea : string
f echaIngreso : date
modulo : string 1 1..* nuev o() 1..* 1
2.2.1. DIAGRAMA DE CLASES
modif icar()
eliminar()
buscar()
listarBajoStock()
CabeceraCompra calcularDisponibilidad()
Dev olucinCompra CabeceraVenta
nmeroFactura +pertenece 1..*
nmeroD ev olucin : int nmeroFactura
f echaCompra
producto : string f echaVenta
subtotal
cantidad : int subtotal
iv a
subtotal : f loat +tiene iv a
+pertenece +tiene total 1
total : f loat total Dev olucinVenta
tipoCobro SubcategoraProducto
ARQUITECTURA DEL SISTEMA
nuev o()
modif icar()
eliminar()
67
Parametros
razonSocialEmpresa : string
rucEmpresa : int
nombrePropietario : string
impuestoIva : float
simboloMoneda : string
direccinEmpresa : string
telfonoEmpresa : string
modificar()
CategoraGasto
cdigo : string
nombre : string
nuevo()
modificar()
eliminar()
+tiene 1
+pertenece 1
Gasto
nmeroFactura : int
detalle : string
total : float
nuevo()
modificar()
eliminar()
gasto()
gastoMes()
registrarVenta()
generarNmeroFactura
buscarCliente(nombre)
mostrarCliente()
crear(nmeroFactura,ciCliente,ciEmpleado)
aadirProducto(codigoProducto,cantidad)
verificarCantidad(codigoProducto)
mostrarProducto()
calcularSubtotal( )
calcularTotal()
mostrarTotal()
receptarPago(tipo,cantidad)
guardar()
generarFactura
imprimirFactura
Descripcin
En la Fig. 2.6 Muestra la secuencia del caso de uso registrar venta flujo
principal, el usuario que interacta con la interfaz UI:RegistrarVenta es el
cajero, la clase CabeceraVenta llama al mtodo genera nmero de factura,
69
registrarVenta()
parametros
crear() nuevo(razonSocial,ruc,nombre,
apellido,direccin,telefono,em
ail,fechaIngreso,observacin)
nuevo(parametros)
validarInformacion()
mostrarCliente
Descripcin:
En la Fig. 2.7 Muestra la secuencia del caso de uso registrar venta flujo
secundario Registrar Cliente.
El usuario que interacta con la interfaz UI:RegistrarVenta es el cajero, este
llama a la interfaz UI:Cliente para crear un nuevo cliente, este llama al mtodo
nuevo de la clase cliente enviando como parmetros la razonSocial, ruc,
70
registrarCrdito()
buscarFactura(nmeroFactura)
mostrarFactura
crear(nmeroFactura)
validarInformacion()
mostrarCrdito
Descripcin:
En la Fig. 2.8 Muestra la secuencia del caso de uso registrar crdito de venta
flujo principal.
El usuario que interacta con la UI:GestionarCredito es el cajero, este invoca al
mtodo buscarFactura enviando como parmetro el nmero de factura a la
clase CabeceraVenta y retorna los datos de la factura y se crea un nuevo
registro en la clase CreditoVenta enviando como parmetro el nmero de
factura y la clase CreditoVenta invoca al mtodo validarInformacion y este
retorna los datos del crdito.
71
UI:GestionarCrdito : CrditoVenta
: Cajero
eliminarCrdito()
buscarCrdito(nmeroCrdito)
mostrarCrdito
eliminar(nmeroFactura)
Descripcin:
En la Fig. 2.9 Muestra la secuencia del caso de uso eliminar crdito de venta
flujo principal.
El usuario que interacta con la interfaz UI:GestionarCredito es el cajero este
invoca al mtodo buscarCredito enviando como parmetro el nmero del
crdito a la clase CrditoVenta y este retorna los datos del crdito y elimina el
crdito.
72
seleccionarCrdito()
buscar(nmeroCrdito)
buscar(nmeroCrdito)
mostrarCrdito()
mostrarDetallesPago()
seleccionarCredito()
buscarCrdito(nmeroCrdito)
mostrarCrdito()
crear(nmeroCrdito,nmeroCuota,abono)
validarInformacion()
actualizarSaldo()
mostrarDetallePago
Descripcin:
En la Fig. 2.11 Muestra la secuencia del caso de uso registrar detalle de pago
de venta flujo principal.
El usuario que interacta con la interfaz UI:GestionarCrdito es el cajero este
busca el crdito en la clase CrditoVenta enviando como parmetro el nmero
de crdito y este muestra los datos del crdito.
Una vez selecciona el crdito el cajero desde la interfaz
UI:GestionaDetallePago invoca al mtodo crea un detalle de pago enviando
como parmetro nmero de crdito, nmero de cuota, abono en la clase
DetallePagoCreditoVenta, este valida la informacin y actualiza el saldo del
crdito de la clase CreditoVenta y muestra los detalles de pago.
74
seleccionarCrdito()
buscarCrdito(nmeroCrdito)
mostrarCrdito()
mostrarDetallePago()
modificar(cantidad)
validarInformacion()
actualizarSaldo
Descripcin:
En la Fig. 2.12 Muestra la secuencia del caso de uso modificar detalle de pago
de venta flujo principal.
El usuario que interacta con la interfaz UI:GestionarCrdito es el cajero este
busca el crdito en la clase CrditoVenta enviando como parmetro el nmero
de crdito y este muestra los datos del crdito y los datos del detalle de pago.
El cajero selecciona el detalle de pago y llama al mtodo modificar enviando
como parmetro la cantidad a la clase DetallePagoCreditoVenta y este invoca
al mtodo validar informacin y actualiza el saldo de la clase CreditoVenta.
75
registrarDevolucin()
crear(cdigoProducto,cantidad)
calcularTotal( )
actualizarStock(cdigoProducto,cantidad)
mostrarDevolucin()
Descripcin:
En la Fig. 2.13 Muestra la secuencia del caso de uso registrar devolucin de
venta flujo principal.
El usuario que interacta con la interfaz UI:GestionarDevolucin invoca la
mtodo crear de la clase DevolucionVenta enviando como parmetro el cdigo
del producto y la cantidad este invoca al metodo calcularTotal y actualizaStock
de la clase producto enviando como parmetro el cdigo del producto y la
cantidad.
76
UI:ListarVenta : CabeceraVenta
: Cajero
seleccionarFecha(desde,hasta)
buscarFactura(desde,hasta)
calcularTotal( )
mostrarVentas
Descripcin:
En la Fig. 2.14 Muestra la secuencia del caso de uso listar venta flujo principal.
El usuario que interacta con la interfaz UI:ListarVenta es el cajero este
selecciona la fecha enviando como parmetro la fecha desde y la fecha hasta e
invoca al mtodo buscarFactura de la clase CabeceraVenta y este invoca al
mtodo calcularTotal y retorna el total de ventas.
Ver detalle de diagrama de secuencia en Anexo A
77
CAJERO SISTEMA
inicio
Presentar interfaz
Seleccionar
de registrar venta
registrar venta
Generar nmero de
factura
Buscar nombre
del cliente
Verificar existencia
del cliente
no
si Registrar
Cliente
Desplegar datos
del cliente
no
Mostrar mensaje
si producto sin stock
Mostrar total de
la factura
Calcular el subtotal y total de
la factura
si
Confirmar si existe otro
producto para el pedido
no
Seleccionar
tipo de pago
Ingresar la
cantidad
seleccionar Generar
guardar factura Factura
Im primir
Factura
fin
Cajero Sistema
Inicio
parametros
nuevo(raznSocial, ruc,
nombre,apellido,direccin
,telfono,email,fechaIngre
so,observacin)
Datos vlidos
Registrar informacin
del cliente
nuevo(nmeroFactura,
plazo,
interes,total,cuota)
Registrar informacin
del crdito
Mostrar mensaje de
confirmacin
Inicio
Seleccionar registrar
devolucin
Mostrar campos de
registro
nuevo(nmeorFactura,
cdigoProducto,cantida
d,total)
Registrar informacin de la
devolucin
Descripcin
Por medio de la interfaz que se muestra en la Figura 2.16 los usuarios van a
ingresar al sistema a travs de un Identificador de cada usuario, el mismo que
deber ser escrito en la caja de texto junto a Usuario y una contrasea, al
ingresar el nombre del usuario el sistema mostrara el perfil del mismo.
Descripcin
En la Figura 2.17 se muestra la pantalla principal del Sistema, esta interfaz
muestra las diferentes opciones de trabajo dentro del Sistema, se tiene un
men detallado de opciones para cada actividad y en la parte superior se tiene
el logotipo del sistema.
Descripcin
Al imprimir una factura se mostrara un factura simplificada de 7.3cm x 2.15 cm,
el rea de imprenta ser de acuerdo a los datos de la ferretera y datos de la
imprenta.
El cuerpo de la factura ser llenado con los datos del cliente y los detalles de
compras realizados por el cliente
.
2.2.4.4. Diseo Navegacional
La navegacin entre las interfaces en un sistema Web es muy importante, es
un conjunto de estrategias orientadas a conseguir un resultado ptimo en la
localizacin de la informacin y en la orientacin para el usuario.
Las interfaces de navegacin tienen que ayudar a los usuarios a responder a
tres preguntas fundamentales relacionadas con la navegacin, Dnde estoy?
Dnde he estado? Dnde puedo ir?.
El sistema FERRASIS de acuerdo a la investigacin y anlisis en el mercado
ferretero se concluyo que existe 4 usuarios importantes que son: Cajero,
Contador, Bodeguero y el Administrador, razn por la cual se escogi estos 4
usuarios con sus respectivos permisos que sern explicados a continuacin:
Restricciones de integridad
87
fk_categoriaproducto_subcatproducto
88
categoria_producto
id int(11)
codigo varchar(125)
descripcion varchar(255)
89
Servidor Web y
Base de datos cliente intranet
LAN
Internet
cliente Web
Registrar Venta
Gestionar Devolucin
Gestionar Cliente
Listar Ventas
C:\xampp\htdocs\prueba\system\application\config\ config.php
C:\xampp\htdocs\prueba\system\application\config\ database.php:
C:\xampp\htdocs\prueba\system\application\config\ routes.php:
<?php
class cliente extends Controller{
function cliente(){
parent::Controller();
$this->load->model('mcliente');
}
function tabla(){
$this->load->view('cliente_tabla');
}
function getDatos(){
$numFilas=$this->mcliente->consulta_cliente();
$pagina=$this->input->post('page');
$numFilasPorPagina=$this->input->post('rows');
$campoInicial=$this->input->post('sidx');
$ordenamientoInicial=$this->input->post('sord');
$numPaginas=ceil($numFilas/$numFilasPorPagina);
$posicionInicial=$numFilasPorPagina*$pagina-$numFilasPorPagina;
$buscar = $_POST['_search'];
$cbuscar = "1";
if($buscar != 'false'){
$campo = $this->input->post('searchField');
$valor = $this->input->post('searchString');
$cbuscar = " $campo like '%$valor%' ";
}
$consulta=$this->mcliente->
consulta_tabla($cbuscar,$campoInicial,$ordenamientoInicial,$posicionInicial,$numFilasPorPagina);
$responce->page=$pagina;
$responce->total=$numPaginas;
$responce->records=$numFilas;
foreach($consulta as $i=>$row){
$responce->rows[$i]['id']=$row->id;
$responce->rows[$i]['cell']=array($row->id,$row->razon_social,$row->ruc,$row->nombre,
$row->apellido,$row->direccion,$row->ciudad,$row->telefono,$row->email,$row-
>fecha_ingreso,$row->observacion);
}
echo json_encode($responce);
}
96
function administrar(){
$accion= $this->input->post('oper');
switch($accion){
case 'add':
$this->mcliente->nuevo($this->input->post('razon_social'), $this->input->post('ruc'),
$this->input->post('nombre'), $this->input->post('apellido'),$this->input->post('direccion'),
$this->input->post('ciudad'),$this->input->post('telefono'),$this->input->post('email'),
$this->input->post('fecha_ingreso'),$this->input->post('observacion'));
break;
case 'edit':
$this->mcliente->editar($this->input->post('razon_social'), $this->input->post('ruc'),
$this->input->post('nombre'), $this->input->post('apellido'),$this->input->post('direccion'),
$this->input->post('ciudad'),$this->input->post('telefono'),$this->input->post('email'),
$this->input->post('observacion'),$this->input->post('fecha_ingreso'), $this->input->post('id'));
break;
case 'del':
$this->mcliente->eliminar($this->input->post('id'));
break;
}
}
}
?>
<?php
class mcliente extends Model{
function nuevo( $razonsocial, $ruc, $nombre, $apellido, $direccion,$ciudad,$telefono,$email,$fecha,$obs){
$datos = array('razon_social'=>$razonsocial,
'ruc'=>$ruc,
'nombre'=>$nombre,
'apellido'=>$apellido,
'direccion'=>$direccion,
'ciudad'=>$ciudad,
'telefono'=>$telefono,
'email'=>$email,
'fecha_ingreso'=>$fecha,
'observacion'=>$obs);
$this->db->insert('cliente',$datos);
return $this->db->insert_id();
}
function editar($razonsocial, $ruc, $nombre, $apellido, $direccion,$ciudad,$telefono,$email,$obs,$fecha,$id){
$datos = array('razon_social'=>$razonsocial,
'ruc'=>$ruc,
'nombre'=>$nombre,
'apellido'=>$apellido,
'direccion'=>$direccion,
'ciudad'=>$ciudad,
'telefono'=>$telefono,
'email'=>$email,
'observacion'=>$obs,
'fecha_ingreso'=>$fecha);
$this->db->where('id', $id);
$this->db->update('cliente',$datos);
}
function eliminar($id){
$this->db->delete('cliente', array('id'=>$id));
}
function consulta_tabla($cbuscar,$campoInicial,$ordenamientoInicial,$posicionInicial,$numFilasPorPagina){
$SQL="SELECT * from cliente where $cbuscar ORDER BY $campoInicial $ordenamientoInicial LIMIT
$posicionInicial,$numFilasPorPagina";
return $consulta=$this->db->query($SQL)->result();
}
function consulta_cliente(){
return $consulta =count($this->db->select('*')->get('cliente')->row());
}
}
?>
98
$(function(){
$('#t_cliente').jqGrid({
url:'<?php print site_url('cliente/getDatos')?>',
datatype:"json",
mtype:'POST',
colNames:['Cdigo','RazonSocial','RUC/CI','Nombre','Apellido','Direccin', 'Ciudad','Telfono',
'Email','Ingreso','Observacin'],
colModel:[
{name:'id',index:'id',width:60,editable:false,editoptions:{size:20},
editrules:{required:false},search:true},
{name:'razon_social',index:'razon_social',width:250,editable:true,editoptions:{size:20},
editrules:{required:false},search:true},
{name:'ruc',index:'ruc',width:150,align:"left",editable:true,editoptions:{size:20},
editrules:{number:true,required:true}},
{name:'nombre',index:'nombre',width:160,align:"left",editable:true,editoptions:{size:20},
editrules:{required:true},search:false},
{name:'apellido',index:'apellido',width:160,align:"left",editable:true,
editoptions:{size:20}, editrules:{required:true},search:true},
{name:'direccion',index:'direccion',width:150,align:"left",editable:true,
editoptions:{size:20},editrules:{required:true},search:false},
{name:'ciudad',index:'ciudad',width:70,align:"left",editable:true,
editoptions:{size:20},editrules:{required:false},search:false,hidden:true},
{name:'telefono',index:'telefono',width:100,align:"left",editable:true, editoptions:{
size:20,maxlength:9},editrules:{number:true,required:false},search:false},
{name:'email',index:'email',width:100,align:"left",editable:true,editoptions:{size:20},
editrules:{email:true,required:false},search:false},
{name:'fecha_ingreso',index:'fecha_ingreso',width:200,align:"left",editable:true,
editoptions:{size:20},editrules:{date:true, required:true},search:false},
{name:'observacion',index:'observacion', width:250, sortable:false,
editable: true,edittype:"textarea", editoptions:{rows:"2",cols:"17"},search:false}
],
pager:jQuery('#paginacion'),
rowNum:15,
rowList:[15,30],
sortname:'id',
viewrecords:true,
sortorder:"asc",
width:'900',
height:'100%',
caption:"Lista de Clientes",
editurl:'<?php print site_url("cliente/administrar")?>'
}).navGrid("#paginacion",{edit:true,add:true,del:true,search:true,refresh:true})
});
</script>
<body>
<table id="t_cliente" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="paginacion" class="scroll" style="text-align:center;"></div>
</body>
</html>
100
Explicacin:
1. En la parte superior se encuentran las etiquetas de una pagina html con
sus respectivo estilo y llamadas a script a utilizarse en la vista.
http://localhost/prueba/index.php/cliente/tabla
101
Usuario Cajero
Subtotal:128.70
Descuento:14.3
Iva:15.44
Total:144.14
Usuario Cajero
Factura No: 1
Entradas Plazo: 2
% de inters por mes: 5
Salidas s/n
Usuario Cajero
Entradas S/N
Salidas S/N
Usuario Cajero
Entradas S/N
Usuario Cajero
Factura No:1
Cdigo de producto: 100-101
Entradas
Cantidad:1
% de descuento:10
Subtotal:24.87
Descuento:2.49
Salidas
Iva:2.68
Total:25.07
Usuario Cajero
Entradas
Codigo:100-101
Cantidad:1
Subtotal:24.87
Salidas
Descuento:2.49
Iva:2.68
Total:25.07
Usuario Cajero
Entradas S/N
Salidas S/N
Usuario Cajero
Entradas S/N
Usuario Cajero
Entradas S/N
Usuario Cajero
Salidas s/n
Usuario Cajero
Entradas
Usuario Cajero
Entradas S/N
Salidas S/N
109
Usuario Cajero
Entradas S/N
Porcentaje
de
CRITERIOS DE EVALUACIN aceptacin
Documentos descritos sobre la funcionalidad del
sistema, manual de instalacin y manual de
Documentacin usuario. 100%
Base de datos Integridad de los datos 100%
Procesos de insercin, despliegue, borrado y
actualizacin de los datos 100%
Funcionalidad Informacin al usuario es correcta 100%
Eventos en las interfaces sean correctos 100%
Realizacin de facturas de ventas y compras 100%
Ingreso de clientes, empleados, productos 100%
Ingreso de crdito con sus respectivos pagos para
clientes y proveedores 100%
Impresin de reportes y facturas 100%
Interfaces de
usuario Navegacin y lgica de la navegacin 100%
Formato en las interfaces 100%
Accin adecuada al seleccionar opciones 100%
Desempeo del
sistema Tiempo de recuperacin en fallos del sistema 100%
Tiempo de respuesta a los usuarios 100%
Acceso al sistema 100%
Seguridad Modificacin de la informacin 100%
Integridad de la informacin en trabajo de red 100%
4. CONCLUSIONES Y RECOMENDACIONES
4.1. CONCLUSIONES
El propsito del presente proyecto es brindar apoyo al administrador de
la ferretera bajo el marco legal del SRI, garantizando la transparencia
en todas las actividades del sistema como es el generar el pago del
impuesto a travs del formulario 104A para personas naturales no
obligadas a llevar contabilidad y la emisin de las facturas.
4.2. RECOMENDACIONES
Los datos generados del uso del sistema FERRASIS podr servir a
futuro en la toma de decisiones, se recomienda la elaboracin de un
datamart.
BIBLIOGRAFA:
[1]
SRI, Sistema de rentas internas, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=163
[2]
SRI, Tipos de contribuyentes Personas naturales, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=434&codeContent=434
[3]
SRI, Tipos de contribuyentes Sociedades, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=463&codeContent=463
[4]
SRI, Tipos de contribuyentes Grandes contribuyentes, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=157&codeContent=157
[5]
SRI, Tipos de contribuyentes RISE, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=12465&codeContent=12465
[6]
SRI, Impuestos ,Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=122
[7]
SRI, Impuesto al valor agregado Iva, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=304#anchor7
[8]
SRI, Impuesto a la renta, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=150#anchor6
[9]
SRI, RUC, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=362&external=#anchor6
[10]
SRI, Facturas, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=47&external=#anchor13
[11]
SRI, Nota de venta, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=77&external=
116
[12]
MONOGRAFIAS, Activos, Septiembre 2007,
http://www.monografias.com/trabajos51/activos-fijos/activos-fijos2.shtml
[13]
CHAGA GALVAN, Jos Alfonso, Clasificacin de los activos, Agosto 2006
http://www.mailxmail.com/curso-contabilidad/clasificacion-activo-pasivo
[14]
CHAGA GALVAN, Jos Alfonso, Clasificacin de los gastos, Septiembre
2007,
http://www.mailxmail.com/curso-contabilidad-practica-5-estado-ganancias-
perdidas/gastos-operacionales-administracion-gastos-personal
[15]
CRECERNEGOCIOS, Clasificacin de los gastos, Junio 2007,
http://www.crecenegocios.com/la-contabilidad-de-costos/
[16]
CRECERNEGOCIOS, Ratios financieros, Febrero 2008,
http://www.crecenegocios.com/ratios-financieros/
[17]
MONOGRAFIAS, Ratios financieros, Abril 2007,
http://www.monografias.com/trabajos28/ratios-financieros/ratios-
financieros.shtml
[18]
JACOBSON, Ivar; BOOCH, GRADY; RUMBAUGH, James. El proceso
unificado de desarrollo de software. Pearson Educacin, Madrid, 2000.
[19]
WIKIMEDIA FOUNDATION, Proceso Unificado, Abril 2008,
http://en.wikipedia.org/wiki/Unified_Process
[20]
CODEINGNITER, Caractersticas de codeingniter, Febrero 2009,
http://codeigniter.com
[21]
GPL, Licencia LGPL, Junio 2007,
http://www.gnu.org/licenses/lgpl-2.1.html
[22]
GPL, Licencia GPL, Junio 2007
117
http://www.gnu.org/licenses/gpl-2.0.html
[23]
WIKIMEDIA FOUNDATION , Comparacin entre licencias de software libre,
Febrero 2009, http://es.wikipedia.org/wiki/Licencias_de_software_libre
118
Anexos
A: Diagramas de secuencia
B: Prototipo de Interfaz
C: Manual de Instalacin
D: Manual de Usuario
Tesis
Contiene el documento de la tesis.
Instaladores
Cdigo Fuente
Datos
Contiene los scripts de carga de datos de prueba del sistema.
Software Requerido
119
ANEXOS