Exemple de processus métier 1c. Nous créons un processus métier en quelques étapes. Qu'y a-t-il en pratique

  • 27.11.2019

Mécanisme des processus métier "1C:Enterprise 8"

Andreï Kolesov


La gestion des processus métier (BPM) est un terme bien connu des professionnels de l'informatique, mais qui a en même temps une certaine touche de mystère et d'inaccessibilité pour les utilisateurs "ordinaires". En effet, presque tous les principaux éditeurs de plateformes et de logiciels métiers annoncent depuis longtemps et régulièrement leurs réalisations dans le domaine du BPM, mais en même temps, ils donnent parfois des significations différentes à ce concept, en se concentrant sur les spécificités de leurs propres technologies proposées. En fait, l'idée générale de BMP est assez simple - l'utilisation d'un modèle de processus pour gérer une organisation, lorsque les opérations commerciales individuelles sont liées en chaînes. Cette approche est mise en œuvre sur la base méthodologique du concept de Workflow (gestion du workflow), mais uniquement dans son sens large. Si dans le Workflow classique l'accent est mis sur les documents, alors BMP relie les documents (informations), les personnes et les applications (outils de traitement de l'information).

Le moteur de processus métier (BPM) est apparu dans le cadre de 1C: Enterprise au début de 2005, et on peut affirmer qu'il s'agit d'une innovation très prometteuse et utile de la plate-forme. Son essence est l'automatisation des chaînes opérations connexes visant à atteindre un objectif commun, généralement dans le cadre de structure organisationnelle définir les rôles fonctionnels et les relations. L'automatisation des processus métier améliore la qualité de l'organisation du travail et l'efficacité de la gestion.

Amelioration de la qualite. Les processus métier formulent et mettent en œuvre les règles d'exécution des opérations individuelles et de leur relation, ce qui peut réduire considérablement, voire éliminer complètement les erreurs causées par le facteur humain du processus métier. Une simple liste de tâches permet aux employés de se concentrer sur leurs responsabilités immédiates.

Améliorer l'efficacité. Avec l'aide de l'IBP, il est possible de formaliser les activités organisationnelles et d'attribuer des fonctions de gestion travail conjoint employés à une solution d'application, ce qui conduit à une utilisation plus efficace du temps de travail.

Offrir de nouvelles opportunités. Les données sur l'accomplissement des tâches et sur l'avancement des processus métier peuvent servir de base pour optimiser la structure organisationnelle d'une entreprise, identifier les goulots d'étranglement et les ressources cachées. Ainsi, la méthodologie de gestion des processus est pleinement mise en œuvre.

En général, l'utilisation de l'IBP dans les solutions appliquées permettra aux entreprises, y compris les petites, de passer du modèle de gestion fonctionnelle traditionnel à un schéma moderne axé sur les processus, améliorant qualitativement leurs activités grâce à la réingénierie et à l'automatisation des processus commerciaux.

Comprendre le moteur de processus métier

Les processus métier dans 1C: Enterprise sont nécessaires pour combiner des opérations individuelles (émission d'une facture, acceptation de paiements en espèces, distribution de marchandises à partir d'un entrepôt, etc.) en chaînes d'actions interdépendantes menant à la réalisation d'un objectif spécifique (par exemple, vendre des marchandises en espèces). La participation des employés au cycle de vie d'un processus métier est réalisée par un routage basé sur les rôles.

L'IBP est fourni par plusieurs objets de configuration à la fois : processus métier, tâches, registre d'informations et paramètre de session. En règle générale, les types de tâches traitant des détails et des dimensions du registre d'informations sont attribués par des liens vers les répertoires correspondants, par conséquent, des répertoires sont ajoutés aux quatre types énumérés ci-dessus.

Les principaux objets de l'IBP sont les processus métier et les tâches. Ils utilisent les uns les autres et trois autres objets auxiliaires - paramètre de session, registre d'informations et répertoires. Les objets auxiliaires ne s'utilisent pas les uns les autres, ni les objets principaux.

La tâche est conçue pour rendre compte des tâches et décrit comment elles sont réparties entre les exécutants, en tenant compte de la structure organisationnelle de l'entreprise. L'adressage des tâches aux employés est déterminé par des détails dans lesquels un routage multidimensionnel basé sur les rôles peut être fourni, par exemple, par des rôles, des groupes de travail, des divisions, des locaux, des succursales, etc. Dans ce cas, les tâches peuvent être créées non seulement par des processus métier, mais aussi par d'autres objets base d'informations et directement par les utilisateurs. De plus, dans cas général l'exécuteur de la tâche peut être non seulement un employé, mais également tout système externe, par exemple un autre système comptable.

La notion de tâche ne définit en fait que l'interface d'interaction d'un processus métier avec une tâche, dont l'exécution peut, dans le cas général, être sans rapport avec la réalisation d'opérations dans le système lui-même. Par exemple, un processus métier au cours de son exécution peut nécessiter la coordination d'un problème avec le chef d'entreprise. La tâche ainsi formulée sera, par exemple, adressée au secrétaire, qui la résoudra par tous les moyens à sa disposition : e-mail, par téléphone, etc. La tâche sera considérée comme terminée lorsque le système recevra des informations sur l'obtention de l'approbation requise.

L'objet "Processus métier" décrit la logique d'exécution des opérations pour atteindre un objectif particulier et gère le cycle de vie des processus métier créés (leurs instances) du moment du démarrage au moment de l'achèvement. La logique du processus métier (relation et séquence de waypoints de contournement, sauts conditionnels, etc.) est clairement décrite sous la forme d'une feuille de route, ce qui permet de décrire visuellement le parcours d'un processus métier sous la forme d'un graphe connexe et facilite la description des algorithmes de saut conditionnel et la réaction d'un processus métier à divers événements.

Les opérations effectuées au cours d'un processus métier sont représentées sur la feuille de route par des points d'action qui contiennent des informations sur qui doit faire quoi à ce stade. L'entrepreneur peut être déterminé personnellement (Ivanov) ou en tenant compte du routage basé sur les rôles ("Storekeeper", "Head of Sales Department"). Lorsqu'un processus métier se déplace vers un point d'action, il génère automatiquement des tâches en y définissant les détails d'adressage fournis. Une fois que l'intervenant a marqué la tâche comme terminée, le processus métier passe automatiquement à point suivant itinéraire selon la carte.

Au point d'action, il est également possible d'attribuer des tâches de groupe et collectives. Dans le premier cas, l'action doit être effectuée par tous les membres du groupe - par exemple, lorsque tous les responsables doivent soumettre un rapport mensuel. Dans le second cas, un seul des membres du groupe doit effectuer l'action (par exemple, approuver un document de l'un des cadres supérieurs). Au point d'action, vous pouvez décrire le contrôle conditions nécessaires l'exécution de la tâche, un dialogue interactif avec l'utilisateur lorsqu'il avance dans le parcours et précise, par exemple, quels documents doivent être ouverts lors de l'activation des tâches associées à ce point de route du processus métier.

L'IBP permet plusieurs types de routage.

Rigide. Le processus métier a une carte qui ne contient pas de transitions conditionnelles et parallèles avec des destinations définies de manière rigide pour chaque point de routage. Le rejet de tels processus commerciaux n'est pas autorisé.

libre. Les destinations des points de mappe de route de processus métier ne sont pas définies et sont déterminées par programme ou de manière interactive pendant le cycle de vie du processus métier.

Conditionnel. La feuille de route prévoit de vérifier les conditions et de suivre les embranchements appropriés. Les transitions peuvent être binaires (condition) ou multiples (sélection d'option)

Parallèle. La feuille de route prévoit la division du processus métier en branches parallèles avec possibilité de fusion ultérieure (attente). La promotion du processus métier le long de chacune des branches parallèles se produit indépendamment, à mesure que les tâches correspondantes sont terminées.

En règle générale, tous ces types de routage se trouvent dans de véritables cartes de processus métier.

Le concept clé du mécanisme de processus métier et des tâches dans 1C: Enterprise est le système d'adressage, qui offre la possibilité non seulement d'un adressage personnel, mais également basé sur les rôles, des tâches aux participants aux processus métier.

Le routage des rôles vous permet d'attribuer des tâches non seulement à des exécuteurs spécifiques, mais également à des rôles, des groupes, des services, etc., tels que définis dans la solution d'application. Il est construit sur l'interaction des objets « tâche » et « registre d'informations ». Le premier définit la composition des détails d'adressage (rôles, divisions, etc.), et le second reflète les informations actuelles, c'est-à-dire pertinentes pour le moment actuel, sur les employés appartenant aux rôles, divisions, groupes de travail, etc.

Le registre d'information peut être utilisé pour mettre en place des mécanismes de remplacement ou de prise en compte de l'absence des salariés. Par exemple, s'il indique qu'Ivanov joue le rôle de chef comptable et qu'Ivanov part en vacances et que ses fonctions sont transférées à Petrov, l'entrée dans le registre d'informations est modifiée de sorte que Petrov joue le rôle de chef comptable. Au retour de vacances d'Ivanov, les informations pertinentes sont restaurées.

En résumant ce qui précède, nous pouvons affirmer que le mécanisme des processus métier comprend les principaux composants suivants :

  • système multidimensionnel d'adressage des tâches aux exécutants (rôles, départements, organisations, groupes, etc.),
  • conception visuelle d'une cartographie des processus métier,
  • génération de tâches par les exécutants,
  • routage des rôles,
  • transition à travers les points de cheminement conformément à la carte des processus métier.

La logique générale d'exécution des processus métier ressemble à ceci :

  • les processus métier forment des tâches en définissant les valeurs requises dans leurs détails d'adressage (rôles, groupes, départements) ;
  • les interprètes finaux sont définis à l'aide d'une "matrice de déréférencement", qui, par exemple, associe les utilisateurs aux rôles.

Développement et exécution

En principe, la programmation des processus métier dans 1C:Enterprise pourrait être effectuée plus tôt, mais uniquement au niveau du langage de programmation. Le nouveau mécanisme automatise cette procédure, offrant des outils de conception visuelle et la possibilité de personnaliser le programme en utilisant des méthodes de paramétrage et en minimisant (ou en éliminant) l'écriture manuelle du code du programme. Tout cela est maintenant mis en œuvre au niveau de la plate-forme, qui contient des objets de métadonnées et des mécanismes qui fournissent une mise en œuvre uniforme des processus métier dans les solutions appliquées.

Dans l'article, nous utilisons souvent le terme "processus métier", bien que parfois cela signifie différentes choses. D'une part, il s'agit d'une description généralisée de la séquence d'actions lors de l'exécution de certaines tâches commerciales (par exemple, vendre un produit). Dans ce cas, une telle description est mise en œuvre sous la forme d'un certain programme (uniquement présenté non pas sous forme de codes, mais sous la forme d'une feuille de route), qui peut être conditionnellement appelé une solution commerciale privée. D'autre part, un processus métier est l'exécution d'actions spécifiques conformément à cette description (au service d'un client spécifique), c'est-à-dire l'exécution d'un programme préalablement écrit.

Selon la terminologie de "1C", dans le premier cas, nous utiliserons le terme "processus métier" (BP), dans le second - "instance d'un processus métier" (EBP). BP est créé par des développeurs et les utilisateurs effectuent leurs actions à l'aide d'EBP. Le développement du BP s'effectue dans le « Configurateur », l'exécution de la PEB s'effectue dans l'environnement des solutions appliquées (« 1C : Enterprise »).

Le configurateur 1C:Enterprise offre de nombreuses possibilités de création de processus métier dont la logique est spécifiée à l'aide de cartes de route. La particularité de l'implémentation du MBP (par rapport à certains mécanismes BMP d'autres éditeurs informatiques) est qu'en raison de la conception visuelle d'un processus métier, le développeur ne reçoit pas de programme avec le code source du langage interne (la plupart d'autres outils de conception visuelle génèrent un tel code). Avec un certain degré de simplification, on peut affirmer que le code source programme créé formé juste par une représentation visuelle de sa logique (carte de route), qui est complétée par des fragments séparés écrits dans le langage de programmation interne.

Ainsi, la feuille de route est simultanément adressée au système par une instruction d'exécution d'une séquence d'actions de processus métier, une description de la structure de ces actions sous une forme compréhensible pour l'utilisateur, et un moyen d'affichage de l'état actuel du processus métier. processus.

L'exécution des processus métier (pour être plus précis, des instances de processus métier) s'effectue dans l'environnement de la plateforme 1C:Enterprise. Dans ce cas, un processus métier peut être considéré comme un objet d'infobase tel qu'un document ou un élément d'annuaire. Le sien cycle de vie commence depuis le début (en appelant la méthode "start" ou en appuyant sur le bouton correspondant sous la forme d'un objet de processus métier) et se termine lorsque le point final est atteint (bien sûr, si toutes les tâches sont terminées).

Les tâches sont également des objets d'infobase ordinaires qui peuvent être générés à la fois par le mécanisme de processus métier et d'autres objets d'application, et même manuellement. La tâche a deux états - "terminé" et "non terminé". Si la tâche est formée dans le cadre d'un processus métier, après son achèvement, elle l'en informe, ce qui conduit le processus métier à avancer plus loin sur le parcours (si toutes les conditions nécessaires pour cela sont remplies).

Pour un utilisateur particulier, le fonctionnement du mécanisme de processus métier s'exprime uniquement dans le fait qu'il a affaire à une liste de tâches qu'il doit effectuer. Le magasinier, par exemple, ne doit pas penser à sa participation à certains processus, son travail consiste à libérer les marchandises lorsqu'il reçoit la tâche et à enregistrer cette opération dans le système.

Possibilités d'utilisation de MBP

Moteur de processus métier - composant plate-forme technologique, ce qui signifie que ses capacités peuvent devenir disponibles pour toutes les solutions d'application créées sur la base de 1C:Enterprise 8. En général, l'IBP vise à améliorer l'efficacité du développement et de la maintenance des solutions appliquées. Cependant, l'expérience de son application montre que l'imposition de processus métier au-dessus d'applications prêtes à l'emploi entraîne certaines difficultés : il faut souvent revoir les décisions de conception et refaire quelque chose. Bien sûr, cela n'est pas surprenant - de la même manière, l'automatisation d'une entreprise nécessite généralement une révision du schéma général de son fonctionnement. Pour une utilisation efficace du MBP, il est souhaitable que le modèle de gestion de processus soit initialement intégré à la solution appliquée.

La conception des processus métier en elle-même nécessite non seulement une connaissance des bases de la configuration 1C:Enterprise, mais également une bonne compréhension du domaine et des besoins spécifiques du client. En fait, l'IBP stimule l'implication de spécialistes d'un niveau qualitativement différent dans la conception et la configuration de systèmes applicatifs spécifiques - analystes commerciaux, consultants, ainsi que gestionnaires de clientèle. De plus, l'effet positif de l'IBE pour le client se manifeste même lorsqu'il n'est pas directement impliqué dans la conception des processus métier, mais applique uniquement des schémas développés par quelqu'un. La possibilité de décrire formellement les actions du système et de présenter leur structure sous une forme visuelle permet au client de mieux comprendre la logique de la solution, notamment en contrôlant l'exactitude de la tâche assignée au développeur.

Ainsi, nous parlons d'une autre direction clé dans le développement de solutions appliquées 1C: Enterprise - l'augmentation du niveau de leur gérabilité. L'utilisation de l'IBP permet de collecter des informations qualitativement différentes sur le fonctionnement du système de gestion d'entreprise, sur la base desquelles les responsables peuvent effectuer une analyse objective de l'efficacité du fonctionnement de l'organisation dans son ensemble et de ses employés individuels . Ce mécanisme vous permet de déplacer l'attention des tâches comptables vers la gestion de l'entreprise dans son ensemble.

Les développeurs et les utilisateurs peuvent en savoir plus sur le mécanisme de processus métier mis en œuvre dans 1C: Enterprise 8 à l'aide de la configuration de démonstration distribuée sur le disque Information Technology Support (ITS). Il existe plusieurs processus commerciaux simples ("Vente de marchandises", "Commande" et "Accord", etc.) qui présentent diverses options application pratique ce mécanisme.

Considérons les principales propriétés et le processus de création et de configuration du mécanisme des processus métier et des tâches dans le système 1C Enterprise 8.3 en utilisant l'exemple de résolution d'un problème de la certification "Spécialiste de la plate-forme 1C". Ce mécanisme est très souvent utilisé pour , il est donc important pour tout programmeur.

Les objets Processus métier et Tâches sont très étroitement liés. L'exécution d'une tâche est un mouvement le long du parcours d'un processus métier. Considérez plus en détail le processus de mise en œuvre des processus métier dans 1C.

Tâche Condition Spécialiste de la plateforme de processus métier

Employé Département Poste
Vasina Comptabilité La caissière
Mishina Comptabilité La caissière
Mishina Comptabilité Comptable
Krotov Comptabilité Comptable
Ivanov Comptabilité Ch. comptable
Onopko Service des achats Chef de département
Petrenko Service des achats Adjoint chef de département
Beldiev Service des achats Gestionnaire
Rakhimov Service des achats Gestionnaire
Mansurov Service des achats Gestionnaire
Joupikov Service des achats Magasinier
Sidorov Service des achats Magasinier
Galkine Département des ventes Gestionnaire
Palkin Département des ventes Gestionnaire

La première étape pour configurer le moteur de processus métier dans notre exemple consiste à créer de nouveaux objets Processus métier et Tâche :

La tâche, pourrait-on dire, est « subordonnée » au processus métier.

Processus métier traitant 1C 8.3

Dans les tâches de l'onglet Adressage, vous devez définir les principaux paramètres du mécanisme de processus métier : Adressage, Attribut d'adressage principal, Exécuteur courant. Et remplissez également les détails de l'adresse.

Dans le champ Adressage le registre d'informations est défini, à l'aide duquel l'adressage sera configuré. Dans notre exemple, il s'agit d'un registre d'informations avec des dimensions : Performer, Department, Position.

Obtenez gratuitement 267 leçons vidéo 1C :

Dans le champ Attribut d'adressage de base vous devez spécifier l'attribut principal pour l'adressage - la coupe principale pour terminer la tâche.

Artiste actuel - un champ qui spécifie le paramètre Session par lequel l'exécuteur actuel sera déterminé. Vous pouvez en savoir plus à ce sujet dans l'article Options de session.

Pour un exemple de test, vous devez créer plusieurs éléments prédéfinis de l'annuaire : services, postes, individus.

Carte de routage des processus métier

L'étape suivante pour configurer un processus métier consiste à générer une carte des processus métier :

Considérez la formation d'un processus commercial basé sur le processus d'achat de biens:

  1. le service achats lance le processus métier ;
  2. après cela, la tâche revient au service "Comptabilité", où, selon la manière dont les marchandises seront payées, la tâche revient soit au caissier, soit au comptable ;
  3. après paiement, les marchandises doivent être attribuées à un utilisateur spécifique - Sidorov.

Les "rôles" des utilisateurs devant effectuer les tâches sont spécifiés dans la palette des propriétés de chaque point d'action :

Drapeau grouper signifie que tous les utilisateurs de ce groupe doivent terminer sa tâche.

Pour le bloc dans lequel le branchement se produit, vous devez définir un gestionnaire spécial dans les propriétés Condition Check :

Procédure ConditionCheckConditions(RoutePointBusinessProcess, Result) Résultat = Paiement en espèces ; FinProcédure

Pour simplifier, supposons que le mode de paiement est spécifié dans la tâche : si le drapeau "paiement en espèces" est défini dans la tâche, alors le paiement passera par le caissier.

Création de formulaires de processus métier

La prochaine étape est la création de formulaires pour le futur processus métier. Pour plus de clarté, selon l'état du problème, il est nécessaire d'afficher la carte des processus métier sur le formulaire. Chaque carte de processus métier doit afficher l'étape actuelle.

Pour ce faire, créez un formulaire d'annuaire par défaut. Ajoutez ensuite un attribut de type "GraphicScheme" aux attributs du formulaire. Transférez cet accessoire au formulaire :

Et la dernière chose pour le formulaire est la procédure d'affichage du processus métier :

Procedure UpdateMap() BP = FormAttributeToValue("Object" ) ; Ce formulaire. Carte = BP. GetRouteMap() ; FinProcédure

Elle doit être effectuée lors de l'ouverture d'un élément de processus métier et affectée à la commande Mettre à jour la carte.

Formulaire de liste de tâches de processus métier

Le formulaire de liste de tâches par condition de tâche ne doit afficher que les tâches ouvertes de l'exécuteur actuel. C'est très facile à faire.

Créez simplement un formulaire de liste de tâches par défaut. Après cela, sélectionnez la table principale - Tâche. TâchesPar Intervenant. Ce paramètre vous permettra de spécifier la sélection par exécuteur de tâche :

Le deuxième paramètre de liste dynamique est défini dans les paramètres de liste, où vous devez spécifier le paramètre suivant pour afficher uniquement les tâches ouvertes :

Configuration de l'adressage en mode utilisateur 1C 8.2

La dernière étape, mais pas la dernière en importance, est le paramétrage de l'adressage en mode utilisateur dans le registre "Adresses".

Dans ce registre, il est nécessaire d'indiquer tous les participants au processus commercial et d'enregistrer les membres d'une unité, d'un poste, etc. en particulier :

C'est tout! La configuration des processus métier est prête !

La base de la comptabilité en 1C est l'opération de saisie d'un document par l'utilisateur. Un document établit une transaction commerciale qui a eu lieu (par exemple, trois fers ont été vendus).

La question est que dans la vie d'une organisation, il n'y a pas des opérations uniques, mais des chaînes entières opérations commerciales logiquement connectés, appelés processus métier 1C. Chaque opération individuelle de cette chaîne peut être effectuée par différents employés et contrôlée par d'autres.

Exemples de processus commerciaux 1C - passation d'une commande par l'acheteur avec paiement et expédition ultérieurs :

  • Prendre une commande (opératrice)
  • En attente de la réception des fonds (le paiement est téléchargé depuis le client de la banque dans le service comptable)
  • Formation de la collecte des commandes dans l'entrepôt (employés d'entrepôt)
  • Approbation de l'expédition (initiale)
  • Expédition (chargeurs).

Chacune de ces opérations peut être émise en 1C. Chacun est conçu par différents employés de différents départements.

  • Comment informer chaque utilisateur suivant qu'il est temps pour lui d'effectuer des actions dans ce processus métier 1C ?
  • Comment enchaîner les événements en une seule chaîne et la laisser à la postérité ?
  • Comment contrôler la chaîne du début à la fin et comprendre quand tout va bien ?

Processus métier 1C

Tout d'abord, comprenons les termes.

En affaires, un processus d'affaires signifie une chaîne organisée de transactions commerciales ou d'activités organisationnelles nécessaires pour accomplir une tâche entière.

En 1C, un processus métier désigne une chaîne organisée de points auxquels la plateforme 1C fournit automatiquement (options) :

  • Demander à l'utilisateur de faire quelque chose
  • Exécution d'un programme en langage 1C (par exemple, dans le cas où vous devez créer automatiquement un document)
  • Choisissez automatiquement le chemin que la chaîne empruntera ensuite, en fonction des conditions.

Les opérations commerciales (ou plutôt leur exécution) au cours du processus commercial 1C sont effectuées :

  • Soit les documents sont créés et postés automatiquement (partie exécutable du programme)
  • Ou par l'utilisateur manuellement lorsqu'il reçoit un tel fichier .

Processus métier 1C et tâches 1C

Nous avons discuté. Il s'agit d'un objet 1C, qui est un rappel informatif à l'utilisateur sur la nécessité d'effectuer une action.

Les processus métier et les tâches 1C sont fortement liés, car dans un cas simple, un processus métier 1C est une chaîne de telles tâches qui sont générées séquentiellement par différents utilisateurs.

Au démarrage, une tâche est générée pour le premier utilisateur. Il l'a marqué comme fait. Le système crée automatiquement une deuxième tâche pour un autre utilisateur. Etc.

Un processus métier 1C est associé à un type de tâche créé dans le configurateur. Pour spécifier le type de tâches qui seront générées, vous devez accéder au processus métier 1C dans le configurateur et spécifier la propriété Tâche dans l'onglet Principal.

Habituellement, un type de tâche est créé dans la configuration - universel et tous les processus métier 1C l'utilisent.

Cependant, il y a la difficulté suivante - différentes tâches nécessitent souvent différentes formes. Pour une tâche sur le formulaire, vous devez sélectionner des produits, pour une autre - des projets. Comment être?

À partir de là, ils trouvent la sortie suivante :

  • Dans la tâche créer un formulaire universel
  • Dans l'événement BeforeOpen() de cette fiche tâche :
    o Déterminer quel processus métier 1C est en cours d'exécution
    o Déterminer quel point du processus métier 1C est en cours d'exécution
    o Ouvrez le formulaire souhaité de ce processus métier 1C.

Feuille de route des processus métier 1C

Ainsi, le processus métier 1C consiste en une chaîne de points d'exécution. La chaîne de points est configurée sur la feuille de route du processus métier 1C. Pour ouvrir la feuille de route, vous devez cliquer avec le bouton droit sur le processus métier 1C et sélectionner l'élément de menu Ouvrir la feuille de route.

Pour créer un nouveau point, faites-le simplement glisser sur la carte d'itinéraire à partir du panneau spécial ci-dessous.

Types de points :


Début et fin du processus métier 1C

Un processus métier 1C peut être simplement créé et enregistré, tout comme un document non enregistré.

Pour démarrer l'exécution d'un processus métier 1C, vous devez le «démarrer» en exécutant la méthode Start () dans le programme ou en appuyant sur le bouton Démarrer en mode 1C Enterprise.

Une fois terminé, le processus métier 1C aura la case Terminé cochée.

Processus métier 1C et robots

Certains sont sceptiques quant aux processus métier 1C car ils sont construits sur la base de tâches - des rappels informatifs aux utilisateurs.

Ils disent - comment fonctionne un rappel d'une telle tâche - l'utilisateur l'a vu dans la liste et l'a fait, mais :

  • tout le monde aura la flemme de constater le fait de sa mise en place (ou ils l'oublieront)
  • peuvent cliquer pour terminer la tâche (pour les rapports), mais ne font rien eux-mêmes.

D'autres, parmi ces sceptiques, ont proposé des options pour la participation de robots aux processus métier 1C. Un robot en argot 1C est une tâche planifiée.

Une tâche planifiée est une tâche automatiquement planifiée par un serveur 1C ou un client 1C spécialement lancé. Il est important qu'il soit exécuté automatiquement, par lui-même.

Un tel robot peut être lancé selon un horaire avec une fréquence d'une fois par minute (une fois toutes les dix secondes) et des tâches peuvent également lui être adressées.

Cas d'utilisation:

  • Pour chaque tâche, cochez la case Groupe.
  • Former deux tâches
  • Adressez une tâche à l'utilisateur, l'autre au robot
  • Le robot vérifie toutes les N minutes la condition que la tâche a été accomplie (par exemple, le document a été saisi) et si c'est le cas, les deux tâches ont été accomplies, y compris pour l'utilisateur.

Un autre cas d'utilisation est lorsqu'il y a un point d'attente dans la chaîne. Par exemple, attendre le paiement d'une commande. Cette tâche peut être confiée à un robot qui la vérifie une fois par jour/heure et l'exécute lorsque le paiement est reçu.

Souvent, les tâches sont considérées comme un objet auxiliaire des processus métier. Cependant, il s'agit d'un objet complètement indépendant, doté de nombreuses propriétés. Bien exécutées, les tâches peuvent être un puissant mécanisme de planification et de gestion du temps. Cet article est conçu pour montrer un exemple de la connexion entre les tâches et les processus métier, pour affecter des tâches générées automatiquement à des exécuteurs spécifiques de processus métier. Auteur de l'article : GROOVY | Éditeurs : Assistant, Dobry
Dernière révision№13 du 04.06.06 | Récit
URL :

Mots clés : tâches, adressage, processus métier, point d'action, multidiffusion

Situation initiale.

Comme mentionné dans l'article décrit précédemment (), les propriétés d'adressage sont très importantes pour l'objet "Task". Dans cet article, je vais essayer de exemple simple montrent comment les règles d'adressage peuvent être appliquées dans le contexte de tâches créées par des points de routage de processus métier.

La structure originale des métadonnées est la suivante :
Annuaires : Interprètes, Départements. Les deux sans paramètres supplémentaires, sans hiérarchie et sans éléments prédéfinis.

Énumération de rôle avec deux valeurs : Superviseur et EmployéPrivé.

Paramètre de session "CurrentExecutor", type : DirectoryReference.Executors.

Registre d'informations "Addressing Rules" à trois dimensions : Performer (leader, valeurs vides interdites, type : DirectoryReference.Contributors), Department (non lead, valeurs vides interdites, type de valeur : DirectoryReference.Departments) et Role (non en tête, la valeur interdite en blanc n'est pas définie, type de valeur : EnumReference.Roles).

Tâche "BP Tasks" avec trois attributs d'adressage : Performer (attribut d'adressage principal, type : DirectoryLink.Performers), Department (type valeur : DirectoryLink.Departments) et Role (type valeur : EnumerationLink.Roles). Dans la propriété "Addressing", le registre d'informations "Addressing Rules" est spécifié, "Main Addressing Attribute" - "Executor", "CurrentExecutor" est un lien et non un paramètre de la session "CurrentExecutor".

La mise en place du mécanisme de tâche est classique. Pas un seul attribut supplémentaire de la tâche n'a été créé intentionnellement, puisque nous nous intéressons au travail des processus métier en conjonction avec les tâches.

Quelques mots sur les propriétés des processus métier

La feuille de route sert de description de l'algorithme de processus métier. Les points de cheminement d'une carte de route de processus métier se répartissent en deux catégories principales :

1. Waypoints qui génèrent des tâches. Lorsqu'un processus métier passe par ces points, des tâches sont créées et avant qu'elles ne soient terminées, le processus métier s'arrête.

2. Waypoints qui ne créent pas de tâches. Lorsqu'un processus métier passe par de tels points, une sorte de vérification et de traitement est généralement effectuée.
Dans les propriétés des waypoints qui créent des tâches, vous pouvez spécifier des paramètres d'adressage au stade de la configuration des tâches difficiles. Mais, en règle générale, il ne s'agit pas d'un interprète spécifique, mais uniquement de paramètres d'adressage indirects.

En règle générale, les points de cheminement qui créent des tâches ont la capacité de décrire les événements d'interaction de l'utilisateur. Les waypoints qui ne créent pas de tâches n'ont pas de tels événements (!).
Une des propriétés d'un processus métier (BP) est la connexion avec l'objet "Tâche" dans lequel sont créées les tâches des points de route de ce BP.

Plusieurs tiers peuvent être associés à un même objet "Tâche".

Qu'y a-t-il en pratique

Créons un simple BP. Eh bien, par exemple, BP Audit interne entreprises.

La carte des flux de processus d'affaires comprendra trois points d'action. Ce sont les principaux points de la feuille de route des processus métier. Ces points créent des tâches et ont des événements interactifs.

En plus des points d'action, tout processus métier doit inclure au moins un point de départ et un point final. Ces points ne créent pas de tâches, mais sont uniquement utilisés pour décrire les événements non interactifs "BeforeStart" et "OnFinish".

Mais nous nous intéressons maintenant principalement aux points d'action et aux tâches qu'ils créent.

Examinez en détail les propriétés de chacun des points d'action.

1. Démarrez la vérification. Outre le nom du point d'action, vous pouvez configurer l'adressage (l'adressage est un groupe de propriétés de point d'action). Malheureusement, il ne sera pas possible d'indiquer un contractant spécifique au stade de l'élaboration d'un processus métier, car il s'agit d'un élément du répertoire - une fois, et pour chaque processus métier, il peut apparemment y avoir une personne différente responsable de la réalisation d'un audit - deux. Cela n'a aucun sens d'attribuer des propriétés d'adressage indirect dans notre cas particulier, puisque l'initiateur de ce processus métier désignera lui-même une personne responsable (ce sera un attribut supplémentaire du processus métier). Comment affecter un exécuteur pour une tâche par un point d'action généré ? Assez simple. Vous devez intercepter l'événement de création de tâche avec ce point d'action. Cela peut être fait dans deux gestionnaires d'événements : "BeforeCreatingTasks" - ce gestionnaire d'événements est appelé lorsque les tâches n'ont pas encore été créées, vous pouvez créer nouvelles tâches et remplissez complètement leurs propriétés; "Lors de la création de tâches" - ici, les tâches sont déjà créées, elles peuvent être modifiées.

Dans notre cas, il est préférable d'utiliser le gestionnaire d'événements "Lors de la création de tâches", car il suffit de spécifier l'intervenant et il n'est pas nécessaire de modifier toutes les autres propriétés de la tâche.

Procédure StartAuditLors de la création de tâches (RoutepointBusinessProcess, FormedTasks, Échec) Pour chaque tâche du cycle FormedTasks Task.Executor = ResponsibleFor Conduct ; //ResponsibleForConducting - attribut BP. FinCycle ; FinProcédure

Question : Pourquoi faire du vélo ? La tâche n'est-elle pas en train de se former ? Mais personne ne le sait. Un point d'action peut former n'importe quel nombre de tâches.

À propos, si vous définissez la propriété "Completed" sur True dans l'événement "WhenCreatingTasks", la tâche sera terminée, mais le processus métier n'ira pas plus loin.

En principe, nous avons fait tout ce qui concerne le premier point d'action. Maintenant, la tâche formée par ce point sera affectée à un exécuteur spécifique spécifié dans l'attribut de processus métier.

2. Préparer la documentation de rapport. Dans les propriétés d'adressage de ce point d'action, définissez la valeur sur "Rôle" - Manager. Et le drapeau "Groupe".

Que va-t-il nous apporter ? Selon les règles d'adressage précisées dans le registre d'information, des tâches seront créées pour chaque exécuteur qui en est le gestionnaire. Étant donné que (éventuellement) plusieurs tâches seront créées, le waypoint ne sera considéré comme réussi que si toutes les tâches sont terminées.

En principe, le drapeau "Groupe" est chargé de créer un ensemble de tâches selon des règles d'adressage appropriées. Dans le cas où l'indicateur n'est pas défini, la tâche sera créée seule, mais elle apparaîtra pour tous les intervenants dans leur liste de tâches (plus à ce sujet ci-dessous).

Dans tous les cas, le comportement standard du système lors de la création de tâches peut être désactivé et vous pouvez décrire vos propres règles de création et d'affectation d'un exécuteur.

Mais voyons comment se comporte le mécanisme standard.

Pour vérification, vous devez initialiser le paramètre de session. Bien sûr, ce serait bien de le faire au démarrage du système, mais pour la commodité de vérifier le comportement des tâches, l'initialisation peut se faire sous la forme d'une liste du livre de référence "Exécuteurs". J'ai créé un formulaire de liste (sans modifier les paramètres que le concepteur de formulaire propose par défaut) et dans la barre d'action du formulaire j'ai décrit un nouveau bouton "Définir PS" (PS - paramètre de session). Voici la procédure associée à l'action de ce bouton :

Procédure SetPS(Button) Performer = FormElements.DirectoryList.CurrentData.Link; SessionParameters.CurrentArtist = Artiste ; Un avertissement(" Le paramètre de session est défini sur exécuteur" + Intervenant,60 ); FinProcédure

