Maison / Skype / Astuces utiles pour les formulaires gérés. Astuces utiles pour les formulaires gérés 1c uv enregistrer les valeurs du formulaire

Astuces utiles pour les formulaires gérés. Astuces utiles pour les formulaires gérés 1c uv enregistrer les valeurs du formulaire

8
Lorsque vous utilisez une liste dynamique pour afficher des données et demande arbitraire, il existe des situations où vous devez spécifier le paramètre utilisé dans cette requête. Vous trouverez ci-dessous un exemple d'affichage des données du registre d'informations dans une carte... 6
Si, après avoir ouvert le formulaire d'un ouvrage ou d'un document de référence, vous avez effectué une action, le code qui doit modifier l'état des données dans listes dynamiques ou valeur d'attribut. Les données ont été modifiées, mais sous une forme ouverte ... 4
Trouvé sur Internet mais ils disent que du disque ITS. 3
En 1C, on suppose que le message à l'utilisateur est affiché afin d'informer l'utilisateur des erreurs. Et pour informer de l'action en cours, il est recommandé d'utiliser la méthode du langage intégré ... 2
Il existe souvent une tâche pour afficher uniquement les lignes nécessaires dans la partie tabulaire d'un document ou d'un répertoire (ou d'un autre objet). Pour ce faire, vous pouvez utiliser une merveilleuse propriété : dans application normale option pour...

Pensez à créer rapport externe en 1s 8 sans utiliser le système de composition des données. Pour créer un rapport externe, nous utiliserons la configuration 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 la 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 Chapeaué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 Disposition 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 Chapeau devrait ressembler à ceci :

Dans la région de 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 sous la forme d'une ligne de tableau.

Dans la région de 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 région de 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 Formulaire 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 le page suivante 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 Formulaire 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. Pour commencer, créons 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 Développements, 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 de module commun 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é Formulaire, 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 Chapeau 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. Dans de nombreux aides à l'enseignement ils écrivent 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 sans trop d'effort. requêtes complexes. 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). Ouvrir la fenêtre des options 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, nous traînons Champs obligatoiresà la zone la plus à droite du concepteur 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 :

SelectionContractor = 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 l'échantillon et le sortir vers feuille de calcul au deuxième 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 une vidéo sur la création d'un externe formulaire imprimé pour une application managée :

Les paramètres utilisateur dans 1C sont généralement divisés en trois parties.

Premièrement, la plate-forme 1C permet à chaque utilisateur de définir ses propres paramètres 1C pour plus de commodité. Par exemple, les paramètres 1C Rapports SKD.

Deuxièmement, dans chaque configuration de type et non-type, il existe généralement de nombreux processus qui effectuent des actions de service. Le traitement nécessite une personnalisation. Dommage de perdre du temps à ressaisir les paramètres à chaque ouverture du traitement.

Et enfin, troisièmement, pour le programmeur lui-même, pour que le programme soit universel, il vaut mieux ne pas écrire certaines valeurs par défaut dans le code du programme, mais les stocker dans certains paramètres.

Où stocker tous ces paramètres dans 1C ?

Comment les paramètres 1C ont été enregistrés avant

La plate-forme offrait l'option standard suivante :

  • Lorsque vous souhaitez mémoriser le réglage 1C, le programmateur utilise la fonction
    saveValue("SettingName", Value);
  • Pour lire le réglage 1C, utilisez la fonction
    Valeur = RestoreValue("SettingName", Value);

En conséquence, le programmeur crée des boutons pour enregistrer et restaurer les paramètres 1C, et l'utilisateur utilise ce mécanisme (enfin, ou le programmeur les enregistre automatiquement).

En tant que valeur, vous pouvez utiliser non seulement un nombre ou une chaîne, mais aussi, par exemple, une Structure - un type qui vous permet de stocker de nombreuses valeurs avec leurs noms, par exemple :
Paramètres = Nouvelle Structure();
Settings.Insert("Nom des paramètres", Valeur);
Valeur = Settings.SettingsName ;

Le paramètre 1C est enregistré pour l'utilisateur qui a appuyé sur le bouton d'enregistrement des paramètres 1C développé par le programmeur (ou sous lequel ces actions ont été effectuées automatiquement). Les paramètres 1C sont stockés dans un fichier texte dans le dossier avec la base de données (lors de l'utilisation d'une base de données de fichiers).

En outre, le programmeur était libre de développer ses propres méthodes arbitraires pour stocker les paramètres 1C à l'aide de méthodes conventionnelles - par exemple, en travaillant avec du texte et Fichiers XML- enregistrer les paramètres 1C arbitrairement dans un fichier.

Dans les configurations typiques, les paramètres de rapport 1C étaient enregistrés dans le registre d'informations. Et les paramètres des rapports 1C ACS peuvent être enregistrés dans un fichier XML.

Stockage des paramètres standard 1C

Toutes ces possibilités restent dans nouvelle plateforme 8.2, mais finalement une certaine "méthode standard" pour enregistrer les paramètres est apparue - le stockage des paramètres 1C.

Le mécanisme est divisé en deux parties - paramètres de stockage standard et personnalisés 1C. La norme est implémentée dans la plate-forme 1C, les personnalisées sont l'objet 1C que le programmeur crée et programme.

Le stockage standard des paramètres 1C est utilisé par défaut par la plateforme dans client léger pour enregistrer les paramètres 1C de l'utilisateur dans les mécanismes de plate-forme suivants :

  • Interface gérée par les commandes
  • Formes
  • Paramètres et options des rapports.

Le programmeur peut utiliser stockage standard Paramètres 1C à partir du code des programmes en langage 1C d'une manière similaire à ce qui se passait auparavant :

  • Quand se souvenir d'un réglage
    GeneralSettings Storage.Save("ObjectName", "SettingsName", Value);
  • Pour lire le réglage
    Valeur = GeneralSettings Storage.Load("ObjectName", "SettingsName", Value);
  • Pour obtenir une liste des paramètres
    Liste = GeneralSettings Storage.GetList("ObjectName");

Les paramètres 1C sont stockés directement dans la base de données, dans des tables spéciales.

Comme vous pouvez le voir, par rapport à l'ancien mécanisme, une section supplémentaire a été ajoutée - le nom de l'objet. Plate-forme, quand sauvegarde automatique le nom de l'objet 1C est utilisé dans les métadonnées indiquant le type, par exemple :
Rapport.Ventes

Il est également devenu possible de gérer le nom d'utilisateur pour lequel les paramètres 1C seront enregistrés, en le spécifiant comme dernier paramètre.

Il existe les stockages de paramètres 1C standard suivants :

  • Paramètres du système de stockage
  • VaultGeneralSettings
  • StorageSettingsFormsData
  • RepositoryUserSettingsReports et RepositoryVariantsReports.

Paramètres de stockage 1C

Le programmeur peut créer son propre stockage de paramètres - dans le configurateur.

Cela devrait être fait dans les cas suivants :

  • Contrôle de référence lors du stockage des paramètres 1C
  • Migration des paramètres 1C lors de l'utilisation
  • Structure spéciale des paramètres 1C (pour sa conformité automatique)
  • Remplacer les stockages par défaut.

Pour créer votre propre magasin de paramètres 1C, vous devez en ajouter un dans le configurateur dans la fenêtre de configuration dans la branche Général / Magasin de paramètres 1C.

Vous pouvez remplacer les magasins de paramètres 1C standard utilisés par la plate-forme dans les propriétés de configuration (la branche racine de la configuration, que les programmeurs appellent généralement Root ou Head).

S'il y a une chaîne vide dans les propriétés, le stockage standard des paramètres 1C est utilisé, sinon, celui sélectionné est utilisé et le standard n'est pas utilisé.

L'utilisation du stockage est possible automatiquement :


Dans un client lourd, pour une utilisation, il est nécessaire d'enregistrer un appel direct pour enregistrer les paramètres 1C dans le code de langue 1C :
SettingsStorage.StorageName.Save();

Lorsque vous ajoutez votre propre stockage de paramètres 1C à la configuration, vous devez écrire des gestionnaires pour charger et enregistrer des valeurs dans le langage 1C, sinon le stockage ne fonctionnera pas.

En fait, dans ces fonctions, vous écrivez vous-même le code pour enregistrer la valeur (dans le stockage standard ou dans un fichier ou dans un répertoire ou dans le registre d'informations, etc.) et charger la valeur.

Note : / 0

Aujourd'hui, nous allons parler des paramètres dans les rapports dans 1C: Enterprise 8.2 ou 8.3, en utilisant l'exemple d'une configuration 1C:Entreprise 8. Gestion commerciale pour l'Ukraine

Mise à jour

Nous avons complété l'article avec des paramètres pour la configuration sur formulaires gérés oh, et ils ont écrit sur quelques astuces pour créer des rapports dans 1C : Entreprise 8. Gestion du commerce pour l'Ukraine, éd. 3.1 (formulaires gérés)

Voyons comment, en utilisant l'exemple de configuration Gestion commerciale pour l'Ukraine

vous pouvez facilement et rapidement personnaliser le rapport exactement selon vos besoins.

Les formulaires gérés signifient que apparence Les rapports peuvent être personnalisés à votre guise. Après tout, avant, si l'utilisateur souhaitait modifier les paramètres de rapport, il devait demander au programmeur de « terminer » les rapports dont il avait besoin. Vous pouvez désormais personnaliser vous-même n'importe quel rapport sans avoir recours à l'aide d'un programmeur.

Paramètres de rapport dans 1C : Entreprise 8. Gestion du commerce pour l'Ukraine, éd. 3

Pour personnaliser le rapport, cliquez sur le bouton Réglages. Une fenêtre avec des paramètres s'ouvre devant nous.

Pour tout voir (paramètres avancés), cliquez sur Toutes les actions → Tous les paramètres

Dans cette fenêtre, nous pouvons ajouter les champs dont nous avons besoin, regrouper les champs, faire une sélection, et bien plus encore.

Dans la ligne de période - nous pouvons choisir pour quelle période nous voulons voir les données.

Champs sélectionnés - ici vous pouvez ajouter des champs manquants

Dans l'onglet de sélection, nous ne pouvons sélectionner que les éléments que vous devez voir.

Types de comparaison :

  • Équivaut à– Vous ne pouvez sélectionner qu'une seule valeur
  • Inégal- la valeur pour laquelle vous ne voulez pas voir les données
  • Listé- si vous souhaitez sélectionner plusieurs valeurs
  • Dans un groupe de la liste- vous pouvez sélectionner une liste de plusieurs groupes de données.
  • Pas dans la liste- sélection d'une liste de postes qui ne devraient pas être inclus dans le rapport
  • Pas dans le groupe de liste– exclusion de la liste des groupes de données de la sélection
  • Dans un groupe– dans ce cas, vous ne verrez les données que pour un groupe/catégorie particulier
  • Pas en groupe- exclusion de groupe de données

Par exemple, dans la liste des marchandises dans les entrepôts, nous voulons voir toutes les marchandises que nous avons en stock. Pour ce faire, activez la sélection Reste final supérieur à 0.

Maintenant, notre rapport ressemble à ceci :

Sur l'onglet de tri, nous pouvons trier nos données.

Par exemple, nous voulons trier nos produits par ordre alphabétique. Pour cela, rendez-vous dans la fenêtre de tri. Et faites simplement glisser l'attribut "Nomenclature" sur le côté droit de la fenêtre et définissez le sens de tri sur "Croissant".

Le rapport a commencé à ressembler à ceci :

Dans l'onglet de regroupement, nous pouvons regrouper les données par une certaine valeur. Par exemple, nous voulons voir nos soldes dans le contexte des entrepôts. Tout est simple ici : on clique sur trois points, on va dans la fenêtre d'édition du groupe et on ajoute un nouveau groupement "Entrepôt" et on sélectionne le type "Hiérarchie".

Et nous les regrouperons également par mois, c'est-à-dire que nous découvrirons au cours de quel mois nous avons reçu la marchandise.

Pour cela, ajoutez le regroupement suivant : Période mois (il est également possible de regrouper par années, trimestres, jours)

Regardons maintenant l'apparence de notre rapport :

Comme vous pouvez le voir, dans les paramètres, nous avons doublé le regroupement par entrepôts. Comment trouver d'où vient le groupement supplémentaire ? Étant donné que dans les formulaires gérés, vous pouvez concevoir vous-même un rapport, examinons donc la structure du rapport elle-même. Pour cela nous allons à

On voit la structure du rapport :

C'est-à-dire que le rapport est construit comme suit : il y a d'abord un regroupement par entrepôts, puis des sous-groupes : regroupement par Nomenclature, caractéristiques, séries et unités de mesure, après quoi il y a un regroupement par documents de mouvement, et le dernier regroupement indépendant est un unité de mesure

Si nous décochons simplement la case à cocher Entrepôt, alors, en conséquence, 2 groupements seront désactivés : l'article et le bureau d'enregistrement. Par conséquent, nous "saisissons" simplement la ligne Nomenclature et la faisons glisser dans le rapport. Nous décochons l'entrepôt. Maintenant, notre structure de rapport devrait ressembler à ceci :

Maintenant, le rapport a l'air sympa :

Dans l'onglet des champs de nomenclature, nous pouvons sélectionner uniquement les champs que nous voulons voir dans le rapport. Par exemple, dans le rapport sur les marchandises dans les entrepôts, nous voulons voir l'article de l'article, le nom de l'article, les caractéristiques de l'article, les unités. des mesures. Pour ce faire, accédez à l'onglet Champs d'article et définissez tous les détails ci-dessus. De plus, pour que le nom de l'élément et ses caractéristiques figurent dans la même colonne du rapport, il est nécessaire de placer ces détails dans un groupe (comme indiqué sur la figure).

Avec l'aide de l'onglet Mise en forme conditionnelle, nous pouvons colorer notre rapport. Par exemple, nous voulons trouver rapidement la quantité d'un produit dans un certain entrepôt. Pour ce faire, sélectionnez un certain entrepôt avec une couleur :

Dans l'onglet Condition, sélectionnez l'entrepôt que nous voulons "peindre". Entrepôt = Boutique "Produits"

Sur l'onglet design, sélectionnez quelle couleur (nous choisirons le jaune) :

Dans l'onglet Champs dessinables, nous pouvons voir quels champs/colonnes nous allons changer de couleur. Si nous laissons cet onglet vide, le programme peindra en jaune tout ce qui concerne l'entrepôt "Products Store"

Et maintenant nous générons notre rapport !

Maintenant ça ressemble à ça :

Nous voyons d'abord le regroupement par entrepôts, puis le regroupement par mois.

Vous pouvez basculer entre les paramètres à l'aide d'un bouton comme - Sélectionnez les paramètres:

Notre cadre pour ce moment n'est disponible que pour nous, mais si nous voulons l'ajouter à d'autres utilisateurs, vous devez vous rendre dans la section Administration → Paramètres utilisateur et droits → Paramètres de copie

Dans l'onglet Paramètres du rapport, nous voyons tous les rapports dont nous avons enregistré les paramètres, et maintenant nous sélectionnons notre paramètre.

Il ne nous reste plus qu'à copier et fermer.

Il existe une autre astuce avec les rapports sur les formulaires gérés : vous pouvez ajouter des colonnes, des lignes d'une manière légèrement différente.

Passons à travers Toutes les actions → Modifier la variante du rapport

La fenêtre suivante s'est ouverte devant nous :

Ici, nous pouvons également regrouper, trier, ajouter des colonnes/lignes. En général, tout ce que votre cœur désire.

Et en utilisant l'exemple du rapport Gross Profit, je vais montrer comment vous pouvez ajouter la colonne Markup.

Accédez également aux paramètres via Toutes les actions → Modifier la variante du rapport.

Dans la fenêtre qui apparaît, écrivez le nom de notre colonne : Marge.

Dans le champ Expression du total des enregistrements, saisissez la formule : Chiffre d'affaires / Total * 100 - 100

Sur la gauche, nous trouvons un dossier avec le nom Les champs personnalisés et voir la marge nouvellement créée

Ajoutez-le dans la colonne de droite

Et maintenant, ajoutons notre balisage à la structure du rapport : Organisation et services :

Et terminer l'édition.

Créons un rapport.

Nous voyons qu'une nouvelle colonne est apparue, mais c'est un euphémisme, nous ne sommes pas satisfaits du nombre de décimales. Mais c'est aussi très facile à réparer.

Nous devons revenir aux paramètres, à savoir l'onglet Champs personnalisés, et modifier notre formule. Le format de nombre que nous voulons voir est de 2 décimales.

Nous faisons la formule suivante : Format (Revenu / Total * 100 - 100, "NPV = 2")

Générons à nouveau le rapport.

Maintenant, nous voyons que tout est en ordre!

Mais il arrive qu'une erreur apparaisse : "Division par zéro". Pour éviter une telle erreur, nous écrivons la formule comme suit :

Choix

Quand totale<> 0

Puis Format(Revenu / Total * 100 - 100, "VAN = 2")

Sinon 0

Fin

Nous pouvons également ajouter une nouvelle plaque à notre rapport. Pour ce faire, accédez également à l'option Modifier le rapport. Plus loin Ajouter → Nouveau tableau.

Ajoutons maintenant des lignes et des colonnes.

Disons que nous voulons voir le bénéfice brut uniquement par segment. appareils électroménagers.

Ajoutons les regroupements suivants aux lignes : Nomenclature.

Dans l'onglet Sélection, cochez la case "L'élément courant a sa propre sélection" et ajoutez un élément du groupe des appareils électroménagers.

Dans l'onglet Champs, cochez également la case "L'élément courant a ses propres paramètres pour les champs sélectionnés" - Nomenclature.

Dans la structure de notre tableau, à savoir les colonnes, nous ajoutons un nouveau regroupement, laissez le champ vide.

Appelons notre table : Appareils électroménagers. Pour ce faire, placez-vous sur le tableau et dans l'onglet Paramètres avancés, entrez un titre (comme indiqué dans la figure ci-dessous).

Créons maintenant un rapport.

Notre nouvelle plaque est entrée dans le rapport sur le bénéfice brut.

Tout est élémentaire !

Paramètres de rapport dans 1C : Entreprise 8. Gestion du commerce pour l'Ukraine, éd. 2.3

Les rapports dans 1C:Enterprise sont un constructeur, mais tous les utilisateurs ne connaissent pas les subtilités des paramètres de rapport.

Configurez le rapport, appuyez sur le bouton Enregistrer les paramètres dans le panneau de rapport, créez-en un nouveau, écrivez le nom du rapport. Si vous souhaitez que ce rapport s'ouvre à l'ouverture, cochez la case à côté de Ouvrir.

Afin d'ouvrir réglage nécessaire rapport, cliquez sur le bouton Restaurer les paramètres et double-cliquez pour sélectionner réglage souhaité. N'oubliez pas de cliquer sur le bouton Générer.

2. Comment mettre en place un rapport plus détaillé ?

Nous ouvrons le rapport requis, appuyez sur le bouton Paramètres, cochez la case Paramètres avancés ci-dessous, vous aurez des signets supplémentaires.

Onglet Général

Utilisez les cases à cocher pour spécifier les colonnes que vous souhaitez voir dans le rapport et celles qui ne le sont pas.

Vous pouvez utiliser les flèches pour sélectionner la position des colonnes.

Onglet Regroupement

Sur cet onglet, vous pouvez ajouter/supprimer les colonnes/lignes que vous souhaitez voir dans le rapport, ainsi que convertir les données pour une visualisation facile.

Regroupement de lignes - les données seront formées vers le bas, Regroupement de colonnes - les données seront formées sur le côté (à droite). Par exemple, dans le groupement de lignes, vous pouvez afficher les données de vente par article, et dans le groupement de colonnes, vous pouvez voir ces ventes par mois.

Vous pouvez ajouter n'importe quel champ pour remplir les données du rapport. Nous appuyons sur le bouton Ajouter, la fenêtre Sélection de champ apparaît, où se trouvent toutes les options qui peuvent être ajoutées au rapport. Nous sélectionnons l'option requise (avec un signe plus, vous pouvez révéler les informations plus en détail, par exemple, vous devez voir les données dans le contexte de l'article de la nomenclature, puis vous cliquez sur la nomenclature et tout ce qui concerne la nomenclature se déroule). Cliquez sur OK pour ajouter un nouveau champ.


Le type de regroupement ligne/colonne est un type de vue de données (regroupement), par exemple Hiérarchie, vous permet de réduire/développer les résultats.

3. Comment faire une sélection dans le rapport par un élément spécifique du répertoire/document/groupe de répertoires ?

Sélection de signets vous permet de faire une sélection non seulement pour les lignes/colonnes qui sont déjà dans les paramètres du rapport, mais également d'ajouter votre propre option de sélection.

Pour ce faire, cliquez sur le bouton Ajouter et ajoutez l'option dont vous avez besoin dans la fenêtre Sélection de champ. Avec une coche, nous faisons un choix sur quel élément nous aurons une sélection. Grâce à la colonne Type de comparaison, nous pouvons sélectionner non seulement un seul élément, mais également des groupes.

Type de comparaison

Équivaut à- sélectionner une seule position

Inégal- un poste pour lequel vous ne voulez pas voir les données

Listé- la possibilité de générer une liste des postes que vous souhaitez voir dans le rapport. Dans la fenêtre Sélectionner la liste, créez la liste nécessaire des éléments des répertoires/documents.

Dans un groupe de la liste- vous pouvez sélectionner une liste de groupes/sous-groupes individuels. Afin de sélectionner le dossier du groupe, vous devez appuyer sur le bouton Sélectionner, et ainsi faire une liste des sous-groupes pour lesquels vous souhaitez voir la sélection.

Pas dans la liste - sélection d'une liste de postes qui ne devraient pas être inclus dans le rapport

Pas dans le groupe de liste- sélection d'une liste de groupes / sous-groupes qui ne doivent pas être inclus dans le rapport

Dans un groupe- vous pouvez faire une sélection pour UN seul groupe (pour sélectionner un groupe, vous devez appuyer sur le bouton Select)

Pas en groupe- sélection par un groupe, qui ne doit pas figurer dans le rapport.

4. Comment créer des champs supplémentaires dans des colonnes séparées ?

Onglet Champs supplémentaires vous permet de créer des champs supplémentaires dans une colonne séparée

  • Ajout du champ requis
  • Choisissez Placement, dans une colonne distincte ou dans une colonne qui figure déjà dans le rapport
  • Sélectionnez la position, avant la colonne de regroupement (c'est-à-dire la première colonne), après le regroupement (deuxième colonne) ou à la place de Gregroupement (c'est-à-dire qu'il n'y aura aucune colonne de regroupement).

5. Comment trier par ordre croissant/décroissant un champ dans un état ?

Par exemple, vous avez besoin d'afficher les statistiques d'un produit par ventes, au début du rapport nous aurons un produit qui est le plus vendu.

Marque-page Trier

Sélectionnez le champ que vous souhaitez trier - ce sera le champ Quantité (en unités de base), choisissez l'option de tri décroissant. Et nous regardons le début du produit le plus vendu. si vous avez besoin d'examiner un produit qui se vend mal, sélectionnez le tri croissant.

6. Comment supprimer les zéros après la virgule décimale de la quantité dans le rapport

Conception de signet

Sélectionnez la zone Quantité en unités de base dans la colonne, ouvrez la colonne Apparence, cochez la case à côté du champ Format et ouvrez la valeur.

À côté du champ Longueur, cochez la case et choisissez la longueur de votre nombre maximum. Si vous devez définir le séparateur décimal (c'est-à-dire le nombre de caractères après les zéros), cochez la case et sélectionnez le nombre de décimales. si vous n'avez pas besoin de parties fractionnaires, ne changez rien.

Nous appuyons sur le bouton OK, ce paramètre va dans la fenêtre Modification des paramètres de conception, nous appuyons également sur OK, et maintenant ce paramètre de format est entré dans l'onglet Conception.

Nous formons un rapport, et notre quantité est maintenant sans partie fractionnaire.

* À l'aide de l'onglet Conception, vous pouvez sélectionner différentes variantes motif. Dans une autre leçon, nous présenterons des options pour définir la conception du rapport.

7. Paramètres de rapport en double pour les autres utilisateurs.

Par exemple, nous avons des responsables qui doivent enregistrer le même rapport Ventes dans leurs paramètres. Ces gestionnaires sont 7 personnes, et les paramètres de rapport sont sérieux, et dupliquer cela sept fois pour chaque utilisateur est une entreprise complètement gênante.

Il y a une issue !

  • Pour commencer, configurons ce rapport pour un responsable, enregistrez-le.
  • Ensuite, nous allons dans la base de données du deuxième gestionnaire, ouvrons le rapport des ventes, cliquez sur le bouton Restaurer les paramètres, cette liste est vide (puisque le deuxième gestionnaire n'avait pas de paramètres enregistrés).
  • Nous cliquons sur le bouton Paramètres tous les utilisateurs en haut, et maintenant cette liste contient tous les rapports qui ont été enregistrés par les utilisateurs.
  • Nous sélectionnons le rapport requis, le bouton Générer, et nous avons un rapport que nous avons configuré pour le premier responsable
  • Nous cliquons maintenant sur le bouton Enregistrer et les paramètres de ce rapport sont enregistrés pour le deuxième responsable.

Aujourd'hui, nous vous avons expliqué quelques astuces pour générer des rapports dans 1C : Enterprise, bien sûr, ce ne sont pas tous les secrets, cherchez le reste dans nos prochaines leçons.

Nous espérons que ce tutoriel vous a été utile ! Merci pour votre attention!

Cordialement, compagnie Ailette Mou, tendre

Vous pouvez l'apprendre grâce à nos cours en ligne « 1C : Entreprise », ou vous inscrire à nos cours « 1C : Entreprise », qui ont lieu dans nos bureaux.

Si vous n'avez pas encore acheté ce programme, vous avez une excellente occasion d'acheter 1C: Enterprise 8. Trade Management for Ukraine sur notre site Web Ci-dessous, nous avons rassemblé pour vous des sujets similaires qui vous aideront à comprendre les fonctionnalités du programme 1C:Enterprise.

  • < Назад
  • Suivant >

Secrets de configuration des rapports dans "1C: Enterprise" 8.3 - 4,5 sur 5 basé sur 6 avis