[C#] Info libre : cast d'une valeur de type montant
Modérateurs: Super-Apogea, Super Modérateur
3 messages
|Page 1 sur 1
[C#] Info libre : cast d'une valeur de type montant
Bonjour,
Pour le développement d'un programme pour créer des fiches articles via les objets métiers, j'ai un souci avec l'insertion d'une valeur pour une info libre de type montant.
J'ai tenté de caster ma valeur via ces tests :
A chaque fois je me mange une erreur System.Runtime.InteropServices.COMException (0xFFFFFFFF): Type incorrect !
Sauriez vous comment bien caster cette valeur ?
[edit] je tente aussi d'enregistrer un champ libre de type date avec un objet C# de type DateTime et je me mange un "Marqueur Illégale !", existe t'il un moyen de caster dans des formats définis dans l'enum FieldType ?
[résolu] pour la date... mon cerveau n'était pas en état de fonctionner correctement.
A vous lire
Pour le développement d'un programme pour créer des fiches articles via les objets métiers, j'ai un souci avec l'insertion d'une valeur pour une info libre de type montant.
J'ai tenté de caster ma valeur via ces tests :
- Code: Tout sélectionner
Convert.ToDouble(ChampLibre.value);
Convert.ToDecimal(ChampLibre.value);
Convert.ToInt32(ChampLibre.value);
A chaque fois je me mange une erreur System.Runtime.InteropServices.COMException (0xFFFFFFFF): Type incorrect !
Sauriez vous comment bien caster cette valeur ?
[edit] je tente aussi d'enregistrer un champ libre de type date avec un objet C# de type DateTime et je me mange un "Marqueur Illégale !", existe t'il un moyen de caster dans des formats définis dans l'enum FieldType ?
[résolu] pour la date... mon cerveau n'était pas en état de fonctionner correctement.
A vous lire
- Posteur habitué
- Messages: 22
- Inscription: Mer 4 Aoû 2010 11:37
Re: [C#] Info libre : cast d'une valeur de type montant
Bonjour,
Est-tu sûr que c'est un problème de cast ?
Faire attention à rendre l'enregistrement maitre (le F_Article) de l'info libre persistant (Write()) avant d'accéder à ses infos. libres.
Une info. libre type texte passe sans erreur ?
Cordialement,
Est-tu sûr que c'est un problème de cast ?
Faire attention à rendre l'enregistrement maitre (le F_Article) de l'info libre persistant (Write()) avant d'accéder à ses infos. libres.
Une info. libre type texte passe sans erreur ?
Cordialement,
ASR31
En recherche de missions.
En recherche de missions.
Re: [C#] Info libre : cast d'une valeur de type montant
Bonjour asr31 !
Oui, je suis quasi sûr que le pb vient du cast.
En même temps que je tente d'insérer cette donnée, j'insère d'autres infos libres dont un en INT (via Convert.ToInt32(ChampLibre.value); ), un en enum et plusieurs en text.
Voici la boucle dans laquelle j'insère les valeurs où :
- NewProdSage est mon article obj métier courant
- Produit.ChampsLibres est une collection de data (contenant .value et .field)
Oui, je suis quasi sûr que le pb vient du cast.
En même temps que je tente d'insérer cette donnée, j'insère d'autres infos libres dont un en INT (via Convert.ToInt32(ChampLibre.value); ), un en enum et plusieurs en text.
Voici la boucle dans laquelle j'insère les valeurs où :
- NewProdSage est mon article obj métier courant
- Produit.ChampsLibres est une collection de data (contenant .value et .field)
- Code: Tout sélectionner
foreach (baseProd_ChampLibre ChampLibre in Produit.ChampsLibres)
{
if (ChampLibre.value != null && ChampLibre.value != "")
{
try
{
if (ChampLibre.field == "COLISAGE") // Type entier
{
NewProdSage.InfoLibre[ChampLibre.field] = Convert.ToInt32(ChampLibre.value);
}
else if (ChampLibre.field == "PV_final_en_magasin") // Type montant
{
// NewProdSage.InfoLibre[ChampLibre.field] = ChampLibre.value;
// rien du tout, on va update en sql...
}
else
{
NewProdSage.InfoLibre[ChampLibre.field] = ChampLibre.value;
}
}
catch (Exception e)
{
Logs.Write(ChampLibre.field + " (" + ChampLibre.value+") : " + e.ToString());
}
}
}
- Posteur habitué
- Messages: 22
- Inscription: Mer 4 Aoû 2010 11:37
3 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité