ArreniA exception lors de l’envoi : exception ‘System.OverflowException: La valeur était trop grande ou trop petite pour un Decimal. à System.Decimal..ctor(Double value)

30 août 2020

Lorsque vous rencontrez un msg d’erreur lors de l’envoi ArreniA du genre :

IntelliX.TFJ.Core.ErrorException: Exécution de SQL ‘parameters [@p0] byte,[@p1] int,[@p2] int,[@p3] int,[@p4] int,[@p5] int,[@p6] int,[@p7] int,[@p8] int,[@p9] int,[@p10] int,[@p11] int,[@p12] int,[@p13] int,[@p14] int,[@p15] int,[@p16] bit,[@p17] datetime;select N0.[CleEffet],N0.[Date],N0.[CleEntreprise],N0.[CleCategorieEffet],N0.[TfjSendDate],N0.[CreateDate],N0.[LastModifiedDate],N0.[MonantTTC],N0.[CleUser],N0.[CleCompte],N0.[CleCommercial],N0.[CleVehicule],N0.[CleVendeur],N0.[Remise],N0.[TotalTVA],N0.[MontantHT],N0.[Timbre],N0.[bUseTauxRemise],N0.[bHide],N0.[TotalPPA],N0.[RemisePourcent],N0.[CleEtatEffet],N0.[Note],N0.[Associe],N0.[RefBC],N0.[RefAssocie],N0.[Reference],N0.[TauxChange],N0.[ReceiveState],N0.[ConnectionState],N0.[CleTiers],N0.[CleTypeEffet],N0.[CleMode],N0.[CleDepot],N0.[CleDepot2] from ([Effet] N0
left join [TypeEffet] N1 on (N0.[CleTypeEffet] = N1.[CleTypeEffet]))
where ((N0.[ConnectionState] <> [@p0]) and ((N1.[Code] = [@p1]) or (N1.[Code] = [@p2]) or (N1.[Code] = [@p3]) or (N1.[Code] = [@p4]) or (N1.[Code] = [@p5]) or (N1.[Code] = [@p6]) or (N1.[Code] = [@p7]) or (N1.[Code] = [@p8]) or (N1.[Code] = [@p9]) or (N1.[Code] = [@p10]) or (N1.[Code] = [@p11]) or (N1.[Code] = [@p12]) or (N1.[Code] = [@p13]) or (N1.[Code] = [@p14]) or (N1.[Code] = [@p15])) and (N0.[ReceiveState] = [@p16]) and (N0.[Date] >= [@p17]))’ avec les paramètres ‘{3},{16777216},{131072},{33554432},{2},{262144},{67108864},{65536},{8},{4},{134217728},{524288},{1024},{2048},{512},{256},{False},{43968}’ exception ‘System.OverflowException: La valeur était trop grande ou trop petite pour un Decimal.
à System.Decimal..ctor(Double value)
à System.Double.System.IConvertible.ToDecimal(IFormatProvider provider)
à System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
à DevExpress.Xpo.DB.ConnectionProviderSql.ReformatReadValue(Object value, ReformatReadValueArgs args)
à DevExpress.Xpo.DB.ConnectionProviderSql.ReformatReadValues(Object[] values, ReformatReadValueArgs[] converters)
à DevExpress.Xpo.DB.ConnectionProviderSql.<>cDisplayClass126_0.b0()
à DevExpress.Xpo.Logger.LogManager.Log[T](String category, LogHandler1 handler, MessageHandler1 createMessageHandler)
à DevExpress.Xpo.DB.ConnectionProviderSql.InternalGetData(IDbCommand command, CriteriaOperatorCollection targets, Int32 skipClause, Int32 topClause, Boolean includeMetadata)
à DevExpress.Xpo.DB.ConnectionProviderSql.SelectDataSimple(Query query, CriteriaOperatorCollection targets, Boolean includeMetadata)’
—-<<< System.OverflowException: La valeur était trop grande ou trop petite pour un Decimal.>>>————–

Solution : assurez-vous que la remise incluse dans les pièces =>0 (un champ numérique et non texte)