Closed Elisa1508 closed 4 years ago
@michaelmairegger can you please take a look at this ticket?
@nicolaiarocci si, certo
@Elisa1508 Sarebbe possibile aggiungere il file XML? Se possibile, può anche essere anonimizzato. Per me, la convalida funziona senza problemi in tutte le fatture
fattura.zip Allego, come richiesto il file xml a cui ho tolto i dati sensibili.
@Elisa1508 La creazione di uno unit test con questo file non causa errori di convalida.
[TestMethod]
public void Test()
{
var fattura = FatturaBase.CreateInstanceFromXml(File.OpenRead(@"........"));
var validator = new FatturaOrdinariaValidator();
var result = validator.Validate((FatturaOrdinaria)fattura);
Assert.AreEqual(result.IsValid, true);
}
Ho riscontrato un problema nella validazione delle fatture con la nuova versione 3.0.3. Ad esempio con la validazione ottengo il seguente messaggio: "Importo totale documento potrebbe non avere più di 13 cifre in totale, con una tolleranza per 2 decimali. Sono stati trovate 3 cifre e 8 decimali.", ma il tag dell'importo è il seguente:
549.00
Un messaggio analogo viene riportato per tutti gli importi, anche se questi sono nello stesso formato precedente. Ho sbagliato qualcosa?
Anche io ho lo stesso problema, però uso validator.Validate(); inferendo il tipo.
Il mio codice è il seguente: FatturaOrdinaria fattura = CreaFattura(idFattura); FluentValidation.Results.ValidationResult risultato = fattura.Validate();
Ho provato a modificarlo seguendo l'esempio, ma comunque la fattura non viene validata. Allego l'immagine in cui si vedono due esempi degli importi non validati
Ciao a tutti, oggi ho trovato il tempo di fare qualche test con il sorgente e ho notato che nella v 3.0.3 sono state aggiunte le validazioni sui decimali, p.e. .ScalePrecision(2, 13).
Il problema che ho riscontrato (nel mio caso) è che i valori sono memorizzati su MS Sql con un tipo Money e Entity Framework che uso per l'accesso ai dati lo trasforma in un Decimal con 4 cifre decimali anche se il valore ha solo due decimali. Per risolvere nel mio caso è bastato forzare questo valore a due decimali con un Decmal.Round(d, 2). per esempio: body.DatiGenerali.DatiGeneraliDocumento.ImportoTotaleDocumento = Decimal.Round(importoTotaleDocumento , 2);
Ciao e ancora complimenti per l'ottimo lavoro.
@Elisa1508 il suggerimento del buon @AlexBream (ciao!) ti è tornato utile?
Scusate, ma ho avuto modo di fare le prove sono ora. Si, il suggerimento di @AlexBream è stato utile e ha risolto il problema. Grazie mille.
Ho riscontrato un problema nella validazione delle fatture con la nuova versione 3.0.3. Ad esempio con la validazione ottengo il seguente messaggio: "Importo totale documento potrebbe non avere più di 13 cifre in totale, con una tolleranza per 2 decimali. Sono stati trovate 3 cifre e 8 decimali.", ma il tag dell'importo è il seguente:
Un messaggio analogo viene riportato per tutti gli importi, anche se questi sono nello stesso formato precedente. Ho sbagliato qualcosa?