Dans la réalité, un mouvement de stock est souvent réalisé via un papier listant des informations de référence de commande et la liste des éléments rattachés avec une quantité.
Pour représenter cela, il y a plusieurs notions à prendre en compte. Tout d'abord, il y a la notion de "en tête du bon de mouvement" avec la référence de commande, qui l'a fait et quand, et la notion de "ligne d'article" pour décrire chaque élémént et chaque quantité.
Ces élements vont être représentés en deux entités liées.
De plus, à fin de nous simplifier la mise en place, nous allons utiliser le même élement pour faire à la fois les entrées et les sorties de stock.
Création du bon de mouvement de stock
Création de l'entité
Maintenant, vous devez être familier avec ce processus: via le DarkOffice de l'application, cliquons sur "Nouvelle donnée", puis entrons les informations de base de l'entité.
Les champs minimaux à remplir sont:
Titre: Mouvement stock
bien penser que le titre est multilingue et doit être traduit dans toutes les langues paramétrées de l'application.
Nom technique: MouvementDeStock
la référence dans les mécanismes internes de paramétrage de l'application devant suivre les règles .NET de nommage.
Icone: a choisir dans la liste des icones disponibles sur la plateforme
il n'y a rien d'obligatoire à choisir une icone, mais c'est plus joli... donc c'est important.
Texte d'aide: Représente la quantité disponible en stock à l'instant présent d'un article.
qui sera la base de l'aide disponible dans la documentation en ligne qui sera générée dans l'application. Encore une fois rien d'obligatoire, mais il c'est une bonne pratique de s'astreindre à remplir les textes d'aide le plus tôt possible car cela facilite fortemment la prise en main pour les utilisateurs. Cette aide est multilangue et la liste des langues à remplir dépend du paramétrage global linguistique de la plateforme.
Création des champs
Une fois cela fait, nous allons créer les champs de manière classique: pour chaque champ, dans le menu de gauche, sur sous menu "Champ" de l'entité "Mouvement de stock", cliquer sur l'icone + à droite.
Référence de commande
Choisir un champ de type "Texte" puis entrer les paramètres suivants:
Titre: Référence de commande
traduit dans toutes les langues.
Nom technique: ReferenceDeCommande
Obligatoire et Unique: Oui
En règle générale, je mettrais OUI pour les deux car un mouvement de stock correspond à une commande qui doit avoir un numéro unique, mais cela peut rendre complexe l'usage au quotidien si les informations de commande ne sont pas connues lors de la saisie des mouvements.
Texte d'aide: Indique la commande qui représente le mouvement.
Effectué le
Choisir un champ de type "Date et heure" puis entrer les paramètres suivants:
Titre: Effectué le
traduit dans toutes les langues.
Nom technique: EffectueLe
Obligatoire: Non
puisque le bon de mouvement peut être en cours de saisie et pas encore effectué.
Unique: Non
Texte d'aide: Si vide, indique que le mouvement n'a pas encore été effectué, si remplis, indique la date à laquelle le mouvement a été validé.
Maintenant nous allons créer la liste des champs de l'entête, et nous allons en profiter pour introduite un nouveau type de champ: l'énumération de valeurs.
Pour l'entête de mouvement de stock, nous allons créer les champs suivants:
Type de mouvement
c'est une liste déroulante permettant de choisir s'il s'agit d'une entrée ou sortie de stock.
Référence de commande
un simple champ texte
Effectué le
un simple champ date et heure.
Effectué par
qui va contenir les informations de l'utilisateur qui aura validé le mouvement.
Configuration de la liste déroulante "Type de mouvement"
Tant que nous ne l'avons pas paramétré dans la plateforme, il n'existe pas de liste déroulante permettant de choisir "entrée en stock" ou "sortie de stock". Avant de créer le champ sur l'entité, nous devons fabriquer cette liste déroulante.
Dans la plateforme ISKernel, une liste déroulante statique (c'est à dire, dont les valeurs ne changent pas lors de l'utilisation) est appelée "Type de valeur". Pour créer cela, il faut cliquer sur le "+" à côté de l'entrée "Type de valeur" du menu de gauche
puis choisir "Nouvelle énumération"
Dans l'écran qui s'affiche, comme pour une entité, il faut donner les informations qui permettrons à la plateforme de générer la liste déroulante
Les champs minimaux à remplir sont:
Titre: Type de mouvement
à traduire dans toutes les langues paramétrées de l'application.
Nom technique: TypeDeMouvement
la référence dans les mécanismes internes de paramétrage de l'application devant suivre les règles .NET de nommage.
Texte d'aide: Décrit le sens de mouvement de stock (entrant ou sortant).
pour la documentation en ligne générée automatiquement.
Puis dans l'onglet "Valeurs" situé en haut, nous allons entrer les différdevant suivre les règles .NET de nommageentes valeurs posssibles de cette énumération. Pour ce faire, il faut cliquer sur "Ajouter une valeur" deux fois de suite pour saisir "Entrée en stock" et "Sortie de stock".
A chaque fois, il faut saisir le nom technique devant suivre les règles .NET et la valeur multilangue qui sera affichée à l'utilisateur.
Pour saisir la notion de "Entrée en stock", cliquer sur "Ajouter une valeur" puis dans la ligne créee, entrer les données suivantes
Nom technique: Entree
référence dans les mécanismes internes de paramétrage de l'application devant suivre les règles .NET de nommage.
Valeur: Entree en stock
à traduire dans toutes les langues paramétrées de l'application.
Pour saisir la notion de "Sortie de stock", cliquer sur "Ajouter une valeur" puis dans la ligne créee, entrer les données suivantes
Nom technique: Sortie
référence dans les mécanismes internes de paramétrage de l'application devant suivre les règles .NET de nommage.
Valeur: Sortie de stock
à traduire dans toutes les langues paramétrées de l'application.
Le résultat obtenu sera le suivant:
Une fois cela fait, nous pouvons utiliser la liste déroulante dans la création de champ de la même manière que nous utilisons les entiers, textes, dates, ... : dans le menu de gauche, le sous menu "Champ" de l'entité "Mouvement de stock", cliquer sur l'icone + à droite.
puis sélectionnez le champ "Type de mouvement"
Dans la nouvelle page qui s'affiche, les noms et noms techniques sont repris automatiquement du paramétrage du Type d'énumération fait précédement. Ils peuvent être modifiés si besoin, mais dans notre cas, il suffit simplement de cocher "Obligatoire"
Nous avons terminé de créer une entité "Mouvement de stock" qui représente la partie fixe du document de bon de mouvement, en dehors des lignes avec les articles et les quantités.
Import de données d'exemple
Afin de rendre l'application plus facile à prendre en main, insérons des exemples de saisies': dans le DarkOffice applicatif déplier le menu de gauche pour voir l'entité "Mouvement de stock" et de cliquer l'icone "voir la liste" à droite du nom.
La liste s'affiche... pour le moment vide. Il est possible de créer manuellement une entité en cliquant sur le bouton "Nouveau" en haut de la liste. Mais comme nous sommes flemmards, nous allons importer un fichier excel afin de rapidement peupler la table.
Dans le menu "Administration de données", cliquer sur "Importer".
Vous pouvez utiliser ce fichier excel a condition que vous ayez utilisé exactement les mêmes noms de colonnes que ce tutorial, sinon, il faudra l'adapter. Les méthodes d'import sont décrites dans la section des fonctionalités avancées de navigation et import de données.
Résultat
En allant sur la partie utilisateur de l'application, nous voyons que le menu
a été automatiquement mis à jour et que le formulaire "Mouvement de stock" a été créé et nous permet de renseigner notre entête de bon de mouvement.
Il est maintenant nécessaire de représenter la liste des articles de ce bon de mouvement avec leurs quantités.
Création de la ligne de bon de mouvement
Création de l'entité
Via le DarkOffice de l'application, cliquons sur "Nouvelle donnée", puis entrons les informations de base de l'entité.
Les informations minimales à remplir sont:
Titre: Ligne de mouvement stock
bien penser que le titre est multilingue et doit être traduit dans toutes les langues paramétrées de l'application.
Nom technique: LigneDeMouvementDeStock
la référence dans les mécanismes internes de paramétrage de l'application devant suivre les règles .NET de nommage.
Texte d'aide: Représente une ligne d'un bon de mouvement de stock pour connaître de quel article il s'agit et en quelle quantité.
qui sera la base de l'aide disponible dans la documentation en ligne qui sera générée dans l'application. Encore une fois rien d'obligatoire, mais il c'est une bonne pratique de s'astreindre à remplir les textes d'aide le plus tôt possible car cela facilite fortemment la prise en main pour les utilisateurs. Cette aide est multilangue et la liste des langues à remplir dépend du paramétrage global linguistique de la plateforme.
Création des champs
Les champs d'un bon de mouvement doivent permettre de représenter le concept suivant: "il s'agit de tel article en telle quantité". De plus, il faut ajouter une notion implicite qui existe sur le bon de mouvement papier: "telle ligne fait partie de tel bon de mouvement".
De ce fait, nous allons définir les champs "Article", "Quantité" et "Mouvement de stock".
Afin de créer le champ "Article", nous pourrions être tenté de créer une simple champ texte. Cependant, pour éviter les fautes de frappe et garantir que le lien entre un article du bon de mouvement et un article de la gestion des stocks soit bien faite,
nous allons créer le champ de manière à ce qu'il fasse référence à un "Element en stock".
Conceptuellement, à chaque fois qu'une entité est crée sur la plateforme, il est possible de créer des champs faisant référence à une des fiches de l'entité sans aucun code. Le champ créé se présente alors sous la forme d'une liste déroulante permettant de rechercher et choisir une entrée.
Dans le menu de gauche, le sous menu "Champ" de l'entité "Ligne de mouvement stock", cliquer sur l'icone + à droite.
puis sélectionnez le champ "Article en stock"
Dans la nouvelle page qui s'affiche, les noms et noms techniques sont repris automatiquement du paramétrage de l'article en stock fait précédement.
Dans notre cas, afin de simplifier les noms, rennomons le titre en "Article" ainsi que le nom technique et cochons "Obligatoire"
Quantité
Choisir un champ de type "Entier" puis entrer les paramètres suivants:
Titre: Quantité
traduit dans toutes les langues.
Nom technique: Quentite
Obligatoire: Oui
En règle générale, je mettrais OUI pour les deux car un mouvement de stock correspond à une commande qui doit avoir un numéro unique, mais cela peut rendre complexe l'usage au quotidien si les informations de commande ne sont pas connues lors de la saisie des mouvements.
Texte d'aide: Indique la quantité concerné par le mouvement du stock pour l'article.
Mouvement de stock
Choisir un champ de type "Mouvement de stock" pour faire un nouveau lien, et simplement cocher Obligatoire sans changer les noms ou titres:
Titre: Mouvement de stock
traduit dans toutes les langues.
Nom technique: MouvementDeStock
Obligatoire: Oui
puisque toute ligne de mouvement fait implicitement référence à un mouvement de stock.
Import de données d'exemple
Dans le DarkOffice applicatif déplier le menu de gauche pour voir l'entité "Ligne de mouvement de stock" et de cliquer l'icone "voir la liste" à droite du nom.
Et pour remplir la liste, dans le menu "Administration de données", cliquer sur "Importer".
Vous pouvez utiliser ce fichier excel a condition que vous ayez utilisé exactement les mêmes noms de colonnes que ce tutorial.
Résultat
En allant sur la partie utilisateur de l'application, nous voyons que le menu
a été automatiquement mis à jour et que le formulaire "Ligne de mouvement de stock" a été créé.
En conclusion: nous avons créé la structure de données, mais le fait d'avoir des entrées différentes pour les notions d'entête de mouvement et de lignes ne sont pas très agréables à utiliser dans un contexte utilisateur.
En effet, nous allons voir dans la section suivante comment combiner ces deux entités en un formulaire correspondant beaucoup plus à une réalité opérationnelle.