SIAPy
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:
Pantalla Datos de la Persona:
"Pantallazo" en Debian/GNU Linux:
Attachments
-
siapy0-src.zip
(13.1 KB) - added by reingart
16 years ago.
archivos fuente
-
siapy.jpg
(55.2 KB) - added by reingart
16 years ago.
Pantalla Principal
-
persona.jpg
(52.1 KB) - added by reingart
16 years ago.
Pantalla Persona
-
pantallazo.jpg
(191.6 KB) - added by reingart
16 years ago.
Pantallazo en Debian
-
siapy0-sfx.exe
(4.2 MB) - added by reingart
16 years ago.
archivo autoextraible 7zip. Distribuibles win32 (siapy.exe), por el momento no hay instalador.