Maison / Leçons Windows / Ajout d'un rapport externe à la base de données. Ajouter un rapport externe à la base de données Rapports externes pour 1s 8.3 comment faire

Ajout d'un rapport externe à la base de données. Ajouter un rapport externe à la base de données Rapports externes pour 1s 8.3 comment faire

La création de rapports est l'une des fonctions principales de tout système comptable. Quels types de rapports existent dans 1C Comptabilité 3.0, comment les rapports sont configurés dans 1C Comptabilité 8.3 et quels outils existent pour créer de nouveaux rapports - nous les examinerons aujourd'hui.

Types de rapports standards

Le programme de comptabilité 1C de l'entreprise est initialement préinstallé avec une large gamme de rapports qui vous permettent d'obtenir toutes les informations nécessaires. Leur liste complète est présentée dans la section « Rapports/Rapports standards » :

De plus, chaque section du programme présente d'autres types de rapports standard, par exemple, les rapports sur les salaires dans 1C 8.3 sont stockés dans la section « Salaires et personnel/Rapports sur les salaires ».

Dans chaque rapport, il existe la possibilité d'une « personnalisation supplémentaire » du rapport, à savoir que vous pouvez ajouter ou supprimer des champs supplémentaires, ajouter un regroupement, une sélection, etc.

Considérons l'option de configuration en utilisant l'exemple d'ajout d'un champ supplémentaire au rapport standard « Bilan du compte » (sélectionnez le compte 10). Pour ce faire, à partir du bouton « Afficher les paramètres », allez dans « Champs supplémentaires », ajoutez un nouveau champ et, dans le formulaire de sélection, accédez au champ dont nous avons besoin, par exemple, pour refléter le numéro d'article dans le rapport, sélectionnez le Champ « Numéro d'article », qui se trouve à l'intérieur du champ « Nomenclature » (pour agrandir le champ, vous devez cliquer sur « + ») :


Après avoir cliqué sur « Générer », le champ supplémentaire que nous avons sélectionné apparaît.

À titre d'exemple, considérons une situation dans laquelle le rapport nécessite d'inclure la liste complète des éléments contenant le mot « boot » dans le nom. Qu'est-ce que je dois faire? En cliquant sur « Afficher les paramètres », allez dans l'onglet « Sélection », ajoutez un nouveau champ, et dans la fenêtre qui apparaît, en ouvrant le champ « + » « Nomenclature », sélectionnez « Nom ».


Après avoir généré le rapport, nous recevons une nomenclature qui contient uniquement la valeur que nous avons spécifiée dans le nom.

Génération de rapports par document

Dans la section « Rapports standard », il existe un rapport universel qui vous permet d'afficher des informations provenant d'objets de configuration tels que :

  • Document;
  • Annuaire;
  • Registre d'accumulation ;
  • Registre d'informations ;
  • Registre de calcul.

Examinons des exemples de situations dans lesquelles un rapport aidera l'utilisateur à ne pas recourir au développement de rapports externes, mais à utiliser un mécanisme de paramétrage standard.

Par exemple, nous devons générer un rapport qui reflétera toutes les marchandises reçues d'une contrepartie spécifique pendant une certaine période. Pour cela, dans l'en-tête du rapport, sélectionnez dans la liste déroulante le type d'objet – « Document », le type d'objet – « Reçu (actes, factures) », et indiquez le type – « Biens ».




*Le champ Contrepartie n'est pas là initialement.

Dans le champ « Type de comparaison » paramétrez « Égal », dans « Valeur » sélectionnez la contrepartie souhaitée dans l'annuaire.


En haut du rapport, indiquez la période souhaitée et générez le rapport.


Vous pouvez enregistrer les paramètres que nous avons effectués : pour ce faire, cliquez sur le bouton « Plus/Enregistrer ».

Considérons une situation où, afin de générer correctement la déclaration réglementée, il est nécessaire de vérifier par pièce tous les mouvements dans le registre « Comptabilité séparée TVA ».

Pour ce faire, dans l'en-tête du rapport, sélectionnez le type d'objet dans la liste déroulante - « Registre d'accumulation », dans le champ suivant sélectionnez le type d'objet - « Comptabilité TVA séparée », dans le dernier champ sélectionnez le type - « Soldes et du chiffre d'affaires ».

Pour que le rapport affiche les informations dans le contexte des documents, cliquez sur le bouton « Afficher les paramètres » pour accéder aux paramètres du rapport, puis dans l'onglet « Indicateurs », ajoutez un nouveau champ et dans la fenêtre qui apparaît, sélectionnez l'option « Champ "Registrar" ("registrar" est le document qui contient un mouvement formé le long du registre d'accumulation). Le champ nouvellement ajouté est reflété par défaut en bas de la liste des champs : à l'aide des « flèches bleues », nous déplaçons le champ « Registrar » en haut de la liste.


Dans cet article, nous avons examiné quelles options existent pour travailler avec les rapports dans 1C Comptabilité 8, comment utiliser les paramètres du rapport et quelles informations peuvent être obtenues à l'aide d'un rapport universel.

Envisageons de créer un rapport externe dans 1C 8 sans utiliser de système de composition de données. Pour créer un rapport externe, nous utiliserons la configuration Comptabilité 2.0, les données initiales : « Rédiger un rapport sur le compte comptable 62 dans lequel le chiffre d'affaires de la période spécifiée sera affiché dans le contexte Contreparties Et Contrats de contreparties.

1. Créez un rapport

Tout d'abord, créons un fichier de rapport externe ; pour cela, passons en 1s 8 dans le mode Configurateur, allons au menu Fichier -> Nouveau, ou cliquez sur l'icône nouveau document.

Sélectionnez l'élément dans la liste Rapport externe. Après avoir créé le rapport externe, donnez-lui un Nom (par exemple Rapport le plus simple) et enregistrez-le sur le disque. Nous ajouterons également deux détails : Début de période Et Fin de période taper date, nous en aurons besoin pour limiter l'intervalle de temps d'échantillonnage des données lors de la génération d'un rapport.

2. Créez une mise en page de rapport externe

Pour générer un rapport dans 1C 8, vous avez besoin d'une mise en page, il s'agit d'un modèle d'affichage des données dans lequel tous les paramètres nécessaires sont définis, des tableaux sont dessinés, etc. Ajoutons une nouvelle mise en page ; pour ce faire, sélectionnez l'élément dans l'arborescence des métadonnées du rapport. Mises en page et appuyez sur le bouton Ajouter, lors de la création, sélectionnez le type de mise en page feuille de calcul.

Notre aménagement comportera 4 zones :

  • En-tête - dans cette zone, nous afficherons le nom du rapport, la période pour laquelle il a été généré et l'en-tête du tableau ;
  • Données de la contrepartie - dans cette zone, nous afficherons les données sur la contrepartie dans un tableau ;
  • Accord de contrepartie - dans cette zone, nous afficherons les données sur l'accord de contrepartie dans un tableau ;
  • Pied de page - dans cette zone, nous afficherons les valeurs totales de l'ensemble du rapport pour les champs Revenus et Dépenses.

Commençons par créer des zones de mise en page. Afin de créer une zone dans la mise en page, sélectionnez le nombre de lignes souhaité et cliquez sur Tableau de menu -> Noms -> Attribuer un nom(Ou Ctrl + Maj + N). Vers la région Un bouchonÉcrivons le nom du rapport : Chiffre d’affaires 62 comptes, dessinez à l'aide de l'outil Les frontières en-tête du rapport, et définissez également les paramètres Début de période Et Fin de période. A l'aide de paramètres, vous pouvez afficher les données nécessaires dans le rapport, nous en traiterons lors de la prochaine étape de développement, à savoir lors de l'écriture du code du rapport. Pour créer un paramètre dans la mise en page, sélectionnez la cellule souhaitée, écrivez-y le nom du paramètre (sans espaces), faites un clic droit dessus, sélectionnez l'élément dans le menu qui s'ouvre Propriétés. Dans les propriétés de la cellule sur l'onglet Mise en page sélectionner le rembourrage Paramètre.

Après cela, le nom du paramètre dans la cellule sera placé entre crochets ("<>"). En conséquence, la zone Un bouchon devrait ressembler à ceci :

Dans la zone Contrepartie de données nous allons créer des paramètres d'affichage du nom de la contrepartie, ainsi que des revenus et dépenses du compte 62, à l'aide de l'outil Les frontières Concevons la zone comme une ligne de tableau.

Dans la zone Accord de contrepartie de données Créons des paramètres pour afficher le nom du contrat, ainsi que pour les revenus et dépenses du compte 62, à l'aide de l'outil Bordures, nous concevrons la zone sous forme de ligne de tableau. Faisons un petit retrait avant le paramètre Accord de contrepartie(cela peut être fait en divisant et en fusionnant des cellules. Cliquez avec le bouton droit sur la cellule -> Fusionner ou Cellule divisée), il est nécessaire pour que le rapport puisse voir que la ligne du contrat est inférieure dans la hiérarchie à la ligne de la contrepartie.

Dans la zone Sous-sol Créons des paramètres pour les totaux des revenus et des dépenses.

En conséquence, nous devrions obtenir une disposition comme celle-ci :

3. Créez un formulaire de rapport

Pour afficher les données, définissez la période de formation et le bouton Formulaire notre rapport nécessitera un formulaire. Pour créer un formulaire, recherchez l'élément dans l'arborescence des métadonnées du rapport externe. Formes et appuyez sur le bouton Ajouter. Sur la première page du concepteur de formulaire, vous n'avez pas besoin d'apporter de modifications, il vous suffit de cliquer sur le bouton Plus loin.

Sur la page suivante du concepteur, sélectionnez les deux détails disponibles ( Début de période, Fin de période) à placer sur le formulaire.

En conséquence, nous obtiendrons ce formulaire :

Mais nous ne nous en contentons pas sous cette forme ; apportons-y quelques modifications :

  • Faisons glisser le bouton Formulaire du panneau inférieur du rapport vers le haut (cela sera plus pratique pour l'utilisateur) ;
  • Étirez la forme verticalement et horizontalement ;
  • Organisons les champs Début de période Et Fin de période horizontalement ;
  • Ajoutons un élément de contrôle Spreadsheet Document Field au formulaire (notre rapport y sera affiché), donnons-lui un nom TabDoc;
  • Créons un bouton de sélection de période (une fois cliqué, une boîte de dialogue apparaîtra avec un choix pratique de la période souhaitée). Nous n’écrirons pas encore le code du programme, nous placerons donc simplement le bouton à côté des champs de période.

En conséquence, notre formulaire ressemblera à ceci :

4. Programmation

Après avoir créé le formulaire de rapport, commençons la programmation. Commençons par créer une procédure d'affichage d'une boîte de dialogue de sélection de période (nous avons déjà créé un bouton pour cela à l'étape précédente). Faites un clic droit sur le bouton et sélectionnez l'élément de menu Propriétés, dans les propriétés du bouton allez dans l'onglet Événements, où en utilisant le bouton avec une icône en forme de loupe, nous créerons une procédure Bouton1Appuyez dans le module formulaire.

Vous pouvez basculer entre le formulaire et son module en utilisant les onglets en bas du formulaire

Pour appeler le formulaire de sélection de période, nous utiliserons la procédure standard Comptabilité 2.0à partir d'un module commun Travailler avec des boîtes de dialogue - HandlerPeriodSettingPress, vous devez lui transmettre les détails du rapport en tant que paramètres Début de période Et Fin de période.

Procédure Bouton1Press (élément) Travailler avec Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Fin de la procédure

Passons maintenant à l'écriture du code qui générera et affichera notre rapport. Le module formulaire possède déjà une procédure BoutonGénérerPresse, qui sera exécuté lorsque le bouton sera enfoncé Formulaire, c’est là que nous écrirons notre code. Commençons par initialiser les variables nécessaires. Tout d'abord, créons une variable pour champs de document de feuille de calcul dans lequel nous allons sortir des données, ce n'est pas nécessaire, c'est juste que l'enregistrement des appels deviendra plus court, ce qui signifie que le code du programme sera plus compréhensible pour la lecture.

TabDoc = FormElements.TabDoc ;

Obtenons la mise en page du rapport externe à l'aide de la fonction ObtenirLayout(<ИмяМакета>) , nous passerons le nom de la mise en page en paramètre, et si une telle mise en page existe, la fonction la trouvera.

Mise en page = GetLayout("Mise en page" );

Une fois la mise en page reçue, créons des variables pour chacune de ses zones, utilisons la méthode de mise en page pour cela ObtenirZone(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("En-tête" ); AreaDataAccount = Layout.GetArea( "Données de l'entrepreneur"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

Effacons le champ du tableur. Ceci est nécessaire pour que chaque fois qu'un nouveau rapport est généré, les anciennes données soient supprimées.

TabDoc.Clear();

Maintenant que l'initialisation des variables est terminée, passons au remplissage et à l'affichage des zones de layout une à une. Commençons par l'en-tête. Si vous vous en souvenez, nous avons créé deux paramètres dans cette zone Début de période Et Fin de période, on y passera les valeurs de la période de génération du rapport, pour cela on utilisera la propriété Possibilités zones de mise en page.

AreaHeader.Parameters.PeriodStart = PeriodStart ; AreaHeader.Parameters.EndPeriod = EndPeriod ;

Plus aucune action avec la zone Un bouchon Le fabricant n’est pas nécessaire, nous afficherons donc son champ dans un tableur.

TabDoc.Output(AreaHead);

Ensuite, nous écrirons une requête dans la base de données, avec laquelle nous prendrons le chiffre d'affaires du compte 62 du registre comptable Autonome. Définissons une variable dans laquelle se situera notre requête.

Demande = nouvelle demande ;

Avant de commencer à rédiger le texte de la requête, passons-lui les paramètres nécessaires. Puisque nous rédigeons une demande de facture 62 comptabilité, alors tout d'abord nous allons créer un paramètre pour cela

Request.SetParameter("Account62", Plans comptables. Autonome. Rechercher par code("62" ));

Il est également nécessaire de répercuter la période de génération du rapport dans la requête. N'oubliez pas que nous avons des détails de rapport spéciaux pour la période de génération et que nous les transmettons comme paramètres.

Request.SetParameter("Début de période", Début de période); Request.SetParameter("Fin de période", Fin de période);

Commençons par écrire le texte de la requête, nous le ferons à l'aide du concepteur de requêtes. Dans de nombreux tutoriels, ils écrivent que vous devez être capable d'écrire une requête à la fois manuellement et à l'aide d'un constructeur, mais en pratique, ce n'est pas le cas. Dans les tâches auxquelles un programmeur 1C est constamment confronté, la priorité est d'écrire du code rapidement et efficacement, et lors de l'écriture manuelle d'une requête dans la base de données, cela est presque impossible à réaliser ; vous passerez beaucoup de temps précieux à reproduire correctement toutes les structures de requête et trouver les fautes de frappe que vous avez faites lors de l'écriture, etc. Par conséquent, ne perdez pas votre temps à essayer d'écrire des requêtes manuellement, mais utilisez le constructeur de requêtes. Cela vous fera gagner du temps et vous permettra d’écrire des requêtes complexes sans trop d’effort. Pour commencer à écrire le texte de la requête, écrivons en code :

Requête.Text = "" ;

Après cela, placez le curseur entre les guillemets, faites un clic droit et sélectionnez Constructeur demande. La fenêtre du concepteur de requêtes s'ouvrira.

Nous devons maintenant sélectionner la table de base de données 1C 8 dont nous avons besoin. Nous avons besoin d'une table virtuelle Révolutions registre comptable Autonome. Trouvons-le sur le côté gauche de la fenêtre du concepteur

Déplaçons-le dans la zone les tables et commençons à remplir les paramètres. Pour toutes les tables de requête virtuelles, il existe un ensemble spécial de paramètres qui vous permettent de sélectionner les données nécessaires dans la table principale (dans notre cas, la table principale Registre comptable Autonome). Ouvrons la fenêtre des paramètres de la table virtuelle.

Remplissons les paramètres de la période que nous avons passée à la demande. Pour utiliser un paramètre dans le texte de la requête, vous devez écrire le symbole avant son nom esperluette(&)

Reste à remplir la condition du compte comptable. comptabilité. Pour cela, retrouvez la ligne dans les paramètres de la table virtuelle État du compte et nous y écrirons

Compte DANS LA HIÉRARCHIE (&Compte62)

Vous pouvez également utiliser le constructeur de conditions en cliquant sur le bouton à trois points.

Il n'est pas nécessaire d'imposer d'autres conditions à la table virtuelle, alors cliquons sur le bouton D'ACCORD dans la fenêtre des paramètres de la table virtuelle. Ensuite, nous devons sélectionner les champs dont nous avons besoin dans le tableau Autonome. Chiffre d'affaires(à savoir: Contrepartie, accord de contrepartie, revenus et dépenses). Pour afficher la liste des champs disponibles dans le tableau que nous avons sélectionné, cliquez sur le symbole « + » à côté de son nom. Après cela, faites glisser les champs requis vers la zone la plus à droite du concepteur de requêtes, appelée : Champs. Si on ouvre le plan comptable, on verra que pour le compte 62 analyses sur Pour la contrepartie c'est Subconto1, et par Accord de contrepartie - Subconto2.

Par conséquent, parmi les champs de la table virtuelle, nous sélectionnons Sous-conto1 Et Sous-conto2. Puisque nous avons besoin de revenus et de dépenses par montant, nous sélectionnons également les champs MontantChiffre d'affairesDt Et MontantChiffre d'affairesKt

Remplissons les alias des champs que nous avons sélectionnés ; pour cela, rendez-vous dans l'onglet Syndicats/Alias et définissez les noms de champs requis.

Puisque dans notre rapport les données seront affichées hiérarchiquement (la Contrepartie est au premier niveau, et tous ses contrats sont au second), nous configurerons l'affichage des données dans la hiérarchie à l'aide des Totaux. Passons à l'onglet dans le concepteur Résultats. Faire glisser dans les champs de regroupement de manière séquentielle Contrepartie Et Accord de contrepartie, et en finale À venir Et Consommation.

Ceci termine le travail dans le constructeur de requêtes, cliquez sur le bouton D'ACCORD et nous voyons que le texte de notre demande apparaît dans le code du programme.

Requête.Texte = "SELECT | Chiffre d'affaires autonome.Subconto1 AS Contrepartie, | Self-supportingTurnover.Subconto2 AS Accord de contrepartie, | Self-supportingTurnover.AmountTurnoverDt AS Réception, | Self-supportingTurnover.AmountTurnoverKt AS Dépense|DE | Registre comptable. Auto-comptable. Chiffre d'affaires (&Début de période, &Fin de période, Compte DANS LA HIÉRARCHIE (&Compte 62),) AS Chiffre d'affaires auto-comptable|RÉSULTATS | MONTANT(Revenu), | MONTANT (Dépense) | PO | Contrepartie, | Accord de contrepartie";

Une fois que nous avons fini de rédiger la demande, commençons à remplir les zones Contrepartie de données, Accord de donnéesContrepartie Et Sous-sol. Nous remplirons toutes ces zones avec les données reçues lors de l'exécution de la demande. Puisque notre requête contient des regroupements ( Contrepartie Et Accord de contrepartie) sélectionnez-en les données comme suit :

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

De cette façon, nous recevrons des enregistrements avec les totaux pour toutes les contreparties.

Avant de parcourir les exemples de données à l'aide d'une boucle, nous initialisons les variables destinées au calcul des résultats globaux du rapport :

TotalEntrant = 0 ; Consommation totale = 0 ;

Pour que les données du rapport soient affichées avec une hiérarchie (et des rotations selon « + »), définissons le début de l'auto-regroupement des lignes du tableur :

TabDoc.StartAutoGroupingRows();

Tous les préparatifs sont terminés, commençons maintenant à explorer les résultats de la requête. Nous effectuerons le parcours à l'aide d'une boucle Au revoir

Tandis que Select Account.Next() Cycle EndCycle ;

Au début du cycle, réinitialiser les paramètres À venir Et Consommation région Contrepartie de données. Pourquoi est-ce? Imaginons une situation où la contrepartie Oncle Vassia, les revenus sont de 10 et les dépenses sont de 5, et pour la contrepartie suivante Oncle Petia il n'y a ni revenu ni dépense, dans ce cas, si nous ne réinitialisons pas les paramètres À venir Et Consommation, puis en ligne par contrepartie Oncle Petia il y aura un revenu de 5 et une dépense de 10.

AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Expense = 0 ;

Après cela, nous remplissons la zone Contrepartie de données données d'élément d'échantillon

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Après avoir rempli les données, vous pouvez afficher la zone dans feuille de calcul, Puisque nous utilisons le regroupement automatique des lignes, nous devons indiquer le niveau de la ligne dans le regroupement (notre rapport aura deux niveaux, pour les contreparties le premier pour les contrats).

TabDoc.Output(AreaDataAccount,1);

Maintenant pour cette contrepartie nous ferons une sélection en fonction de ses contrats.

Accord SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Nous effectuerons le parcours à l'aide d'une boucle Au revoir.

While SelectionCounterparty Agreement.Next() Loop EndCycle ;

Dans le cycle des accords de contrepartie, réinitialisons les paramètres À venir Et Consommation, remplissez la zone Contrat de donnéesà partir de l’échantillon et l’afficher dans un tableur au deuxième niveau d’enregistrement.

AreaDataContract.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ; RemplissezPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Également dans ce cycle, nous ajouterons les valeurs actuelles aux variables permettant de calculer les valeurs totales des revenus et des dépenses.

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt ; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense ;

Ceci conclut la sortie des données dans la zone Contrepartie de données, Accord de donnéesContrepartie terminé, il ne reste plus qu'à terminer l'auto-regroupement des lignes du tableur.

TabDoc.FinishAutoGroupingRows();

Cycles complets responsables de la sortie des données vers la zone Contrepartie de données Et Accord de donnéesContrepartie ressemble à ca:

TabDoc.StartAutoGroupingRows(); While SelectionAccount.Next() Boucle AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Expense = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); Accord SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups); While SelectionCounterparty Agreement.Next() Boucle AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ; RemplissezPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt ; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense ; Fin du cycle ; Fin du cycle ; TabDoc.FinishAutoGroupingRows();

Reste à afficher les données finales dans la zone Sous-sol et affichez la zone elle-même vers feuille de calcul.

AreaBasement.Parameters.TotalIncoming = TotalIncoming ; AreaBasement.Parameters.TotalConsumption = TotalConsumption; TabDoc.Output(AreaFooter);

Ceci termine le processus de rédaction d'un rapport externe pour 1C 8 sans utiliser de système de contrôle d'accès. Il peut désormais être généré en mode 1C:Enterprise 8 et ajouté au répertoire TraitementExterne Vous pouvez télécharger le fichier de rapport évoqué dans l'article à partir de .

Regardez une vidéo sur la création d'un imprimable externe pour une application gérée :

Connectez-vous au site en tant qu'étudiant

Système de composition de données 1C 8.3 pour débutants : premier rapport sur SKD

Si vous n'avez pas lu l'introduction de ce module, veuillez la lire : .

Pour compléter les leçons, vous aurez besoin 1C 8.3 (pas inférieur 8.3.13.1644 ) .

Si vous avez déjà installé 1C version 8.3, utilisez-le. Sinon, téléchargez et installez la version éducative, que 1C produit spécifiquement à des fins éducatives : .

Le raccourci suivant devrait apparaître sur votre bureau :

Pour toutes les leçons de cette série, nous utiliserons la base de données Gastronom que j'ai préparée. Cela coïncide complètement avec la base que nous avons utilisée dans les modules scolaires lors de l'étude des requêtes. J’attends donc de vous que vous connaissiez ses ouvrages et documents de référence.

Si vous l'avez supprimé, téléchargez-le à nouveau en utilisant le suivant, décompressez-le et ajoutez-le à la liste des bases de données.

Enfin, l'atelier est mis en place et nous allons maintenant créer notre premier rapport ensemble en utilisant le système de composition des données. Il sera très simple de démontrer les capacités générales d'un système de composition de données (en abrégé SKD).

Fixer un objectif

Objectif de cette leçon- créer un rapport qui, en mode utilisateur, affiche une liste de clients avec les champs suivants :

  • Nom
  • Sol
  • Couleur préférée du client.

Le rapport doit être externe. Cela signifie qu'il sera créé et configuré dans le configurateur, puis enregistré en tant que fichier séparé (externe) sur l'ordinateur.

Pour générer un tel rapport dans 1C, l'utilisateur devra lancer la base de données en mode utilisateur, ouvrir ce fichier et cliquer sur le bouton « Générer ».

Aller!

Création d'un rapport

Nous lançons le configurateur de la base de données Gastronom :

Dans le menu principal, sélectionnez "Fichier" -> "Nouveau..." :

Sélectionnez « Rapport externe » :

Création d'un diagramme de disposition des données dans le rapport

La fenêtre de création d'un rapport externe s'ouvre. Pour le nom, saisissez : " Leçon 1", puis appuyez sur le bouton " Diagramme de composition de données ouvertes":

Le concepteur de création de schéma a démarré. Nous sommes d'accord avec le nom par défaut " Schéma de présentation des données principales" et appuyez sur le bouton " Prêt":

La fenêtre de travail principale s'est ouverte, avec de nombreux onglets et champs, dans lesquels nous allons configurer notre schéma de présentation des données.

Il n’y a pas lieu d’avoir peur : il y a vraiment beaucoup d’opportunités ici, mais nous n’avons pas besoin de toutes. Surtout lors du premier cours.

Nous sommes maintenant sur le signet " Ensembles de données"Nous y resterons."

Nous écrivons une requête via le constructeur

Le système de composition des données (en abrégé DCS) nous oblige à données, qu'il affichera à l'utilisateur.

Le moyen le plus simple - rédiger une demandeà la base. À l'école, nous avons appris à rédiger et à comprendre des demandes. J'attends donc de vous que vous possédiez les compétences appropriées.

Cliquer sur vert signe plus et dans la liste déroulante, sélectionnez l'élément " Ajouter un ensemble de données – Requête":

Notre tâche est de rédiger le texte de la demande dans ce champ. Avez-vous déjà oublié comment procéder ?

Je vais vous donner un indice :

Dans cette requête nous avons sélectionné trois champs (" Nom", "Sol" Et " Couleur préférée") du tableau " Annuaire.Clients".

Mais ne vous précipitez pas pour écrire manuellement ce texte dans le champ « Demande ».

Nous allons maintenant créer la même requête visuellement, uniquement en utilisant la souris. Cette méthode s'appelle " Constructeur de requête".

Pour appeler ce constructeur, cliquez sur le bouton " Constructeur de requêtes..." en haut à droite du champ "Demande" :

Dans la fenêtre qui s'ouvre, faites glisser le tableau " Clientèle" de la première colonne à la seconde pour indiquer que c'est à partir de cette table que l'on va interroger les données :

Cela s'est passé comme ceci :

Ensuite, nous ouvrirons la table " Clientèle"dans la deuxième colonne par signe" Plus"pour voir tous ses champs et faire glisser le champ" Nom" de la deuxième colonne à la troisième pour indiquer qu'à partir de cette table nous devons interroger le champ "Nom":

Cela s'est passé comme ceci :

Faisons de même avec les champs" Sol" Et " Couleur préférée". Le résultat sera comme ceci :

Cliquez sur le bouton "OK" pour quitter le générateur de requêtes et constater que le texte de la requête est automatiquement ajouté au champ "Requête".

De plus, sur la base du texte de la demande, 1C lui-même a extrait les noms des champs (la zone au-dessus de la demande) qui seront utilisés par le schéma de composition des données :

Maintenant que nous avons compilé une demande, l'ACS sait comment obtenir les données pour le rapport.

Configuration de la présentation des données

Il reste en quelque sorte visualiser ces données pour l'utilisateur sous la forme d'un formulaire imprimé. Et c’est là que ACS peut faire des merveilles !

Pour créer un tel miracle, allons dans l'onglet " Paramètres" et cliquez sur le bouton du concepteur de paramètres ( baguette magique):

Dans la fenêtre qui s'ouvre, précisez le type de rapport " Liste" et appuyez sur " Plus loin":

Dans la fenêtre suivante, sélectionnez (en faisant glisser) les champs qui doivent être affichés dans la liste (faites glisser tous ceux dont nous disposons : " Couleur préférée", "Nom" Et " Sol"):

Obtenons ce résultat et appuyons sur le bouton " D'ACCORD":

Le concepteur de paramètres s'est fermé et l'élément " Entrées détaillées":

Le rapport est prêt, vérifions-le. Pour ce faire, enregistrez d'abord le rapport en tant que fichier externe.

Enregistrez le rapport sous forme de fichier

Ouvrez l'élément du menu principal " Déposer"->"Sauvegarder":

Je vais l'enregistrer sur mon bureau sous le nom " Leçon 1":

Vérification du rapport en mode utilisateur

Enfin, fermons le configurateur et allons dans notre base de données en mode utilisateur :

Nom d'utilisateur "Administrateur", pas de mot de passe :

Dans le menu, sélectionnez l'élément " Déposer"->"Ouvrir...":

Et spécifiez le fichier de rapport (je l'ai enregistré sur le bureau sous le nom « Lesson1.erf ») :

Le formulaire de rapport s'est ouvert, cliquez sur le bouton " Formulaire":

Prêt! Voici notre imprimable avec une liste de clients, leur couleur préférée et leur sexe :

Le formulaire imprimable peut être facilement imprimé. Pour ce faire, sélectionnez simplement l'élément " Déposer"->"Joint...":

C'est ainsi que, sans programmation, nous avons réussi à créer un rapport à part entière que les utilisateurs peuvent ouvrir dans leurs bases de données, générer et imprimer.

étudiants - je réponds par mail, mais regarde d'abord.

Connectez-vous au site en tant qu'étudiant

Connectez-vous en tant qu'étudiant pour accéder au matériel scolaire

Les rapports 1C 8.3 sont un objet de métadonnées spécial conçu pour créer une présentation conviviale des données des tables de la base de données 1C.

Voyons ça comment configurer les rapports, à quoi ils servent, en quoi les rapports externes diffèrent des rapports intégrés et en quoi les rapports diffèrent du traitement.

Afin de créer ou de personnaliser un rapport, vous devez connaître les outils et . Quoi qu'on en dise, la base de la création de presque tous les rapports est la requête initiale qui reçoit les données. Nous traitons ces données et les affichons sous une forme conviviale.

Les rapports sont l'élément principal de tout système d'information, c'est pourquoi 1C a accordé une attention particulière au développement des rapports et a créé un grand nombre de concepteurs et de mécanismes pour les créer.

Examinons les méthodes de base pour créer des rapports

Comment faire un rapport en 1C à l'aide d'une mise en page

La création à l'aide d'une mise en page est la méthode la plus courante. Cependant, ils y ont souvent recours par désespoir, car... dans cette méthode, le développeur écrit complètement chaque action dans le code, ce qui signifie que nous pouvons tout faire. D'autres mécanismes ne peuvent pas s'en vanter.

Mais dans ce cas, tous les éléments, menus et autres « arcs » devront être saisis manuellement, ce qui demande beaucoup de main d'œuvre.

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

Création d'un rapport à l'aide du concepteur de formulaire de sortie

Le concepteur de formulaires de sortie est un mécanisme intégré à la plateforme qui facilite le développement de rapports. Le concepteur n'est disponible que pour les formulaires réguliers.

Le concepteur reçoit la demande et tous les paramètres nécessaires pour le futur rapport, et il génère à son tour des modules et des formulaires de rapport. Le mécanisme est basé sur un objet du langage intégré 1C 8.2 - Générateur de rapports.

Création d'un rapport à l'aide du rapport générique

Le rapport universel a de grandes fonctionnalités, une interface de paramétrage pratique et familière à l'utilisateur :

Rapports basés sur le système de composition des données

Il s'agit de la méthode la plus progressive de création de rapports dans 1C, recommandée par 1C lui-même. est apparu dans la plateforme 1C en version 8.1.

SKD vous permet de créer des rapports simples sans aucune ligne de programmation, car il dispose d'un constructeur très flexible et fonctionnel pour créer un schéma de composition de données :

Dans toutes les configurations récentes, tous les rapports sont rédigés à l'aide d'un système de composition de données.

Quelle est la différence entre les rapports externes et les rapports intégrés ?

Comme il est écrit dans la documentation – rien. Le mécanisme de reporting externe a été créé afin de déboguer les rapports pendant le développement.

La seule différence lors du développement d’une solution est que vous ne pouvez pas accéder à un rapport externe « par nom », contrairement à un rapport intégré.

En quoi un rapport diffère-t-il d’un traitement ?

En fait, pratiquement rien. La principale différence réside dans le but d'utiliser l'objet : des rapports sont nécessaires pour afficher des informations et des rapports sont nécessaires pour modifier des informations.

Les principales différences dans les propriétés : dans les rapports, vous pouvez spécifier le schéma de composition des données de base (DCS) et spécifier les paramètres d'enregistrement des paramètres du rapport.

La nécessité de personnaliser les rapports externes peut survenir en cas de modifications rapides des formulaires de déclaration correspondants. Après tout, les organismes gouvernementaux qui approuvent les formulaires correspondants ne tiennent pas toujours compte du fait que les entités commerciales ont besoin de temps pour préparer le formulaire de déclaration. Auteur - S.A. Kharitonov.

Dans les configurations standard pour 1C:Enterprise 8, produites par 1C, les formulaires de déclaration réglementés sont inclus dans les configurations et sont publiés avec les versions de configuration. Cependant, lorsque le besoin s'en fait sentir - par exemple, une nouvelle édition du formulaire de déclaration entre en vigueur - la société 1C publie de tels formulaires de déclaration sous la forme de rapports externes « 1C : Entreprise 8 » (fichiers avec l'extension *.erf).

L'utilisation de rapports externes est une solution temporaire qui ne doit être utilisée que jusqu'à la publication d'une version de configuration dans laquelle les modifications nécessaires seront intégrées. Par conséquent, certaines restrictions sont imposées à l’utilisation de rapports externes :

  • lors de la publication d'un rapport externe, il est précisé avec quelle version de configuration il peut être utilisé ;
  • Il n'est pas garanti que le rapport externe prenne en charge les versions de configuration précédentes ;
  • lorsqu'un utilisateur travaille avec une configuration, plusieurs versions d'un rapport externe ne peuvent pas être utilisées ;
  • l'ouverture d'un formulaire de rapport prend plus de temps par rapport à un rapport implémenté en tant qu'objet de configuration ;
  • le téléchargement des données du rapport sous forme électronique est beaucoup plus lent, etc.

Une liste des rapports externes émis pour une version de configuration spécifique peut être consultée sur la page de configuration du site de support utilisateur 1C:Enterprise 8 à l'adresse www.users.v8.1c.ru (dans la section Informations gratuites vous devez cliquer sur le numéro qui vous intéresse dans la colonne avec les numéros de version) ou dans le formulaire Mettre à jour les informations(appelé par le bouton Mettre à jour les informations uniforme de la meilleure équipe ), si le service d'alerte de reporting réglementé est activé dans la base d'informations.

Dans le même formulaire, vous pouvez cliquer sur le nom du rapport externe pour le télécharger sur votre ordinateur.

En règle générale, les rapports sont distribués sous la forme d'une archive RAR. Pour travailler avec un rapport externe, l'archive doit être décompressée.

L'archive, ainsi que le fichier de rapport externe, contient un fichier texte décrivant l'objectif du rapport et comment le connecter.

Si un rapport externe est destiné à remplacer un rapport réglementé qui existe déjà dans la configuration, il peut être connecté à l'infobase en ouvrant simplement le rapport en mode 1C :Entreprise (menu Fichier - Ouvrir).

Une fois ouvert, une question vous sera posée Enregistrer un rapport réglementé externe dans la base d'informations? Après réponse Oui le rapport externe sera enregistré dans l'infobase et immédiatement ouvert pour créer un nouveau rapport.

Si tu réponds Non, le rapport ne sera pas enregistré, mais sera également ouvert pour créer un nouveau rapport. Il sera possible d'effectuer toutes les actions avec un tel rapport - création, remplissage, impression - mais le rapport créé ne pourra pas être enregistré dans l'infobase.

Si le rapport externe est un nouveau type de rapport réglementé, le rapport ne pourra pas s'inscrire automatiquement dans l'infobase : ce mode doit être activé manuellement. Les instructions de connexion sont également disponibles dans le fichier texte contenu dans l'archive obtenue sur le site 1C.

Pour utiliser un rapport externe, l'utilisateur doit indiquer que pour ce rapport réglementé, ce n'est pas un objet de configuration interne, mais un rapport externe qui sera utilisé.

Pour enregistrer un rapport externe comme nouveau type de rapports réglementés dans l'annuaire Rapports réglementés nécessaire (voir fig. 1) :

1) aller dans le groupe d'annuaire dans lequel se trouvera le nouveau type de rapport ;
2) créez un nouvel élément de répertoire en cliquant sur le bouton Ajouter dans le panneau de commande supérieur du formulaire répertoire ;
3) sous la forme d'un élément d'annuaire, renseignez le nom qui sera émis dans l'annuaire Rapports réglementés et dans la liste des types d'états du formulaire Reporting réglementaire et financier. Il est également conseillé de remplir une description du type de rapport ;
4) interrupteur Utiliser défini sur file et spécifiez quel fichier doit être utilisé comme rapport externe. Après avoir appuyé sur le bouton D'ACCORD dans la boîte de dialogue d'ouverture de fichier, le nom complet de ce rapport externe sera indiqué dans le champ fichier du formulaire d'élément de dictionnaire.

Riz. 1. Enregistrez un rapport externe

Après avoir appuyé sur le bouton Écrire le rapport externe est enregistré dans l'infobase, après quoi le nom complet du fichier externe est remplacé par du texte Le rapport a été téléchargé sur IB.

La même chose se produit lorsque vous appuyez sur un bouton D'ACCORD, tandis que la forme de l'élément de répertoire Rapports réglementés se ferme.

Pour les éléments de répertoire pour lesquels des rapports externes sont utilisés, la ligne (externe) est ajoutée sous la forme d'une liste de répertoires après le nom du rapport.

Une fois le rapport externe chargé dans l'infobase, le fichier de rapport externe lui-même n'est plus nécessaire et peut être supprimé.

Travailler avec un rapport réglementé qui utilise un rapport externe n'est pas différent de travailler avec un objet de configuration, à l'exception de la « réponse lente » lors de l'ouverture et du téléchargement des données de rapport sous forme électronique.

En signe d'un rapport externe, une inscription d'information rouge est affichée sur le côté droit du panneau de commande supérieur. Rapport externe.

Vous pouvez à tout moment revenir à l'utilisation de l'objet de configuration "interne". Pour ce faire, sous la forme d'un élément d'annuaire du rapport réglementé requis, vous devez sélectionner le commutateur Utiliser positionner un objet et enregistrez l'élément de répertoire.

Le rapport externe lui-même n'est pas supprimé de l'infobase, l'action inverse est donc également possible. Pour supprimer un rapport de l'infobase, vous devez procéder comme suit :

1) dans l'annuaire Rapports réglementés rechercher un rapport réglementé pour lequel un rapport externe est connecté - un tel rapport aura une ligne (externe) ajoutée après le nom du rapport ;
2) ouvrez l'élément du répertoire pour l'éditer avec le bouton Changer l'élément actuel;
3) dans le champ de sélection du rapport externe, cliquez sur le bouton X (Clair). Après avoir appuyé dessus, le texte Le rapport a été téléchargé sur IB est effacé, c'est le signe que le rapport sera supprimé de l'infobase ;
4) fermez le formulaire d'élément de répertoire en cliquant sur le bouton D'ACCORD.

Le rapport est supprimé lors de l'enregistrement de l'élément de répertoire.

Si nécessaire, le rapport chargé dans l'infobase peut être enregistré dans un fichier sur disque. Pour ce faire, sous la forme d'un élément de répertoire Rapports réglementés vous devez cliquer sur le lien avec le texte Télécharger un rapport externe dans un fichier. Une boîte de dialogue standard d'enregistrement de fichier s'ouvrira. Par défaut, le nom du fichier est le nom de l'objet de configuration correspondant.

Il est important de noter que dans une session utilisateur avec une infobase, vous ne pouvez pas utiliser plus d'une version d'un rapport externe : par exemple, si l'utilisateur travaille déjà avec un rapport réglementé, qui est un rapport externe, et l'a chargé dans le répertoire Rapports réglementés une autre version de ce rapport externe (par exemple, avec saisie semi-automatique ajoutée), pour utiliser cette version du rapport, il doit terminer sa session en mode 1C:Enterprise, puis démarrer immédiatement une nouvelle session.