{}const=>[]async()letfn</>var
Développement1C

Comment écrire des extensions pour 1C correctement : un guide complet pour les débutants

Vous avez mis à jour 1C et tout est cassé ? Arrêtez de souffrir ! Les extensions sauveront votre développement. Un guide complet pour ceux qui veulent modifier 1C de manière humaine, sans béquilles et sans danser avec un tambourin.

К

Kodik

Auteur

8 min de lecture

🎯 Ce que vous apprendrez de cet article :

  • Pourquoi avez-vous besoin d'extensions et comment fonctionnent-elles

  • Structure d'extension correcte

  • Travail avec les modules et les abonnements aux événements

  • Erreurs typiques des débutants et comment les éviter

  • Conseils pratiques pour l'optimisation et les tests

Les extensions 1C sont un outil puissant qui vous permet de modifier la configuration sans changer son code source. Si vous êtes un développeur 1C novice, comprendre la bonne approche pour créer des extensions vous évitera des mois de maux de tête et de remaniements. Voyons comment le faire correctement.

🔥 100 000+ étudiants déjà avec nous

Marre de lire la théorie ?
Il est temps de coder !

Kodik — une appli où tu apprends à coder par la pratique. Mentor IA, leçons interactives, projets réels.

🤖 IA 24/7
🎓 Certificats
💰 Gratuit
🚀 Commencer
Ont rejoint aujourd'hui

Pourquoi avez-vous besoin d'extensions ?

Imaginez : vous travaillez avec une configuration 1C typique, par exemple, « Gestion commerciale ». Le client demande d'ajouter un nouveau champ au document ou de modifier la logique de conduite. Auparavant, les développeurs éditaient simplement la configuration de base, mais lors de la mise à jour, toutes les modifications étaient perdues ou devaient être péniblement transférées manuellement.

Les extensions résolvent ce problème. Elles fonctionnent comme un add-on sur la configuration principale, sans toucher à son code. Vous avez mis à jour le modèle ? L'extension continue de fonctionner. Génial !

Principes de base pour travailler avec les extensions

Première règle : l'extension ne doit pas casser la fonctionnalité de base. Cela semble évident, mais de nombreux développeurs l'oublient. Pensez toujours que votre code fonctionnera au-dessus de la logique existante.

Le deuxième point important est que les extensions ont des limites. Vous ne pouvez pas supprimer des objets de la configuration, seulement en ajouter de nouveaux ou modifier ceux qui existent déjà d'une certaine manière. Ce n'est pas un bug, c'est une fonctionnalité - c'est ainsi que la plateforme protège l'intégrité du système.

Structure de l'extension

L'extension est créée dans le configurateur via le menu « Configuration → Extensions de configuration ». Après la création, vous verrez un arbre d'objets familier, mais avec une différence importante : ici, vous ne pouvez qu'ajouter et développer, mais pas supprimer.

Une structure d'extension typique comprend des modules communs pour votre logique métier, des formulaires pour l'interface, un traitement pour des tâches spécifiques. Vous pouvez ajouter de nouveaux répertoires, documents, registres - tout ce dont vous avez besoin pour résoudre le problème.

Ajout correct des détails

Supposons que vous devez ajouter le champ « Numéro de contrat avec le fournisseur » dans le document « Réception de marchandises ». Dans l'extension, trouvez ce document, ajoutez les détails. Important : donnez des noms significatifs avec un préfixe qui indique l'appartenance à l'extension, par exemple, « Доп_НомерДоговораПоставщика ».

Exemple de dénomination des détails :
❌ Mauvais : Numéro de contrat
✅ Bien : Numéro de contrat fournisseur supplémentaire

Après avoir ajouté les détails, il faut les placer sur le formulaire. Développez le formulaire du document, ajoutez un nouvel élément, associez-le aux détails. La plateforme combinera automatiquement votre formulaire étendu avec le formulaire de base.

Travail avec les modules

C'est là que la magie commence. Vous pouvez étendre les modules d'objets en ajoutant votre logique aux événements. Un exemple classique est le traitement de l'événement « Lors de l'enregistrement » d'un document.

La configuration de base a déjà un gestionnaire pour cet événement. Dans l'extension, vous créez votre propre gestionnaire, et la plateforme exécutera les deux — d'abord le gestionnaire de base, puis le vôtre. Cela vous permet d'ajouter des contrôles, des calculs supplémentaires, d'envoyer des notifications, tout ce que vous voulez, sans toucher au code source.

Point important : l'extension voit tout de la configuration de base, mais la configuration de base ne connaît pas l'extension. Par conséquent, si vous avez besoin que le code de base utilise votre logique, vous devez utiliser les mécanismes d'abonnement aux événements.

Abonnements aux événements

Les abonnements sont un moyen élégant d'implémenter votre logique dans le code de quelqu'un d'autre sans le modifier. Créez un gestionnaire d'abonnement à un événement, par exemple, « AvantEnregistrement » du document requis, et écrivez-y votre code. Le système appellera automatiquement votre gestionnaire au bon moment.

Les abonnements fonctionnent au niveau de la plate-forme, donc ils fonctionnent toujours, peu importe d'où provient l'enregistrement : à partir d'un formulaire, d'un traitement externe, via un service Web. Cela garantit que votre logique ne sera pas contournée.

Modules communs dans les extensions

Déplacez le code réutilisable vers les modules d'extension partagés. Si vous avez besoin d'une fonction à plusieurs endroits, ne dupliquez pas le code, créez un module commun avec un préfixe d'extension.

Par exemple, créez un module « Доп_РаботаСДоговорами » avec la fonction « ПолучитьДанныеДоговора() ». Ce module peut être appelé depuis n'importe quel endroit de votre extension, et le code restera propre et pris en charge.

Utilisation des formulaires

L'extension des formulaires est un art subtil. Vous pouvez ajouter des éléments, modifier leurs propriétés, ajouter des gestionnaires de commandes. Mais rappelez-vous : la forme de l'extension est superposée à la base, et si vous créez un élément avec le même nom que dans la base, vous obtiendrez un conflit.

Conseil pratique : utilisez des noms d'éléments uniques et significatifs. Au lieu de « Bouton1 », appelez « Bouton_SupplémentaireEnvoyerAuFournisseur ». Oui, c'est plus long, mais dans six mois, vous vous remercierez.

Test des extensions

Avant l'implémentation, assurez-vous de tester l'extension sur une copie de la base de combat. Vérifiez non seulement les nouvelles fonctionnalités, mais aussi que rien n'est cassé dans la base. Essayez de désactiver l'extension, tout devrait fonctionner comme avant.

Portez une attention particulière aux performances. Les extensions sont exécutées après le code de base, et si vous avez ajouté des requêtes lourdes au gestionnaire d'enregistrement d'un document populaire, les utilisateurs le ressentiront.

Contrôle de version et documentation

Conservez un journal des modifications de l'extension. Quand, un an plus tard, on vous demandera de « corriger quelque chose », vous vous remercierez d'avoir pris des notes sur ce qui a été fait et pourquoi.

Commentez les solutions non standard directement dans le code. « C'est fait ici, car sinon il y a un conflit avec le sous-système comptable » — une telle ligne permettra d'économiser des heures de litige à l'avenir.

Erreurs typiques des débutants

Erreur n° 1 : Tentative de réécriture de la moitié de la configuration dans l'extension. L'extension doit résoudre un problème spécifique et non être une configuration alternative.

La deuxième erreur courante est d'ignorer les limites de la plateforme. Si l'extension ne vous permet pas de faire quelque chose, alors vous devez chercher une autre approche, et non essayer de tromper le système avec des béquilles.

La troisième erreur est le manque de gestion des erreurs. Votre code fonctionne au-dessus de celui de quelqu'un d'autre, et si quelque chose ne va pas, vous devez le traiter correctement, et non laisser tomber l'ensemble du système.

Conseils pratiques

  • Utilisez des préfixes pour tous les objets d'extension. Cela évitera les conflits de noms et montrera immédiatement ce qui se rapporte à votre code.

  • Ne surchargez pas l'extension. Il est préférable de créer plusieurs petites extensions ciblées qu'une seule énorme « pour toutes les occasions ».

  • Étudiez les extensions des autres. Si vous travaillez avec une configuration standard, regardez ce que les autres développeurs ont fait : c'est une mine d'expérience et de solutions.

Productivité

N'oubliez pas que le code d'extension est ajouté à l'exécution de la configuration de base. Optimisez les requêtes, évitez les cycles inutiles, mettez en cache les données lorsque cela est possible. Chaque milliseconde compte, surtout dans les documents qui sont traités en masse.

Si votre logique n'est pas toujours nécessaire, ajoutez des vérifications de condition au tout début du gestionnaire. Pourquoi exécuter un code lourd si vous pouvez immédiatement comprendre qu'il n'est pas nécessaire ?

Mise à jour de la configuration

C'est le moment de vérité pour toute extension. Après la mise à jour de la configuration standard, vérifiez que tout fonctionne. La configuration de base peut avoir changé et votre extension doit être adaptée.

Important ! Avant de mettre à jour, faites toujours une copie de sauvegarde et testez-la sur une base de données séparée. C'est l'alphabet, mais beaucoup négligent et ensuite restaurent le travail en mode d'urgence.

Sécurité

N'oubliez pas les droits d'accès. Si vous avez ajouté un nouveau rapport ou une nouvelle manipulation, définissez les rôles correctement. Ne donnez pas à tout le monde les droits sur tout : non seulement ce n'est pas sûr, mais cela crée également du chaos dans les interfaces utilisateur.


Travailler avec les extensions 1C est une compétence qui vient avec la pratique. Commencez par des tâches simples, compliquez-les progressivement, étudiez la documentation de la plateforme. L'essentiel est de comprendre la philosophie des extensions : compléter, pas casser.

Vous pouvez explorer les extensions 1C et bien plus encore dans Codique — notre plateforme éducative pour les développeurs. Nous proposons des cours structurés, des exercices pratiques et un soutien à chaque étape de la formation.

Et nous avons aussi un super chaîne Telegram avec une communauté amicale où des développeurs expérimentés partagent leur expérience et aident les débutants à comprendre des problèmes complexes.

🎯Arrête de reporter

Tu as aimé l'article ?
Place à la pratique !

Avec Kodik, tu ne lis pas seulement — tu codes immédiatement. Théorie + pratique = vraies compétences.

Pratique instantanée
🧠L'IA explique le code
🏆Certificat

Sans inscription • Sans carte