Hola, necesito una pequeña aplicación para generar facturas electrónicas C (Monotributo)
Solo facturamos servicio intangibles.
Se emite una factura por mes a cada cuit (en diferentes fechas)
Debe generar un PDF con la factura.
Tenemos una pequeña tabla CSV con los CUITs y el servicio asociado y su importe.
-----------------------------------------------------------------------------------------------------------------------------
Campo Tipo Descripción
-----------------------------------------------------------------------------------------------------------------------------
ID Entero (PK)
Cuit String(13) ' El CUIT del cliente a facturar (Monotributista o responsables inscriptos o exentos)
DNI String(8) ' El DNI del cliente a facturar (Consumidor final)
FecDesde dd/mm/yyyy 'Fecha de comienzo del período facturado
FecHasta dd/mm/yyyy 'Fecha final del período facturado
Item1 String(*) 'Descripción del renglon1 (Longitud máxima según especificación AFIP)
Importe Currency 'en formato 999999.99
Nota String(100) 'Para uso interno de la aplicación.
Este campo se usa para hacer búsquedas y seleccionar el registro de la tabla
Si existe el cuit el dni es 0.
La aplicación se ejecuta desde el escritorio bajo Windows 7 x64 o Windows 10 x64
Al iniciar la aplicación, esta lee TODA la tabla (unos 300 registros) en memoria (Un promedio de 200 bytes por registros serían unos 60 kb en total toada la tabla).
El usuario debe poder ingresar en un cuadro de texto una cadena a buscar en el campo "Nota" y recuperar un único registro de la tabla.
Luego se rellenan todos los campos y de la factura y se despliegan en pantalla.
La aplicación debe decidir si recupera los datos desde el cuit o el dni dependiendo cual de los dos esté disponible.
El CUIT siempre tiene prioridad.
Si hay cualquier problema, debe inhibirse la generación de la factura.
No es necesario corregir datos en pantalla; solo informar cual es el problema (CUIT no valido, Persona no encontrada por dni, cuit valido pero el cliente ya no es responsable inscripto ni monotributista)
en esta instancia, la factura debe estar lista para emitirse y se habilita por tanto el botón [emitir fc].
Al presionar el botón [Emitir fc] se debe obtener el cae y emitir la factura.
Si hay problemas en esta etapa, se debe notificar el error.
Si se emitió la factura se debe poder descargar en formato el PDF.
On_Init() {
Dim Tabla as ....
Dim TuplaActiva as int = 0
DesplegarFormLimpio()
DeshabilitarBotonFacturar()
CargarTabla()
}
On_txtBuscador_Change() {
LimpiarListado()
cmbFechaFactura.value = Hoy()
CargarListado(
txtBuscador_Text.Text()
DesplegarListado()
}
On_lstListado_click() {
TuplaActiva = lstListado......()
ProcesarPrefactura()
}
On_cmbFechaFactura_Change() {
If TuplaActiva <> 0 Then
ProcesarPrefactura()
EndIf
}
ProcesarPrefactura() {
MostrarTupla(TuplaActiva)
txtMsgAccion.text = "Recuperando datos desde AFIP..."
TxtMsgAccion.text = RecuperaDatosDesdeAfip(Tabla.CuitCliente, Otros_Campos)
If
txtMsgAccion.text = "" Then
'Todo Ok
ArmarFactura();
HabilitarBotonFacturar()
Else
'Hubo algún problema. El mesaje descriptivo ya se está mostrando.
EndIf
}
btnFacturar_click() {
DeshabilitarBotonFacturar()
txtMsgAccion.text = "Emitiendo Factura..
."
'Emitir la factura electronica
GenerarPDF()
GuardarPDF()
LimpairFormulario()
TuplaActiva = 0
}
Muchas gracias
Plazo de Entrega: No definido