Dans le répertoire "Entrepreneurs", déjà en mode 1C: Enterprise, je vais entrer plusieurs utilisateurs.

Et remplissez le registre d'informations sur les règles d'adressage comme suit :


J'ai beaucoup de leaders :)

Il est temps de créer et de lancer un processus métier. Nous indiquerons Petrov comme responsable.

J'espère que le paramètre de session a été défini avant de démarrer le PSU, sinon un message apparaîtra indiquant qu'il n'est pas initialisé. En effet, au démarrage du BP, la première tâche est créée, et le système vérifie, par hasard, si l'exécuteur courant doit l'exécuter ? Pour ce faire, le système analyse la valeur du paramètre de session, et si l'intervenant correspond et que la tâche a un événement d'activation interactif décrit (plus à ce sujet plus tard), elle est exécutée.

Ainsi, le BP démarré, la première tâche aurait dû être créée avec l'exécuteur spécifié dans le BP.

Terminons la tâche. Selon les règles d'adressage, le deuxième point d'action devrait créer trois tâches :

Autrement dit, quel que soit le département dans lequel se trouve le responsable, une tâche est créée pour lui. C'est ainsi que les règles d'adressage s'appliquent aux tâches avec le drapeau "Groupe".

Je peux supposer que pour certains, au lieu de trois tâches, une a été créée sans exécuteur, uniquement avec le rôle spécifié "Manager". Cela est dû au fait que dans les propriétés de la tâche "Tâches BP" dans les détails d'adressage, il n'y a pas de correspondance avec la dimension du registre d'informations "Règles d'adressage".

Paradoxalement, mais à la fin de cet article nous analyserons la création la plus classique d'une tâche avec la désignation d'un exécuteur par adressage indirect des propriétés.

3. Traiter les documents. Il n'y a rien d'inhabituel dans ce point d'action. Dans les propriétés d'adressage, on ne peut pas préciser les signes d'adressage (du fait que les données du configurateur ne sont pas disponibles). Dans les détails du processus métier, nous allons créer deux nouvelles valeurs d'attribut, dans lesquelles et serviront de valeurs des paramètres d'adressage lors de la formation de la tâche.

Il n'y a pas de formulaire BP dans notre configuration, donc l'utilisateur aura automatiquement de nouvelles informations.
Décrivons, par analogie avec le premier point d'action, le remplissage des détails d'adressage dans l'événement "Lors de la création de tâches" :

Procédure ProcessDocumentsLors de la création de tâches (RoutepointBusinessProcess, GeneratedTasks, Refus) Pour chaque tâche du cycle GeneratedTasks Task.Department = Audit Department ; Tâche.Role = RôleAuditeur ; FinCycle ; FinProcédure

Pour une affectation visuelle des tâches, nous formerons un formulaire de liste. Dans le formulaire de liste, nous passerons au mode d'affichage des tâches "Par exécuteur". À ces fins, dans le panneau d'action du formulaire, nous allons créer un nouveau bouton "Par Interprète" avec la propriété "Marquer".

Dans le module formulaire, nous décrivons deux procédures.

Procedure By Executor(Button) Form Elements.Actions.Form.Buttons.By Executor.Label = NOT Form Elements.ActionsForm.Buttons.By Executor.Label; IfFormElements.FormActions.Buttons.By Assignee.Label ThenFormElements.TaskList.DisplayTasks = TaskListMode.By Assignee ; ElseFormElements.TaskList.TaskDisplay = TaskListMode.AllTasks ; Fin si; EndProcedure ProcedureOnOpen() Formulaire Elements.ActionsForm.Buttons.By Executor.Label = False ; FinProcédure

Autrement dit, lors de l'ouverture du formulaire, il s'ouvre avec toutes les tâches, et après avoir cliqué sur le nouveau bouton, seules les tâches qui correspondent à l'exécuteur actuel par leurs propriétés d'adressage restent dans le formulaire.

N'oubliez pas, lors de la vérification, de définir l'artiste courant dans le répertoire "Employés". Et bien sûr, lorsque vous cliquez à nouveau, le formulaire revient à son état d'origine.

La forme des tâches dans le mode d'affichage "Par exécuteur", en analysant le paramètre de session dans lequel l'exécuteur actuel est spécifié, et les règles d'adressage dans le registre d'informations, montre les tâches (actives !) qui sont affectées à l'exécuteur actuel en fonction de les règles d'adressage.

Vous pouvez maintenant vérifier. Pour vérifier, je présenterai un autre interprète "Kamensky", et dans le registre d'informations, je définirai une nouvelle règle d'adressage: Kamensky, service de réparation, employé ordinaire.
Dans le BP démarré, nous indiquons les valeurs des détails "Service d'audit" - Service de réparation et "Rôle d'auditeur" - un employé ordinaire.

Terminons les trois tâches qui ont été créées par le deuxième point d'action.

Pour le troisième point de routage, une tâche a été créée, sans spécifier d'exécuteur spécifique, mais avec deux détails d'adressage renseignés.

Selon les règles d'adressage définies dans le registre d'informations, la tâche créée doit être affichée en mode d'affichage "Par entrepreneur" pour deux employés : Kamensky et Sidorov. Pour Ivanov, malgré le fait que dans le registre d'informations, il est répertorié comme attaché au "Département de réparation", la tâche ne sera pas affichée, car le rôle ne respecte pas les règles d'adressage.

Vous pouvez spécifier un exécuteur spécifique, par exemple, lors de l'ouverture d'une tâche (celui qui l'a ouverte en premier et l'exécute) ou dans le but de stocker l'historique pendant l'exécution.

De plus, l'événement "On Execution" ("Before Execution") fonctionne non seulement pour la tâche, mais aussi pour le point de route qui l'a générée !

Dans notre exemple, je vais faire exactement cela. Je vais décrire l'événement "OnExecution" du point d'action "ProcessDocuments". L'événement se produit après l'événement du même nom dans la tâche elle-même.

Procédure ProcessDocumentsOnExecution(RoutepointBusinessProcess, Tâche, Refus) TaskObject = Task.GetObject(); TaskObject.Executor = SessionParameters.CurrentExecutor ; TaskObject.Write(); FinProcédure

Sur la base de ce qui a été décrit ci-dessus, nous pouvons arriver à la conclusion suivante.
Pour les points d'action, vous pouvez attribuer des paramètres d'adressage lors de la description de la route BP, mais uniquement si les valeurs d'adressage sont disponibles en mode "Configurateur" (détails de recherche prédéfinis, valeurs d'énumération, etc.).

Si, lors de la création d'une tâche par le point d'action, l'exécuteur ou d'autres paramètres d'adressage sont connus, vous pouvez les définir dans l'événement "Lors de la création de tâches" ou "Avant de créer des tâches", en vous concentrant sur les détails du partenaire ou d'autres données.

Les points de routage avec l'attribut "Groupe" créent autant de tâches que le nombre d'exécuteurs correspond aux règles d'adressage, et les règles d'adressage dans ce cas sont interprétées en fonction des valeurs d'adressage spécifiées au point de routage, les valeurs non spécifiées ne le sont pas pris en compte du tout.

