Objet metier L'instruction a été arrêtée
Modérateurs: Super-Apogea, Super Modérateur
3 messages
|Page 1 sur 1
Objet metier L'instruction a été arrêtée
Bonjour,
En C# j'ai : "L'instruction a été arrêtée." lorsque je veux écrire dans la table des ressources
vous avez ci-dessous le code utilisé les données on été préalable mémorisées dans un DataTable
Version sage i7.70 sql serveur 2008r2 Windows 7 32 bits le programme est compilé en 32 bits
Question, ou est l'erreur?
Merci
En C# j'ai : "L'instruction a été arrêtée." lorsque je veux écrire dans la table des ressources
vous avez ci-dessous le code utilisé les données on été préalable mémorisées dans un DataTable
Version sage i7.70 sql serveur 2008r2 Windows 7 32 bits le programme est compilé en 32 bits
- Code: Tout sélectionner
private BSCIALApplication3 baseGescom = new BSCIALApplication3();
baseGescom.Name = Program.maconfig.FicGCM;
baseGescom.Loggable.UserName = Program.maconfig.Utilisateur;
baseGescom.Loggable.UserPwd = Program.maconfig.Motdepass;
try
{
baseGescom.Open();
}
catch (Exception ex)
{
MessageBox.Show("Ouverture base gescom " + ex.ToString());
throw new Exception(ex.ToString());
}
IBORessource ressource = null;
// Ecriture ressource
foreach (DataRow ligneExcel in TableExcel.Rows)
{
ressource = (IBORessource)baseGescom.FactoryRessource.Create();
ressource.SetDefault();
ressource.RP_Code = ligneExcel["colb"].ToString().Trim();
ressource.RP_Intitule = ligneExcel["colc"].ToString();
string typress = ligneExcel["colp"].ToString().Trim();
switch (typress)
{
case "PERSONNEL":
ressource.RP_Type = Objets100Lib.RessourceProdType.RessourceProdTypeHomme;
break;
case "MACHINE":
ressource.RP_Type = Objets100Lib.RessourceProdType.RessourceProdTypeMachine;
break;
default:
ressource.RP_Type = Objets100Lib.RessourceProdType.RessourceProdTypeOutil;
break;
}
ressource.RP_Complement = (ligneExcel["cole"].ToString() == "0" ? "" : string.Concat("", ligneExcel["cole"].ToString()));
ressource.Adresse.Adresse = (ligneExcel["colf"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["colf"].ToString().Trim()));
ressource.Adresse.Complement = (ligneExcel["colg"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["colg"].ToString().Trim()));
ressource.Adresse.CodePostal = (ligneExcel["colh"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["colh"].ToString().Trim()));
ressource.Adresse.Ville = (ligneExcel["coli"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["coli"].ToString().Trim()));
ressource.Adresse.Pays = (ligneExcel["colj"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["colj"].ToString().Trim()));
ressource.Telecom.Telephone = (ligneExcel["colk"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["colk"].ToString().Trim()));
ressource.Telecom.Telecopie = (ligneExcel["coll"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["coll"].ToString().Trim()));
ressource.Telecom.Portable = (ligneExcel["colm"].ToString().Trim() == "0" ? "" : string.Concat("", ligneExcel["colm"].ToString().Trim()));
ressource.Telecom.EMail = (ligneExcel["colu"].ToString().Trim()== "0" ? "" : string.Concat("",ligneExcel["colu"].ToString().Trim()));
ressource.RP_Capacite = 0;
try
{
ressource.Write(); //<----- se met en erreur!
}
catch (Exception ex)
{
MessageBox.Show("enregistrement ressourceprod\n" + ex.ToString());
throw new Exception(ex.ToString());
}
Question, ou est l'erreur?
Merci
- Posteur néophyte
- Messages: 2
- Inscription: Lun 7 Jan 2013 14:51
Re: Objet metier L'instruction a été arrêtée
Bonjour,
C'est à quel niveau, le Pb ? dans l'ouverture ou sur le write ?
Une idée, comme ça : Il y a bien un password pour ce compte de connexion ?, car si non, il faut soit ne pas préciser la valeur baseGescom.Loggable.UserPwd, soit lui passer la valeur null.
Et puis, ton try catch devrait te donner un peu plus d'information sur la nature de l'erreur, non?
Pour ma part, je rajouterai une p'tite gestion d'erreur sur la gestion de ton "typress"
Cordialement,
C'est à quel niveau, le Pb ? dans l'ouverture ou sur le write ?
Une idée, comme ça : Il y a bien un password pour ce compte de connexion ?, car si non, il faut soit ne pas préciser la valeur baseGescom.Loggable.UserPwd, soit lui passer la valeur null.
Et puis, ton try catch devrait te donner un peu plus d'information sur la nature de l'erreur, non?
Pour ma part, je rajouterai une p'tite gestion d'erreur sur la gestion de ton "typress"
Cordialement,
ASR31
En recherche de missions.
En recherche de missions.
Re: Objet metier L'instruction a été arrêtée
Bonjour,
Je rencontre exactement le même problème et j'avoue sécher un peu, je suis dans la même config, même langage et même cas que le premier post.
J'arrive à faire ce que je veux avec les articles où les fournisseurs par exemple.
Cependant je remarque que la table F_RESSOURCEPROD est en lecture seule contrairement à ces dernières et pourtant, dans la gescom un simple structure > nouvelle ressource me permet d'en créer facilement.
Je pense avoir tenu compte des champs obligatoire, j'ai du moins renseigné tous les champs qui l'étaient dans le formulaire de création de la gescom.
Malheureusement, tous mes essais se concluent par un "L'instruction a été arrêtée.".
Voici un extrait de mon code pour l'insert. A noter que l'update et le delete fonctionnent correctement.
Cordialement, Julien.
EDIT : L'erreur est sur le writeDefault();
Je rencontre exactement le même problème et j'avoue sécher un peu, je suis dans la même config, même langage et même cas que le premier post.
J'arrive à faire ce que je veux avec les articles où les fournisseurs par exemple.
Cependant je remarque que la table F_RESSOURCEPROD est en lecture seule contrairement à ces dernières et pourtant, dans la gescom un simple structure > nouvelle ressource me permet d'en créer facilement.
Je pense avoir tenu compte des champs obligatoire, j'ai du moins renseigné tous les champs qui l'étaient dans le formulaire de création de la gescom.
Malheureusement, tous mes essais se concluent par un "L'instruction a été arrêtée.".
Voici un extrait de mon code pour l'insert. A noter que l'update et le delete fonctionnent correctement.
Cordialement, Julien.
EDIT : L'erreur est sur le writeDefault();
- Code: Tout sélectionner
var titi = gs.BaseCial.FactoryRessource.Create();
var ress = (IBORessource)titi;
ress.SetDefault();
ress.RP_Code = "JUL01";
ress.RP_Intitule = "poc Julien";
ress.RP_Type = (RessourceProdType)2;
ress.Depot = gs.BaseCial.FactoryDepot.ReadIntitule("Bijou SA");
ress.ArticleDefault = gs.BaseCial.FactoryArticle.ReadReference("JUL01");
ress.RP_Capacite = 1;
ress.Unite = gs.BaseCial.FactoryUnite.ReadIntitule("Pièce");
ress.RP_Sommeil = false;
ress.WriteDefault();
- Posteur néophyte
- Messages: 1
- Inscription: Lun 23 Fév 2015 12:35
3 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités