Affectation d'un collaborateur

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Affectation d'un collaborateur

de AlexL » Lun 12 Nov 2012 10:49

Bonjour,

Je dois reprendre un projet laissé en plan qui consiste a affecter automatiquement un collaborateur à un tiers en fonction de son ID.
Un script php importe d'un base MySQL la liste des clients (tiers) vers sage. Lorsque je tente de mettre à jour le collaborateur affecté à un client, j'ai un message d'erreur :

(Simba)(Simba Engine ODBC Driver)(DRM File Library) CO_NO fait référence à un collaborateur inexistant, ou doit être égal à 0 pour une utilisation sans la gestion commerciale.

La requête est la suivante :
Code: Tout sélectionner
UPDATE F_COMPTET
SET CO_No = {$CO_No}
WHERE CT_Num = '{$value['client_ID']}'


J'ai très peu de connaissances sur Sage, la structure de la BDD et les dépendances entres tables. J'ai vérifié, le collaborateur existe et son Id est correct (dans F_COLLABORATEUR). Une MAJ via sage met bien ce champ a jour.
Ce soucis avait déjà été évoqué, mais jamais répondu (pb-affectation-f-comptet-odbc-sur-version-16-01-t5981.html )

Y a t il une dépendance pour mettre à jour ce champ ?? J'aimerais beaucoup éviter de mettre à jour 5k lignes à la mano >_<

Merci d'avance pour votre aide.
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: Lun 12 Nov 2012 10:38

Re: Affectation d'un collaborateur

de asr31 » Sam 24 Nov 2012 00:45

Bonjour,

Tu as peut-être déjà résolu ton problème (dans ce cas, c'est sympa d'indiquer comment et de clore le sujet).
Sinon, as-tu essayé de rentrer en dur le CO_No et le CT_Num ?
Peut-être faut-il vérifier le type du collaborateur (je ne suis pas sûr que l'on puisse affecter un contrôleur ou un chargé de recouvrement à un tiers) ?

Cordialement,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE

Re: Affectation d'un collaborateur

de AlexL » Lun 26 Nov 2012 10:48

Bonjour,

Merci pour la réponse :)
Alors non, le problème n'est toujours pas réglé :(
Je n'ai rien entré en dur. Si je prends une fiche client au hasard dans l'appli sage et que je veut y affecter un collaborateur, la liste qui m'est proposée est bien celle présente dans f_Collaborateur. En enregistrant, le champs CO_No est bien mis a jour avec le collaborateur choisi.
Tenter la même chose directement avec ce driver déclenche l'erreur citée :(

Je suis toujours dans l'impasse, même si ce soucis semble être devenu secondaire :s
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: Lun 12 Nov 2012 10:38

Re: Affectation d'un collaborateur

de gdnico57 » Lun 26 Nov 2012 14:59

Bonjour

Ta gescom est-elle SQL ou non ?
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: Mar 6 Mar 2012 16:26

Re: Affectation d'un collaborateur

de AlexL » Lun 26 Nov 2012 16:57

Plus ou moins :
La consommation de nos clients est originellement gérée avec mysql. 1 fois par mois, cette consommation est exportée vers sage, qui fonctionne avec SQL Server.

Si c'est ce que tu entendais pas SQL ...
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: Lun 12 Nov 2012 10:38

Re: Affectation d'un collaborateur

de IMPERIAL » Lun 26 Nov 2012 19:03

Bonjour,

Dans ton CO_Co tu y mets quoi ??????? On y vois rien dans tes infos ....

Tu dois y avoir un numérique de 0 à X qui est le numéro d'ordre de ton collaborateur dans la table des collaborateurs

Cdlt
IMPERIAL
Consultant Ligne 100 - INFOROPE
Le savoir c'est comme l'Amour. Si tu ne le partage pas, il devient inutile.

IMPERIAL
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 4661
Inscription: Jeu 6 Aoû 2009 12:39
Localisation: ROSNY SOUS BOIS

Re: Affectation d'un collaborateur

de AlexL » Mar 27 Nov 2012 10:17

{$CO_No} je le récupère dans F_COLLABORATEUR.CO_No au préalable.

F_COMPTET.CO_No est une FK pointant sur F_COLLABORATEUR.CO_No si je ne me trompe.
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: Lun 12 Nov 2012 10:38

Re: Affectation d'un collaborateur

de IMPERIAL » Ven 30 Nov 2012 10:07

Bonjour,

As -tu vérifié toutes les contraintes de la F_COMPTET

Tu as le STRUCTIC100.pdf avec le descriptif de la base ...

Si non, tu le trouveras dans le CD de SAGE, dans le repertoire SAGE (ou il y a tous les manuels

Cdlt
IMPERIAL
Consultant Ligne 100 - INFOROPE
Le savoir c'est comme l'Amour. Si tu ne le partage pas, il devient inutile.

IMPERIAL
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 4661
Inscription: Jeu 6 Aoû 2009 12:39
Localisation: ROSNY SOUS BOIS

Re: Affectation d'un collaborateur

de AlexL » Ven 30 Nov 2012 10:21

j'ai 2 PDF sous la main, un de 200 pages "Sage 100 Kit ODBC" et un 2e de 500+ pages "Structure des fichiers"
J'ai essayé de me plonger dans ce dernier, ya un descriptif des champs des 2 tables F_COMPTET et F_COLLABORATEUR, et même une liste des liens de F_COMPTET avec les autres tables, mais f_COLLABORATEUR n'y figure pas.

Liens de F_COMPTET (Fichier des Comptes Tiers)

AVEC F_COMPTEG (Fichier des Comptes Généraux)
F_COMPTEG(CG_Num = F_COMPTET.CG_NumPrinc, CG_Type = 0 (Type détail))

AVEC F_BANQUET (Fichier des Banques Tiers)
F_BANQUET(CT_Num = F_COMPTET.CT_Num ET BT_Num = F_COMPTET.BT_Num)
(CT_Num : numéro des comptes Tiers ; BT_Num : numéro de Banques Tiers)

AVEC F_COMPTEGNOTE (Fichier des Bloc-notes des Comptes Généraux)
F_COMPTEGNOTE(CG_Num = F_COMPTET.CG_NumPrinc)
(CG_Num : Numéro de Compte Général ; CG_NumPrinc :Numéro de Compte Général
Principal)

AVEC F_COMPTEGBUDGET (Fichier Budgets des Comptes Généraux)
F_COMPTEGBUDGET(CG_Num = F_COMPTET.CG_NumPrinc)
(CG_Num :Numéro de Compte Général ; CG_NumPrinc :Numéro de Compte Général
Principal)

AVEC F_TAXE (Fichier des Taux de Taxe)
F_TAXE(CG_Num = F_COMPTET.CG_NumPrinc)
(CG_Num :Numéro de Compte Général ; CG_NumPrinc :Numéro de Compte Général
Principal)

AVEC F_COMPTER (Fichier des Comptes Reportings)
(on passe par l’intermédiaire des Comptes Généraux)
F_COMPTEG(CG_Num = F_COMPTET.CG_NumPrinc, CG_Type = 0 (Type détail))
Si F_COMPTEG.CR_Num n’est pas Vide
F_COMPTER(CR_Num = F_COMPTEG.CR_Num, CR_Type = 0 (Type détail))
(Lien : numéro de compte reporting)
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: Lun 12 Nov 2012 10:38

Re: Affectation d'un collaborateur

de IMPERIAL » Ven 30 Nov 2012 10:31

Re :

Apparemment, tu n'utilises pas le driver ODBC de SAGE pour faire tes mises à jour ... Le driver ODBC gère automatiquement les contraintes.
En SQL direct, tu ne peux pas faire un UPDATE sur tous les champs...

Il te faut parfois supprimer la ligne pour la recréer ... Un peu galère. C'est le cas par exemple quand un veut faire un passage de Bon de commande à bon de livraison par exemple ... A voir si c'est le das sur le CO_No ... Vérifie les contraintes dans les triggers de SAGE ...
Cdlt
IMPERIAL
Consultant Ligne 100 - INFOROPE
Le savoir c'est comme l'Amour. Si tu ne le partage pas, il devient inutile.

IMPERIAL
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 4661
Inscription: Jeu 6 Aoû 2009 12:39
Localisation: ROSNY SOUS BOIS

Re: Affectation d'un collaborateur

de Houari » Lun 11 Mar 2013 23:11

AlexL a écrit:Bonjour,

Je dois reprendre un projet laissé en plan qui consiste a affecter automatiquement un collaborateur à un tiers en fonction de son ID.
Un script php importe d'un base MySQL la liste des clients (tiers) vers sage. Lorsque je tente de mettre à jour le collaborateur affecté à un client, j'ai un message d'erreur :

(Simba)(Simba Engine ODBC Driver)(DRM File Library) CO_NO fait référence à un collaborateur inexistant, ou doit être égal à 0 pour une utilisation sans la gestion commerciale.

La requête est la suivante :
Code: Tout sélectionner
UPDATE F_COMPTET
SET CO_No = {$CO_No}
WHERE CT_Num = '{$value['client_ID']}'


J'ai très peu de connaissances sur Sage, la structure de la BDD et les dépendances entres tables. J'ai vérifié, le collaborateur existe et son Id est correct (dans F_COLLABORATEUR). Une MAJ via sage met bien ce champ a jour.
Ce soucis avait déjà été évoqué, mais jamais répondu (pb-affectation-f-comptet-odbc-sur-version-16-01-t5981.html )

Y a t il une dépendance pour mettre à jour ce champ ?? J'aimerais beaucoup éviter de mettre à jour 5k lignes à la mano >_<

Merci d'avance pour votre aide.


Salut,

Je viens de faire un test sur ma base, et j'arrive à modifier un client avec une simple requête update:

Code: Tout sélectionner
update [MANDIST].[dbo].[F_COMPTET] set CO_No=96 where CT_Num = '41110149' ;

Résultat:
Code: Tout sélectionner
(1 ligne(s) affectée(s))


Je pense que c'est un problème de typage communiqué par ton application. Essaye de faire des cast explicites si c'est possible.




Config: Sage ligne 100 i7 SQL Server.
Avatar de l’utilisateur
Posteur néophyte
Posteur néophyte
 
Messages: 6
Inscription: Dim 20 Nov 2011 22:33
Localisation: Algerie - Oran


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité