Je ne suis pas venu avec ça, mais je conviens que la
douleur est nécessaire pour comprendre les solutions et leur utilité, ou, comme le disent les gars en costume, la
douleur . Si vous n'avez pas de difficultés avec des pénuries, des stocks excédentaires, des livraisons tardives et d'autres symptômes d'une mauvaise planification - excellent, l'article n'est pas pour vous, et avec une forte probabilité, les problèmes énumérés ici ne répondront pas dans votre âme.
Si vous avez vécu ou ressentez maintenant la douleur de la planification en 1C, alors tombons malades ensemble et essayons de récupérer.
L'article est principalement écrit sur SCP. Une partie des problèmes a été supprimée dans l'ERP (en même temps en ajoutant de nouveaux), mais la douleur est restée à ce jour.
Alors allons-y.
La sécurité
D'abord et avant tout, comment savoir quels besoins sont satisfaits et lesquels ne le sont pas? J'ai donc des commandes clients, ou un plan de vente, ou des commandes internes, ou des ordres de production - ce sont mes besoins (plus précisément, les acheteurs). Il y a des stocks dans les entrepôts, il y a des commandes aux fournisseurs (achat et transformation), il y a des plans d'achat à la fin - ce sont mes ressources. Comment répondre à la question - quels besoins sont satisfaits et lesquels ne le sont pas? Eh bien, immédiatement la question qui l'accompagne - qu'est-ce qui manque? De quoi avez-vous besoin pour acheter ou produire?
Il n'y a pas de réponse simple à cette question dans les configurations 1C. Bien que la tâche, à première vue, soit insignifiante - prenez toutes les ressources, répartissez-les selon vos besoins, et vous serez heureux. Il semble qu'un simple rapport devrait aider, mais ce n'est pas le cas.
J'ai fait, comme vous aussi, un tel rapport. Pour une réponse grossière à la question posée, le rapport est tout à fait approprié, mais qui a besoin d'une réponse grossière? Les gens ont des affaires, la réponse à la question dépend des dépenses d'argent, des actifs non liquides, des lacunes de trésorerie, des relations avec les clients.
Afin de clarifier la réponse, mon rapport a commencé à se transformer en conditions et en réserves. Par exemple, cette contrepartie est la clé, elle doit d'abord être mise en stock dans l'entrepôt. Mais il n'a pas de sens de prendre des stocks de cet entrepôt - c'est l'autre bout du pays, seul l'avion peut être amené, et seulement en cas d'urgence. Ou cet entrepôt est uniquement pour l'unité X, mais en cas de besoin particulier, sur ordre du directeur, les gars de l'unité Y peuvent prendre quelque chose de cet entrepôt. Mais ils doivent passer un ordre interne qui sera exécuté par relocalisation.
Les capacités du schéma de mise en page et du langage de requête ne suffisent plus pour décrire toutes les conditions de calcul de la sécurité et des manuels de réglage apparaissent. Le rapport commence à ressembler de plus en plus à un monstre effrayant, et ici de plus en plus de nouveaux problèmes de qualité des données sont constamment découverts.
Puis un autre cauchemar se produit - le processus métier change, en même temps que la structure du personnel change, les départements se mélangent, le nombre d'entrepôts double, les plans de production apparaissent, un nouveau document du type «Demande de l'acheteur» apparaît, qui précède la commande de l'acheteur, etc. Bref, il y a tellement de raisons de la mort du Rapport qu'il cesse de résister.
Assistant de planification
Une partie des problèmes de calcul de la sécurité dans SCP est décidée par «l'assistant de planification». J'aimais beaucoup cet outil, il a des idées et des approches sympas. Mais, hélas, il est resté le prototype pour résoudre de vrais problèmes commerciaux. Je ne parlerai pas longtemps du grand-père adjoint, si vous le souhaitez, vous pouvez facilement trouver beaucoup d'informations sur ses limites (goulot d'étranglement, par exemple).
En ce qui concerne le calcul de la sécurité, le principal inconvénient de l '«Assistant de planification» est la nécessité de l'
utiliser en permanence. L'image réelle de la sécurité change toutes les minutes, ou toutes les heures au moins, et l'assistant est conçu pour une utilisation relativement peu fréquente.
Le deuxième inconvénient important est que l'assistant ne donne pas de réponse à la question «à quelles dépenses est-il prévu?». Il ne donne que ce qui manque, c'est-à-dire répond à la question qui l'accompagne, en sautant la principale.
Réservation et hébergement
À un certain moment, j'ai attiré l'attention sur la réservation (dans les entrepôts) et le placement (dans les commandes aux fournisseurs et les commandes internes). Voilà, semble-t-il, ce dont j'ai besoin! La réservation donne une réponse non ambiguë à la question principale - en raison de laquelle le besoin est fourni. Il dit directement - prenez un morceau de fer de cet entrepôt et partez en paix, et un morceau de bois arrivera dans une semaine du fournisseur par la commande n ° 23123.
Mais l'illusion s'est effondrée dans la réalité. La réservation intervient au moment du document (commande du client, par exemple), et le lieu de la réserve (entrepôt ou commande au fournisseur) y est stocké. Une personne a fait une erreur il y a trois jours - tout, une chaîne de réservation de trois jours s'envole en enfer. Annulé la commande au fournisseur il y a deux semaines - obtenez les inconvénients dans le registre de réserve. Ils l'ont pris de l'entrepôt sans réserve, ou ont annulé la pénurie - pour tout démarrer à partir du poêle.
L'espoir a éclaté sous la forme d'un document «Réservation de marchandises» - il vous permet d'ajuster toutes les réserves en une seule séance. Libérer, transférer, occuper des ressources plus pertinentes - c.-à-d. élimine tous les inconvénients décrits ci-dessus
L'espoir a duré longtemps, s'est même transformé en plusieurs projets. J'ai, et probablement vous, fait des choses telles que le recalcul automatique des réserves ou un grand poste de travail pour gérer les réserves, afin que le Big Dispatcher puisse transférer des réserves dans les deux sens, les retirer et les mettre en compte, en tenant compte des besoins et de tous les changements dans la vie réelle. Les manipulations de cette personne s'intègrent facilement dans le document «Réservation de biens», du point de vue du programmeur, il va très bien - il y a presque un enregistrement direct dans les registres.
Mais ici, tout n'est pas fluide. Des problèmes avec la séquence sont restés en place, car la modification rétroactive d'une exigence ou d'un document de réserve peut également détourner le registre de réserve vers moins. Le Big Dispatcher ne peut plus compter sur des données en constante évolution. Il vient d'allouer des réserves, une minute plus tard, il entre dans son AWP, et voit qu'il a distribué des ressources inexistantes (et par naïveté, il a également appelé des gens et promis quelque chose).
De plus, le même inconvénient que dans l'assistant de planification - redondance, incl. AWP, vous devez
utiliser en permanence. Allez-y, suivez-le, appuyez sur quelque chose. Le Big Dispatcher, encore une fois, est nécessaire.
Le pire, c'est que la sauvegarde, en tant que telle, je n'avais pas besoin. Je voulais juste savoir ce qui m'était fourni, ce qui était prévu et ce qui me manquait. Et la réserve est «de ne pas toucher la mienne!», C'est-à-dire tout le processus opérationnel. Ce qui, de plus, dans les entreprises manufacturières, les gars de l'entrepôt (où il n'y a pas de systèmes WMS sympas) aiment casser. Il était le seul qui soutenait la production avec son âme, et quand il recevait des pièces rares, il les cachait simplement dans le coin "pour que les maudits vendeurs ne soient pas emmenés". Quel genre de réservation est là.
J'ai, comme vous, probablement, essayé de créer un système de réservation et d'attribution automatique. Il semble que la tâche soit simple, plus technique, similaire à la comptabilité par lots. Il est nécessaire de prendre tous les lots de réserves et de les répartir entre ceux qui en ont besoin. Mais les difficultés sont nées de la même manière que dans la comptabilité par lots - la nécessité de restaurer la cohérence, les algorithmes complexes, la criticité des changements dans les processus commerciaux et les systèmes comptables.
Mais je veux juste savoir ce qui est fourni avec moi, ce qui est fourni et ce qui doit être acheté.
Analogues
Le sujet est tellement galvaudé qu’il n’est probablement même pas abordé lors des conférences. Les années passent, le chariot ne bouge pas.
Partout où je travaillais avec la planification, je devais envisager des analogues.
L'option la plus simple est l'interchangeabilité habituelle des pièces. Dans l'usinage, par exemple, un cas commun est exactement le même fer à repasser, mais fabriqué selon différentes versions de la documentation de conception. Par exemple, à partir de différentes nuances d'acier. Ou l'un de la forge et l'autre de l'emboutissage. Ou l'un de leur propre fabrication, l'autre est acheté. Ou la rugosité est différente en raison des différentes méthodes de traitement des fournisseurs.
L'interchangeabilité de ces pièces peut être indiquée à la fois dans le démarreur progressif et dans l'ERP. Quelque part, ces informations seront même prises en compte - par exemple, lors de la sélection de matériaux dans un rapport de production pour un quart de travail. Et lors de la planification et du calcul de la sécurité, je ne veux pas acheter une pièce, un analogue dont j'ai déjà en stock.
Dans la vraie vie, la prise en compte des analogues est, bien sûr, plus difficile.
Par exemple, l'interchangeabilité peut dépendre du client - l'un a besoin d'un acier différent, l'autre a besoin de sang de nez 40X. L'un est fabriqué en Chine, l'autre est un patriote.
Mais c'est tout - des cas simples où les analogues sont connectés un à un.
Cela arrive plus difficile. Par exemple, lors de la fabrication d'un emballage en polymère, un film d'une largeur appropriée est pris. Si le client a commandé un rouleau d'emballage de 1000 mm de large, nous prenons une largeur de 1100 mm, coupons le long des bords de 50 mm (pour qu'il soit uniforme), et tout le monde est content. Mais il y a eu une situation où nous n'avons pas un film de 1100 de large, et il y a 1105 mm. Bien sûr, nous ne prenons pas de bain de vapeur et nous le prenons - il y aura simplement un peu plus de déchets. Et nous pouvons prendre 1110 mm, nous pouvons 1115 mm, nous pouvons même prendre 1300 si l'ordre de gravure et le client sont nos favoris.
Il s'avère une formule complexe pour calculer l'analogue. Chaque film est une nomenclature distincte, c'est-à-dire les combinaisons pour chaque film seront des dizaines. Mais l'applicabilité des combinaisons d'analogues dépend du contexte - la largeur du produit que nous devons obtenir. Nous ajoutons ici que les films de même largeur sont différents dans leurs propriétés, mais peuvent se remplacer dans certaines conditions. Et un rouleau de 1000 mm de large peut être coupé en deux pour compléter une commande où une largeur de 450 mm est requise. Et il peut être coupé en trois parties, et pas nécessairement les mêmes.
Bref, l'enfer est infernal. Mais je veux qu'il soit en quelque sorte pris en compte, et la réponse à la question "sommes-nous fournis ou non?" le système a donné.
Vous connaissez probablement des schémas de remplacement de matériaux encore plus sophistiqués. Dites-moi de ne pas être timide. Tout de même, personne ne prévoit d'automatiser notre comptabilité des analogues.
Flexibilité
Plus précisément, pas la flexibilité, mais son manque. Moi, probablement comme vous, j'ai entendu la phrase plusieurs fois - vous devez adapter non pas 1C à vos processus, mais vos processus à 1C. Lorsqu'il travaillait dans une franchise, il aimait lui-même répéter ce slogan aux clients.
Il n'y a aucune flexibilité dans la planification et le calcul de la sécurité dans 1C. La flexibilité, c'est quand vous pouvez, sans programmation infernale, choisir l'outil le plus approprié, le régler un peu et obtenir le schéma de planification requis.
Je suis très à l'aise avec SCP, mais il n'y a pas grand-chose à choisir dans la décision de planification. Ce n'est même pas la flexibilité, mais le Grand Rien, le vide, le terrain est propre. Peut-on soutenir que rien n'est flexible? Bien sûr. C'est le charme de SCP, pour cela je l'aime, surtout en termes de planification - faites ce que vous voulez, ce ne sera pas pire.
Par exemple, attacher à l'approvisionnement du démarreur progressif selon la méthode BBV (tambour-tampon-corde) est une tâche simple, même par programmation ordinaire, sans aucun outil universel. Et il est impossible de gâcher quoi que ce soit dans le système avec ses modifications, comme travailler dans le Grand Rien n'est fait. C'est comme faire exploser une bombe nucléaire à mi-chemin de Mars à Vénus - le système solaire ne remarquera rien.
L'ERP a déjà l'embarras du choix - il y a quatre façons de répondre à vos besoins. Mais l'ERP, comme disent ses développeurs lors d'une conférence partenaire, est un système orienté processus écrit pour les processus. Changer les méthodes de support dans l'ERP - pour faire exploser la même bombe nucléaire, seulement déjà sur Terre. Surtout compte tenu des changements constants de la rédaction à la rédaction.
Néanmoins, l'engagement est utile, il y a beaucoup de choix. J'ai parlé avec les développeurs, leur ai posé des questions sur ma douleur, j'ai reçu des réponses décevantes - la douleur n'est pas traitée avec cette pilule. Il n'y a pas de rapport sur la sécurité, il n'y a pas d'analogues, l'ajout ou la modification de méthodes de sécurité - uniquement via le configurateur, vous ne pourrez pas prendre en compte vos objets de métadonnées dans les schémas de sécurité.
Je ne sais pas pour vous, mais dans cette comparaison, le Grand Rien est plus proche.
Objets de métadonnées personnalisés
Eh bien, il n'y a vraiment rien à dire ici. Tout objet de métadonnées ajouté ne tombe dans aucun schéma de planification ou de garantie.
Des exemples d'objets de métadonnées de fortune, et moi, et vous en connaissez un million. Si vous combinez SCP avec des solutions industrielles, les objets faits maison apparaîtront d'eux-mêmes. Aucun d'entre eux ne participera à la planification, et le configurateur est indispensable ici.
Si l'objet n'est pas ajouté directement, mais les accessoires, par exemple, alors peu importe où il va, il apparaîtra même dans la sélection de l'assistant de planification.
Dans le contexte des objets faits maison, c'est même bien qu'en 1C une telle planification. Imaginez que ce soit comme RAUZ - intégral, testé, fonctionnel, autosuffisant. Beaucoup d'entre nous ont risqué notre vie en ajoutant un tout nouveau document à la circulation des marchandises, et en l'incluant dans toutes les chaînes du RAUZ? Ou a-t-il ajouté des détails à la nomenclature, ce qui affecterait la décision de la SLAU? Et le planning n'est pas comme ça - peu importe pour lui où vous l'avez ajouté, ça passera quand même.
Résumé
Avant, j'entendais souvent la phrase selon laquelle la planification est un processus unique pour chaque entreprise, et il est impossible de produire une solution standard pour toutes ses options.
Après cette phrase, j'ai aimé planifier en tant que classe de tâches.
D'une part, l'expression sauve 1C (et tout développeur en général) de la nécessité de faire une solution standard.
D'un autre côté, la phrase inspire l'intrus - allez, agissez, il n'y a pas de lois, de règles, de bonnes et de mauvaises décisions dans ce domaine! Faites-le!
J'ai travaillé plusieurs années, probablement toi aussi. Quelque chose s'est avéré, quelque chose pas, quelque part sur le chemin, il y avait des systèmes de planification et de sauvegarde monstrueux, des rapports sauvages avec des paramètres et des algorithmes illisibles que je ne peux moi-même comprendre maintenant.
Et tout cela à cause de cette phrase. Créez, créez à chaque fois, car il n'y a pas de solution standard.
Ensuite, il s'est seulement rendu compte que la phrase était incorrecte, non dite, quelque chose manquait en elle.
Il n'y a pas de solution standard pour le
client . Ou d'une autre manière - il n'y a pas de solution en boîte pour l'
utilisateur . Il n'y a pas de programme de ce type dans le monde où l'utilisateur fait sa propre planification. Il y a un programme où l'utilisateur fera la comptabilité lui-même. La comptabilité le saura tous.
Mais ils ne sont pas riches en implémentations uniques, il y a aussi des programmeurs 1C. L'utilisateur - il sait seulement appuyer sur les boutons, et même alors il se trompe tout le temps. Le programmeur, il écrit le code, il connaît le schéma de mise en page et le schéma de stockage des données, et voit les métadonnées, et l'objectif de planification sait, et les processus savent ... Comprenez-vous?
Il n'y a pas de solution standard à la tâche de planification pour l'utilisateur, mais pour le programmeur.
Il doit y avoir une solution de tâche de planification typique pour le programmeur . Outil
- avoir un certain niveau d'abstraction (mais pas en tant que configurateur, bien sûr);
- résout les algorithmes de base de la planification des tâches afin de ne pas s'en soucier à chaque mise en œuvre;
- capable d'utiliser toutes les données système nécessaires à des fins de planification;
- qui, pour la configuration, ne nécessite pas de programmation, mais ne glisse pas non plus dans une vulgarité similaire.
En général, vous avez besoin d'un outil créé par des programmeurs pour des programmeurs.
L'analogie claire la plus proche est
la conversion de données . Ce n'est pas un outil très simple, mais pas complexe, qui résout un domaine de tâches spécifique et compréhensible - l'échange de données - et contient toutes les fonctions nécessaires pour résoudre avec succès ce problème.
La conversion répond presque entièrement aux critères que j'ai présentés au système de planification:
- a un certain niveau d'abstraction (ne sait rien des métadonnées, sait travailler avec différentes plateformes, sait tout transférer ou en morceaux, etc.);
- résout les algorithmes de base des problèmes de transfert de données afin de ne pas s'en soucier à chaque implémentation;
- capable d'utiliser toutes les données système nécessaires à des fins de transfert;
- il ne nécessite pas de programmation * pour être configuré, mais il ne glisse pas non plus dans une similitude vulgaire.
* - Ce n'est pas vrai ici, la programmation en conversion est généralement nécessaire. Mais il existe de nombreux exemples quand cela n'est pas nécessaire.
De mon point de vue et dans le contexte de l'article, la conversion de données est un exemple presque parfait d'une solution typique pour un programmeur. La conversion n'essaie même pas de prétendre que c'est pour l'utilisateur, elle n'a donc pas à porter sur l'utilisabilité, une approche de processus, des paramètres pratiques, nécessite une organisation de données spéciale et d'autres solutions de ballast pour l'utilisateur.
Un autre mérite à mentionner est la
budgétisation dans SCP . Il s'agit d'un système qui vous permet de collecter toutes les données du système à l'aide de requêtes et de créer une planification budgétaire à partir de celles-ci. Cela ne fonctionne généralement pas dès la sortie de l'emballage, mais si vous mettez le programmeur derrière la configuration, vous pouvez obtenir un résultat positif assez rapidement.
Je vais poursuivre avec un outil que je pensais personnellement avoir raison -
ERP Monitor . Le but de l'outil est multiforme, mais en même temps très simple - donner des informations sur l'entreprise de la bonne manière. L'essentiel - dans le moniteur ERP, vous pouvez écrire des schémas de configuration, définir vos propres indicateurs, les règles de calcul et de contrôle. Bien sûr, l'utilisateur ne le fera pas, bien qu'une tentative ait été faite pour créer l'interface de configuration pour l'utilisateur - il existe des indicateurs, des stratégies et des objectifs prédéterminés. Plantez le programmeur avec l'énoncé correct du problème - il créera un système de contrôle intelligent pour l'entreprise.
Maintenant, en fait, la
question principale : où est l'outil de configuration de la planification et du calcul de la sécurité, similaire dans sa flexibilité et ses capacités à la conversion de données, la budgétisation et le moniteur ERP?
Configurations 1C typiques - elles, comme, pour "comptabilité et gestion". La base de la gestion est le plan et le contrôle. Le contrôle, à tout le moins, peut être construit. Construire une planification correcte et moderne, capable de répondre rapidement aux changements environnementaux, en tenant compte des particularités de l'approche comptable russe, est presque impossible.
C'est pourquoi le rouleau dans l'expression "comptabilité et gestion" sur le premier mot. Et je veux un équilibre, une chose découle de l'autre.
Tout ce qui précède est bien sûr l'opinion personnelle de l'auteur.
PS Eh bien, je vais me demander, c'est très intéressant, peut-être vous savez - et qui a pris les décisions, comment faire le bon outil dans SCP ou ERP, et lequel a tort? Pourquoi la budgétisation est bonne et la planification est mauvaise.