PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Réflexion construction projet
Réflexion construction projet
Iniciado por Cedrle100, fev., 14 2024 5:11 AM - 17 respostas
Membro registado
16 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 14 2024 - 5:11 AM
Bonjour

Je travail sur la création d'un programme de gestion de traçabilité pour une entreprise alimentaire. Dans l'idéal, le programme
doit être simple et souple dans son évolution.
Ma question est sur la construction de la partie HFSQL afin de répondre au cas suivant :

L'objectif est d'avoir une traçabilité théorique qui s'inscrit automatiquement lors de la fabrication d'une recette, que se soit une matière première achetée en l'état ( traçabilité fournisseur) ou une matière première transformées sur place (traçabilité interne).

Une recettes peut être composées d'autres recettes. J'aimerai pouvoir gérer le stock des matières premières mais aussi des produits semi-finis (=matières premières ayant eut une premières transformation)

Comment gérer le stock et la traçabilité de matières sachant que celle ci peut être achetée en l'état ou transformée sur place.
Lors de la fabrication d'une recette, comment avoir automatiquement la création des sous recettes.

Ex j'ai une recette qui est composée de matières premières utilisées en l'état (ex fromage, sel) et d'autre qui doivent subir une première transformation (ex cuisson des lentilles avec ajout d'épices).
Recette : Lentilles au fromage
Décomposions de la recette
- Lentilles cuites ( lentilles + eau + sel + poivre )
- Création de la garniture : Mélange du fromage, sel et farine
- Mélange des lentilles cuites et de la garniture

Je pensais faire les tables suivantes :
- Article

- Recette
- Recette version
- Recette version composition

- Réception
- Réception ligne (avec les traçabilités)

- Stock entrant
- Stock sortant

Aujourd'hui je suis en phase de réflexion, tout peut changer.
Est ce que les tables articles et recettes doivent être les même ?
Lors de l'enregistrement dans les stocks, faut il un booléen avec le type de matières (matières premières ou semi-fini ou produit fini)
Lors de la génération des recettes comment générer aussi toutes les sous recettes nécessaires ?

Merci
Membro registado
546 mensagems
Publicado em fevereiro, 14 2024 - 10:59 AM
Bonjour
Sans entrer dans la conception de votre application, à la lecture de votre message il me semble évident de mettre en place une liaison réflexive sur les fichiers (tables) de votre base de données.
Cette vidéo montre le principe :

Cdlt
Mensagem modificada, fevereiro, 14 2024 - 11:00 AM
Membro registado
3.892 mensagems
Popularité : +227 (347 votes)
Publicado em fevereiro, 14 2024 - 11:43 AM
Bonjour,
A la remarque de Cédric, j'ajouterai que deux tables de stock sont inutiles. Une seule suffit. La différence se fait soit par le signe de la quantité (+: entrée, - : sortie) ou par le type (entrée ou sortie)

--
Il y a peut être plus simple, mais, ça tourne
Membro registado
328 mensagems
Popularité : +8 (10 votes)
Publicado em fevereiro, 14 2024 - 12:47 PM
Bonjour

Ton projet nécessite de bien comprendre le process et ce qui doit être tracé légalement.

De là :

Un fichier ingrédient qui contient tous les ingrédients brut ou transformés (tu peux typer B et T par exemple)
Pour tes ingrédients transformés tu peux lier avec IDrecette
Un fichier Recette qui contient toute les recettes. Tu lies les ingrédients avec ID ingrédients (qui seront de type B ou T)

De cette façon tu retrouves les ingrédients nécessaires à une recette puisque les ingrédients T correspondent à une sous recette.
Et tu pourras mettre en place un traçage par ingrédients T ou B
Membro registado
2.574 mensagems
Popularité : +222 (260 votes)
Publicado em fevereiro, 14 2024 - 4:53 PM
Ca ressemble surtout à une nomenclature,

L'article peut être
- une matière première
- une nomenclature (article composé d'autres articles nomenclaturés ou non)

Les articles nomenclaturés doivent être définis comme un produit fini. De cette manière, à chaque ordre de fabrication, le stock de matières premières est impacté.

on a alors comme table:
- Article
- Nomenclature
- Recette
- Recette_detail
- Mouvement (@Voroltinquo on est d'accord une seule table suffit) --> Gère les mvts d'entrée et de sortie de stock
- Stock --> Gère le stock pour chaque article

La nomenclature est définie comme suit:
- Id article
- Qté

La recette est définie comme suit:
- un nom
- des articles nomenclaturés ou non
- une qté pour chaque article
...

Voilà succinctement ce que je ferai

--
Cordialement,

Philippe SAINT-BERTIN
Membro registado
16 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 16 2024 - 3:45 PM
bonjour

Merci pour vos réponses.
je rebondi sur le commentaire de Philippe SB.

Je ne comprends pas bien ce que vous nommez nomenclature ?
Lorsque je ferai ma fiche recette, dans la liste des ingrédients, je ne pourrai remonter des infos que de la table article.
Dans l'exemple
Recette : lentilles au fromage
Recette détail :
- Lentilles cuites : 50 %
- Fromage 1 : 25 %
- Fromage 2 : 25 %

Or lentilles cuites est une "nomenclature ( article 1 : lentille ; Article 2 : eau ; Article 3 : sel) et les fromages sont des articles.
Comment faire pour établir une recette détail sachant que des éléments seront de la table article et d'autre de la table nomenclature ?
Liaison entre recette détail et Article

Merci
Membro registado
328 mensagems
Popularité : +8 (10 votes)
Publicado em fevereiro, 16 2024 - 5:00 PM
Voir mon message . ..

En typant tes ingrédients tu sais s ils sont transformé (recette) ou pas

Un fichier article (id et type b ou t)
Un fichier recette (id)
Un fichier recette ingrédients (idrecette idarticle)

Tu peux bien tout lier donc avoir les accès que tu souhaites tout en ayant qu un seul fichier article

Pour ton fichier tracabilité tu auras bien tes idarticle brut ou transformé.
Membro registado
1.298 mensagems
Popularité : +20 (72 votes)
Publicado em fevereiro, 16 2024 - 5:15 PM
Bonjour Cedrle100

la première chose est qu'une solution en Windev existe déja sur ce théme

BIV-Trace de BIV-Team en belgique


Attention aussi que sur les recettes , tous n'est pas en %
par exemple je prend un sucre avec mon café, que la tasse soit petite ou grande je ne prend qu'un sucre

attention dans ta tracabilité que un ingrédient peux venir de 1 à infini de lot de cette ingrédient
attention de gérer les DLC et DLV mais aussi le delais minimum avant la fin de celles ci

a prévoir aussi le report de celle ci sur la DLC ou DLV du produit finit qui ne peut jamais etre supérieur à la DLC la plus basse des composants
sans jamais dépasser la durée maximum générique du produit fini

par exemple, une mayonnaise

Oeuf 1 mois
Sel 5 ans
Huile 2 ans
moutarde en pot 3 mois

durée maximum de vie d'une mayonnaise 3 jours

.....


sans oublié les réglementations national (afsca pour la Belgique) et européeen

--
Bertin CARRIERE
SRL RGPD.Zen-Project.be
support@zen-project.be
www.zen-project.be www.linkedin.com/in/bertincarriere

+32(0)498/10.18.58
Co-President de l'asbl Be-Dev Association des développeurs Windev de Belgique
www.be-dev.be
Membro registado
16 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 16 2024 - 8:47 PM
OK,

je vais tester comme indiqué par GB.

Autre question,
lors de la fabrication, les prix remonte en fonction de stock utilisé. J'aimerai que lors de l'inventaire, les prix se mettent à jour en prenant en compte la perte des ingrédients.
Par exemple pour la lentille, s'il en manque 3 kg lors de l'inventaire sur le lot n°1, j'aimerai que pour toutes les recettes ayant utilisée ce lot, le prix soit MAJ en ajoutant la perte des 3 kg.
Est il plus simple de faire une table prix avec :
- IDtable
- IDFabrication
- IDStock
- IDInventaire
- Prix
Ainsi en faisant la somme avec comme filtre IDFabrication, je peux remonter au prix réel.
Lors de la fabrication, j'inscris tous les prix des ingrédients et lors de l'inventaire, j'inscris le prix additionnel.
Membro registado
2.574 mensagems
Popularité : +222 (260 votes)
Publicado em fevereiro, 19 2024 - 8:07 AM
@Cedrle100: Une nomenclature est un article fini ou semi-fini qui est le résultat de l'addition de plusieurs autres articles. Dans votre cas un produit fini peut provenir de l'addition d'ingrédients et/ou de produits finis.

--
Cordialement,

Philippe SAINT-BERTIN
Membro registado
102 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 19 2024 - 9:49 AM
Bonjour,

Comment voulez vous ventiler la perte de produit sur les différentes recettes alors que vous ne savez pas quelle quantité a été perdue sur quelle recette ? et que faites vous s'il y a plus de produit que prévu ,vous compter baisser le prix des recettes selon la même règle?

A ma connaissance, un inventaire sert justement à vérifier les écarts entre stock physique et théorique et les écarts négatifs font partis des pertes pour le magasin.
Membro registado
16 mensagems
Popularité : +1 (1 vote)
Publicado em março, 17 2024 - 8:21 PM
Bonsoir
j' avance dans le projet.

Question : si j'ai un article avec des sous articles de plusieurs niveaux, comment réaliser un ordre de fabrication avec le bon ordre de fabrication.
EX
Article : Barquette de pâtes à la bolognaise 1000 g ( = article barquette + article pâtes à la bolognaise)
Article : pâtes à la bolognaise ( = article pâtes + article bolognaise)
Article : Bolognaise (article sel + article poivre + article viande + article sauce tomate)

Article: barquette pâtes au pesto 100g (idem que Barquette de pâtes à la bolognaise 1000 g mais avec du pesto)

Dans l'ordre il faut fabriquer : la bolognaise, le pesto et les pâtes puis pâtes à la bolognaise puis Barquette de pâtes à la bolognaise 1000 g
Comment les avoirs dans le bon ordre tout en regroupant les articles : ici fabrication des pâtes pour les deux recettes en même temps

Merci
Membro registado
328 mensagems
Popularité : +8 (10 votes)
Publicado em março, 18 2024 - 12:15 PM
Il faut stocker l ordre dans tes recettes standard et le stocker dans les lignes où tu utilise tes recettes
Membro registado
16 mensagems
Popularité : +1 (1 vote)
Publicado em março, 18 2024 - 1:01 PM
Mais toutes les recettes ne sont pas fabriquée dans le même ordre.
ex les pâtes peuvent être le produit fini comme intégrée dans une autre recette.
Je pensai faire une boucle avec un niveau et à la fin prendre par ordre décroissant.

Article : Barquette de pâtes à la bolognaise 1000 g = ordre 1
article barquette = ordre 2
article pâtes à la bolognaise ordre 2
Article Pates ordre 3
Article bolognaise ordre 3

Ainsi de suite.
Mais comment coder correctement .

De plus, mes recette ont des versions. J'ai une procédure qui remonte la version en cours de production.
Membro registado
397 mensagems
Popularité : +13 (13 votes)
Publicado em março, 18 2024 - 3:05 PM
Bonjour,

Vous semblez entrer dans le grand domaine de l'ordonnancement, et là, je ne suis pas sûr qu'il y a de "bonne" solution.

Prenons un exemple avec une commande de trois plats : pâtes bolo, pâtes pesto, pâte nature.

En général il s'agit de trouver l'équilibre entre :
- la date de fin, c'est-à-dire s'assurer que tous les plats sont prêts en même temps : les pâtes natures seront cuites après les autres pour que toutes les recettes soient finies en même temps.
- la capacité et disponibilité des machines : faire cuire des pâtes coûte cher en électricité, donc autant essayer au maximum de tout cuire en même temps. Attention aux autres contraintes : la casserole est-elle assez grande pour contenir toutes les pâtes nécessaires ? Est-ce que cela rallonge le temps de cuisson (et dans ce cas il faut le prendre en compte) ? Est-ce que les pâtes nature ne vont pas se mettre à coller le temps qu'on finisse les autres recettes ? Que faire si la casserole est déjà en train de travailler pour une autre commande ?
- Et bien sûr, le stock disponible à chaque instant : est-ce que ça vaut le coup de faire cuire trois portions de pâtes alors qu'on sait déjà d'avance qu'on ne recevra la sauce tomate que le lendemain (et donc que les pâtes bolo devront attendre).

D'un point de vue purement code / WinDev, cela peut se rapprocher avec un champ Gantt et les variables TâcheGantt, en spécifiant bien les prérequis à chaque fois. Attention cependant, l'algorithme de ordonnancement reste à implémenter manuellement.
Membro registado
16 mensagems
Popularité : +1 (1 vote)
Publicado em março, 18 2024 - 9:44 PM
Le projet est pour un fabricant et non un restaurateur.
Aujourd'hui le projet fonctionne comme ci dessous (il peut évoluer / changer)
Tables :
- Article (avec liaison réflexive)
- Article version (Article en fabrication avec des évolutions de composition possible)
- Article composition (lorsqu'il est en fabrication)
- Article composition Etat (En développement ou production ou arrêt)
- Client
- Commande
- Commande ligne
- Fabrication
- Fabrication article
- Fabrication article détail
- Stock

Lors de l'organisation de la fabrication, plusieurs clients peuvent commander le même article et ou des articles différents. De plus des articles sont fabriqués en interne et peuvent rentrer dans la fabrication d'autres articles
Comment avoir la fabrication dans le bon ordre ?
Merci
Membro registado
3.892 mensagems
Popularité : +227 (347 votes)
Publicado em março, 19 2024 - 2:28 AM
Bonjour,
Comme précisé dans le post #13, il faut numéroter ou alors faire un chainage qui d'ailleurs est implicite dans ta/tes relations réflexives. La numérotation sera plutôt la profondeur au sein de la recette.
Par ailleurs, les 4 tables Articles, ArticleVersion, ArticleComposition et ArticleEtat peuvent certainement être regroupées en une seule

--
Il y a peut être plus simple, mais, ça tourne
Mensagem modificada, março, 19 2024 - 2:44 AM
Membro registado
16 mensagems
Popularité : +1 (1 vote)
Publicado em março, 19 2024 - 9:05 AM
"Par ailleurs, les 4 tables Articles, ArticleVersion, ArticleComposition et ArticleEtat peuvent certainement être regroupées en une seule"
et comment ?
ex
Article : pâte bolognaise
Version : 1 / compo 50 % pâtes 50 % bolognaise / état production depuis le 01/01/2023 et arrêt depuis le 01/01/2024
Version : 2 / compo 45 % pâtes 55 % bolognaise / état production depuis le 01/01/2024