Ajout d'un traitement externe à la base de données. Comment créer un traitement externe pour une configuration type Détails d'un rapport externe 1c 8.3

Blogue 1C BONNE VOLONTÉ

Dans cet article, nous examinerons des instructions étape par étape pour créer un traitement externe dans 1C 8.3 en mode application gérée, respectivement, nous utiliserons des formulaires gérés. Et surtout, nous apprendrons comment le connecter au mécanisme de « traitement externe » des configurations 1C construit sur la bibliothèque de sous-systèmes standards version 2.0 et plus récente.

La tâche sera la suivante : créer le traitement externe le plus simple qui effectuera une action de groupe sur le référentiel « Nomenclature », à savoir fixer le pourcentage choisi du taux de TVA pour le groupe d'articles spécifié.

Activation du mécanisme de traitement externe dans le programme

Pour ce faire, nous effectuerons immédiatement les paramétrages nécessaires dans le programme (la configuration 1C 8.3 est considérée : « Enterprise Accounting 3.0 » sur les formulaires gérés).

Cocher cette case nous donne la possibilité d'utiliser un traitement externe.

Création d'un nouveau traitement externe dans 1C 8.3 par exemple

Passons maintenant au configurateur. Sélectionnez "Nouveau..." dans le menu "Fichier". Une fenêtre de sélection du type de fichier à créer s'ouvrira. Sélectionnez « Traitement externe » :

Une nouvelle fenêtre de traitement externe s'ouvrira. Donnons-lui un nom tout de suite. Il sera proposé lors de la sauvegarde du traitement sur disque :

Ajoutons un nouveau formulaire de traitement géré. Nous indiquons qu'il s'agit du formulaire de traitement, et c'est le principal :

Sur le formulaire, nous aurons deux accessoires :

Nous créons des détails dans la colonne "Props" dans la fenêtre supérieure droite. Faites-les glisser avec la souris vers la fenêtre supérieure gauche. Les nouveaux détails devraient apparaître immédiatement sur le formulaire ci-dessous.

La séquence des détails peut être modifiée avec les flèches "Haut" - "Bas" :

Il reste à ajouter le bouton "Installer". Dans les formulaires gérés, vous ne pouvez pas simplement ajouter un bouton à un formulaire. Même si vous l’ajoutez à la structure des éléments du formulaire, il ne sera pas visible sur le formulaire lui-même. Le bouton doit être associé à la commande qu'il va exécuter. Allez dans l’onglet « Commandes » et ajoutez la commande « SetVAT Rate ». Créez une action dans les propriétés de la commande. Sélectionnez le gestionnaire de commandes "Sur le client". Une commande peut également être ajoutée au formulaire en la faisant simplement glisser et en la déposant dans la section contenant les éléments du formulaire.

Une procédure du même nom sera créée dans le module formulaire. Dans celui-ci, nous appelons la procédure sur le serveur :

&AuClient

Procédure Définir le taux de TVA (commande)

SetVATRateOnServer();

Fin de la procédure

Dans la procédure sur le serveur, nous écrirons une petite requête et des actions liées au paramétrage du taux de TVA :

&Sur le serveur

Procédure SetVATRateOnServer()

Demande = Nouvelle demande ;

Demande.Texte =

| Nomenclature AS Nomenclature

| ET NON Nomenclature. Marque de suppression

| Et PAS la Nomenclature, c'est le Groupe » ;

Query.SetParameter("Groupe de nomenclature", Groupe de nomenclature);

RequestRes = Request.Execute();

SelectDetRecords = ResRequest.Select();

Tandis que la boucle SelectDetRecord.Next()

SprNomObject.Taux TVA = SelectVATRate ;

SprNo.Object.Write();

Exception

Report("Erreur d'écriture de l'objet """ + SprNoobObject + """ !

|» + DescriptionErreur());

Fin de la tentative ;

Fin du cycle ;

Fin de la procédure

On revient dans l'onglet "Formulaire", on ajoute un bouton au formulaire et on l'associe à la commande :

A ce titre, notre traitement est prêt à l’emploi. Pour l'appeler, en mode "1C Enterprise", vous devez vous rendre dans le menu "Fichier" - "Ouvrir" et sélectionner le fichier créé.

Cependant, travailler dans ce mode est pratique pour le traitement de débogage et n'est pas tout à fait adapté à l'utilisateur. Les utilisateurs sont habitués à avoir tout « à portée de main », c'est-à-dire dans la base de données elle-même.

Pour cela, la section « Rapports et traitements supplémentaires » est utilisée.

Mais pour y ajouter notre traitement, nous devons d'abord lui donner une description et indiquer au programme ses propriétés.

Description des détails du traitement externe

Je vais donner un exemple du contenu de cette fonction. Il doit être exportable et, à ce titre, situé dans le module de traitement :

Fonction DetailOnExternalProcessing() Exportation

DataForReg = Nouvelle Structure();

DataForReg.Insert("Nom", "Définition du taux de TVA");

DataForReg.Insert("SafeMode", True);

DataForReg.Insert("Version", "ver.: 1.001");

DataForReg.Insert("Information", "Traitement de fixation du taux de TVA dans le répertoire Nomenclature");

DataForReg.Insert("View", "AdditionalProcessing");

TabZnCommands = Nouvelles TableValues ;

TabZnCommands.Columns.Add("Identifiant");

TabZnCommands.Columns.Add("Utilisation");

TabZnCommands.Columns.Add("Vue");

NewLine = TabZnCommands.Add();

NewString.Identifier = "OpenProcessing";

NewLine.Usage = "FormOpen";

NewLine.View = "Traitement ouvert" ;

DataForReg.Insert("Commandes", TabZnCommands);

Renvoie DataForReg ;

Fonctions de fin

Pour mieux comprendre quels champs de la structure des données d'enregistrement vous devez utiliser, regardons les détails du répertoire « Rapports et traitements supplémentaires » :

Comme vous pouvez le constater, tout est assez simple. Un seul attribut ne correspond pas : « Option de lancement » - « Utilisation ». Si nous regardons le code de l'un des modules communs, nous verrons comment apparaissent un certain nombre de ces champs :

Pour déterminer quels champs de la structure sont requis, vous pouvez d'abord ne pas la décrire, simplement en créer un vide, puis utiliser le débogueur. Si vous suivez les modules lors de l'enregistrement du traitement, vous verrez immédiatement quels champs sont obligatoires et lesquels ne le sont pas.

Connexion du traitement externe dans 1C 8.3

Passons maintenant au mode « 1C Enterprise » et ajoutons des traitements externes :

Après avoir enregistré le traitement dans le répertoire, en appuyant sur le bouton "Exécuter", il s'ouvre pour exécution. Ici, vous pouvez également spécifier dans quelles sections (sous-systèmes) du programme ce traitement sera affiché et pour quels utilisateurs.

Enregistrement Comment créer un traitement externe dans 1C 8.3 (formulaires gérés) est apparu pour la première fois sur le blog 1C GOODWILL.

Dans cet article, nous examinerons des instructions étape par étape pour créer un traitement externe dans 1C 8.3 en mode application gérée, respectivement, nous utiliserons des formulaires gérés. Et surtout, nous apprendrons comment le connecter au mécanisme de « traitement externe » des configurations 1C construit sur la bibliothèque de sous-systèmes standards version 2.0 et plus récente.

La tâche sera la suivante : créer le traitement externe le plus simple qui effectuera une action de groupe sur le référentiel « Nomenclature », à savoir fixer le pourcentage choisi du taux de TVA pour le groupe d'articles spécifié.

Pour ce faire, nous effectuerons immédiatement les paramétrages nécessaires dans le programme (la configuration 1C 8.3 est considérée : « Enterprise Accounting 3.0 » sur les formulaires gérés).

Cocher cette case nous donne la possibilité d'utiliser un traitement externe.

Création d'un nouveau traitement externe dans 1C 8.3 par exemple

Passons maintenant au configurateur. Sélectionnez "Nouveau..." dans le menu "Fichier". Une fenêtre de sélection du type de fichier à créer s'ouvrira. Sélectionnez « Traitement externe » :

Une nouvelle fenêtre de traitement externe s'ouvrira. Donnons-lui un nom tout de suite. Il sera proposé lors de la sauvegarde du traitement sur disque :

Ajoutons un nouveau formulaire de traitement géré. Nous indiquons qu'il s'agit du formulaire de traitement et que c'est le principal :

Sur le formulaire, nous aurons deux accessoires :

  • Groupe Nomenclature - lien vers l'ouvrage de référence « Nomenclature » ;
  • SelectVAT Rate – un lien vers la liste du taux de TVA.

Nous créons des détails dans la colonne "Props" dans la fenêtre supérieure droite. Faites-les glisser avec la souris vers la fenêtre supérieure gauche. Les nouveaux détails devraient apparaître immédiatement sur le formulaire ci-dessous.

La séquence des détails peut être modifiée avec les flèches "Haut" - "Bas" :

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

Il reste à ajouter le bouton "Installer". Dans les formulaires gérés, vous ne pouvez pas simplement ajouter un bouton à un formulaire. Même si vous l’ajoutez à la structure des éléments du formulaire, il ne sera pas visible sur le formulaire lui-même. Le bouton doit être associé à la commande qu'il va exécuter. Allez dans l'onglet "Commandes" et ajoutez la commande "Définir le taux de TVA". Créez une action dans les propriétés de la commande. Sélectionnez le gestionnaire de commandes "Sur le client". Une commande peut également être ajoutée au formulaire en la faisant simplement glisser et en la déposant dans la section contenant les éléments du formulaire.

Une procédure du même nom sera créée dans le module formulaire. Dans celui-ci, nous appelons la procédure sur le serveur :

&AuClient

Procédure Définir le taux de TVA (commande)

SetVATRateOnServer();

Fin de la procédure

Dans la procédure sur le serveur, nous écrirons une petite requête et des actions liées au paramétrage du taux de TVA :

&Sur le serveur

Procédure SetVATRateOnServer()

Demande = Nouvelle demande ;
Demande.Texte =
"CHOISIR
| Nomenclature.Lien
| DE
| Nomenclature AS Nomenclature
|OÙ
| Nomenclature.Référence DANS LA HIÉRARCHIE (&Groupe de Nomenclature)
| ET NON Nomenclature. Marque de suppression
| Et PAS la Nomenclature, c'est le Groupe » ;

Query.SetParameter("Groupe de nomenclature", Groupe de nomenclature);
RequestRes = Request.Execute();
SelectDetRecords = ResRequest.Select();

Tandis que la boucle SelectDetRecord.Next()

Tentative
SprNo.Object.Write();
Exception
Report("Erreur d'écriture de l'objet """ + SprNoobObject + """ !
|» + DescriptionErreur());
Fin de la tentative ;

Fin du cycle ;

Fin de la procédure

On revient dans l'onglet "Formulaire", on ajoute un bouton au formulaire et on l'associe à la commande :

A ce titre, notre traitement est prêt à l’emploi. Pour l'appeler, en mode "1C Enterprise", vous devez vous rendre dans le menu "Fichier" - "Ouvrir" et sélectionner le fichier créé.

Cependant, travailler dans ce mode est pratique pour le traitement de débogage et n'est pas tout à fait adapté à l'utilisateur. Les utilisateurs sont habitués à avoir tout « à portée de main », c'est-à-dire dans la base de données elle-même.

Pour cela, la section « Rapports et traitements supplémentaires » est utilisée.

Mais pour y ajouter notre traitement, nous devons d'abord lui donner une description et indiquer au programme ses propriétés.

Description des détails du traitement externe

Je vais donner un exemple du contenu de cette fonction. Il doit être exportable et, à ce titre, situé dans le module de traitement :

Fonction DetailOnExternalProcessing() Exportation

DataForReg = Nouvelle Structure();
DataForReg.Insert("Nom", "Définition du taux de TVA");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Version", "ver.: 1.001");
DataForReg.Insert("Information", "Traitement de fixation du taux de TVA dans le répertoire Nomenclature");
DataForReg.Insert("View", "AdditionalProcessing");

TabZnCommands = Nouvelles TableValues ;
TabZnCommands.Columns.Add("Identifiant");
TabZnCommands.Columns.Add("Utilisation");
TabZnCommands.Columns.Add("Vue");

NewLine = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewLine.Usage = "FormOpen";
NewLine.View = "Traitement ouvert" ;
DataForReg.Insert("Commandes", TabZnCommands);

Renvoie DataForReg ;

Fonctions de fin

Pour mieux comprendre quels champs de la structure des données d'enregistrement vous devez utiliser, regardons les détails du répertoire « Rapports et traitements supplémentaires » :

Comme vous pouvez le constater, tout est assez simple. Un seul attribut ne correspond pas : « Option de lancement » - « Utilisation ». Si nous regardons le code de l'un des modules communs, nous verrons comment apparaissent un certain nombre de ces champs :

Pour déterminer quels champs de la structure sont requis, vous pouvez d'abord ne pas la décrire, simplement en créer un vide, puis utiliser le débogueur. Si vous suivez les modules lors de l'enregistrement du traitement, vous verrez immédiatement quels champs sont obligatoires et lesquels ne le sont pas.

Connexion du traitement externe dans 1C 8.3

Le traitement externe est un outil très pratique pour les entreprises utilisant des configurations standards sur 1C:Enterprise 8.3. Ils vous permettent de ne pas gaspiller d'énergie et d'argent dans les mises à jour 1C, permettant de mettre à jour les bases de données avec un seul bouton en mode utilisateur simple. Grâce au mécanisme de la bibliothèque de sous-systèmes standard, vous pouvez ajouter divers boutons aux documents et répertoires sans modifier la configuration standard. Prenons un exemple de création et de connexion de traitement externe dans l'une des configurations 1C.

Nous créons un traitement externe dans 1C 8.3

Pour créer un nouveau traitement externe, utilisez le configurateur. Via le menu "Fichier", sélectionnez la commande de création "Nouveau..." et déterminez que nous allons créer un traitement externe. Dans la fenêtre qui s'ouvre, définissez le nom, et lorsque vous appuyez sur "Entrée", il est automatiquement renseigné. De plus, ce nom vous sera proposé par le système comme nom de fichier lors de l'enregistrement.

Ajoutons un formulaire de traitement en cliquant sur le bouton loupe dans la fenêtre correspondante. Par exemple, créons un traitement qui montre quelles commandes clients utilisent un article particulier. Pour ce faire, nous devons placer sur le formulaire :

  • Requis - un champ pour définir la nomenclature ;
  • Le bouton qui appellera le code.

Nous ajoutons l'attribut "Nomenclature" avec le type de données "DirectoryReference.Nomenclature" dans la section correspondante et le bouton "Afficher" dans le menu "Commandes" -> "Commandes de formulaire".

Pour que les données ajoutées soient reflétées sur le formulaire, elles doivent être glissées vers les éléments du formulaire situés dans la partie supérieure gauche. Il est possible d'échanger des éléments à l'aide des flèches bleues. Pour que le bouton que nous avons créé fasse ce que nous souhaitions, nous devons lui attribuer une procédure. Dans le menu contextuel, sélectionnez "Action de commande", et lorsqu'on nous demandera où le gestionnaire est nécessaire, nous répondrons : "Créer sur le client et une procédure sur le serveur".


Fragment 1

&OnClient Procédure Show(Command) ShowOnServer(); EndProcedure &OnServer Procedure ShowOnServer() //Insère le contenu du gestionnaire. Fin de la procédure

Nous avons choisi de créer une procédure sur le serveur, car nous souhaitons ainsi obtenir une sélection de la base de données. Sur le client, nous n'avons pas une telle opportunité, nous devons donc nous connecter au serveur qui échange des données avec la base de données. Nous devons maintenant écrire le code qui implémente ce que nous avons prévu. L'interrogation et la sortie de tous les documents via la fonction "Report ()" seront utilisées.


Fragment 2

&OnClient Procédure Show(Command) ShowOnServer(Nomenclature); EndProcedure &AtServer Procedure ShowAtServer(Nomenclature) Query = Nouvelle requête ; Query.Text = "SELECT DIVERS | Contenu de la commande client. Référence AS Référence | FROM | Document. Commande client. Contenu AS Contenu de la commande client | OÙ | Contenu de la commande client. Nomenclature = &Nomenclature"; Query.SetParameter("Nomenclature", Nomenclature); QueryResult = Query.Execute(); SamplingDetailRecords = QueryResult.Select(); While SelectionDetailedRecords.Next() Rapport de boucle (SelectionDetailedRecords.Reference); Fin du cycle ; Fin de la procédure

Au stade actuel, nous pouvons ouvrir le traitement externe comme un fichier ordinaire dans la base de données 1C en cours d'exécution, et il sera déjà opérationnel. Mais si nous avons de nombreux utilisateurs, nous devrons leur envoyer ce fichier à tous, tout en lui fournissant des instructions sur la façon de l'ouvrir réellement dans 1C, ce qui est extrêmement gênant. Pour éviter cela, notre traitement doit être situé à l'intérieur de l'une des sections 1C. Pour ce faire, il faut l'affiner un peu plus via le configurateur, en précisant certains paramètres.

Pour placer le traitement externe dans la section 1C, il est nécessaire d'enregistrer la procédure « Informations SUR le traitement externe » dans le module objet. Dans le menu principal de traitement, cliquez sur "Actions" et sélectionnez "Module objet". Ici, il est nécessaire d'enregistrer tous les paramètres nécessaires à 1C afin que le système comprenne ce qui est attendu de lui et quel type de fichier se trouve devant lui. La capture d'écran montre le code de la fonction "ExternalProcessing Details".

Fonction DataOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("Nom","Nouveau traitement externe"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Version", "ver.: 1.001"); DataForReg.Insert("View", "AdditionalProcessing"); TabZnCommands = Nouvelles TableValues ; TabZnCommands.Columns.Add("Identifiant"); TabZnCommands.Columns.Add("Utiliser"); TabZnCommands.Columns.Add("Vue"); NewLine = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewString.Usage = "FormOpen"; NewRow.View = "Nouveau traitement externe" ; DataForReg.Insert("Commandes", TabZnCommands); Renvoie DataForReg ; Fonctions de fin

Fragment 3

Connexion du traitement externe dans 1C

Avant de connecter un traitement externe à une configuration type, vous devez activer l'utilisation de cet outil. Dans "Administration" dans le sous-élément "Impression des formulaires, rapports et traitement", nous plaçons le drapeau en face du mécanisme dont nous avons besoin. Un bouton pour accéder au répertoire des traitements complémentaires et des rapports devient à notre disposition.


En accédant à la liste, nous y créerons une nouvelle ligne et le système vous demandera de sélectionner un fichier. Nous sélectionnons le traitement que nous avons effectué et enregistré, et la configuration 1C remplit indépendamment la plupart des champs. Grâce au bouton "Exécuter", nous pouvons déjà vérifier les performances de notre traitement, mais ce n'est pas très pratique pour les autres utilisateurs. Pour que les utilisateurs disposent de notre équipe et puissent passer un appel, nous devons :

  • Spécifiez l'emplacement de l'objet. En cliquant sur « Non défini », nous ouvrons la fenêtre des sections et indiquons dans quelles sections l'opération sera disponible ;
  • Sélectionnez les utilisateurs pour lesquels cette commande apparaîtra dans le menu "Traitement supplémentaire" des sections sélectionnées sans paramètres inutiles. Pour ce faire, dans la partie tabulaire, sélectionnez l'élément « Accès rapide » et ajoutez les utilisateurs responsables dans la moitié droite ;
  • Dans l'onglet « Informations complémentaires », vous pouvez préciser le dossier dans lequel se trouvera le traitement téléchargé ;
  • Après avoir appuyé sur le bouton "Enregistrer" dans la section sélectionnée du menu "Traitement supplémentaire", les utilisateurs trouveront notre commande et pourront l'utiliser.

Si nous souhaitons apporter des modifications à notre traitement, nous devons d'abord le décharger de la base de données. Pour cela, dans le répertoire "Traitements complémentaires et rapports", recherchez la ligne souhaitée et utilisez la commande "Télécharger dans un fichier...". Apportez des modifications, enregistrez le traitement et utilisez le bouton "Charger à partir du fichier..." pour retrouver le fichier epf modifié sans modifier les paramètres. Après l'enregistrement, tous les utilisateurs verront les modifications apportées.

Si vous utilisez une base 1C non standard ou obsolète, alors profitez-en pour télécharger le traitement via le configurateur. Dans l'arborescence des objets dans la section "Traitements", créez un nouveau traitement et sélectionnez "Remplacer par un traitement externe, signaler..." via le menu contextuel. Il ne reste plus qu'à configurer le lancement des traitements externes depuis la section souhaitée, y compris les traitements ajoutés dans le sous-système souhaité.


Travailler avec un traitement externe est très pratique et évite de nombreux conflits. Leur seul inconvénient majeur est qu’ils ne sont pas automatiquement mis à jour en même temps que la configuration. Autrement dit, si les développeurs ont modifié le nom du document ou du répertoire dans la configuration principale, nous devrons configurer manuellement le traitement.

Allez dans le menu supérieur Service->->.

Le formulaire de liste de répertoires de traitement externe apparaît. Cliquez sur le bouton dans le menu du haut Ajouter.

Le formulaire d'ajout d'un nouvel objet apparaîtra. Nous appuyons sur le bouton Ouvrir et sélectionnons le fichier avec le traitement souhaité. Après avoir sélectionné le fichier souhaité, précisez si nécessaire le nom du traitement (champ Nom). Après cela, vous devez cliquer sur OK pour enregistrer vos modifications.

Après cela, la fenêtre de création d'élément de répertoire se ferme et vous revenez au formulaire de liste, dans lequel le nouveau traitement est déjà présent.

C'est tout! Le processus d'ajout de traitement à la configuration est maintenant terminé. Pour ouvrir ultérieurement ce traitement, rendez-vous sur l'ancien chemin : Service->Rapports et traitements supplémentaires->Traitement externe supplémentaire.

Pour BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Il existe plusieurs types de traitements externes pour 1C : Entreprise 8. Dans ce didacticiel, je vais vous montrer comment attacher une modification groupée et remplir un traitement d'objet spécifique.

Pour le premier cas, ajoutons le traitement de remplissage de la référence de la liste de stocks depuis Excel.

Accédez à la section appropriée du programme :


Il faut que le signe d'utilisation des rapports et traitements complémentaires soit posé, suivre le lien hypertexte vers la liste des objets externes :

Cliquez sur la liste Créer:


Dans la boîte de dialogue qui s'ouvre, sélectionnez le fichier souhaité avec traitement :


La fiche d'un nouvel objet externe au programme a été remplie, il ne reste plus qu'à configurer hébergement(sections du programme à partir desquelles le traitement sera disponible) :


Comme emplacement, sélectionnez une section arbitraire (ou plusieurs) :


Écrivez et fermez la fiche de l'objet externe :


Ouvrons maintenant le traitement depuis l'interface :


La liste est vide, cliquez Personnaliser la liste:


Nous choisissons notre traitement :


Il est désormais disponible pour la sélection. Pour ouvrir le traitement, vous devez cliquer sur Courir:


Voyons maintenant comment le traitement est ajouté pour remplir (modifier) ​​des objets spécifiques. Par exemple, prenons le traitement externe qui attache des analyses à des éléments sélectionnés de répertoires ou de documents système. Le début de l'ajout d'un tel traitement ne diffère pas de la version précédente. La différence est que dans ce cas, le placement est renseigné automatiquement (et non par la section du programme, mais par les types d'objets de base) :


Si vous le souhaitez, la liste des emplacements peut être ajustée ( n'ajoutez pas de placement supplémentaire, mais supprimez l'excédent):


Pour accepter le changement, la carte d'objet externe doit également être enregistrée.

Pour utiliser le traitement, vous devez vous rendre sur un objet spécifique de la base (depuis la liste des placements), cliquer sur Remplir dans la barre de commandes et sélectionnez la commande :

Vous avez aimé l'article ? Partager avec des amis: