En parcourant les applications de développement de logiciels sur KWORK, j’ai trouvé une demande
intéressante, apparemment d’un indépendant ou d’un entrepreneur qui a sa propre petite
production : j’ai besoin d’un programme simple pour analyser la rentabilité du processus de
production, en fait – la comptabilité des matériaux dépensés et en comparant avec le bénéfice reçu
de la vente des produits finis. Bien sûr, pour une analyse complète, il faut également prendre en
compte les coûts d’électricité, le loyer des locaux, l’amortissement des équipements, les taxes, etc.,
mais dans certains cas, il suffit de contrôler uniquement les matériaux et les produits finis.

Malgré le grand nombre de programmes de comptabilité, y compris gratuits, les gens recherchent ce
qui leur convient. Et lorsque les tables de MS Excel ne leur conviennent plus et qu’ils ne sont pas
prêts à acheter une grosse somme ou à payer des frais mensuels pour les services en ligne, les
développeurs de la plate-forme My Visual Database ont la possibilité de leur proposer la meilleure
solution.

La théorie

Lorsqu’il s’agit de comptabiliser le profit, la première chose qui vient à l’esprit est la méthode de
calcul du coût. La tâche serait triviale dans le cas où le prix des matériaux utilisés ne change pas et
que la production ne présente aucun défaut. Mais en réalité, tout est plus compliqué : les prix
d’achat changent constamment et les technologies de production échouent, ce qui oblige à amortir
une partie des matières premières, et parfois des produits finis.

Pour le calcul correct du coût en comptabilité, plusieurs méthodes de calcul sont utilisées : FIFO, LIFO
et comptabilité par lots. Ce dernier est le mieux adapté à l’automatisation comptable et donne une
image complète et claire, car il est basé sur la comptabilisation des envois de marchandises.

Un lot de marchandises est un produit d’une certaine nomenclature avec un certain prix d’achat.

La comptabilité traditionnelle implique le déplacement d’informations sur la valeur et la quantité
entre des sous-comptes séparés – des unités de compte analytiques. De plus, chaque pièce
comptable génère de nombreuses écritures comptables distinctes. Mais dans notre cas, un système
simplifié fonctionnera. Il comprendra la comptabilisation de la documentation principale (factures
entrantes et sortantes) dont les détails feront office d’écritures. En conséquence, vous verrez les
indicateurs économiques suivants :

  • Stock restant
  • Volumes de fabrication
  • Volumes d’achats/ventes
  • Perte et profit

En fait, la comptabilité de production diffère de la comptabilité des ventes par la présence d’une
contrepartie spéciale qui reçoit les matériaux de l’entrepôt et renvoie les produits finis. A l’avenir,
nous appellerons cette contrepartie « site de production » ou « atelier ». Pour faciliter la création de
documents de production, il existe un ouvrage de référence spécial décrivant les taux de
consommation des matériaux nécessaires à la création d’un produit particulier.

Schéma de données

Notons la liste des entités nécessaires à la réalisation du projet.

  • Type d’élément – Item Type
  • Nomenclature – Item
  • Accessoires – productItem
  • Lot de matériel/article – pItem
  • Type de contrepartie – contrType
  • Contrepartie – contr
  • Type de document – DocType
  • Document – operDoc
  • Transaction comptable (détail des documents) – oper

Les références docType et contrType sont auxiliaires – dans ces tables, la valeur du champ ID est
utilisée dans la logique du programme. Ils sont donc renseignés automatiquement au premier
lancement de l’application et ne sont pas modifiables. Les tableaux restants sont définis par
l’utilisateur et pour chacun d’eux il y a un formulaire d’affichage de tableau et un formulaire
d’édition. Considérons-les plus en détail.

itemType

Le type d’élément est ajouté à deux fins :

  1. Séparer les matières (isProduct = 0) et les produits finis (isProduct = 1)
  2. Filtrez et regroupez les éléments pour faciliter la recherche et l’analyse.

item

La nomenclature appartient à un certain type (id_itemType), a un nom obligatoire (name) et un
article facultatif (code).

productItem

