[Sql serveur 2000] modif champ table article

Fermé
OoKrissoO Messages postés 3 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 6 décembre 2006 - 6 déc. 2006 à 11:44
 new - 23 avril 2008 à 21:23
Bonjour, je travail actuellement sur une BDD sql : serveur sql 2000.
J'utilse sage ligne 100 avec driver odbc + interface entreprise manager.

Je veux modifier un champ de la table article qui gere le suivi en stock, mais j'ai un message d'erreur : ne peux pas modifier ce champ car des lignes document sont liés à cet article.
Cet article a déjà eu des ventes , donc apparement l'ODBC me bride et m'empeche de changer le type de suivi.

Je sais comment modifier les lignes des documents pour qu'ils puissent etre pris en compte dans le calcul des stocks, mais comment contourner le blocage ??
Merci d'avance

7 réponses

Regarde chez les compagnons d'arcadie -ils sont spécialistes de SAGE - et ils ont sortis un outil de recalcul de stock qui se paramètre pour faire le boulot la nuit. Si ca peut te servir ...
1
salut à tout le monde
je voux savoir commant modifie la langue de sql serveur 2000 de englais vers la langue français
et merci davance
1
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
6 déc. 2006 à 12:33
Bonjour,
Il n'est franchement pas recommandé de contourner la contrainte. Ta base ne sera plus intègre.
Je ne connais pas bien Sage, amis il me semble que tu dois pouvoir le faire par le logiciel, non ?
0
OoKrissoO Messages postés 3 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 6 décembre 2006
6 déc. 2006 à 14:13
Non , le logiciel est encore plus bridé car dès qu'une ligne de commande est crée, la liste déroulante permettant de changer le mode de suivi de stock devient grisée.

La seule facon que je connaisse, de pouvoir changer le suivi de stock est de détruire toutes les lignes = supprimer l'article dans chaque facture , bon de commande, devis .. apres il faudra le remettre.
Ce parametre est important pour moi qui ai crée des indicateurs : cet article n'étant pas géré en stock, je ne peux pas le controler dans mes indicateurs.
Ce n'est pas le seul article dans ce cas (j'en ai quelques un ayant été mal crée), ce qui représente un travail plutot lourd pour les enlever des bc et fa, mais surtout pour les remettre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
6 déc. 2006 à 14:24
Ce que j'en dis, c'est que c'est un peu dangeruex et crado de supprimer des tuples en base avec un progiciel.
Soit ce que tu veux faire n'est pas permis, et il y a des raisons pour cela (légal par exemple), soit il existe une solution propre implémentée dans Sage.
Mefie toi également des problèmes de garanties. Peut etre qu'en supprimant quelque chose en base, Sage n'assure plus de support derriere.
Bon courage. :)
0
OoKrissoO Messages postés 3 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 6 décembre 2006
6 déc. 2006 à 17:04
Dans mon cas il n'y a rien d'illégal ou autre.

C'est juste (apparement) pour ne pas fausser le calcul des stocks, que l'odbc m'interdit de changer le suivi d'un article s'il y a des lignes de commande avec cet article...

Merci quand meme pour tes réponses
0
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
7 déc. 2006 à 10:12
En fait, ce n'est pas l'odbc. l'ODBC n'est qu'une méthode d'accès à ta base.
Il y a une contrainte d'integrité dans ta base qui t'interdit de supprimer un tuple selon certaine condition.
Cela permet, comme je le disais ci dessus, de garder l'intégrité de la base.
0
Hello,
Tout le monde a raison, tu ne peu pas pas changer de manière totalement inconsciente le suivi de l'article. En effet si ton article est suivi en FIFO par exemple dans la table F_ARTICLE ben tu pourras pas le mettre en Sérialisé et en lot, il va te manqué des choses (serial number).
Le mieux est de créer un nouvel article, avec le suivi que tu désire et l'insérer dans toutes tes lignes de document (d'abord les achats pour avoir du stock) ensuite dans les ventes. Tu supprime l'ancien article dans tes lignes de document (DELETE * FROM F_DOCLIGNE WHERE AR_REF='REFERENCE ARTICLE')
Ensuite tu delete l'article (delete FROM F_ARTICLE WHERE AR_REF='REFRENCE ARTICLE')
Et tu croise les doigts pour ne pas avoir explosé l'intégrité référentiel, donc backup AVANT !

La chose sera plus simple si tu passe d'un article de type serialisé ou en lot, vers un article FIFO ou LIFO
en revanche dans le cas contraire sache que le champs LS_NUMEROSERIE est unique donc faudra une routine qui les génere

L'ODBC de sage n'est PAS qu'une méthode d'acces à ta base, il fait plein de chose que tu ne vois pas, par exemple si tu fait un 'SELECT * FROM F_DOCLIGNE' tu aura le champs LS_NUMEROSERIE mais en réalité ce champs n'existe pas dans la table F_DOCLIGNE il existe dans la table F_LOTSRIE, et est lié par les champs DL_NOIN et DL_NOOUT = DL_NO, tu t'en rendre compte si tu passe par le pilote SQLSERVEUR plutot que par le pilote SAGE ODBC

Je concois que c'est pas super clair mais si tu es plus clair dans l'ennoncé je pourrais peut-être t'aider plus.

Sage c'est bien, l'odbc ca craint
Fabian
0
bonjour, vous avez l'air bien calé dans la base de sage !!. peut être pourrez vous m'aider.
nous désirons étudier l'extraction des données d'une base SAGE gescomm 13 ( et bientot14) sqlserver pour les importer dans une autre base sqlserver2000.
En fait notre logiciel a besoin de s'interfacer avec SAGE, pour récupérer des information : clients, artciles tatifs etc.. par des triggers.
mais nous n'utilisons pas SAGE, on a donc pas de base sql Sage pour étude.
Pourriez vous nous envoyer une sauvegarde (nous le faisons sous Enterprise Manager) d'une base quelconque de Sage sqlserver 2000 (pourvu qu'il y ait quelques clients et articles ?. ceci nous permettrait d'étudier la structure et commencer le travail.
est ce possible ?cordialement, eric
0
Bonsoir,

Travaillant depuis 10 ans sur Sage en tant que consultant , tu n'es pas le premier à faire une telle demande. Pour les raisons expliquées ci-dessus, forcer la zone, c'est mettre un pied dans la tombe.

le plus simple est de recréer un article avec la même référence article en rajoutant un caractère à la fin afin que tu puisses faire des stats sur les 2 articles d'affiler (old et news).

Quand ton nouvel article est crée, tu fais une sortie globale du stock restant via un "mouvement de sortie". Et tu fais un "mouvement d'entrée" pour l'équivalent sur le nouvel article.

Ensuite il reste à modifier tous les documents qui n'impacte pas le stock (de Devis à Préparation de livraison pour les ventes, et de préparation de comme à bon de commande pour les achats). Tu remplaces l'ancien article par le nouveau.

C'est long, c'est chiant, mais c'est propre.
0