Comment créer un rapport en 1 avec 8.3. Création d'un rapport simple sur skd. Configuration de la vue des données

Pour prendre des décisions de gestion opportunes et correctes, chaque organisation a besoin d'informations à jour sur la disponibilité des marchandises dans les entrepôts, sur son coût, sur les ventes. Les organisations commerciales travaillent avec un grand nombre d'articles et de contreparties, ce qui nécessite une bonne configuration de la comptabilité analytique et une réception rapide des informations requises à partir de ses données. L'article traite des méthodes de base pour travailler avec des rapports standard dans la solution standard "1C: Trade Management 8" (version 11), construite sur la base du système de composition de données et fournit des recommandations pratiques utiles qui seront utiles à la fois aux utilisateurs novices et ceux qui sont passés à la nouvelle édition des éditions précédentes.

Par exemple, prenez un rapport

  • Analyse de la disponibilité des marchandises ;

Paramètre.

Dans une colonne Type de comparaison Nomenclature

  • Équivaut à
  • Inégal
  • Listé
  • Pas dans la liste
  • En groupe Nomenclature;
  • Pas en groupe Nomenclature;
  • Dans un groupe de la liste Nomenclature;
  • Pas dans un groupe de la liste Nomenclature.

Signification

"Sélections rapides"

Au fur et à mesure que la plate-forme 1C:Enterprise 8 se développe et que la nouvelle version 8.2 apparaît, les rapports dans les systèmes deviennent plus flexibles et les utilisateurs ont de plus en plus de possibilités de les personnaliser selon leurs besoins sans l'aide de programmeurs.

Les nouvelles fonctionnalités fournies par le système de composition de données (ACS) vous permettent de ressentir les avantages des fonctionnalités 1C:Enterprise 8 lors de la création de rapports comme jamais auparavant. Et, malgré le fait que l'interface de reporting ait subi des modifications importantes (par rapport à l'édition 10.3 de la configuration Trade Management, ci-après dénommée UT), les paramètres de rapport sont toujours disponibles pour l'utilisateur moyen. Jetons un coup d'œil à quelques méthodes de base pour travailler avec eux.

La première chose à laquelle vous pouvez prêter attention est la sélection rapide. Ils permettent d'afficher des données dans le rapport en fonction de certaines valeurs des champs du rapport selon les souhaits de l'utilisateur.

Par exemple, prenez un rapport Analyse de la disponibilité des biens en UT. Notons tout de suite que toute la démonstration des capacités des rapports dans UT 11 se fera sur l'exemple de deux rapports :

  • Analyse de la disponibilité des marchandises ;
  • Chiffre d'affaires et coût des ventes.

La sélection par certains champs peut se faire soit directement dans le formulaire de rapport soit en cliquant sur le bouton Paramètre.

Dans une colonne Type de comparaison L'utilisateur peut sélectionner différentes conditions de comparaison. Par exemple, pour le champ Nomenclature Vous pouvez choisir parmi les types de comparaison suivants :

  • Équivaut à- le rapport sera construit uniquement pour la position de nomenclature sélectionnée ;
  • Inégal- le rapport sera construit pour toute la gamme, sauf pour l'élément sélectionné ;
  • Listé- le rapport sera construit selon la liste des positions de la nomenclature ;
  • Pas dans la liste- le rapport sera construit pour toute la gamme, sauf pour les positions sélectionnées ;
  • En groupe- le rapport sera construit sur toute la nomenclature se trouvant dans le dossier sélectionné de l'annuaire Nomenclature;
  • Pas en groupe- le rapport sera construit sur toute la nomenclature, à l'exception des rubriques situées dans le dossier sélectionné du répertoire Nomenclature;
  • Dans un groupe de la liste- similaire à la comparaison Dans la liste, seuls les dossiers du répertoire sont sélectionnés comme valeurs de liste Nomenclature;
  • Pas dans un groupe de la liste- similaire à la comparaison Pas dans la liste, seuls les dossiers du répertoire sont sélectionnés comme valeurs de liste Nomenclature.

La case à cocher (coche) à gauche du champ de sélection indique que la sélection par ce champ est « activée », c'est-à-dire qu'elle est prise en compte par le rapport.

Les champs non cochés ne sont pas pris en compte même si vous avez sélectionné certaines valeurs pour ces champs.

Selon le type de comparaison sélectionné dans la colonne Signification un élément ou un dossier (groupe) spécifique du répertoire, ou une liste d'éléments ou de dossiers est indiqué.

Des sélections rapides sont disponibles dans toutes les solutions basées sur la plateforme 1C:Enterprise 8.

Exemple de modification simple des paramètres de rapport

Pour afficher/modifier les paramètres du rapport, accédez au menu Toutes les actions - Modifier l'option.

Avant nous ouvre la fenêtre des paramètres pour l'option de rapport sélectionnée.

La structure du rapport est affichée en haut de la fenêtre. En fait, il s'agit d'un affichage visuel des regroupements de lignes et de colonnes du rapport, c'est-à-dire dans quel ordre les données d'analyse seront affichées dans le rapport en lignes et en colonnes.

La partie inférieure de la fenêtre affiche celles relatives au rapport dans son ensemble (si le niveau supérieur est sélectionné dans la structure du rapport). Rapport), ou à un certain groupement de lignes ou de colonnes du rapport (si le groupement est sélectionné à un niveau inférieur), les paramètres d'affichage des informations et de conception des champs.

Exemple 1

Étape 1. Nous devons supprimer le regroupement par caractéristiques de l'article, ne laissant que le regroupement par article. Pour cela, dans la partie supérieure de la fenêtre de paramétrage du rapport, cliquez sur le champ Nomenclature, Caractéristique. En bas de la fenêtre, allez dans l'onglet Groupements.

Sélectionnez un champ Caractéristique et cliquez sur le bouton Supprimer panneau de commande.

Confirmez les modifications apportées aux paramètres du rapport en cliquant sur le bouton Terminer l'édition dans le coin inférieur gauche de l'écran.

Étape 2 Après avoir supprimé la caractéristique, notre tâche, selon les conditions de l'exemple, sera d'ajouter un groupe de prix. Selon le sens, ce regroupement devrait aller d'un niveau inférieur au regroupement par stock, mais d'un niveau supérieur au regroupement par article. Par conséquent, dans la structure du rapport, nous sélectionnons un regroupement Action.

En cliquant dessus avec le bouton droit de la souris, dans le menu contextuel, sélectionnez la commande Nouveau regroupement.

Dans la fenêtre d'édition du champ de regroupement qui s'ouvre, sélectionnez Nomenclature.Groupe de prix.

En cliquant sur le bouton D'ACCORD, nous verrons qu'un nouveau regroupement a été ajouté au rapport, subordonné au regroupement Action.

Maintenant, sélectionnons le regroupement par article et, sans relâcher le bouton droit de la souris, faites-le glisser à l'intérieur (c'est-à-dire en dessous) du regroupement par groupe de prix. Nous obtiendrons la structure illustrée à la figure 1. Le résultat de la configuration du rapport est illustré à la figure 2.

Riz. 1. La structure de rapport qui en résulte

Riz. 2. Résultat de la personnalisation du rapport

Travailler avec des champs personnalisés

Examinons maintenant de plus près les nouvelles options de reporting du programme 1C : Trade Management 8.

Sous la forme d'édition de la structure et des paramètres de notre rapport, faites attention à l'onglet Les champs personnalisés.

Avant cela, nous avons ajouté des champs au rapport dont la liste était prédéfinie par le développeur. Avec cet onglet, nous pouvons créer nos propres champs dont nous avons besoin - sélection de champ ou Expression de champ.

Exemple 2

Personnalisons le rapport "Historique des ventes" (version du rapport "Revenu et coût des ventes"). Affichons les données sur les ventes dans le contexte des partenaires et de la nomenclature. Supposons que notre société soit engagée dans la vente de marchandises à Moscou et dans les régions. Ainsi, chaque client de l'infobase appartient à une certaine région géographique (props "Business region" de l'annuaire "Partners"). Nous pouvons facilement regrouper les données de ventes dans un rapport par régions, mais que se passe-t-il si nous sommes intéressés par des statistiques plus agrégées, en particulier la réponse à la question « Combien de biens ont été vendus à Moscou, et combien dans toutes les autres régions combinées » ? C'est là que les champs personnalisés sont utiles.

Étape 1. Ouvrons le rapport. Passons au formulaire de paramètres de structure de rapport ( Toutes les actions -> Changer de variante). Supprimons tour à tour tous les regroupements précédemment créés dans le rapport - pour ce faire, sélectionnez chacun d'eux et cliquez sur le bouton Supprimer barre de commandes ou utilisez la touche SUPPR.

Comme dans l'exemple précédent, ajoutons un regroupement au rapport par partenaire, puis par produit. Nous savons déjà comment le faire, donc cela ne prendra pas beaucoup de temps.

Étape 2 Créons un nouveau champ personnalisé. Ouvrons un signet Les champs personnalisés et exécutez la commande Ajouter -> Nouveau champ-sélectionner.

Nommons notre nouveau champ - Région en général.

Cliquons sur le bouton Ajouter. Dans une nouvelle ligne, cliquez sur le bouton dans la colonne Sélection. Dans le formulaire d'édition de sélection qui s'affiche, ajoutez une sélection par champ Partenaire.Région commerciale. Choisissez le type de comparaison Équivaut à, signification - Moscou.

Cliquons sur le bouton D'ACCORD, après quoi nous reviendrons à la fenêtre d'édition des champs personnalisés. Ensuite, cliquez sur le bouton dans la colonne Signification et dans la liste de sélection des types de données qui s'affiche, sélectionnez Doubler et écrire comme valeur Moscou.

Répétons l'opération. Ajoutons une autre ligne au tableau. Cette fois pour la sélection de champ Partenaire.Région commerciale choisir le type de comparaison Inégal.

Retour à la fenêtre d'édition des champs personnalisés, dans la colonne Significationécrire Autres régions(Voir figure 3).

Riz. 3. Modification des champs personnalisés

Cliquons sur le bouton D'ACCORD. Notre nouveau terrain est prêt.

Étape 3 Ajoutons notre nouveau champ à la structure du rapport. Mise en évidence du niveau supérieur Rapport dans la structure, ajoutez un nouveau regroupement. Dans les accessoires Champ choisir Région en général.

Faites glisser le groupement par partenaire et son groupement subordonné par gamme de produits dans le groupement nouvellement créé avec la souris.

Générons un rapport et examinons le résultat (illustré à la Fig. 4).

Riz. 4. Le résultat de la génération du rapport

Sélection et tri

Revenons à la fenêtre d'édition de la structure et des paramètres du rapport et prêtons attention aux onglets Sélection Et Tri.

Si l'élément racine est sélectionné dans la structure du rapport ( Rapport), les paramètres définis dans ces onglets s'appliqueront à l'ensemble du rapport dans son ensemble. Si un groupement de rapports est sélectionné, les paramètres ne s'appliqueront qu'à celui-ci.

Exemple 3

En conséquence, le rapport Historique des ventes seules ces implémentations obtiendront où le gestionnaire est spécifié Ivanov Ivan Fiodorovitch.

Exemple 4

Enregistrer les modifications apportées

Si vous modifiez la structure d'un rapport, vous pouvez toujours l'enregistrer à l'aide de la commande Toutes les actions -> Enregistrer la variante.

Sous la forme d'enregistrement d'une variante, à l'aide du commutateur, vous pouvez sélectionner Enregistrer dans une variante de rapport existante(au lieu d'une des options déjà disponibles), ou Enregistrer la nouvelle version du rapport.

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

1. Créer un rapport

Tout d'abord, nous allons créer un fichier de rapport externe, pour cela nous irons à 1s 8 dans le mode Configurateur, allez dans le menu Fichier -> Nouveau ou cliquez sur l'icone nouveau document.

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

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

Pour générer un rapport en 1s 8, vous avez besoin d'une mise en page, il s'agit d'un modèle de sortie de 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 cela, dans l'arborescence des métadonnées du rapport, sélectionnez l'élément Dispositions 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 contrepartie - dans cette zone, nous afficherons les données sur la contrepartie dans le tableau ;
  • Données sur l'accord de contrepartie - dans cette zone, nous afficherons les données sur l'accord de contrepartie dans le tableau ;
  • Pied de page - dans cette zone, nous afficherons les valeurs totales pour l'ensemble du rapport pour les champs Revenus et Dépenses.

Commençons à créer des zones de mise en page. Pour créer une zone dans la mise en page, sélectionnez le nombre de lignes requis et cliquez sur Tableau des menus -> Noms -> Attribuer un nom(Ou Ctrl+Maj+N). Vers la zone Un bouchonécrivez le nom du rapport : Chiffre d'affaires 62 comptes, dessinez avec l'outil Les frontières en-tête du rapport, ainsi que définir les paramètres Début de période Et FinPériode. À l'aide de paramètres, vous pouvez afficher les données nécessaires dans le rapport, nous nous en occuperons lors de la prochaine étape de développement, à savoir lors de l'écriture du code de programme 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 de l'onglet Mise en page sélectionner le remplissage Paramètre.

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

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

Dans la zone DataAgreementContractor nous allons créer des paramètres pour afficher le nom du contrat, ainsi que pour les revenus et les dépenses du compte 62, à l'aide de l'outil Borders, nous allons dessiner la zone sous la forme d'une 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. Faites un clic droit sur la cellule -> Fusionner ou Casser la cellule), il est nécessaire pour montrer dans le rapport que la ligne de contrat est inférieure dans la hiérarchie à la ligne de contrepartie.

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

En conséquence, nous devrions obtenir une mise en page comme celle-ci :

3. Créer un formulaire de rapport

Pour afficher les données, réglez la période de formation et les boutons Former notre rapport aura besoin d'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 générateur de formulaires, vous n'avez pas besoin d'apporter de modifications, cliquez simplement sur le bouton Plus loin.

Sur la page suivante du constructeur, sélectionnez les deux accessoires disponibles ( Début de période, FinPériode) à placer sur le formulaire.

En conséquence, nous obtenons ce formulaire :

Mais sous cette forme cela ne nous convient pas, nous allons y apporter quelques modifications :

  • Faites glisser le bouton Former du panneau inférieur du rapport au panneau supérieur (ce sera plus pratique pour l'utilisateur);
  • Étirez la forme verticalement et horizontalement;
  • Organiser les champs Début de période Et FinPériode horizontalement ;
  • Ajoutez un contrôle Champ de document de feuille de calcul au formulaire (notre rapport y sera affiché), donnez-lui un nom TabDoc;
  • Créons un bouton de sélection de période (lorsqu'il est pressé, une boîte de dialogue s'affiche avec une sélection pratique de la période souhaitée). Nous n'écrirons pas encore le code du programme pour cela, 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 pour afficher 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 l'icône de la loupe, nous allons créer une procédure Bouton1Press dans le module de 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 utilisons la procédure standard Comptabilité 2.0 du module général Travailler avec les dialogues - HandlerPeriodSettingPressing, vous devez lui transmettre les détails du rapport en tant que paramètres Début de période Et FinPériode.

Procédure Button1Press (élément) Travailler avec Dialogs.HandlerSettingPeriodPress(StartPeriod,EndPeriod); FinProcédure

Passons maintenant à l'écriture du code qui va générer et afficher notre rapport. Il existe déjà une procédure dans le module formulaire BoutonFormulaireAppuyant qui sera exécuté lorsque le bouton sera cliqué Former, puis nous y écrirons notre code. Commençons par initialiser les variables nécessaires. Commençons par créer une variable pour champs de feuille de calcul auquel nous allons sortir des données, ce n'est pas nécessaire, juste l'enregistrement des appels deviendra plus court, ce qui signifie que le code de programme sera plus compréhensible pour la lecture.

TabDoc = FormElements.TabDoc ;

Obtenir la mise en page du rapport externe à l'aide de la fonction GetLayout(<ИмяМакета>) , nous transmettrons le nom de la mise en page au 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, nous créerons des variables pour chacune de ses zones, nous utiliserons la méthode de mise en page pour cela ObtenirRégion(<ИмяОбласти>) .

AreaHat = Layout.GetArea("Chapeau"); AreaDataAccount = Layout.GetArea( "DataContractor"); AreaDataAgreement = Layout.GetArea("DataAgreement" ); AreaFooter = Layout.GetArea("Basement" );

Effacez le champ de la feuille de calcul. Cela est nécessaire pour qu'à chaque nouvelle génération de rapport, 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 mise en page une par une. Commençons par le chapeau. Si vous vous souvenez, nous avons créé deux paramètres dans cette zone Début de période Et FinPériode, on y passera les valeurs de la période de génération du rapport, pour cela on utilisera la propriété Choix zone de mise en page.

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

Plus d'action de portée Un bouchon le fabricant n'est pas nécessaire, nous afficherons donc son champ dans un document de feuille de calcul.

TabDoc.Output(RegionHeader);

Ensuite, écrivons une requête à la base de données, à l'aide de laquelle nous prendrons le chiffre d'affaires sur le compte 62 du registre comptable autoportant. Définissons une variable dans laquelle sera localisée notre requête.

Requête = nouvelle requête ;

Avant de commencer à écrire le texte de la requête, nous lui transmettrons 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

Query.SetParameter("Account62" ,Plans comptables.Self-supporting.FindByCode("62" ));

Il faut aussi passer la période de génération du rapport à 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 nous les transmettons en tant que paramètres.

Query.SetParameter("StartPeriod",StartPeriod); Query.SetParameter("EndPeriod",EndPeriod);

Commençons à écrire le texte de la requête, nous le ferons en utilisant le générateur de requête. De nombreux tutoriels disent que vous devez être capable d'écrire une requête à la fois manuellement et en utilisant le constructeur, mais en pratique ce n'est pas le cas. Dans les tâches auxquelles un programmeur 1C est constamment confronté, la priorité est l'écriture rapide et de haute qualité du code, et lors de la compilation manuelle d'une requête dans la base de données, cela est presque impossible à réaliser, vous passerez beaucoup de temps précieux à correctement reproduisez toutes les constructions de requêtes, trouvez les fautes de frappe que vous avez faites lors de l'écriture, etc. Alors ne perdez pas votre temps à essayer d'écrire des requêtes manuellement, mais utilisez le constructeur de requête. 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 dans le code :

Requête.Texte = "" ;

Après cela, placez le curseur entre les guillemets, appuyez sur le bouton droit de la souris et sélectionnez l'élément 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 Chiffre d'affaires registre comptable autoportant. Trouvez-le sur le côté gauche de la fenêtre du concepteur

Déplaçons-le dans la zone les tables et remplissons les paramètres. Pour toutes les tables virtuelles de la requête, 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 autoportant). Ouvrons la fenêtre des paramètres de la table virtuelle.

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

Il reste à remplir la condition sur le compte. comptabilité. Pour cela, trouvez la ligne dans les paramètres de la table virtuelle ConditionAccounts et y écrire

Score EN HIÉRARCHIE (&Score62)

Vous pouvez également utiliser le générateur de conditions en cliquant sur le bouton avec trois points.

Plus besoin d'imposer de conditions à la table virtuelle, appuyez donc sur le bouton D'ACCORD dans la fenêtre des options de la table virtuelle. Ensuite, nous devons sélectionner les champs dont nous avons besoin dans le tableau Autoportant.(à savoir: Contrepartie, accord de contrepartie, revenus et dépenses). Pour voir la liste des champs disponibles dans le tableau que nous avons sélectionné, appuyez sur le symbole "+" à côté de son nom. Après cela, faites glisser les champs requis vers la zone la plus à droite du générateur de requêtes, qui s'appelle : Champs. Si nous ouvrons le plan comptable de la comptabilité, nous verrons que pour le compte 62 analytique par À la contrepartie - c'est Subconto1, et par Contrat de l'entrepreneur — Subconto2.

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

Renseignons les alias des champs que nous avons choisis, pour cela nous irons dans l'onglet Syndicats/Alias et définissez les noms de champ souhaités.

Étant donné que dans notre rapport, les données seront affichées de manière hiérarchique (la contrepartie est au premier niveau et tous ses contrats sont au second), nous allons configurer la sortie des données dans la hiérarchie à l'aide des résultats. Allons à l'onglet dans le constructeur Résultats. Glisser-déposer dans les champs de regroupement séquentiellement contrepartie Et Accord de contrepartie, et en finale À venir Et Consommation.

Ceci termine le travail dans le constructeur de requête, cliquez sur le bouton D'ACCORD et nous voyons que le texte de notre requête est apparu dans le code du programme.

Requête.Texte = "SELECT | Chiffres d'affaires autoportants. | Accord de l'entrepreneur Subconto2 AS, | Chiffre d'affaires autoportant.MontantChiffre d'affairesDt AS Incoming, | Chiffre d'affaires autoportant.MontantChiffre d'affairesKt AS Dépense| DEPUIS | InscrireComptabilité.Chiffres.Autoportants(&Début de Période, &Fin de Période, Compte DANS LA HIÉRARCHIE (&Compte62),) ASChiffres Autoportants RÉSULTATS | SOMME(Revenu), | SOMME(Dépense) | ON | contrepartie, | Accord de contrepartie";

Après avoir fini de rédiger la demande, nous commencerons à remplir les zones DataContractor, DataAgreementContractor Et Sous-sol. Nous remplirons tous ces champs avec les données reçues lors de l'exécution de la demande. Puisque notre requête contient des groupements( contrepartie Et Accord de contrepartie) sélectionnez-y des données comme suit :

SamplingAccount = Query.Execute().Select(BypassingQueryResult.By Groupings);

Ainsi, nous recevrons des enregistrements avec des totaux pour toutes les contreparties.

Avant de contourner les exemples de données à l'aide d'une boucle, nous initialisons les variables destinées au calcul des totaux pour le rapport :

Revenu total = 0 ; DépenseTotale = 0 ;

Pour que les données du rapport soient affichées avec une hiérarchie (et réparties par "+"), définissez le début du regroupement automatique des lignes du document de feuille de calcul :

TabDoc.StartAutogroupRows();

Toutes les préparations sont terminées, commençons maintenant à contourner les résultats de la requête. Le by-pass sera réalisé à l'aide de la boucle Au revoir

While SelectionContractor.Next() Cycle EndCycle ;

Au début de la boucle, réinitialiser les paramètres À venir Et Consommation domaines DataContractor. Pourquoi est-ce? Imaginez une situation où la contrepartie Oncle Vassia, revenu 10 et dépense 5, et pour la contrepartie suivante Oncle Petya il n'y a pas de revenu ou de dépense, dans ce cas, si nous ne réinitialisons pas les paramètres À venir Et Consommation, puis par dans la ligne par contrepartie Oncle Petya il y aura un revenu de 5 et une dépense de 10.

AreaDataAccount.Parameters.Incoming = 0 ; AreaDataAccount.Parameters.Expense = 0 ;

Après cela, remplissez la zone DataContractor exemple de données d'article

Fill inPropertyValues(AreaDataAccount.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 préciser le niveau de la ligne dans le regroupement (dans notre rapport, il y aura deux niveaux, pour les contreparties le premier pour les contrats le second).

TabDoc.Output(AreaDataAccount,1);

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

SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings);

Le by-pass sera réalisé à l'aide de la boucle Au revoir.

While SelectionAgreementContractor.Next() Cycle EndCycle ;

Dans le cycle des contrats des contreparties, nous réinitialiserons les paramètres À venir Et Consommation, remplir la zone DataContract de la sélection et l'afficher dans un document tableur au second niveau d'enregistrements.

AreaDataAgreement.Parameters.Revenu = 0 ; AreaDataAgreement.Parameters.Expense = 0 ; Fill inPropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataContract,2);

Toujours dans ce cycle, nous ajouterons les valeurs actuelles aux variables pour calculer les valeurs totales des revenus et des dépenses.

TotalIncome = TotalIncome + SelectionAgreementContractor.Income ; TotalExpense = TotalExpense + SelectionContractor's Agreement.Expense ;

Ceci conclut la sortie des données dans la zone DataContractor, DataAgreementContractor terminé, il reste à terminer le regroupement automatique des lignes du document de la feuille de calcul.

TabDoc.EndAutoGroupRows();

Cycles entièrement responsables de la sortie des données dans la zone DataContractor Et DataAgreementContractor ressemble à ca:

TabDoc.StartAutogroupRows(); Tandis que SelectionContractor.Next() Boucle AreaDataContractor.Parameters.Incoming = 0 ; AreaDataAccount.Parameters.Expense = 0 ; Fill inPropertyValues(AreaDataAccount.Parameters, SelectionAccount); TabDoc.Output(AreaDataAccount,1 ); SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings); Tandis que SelectionAgreementContractor.Next() boucle AreaDataAgreement.Parameters.Incoming = 0 ; AreaDataAgreement.Parameters.Expense = 0 ; Fill inPropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataAgreement,2 ); TotalIncome = TotalIncome + SelectionAgreementContractor.Income ; TotalExpense = TotalExpense + SelectionContractor's Agreement.Expense ; FinCycle ; FinCycle ; TabDoc.EndAutoGroupRows();

Il reste à afficher les données totales dans la zone Sous-sol et afficher la zone elle-même dans feuille de calcul.

AreaBasement.Parameters.TotalIncome = TotalIncome ; AreaBasement.Parameters.TotalExpense = TotalExpense ; TabDoc.Output(RegionFooter);

Ceci termine le processus de rédaction d'un rapport externe pour 1C 8 sans utiliser ACS. Maintenant, il peut être généré en mode 1C:Enterprise 8 et ajouté au répertoire TraitementExterne Vous pouvez télécharger le fichier de rapport discuté dans l'article par .

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

Dans la section "Rapports", il existe de nombreux rapports différents pour chaque type d'activité. Fondamentalement, ils suffisent pour la comptabilité de tous les jours. Mais parfois, pour analyser un problème particulier, il faut creuser plus profondément, jusqu'à comparer, par exemple, les enregistrements d'un document et des registres qu'il affecte. Et il y a des moments où les rapports standard ne suffisent tout simplement pas.

Pour une analyse de données aussi approfondie ou pour créer votre propre rapport dans le programme 1C 8.3, il existe un "rapport universel". Je vais examiner ses possibilités dans cet article.

Description générale du rapport universel en 1C 8.3

Voyons d'abord où trouver un rapport universel ? Si vous allez dans le menu "Rapports", puis cliquez sur le lien "Rapport universel", nous verrons la fenêtre suivante :

Passons brièvement en revue ses contrôles.

Terminé avec la ligne du haut.

  • Sous le bouton le plus intéressant se trouve le "Afficher les paramètres". Ici, il vaut mieux montrer avec un exemple.

Instructions pour la mise en place d'un rapport universel 1C 8.3

Puisque nous travaillons dans le programme 1C : "Enterprise Accounting 3.0", nous nous intéressons principalement aux registres comptables. Dans la configuration 3.0, un seul est à notre disposition - «comptabilité et comptabilité fiscale». Nous le sélectionnons. Voyons le chiffre d'affaires sur le compte 10.01 "Matériaux".

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

Nous choisissons une période. Ce sera toute l'année 2012 pour moi. Ensuite, cliquez sur le bouton "Afficher les paramètres":

Pour obtenir les noms des matériaux, sélectionnez le regroupement par le 1er sous-conto. C'est en elle que le nom est stocké, plus précisément, un lien vers la nomenclature.

Allez dans l'onglet "Sélections":

Ici, nous devons préciser que nous ne voulons voir que le score 10,01.

Si vous le souhaitez, vous pouvez spécifier ici autant de conditions de sélection que vous le souhaitez.

Appuyons sur le bouton générer et voyons ce que nous avons :

On peut voir qu'il y a trop de colonnes inutiles dans le rapport. Tels que la comptabilité monétaire, la comptabilité fiscale, etc. Je ne conserve pas ces enregistrements et je souhaite supprimer ces colonnes du rapport.

Nous revenons aux paramètres et immédiatement - à l'onglet "Indicateurs":

Nous supprimons les drapeaux des colonnes que nous n'avons pas besoin d'afficher.

Dans l'onglet "Générer", vous pouvez spécifier le champ par lequel le tri s'effectuera. Par exemple, je veux que mes documents sortent par ordre alphabétique :

Dans notre exemple, le rapport affiche la production de produits et services par départements, groupes d'articles et ventilée par mois.

Voici la page principale du rapport :

Cette page est appelée depuis le configurateur dans le menu Fichier - Nouveau - Rapport externe.

Tout d'abord, nous ajoutons un jeu de données (Dataset1). Dans la fenêtre "Requête", vous pouvez la saisir vous-même, la créer à l'aide du générateur de requêtes ou la charger à partir d'un fichier. Le moyen le plus pratique consiste à utiliser le constructeur de requête. Lisez comment fonctionne le constructeur.

Tout ce qui est nécessaire est rempli automatiquement, mais certaines choses doivent être modifiées.

Par exemple, les en-têtes de colonne (la case à cocher "Quantité" dans la figure ci-dessus vous permet de saisir n'importe quel texte d'en-tête pour ce champ), vous pouvez définir le format de sortie des données (voir Format dans la ligne Quantité). Le format est modifiable pour tout type de données - chaînes, dates, nombres.

Dans l'onglet Ressources, sélectionnez les ressources elles-mêmes et configurez la sortie des résultats pour elles :

L'onglet Paramètres contient tout ce qui modifie le contenu du rapport (par exemple, la période pour laquelle les données seront sélectionnées). Il est renseigné automatiquement en fonction des paramètres de la requête (voir première page). Avec des coches, vous pouvez ajuster la visibilité, la disponibilité de ces paramètres, définir la valeur initiale, etc. :

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

Et enfin, Paramètres. Ici, l'apparence du rapport est dessinée - colonnes, lignes, leur position les unes par rapport aux autres, regroupements, etc. Le bouton "Ouvrir le concepteur de paramètres" vous aidera à organiser les lignes et les colonnes dans l'ordre souhaité. Le bouton "Paramètres des éléments personnalisés" vous permettra d'afficher les paramètres dans l'en-tête du rapport :