La composition du produit est une liste d’unités de nomenclature (id_item1) entrant dans la
composition de ce produit (id_item) avec indication de la quantité (qty). Ce guide n’est pas
obligatoire, mais aide à créer des documents pour radier les matériaux destinés à la production – il
contient à la fois des exigences réglementaires et facilite la planification de la production. Il peut être
utilisé pour évaluer les stocks en fonction de la quantité de produits qui peuvent en être fabriqués.
Mais la planification de la production est un sujet distinct qui ne sera pas divulgué dans ce projet.

pItem

La partie vous permet de combiner différentes actions en un seul processus. Cela ressemble à un
slogan politique, mais en fait c’est un moyen de faciliter la formation d’une requête SQL pour
effectuer certaines actions : déterminer le prix d’achat/production, contrôler les stocks, calculer le
profit/perte.

Jusqu’à présent, la partie n’a pas son propre identifiant visuel, seulement un lien vers la
nomenclature (id_item), mais très probablement à l’avenir, par commodité, un champ calculé sera
ajouté pour afficher le nom de la partie, qui consistera du nom de la nomenclature et du numéro de
série (par ordre chronologique d’arrivée).

operDoc

Le document comprend les champs obligatoires traditionnels : type de document (id_docType), date
(docDate), numéro (docNum), d’où (id_contr) et d’où (id_contr1) les matériaux ou les marchandises
se déplacent. Il existe également un champ facultatif pour un commentaire.

oper

Le détail du document (transaction comptable) contient un lien vers le document (id_operDoc), un lien vers le lot (pItem), ainsi que des informations sur la quantité (qty) et le montant (amount). Si nécessaire, les informations de prix seront calculées à l’aide de la formule : <Prix> = <Montant> / <Quantité>

contr

La contrepartie peut être des fournisseurs, des acheteurs, ainsi que des entrepôts et des ateliers de
production de l’entreprise. Il peut y avoir plusieurs contreparties (si des analyses pour différentes
contreparties sont requises) ou il peut y en avoir une de chaque type (id_contrType). Étant donné
que le programme ne sert qu’à enregistrer la production, les contreparties n’ont qu’un seul champ
avec des détails – le nom.

Nous utilisons des développements

Auparavant, plusieurs articles traitaient de diverses techniques que j’aimerais utiliser dans d’autres
projets, notamment dans ce programme. Pour ce faire, je vais copier tous les dossiers du projet
ClassExplorer, à l’exception du dossier Extras, dans le dossier du projet Production. Après cela, je vais
créer un nouveau dossier de projet dans Notepad ++ et le remplir avec les fichiers des dossiers
copiés. Pour ce faire, utilisez l’élément de menu contextuel “Ajouter des fichiers à partir du
répertoire.”

Effectuez ensuite les étapes suivantes dans l’ordre

Supprimer du projet :

  • script.dcu
  • script.pas

Supprimer du projet et des dossiers sur le disque :

  • Tous les fichiers du dossier Forms à l’exception de Forms.pas et Main.pas
  • Sous-dossiers dans le dossier Tools sauf DBG (débogueur)

Corrigez les fichiers en faisant correspondre la section uses, les listes de variables et de constantes, et
en supprimant les procédures et fonctions inutiles :

  • ConstVar.pas
  • UserApp.pas
  • Forms\Forms.pas
  • Forms\Main.pas
  • Tools\Tools.pas
En fait, nettoyer le code s'est avéré être une tâche fastidieuse et longue, et tout cela parce que le
compilateur en mode d'utilisation du module dans certains cas ne peut pas montrer avec précision
l'endroit où se trouve l'erreur. C'est l'un des principaux inconvénients de l'utilisation de modules, qui
peut être affolant. Par conséquent, je vais réécrire les modules jusqu'à ce qu'une séquence d'actions
simple, claire et concise ait été développée qui vous permette de transférer des scripts d'un projet à
un autre.

Après avoir mis à jour le nom du projet et les informations de version, j’ai remplacé les fichiers de
logo par des fichiers plus appropriés. En conséquence, le programme stub est prêt pour augmenter
les fonctionnalités.

Formulaire principal et formulaire À propos avec le style AquaLightSlate

À suivre.

Traduction : Yann Yvinec

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *