= SIAPy = [[Image(PyFactura:aplicativo_factura_electronica_06a_w8.png,align=right,width=223,height=218,link=PyFactura)]] Prototípo minimo de un sistema similar al SIAP (AFIP/DGI Argentina) en wxPython / !PythonCard para evaluación. Ver PyFactura y PyRece para ver aplicativos de factura electrónica desarrollados en paralelo para el proyecto PyAfipWs (herramientas e interfaces para webservices AFIP y temas relacionados). Es una prueba rápida (desechable) de las caracteristicas del lenguaje y librerias para poder evaluarlas entre todos, no pretende ser otra cosa. '''Pendiente:''' Habria que ver si poner o no los logos y los íconos de los botones del sistema de la AFIP (SIAP original). Los íconos actuales son del Proyecto Tango (software libre). == Pantallas: == * Solo 2 pantallas del SIAP: * La primer pantalla (lista de contribuyentes) * La pantalla de datos generales de la Persona == Funcionalidad: == * Solo se completa minimamente la pantalla de contribuyentes (lista y arbol) * Se puede "Agregar" un contribuyente * No se graba al disco ni se puede editar/modificar o borrar == Diseño: == * Clases muy simples (sin aplicar patrones ni un análisis profundo) * Convención de Nombres: similar a VB para que sea mas "entendible" para los que no estan familiarizados con Python/PythonCard * Archivos: * siapy.py: pantalla principal. 37 Líneas de código (LOC) * persona.py: pantalla de datos generales de la persona (llamada por la pantalla principal). 36 LOC * siapy.rsrc.py: recursos (elementos gráficos) de la pantalla princiapal. 47 LOC generadas automáticamente por el editor gráfico de pantallas * persona.rsrc.py: recursos (elementos gráficos) de la pantalla de persona. 107 LOC generadas automáticamente por el editor gráfico de pantallas * setup.py: script de intalación (para generar el py2exe) == Resultados: == * Tiempo de desarrollo: * Interface gráfica: 30 minutos * Codificación: 1 hora * Varios: buscar íconos, leer documentación, pruebas: 1 hora 30 minutos * Ventajas: * Diseño Interfáce (editor gráfico de pantallas) muy sensillo, completo, rápido * Ejemplos de Pythoncard (y código fuente) muy sensillos y autodocumentado (practicamente reemplazan la documentación) * El código quedo bastante simple * Desventajas: * Documentación medio pobre, aunque es muy sensillo y practicamente no hace falta * Algunos problemas con el editor de código * Algunos problemas con los encoding (acentos, ñ), pero esto es algo generalizado con python * Problemas iniciales de distribución con Py2exe (faltaban módulos) * Cosas que faltarían a PythonCard (habría que usar directamente wxPython or modificar PythonCard): * Formularios MDI Padre/Hijo (si es que se van a usar) * Control de texto (con máscara y validación) para: * Números * Fechas * Cuiles * Algunos métodos para mejor control de los arboles (iconos, expansión, etc.) == Herramientas utilizadas: == * Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 * wxPython 2.8.6.0 (msw-unicode) * PythonCard 0.8.2 * Py2EXE 0.6.6 '''Nota:''': Zipeado, el directorio de distribución (sin instalador) pesa 9MB, por eso esta comprimído con 7-Zip a 4.2MB. Para los que no tienen 7Zip instalado no hay problema porque es un autoextraíble. Son temas para tener en cuenta. '''Instalación''': * Bajar el siapy0-sfx.exe * Ejecutarlo * Pide el directorio de destino (completar o dejar sin cambios según corresponda) * Ir al directorio del paso anterior, carpeta dist * Ejecutar el archivo siapy.exe '''Aclaración:''': para las personas preocupadas por la seguridad que no quieran ejecutar el siapy0-sfx.exe por temor a virus o lo que sea, o los usuarios de linux que no puedan ejecutar programas de windows, igualmente pueden abrirlo y descomprimirlo con el programa 7-Zip, que obviamente es software libre. == Capturas de Pantalla: == Pantalla Principal: [[Image(siapy.jpg)]] Pantalla Datos de la Persona: [[Image(persona.jpg)]] "Pantallazo" en Deb