Descargar

Programa en Modo Gráfico, utilizando Visual C++ 6.0., en la elaboración de una Factura


    1. Definición y Justificación del problema
    2. Objetivos planteados
    3. Ideas a defender
    4. Alcance
    5. Viabilidad
    6. Cronograma de actividades y cuadro de cumplimiento
    7. Fundamentación teórica
    8. Resultados del proyecto
    9. Conclusiones y recomendaciones
    10. Bibliografía
    11. Anexos
    1. Definición y Justificación del problema.

    En vista de que en la Universidad Tecnológica América, no existen aplicaciones en modo gráfico de una Factura y sus Impuestos más trascendentales, utilizando el Lenguaje de Programación en Visual C++ 6.0., se ha realizado una investigación exhaustiva para conocer el procedimiento de elaboración para el mencionado tema.

    En la actualidad, es primordial que se optimicen los recursos, por ello, se observa la necesidad de la programación gráfica, es por eso que se muestra una aplicación de una factura, además, obtener la ayuda resumida de los impuestos básicos que influyen en la factura, tales como el IVA y Retenciones en la Fuente.

    Además, cabe destacar que en la actualidad, la Programación y la Informática en general, es una de las herramientas más trascendentales para el desarrollo institucional de un ente económico, por el motivo que se necesita renovar la tecnología para tener una mejor perspectiva empresarial.

    1. Objetivos planteados
    1. Realizar una aplicación de una Factura, mediante la utilización del Lenguaje de Programación en Visual C++ 6.0., en modo gráfico, con funcionabilidades que sea de fácil entendimiento para el usuario, por medio de la sistematización de la bibliografía correspondiente al tema y el asesoramiento de varios Tutores especializados.

    2. Objetivo General
    3. Objetivos Específicos
    1. Sistematizar la bibliografía investigada, para aplicar los conocimientos adquiridos en un modelo de Factura.
    2. Sintetizar los reglamentos del Impuesto al Valor Agregado y Retención en la Fuente que rigen en la factura, para mostrarle al usuario en la aplicación, lo más trascendental del tema antes mencionado.
    3. Socializar a los compañeros que realicen Proyectos Integradores de 4to. Nivel, por medio de una síntesis del mencionado documento, con esto se realizará una aplicación de una Factura, de fácil entendimiento para el mejor entendimiento del mismo. * Anexo 5.
    1. Ideas a defender
    • Que mientras a mayor investigación relacionada al presente tema, se facilitara el procedimiento para desarrollar una aplicación en la programación gráfica en Visual C++ 6.0., que en el presente caso, es una Factura.
    • Con el presente trabajo, existe el compromiso de investigar y conocer de manera práctica la aplicación que tiene Visual C++ 6.0., en una aplicación de una Factura.
    • A mayor aplicaciones que se realicen utilizando el Lenguaje de Programación en modo gráfico de Visual C++ 6.0.,
    • Que mientras a mayor investigación relacionada al presente tema, se facilitara el procedimiento para desarrollar una aplicación en la programación gráfica en Visual C++ 6.0., que en el presente caso, es una Factura.
    1. Alcance

    En el presente trabajo, existe el compromiso de investigar y conocer de manera práctica la aplicabilidad de programar en modo gráfico, utilizando Visual C++ 6.0., en un código que resuelva una factura.

    Entre los temas a estudiar serán:

    1. Programación en modo gráfico en Visual C++ 6.0.
    2. Principales temas de la Factura.
    3. Soporte de Impuestos del Fisco, en lo que se refiere al IVA y Retenciones en la Fuente.
    1. Metodología

    Los métodos investigativos que se ha utilizado se detallan a continuación:

    • Analítico – sintético.-

    Este método es de vital importancia, ya que debe realizarse el análisis a realizarse de aspectos concretos de la presente investigación que permitirá conocer, comprender y aplicar sobre la base de la descripción del todo investigada en sus componentes.

    Esta metodología, es aplicada en la sistematización de la bibliografía, descrita su resultado en el Marco Teórico.

    • Método inductivo.-

    Este método, se lo utilizar por cuanto la información será recolectada de manera independiente de varias fuentes, las mismas que serán libros, direcciones de Internet, asesorías contables, entre otros.

    Como lo dice su nombre, esta metodología, es utilizada cuando se recogió toda la bibliografía organizada y clasificada en sus diferentes temas del proyecto.

    • Método analítico y crítico.-

    Este método es utilizado puesto que analizamos y sintetizamos los conocimientos, basados en la sustentación de la bibliografía, plasmados en los resultados del proyecto.

    Esta metodología es utilizada en el análisis de los conocimientos de Programación en modo gráfico en Visual C++ 6.0, los principales temas de la Factura y el soporte de Impuestos del Fisco, en lo que se refiere al IVA y Retenciones en la Fuente, reflejado en el Programa que se presenta.

    1. Viabilidad
    1. En vista de que los estudiantes, no poseen conocimientos referentes a la programación gráfica en Visual C++, observamos la necesidad de brindar un estudio analítico del tema antes mencionado, para poder incrementar nuestro nivel intelectual y poder socializar los mismos, por medio de la ponencia de las correspondientes defensas y del resumen que se entregará al final del mismo.

      En lo que se refiere a lo personal, esta investigación, se la está desarrollando, por cuanto se encuentra estrechamente relacionada con la práctica profesional, que la UNITA, persigue entre unos de sus objetivos, ya que es muy importante el tener una práctica estudiantil, que sirva como prospecto para un proyecto profesional.

      Además para comprobar la viabilidad técnica, he realizado un listado de componentes técnicos, que contamos:

      DETALLE

      SI

      NO

      Equipo de computación

      X

      Visual C++ V. 6.0.

      X

      Microsoft Project 2000

      X

      Especialistas en Programación de Visual C++

      X

      Profesionales de Contabilidad

      X

      Acceso Internet

      X

      Acceso a bibliotecas

      X

      Acceso a equipos proyección

      X

      Además, con la presente investigación se espera entregar un material que apoyados con soportes magnéticos, sea un apoyo tanto para los estudiantes como para cualquier lector facilitándole su entendimiento.

    2. Viabilidad Técnica

      El costo de ejecución de este proyecto es factible ya que necesita de poca inversión económica (110,00 USD.) y será financiado por su totalidad por el autor del mismo, como se muestra en el presupuesto elaborado bajo Microsoft Project 2000 (Aprobado en el Diseño del Proyecto) * Anexo 2.

    3. Viabilidad Económica e Informe Económico
    4. Viabilidad Bibliográfica

    En vista de que tenemos variedad en bibliográfica, tales como libros, folletos y páginas web, vemos viable el presente proyecto, por cuanto tenemos mucho material de consulta, el mismo que se sistematizará en el presente documento, en el punto 6 del Marco Teórico, la bibliografía se encuentra en el punto 10.

    1. Cronograma de actividades y cuadro de cumplimiento

    Se presenta el Cronograma de Tareas elaborado bajo Microsoft Project 2000 (Aprobado en el Diseño del Proyecto) * Anexo 3. De la misma manera, se presenta un corte de cumplimiento de actividades hasta la fecha.

    II PARTE

    FUNDAMENTACIÓN TEÓRICA

    Entre los temas, que se necesita conocer para realizar la aplicación en modo gráfico, utilizando Visual C++ 6.0., son:

    1. Programación en modo gráfico en Visual C++ 6.0.
    2. Principales temas de la Factura.
    3. Soporte de Impuestos del Fisco, en lo que se refiere al IVA y Retenciones en la Fuente.

    Los mismos que se detallan a continuación:

    Capitulo 1.

    Programación en modo gráfico en Visual C++ 6.0.

    En la programación gráfica de Visual C++ 6.0., se utiliza la aplicación MFC (Microsoft Foundation Class o Biblioteca Fundamental de Clases de Microsoft), se empezó a comercializar en octubre de 1995, esta aplicación, tiene infinidad de clases y funciones, en el presente documento se enfocará en un Dialogo.

    Procedimiento para la creación de un Proyecto en MFC

    1. FileÞ NewÞ Projects

      y seleccionar "MFC AppWizard (exe)". Además hay que rellenar los campos "Project Name" y "Location". Una vez hagamos clic en aceptar, se iniciará el asistente con la siguiente pantalla, observar la figura 1.1.:

      Figura 1.1.

      Esta pantalla nos permite seleccionar el tipo de programa que vamos a crear.

      Existen tres tipos (aunque aquí sólo se tratarán los de tipo "Dialog based" por ser más sencillos):

      Single document: Programas tipo "Bloc de Notas" que permiten abrir un único documento al mismo tiempo.

      Multiple document: Programas tipos "Microsoft Word" que permiten abrir más de un documento al mismo tiempo en pequeñas ventanitas en su interior. Muy complejos de programar.

      Dialog based: Los más sencillos. Se basan en la clase "CDialog" de las MFC que permite añadir controles en su interior sin problemas. Se usan para presentar información y recopilar datos del usuario. Los cuadros de diálogo se proporcionan en todas las formas y tamaños, que van desde cuadros de mensajes sencillos que despliegan una sola línea de texto, hasta grandes cuadros de diálogo que contienen controles complejos. También se usan para la comunicación de una sola vía con el usuario, como las "pantallas de presentación".

    2. Para crear un proyecto que emplee las MFC debemos seleccionar:

      Para ver el gráfico seleccione la opción "Descargar" del menú superior

      Figura 1.2.

    3. Después de seleccionar la opción Dialog based damos clic en el botón marcado Next después siga la ruta de Visual C++ 6.0., en esta etapa del asistente nos pregunta básicamente tres opciones para nuestro programa. Primero podemos seleccionar tres características útiles, tales como la opción de About box, que se refiere a incluir un cuadro de diálogo que despliega información relativa al nombre del programa, derechos de autor y otros datos pertinentes. La opción marcada como Context-sensitive Help se refiere a incluir un archivo compilado especial que incluye los temas de ayuda propios del programa. Observar figura 1.2.
    4. Finalmente, luego de haber realizado el mencionado proceso, damos un clic en Finish, y podremos trabajar con nuestro dialogo, se puede utilizar varias alternativas.

      1. Botones,
      2. Cajas de texto editables,
      3. Cajas de texto estáticas,
      4. Bitmaps (Gráficos *.BMP),
      5. Cuadro de Listas,
      6. Entre otros.
    5. Una vez abierto, debería aparecer la ventana a editar y la ventana de controles. Si ésta no se encuentra visible, se puede activar haciendo clic con el botón derecho del ratón sobre cualquier barra de herramientas y seleccionando "Controls", los controles son:

    Nota: En el Anexo 1, se encuentra una compilación de las funciones más trascendentales que se utilizó en el resultado del presente Proyecto.

    Capitulo 2.

    Principales temas de la Factura

    Documentos Comerciales

    Como antecedente, diremos que los documentos comerciales son todos los comprobantes extendidos por escrito en los que se deja constancia de las operaciones que se realizan en la actividad mercantil, de acuerdo con los usos y costumbres generalizadas y las disposiciones de la ley, los mismos que permiten el control de las operaciones practicadas por la empresa o el comerciante y la comprobación de los asientos de contabilidad.

    Las persona obligadas a emitir documentos comerciales:

    • Quienes comercializan cosas muebles.
    • Quienes comercializan o prestan servicios.
    • Quienes se dedican a la locación de bienes.

    – ** FACTURA **

    • Concepto

    Se puede describir en la relación escrita que el vendedor entrega al comprador detallando las mercancías que le ha vendido, indicando cantidades, naturaleza, precio y demás condiciones de la venta. Como mínimo la factura debe extenderse por duplicado. El original queda en poder del comprador y el duplicado queda para el vendedor y con el se contabiliza la venta y el cargo al comprador.

    • Características

    Las características legales que debe poseer la Factura son:

    • Nombre y domicilio del comprador y el vendedor.
    • Lugar, día, mes y año en el que se realiza la operación.
    • Condiciones de pago.
    • Mencionar los descuentos si los hay
    • Instrucciones relacionadas con las cantidades, descripción y precios de las mercancías.
    • Firma del comprador.
    • Requisitos:
      • Respecto del vendedor:
    1. Nombre y apellido, o razón social.
    2. Domicilio legal.
    3. Clave única de identificación tributaria (C.U.I.T.).
    4. Número de inscripción en el Impuesto a los Ingresos Brutos.
    5. Condición respecto al Impuesto al Valor agregado.
    6. Fecha de emisión
    7. Numeración preimpresa, consecutiva y progresiva.
    8. Código de identificación del documento (A, B o C).
    9. Fecha de inicio de las actividades en el local habilitado para las ventas.
    • Respecto del comprador:
    1. Nombre y apellido, o razón social. Domicilio.
    2. Condición respecto del IVA.
    3. Clave única de identificación tributaria.
    4. Número de inscripción en los ingresos brutos.
    • Respecto de la mercadería vendida:
    1. Cantidad y descripción.
    2. Precio unitario.
    3. Importe total.
    4. Condiciones de venta.
    5. Número de remito.
    • Respecto de la imprenta:
    1. Nombre y apellido, o razón social.
    2. Clave única de identificación tributaria.
    3. Fecha en la que se realizó la impresión.
    4. Primero y último números de los documentos impresos.
    5. Número de C.A.I. (Código de Autorización de Impresión).
    6. Fecha de vencimiento.

    Observar figura 2.1.:

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Figura 2.1.

    Capitulo 3.

    Soporte de Impuestos del Fisco, en lo que se refiere al IVA y Retenciones en la Fuente.

    Impuesto al valor agregado – IVA

    • Objeto del Impuesto.- El Impuesto al Valor Agregado (IVA) grava al valor de la transferencia de dominio o la importación de bienes muebles de naturaleza corporal, en todas sus etapas de comercialización, y al valor de los servicios prestados.
    • Declaración y pago del IVA.- Los sujetos pasivos del IVA presentarán mensualmente una declaración por las operaciones gravadas con el impuesto, realizadas dentro del mes calendario inmediato anterior.

    Los sujetos pasivos que exclusivamente transfieran bienes o presten servicios gravados con tarifa cero o no gravados, presentarán una declaración semestral de dichas transferencias.

    • Sujetos del Impuesto.- El sujeto activo o ente acreedor del Impuesto al Valor Agregado es el Estado, y lo administrará a través del Servicio de Rentas Internas.

    Son sujetos pasivos del IVA:

    a) En calidad de Agentes de Percepción:

    1. Las personas naturales y las sociedades que habitualmente efectúen transferencias de bienes gravados con una tarifa;
    2. Quienes realicen importaciones gravadas con una tarifa; y,
    3. Las personas naturales y las sociedades que habitualmente presten servicios gravados con una tarifa.

    b) En calidad de agentes de retención:

    1. Las entidades y organismos del sector público; las empresas públicas y las privadas consideradas como contribuyentes especiales por el Servicio de Rentas Internas;
    2. Las empresas emisoras de tarjetas de crédito por los pagos que efectúen por concepto del IVA a sus establecimientos afiliados; y,
    3. Las empresas de seguros y reaseguros por los pagos que realicen por compras y servicios gravados con IVA.
    4. Los sujetos pasivos del IVA tienen la obligación de emitir y entregar al adquirente del bien o al beneficiario del servicio comprobantes de venta, por las operaciones que efectúen. Esta obligación regirá aun cuando la venta o prestación de servicios no se encuentren gravados o tengan tarifa cero.
    5. El no otorgamiento de comprobantes de venta constituirá un caso especial de defraudación, que será sancionado de conformidad con el Código Tributario.
    • Base Imponible.- La base imponible del IVA es el valor total de los bienes muebles de naturaleza corporal que se transfieren o de los servicios que se presten.

    Las actividades sujetas al IVA. están gravadas con tarifa del 12%, con excepción de las siguientes que tienen tarifa 0%:

    Transferencias e importaciones:

    • Productos alimenticios de origen agrícola, avícola, pecuario, apícola, bioacuáticos, forestales, carnes en estado natural; y de la pesca que se mantengan en estado natural, es decir que no hayan sido objeto de elaboración, proceso o tratamiento que signifique modificación de su naturaleza;
    • Leches en estado natural, pasteurizada, homogenizada o en polvo de producción nacional. Leches maternizadas y proteicos infantiles;
    • Pan, azúcar, panela, sal, manteca, margarina, avena, maicena, fideos, harinas de consumo humano, enlatados nacionales de atún, sardina y trucha, aceites comestibles, excepto de oliva;
    • Semillas certificadas, plantas y raíces vivas. Harina de pescado y alimentos balanceados. Fertilizantes, insecticidas, pesticidas, fungicidas, antiparasitarios y productos veterinarios;
    • Tractores de llantas de hasta 200 hp, arados, rastras, surcadores, cosechadoras, sembradoras, cortadoras de pasto, bombas de fumigación portables, aspersores y rociadores para equipos de riego;
    • Medicamentos y drogas de uso humano, que consten en las listas publicadas anualmente por el Ministerio de Salud; y sus envases y etiquetas.
    • Papel periódico, periódicos, revistas y libros.
    • Los que se exporten; y, Los que se introduzcan al país:
    • Los diplomáticos extranjeros y funcionarios de organismos internacionales, en los casos que se encuentren liberados de derechos e impuestos; los pasajeros que ingresen al país, hasta por el valor de la franquicia reconocida; por donaciones del exterior a favor de las instituciones del Estado y las de cooperación institucional; y por admisión temporal o en tránsito.

    Servicios:

    • Transporte de pasajeros y carga, marítimo, fluvial y terrestre; así como el transporte aéreo internacional de carga, o aéreo de carga a Galápagos. Salud;
    • Arrendamiento de inmuebles destinados exclusivamente para vivienda;
    • Servicios públicos de energía eléctrica, agua potable, alcantarillado y recolección de basura;
    • Educación; Guarderías infantiles y hogares de ancianos;
    • Religiosos; Impresión de libros; Funerarios;
    • Administrativos prestados por el Estado y las entidades del sector público, en los que se deba pagar un precio o una tasa;
    • Espectáculos públicos; Financieros y bursátiles;
    • Transferencia de títulos valores; Los que se exporten, inclusive los de turismo receptivo; Los prestados por profesionales con título de instrucción superior hasta por un monto de cuatrocientos dólares por cada caso; El peaje por la utilización de carreteras;
    • La lotería de la Junta de Beneficencia de Guayaquil y sorteos de Fe y Alegría; Aerofumigación;
    • Los prestados personalmente por los artesanos; y, los de refrigeración, enfriamiento y congelamiento para conservar los bienes alimenticios de origen agrícola, avícola, pecuario, apícola, cunícola, bioacuáticos, forestales, carnes en estado natural; y de la pesca que se mantengan en estado natural, y en general todos los productos perecibles que se exporten, así como los de faenamiento, cortado, pilado, trituración y la extracción por medios mecánicos o químicos para elaborar aceites comestibles.

    Casos especiales:

    • Los servicios prestados personalmente por los artesanos calificados están gravados con tarifa 0%; si comercializan bienes éstos estarán gravados con tarifa 12%, inclusive artesanos calificados.
    • El servicio de transporte de pasajeros y carga fluvial y terrestre; y marítimo, estarán sujetos a tarifa 0%. Además, el transporte de carga aérea exportable y a Galápagos está gravado con tarifa 0%; no así el transporte aéreo de pasajeros que se encuentra gravado con tarifa 12%.
    • En el caso de personas naturales o jurídicas que por la naturaleza de sus actividades realicen transacciones que estén gravadas con tarifa 0% y 12%, deberán presentar sus declaraciones en forma mensual, aun cuando el número de transacciones con tarifa 12% sea mínimo.
    • Los servicios que prestan los profesionales con título superior están gravados con tarifa 0%, sin embargo, si el valor de los honorarios por cada caso excede de 400 dólares está gravado con tarifa 12%, por tanto la declaración deberá ser efectuada en forma mensual. Si el profesional presta servicios continuos a una sociedad y los honorarios anuales exceden de 400 dólares deberá facturar con el IVA 12% en cada mes.

    – Retenciones en la Fuente

    Existen tres tipos de porcentajes de retenciones, descritos de la siguiente manera:

    • Retención 1%.- las transacciones que se rigen a este porcentaje son:
    1. La compra de todo tipo de bienes muebles de naturaleza corporal, excepto combustibles, y los pagos o acreditaciones en cuenta realizadas por actividades de construcción de obra material inmueble, urbanización, lotización o actividades similares.
    2. Las que realicen las empresas emisoras de tarjetas de crédito.
    3. Los intereses y comisiones que se causen en las operaciones de crédito entre las instituciones del sistema financiero. La institución financiera que pague o acredite actuará como agente de retención.
    4. Los que se realicen a personas naturales por concepto de servicios en los que prevalezca la mano de obra sobre el factor intelectual.
    5. Aquellos efectuados por concepto del servicios de transporte privado de pasajeros o transporte público o privado de carga, prestado por personas naturales o sociedades.
    • Retención 5%.- las transacciones que se rigen a este porcentaje son:
    1. Las ganancias de capital no exentas originadas en la negociación de valores, no estarán sometidas a retención en la fuente de Impuesto a la Renta; sin embargo, los contribuyentes harán constar tales ganancias en su declaración anual de Impuesto a la Renta global.

    2. Los ingresos por concepto de intereses, descuentos y cualquier otra clase de rendimientos financieros generados por préstamos, cuentas corrientes, certificados financieros, pólizas de acumulación, certificados de inversión, avales, fianzas y cualquier otro tipo de documentos similares, sean éstos emitidos por sociedades constituidas o establecidas en el país, por sucesiones indivisas o por personas naturales residentes en el Ecuador. Aquellos generados por la enajenación ocasional de acciones o participaciones, no están sujetos a esta retención.
    3. Intereses que cualquier entidad del sector público que actúe en calidad de sujeto activo de impuestos, tasas y contribuciones especiales de mejoras, reconozca a favor de los sujetos pasivos.
    4. Los realizados a deportistas, entrenadores, árbitros y miembros del cuerpo técnico, así como en el caso de artistas nacionales y extranjeros residentes.
    5. Los realizados por concepto de arrendamiento de bienes inmuebles a sociedades.
    • Retención 8%.- las transacciones que se rigen a este porcentaje son:
    1. Honorarios, comisiones, regalías y demás pagos realizados a profesionales y a otras personas naturales nacionales o extranjeras residentes en el país por más de seis meses, que presten servicios en los que prevalezca el intelecto sobre la mano de obra.
    2. Aquellos realizados a personas naturales extranjeras o nacionales no residentes que permanezcan en el país por más de seis meses, que presten servicios en los que prevalezca el intelecto sobre la mano de obra.
    3. Aquellos por concepto de arrendamiento de bienes inmuebles de propiedad de personas naturales.
    4. Los realizados a notarios y registradores de la propiedad y mercantiles, por sus actividades notariales y de registro.

    III PARTE

    RESULTADOS DEL PROYECTO

    • Presentación del Programa

    El resultado del presente Proyecto, es un Programa en Modo Gráfico en Visual C++ 6.0., de una Factura, agregando una síntesis de sus principales impuestos, tales como el IVA y la Retención en la Fuente, para ello se han elaborado las siguientes ventanas o pantallas:

    • Ventana de Partida

    El presente proyecto tiene una ventana de partida, que le permite al usuario, escoger el caso que desee, además cada vez que escoge una opción le aparece un mensaje de alerta de lo que va hacer, observar figura 3.1.:

    Figura 3.1.

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Figura 3.2.

    Este es un ejemplo de mensaje, puesto que cada botón en todas las ventanas, tiene su mensaje de alerta. Observar figura 3.2.

    En cada punto del menú principal, posee un archivo de ayuda, elaborado para que el usuario tenga una idea general del funcionamiento de cada aplicación, explicada en el Anexo 7.

    • Barra de Herramienta

    En la parte superior de cada ventana tiene una barra de herramientas, en el logo tiene las Opciones, de Acerca de.., mover y salir, en acerca de, resulta un mensaje explicativo del autor. Observar figura 3.3.

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Figura 3.3.

    • Menú Principal

    El usuario, puede escoger las opciones, que le aparece en la ventana principal, tales como:

    FACTURA

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Básicamente, al usuario le servirá para calcular el valor de una factura, con los datos, necesarios, que puedan definirse el la transacción.

    • Entre los botones tenemos, el imprimir los datos que ingreso el usuario (se muestra un ejemplo en el Anexo 4), además puede ir al juego "Buscaminas" de Microsoft, que se lo puede caracterizar como un juego clásico, finalmente puede comprobar si las operaciones presentadas, son correctas con la calculadora, de Microsoft.

    DATOS DE FACTURACIÓN

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Al dar clic en algunos de los botones, observará el resultado de cada uno. Como se puede observar la figura 3.9.

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Figura 3.9.

    En la siguiente ventana, el usuario, podrá ver el modelo legal de la factura, que sugiere el SRI., descrito en el Marco Teórico de Facturación. Observar las figuras 3.10. – 3.11.

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    IMPUESTOS DEL FISCO

    Esta ventana (Observar figura 3.12.) es similar a las otras, puesto que te permite escoger entre algunos temas de los impuestos más trascendentales y los que se relacionan con la Factura, tales como:

    Figura 3.12.

     

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Cada punto del menú principal, posee su archivo de ayuda, además, cada archivo, posee su índice y su respectivo tema. A continuación se presentan las figuras de los respectivos índices y temas según la opción que desee el usuario:

    • Ventana Principal

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    • Factura

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    • Impuestos del Fisco

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    • Datos Legales

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Para un mejor de análisis se presentan el archivo *.rtf, unido de todos los temas que se elaboró para realizar los diferentes archivos de ayuda, para cada uno de los puntos anteriores.

    CONCLUSIONES

    Y RECOMENDACIONES

    Conclusiones

    • Existen varias funcionabilidades, que tiene MFC, en la opción Dialogo, que en otras aplicaciones de Visual C++, en programación gráfica, no posee, esto facilita el procedimiento para la elaboración de aplicaciones.
    • MFC de Visual C++, incrementó el potencial creativo en el momento de aplicar ideas en cada una de las aplicaciones de la Factura y demás accesorios.
    • Para poder realizar una llamada de aplicaciones con WinExec, necesariamente debe estar en la carpeta Debug, del Proyecto donde se hace la llamar.
    • El código de C++, modo texto, es muy diferente al código en modo gráfico, puesto que se utiliza varias funciones y librerías estándares.

    Recomendaciones

    • Se recomienda que cuando se realicen aplicaciones en Visual C++, en modo gráfico, se la realice a través de MFC, por un dialogo base, puesto que facilita su procedimiento y es de mejor entendimiento para el usuario.
    • Además se recomienda que en la elaboración de los archivos de ayuda, se los edite, a través de Word, puesto que de igual manera es mucho más fácil editarlo que dentro del mismo proyecto de MFC.
    • Se recomienda que cuando se utilice el comando WinExec, y tenga varias llamadas en diferentes proyectos, se copie los archivos *.exe en todas las carpetas Debug, de los diferentes proyectos, donde se los utilice con dicho comando.
    • Se recomienda que en todas las funciones que se utilice en los Proyectos MFC, se agregue un botón para que las ejecute, puesto que mucha de las veces, no son aplicables a la programación en modo gráfico y no se ejecutan, quedando inválidas en su funcionamiento.

    BIBLIOGRAFÍA

    Programación en modo gráfico en Visual C++ 6.0.

    Entrevistas:

    Con los siguiente tutores de la Universidad Tecnológica "América" – Facultad de Ciencias de la Computación y Electrónica:

    • Ing. Elember Guanoluiza, de la Asignatura de Estructura de Datos.
    • Ing. Rosita Paredes, de la Asignatura de Teoría y Diseño de Bases de Datos.
    • Ing. Geovanny Pijal, de la Asignatura de Teleinformática.

    Libros:

    • Programación Gráfica en Windows, con Visual C++, MCF Aplicaciones, McGrawHill, España – 2002.

    Navegación en Internet:

    http://www.modelo.edu.mx/univ/virtech/prograc/vcpp6001.htm, julio de 1999.

    • GONZALEZ Ramiro, "Creación de un Dialogo en MFC",

    http://www.dcp.com.ar/mfc/pagina1.htm, febrero del 2001.

    • LLAVERIA Pere, " Trucos de MFC",

    http://personal.telefonica.terra.es/web/plc/visualcpp/static/hbanner_rotativo/hbanner_rotativo.html

    • MARTINEZ Alonso, "Creando una DLL con C++",

    http://alonso_m.tripod.com/visualc/creardll.htm, enero del 2002

    Principales temas de la Factura y Soporte de Impuestos del Fisco, en lo que se refiere al IVA y Retenciones en la Fuente.

    Entrevistas:

    • Con el Ing. Diego Vaca Flores, Contador General del Diario "El Hoy".
    • Con el Lcdo. Pablo Villacís Vilatuña, Asesor Contable de Fundación Ayuda.

    Libros:

    • SARMIENTO, Rubén, "Contabilidad General", sexta edición 2001, Quito – Ecuador.
    • ZAPATA, Pedro, "Contabilidad General", primera edición – 2002, Bogota – Colombia, Ediciones McGRAW-HILL.

    Navegación en Internet:

    Medios Multimedia

    • Enciclopedia Encarta 2004

    ANEXOS

    Anexo 1

    Compilación de Funciones Importantes

    En el presente documento, se muestra funciones, códigos utilizados y/o presentados durante el proceso de la programación del resultado del presente Proyecto, detallados a continuación:

    • Compilar un proyecto MFC.– Para compilar hay que presionar la tecla F7. En el caso que resulte errores se los puede observar presionando la tecla F4.
    • Ejecutar un proyecto MFC.– Para ejecutar hay que presionar la tecla F5.
    • Para cambiar el nombre a una ventana.– Se debe ir a la edición de dialogo, escoger el dialogo y darle clic derecho dentro del espacio azul, escoger propiedades y cambiarle el nombre.
    • Para cambiar el diseño de un botón.– Es similar proceso al anterior, pero ahora se le hace clic derecho dentro de un cierto botón, que se quiera cambiar, luego se va a la pestaña de "Extended Styles", y se escoge el diseño. Este proceso se lo puede utilizar en todos los componentes que se utilice en el dialogo.
    • Para ingresar una lista (listbox).– Primero crea una listbox, luego le señala y presiona Ctrl + W, y luego se va a la pestaña "Member Variables", escoge el ID, del combo y le doble clic, y escoge una variable control, y pone el nombre, luego escribe el siguiente código.

    //Esta función se encuentra dentro de archivo *.CPP, del dialogo,

    BOOL CFrDlg::OnInitDialog()

    {

    CDialog::OnInitDialog();

    // Add "About…" menu item to system menu.

    m_combo.AddString("Cocina");

    m_combo.AddString("regrigeradora");

    • Abrir una ventana de Acerca de.- En los programas basados en cuadros de diálogo de MFC, la ventana Acerca de… se invoca desde el menú de sistema que aparece al hacer clic en el icono que está a la izquierda del título de la aplicación.
    • Para editar un bitman y un icon.- Tiene una carpeta para cada uno, los cuales, puede modificarse según sean sus necesidades, los cambios pueden realizarse a través de una paleta, similar a Saint.
    • Para llamar una nueva ventana.– Se utiliza el código:
      • WinExec("NOMBRE_VENTANA", 1)
    • Para que funcione este código, debe estar la aplicación o la ventana dentro de la carpeta Debug, del proyecto donde realiza la llamada.
    • Para destruir una ventana.– Cuando utiliza la función anterior, es recomendable utilizar el siguiente código, para que se elimine la anterior ventana y solo se muestra la ventana a la que se llamó:

    DestroyWindow();

    • Para crear un botón, para que borre datos del usuario.– Cuando ya se tenga el botón hecho, se crea la función y a los datos numéricos, los inicializa en 0 y los datos de texto, se debe utilizar:

    nombre_variable.Empty();

    Finalizado este proceso pone: UpdateData(FALSE); para que realice el proceso.

    • Para crear un mensaje de texto.– Se utiliza el código:

    MessageBox("MENSAJE", "TITULO DE MENSAJE",1)

    El último codigo (1), va regir en la funcionabilidad que tendrá el mensaje, por ejemplo, cuando se pone 0, solo aparecerá el Aceptar, cuando se pone 1, saldrá Aceptar y cancelar.

    • Para hacer operaciones.– Primeramente se debe declarar variables, para cada Edit (Este es una caja de texto editable, que utiliza el usuario, para ingresar ciertos datos), luego se debe transformar el texto que ingrese el usuario, según el tipo de variable que declaro, finalmente en un Botón, realiza el procedimiento de sus operaciones, para el mejor entendimiento, se presenta un ejemplo:

    //Esta declaración, se la realiza dentro del Archivo SumaFacilDlg.h, que es la cabecera del dialogo, dentro de la siguiente clase, predeterminada por el dialogo

    class CSumaFacilDlg : public CDialog

    {

    // Construction

    public:

    CSumaFacilDlg(CWnd* pParent = NULL); // standard constructor

    // Dialog Data

    //{{AFX_DATA(CSumaFacilDlg)

    enum { IDD = IDD_SUMAFACIL_DIALOG };

    int m_numerouno;

    int m_numerodos;

    int m_resultado;

    //}}AFX_DATA

    // ClassWizard generated virtual function overrides

    //{{AFX_VIRTUAL(CSumaFacilDlg)

    Luego debe trasformar el texto que ingreso en las Edit’s, según el tipo de variable que declaró:

    //Esta declaración, se la realiza dentro del Archivo SumaFacilDlg.cpp, que es la implementación del dialogo, dentro de la siguiente función, predeterminada por el dialogo

    void CSumaFacilDlg::DoDataExchange(CDataExchange* pDX)

    {

    CDialog::DoDataExchange(pDX);

    //{{AFX_DATA_MAP(CSumaFacilDlg)

    DDX_Text(pDX, IDC_EDIT1, m_numerouno);

    DDX_Text(pDX, IDC_EDIT2, m_numerodos);

    DDX_Text(pDX, IDC_EDIT3, m_resultado);

    //}}AFX_DATA_MAP

    }

    Finalmente hace el procedimiento, dentro de una función de un cierto botón:

    //Esta declaración, se la realiza dentro del Archivo SumaFacilDlg.cpp, que es la implementación del dialogo, dentro de la siguiente función de un botón creado

    void CSumaFacilDlg::OnSumar()

    {

    UpdateData(TRUE);

    m_resultado = m_numerouno + m_numerodos;

    UpdateData(FALSE);

    }

    //Se utiliza UpdateData, para que pueda funcionar el proceso, es una palabra reservada de MFC, para que cuando el usuario pulse el botón, realice el proceso, mientras tanto no.

    Se recomienda inicializar los datos de las Edit’, con el siguiente código:

    //Esta declaración, se la realiza dentro del Archivo SumaFacilDlg.cpp, que es la implementación del dialogo, dentro del siguiente constructor predeterminado por MFC

    CSumaFacilDlg::CSumaFacilDlg(CWnd* pParent /*=NULL*/)

    : CDialog(CSumaFacilDlg::IDD, pParent)

    {

    //{{AFX_DATA_INIT(CSumaFacilDlg)

    m_numerouno = 0;

    m_numerodos = 0;

    m_resultado = 0;

    //}}AFX_DATA_INIT

    // Note that LoadIcon does not require a subsequent DestroyIcon in Win32

    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

    }

    • Para imprimir el anterior ejemplo.– Se realiza el siguiente proceso:
      • Primero se transcribe las siguiente funciones estándar, que sirve para abrir el cuadro de dialogo de imprimir

    void OnBeginPrinting(CDC *pDC, CPrintInfo* pInfo)

    {

    }

    • Luego en la siguiente función se describe lo que se desea imprimir:

    void OnPrint(CDC *pDC, CPrintInfo* pInfo, CSumaFacilDlg *dlg)

    {

    CString rd; //Declaración, para guardar el resultado tipo texto

    rd.Format("Numero 1: %d + Numero 2: %d = Resultado: %d",dlg->m_numerouno,dlg->m_numerodos,dlg->m_resultado);

    pDC->DrawText(rd,pInfo->m_rectDraw ,DT_CENTER|DT_VCENTER);

    }

    //Se debe tomar en cuenta que se hace la declaración CSrintg, por cuanto es una librería de MFC, que tiene una dimensión grande de texto

    //Luego, se usa la palabra reservada Format, para determinar lo que se imprimir, similar a lo que se hace en C, con printf.

    //Finalmente se le llama a la variable para que guarde lo que se va imprimir. Cuando se vaya imprimir más de dos líneas, se sugiere usar salto de linea (n) y se vaya ubicando el orden que se desee imprimir

    • Luego se transcribe la siguiente función estándar, que sirve para destruir la ventana de impresión

    void OnEndPrinting(CDC *pDC, CPrintInfo* pInfo)

    {

    }

    • Finalmente se crea un botón, le damos 2 click, y se escribe el siguiente código igual estándar para cualquier impresora:

    void CSumaFacilDlg::OnImprimir()

    {

    UpdateData();

    CDC dc;

    CPrintDialog printDlg(FALSE);

    if (printDlg.DoModal() == IDCANCEL) // Get printer settings from user

    return;

    dc.Attach(printDlg.GetPrinterDC());

    dc.m_bPrinting = TRUE;

    CString strTitle;

    strTitle.LoadString(AFX_IDS_APP_TITLE);

    DOCINFO di;

    ::ZeroMemory (&di, sizeof (DOCINFO));

    di.cbSize = sizeof (DOCINFO);

    di.lpszDocName = strTitle;

    BOOL bPrintingOK = dc.StartDoc(&di);

    CPrintInfo Info;

    Info.m_rectDraw.SetRect(0,0,

    dc.GetDeviceCaps(HORZRES),

    dc.GetDeviceCaps(VERTRES));

    OnBeginPrinting(&dc, &Info);

    dc.StartPage();

    Info.m_nCurPage = 1;

    OnPrint(&dc, &Info,this);

    bPrintingOK = (dc.EndPage() > 0);

    OnEndPrinting(&dc, &Info);

    if (bPrintingOK)

    dc.EndDoc();

    else

    dc.AbortDoc();

    dc.DeleteDC();

    }

    • Para crear un archivo de ayuda.– Se realiza el siguiente proceso:
      • Primero se modifica el archivo que se encuentra en la carpeta de help, de formato *.rtf, AfxDlg, se lo modifica en word, siempre respetando la referencia que tiene en la primera página.
      • Luego que se haya modificado dicho archivo, vamos a colocar los caracteres especiales que servirán para identificar dichas páginas. Nos colocamos en el principio de la primera página, en el margen superior izquierdo de la misma y seleccionamos la opción del menú Insertar>> Nota al pie… , donde aparece una ventana en la cual debemos elegir Nota al Pie y Marca Personal. En la casilla debemos poner:
        • El $ es para indicar el título de la página. Volvemos a introducir otra Nota al Pie, pero ahora colocaremos la letra k, la cual hará referencia a las palabras claves de la página. Estas palabras, serán las que aparecerán en el índice del archivo de ayuda.
      • Luego se dirige al proyecto Help, que tiene el gráfico como una clase de molino, el cual debe irse a Files y, de ahí, cambiar el archivo, por el nuevo que se modifico, guardar y compilar.
      • Finalmente, ejecutar el proyecto MFC, y ya está listo.
    • Para poner negrita al texto de los botones y estáticas.– Se realiza el siguiente proceso:
      • Primero se agrega una variable de tipo CFont a la clase de tu dialogo. Luego en la funcion OnInitDialog escribes este codigo:

    /* m_font es tu variable de tipo CFont*/

    if(GetFont())

    {

    LOGFONT lf;

    GetFont()->GetLogFont(&lf);

    lf.lfWeight = FW_BOLD;

    m_font.DeleteObject();

    m_font.CreateFontIndirect(&lf);

    GetDlgItem(IDC_STATIC_1)->SetFont(&m_font);

    }

    IDC_STATIC_1 es la ID del control, ya sea del botón o de la estática, por defecto es IDC_STATIC.

     

     

    Autor:

    Cristhian Patricio Castillo Martínez

    Estudiante del 4to. Nivel "A" – Informática

    Universidad Tecnológica América

    Facultad de Ciencias de la Computación y Electrónica

    QUITO * ECUADOR