- Axelan
- Nombre de messages : 3
Date d'inscription : 01/12/2010
Erreur de 'CuFax'
Ven 7 Jan 2011 - 9:06
Bonjour,
J'essaye d'updater une Customer et j'obtient une erreur assez déconcertante :
{"Erreur de ToolKit\rFonction = ModifyCard\rChamp = CuFax\rErreur = Valeur invalide <1997>"}
Si c'était juste un problème de mauvais format de donnée, je n'aurais pas eu de problème, par contre en regardant la table Customer, CuFax est un champ qui n'existe pas.
Voici le code concerné en question
rstCustomerDataShipTo.Open("SELECT * FROM Customer where CuName like '%" + strStroreNum + "%' and CuInvoicedToNumber = '" + strAcombaBanniereID + "'", con, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, -1);
if (rstCustomerDataShipTo.EOF)
{
rstCustomerDataShipTo.AddNew(oMissing, oMissing);
if( dtHeader.Rows[0]["StoreNum"] != null || dtHeader.Rows[0]["StoreNum"].ToString() != "" ) // A new store number
rstCustomerDataShipTo.Fields["CuNumber"].Value = dist.AcombaBannerID.ToString() + "_N" + dtHeader.Rows[0]["StoreNum"].ToString();
else // A new Main company or stand alone one.
rstCustomerDataShipTo.Fields["CuNumber"].Value = dist.AcombaBannerID.ToString();
rstCustomerDataShipTo.Fields["CuName"].Value = dtHeader.Rows[0]["CustName"].ToString();
rstCustomerDataShipTo.Fields["CuCareOf"].Value = dtHeader.Rows[0]["Contact"].ToString();
rstCustomerDataShipTo.Fields["CuAddress"].Value = dtHeader.Rows[0]["Address1"].ToString();
rstCustomerDataShipTo.Fields["CuCity"].Value = dtHeader.Rows[0]["Address2"].ToString();
PostalCodeRegion region = PostalCodeRegion.FindPostalCodeByPrefix(dtHeader.Rows[0]["Postal"].ToString());
rstCustomerDataShipTo.Fields["CuPostalCode"].Value = region.PostalCode;
rstCustomerDataShipTo.Fields["CuISOCountryCode"].Value = region.CountryAbbreviation;
rstCustomerDataShipTo.Fields["CuPhoneDescription3"].Value = "Cell";
rstCustomerDataShipTo.Fields["CuPhoneDescription4"].Value = "Maison";
rstCustomerDataShipTo.Fields["CuPhoneNumber1"].Value = Utility.CleanStringToUpper(dtHeader.Rows[0]["Phone"].ToString());
rstCustomerDataShipTo.Fields["CuPhoneNumber2"].Value = Utility.CleanStringToUpper(dtHeader.Rows[0]["FAX"].ToString());
rstCustomerDataShipTo.Fields["CuInvoicedToNumber"].Value = strAcombaBanniereID;
rstCustomerDataShipTo.Fields["CuActive"].Value = 1;
rstCustomerDataShipTo.Update(oMissing, oMissing); // Plante ici
}
Voici également les valeurs de mes Watch
dtHeader.Rows[0]["StoreNum"].ToString() "0151" string
dtHeader.Rows[0]["CustName"].ToString() "Somewhere 0151 AFFILIE" string
dtHeader.Rows[0]["Contact"].ToString() "CHARLES" string
dtHeader.Rows[0]["Address1"].ToString() "4444 BL ROSEMONT" string
dtHeader.Rows[0]["Address2"].ToString() "MONTREAL, QC" string
region.PostalCode "H2H2H3" string
region.CountryAbbreviation "CA" string
Utility.CleanStringToUpper(dtHeader.Rows[0]["Phone"].ToString()) "3335556666" string
Utility.CleanStringToUpper(dtHeader.Rows[0]["FAX"].ToString()) "3335557777" string
strAcombaBanniereID 4444444 ulong
Merci de votre aide
J'essaye d'updater une Customer et j'obtient une erreur assez déconcertante :
{"Erreur de ToolKit\rFonction = ModifyCard\rChamp = CuFax\rErreur = Valeur invalide <1997>"}
Si c'était juste un problème de mauvais format de donnée, je n'aurais pas eu de problème, par contre en regardant la table Customer, CuFax est un champ qui n'existe pas.
Voici le code concerné en question
rstCustomerDataShipTo.Open("SELECT * FROM Customer where CuName like '%" + strStroreNum + "%' and CuInvoicedToNumber = '" + strAcombaBanniereID + "'", con, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, -1);
if (rstCustomerDataShipTo.EOF)
{
rstCustomerDataShipTo.AddNew(oMissing, oMissing);
if( dtHeader.Rows[0]["StoreNum"] != null || dtHeader.Rows[0]["StoreNum"].ToString() != "" ) // A new store number
rstCustomerDataShipTo.Fields["CuNumber"].Value = dist.AcombaBannerID.ToString() + "_N" + dtHeader.Rows[0]["StoreNum"].ToString();
else // A new Main company or stand alone one.
rstCustomerDataShipTo.Fields["CuNumber"].Value = dist.AcombaBannerID.ToString();
rstCustomerDataShipTo.Fields["CuName"].Value = dtHeader.Rows[0]["CustName"].ToString();
rstCustomerDataShipTo.Fields["CuCareOf"].Value = dtHeader.Rows[0]["Contact"].ToString();
rstCustomerDataShipTo.Fields["CuAddress"].Value = dtHeader.Rows[0]["Address1"].ToString();
rstCustomerDataShipTo.Fields["CuCity"].Value = dtHeader.Rows[0]["Address2"].ToString();
PostalCodeRegion region = PostalCodeRegion.FindPostalCodeByPrefix(dtHeader.Rows[0]["Postal"].ToString());
rstCustomerDataShipTo.Fields["CuPostalCode"].Value = region.PostalCode;
rstCustomerDataShipTo.Fields["CuISOCountryCode"].Value = region.CountryAbbreviation;
rstCustomerDataShipTo.Fields["CuPhoneDescription3"].Value = "Cell";
rstCustomerDataShipTo.Fields["CuPhoneDescription4"].Value = "Maison";
rstCustomerDataShipTo.Fields["CuPhoneNumber1"].Value = Utility.CleanStringToUpper(dtHeader.Rows[0]["Phone"].ToString());
rstCustomerDataShipTo.Fields["CuPhoneNumber2"].Value = Utility.CleanStringToUpper(dtHeader.Rows[0]["FAX"].ToString());
rstCustomerDataShipTo.Fields["CuInvoicedToNumber"].Value = strAcombaBanniereID;
rstCustomerDataShipTo.Fields["CuActive"].Value = 1;
rstCustomerDataShipTo.Update(oMissing, oMissing); // Plante ici
}
Voici également les valeurs de mes Watch
dtHeader.Rows[0]["StoreNum"].ToString() "0151" string
dtHeader.Rows[0]["CustName"].ToString() "Somewhere 0151 AFFILIE" string
dtHeader.Rows[0]["Contact"].ToString() "CHARLES" string
dtHeader.Rows[0]["Address1"].ToString() "4444 BL ROSEMONT" string
dtHeader.Rows[0]["Address2"].ToString() "MONTREAL, QC" string
region.PostalCode "H2H2H3" string
region.CountryAbbreviation "CA" string
Utility.CleanStringToUpper(dtHeader.Rows[0]["Phone"].ToString()) "3335556666" string
Utility.CleanStringToUpper(dtHeader.Rows[0]["FAX"].ToString()) "3335557777" string
strAcombaBanniereID 4444444 ulong
Merci de votre aide
- hench
- Nombre de messages : 163
Date d'inscription : 30/12/2008
Fiche d'Entreprise
Nom de l'entreprise:
Re: Erreur de 'CuFax'
Ven 7 Jan 2011 - 11:20
Bonjour
Vous pourriez essayer avec un numéro de téléphone véridique pour la propriété CuPhoneNumber2, voyons si cela a un impact !
hench
Vous pourriez essayer avec un numéro de téléphone véridique pour la propriété CuPhoneNumber2, voyons si cela a un impact !
hench
- Axelan
- Nombre de messages : 3
Date d'inscription : 01/12/2010
Re: Erreur de 'CuFax'
Ven 7 Jan 2011 - 11:38
En fait j'ai changé les données pour la vie privée. Les données viennent d'un fichier XML et sont véridiques (ce ne sont pas des données de test) . Par contre j'ai garder le format exact pour bien indiquer ce que j'avais dans chaque champ.
- hench
- Nombre de messages : 163
Date d'inscription : 30/12/2008
Fiche d'Entreprise
Nom de l'entreprise:
Re: Erreur de 'CuFax'
Ven 7 Jan 2011 - 12:37
Est-ce que cette procédure a déjà fonctionné auparavant ?
Voici quelques pistes :
1. Mettre une description dans CuPhoneDescription2
2. CuInvoicedToNumber est un string. Et si je comprends bien, vous lui donnez la valeur d'une variable ulong.
3. Peut-être cela provient-il d'une erreur (du numéro de fax?) dans la fiche du client pointé par la propriété CuInvoicedToNumber.
Il y a vraisemblablement un caractère ou un champs de données de votre fichier XML dont la valeur ne peut figurer dans une des propriétés.
Si cela ne régle pas, faites signe,
hench
Voici quelques pistes :
1. Mettre une description dans CuPhoneDescription2
2. CuInvoicedToNumber est un string. Et si je comprends bien, vous lui donnez la valeur d'une variable ulong.
- Code:
rstCustomerDataShipTo.Fields["CuInvoicedToNumber"].Value = strAcombaBanniereID;
où
strAcombaBanniereID 4444444 ulong
3. Peut-être cela provient-il d'une erreur (du numéro de fax?) dans la fiche du client pointé par la propriété CuInvoicedToNumber.
Il y a vraisemblablement un caractère ou un champs de données de votre fichier XML dont la valeur ne peut figurer dans une des propriétés.
Si cela ne régle pas, faites signe,
hench
- Axelan
- Nombre de messages : 3
Date d'inscription : 01/12/2010
Solution
Ven 7 Jan 2011 - 14:29
Merci de vos solutions, l'erreur était simple mais vous m'avez donné une bonne piste ou chercher.
Principalement mon, erreur était que le numéro de fax avait 9 chiffres au lieu de 10 (ce que j'avais pas vu même en vérifiant et comme j'ai changé mes données pour confidentialité cela n'a pas parrut.
Par contre, il y a en effet une erreur dans le message d'erreur ou du moins une confusion possible.
Le champ CuFax est égale au champ CuPhoneNumber2.
Principalement mon, erreur était que le numéro de fax avait 9 chiffres au lieu de 10 (ce que j'avais pas vu même en vérifiant et comme j'ai changé mes données pour confidentialité cela n'a pas parrut.
Par contre, il y a en effet une erreur dans le message d'erreur ou du moins une confusion possible.
Le champ CuFax est égale au champ CuPhoneNumber2.
- hench
- Nombre de messages : 163
Date d'inscription : 30/12/2008
Fiche d'Entreprise
Nom de l'entreprise:
Re: Erreur de 'CuFax'
Lun 10 Jan 2011 - 15:05
Nice !
Donc, davantage de validation des données s'avère utile pour éviter ce genre d'erreurs
Bonne fin de journée,
hench
Donc, davantage de validation des données s'avère utile pour éviter ce genre d'erreurs
Bonne fin de journée,
hench
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum