Ver Mensaje Individual
  #9  
Antiguo 31-03-2025
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Reputación: 14
ramherfer Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
ahora hay otra cosa que me preocupa.

y esto deberia preocuparnos a todos los que usamos el componente.

el uso del stack y los arrays.

Actualmente (2.0) soportamos tipo de operacion con un maximo de 255 caracteres para un array de envio de 1000 facturas. Cuando en realidad deberian ser 500 digitos. Eso esta mal. (yo no lo veo bien).

He conseguido colocar el widestring que soporta ya los 500 digitos para un array de 500 facturas. Creo que es mejor enviar 500 facturas correctas que 1000 no muy bien. (cortadas a 255).

Cuando he tratado de forzar esos limites, empieza a comportarse de forma erratica, incluso con errores de proteccion general. Creo que la limitacion viene en la consulta, porque pasan por el stack de la DLL a la aplicacion, no lo se muy bien. Con la 3.0 sacandolo del stack y colocando el evento (ver abajo), quizas quedaria corregido y podriamos volver a las 1000 de envio.

Deberiamos someter al componente 2.1 cuando este publicado, a una prueba de stress simulando 500 facturas con tipos de operacion de 500 digitos. (pienso que hacerlo en modo simulado sin enviar seria suficiente y analizar que pasa).


¿que opiniais?



Por otro lado creo que para la version 3 voy a incorporar un evento para recibir las consultas.

En una sola pagina de consulta te pueden enviar hasta 10.000 registros, pero el componente solo soporta 1000. Con un evento se podrían recibir los 10.000 sin problemas. Sin soportar paginacion creo que ya es mas que suficiente para un periodo de consulta y un emisor "normal".

de nuevo, ¿que opiniais?
Por mi parte, aunque son cifras que mi aplicación en estos momentos son inimaginables, y que tampoco tengo un conocimiento extremo como para dar una opinión acertada, cualquier cosa que sea una mejora me parece correcta, no lo siguiente. Y por la lógica de la explicación siempre será mejor enviar menos pero correcto que más y que de problemas.

Aprovecho para realizar una observación. Teniendo el siguiente desglose que no debería ser, pero se podría dar el caso y a nivel de aplicación es totalmente correcto:

Código:
<Desglose>
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>459.00</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>96.39</CuotaRepercutida>
</DetalleDesglose>
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>722.50</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>151.73</CuotaRepercutida>
</DetalleDesglose>
</Desglose>
<CuotaTotal>248.12</CuotaTotal>
<ImporteTotal>1333.23</ImporteTotal>
Los codigos de iva los tengo codificados y en un albarán por error se asignó un codigo de iva distinto pero que iva tambien al 21%. La cuestión es que en una factura iban dos lineas con el 21% una con el codigo 01 y otra con el codigo 21 (Ya digo que es un error pero que debía haber sido aceptado y teniendo la base imponible bien y el total factura tambien), en el importe total se puede observar que falta sumar la primera linea de iva, cuando en la factura estaba incluidas ambas lineas y el total factura era 1429,62.

No he podido saber por que la primera cuota no se agregó al total factura. Desconozco si ha sido un filtro de la AEAT al haber un segundo registro de iva con el mismo porcentaje.
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos.