IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

SAGE Comptabilité - calculer le prochain numéro de pièce


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut SAGE Comptabilité - calculer le prochain numéro de pièce
    Bonjour,

    J'utilise le produit Sage Comptabilité version 16.05 pour MS SQL Server, je dois générer des écritures comptables pour régler des factures fournisseurs, je rencontre un problème pour calculer le prochain numéro de pièce, qui ne respecte pas la logique dans l'ERP.

    J'ai essayé cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select isnull(max(convert(int,ec_piece)),'0')
    from F_ECRITUREC
    where JO_NUM=%1 AND ISNUMERIC(ec_piece)=1
    où notre client nous affirme que la requête a remonté la valeur 587 et non 209

    Sur une autre base, j'ai essayé la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select isnull(max(convert(int,ec_piece)),'0')
    from F_ECRITUREC
    where JO_NUM=%1 AND ISNUMERIC(ec_piece)=1
    AND year(JM_DATE)=2016
    J'ai obtenu 3667 comme valeur retournée, en compta, j'ai obtenu 3734

    Auriez-vous une idée?

    Merci

    PS : je ne suis pas en ODBC, il ne sera pas vendu à notre client

  2. #2
    Membre très actif Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 333
    Par défaut
    Bonjour,
    ton problème n'est pas très clair.
    Déjà commence par poster tes scripts ddl pour la table concernées.
    c'est quoi ce JO_num = %1 ?
    ce que tu veux faire c'est récupérer l'identifiant suivant en respectant une logique de '+1' pour insérer l'enregistrement avec le bon identifiant?
    l'insertion se fait via l'applicatif si j'ai bien compris?
    Sage n'utilise pas les identity?
    Cordialement,

  3. #3
    Invité
    Invité(e)
    Par défaut
    J'exécute mes requêtes depuis une application que je développe, depuis windev, je remplace les %1 par la valeur concernée.
    Le champ EC_PIECE est de type chaine, mais en pratique, il ne contient que des caractères numériques, et il n'est pas de type identity, contrairement au champ cbmarq (que l'on retrouve dans la plupart des tables SAGE).

    Dans mon cas, j'essaye de récupérer le plus grand numéro de pièce, puis dans l'application, j'incrémente la valeur pour avoir le nouveau numéro de pièce (je fais appel à la fonction ChaîneIncrémente dans windev).

    N'ayant pas de formation en comptabilité, je pense que c'est justement ce qui me manque pour comprendre la logique à adopter.

    Par "script ddl", tu parles de la structure de la table?

  4. #4
    Membre très actif Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 333
    Par défaut
    dans les règles de postage du forum, le 2ème post (de sql pro) explique comment générer les scripts ddl et jeu de données.
    si tu veux qu'on t'aide, il nous le faut.

    Cordialement,

  5. #5
    Invité
    Invité(e)
    Par défaut
    C'est un peu hors sujet, vu que c'est une table de la gamme SAGE, il existe même de la documentation en ligne pour comprendre l'ensemble des tables.
    Je n'ai pas trouvé pour la version 16.05 de SAGE mais pour la version 17, mais d'une version à une autre, la structure des tables ne change pas beaucoup (par ailleurs, les versions 16.XX vont être arrêtées l'année prochaine).

  6. #6
    Membre très actif Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 333
    Par défaut
    C'est un peu hors sujet, vu que c'est une table de la gamme SAGE
    absolument pas. la documentation sage ne me parle pas(en plus elle est imbuvable!), un create table oui.
    si en plus tu sais nous donner un set de données on va pouvoir tester tes requetes et au besoin les améliorer.
    Cordialement,

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/08/2010, 15h24
  2. Réponses: 1
    Dernier message: 05/08/2010, 13h04
  3. Calcul d'un numéro de semaine
    Par oliviergot dans le forum SQL
    Réponses: 4
    Dernier message: 22/04/2009, 14h15
  4. Faire des calculs sur le numéro de semaine ISO
    Par Fiona08 dans le forum SQL
    Réponses: 13
    Dernier message: 20/10/2008, 11h28
  5. calcul du prochain jour
    Par Melvine dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2007, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo