Si estoy usando tus librerías, y así lo hago. Pero esta haciendo un raro, voy rastreando como se se va formando el xml y todo funciona perfectamente, el valor del xml esta correcto exactamente antes de llamar la rutinaDADO escribió: Pues si no tiene serie, que es totalmente valido en los dos esqueas (v2 y v3) quita el atributo por completo
Quiero suponer que *no* estas usando mis rutinas o librería ya que estas tienen un "candado" para evitar que se generen atributos vacios.
Mi recomendacion es que en tu codigo programes, igual que yo, algo así como :
if value<>'' then setattribute(...)
Es decir, "si el valor que se va a asignar al atributo es distinto de vacio entonces lo asigna, de otra forma no"
BuzonEEngine.Solicita(ModoEnvio,CFD,
Inmediatamente en la entrada de esta rutina se modifica el xml sin haber ninguna instrucción de por medio y lo mas curioso es que la serie aparece después del sello y no antes del folio como te muestro a continuación:
sello="IFeWkvinjpA5oFYYP1k2+qdG/ftyq0SrSCIcE44JPUSX3A6SHdRvZrbDMRU+U2QvM70DqXCG3bm4XJ6cb8da2iMTm4c68oKxmDr3jAsPJJPYuZvUnwJUCSDON7RiEm40SkfIM79Tc9Vt39RDn+kNxViVr1+5L55ML5k/0VLDgvY=" serie=""><cfdi:Emisor
Revisando la unit CfdCore, al crear la cadena original tienes la instrucción:
valor := CFDCopy.Attributes['serie'];
if valor = '' then CFDCopy.Attributes['serie'] := ' '; //Hack para cuando serie=""
habrá relación?