1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Réinitialiser N°Facture chaque nouvelle année

Discussion dans 'Windev' créé par Mohbrun, Mar 15, 2022.

  1. Mohbrun

    Mohbrun Member

    Inscrit:
    Juin 6, 2020
    Messages:
    44
    J'aime reçus:
    1
    Bonjour tous le monde
    j'ai une facture, où le numéro de la facture est sous forme : 001/2022 (exemple) et à chaque nouvelle facture le numéro s'incrémente automatiquement avec le code suivant:
    MoiMême = "N° "+ REQ_Etat_Document.Numéro + "/"+AnnéeEnCours()

    mais je charche comment réinitialiser ce numéro à chaque nouvelle année à 1 c.à.d sous forme: 001/2023
    Merci à Tous.
     
    Tags:
  2. Gemini1961

    Gemini1961 Well-Known Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 2, 2018
    Messages:
    578
    J'aime reçus:
    867
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Ne serait-il pas plus simple de créer un fichier d'une seule ligne contenant les compteurs avec tous les derniers numéros de documents :)
    Bien cordialement
     
    WX1331 et Mohbrun aiment ça.
  3. Isabelle

    Isabelle Active Member

    Inscrit:
    Jan 18, 2018
    Messages:
    358
    J'aime reçus:
    249
    Déjà, il me semblerai plus logique sous la forme 2022/001
    Ainsi on cherche le dernier numéro de l'année en cours,
    si on trouve on incrémente
    si non on crée cette facture avec 2023/001
    et voilà.
     
    Mohbrun apprécie ceci.
  4. Mohbrun

    Mohbrun Member

    Inscrit:
    Juin 6, 2020
    Messages:
    44
    J'aime reçus:
    1

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Ne serait-il pas plus simple de créer un fichier d'une seule ligne contenant les compteurs avec tous les derniers numéros de documents :)
    Bien cordialement
    Cliquez pour agrandir...
    pardon mais j'ai pas compris ta suggestion :biggrin::biggrin:
     
  • Mohbrun

    Mohbrun Member

    Inscrit:
    Juin 6, 2020
    Messages:
    44
    J'aime reçus:
    1

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Déjà, il me semblerai plus logique sous la forme 2022/001
    Ainsi on cherche le dernier numéro de l'année en cours,
    si on trouve on incrémente
    si non on crée cette facture avec 2023/001
    et voilà.
    Cliquez pour agrandir...
    Mois je veut pas incrémenter le numéro mais le réinitialiser à 001 si l'année est la suivante
     
  • Isabelle

    Isabelle Active Member

    Inscrit:
    Jan 18, 2018
    Messages:
    358
    J'aime reçus:
    249
    Relis ma réponse.
    Exemple :
    Si tu cherches la dernière facture de 2022 et que tu la trouves, tu incrémentes.
    Si tu cherches la dernière facture de 2023 et que tu ne la trouves pas tu initialises à 001
    A condition que ton numéro de facture soit sous la forme AAAA/N°
     
    Mohbrun et WX1331 aiment ça.
  • Marega

    Marega New Member

    Inscrit:
    Jan 13, 2020
    Messages:
    1
    J'aime reçus:
    2
    Bonjour, j'ai une autre idée je ne sais pas si c'est la bonne...
    1 - Tu crées un fichier chrono par exemple avec deux rubriques (clechrono <chaine>, valchrono <numérique>).
    2 - Tu crées une procédure globale LireChrono comme celui-ci

    FONCTION LireChrono(Param1)
    nValRetour est un entier
    HOuvre(Chrono)
    HLitRecherche(Chrono,CleChrono,Complete(Param1,8))
    SI PAS HTrouve(Chrono) ALORS
    Chrono.CleChrono = Param1
    Chrono.NumChrono = 2
    HAjoute(Chrono)
    nValRetour = 1
    SINON
    nValRetour = Chrono.NumChrono
    Chrono.NumChrono = Chrono.NumChrono + 1
    HModifie(Chrono)
    FIN
    HFerme(Chrono)
    RENVOYER(nValRetour)

    3 - Un exemple d'appel de la fonction :
    sNumFacture est une chaine = NumériqueVersChaîne(LireChrono("FACTURE"+AnnéeEnCours()),"04d")+"/"+AnnéeEnCours()

    Cela devrait fonctionner aussi.
    Bon dev !
     
    WX1331 et Mohbrun aiment ça.
  • Mohbrun

    Mohbrun Member

    Inscrit:
    Juin 6, 2020
    Messages:
    44
    J'aime reçus:
    1

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour, j'ai une autre idée je ne sais pas si c'est la bonne...
    1 - Tu crées un fichier chrono par exemple avec deux rubriques (clechrono <chaine>, valchrono <numérique>).
    2 - Tu crées une procédure globale LireChrono comme celui-ci

    FONCTION LireChrono(Param1)
    nValRetour est un entier
    HOuvre(Chrono)
    HLitRecherche(Chrono,CleChrono,Complete(Param1,8))
    SI PAS HTrouve(Chrono) ALORS
    Chrono.CleChrono = Param1
    Chrono.NumChrono = 2
    HAjoute(Chrono)
    nValRetour = 1
    SINON
    nValRetour = Chrono.NumChrono
    Chrono.NumChrono = Chrono.NumChrono + 1
    HModifie(Chrono)
    FIN
    HFerme(Chrono)
    RENVOYER(nValRetour)

    3 - Un exemple d'appel de la fonction :
    sNumFacture est une chaine = NumériqueVersChaîne(LireChrono("FACTURE"+AnnéeEnCours()),"04d")+"/"+AnnéeEnCours()

    Cela devrait fonctionner aussi.
    Bon dev !
    Cliquez pour agrandir...
    Merci beaucoup pour votre réponse
     
  • Partager cette page

    Chargement...