Ver Mensaje Individual
  #5  
Antiguo 07-03-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Nosotros lo que hacemos es generar un nuevo RF después de la modificación y lo comparamos con el anterior (sin tener en cuenta campos como fecha, huella,...). Simplificando un poco.

Amplío un poco la idea por si a alguien le interesa.
Realmente no se comparan XMLs directamente, si no que se convierten a objetos delphi y lo que realmente se comparan son los objetos.
¿Porqué este paso de más?
Porque comparar objetos nos permite más libertad en algunos casos. Por ejemplo, si en una versión 1.2 se amplían los decimales de un campo total (como ya pasó en ticketBAI), al comparar XMLs devolvería que son diferentes, si comparamos objetos (delphi) podemos decir que 13.05 es lo mismo que 13.0500. También para solventar problemas con nuevos campos en versiones posteriores o cambios de campos que pasan de obligatorio a no-obligatorio y al revés.
Por experiencia en TBAI, los objetos dan más potencia y libertad en estos casos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita