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 :

Application de caisse


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut Application de caisse
    Bonjour à tous,
    Je vous présente tous mes vœux pour cette nouvelle année 2020.

    Je suis sur un projet de caisse et je rencontre quelques problèmes.

    Pièce jointe 527818

    - 1er problème :
    J'ai une colonne Débit, une colonne Crédit et une colonne Solde dans mon fichier table.
    Je sais que le problème a déjà été traité sur ce forum, mais après plusieurs essais je ne suis toujours pas parvenu à le résoudre.
    Je souhaiterais que le solde s'affiche et se mette à jour sur chaque ligne en fonction de l'opération et ce à chaque fois que je saisirais une nouvelle ligne ou que éventuellement j'en supprimais une.

    2ème problème :
    En partant de l'exemple qui se trouve dans WinDev, j'ai inclus un cadre avec Date de début et Date de fin. Dans le Combo période prédéfinie, il y a aujourd'hui, semaine en cours, mois en cours, etc...
    Le bouton recherche me permet d'afficher la période choisie dans mon fichier table.
    J'ai essayé d'adapter le code de l'exemple à mon projet, mais là encore sans succès.

    Pourriez-vous m'aider s'il vous plait.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    [MODE Nom : BouleCristal-32x32.jpg
Affichages : 606
Taille : 9,5 Ko]
    Le projet comporte des comptes.
    Chaque compte peut avoir des opérations (débit ou crédit)

    Le compte est identifié par son N°.Il a un intitulé.

    Le mouvement concerne un tiers, il a une valeur, il est daté, il peut y avoir un justificatif qui comporte un N°, il y a une description de l'opération, chaque compte a un solde avant et après l'opération.

    Le solde de la caisse est la somme des soldes de chaque compte.

    Si le mouvement est un crédit on ajoute la valeur au solde du compte, si c'est un débit on la soustrait.
    [/MODE Nom : BouleCristal-32x32.jpg
Affichages : 606
Taille : 9,5 Ko]
    On veut afficher l'historique des opérations avec les soldes partiels entre 2 dates. L'affichage se fera par date croissante.
    Les crédits seront affichés en bleu, les débits en rouge.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Bonjour Voroltinquo,

    J'ai bien lu ton message, il n'y a pas de N° de compte c'est un compte unique.
    Sinon tout est exact.
    Ce que je souhaiterais c'est faire ancien solde - débit ou +crédit. Ainsi la colonne solde est actualisé en temps réel.

    Merci de m'avoir répondu

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hilander Voir le message
    Bonjour Voroltinquo,
    il n'y a pas de N° de compte c'est un compte unique.
    A quoi correspond N° de compte dans ton champ table alors ?

    Quoiqu'il en soit ce qu'il faut faire c'est :
    Dans un premier temps faire le "bilan" des opérations qui se situent avant la date de début de la période (e.g. moSoldeAu.)
    On peut ensuite utiliser une rupture sur la date de l'opération. Faire une somme des opération sur cette date, somme que l'on additionnera à la valeur obtenue précédemment ce résultat devenant alors le nouveau moSoldeAu.

    L'idéal est de n'avoir qu'une table OPERATION contenant le type d'opération (Débit ou Crédit,) l'enregistrement de la valeur (positive ou négative) se fera via un traitement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Si l'opération est un débit
         On multiplie par -1
    FinSi
    On enregistre
    Après, il faut savoir ce que tu appelles "temps réel". En informatique, le "temps réel" est fonction des besoins. Il n'a pas la même signification pour une application de navigation d'un avion (on est là dans là au niveau de la µs voire de la ns) et une application de compte bancaire qui est du niveau de la journée.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Excuse-moi Voroltinquo, je n'avais pas compris, le n° de compte correspond au compte comptable du fournisseur ou d'un autre tiers.
    J'appel en temps réel, c'est que le solde se met à jour automatiquement à chaque fois que je saisis une opération.

    Solde initial = 200.00€
    Ligne suivante Dédit = -50.00€ : solde = 200.00€ - 50,00 soit 150.00€
    Ligne suivante Crédit = +5.00€ : Solde = 150,00€ + 5,00€ soit 155.00€
    Et ainsi de suite, j'ai lu un problème similaire sur ce forum et visiblement il n'a pas été résolu.

    Pour info, voici mon analyse :

    Pièce jointe 527910

    Merci, je pense que c'est assez simple. Le plus compliqué pour moi, c'est le 2ème problème

    Bonne soirée à toi

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    En terme de donnée, débit et crédit, c'est la même chose, ce qui diffère c'est le traitement. Une fois de plus tu ajoute dans Opération des colonne qui existent ailleurs.
    N°Compte,Tiers et description sont inclus dans IDTiers.
    De plus au niveau des cardinalité, ton analyse signifie qu'un mouvement peut impliquer un tiers qui n'existe pas (0,1.)
    Tu impose aussi au Tiers de ne faire une opération avec un compte unique en incluant directement le n° de compte dans ta table TIERS.
    En ce qui concerne le solde, il ne peut pas être stocké en tant que tel. Si tu enregistres une opération du 30/12 avant une opération du 12/12, il y a de forte chance d'obtenir une erreur.
    Dans ton cas, au premier abord, il faut créer un table Solde avec comme PK la date.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Bonjour Voroltinquo,

    De plus au niveau des cardinalité, ton analyse signifie qu'un mouvement peut impliquer un tiers qui n'existe pas (0,1.)
    Cela ne peux arriver car j'ai crée dans ma fenêtre un code de message d'erreur pour me signaler qu'un tiers n'existe pas.
    Dans ce cas je peux le créer en appelant ma table fichier tiers par le biais d'un bouton et ainsi la créer. Voir mon post #1.

    Dans ton cas, au premier abord, il faut créer un table Solde avec comme PK la date.
    Je ne comprends pas trop l'intérêt de créer une nouvelle table Solde, mais je peux me tromper.

    Merci

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hilander Voir le message
    J'appel en temps réel, c'est que le solde se met à jour automatiquement à chaque fois que je saisis une opération.

    Solde initial = 200.00€
    Ligne suivante Dédit = -50.00€ : solde = 200.00€ - 50,00 soit 150.00€
    Ligne suivante Crédit = +5.00€ : Solde = 150,00€ + 5,00€ soit 155.00€
    Et ainsi de suite, j'ai lu un problème similaire sur ce forum et visiblement il n'a pas été résolu.
    Cela signifie que si tu saisie une ligne de Juillet 2019, après une ligne de Janvier 2020, cela n'a pas d'importance ?
    Dans ce cas pourquoi vouloir un historique des solde ?

    Sans aller si loin, cela implique une saisie chronologique des opérations ou alors un horodatage plus précis de celles ci.

    Le fait de créer une table solde permet d'avoir le solde à une date donnée sans avoir à tout remettre à jour.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    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,
    Citation Envoyé par hilander Voir le message
    Cela ne peux arriver car j'ai crée dans ma fenêtre un code de message d'erreur pour me signaler qu'un tiers n'existe pas.
    Si, ça peut arriver, suite par exemple à un bug dans l'application (personne n'est à l'abri d'une erreur).
    Donc oui pour un contrôle dans l'application, ne serait-ce que pour avoir un message compréhensible pour l'utilisateur, mais li FAUT aussi mettre une contrainte au niveau de la base.
    Si l'application laisse passer une donnée incorrecte, la base bloquera. Ainsi tu es absolument sûr de garder une base intègre.

    Tatayo.

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut Application de caisse
    Bonjour,

    J'ai trouvé sur ce forum une solution donnée par SevenSoftware qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI Table_Mouvement_de_caisse = 1
    	Solde = Credit - Debit
    SINON
    	Solde = Solde[Table_Mouvement_de_caisse-1] + Credit - Debit
    FIN
    Si j'insère une ligne à une date antérieure sans la trier ça fonctionne aussi. Seul petit problème, si je crée un état, le solde s'affiche à zéro.



    Le plus compliqué pour moi c'est la période prédéfinie, je souhaiterais pouvoir afficher les écritures selon une période (Mois en cours, Semaine en cours, etc.)
    J'ai repris ce qui se trouve dans l'exemple qui se trouve dans WinDev, mais je ne parviens à l'adapter à mon projet.

    Merci pour votre aide

  11. #11
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Rhaa, les comptables et leurs tableurs.

    Nous sommes en face de 2 solde différents.
    Le premier, "volatile" celui qui sera affiché dans ton chalmps table (on ne sait d'ailleurs toujours pas comment il est rempli ce champ) et un deuxième qui va être enregistré.
    Tu vois d'ailleurs que si le cahamp est trié cela ne fonctionne plus.

    Pars ailleurs de quel exemple Windev parles tu ?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Je parle de l'exemple WD Application Complète

  13. #13
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut Application de caisse
    Bonjour,

    La valeur de mon solde ne s'affiche dans WDMAP et donc pas non plus dans mon Etat, Je ne comprends pas pourquoi.
    Je suis aussi bloqué pour afficher une période.

    C'est fou qu'une chose simple peux être compliquée.

    Merci

  14. #14
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Cela ne resoudra certainemant pas ton problème d'affichage mais il est préférable d'utiliser IndiceEnCours() plutôt que la valeur du champ table.
    En effet, si l'on a choisit de renvoyer autre chose que le numéro de ligne (la PK par exemple) le code ne fonctionnera pas
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  15. #15
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Voroltinquo,

    Comme toujours tu avais raison, cela ne change rien du tout

    Merci

  16. #16
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Dans ta colonne solde, quelle information désire tu faire apparaître exactement le solde total de la caisse au moment de la saisie ou le solde de la caisse à la date du mouvement ?

    Es-tu allé voir tu côté des tables avec rupture?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  17. #17
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut Application de caisse
    Bonjour Voroltinquo,

    Ce que je souhaiterais c'est le solde à la date du mouvement, comme dans ma copie d'écran ci-dessous

    Pièce jointe 528450

    Non je ne suis pas encore allez voir des tables avec rupture.
    Je vais aller voir.

    Merci à toi

  18. #18
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Donc en reprenant les même valeur de débit et crédit, tu peux avoir :
    31/12/2019 200
    01/01/2020 155
    31/12/2019 150
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  19. #19
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Oui et bien sur à chaque fois que j'ajouterais une nouvelle saisie le solde sera mis à jour

  20. #20
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Tout se passe dans création et la mise à jour du solde journalier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SI le solde journalier n'existe pasALORS
          Créer le solde
    FIN
          Mouvementer le solde journalier
    Mouvementer le solde journalier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Ajouter ou soustraire le montant de l'opération
    SI Il y a des soldes postérieurs ALORS
         Mouvementer les soldes postérieurs avec le montant de l'opératon
    FIN
    Créer le solde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI Le solde a des soldes antérieurs ALORS
         Affecter le solde avec le solde journalier antérieur le plus récent
    SINON //C'est le premier solde
         Affecter le solde à 0
    FIN
    Lors de la saisie, il suffit de mettre à jour le solde journalier avant l'affichage
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/03/2019, 13h34
  2. Application d'édition ticket de caisse A5
    Par Nikosfr85 dans le forum IHM
    Réponses: 1
    Dernier message: 16/09/2015, 14h22
  3. [AC-2010] créer une application caisse
    Par chris09300 dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/05/2010, 19h08
  4. [Kylix] Execution d'une application hors de l'edi
    Par Sadam Sivaller dans le forum EDI
    Réponses: 1
    Dernier message: 20/04/2002, 23h22
  5. Réponses: 2
    Dernier message: 15/04/2002, 12h56

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