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

WinDev Discussion :

numero de facture en fonction de l'année [WD15]


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut numero de facture en fonction de l'année
    [WD15] numero de facture en fonction de l'année


    bonjour a tous

    je développe une application et je voudrais incrémenter un numéro de facture en fonction de l'année et de l'année de l'exercice(fichier parametre avec rubrique numerofacture)

    je veux faire une recherche du dernier enregistrement qui a comme premier 4 caractère l’année dans mon fichier parametre

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    HLitDernier(Paramètre,IDParamètre)
    HLitDernier(PRODUCTION,IDPRODUCTION)
    Vdernierefacture est un numérique =PRODUCTION.N_FACTURE
    VdernièreAnné est une chaîne=Paramètre.NuméroDeFacture
     
     
    SI PRODUCTION.IDPRODUCTION=Null ALORS
        facture est une chaîne =VdernièreAnné + "0001"
     
    SINON
        SI VdernièreAnné= Gauche(Vdernierefacture,4) ALORS
           facture= Gauche(Vdernierefacture,4)+NumériqueVersChaîne((Val(Droite(Vdernierefacture,4))+1),"04d"))
        SINON
           // c'est la ou je bloque je veux faire une recherche pour avoir le dernier enregistrement qui commence par VdernièreAnné (VdernièreAnné0052 ex: 20110052)
        FIN
    FIN
    SAI_N_FACTURE=facture
    merci pour votre aide

  2. #2
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,

    Ton algo n'est pas très clair !
    Je te conseil de regarder du coté des filtres : fonction Hfiltre() etc ...
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Si ton application est multi-poste, je te conseille TRES fortement de passer par une table de compteur, et non de chercher le dernier enregistrement.
    En effet, que ce passe t'il si 2 utilisateurs veulent créer une facture en même temps ? Il vont récupérer le même numéro.
    Alors que si tu as une table de compteur:
    1. Tu crées une ligne chaque année
    2. Quand tu veux créer une facture, tu cherches le compteur correspondant à l'année en cours, et tu le bloques
    2. Tu récupères le numéro stocké dans ce compteur, et tu l'incrémentes
    3. Tu libères le compteur

    Ainsi ton algorithme est plus simple, et tu gères facilement les accès concurrents.

    C'est ce qu'on fait dans nos applications, à la différence que le numéro de document ne dépend pas de l'année.

    Tatayo.

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour

    Voyez HLitRechercheDernier avec l'option HGénérique, mais ce n'est pas la meilleure manière de procéder.

    D'autre part, quand vous codez "SI PRODUCTION.IDPRODUCTION=Null", je doute que vous ayez trouvé un enregistrement et il vaudrait donc mieux tester les erreurs.

    Bon travail

    Hemgé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/12/2011, 17h49
  2. Fonction Date ADD + Année
    Par Lorenzogazier dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/02/2008, 19h03
  3. Numero De Facture Auto Mois Annee
    Par Maryloo2005 dans le forum IHM
    Réponses: 1
    Dernier message: 15/06/2007, 23h21
  4. select en fonction de l'année d'une date
    Par maraly dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/03/2007, 08h51
  5. numero de facture
    Par ines87 dans le forum Access
    Réponses: 8
    Dernier message: 23/06/2006, 10h50

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