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

Modélisation Discussion :

Entrée/Sortie de stock


Sujet :

Modélisation

  1. #1
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut Entrée/Sortie de stock
    Bonjour à tous,

    Dans le cadre de ma nouvelle prise de fonction dans mon travail je souhaiterai créer sous Access une base de donnée permettant de gérer des entrées et sorties de stock.

    Pour faire simple, je vais recevoir des matières premières (entrée en stock), et vais devoir les consommer (sortie de stock).

    Je dispose donc d'une table article contenant les codes articles avec description.
    Exemple : Art1=tomate; Art2=champignons; Art3=Haricots etc etc

    Lors de la réception de la commande je vais devoir faire des entrées en stock qui me permettront de générer des tickets de traçabilité:
    Exemple : Je reçois 10 palettes de tomates d'un poids total de 1000kg. Je dois donc sortir 10 tickets (1 par palette) d'un poids de 100 kg par ticket (1000/10). Les informations présentes sur chaque tickets seront les suivantes : Date d'entrée, numéro de traçabilité (le même pour les 10 tickets), code article, description de l'article, fournisseur (le même pour les 10 tickets), prix unitaire et numéro du ticket (de 1 à 10 dans notre exemple), poids de la palette. Pour chaque ticket je souhaiterai générer un code barre.

    Concernant le déstockage, je souhaiterai qu'à partir du code barre présent sur le ticket, l'utilisateur puisse déstocker simplement en le scannant.

    Voilà, ça me parait super compliqué dans la mesure ou je n'ai jamais générer de code barre, je me débrouille en Acces mais concernant les parties requêtes. J'ai vraiment du mal pour ce qui est conception. Pour le moment à part la table Article, je ne sais pas par ou commencer...


    Merci d'avance pour vos conseils

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    beau projet, certainement ton expression des besoins va évoluer mais c'est un bon début

    Il faut d'abord définir le modèle de données qui pourrait ressemble à ça:

    Article: ID, Description, Prix, Unité de Mesure, PoidsUOM, QteEnStock
    Entrée: ID, fournisseur, NoCde, Date, Article, Qté, Poids total
    Ligne d'entrée (chaque palette): ID, Qté, Statut (Init, EnStock, Déstocké)
    Sortie: ID, Client, NoCde, Date, Article, Qté
    Ligne de Sortie: ID, IDEntrée, Déstocké (Oui/non)

    Règles:

    l'entrée comme la sortie est mono-article
    les articles n'ont qu'une seule unité de mesure.
    on part du principe qu'il n'y a pas d'éclatement de palette
    à chaque entrée/sortie, la Qte en stock de la table article est mis à jour
    à chaque sortie, le statut de la ligne d'entrée passe à Déstocké
    la ligne de sortie peut porter sur la palette la plus ancienne (pour faire du FIFO)

  3. #3
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Bonjour accessisgood.

    Pour commencer merci de ta réponse.

    En réalité le prix n'est pas propre à chaque article du coup je pense plutôt le mettre dans la table Entrée.

    Qu'est ce que tu appelles Qté? Le nombre de palette?
    Pour la table sortie nous n'avons pas besoin du champs Client car c'est consommé en interne. Et j'aurai aimé qu'une fois le code barre scanné la ligne sortie soit alimenté en négative pour la quantité.

    Cela te paraît faisable?

    Article: ID, Description, Prix, Unité de Mesure, PoidsUOM, QteEnStock
    Entrée: ID, fournisseur, NoCde, Date, Article, Qté, Poids total, Prix unitaire (exemple :€/kg)
    Ligne d'entrée (chaque palette): ID, Qté, Statut (Init, EnStock, Déstocké)
    Sortie: ID, Client, NoCde, Date, Article, Qté
    Ligne de Sortie: ID, IDEntrée, Déstocké (Oui/non)

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    tu trouveras ci joint une maquette

    en réception, tu saisis les données et tu cliques sur [générer palette], ça crée les palette en statut 1, il faut les passer en statut 2 manuellement pour formellement établir la disponibilité du stock

    en sortie, même chose, tu saisis l'en tête, et tu cliques sur [générer palette], tu sélectionne les palettes une à une (Seules les palettes en statut 2 sont dispo pour consommation), en entrant l'ID de la palette rentrée (ou par code barre), puis tu cliques sur [Expedie] ce qui valide l'expédition et donc passe le statut de la palette à 3 (la palette ne sera plus dispo pour une prochaine expédition)

    il y a une sécurité pour saisir le bon article en sortie

    pour le code barre, il faut télécharger une police

    Stock.zip

  5. #5
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Merci pour le fichier.

    C'est ce que je veux.

    Crois tu qu'il serait possible,à l'aide d'un formulaire de saisir simplement le code article, le numéro de lot fournisseur, poids total et le prix et d'avoir autant d'étiquettes qui sortent que de palettes.

    Un exemple, on reçoit 20 palettes de tomates d'un poids total de 2000 kg.

    L'utilisateur sélectionne le code article tomate, entre le nombre de palettes (20), le poids total (2000 kg), le fournisseur (cora), et lui attribue un numéro de lot (17-001) et le prix unitaire (1.40€/kg)

    En rentrant ces informations il cliquerait sur un bouton qui lui générerait 20 tickets de 100 kg par ticket avec toutes les informations ci dessus ainsi qu'un code barre.

    Je ne sais pas si c'est faisable dans Access.


    En tout cas encore merci !

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 434
    Points : 43 068
    Points
    43 068
    Par défaut
    Oui c'est possible.

    Ce qui n'est pas clair dans tes explications, c'est l'unité de mesure. La palette ? le kg ? c'est important pour la sortie. Je présume que tu "créé" des palettes plus petites et que c'est celles-ci qui sortent de ton stock.

    En gros, tu créé une table de lots d'entrée contenant x palettes de x kg dans une table, tu pourras en déduire le prix au kg en entrant le prix global. chaque entrée aura un numéro de traçabilité (tu rajouteras bien sûr le fournisseur et d"éventuelles autres infos).
    Tu crée une table de sortie pour enregistrer le nombre de palettes sortantes ou de kg sortants et chez qui ça part. Une simple requête te permettra de calculer pour chaque lot entrés, ce qui reste de disponible, et donc les afficher dans ton formulaire de sortie.

    Tu peux ensuite optimiser par exemple en mettant un champ (oui/non ou 1/0) "palette utilisée", positionné par le formulaire de sortie quand tu as exploité tout le contenu du lot, ce qui accélérera la recherche des lots contenant encore de la marchandise dispo.

    Pour les codes barres :
    http://domi2.developpez.com/tutoriel.../codes-barres/
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour;

    d'accord avec chrstophe, la réception contient le numéro de lot, le poids total et le nombre de palettes (+ date, fournisseur, commande)
    on peut faire alors 3 opérations
    - générer les palettes dont le poids sera le poids de la réception/nb palette
    - Imprimer les étiquettes
    - Enregistrer la réception pour passer les palettes à "En Stock" (c'est le statut dispo pour prélèvement)

    ci joint une maquette: (pas de VBA, mais des datamacro)
    Stock.zip

    coté code barre, avant de regarder une solution plus en détail, quelles sont tes besoins quel norme de code barre (39, 128...), et que contient le code, si c'est seulement le no de palette, ou quelque chose de plus compliqué

  8. #8
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par accessisgood Voir le message
    Bonjour;

    d'accord avec chrstophe, la réception contient le numéro de lot, le poids total et le nombre de palettes (+ date, fournisseur, commande)
    on peut faire alors 3 opérations
    - générer les palettes dont le poids sera le poids de la réception/nb palette
    - Imprimer les étiquettes
    - Enregistrer la réception pour passer les palettes à "En Stock" (c'est le statut dispo pour prélèvement)


    ci joint une maquette: (pas de VBA, mais des datamacro)
    Stock.zip

    coté code barre, avant de regarder une solution plus en détail, quelles sont tes besoins quel norme de code barre (39, 128...), et que contient le code, si c'est seulement le no de palette, ou quelque chose de plus compliqué

    Bonjour,

    C'est exactement cela. A la réception nous avons un bon de livraison avec le poids total livré ainsi que le nombre de palette. Nous rentrons simplement ces informations avec le numéro de lot fournisseur etc, et nous avons autant de tickets que de palettes entrées en stock.

    Ensuite pour le déstockage, nous déstockons par palette ou le poids de la palette = poids total commande / nbr palette.

    C'est exactement ce que vous avez compris

  9. #9
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Bonjour à tous,

    Tout d'abord meilleurs vœux pour 2018.

    Je reviens sur mon projet qui avance bien grâce à votre aide.

    Je n'arrive pas à comprendre le lien entre la table Tbl_reception et la table Tbl_reception_ligne.

    Dans la table Tbl_reception je renseigne toutes les informations dont j’ai besoin (Article, Nombre de palette, Poids total de la commande, lot, fournisseur, prix unitaire, numéro de commande et date). Ce que je ne comprends pas, c’est comment est alimentée la table tbl_reception_ligne ?

    Ce que j’aimerai c’est que la réception des palettes se fassent au moment de l’impression des étiquettes.

    De plus, à partir du moment où l’on remplit tbl_reception, le matériel est en stock

    Encore merci pour votre aide

  10. #10
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    par rapport à tes questions

    Je n'arrive pas à comprendre le lien entre la table Tbl_reception et la table Tbl_reception_ligne.
    La réception correspond à la livraison, la ligne de réception correspond à la palette identifiée de façon unique (ID de la table Tbl_Reception_Ligne)

    Dans la table Tbl_reception je renseigne toutes les informations dont j’ai besoin (Article, Nombre de palette, Poids total de la commande, lot, fournisseur, prix unitaire, numéro de commande et date). Ce que je ne comprends pas, c’est comment est alimentée la table tbl_reception_ligne ?
    il y a une datamacro [Après Mise A Jour] dans la table Tbl_Reception qui génère les lignes de réception (1 ligne de réception=1 palette) en s'appuyant sur la table Tbl_Tally
    Tu peux voir la datamacro en ouvrant la table en mode conception et sélectionner le menu adéquat

    Ce que j’aimerai c’est que la réception des palettes se fassent au moment de l’impression des étiquettes.
    c'est possible, il faudra adapter la datamacro, ceci dit il vaut mieux distinguer les étapes. Si tu perds une étiquette, il faudra bien la réimprimer sans réceptionner

    De plus, à partir du moment où l’on remplit tbl_reception, le matériel est en stock
    c'est possible, le code "GenererPalette" et le code "MettreEnStock" passent dans la datamacro [Apres Insertion]
    voir ci jointStockV2.zip

  11. #11
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Franchement je ne dis pas ça pour te flatter mais c'est du génie !

    C'est exactement ce que je voulais et même plus étant donné que le système permet même de rééditer l’étiquette.

    Il ne me reste plus qu’à gérer les codes-barres.

    Pour la table sortie l’utilisateur va déstocker en fonction de l’étiquette scannée. Par conséquent je pense qu’il faudrait déstocker à partir de la table « tbl_reception_ligne » tu crois que c’est possible ?

    De plus Est-ce qu'il est possible d'incrémenter les numéros de palette par lot ?
    Un exemple, lot 18-001, on reçoit 20 palettes, donc 20 lignes de 1 à 20. Puis on reçoit le lot 18-002, 12 palettes donc 12 lignes de 1 à 12 .

    D’ailleurs avant cela je ne connais pas les datas macro, il va falloir que je m’y penche sérieusement car ça à l’air très intéressant !

  12. #12
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour

    Il ne me reste plus qu’à gérer les codes-barres
    tiens nous au courant, c'est très intéressant

    Pour la table sortie l’utilisateur va déstocker en fonction de l’étiquette scannée. Par conséquent je pense qu’il faudrait déstocker à partir de la table « tbl_reception_ligne »
    c'est comme ça que ça marche, la table Tbl_Réception_Ligne fait aussi office de stock (en fonction du statut palette)

    De plus Est-ce qu'il est possible d'incrémenter les numéros de palette par lot ?
    oui, c'est possible, il faut créer un champ dédié et appliquer une règle de numérotation, mais celle ci n'est pas clair; est ce que le lot est un champ Obligatoire, peut il y a voir 2 livraisons avec un même lot?

  13. #13
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Bonjour et encore merci

    Citation Envoyé par accessisgood Voir le message

    oui, c'est possible, il faut créer un champ dédié et appliquer une règle de numérotation, mais celle ci n'est pas clair; est ce que le lot est un champ Obligatoire, peut il y a voir 2 livraisons avec un même lot?
    Non c'est impossible, un lot ne correspondra qu'à une seule livraison et ce sera toujours le cas

  14. #14
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    alors le champ lot devient un champ obligatoire et unique dans la table réception
    j'ai rajouté un champ palette dans la table réception_Ligne qui est renseigné par la table Tally

    StockV3.zip

  15. #15
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Encore une question, je ne m'en sors pas avec ces codes barres. D'après la procédure à suivre j'aurai besoin de convertir une chaine de caractère en code 0000100011001.
    Pour cela je dois d'abord déterminer la chaine de caractère qui deviendra mon code barre.
    J'aurai donc besoin d'ajouter à la table tbl_Reception_Ligne un code qui concatènerai le code article, le lot , et le numéro de palette.

    Comment je peux faire ça?

    Merci d'avance

  16. #16
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    la progression de la formalisation des besoins apporte toujours son lot de complexités
    La table Tbl_Reception_Ligne comprend des champs supplémentaires (code Article, lot, incrément) et un champ calculé "Palette" que tu peux personnaliser
    StockV4.zip

  17. #17
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Je commence à m'en sortir avec mon histoire de code barre.

    En fait je vais utiliser un contrôle ActiveX basé sur le champs ID de la table Tbl_reception_ligne.

    Du coup ce que je souhaiterai serai qu'en fonction de l'ID choisi dans un formulaire, je retrouve toutes les informations de la table Tbl_reception_ligne correspondant à l'ID palette et que l'utilisateur n'ai qu'a cliquer sur un bouton "Valider" afin de déstocker la ligne.

    Tu crois que c'est faisable de faire un formulaire avec liste déroulante sur le champs ID (j'y ajouterai un code barre par la suite) afin de faire cela?

    Encore merci

  18. #18
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    j'ai un peu restructuré les tables (table palette au lieu de réception ligne et sortie ligne)

    en sortie il y a une liste déroulante de sélection de palette qui se rafraichit automatiquement, c'est ce champ qui doit être en output d'une lecture code barre

    merci de partager sur ton travail sur le code barre
    StockV5.zip

  19. #19
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Merci pour la mise à jour, c'est vrai que c'est plus logique avec les nouveaux noms de tables.

    A quoi sert le champs "Prelevé" dans la table "Sortie", car nous déstockons la totalité de la palette?

    Merci !

  20. #20
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Le Champ Preleve compte le nombre de palette effectivement allouées/prélevées pour la sortie, car ce peut être différent de la quantité commandée en cas de rupture
    par ailleurs, lorsque Preleve=Commande, un petit paramétrage de format conditionnel empêche de saisir une palette supplémentaire dans l'écran de sortie

    ou en est tu sur le code barre?

Discussions similaires

  1. [XL-2010] Entrées et sorties de stock, comment faire ?
    Par onclejibe dans le forum Excel
    Réponses: 14
    Dernier message: 02/02/2018, 18h46
  2. [AC-2007] " Stock = Stock + Entrée - Sortie "
    Par Tariq2014 dans le forum IHM
    Réponses: 34
    Dernier message: 24/12/2013, 18h28
  3. Gestion de stocks entrée/sortie
    Par MaximeDev dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/09/2013, 17h15
  4. Requete gestion de stock entrées\sorties
    Par Alex1407 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/06/2013, 10h13
  5. Comment mettre à jour les entrées et sorties du stock
    Par devilbyme dans le forum Débuter
    Réponses: 5
    Dernier message: 11/10/2010, 10h02

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