Connecter un rapport externe en 1s 8.3. Ajout d'un rapport externe à la base de données. Création d'un rapport à l'aide du concepteur de formulaire de sortie

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 requise 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 des 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.

Dans le menu du haut, allez à Service->->.

Après cela, le formulaire de liste de répertoires apparaîtra. Dans le menu du haut, cliquez sur Ajouter.

La fenêtre d'ajout d'un nouveau rapport apparaît. appuie sur le bouton Ouvrir.

Sélectionnez le fichier contenant le rapport souhaité et cliquez sur Ouvrir. Après avoir ajouté le fichier, si nécessaire, modifiez le nom du rapport (comment il sera affiché dans la liste). Cliquez sur D'ACCORD.

En conséquence, le nouveau rapport apparaît dans la liste.

Après cela, le rapport peut être utilisé, l'ajout est terminé. Pour ouvrir ce rapport plus tard, on va aussi sur Service->Rapports et traitements supplémentaires->Rapports externes supplémentaires.

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

Pour ajouter un rapport externe dans les configurations 1C:Enterprise 8.3 dans une interface gérée (en utilisant Comptabilité 3.0 comme exemple), entrons dans la section correspondante du programme :


Il faut que l'option d'utilisation de rapports supplémentaires soit activée, suivez le lien hypertexte :

Dans la liste qui s'ouvre, cliquez sur le bouton Créer:


Après cela, une boîte de dialogue de sélection de fichier avec un rapport s'ouvrira immédiatement, dans laquelle vous devrez sélectionner le fichier souhaité (dans mon cas, il s'agit d'un fichier avec une analyse des coûts planifiés et réels).

Maintenant, vous devez configurer hébergement(l'endroit dans le programme où le rapport sera disponible) :


Sélectionnez au hasard la section souhaitée du programme dans la liste :


Vous devez maintenant enregistrer les modifications dans le bulletin externe :

Ouvrez maintenant le rapport depuis l'interface du programme :


La liste est encore vide, cliquez Personnalisez la liste:


Dans le formulaire de sélection, cochez notre rapport :


Il apparaît maintenant dans la liste :


Par bouton Exécuter Le formulaire de rapport s'ouvre :


Bien entendu, 1C Accounting 8 a des capacités très larges. Avec ce programme, vous pouvez effectuer de nombreuses tâches différentes. Mais parfois, les outils intégrés standard ne suffisent toujours pas. Que faire dans ce cas ?

Assurez-vous également de lire un article similaire qui explique ce qu'est le traitement. Ici, nous parlerons de l'extension des fonctionnalités standard du programme.

Disons que vous devez effectuer une opération et que vous commencez à chercher comment le faire standard Configurations comptables 1C. Selon Quoi exactement ce que vous voulez faire, il existe plusieurs façons de résoudre le problème.

Première méthode. Utilisation non standard d'outils de programme standard. Cela s'applique généralement aux documents. Par exemple, il faut que le document génère ainsi telles ou telles transactions. Ensuite, vous devez trouver un document de signification similaire et le remplir en conséquence, même si à première vue ce document 1C n'est pas du tout destiné à cela.

Si le document génère des transactions les prochesà ce dont vous avez besoin, mais toujours pas tout à fait pareil, vous pouvez alors comptabiliser le document, puis corriger les comptabilisations manuellement. Je ne m'attarderai pas ici sur les particularités de l'utilisation non standard de documents ordinaires - ceci est inclus dans mon cours sur 1C Comptabilité 8. Le plus important est de faire preuve d'un peu de créativité et de connaissance de la configuration, puis il s'avère que l'éventail des tâches pouvant être effectuées à l'aide de la configuration standard (inchangée) de 1C Enterprise Accounting s'élargira.

Autrement est modifications de configuration. Par exemple, un de mes étudiants m’a dit un jour : « Je veux avoir un bouton à un endroit visible dans mon programme "Combien d'argent avons-nous?" ". Une envie tout à fait justifiée cependant ! ( bien qu'en fait un tel rapport existe déjà dans le programme)

Cependant, malgré la possibilité de modifier la comptabilité 1C à votre propre discrétion, nous n'envisagerons pas cette option, car c'est l'affaire des programmeurs 1C. Alors que reste-t-il à l’utilisateur moyen dans ce cas ?

Il y avait une partie importante de l'article, mais sans JavaScript elle n'est pas visible !

La réponse est très simple : développez les fonctionnalités du programme en utilisant . Nous parlerons notamment de rapports et traitements externes.

Cela se fait tout simplement. Nous trouvons le rapport requis (ou le traitement, selon ce qui est requis) sur Internet et le connectons à la configuration standard de 1C Comptabilité 8. Pour 1C Comptabilité 8.2, allez dans le menu "Fichier / Ouvrir...", ou appuyez sur le bouton Ouvrir dans la barre d'outils, puis dans la fenêtre Explorateur qui s'ouvre, précisez le fichier de rapport/traitement externe. Un exemple dans la figure ci-dessous.


« Comment connecter un rapport/traitement externe en version 1C Comptabilité 8.3 ?- demanderont les propriétaires de la nouvelle version de 1C Enterprise. Presque la même. Je vous rappelle encore une fois que la différence réside uniquement dans l'interface. Voir l'exemple pour 1C Comptabilité 8.3 ci-dessous.

site web_

Comme le montrent les exemples ci-dessus, les rapports externes et le traitement sont liés de la même manière que les fichiers ordinaires sont ouverts dans n'importe quel autre programme.

Après avoir sélectionné le fichier, le rapport/traitement externe s'ouvrira et vous pourrez les utiliser comme s'ils étaient intégrés à la configuration de Comptabilité 1C. Il convient également de noter que vous devez disposer des droits d'accès nécessaires à la base de données.

Astuce : stockez les rapports et traitements externes que vous utilisez dans un dossier spécialement créé- c'est confortable. Le dossier peut être créé dans le dossier contenant la base de données Comptabilité 1C (si vous disposez d'une base de données de fichiers) ; Pour plus de commodité, vous pouvez modifier l'icône du dossier.

Pourquoi sont-ils appelés « externes » ?

Car lors de la connexion, un fichier externe s'ouvre qui n'a rien à voir avec la configuration de 1C Comptabilité. Le fichier lui-même non intégré dans la configuration, mais accède uniquement aux données de la base de données.

Sécurité lorsque vous travaillez avec des plug-ins

Si les rapports sont uniquement lire votre base, mais ils n'en font rien, alors voici le traitement peut. Bien entendu, tout dépend du type de traitement dont il s’agit et des finalités auxquelles il est destiné. Dans tous les cas, nous pouvons recommander ce qui suit.

Téléchargez le traitement externe uniquement à partir de sources fiables ! N'oubliez pas que les dommages causés à la base de données à la suite d'une erreur ou d'actions délibérées de l'auteur du traitement peuvent entraîner de graves problèmes. En cas de doute, faites une copie de sauvegarde de la base de données avant de lancer des traitements que vous n'avez pas personnellement tentés !

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. À l'aide de paramètres, vous pouvez afficher les données nécessaires dans le rapport ; nous y reviendrons 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, transmettons-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(&)

Il ne reste plus qu'à 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. Chiffre d'affaires auto-comptable (&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 du regroupement automatique 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(AreaContractData.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 + SelectionCounterparty Agreement.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(AreaContractData.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.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 afficher la zone elle-même dans 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 :

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 fichiers . 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 configuration 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 du 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.



Avez-vous aimé l'article? Partager avec des amis: