1
# -*- coding: ISO-8859-15 -*-
3
def mes2string(numero):
4
if numero==1: return "ENERO"
5
elif numero==2: return "FEBRERO"
6
elif numero==3: return "MARZO"
7
elif numero==4: return "ABRIL"
8
elif numero==5: return "MAYO"
9
elif numero==6: return "JUNIO"
10
elif numero==7: return "JULIO"
11
elif numero==8: return "AGOSTO"
12
elif numero==9: return "SEPTIEMBRE"
13
elif numero==10: return "OCTUBRE"
14
elif numero==11: return "NOVIEMBRE"
15
elif numero==12: return "DICIEMBRE"
19
from datetime import datetime
21
f_dia = ahora.strftime("%d")
22
mes = int(ahora.strftime("%m"))
23
f_mes = mes2string(mes)
24
f_ano = ahora.strftime("%Y")
27
fdf+= "1 0 obj\n<</FDF << /Fields 2 0 R>>>>\nendobj\n"
28
fdf+= "2 0 obj\n[<< /T (Formulario[0]) /V () >>\n"
29
fdf+= "<< /T (Formulario[0].PrivadoFinal[0]) /V () >>\n"
30
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0]) /V () >>\n"
32
codigo = datos['num_reg']
33
#TODO: Modificar si cambia el soporte
34
soporte = "FICHERO XML SIN FIRMA" #Soporte de la solicitud y modo de presentaci�n
36
alta = modificacion = baja = ""
37
# Forma de Cumplimentaci�n (forma_c)
38
# XML: u - Alta, v - modificaci�n, w - supresi�n
39
# XML Firmado: x - Alta, y - modificaci�n, z - supresi�n
40
if datos['forma_c'] == 'u' or datos['forma_c']=='x': alta="X"
41
elif datos['forma_c']=='v' or datos['forma_c']=='y': modificacion="X"
42
elif datos['forma_c']=='w' or datos['forma_c']=='z': baja="X"
45
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].EncabezadoDeclarante[0].Alta[0]) /V ("+alta+") >>\n"
46
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].EncabezadoDeclarante[0].Baja[0]) /V ("+baja+") >>\n"
47
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].EncabezadoDeclarante[0].Modificacion[0]) /V ("+modificacion+") >>\n"
48
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].EncabezadoDeclarante[0].C_Inscripcion_Final[0]) /V ("+codigo+") >>\n"
49
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].EncabezadoDeclarante[0].Soporte_presentacion[0]) /V ("+soporte+") >>\n"
50
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].Num_envio[0]) /V ("+datos['id_upload']+") >>\n"
52
#Datos del responsable
53
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].NIF_AP1[0]) /V ("+datos['cif_nif']+") >>\n"
54
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].N_RazonAP1[0]) /V ("+datos['razon_s']+") >>\n"
57
# *Denomina_postal = Apellido y nombre o Raz�n social
58
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].Nombre[0]) /V ("+datos['nombre']+") >>\n"
59
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].Apellido1[0]) /V ("+datos['apellido1']+") >>\n"
60
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].Apellido2[0]) /V ("+datos['apellido2']+") >>\n"
61
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].NIF[0]) /V ("+datos['nif']+") >>\n"
62
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_1[0].Texto_libre_cargo[0]) /V ("+datos['cargo']+") >>\n"
63
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Denomina_postal[0]) /V ("+datos['denomina_p']+") >>\n"
64
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Dir_postal[0]) /V ("+datos['dir_postal']+") >>\n"
66
#formato fecha En 'localidad' a 'dia' de 'mes' de 'a�o' (mes en formato texto)
67
#TODO: Ojo, localidad en la que se firma el impreso, se define igual a la localidad de notificaci�n
68
f_localidad = datos['localidad']
69
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].FirmaLocalidad[0]) /V ("+f_localidad+") >>\n"
70
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].FirmaDia[0]) /V ("+f_dia+") >>\n"
71
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].FirmaMes[0]) /V ("+f_mes+") >>\n"
72
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].FirmaAno[0]) /V ("+f_ano+") >>\n"
74
# id_notific: Direcci�n electr�nica del servicio de notificaciones. Opcional. En los env�os realizados sin firma digital vendr� siempre vac�o. Si el env�o se hace con firma digital y se ha indicado en el elemento anterior (forma) un valor '2', s�lo se deber� cumplimentar cuando la suscripci�n al Servicio de Notificaciones Telem�ticas Seguras se haya realizado con un certificado de persona jur�dica. Se consignar�, en ese caso, la Direcci�n Electr�nica �nica (DEU) asignada por dicho Servicio. Cuando no se cumplimente, el servicio Web obtendr� la DEU a partir del los datos del NIF, nombre y apellidos de la persona f�sica correspondiente al certificado con el que se ha firmado. Hasta 70 caracteres.
75
id_notific="" #TODO: Modificar en caso de incluir firma
76
if datos['forma']=='1': forma = "XML SIN FIRMA DIGITAL" #TODO: Modificar en caso de incluir firma
78
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Forma[0]) /V ("+forma+") >>\n"
79
#Direcci�n a efectos de notificaci�n
80
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Localidad[0]) /V ("+datos['localidad']+") >>\n"
81
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Pais[0]) /V ("+str(datos['pais'])+") >>\n"
82
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Postal[0]) /V ("+datos['postal']+") >>\n"
83
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Provincia[0]) /V ("+datos['provincia']+") >>\n"
84
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Telefono[0]) /V ("+datos['telefono']+") >>\n"
85
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].fax[0]) /V ("+datos['fax']+") >>\n"
86
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].email[0]) /V ("+datos['email']+") >>\n"
87
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].id_notific[0]) /V ("+id_notific+") >>\n"
89
#Ind_deberes = Conocimiento de los deberes del declarante
90
fdf+= "<< /T (Formulario[0].PrivadoFinal[0].PaginaFinal3[0].Bloque0_2[0].Ind_deberes[0]) /V (1) >>\n"
92
fdf+= "]\nendobj\ntrailer\n<</Root 1 0 R>>\n%%EOF"