Les waypoints sans le drapeau "Groupe" créent une tâche (sauf si le contraire est spécifié dans l'événement de point de route correspondant), l'adressage de ces tâches est standard.

C'est tout. J'espère que cet article aidera quelqu'un à comprendre la relation entre les tâches et les processus métier. L'exemple a été délibérément pris primitif, mais il révèle toutes les options standard possibles pour créer des tâches par points de processus métier.

Pavel Chistov alias GROOVY
Institut de technologie de soutien.
1C : Centre de formation certifié, Saint-Pétersbourg.
www.its-spb.ru
its(at)its-spb.ru

1C, 1C:Enterprise, 1C:Enterprise 8.0 sont des marques déposées de ZAO 1C, Moscou.
Toutes les captures d'écran, l'interface utilisateur et les fragments d'interface développeur présentés sont à titre informatif et ne sont en aucun cas destinés à générer un profit commercial. Aucune partie de ces images ne peut être reproduite sans le consentement du détenteur des droits d'auteur (CJSC "1C").

Dans la documentation officielle de la plateforme 1C:Enterprise 8.2 dans la section « 13.7. Fractionner et fusionner » Le comportement des processus métier aux points de fractionnement et de fusion est décrit comme suit :

« Pour diviser un processus métier en plusieurs branches exécutables parallèles (simultanément et indépendamment), un point de partage est utilisé. Le point de partage a une entrée et un nombre illimité de sorties.

Un point de fusion est utilisé pour synchroniser les branches précédemment scindées. Le processus métier ne sera pas exécuté au-delà du point de fusion tant que toutes les branches qu'il contient n'auront pas été traversées.

Je vais le démontrer en utilisant l'exemple d'une feuille de route simple (Fig. 1)

Au point de partage, des tâches sont créées dans chacune des branches (Fig. 2), puis chaque branche est exécutée en parallèle, et la tâche au point Action4 sera créé lorsque toutes les tâches de chaque branche seront terminées (Fig. 3)

Le système se comporte-t-il toujours comme ça ? Découvrons-le. Tout d'abord, prêtons attention à l'ordre dans lequel les tâches sont créées après le point de partage (Fig. 4)

Par le numéro de tâche, vous pouvez voir que la tâche a été créée en premier au point Action3. Maintenant, dans le module de processus métier pour ce point, nous décrirons le gestionnaire suivant lors de la création de tâches :

Procédure Action3Lors de la création de tâches(WaypointBusinessProcessus, Tâches moulables, Refus )

Pour chaque TaskObject De Tâches moulables Cycle

TaskObject . Pour effectuer la tâche();

FinCycle ;

FinProcédure

Un tel gestionnaire entraînera l'exécution immédiate de la tâche créée. Nous démarrons un nouveau processus métier avec une feuille de route illustrée à la figure 1. Et que verrons-nous ? Après avoir terminé la tâche Action3 la tâche a été créée Action4(Figure 5), malgré le fait que d'autres branches du processus ne sont pas encore terminées ! Pour ceux qui tentent de reproduire cette situation, je vous préviens : au lieu d'écrire un gestionnaire pour le point Action3, il peut être nécessaire d'écrire un gestionnaire d'auto-complétion de tâche pour le point Action1 ou Action2. Le point d'action, dont l'exécution automatique "casse" le schéma de processus, est exactement le point auquel la première tâche est créée après le point de partage. Ce qui détermine la séquence de création des tâches sera discuté ci-dessous.

Un tel comportement d'un schéma d'itinéraire simple ne peut en aucun cas être supposé, sur la base de la description donnée au début de l'article. Peut-être s'agit-il d'une sorte d'erreur d'affichage du schéma ? Non, c'est en fait ce qui se passe. Non seulement le processus métier s'exécute au-delà du point de fusion sans attendre la fin des tâches sur les branches parallèles, mais il recrée également les tâches aux points de routage suivant le point de fusion une fois les branches parallèles terminées. Nous regardons la liste des tâches pour notre processus et voyons 2 tâches chacune pour les points Action4 et Action5 (Fig. 8)

Ça dit quoi? En fait, cela signifie que lorsque la tâche est exécutée automatiquement Action3 nous obtiendrons le comportement du processus métier correspondant au schéma illustré à la figure 9, c'est-à-dire que le point de fusion est ignoré lors de l'exécution d'une branche. Mais ce n'est pas toujours vrai non plus. Si au point Action4 nous n'exécuterons pas la première des tâches créées, jusqu'à ce que la deuxième tâche apparaisse à la suite de l'exécution de branches parallèles au point de fusion, puis la tâche suivante au point Action5 ne sera créé qu'à l'exécution les deux tâchesà ce point Action4, c'est-à-dire que le processus métier, pour ainsi dire, corrige l'erreur précédente consistant à ignorer le point de fusion. De plus, selon le schéma de routage, une seule tâche sera créée. Pour ceux qui sont intéressés par ce comportement du processus métier, je vous suggère de le vérifier vous-même.

Prenons un autre exemple. Assumons le point Action3 n'est pas un point d'action, mais un point de processus imbriqué. Pour plus de simplicité, nous utilisons le schéma suivant d'un processus métier imbriqué (Fig. 10)

Si dans un événement Condition1VérifierConditions ne rien faire, un tel processus se termine immédiatement après le démarrage, sans créer une seule tâche. En pratique, cela peut se produire dans plus processus complexes, si le besoin d'exécuter des tâches de processus n'apparaît que lorsque certaines conditions sont remplies. Remplaçons le point Action3 par le point du processus métier imbriqué et obtenons le diagramme illustré à la figure 11.

Nous vérifions le travail d'un processus métier avec un processus imbriqué et nous nous assurons que le comportement est similaire. La figure 12 est un schéma du processus métier après le démarrage.

Ce comportement se produit-il toujours dans de tels circuits ? Essayons de comprendre. Notez que les tâches au point de partage sont créées dans l'ordre dans lequel les lignes ont été ajoutées au point de partage. Cela peut être vu si vous affichez les noms des lignes de connexion (Fig. 13).

Essayons d'échanger Line2 et Line4. Et enfin, lors du démarrage d'un nouveau processus, nous voyons le résultat attendu (Fig. 14)

Veuillez noter que les lignes nécessairement doivent être échangés. Si vous renommez simplement les lignes sortant du point de partage, le résultat restera le même. Une autre façon de résoudre le problème ci-dessus consiste à supprimer la connexion Line2, ajouter nouvelle connexion au point de partage et connectez-le au point de processus imbriqué.

Nous concluons:

Lors de l'exécution automatique d'une tâche associée à premier dans l'ordre d'addition diviser les lignes de points si après cette tâche le point de confluence suit immédiatement , ce point de fusion est ignoré et la tâche suivante selon le schéma d'itinéraire est créée. Si vous ne faites pas attention à la séquence des liens, vous pouvez obtenir un comportement différent du processus métier lors de la création de schémas apparemment identiques.

Cette dépendance doit également être prise en compte lors de la modification des schémas existants. Supposons que nous ayons décidé qu'au lieu d'une tâche au point Action1 de la figure 14, qui a commencé à fonctionner pour nous comme requis, il devrait y avoir un processus imbriqué qui, sous certaines conditions, peut être exécuté automatiquement selon la condition similaire à la figure 10. Alors , lorsque notre processus démarre, nous verrons une image familière en ignorant le point de fusion (Fig. 15)

En conclusion, je tiens à souligner que le comportement spécifié des processus métier a été remarqué sur la plate-forme 8.1 et continue d'apparaître sur les dernières versions de 8.2. Lors de la préparation de l'article, des tests ont été effectués sur la version 8.2.15.310 de la plateforme.