Faites attention à la colonne Period.Parts ofDates.Name of the Month. Comment afficher le nom du mois dans l'en-tête de colonne ? C'est là que ça sort.

Soit dit en passant, c'est ce paramètre qui vous permet d'afficher les données de plusieurs périodes à la fois dans des colonnes adjacentes du rapport :

Un autre onglet important est Champs sélectionnés. S'il est vide, le rapport ne sera pas généré. Il est généralement rempli automatiquement en cliquant sur le bouton "Ouvrir le concepteur de paramètres":

En fait, c'est tout ce dont vous avez besoin du minimum requis. En conséquence, nous aurons un rapport de la forme suivante :

SKD signifie Data Composition System. SKD est un mécanisme de la plate-forme 1C pour le développement de rapports. Le rapport est généré sans qu'il soit nécessaire d'écrire du code. À l'aide d'un certain constructeur et des paramètres qui y sont définis, le programmeur définit le résultat souhaité, le système de composition de données le comprend et affiche ce résultat à l'utilisateur. Si vous devez modifier quelque chose dans le rapport, il vous suffit de vous tourner à nouveau vers le concepteur, d'apporter les modifications nécessaires et le rapport modifié est prêt. L'inconvénient d'ACS est que ses paramètres sont assez compliqués et que tous les utilisateurs ne les apprennent pas rapidement.

Quelle est la technologie pour créer un rapport SKD :

Ecrire une requête 1C à l'ACS qui fournit des données

Spécifier ACS le rôle des champs (champs calculés, ressources)

Saisissez les paramètres ACS par défaut.

L'utilisateur a la possibilité de modifier de nombreux paramètres à sa guise.

ACS présente un avantage significatif à la fois pour l'utilisateur et le programmeur :

Programmeur - vous évite d'écrire un programme pour effectuer un rapport et des paramètres

Utilisateur - Obtient un accès significatif aux paramètres de rapport.

Dans toutes les nouvelles configurations 1C, tous les rapports seront utilisés uniquement sur 1C SKD.

Créez un rapport.

Sélectionnez le menu Fichier -> Nouveau. Sélectionnez le type de fichier - Nouveau rapport.

Un nouveau rapport est en cours de création. Créons un nouveau schéma ACS en cliquant sur le bouton Ouvrir le schéma de composition des données.

Créez une requête pour un rapport.

Il peut y avoir de nombreuses sources de données pour SKD 1C. Pour utiliser, par exemple, deux requêtes distinctes - ajoutez d'abord "Dataset - Join", puis plusieurs requêtes. Dans notre exemple, nous utiliserons une requête.

Une requête est créée à l'aide du générateur de requêtes. Travailler avec le constructeur de requête dans SKD n'est pas différent de celui habituel.

À la suite de la formation de la demande, l'ACS créera une liste de champs disponibles pour utilisation et remplira les noms avec elle par défaut. Le nom peut être changé.

Paramètres SKD.

Dans l'onglet Ressources, spécifiez les champs qui seront récapitulés pour les totaux. Les totaux des ressources peuvent être calculés à l'aide des fonctions du langage d'expression SKD - Sum(), Average(), Maximum(), Minimum() et Quantity(). Montant par défaut.

La construction de tables virtuelles de registres comptables, de registres d'accumulation, de registres d'informations dépend de la date spécifiée. L'ACS est conçu de sorte que si le rapport est basé sur une table virtuelle, il est nécessaire de laisser l'utilisateur choisir pour quel intervalle ou à quelle date générer le rapport. Si une table virtuelle des soldes ou une table virtuelle des registres d'informations est sélectionnée dans la requête, alors ACS ajoute automatiquement un paramètre appelé "Période".

Les principaux paramètres sont définis dans l'onglet Paramètres.

Utilisons le générateur de paramètres. Mettons les données dans une liste.

Sélectionnez les champs requis.

Regroupement. Choisissons un regroupement par nomenclature.

Trier par champ Nomenclature par ordre croissant.

Le résultat de la configuration ACS est le suivant.

Dans l'onglet « Paramètres » pour le paramètre « Période », définissez le drapeau « Inclure dans les paramètres utilisateur ». Après après ce réglage, les paramètres seront affichés dans le formulaire principal du rapport.

Sauvons le rapport.

Création de SKD.

Ouvrons le rapport dans 1C:Enterprise. Définissez la période souhaitée et générez un rapport.

Rapport généré !

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