LA CLOCHE

Il y a ceux qui lisent cette actualité avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam

L'onglet répète la boîte de dialogue personnalisée «Paramètres» disponible pour personnaliser les paramètres du rapport par l'utilisateur.

Le remplissage des paramètres de cet onglet sert à personnaliser le rapport par défaut dans le mode défini par l'utilisateur du rapport.
La fenêtre de configuration d'un rapport est disponible en mode utilisateur du rapport, tandis que la différence par rapport à la configuration de l'ACS dans le configurateur est que vous pouvez utiliser les valeurs de données non prédéfinies de la base de données.
La fenêtre de paramètres se compose de la fenêtre principale, où sont affichées des listes de regroupements, de tableaux et de diagrammes et d'un ensemble de signets dans lesquels sont définis les paramètres de configuration des objets spécifiés dans la section des regroupements. Quels paramètres sont modifiés dans ce moment nous pouvons indiquer en cliquant sur le bouton avec l'inscription sur quel objet nous éditons:

Modifier éventuellement réglages généraux pour l'ensemble du rapport, et en cliquant sur le bouton correspondant, vous pouvez éditer les paramètres exclusivement pour l'objet sélectionné: élément de regroupement, tableau, diagramme.

Onglet Paramètres de données
Dans cet onglet, les valeurs des paramètres de données sont définies. La liste des paramètres de données disponibles est définie dans l'onglet "Paramètres" du schéma ACS, ici seules les valeurs de paramètres définies par l'utilisateur sont définies. De plus, seuls les paramètres disponibles pour lesquels la case «Restriction of availability» est décochée dans le schéma ACS.


Il y a plusieurs colonnes dans le tableau:
1. "Utilisation" - avec une coche, l'utilisateur indique d'utiliser ou non ce paramètre pour générer un rapport.
2. "Paramètre" - le nom du paramètre
3. "Valeur du paramètre" - la valeur du paramètre ou une indication à partir de laquelle la valeur du paramètre peut être récupérée. Par exemple, si vous réinitialisez la valeur actuelle en cliquant sur «X», puis en cliquant sur le bouton «T», vous ouvrirez le choix du type de paramètre dans la boîte de dialogue:

La source peut être n'importe quelle valeur type simple String, Date, Number, Boolean ou une référence d'objet dans la base de données. Et aussi la source de ce paramètre peut être la valeur d'un autre paramètre, pour cela, vous devez sélectionner la valeur "Champ de composition des données" et sélectionner le champ requis dans la liste des paramètres.
Pour la date, vous pouvez attribuer des valeurs automatiques de substitution: "Début de ce jour", "Début de cette semaine", etc.

Onglet Champs sélectionnés
Dans cet onglet, vous définissez les champs, à l'exception des regroupements, qui seront affichés dans le rapport. L'onglet contient deux listes avec les champs disponibles et les champs sélectionnés. En plus des champs définis dans les ensembles de données, les paramètres et les champs système "Numéro par commande", "Numéro par commandeInGroupage", "Niveau", "LevelInGrouping", ainsi que les champs personnalisés définis dans l'onglet "Champs personnalisés" sont disponibles pour la sortie.

Vous pouvez transférer des champs en double-cliquant sur le nom dans la fenêtre de gauche ou en utilisant un bouton spécial dans le panneau de commande. Vous pouvez ajouter les éléments suivants "Nouveau champ", " Un nouveau groupe"," Nouveau champ automatique ". "Nouveau champ" - ajoute un élément dans lequel vous pouvez sélectionner un champ dans la liste des champs disponibles. "Nouveau groupe" - vous pouvez regrouper un certain nombre de champs sous un en-tête. "Nouveau champ automatique" - est utilisé pour indiquer que les champs affichés pour les regroupements seront sélectionnés parmi les paramètres de regroupement d'un niveau supérieur. Par exemple, après avoir défini un certain nombre de champs de ressources pour l'ensemble du rapport, nous avons spécifié un nouveau champ automatique pour les regroupements. Vous pouvez supprimer des éléments à l'aide du bouton Supprimer, vous déplacer dans la position à l'aide des boutons de navigation. En cochant les cases, vous pouvez ajuster la visibilité des champs dans le rapport.
Après avoir défini un ensemble de champs, nous pouvons éditer les champs dans la liste, vous devez entrer dans le mode d'édition de champ, cliquez sur le bouton de sélection et sélectionnez le champ souhaité dans la liste.

Pour les ressources, vous pouvez sélectionner un raffinement pour le calcul de la variable: "% dans le groupe" - utilisé pour calculer la part de la valeur de la ressource pour l'ensemble du regroupement dans le groupe, c'est-à-dire par conséquent, le groupe par les valeurs de ressources agrégées sera de 100% "% Total" - le pourcentage total, quel que soit le groupe, pour toutes les valeurs de ressource.
Pour les champs de type d'objet, référence, document, etc. il est possible de spécifier les détails de l'objet dans les champs sélectionnés.

Onglet de sélection
Sur cette page à onglet, vous définissez les sélections qui affectent le résultat du rapport.


En plus de l'onglet "Champs sélectionnés", il y a deux fenêtres, à gauche tous les champs ACS disponibles pour la sélection dans la sélection, à droite il y a des éléments et des valeurs qui affectent la sélection. Vous pouvez également ajouter un nouvel élément ou un groupe d'éléments en appuyant sur la touche Ajouter. Vous pouvez supprimer des éléments à l'aide du bouton Supprimer, vous déplacer autour de la position à l'aide des flèches de déplacement. En cochant les cases, vous pouvez ajuster l'activité d'une sélection particulière dans le rapport. Après avoir cliqué sur le bouton "J'aime" dans la liste des éléments de sélection, des détails de sélection supplémentaires sont ajoutés: "Mode d'affichage" et "Présentation".

Après avoir ajouté un nouvel élément à la liste des sélections, les champs suivants sont disponibles pour modification:
"Valeur gauche" - Champ ACS ou champ de type simple ("Number", "String", "Date", "Boolean") sur lequel la sélection est appliquée
"Type de comparaison" - une liste de conditions de sélection possibles: "Egal", "Pas égal", "Dans la liste", "Dans un groupe de la liste", "Dans un groupe", "Pas dans une liste", "Pas dans un groupe d'une liste", "Pas dans le groupe", "Contient", "Ne contient pas", "Rempli", "Non rempli"
"Valeur droite" - la valeur de sélection correspond à la valeur du champ "Valeur gauche". Si "Type de comparaison" est "Dans la liste", "Dans le groupe de la liste", "Pas dans la liste", "Pas dans le groupe de la liste", alors une liste de valeurs est disponible pour le réglage
"Mode d'affichage" - deux options possibles " Accès rapide"Et" Normal ". Si "Accès rapide" est défini, alors si possible, les valeurs de sélection sont affichées sous forme de liste déroulante, ceci est particulièrement vrai pour les petits ouvrages de référence, énumérations ou types de caractéristiques qui changent rarement. "Normal" - la manière par défaut d'afficher les valeurs des objets sous la forme d'un formulaire de sélection ou d'une liste.
"Afficher" - une représentation textuelle de la sélection en mode réduit (si le bouton "Détails" n'est pas cliqué), ainsi qu'une vue de sélection lors de l'affichage d'un rapport.
Vous pouvez ajouter des groupes aux sélections - qui servent à combiner plusieurs sélections, par n'importe quel critère "ET", "OU", "NON".


Par exemple, vous devez combiner plusieurs conditions à l'aide de l'opérateur AND. Pour ce faire, ajoutez "Groupe I" à la sélection et listez les conditions de ce groupe. L'imbrication de groupes est autorisée, à l'aide de laquelle vous pouvez créer des conditions complexes. En plus de "Group AND", "Group OR" et "Group Not" sont disponibles. Par défaut, seule une liste de conditions de sélection n'appartient à aucun groupe, elle est connectée les unes aux autres à l'aide de l'opérateur "ET".

Onglet de tri
Cet onglet contient les champs par lesquels le tri est effectué.


L'ajout de champs sur cet onglet est similaire à la façon dont cela se fait dans l'onglet "Champs sélectionnés". Le seul paramètre spécifié dans les champs de tri sélectionnés est le sens de tri.

Onglet "Apparence conditionnelle"
Dans l'onglet "Conception conditionnelle", nous indiquons quels champs, conditions de sélection et conditions de conception seront appliqués lorsque les champs seront affichés dans le rapport.


"Portée" - une liste de champs qui sont affectés par l'apparence conditionnelle.

"Sélection" - les conditions de sélection dans lesquelles l'enregistrement conditionnel est valide

Les conditions de sélection sont spécifiées de la même manière que dans l'onglet "Sélection" de la fenêtre principale des paramètres de mise en page.
"Apparence conditionnelle" - lorsque ce champ est rempli, une fenêtre s'affiche avec un choix d'options de conception possibles pour les champs spécifiés.

Liste des options de conception possibles:
Couleur d'arrière-plan - Définit la couleur d'arrière-plan dans les cellules
Couleur du texte - Définit la couleur du texte dans les cellules
Couleur dans le graphique - Spécifie la couleur des lignes dans un graphique
Couleur de la bordure - Couleur de la ligne de bordure
Style de bordure - Types de ligne de bordure
Style de bordure gauche - gauche
Style de bordure haut-haut
Style de bordure droite - droite
Style de bordure bas-bas
Police - Type de police, épaisseur, inclinaison, etc.
Indent - Nombre de caractères de retrait
Retrait automatique - Nombre de caractères d'indentation appliqués dans les regroupements
Position horizontale - La position horizontale du texte dans la cellule
Position verticale - La position verticale du texte dans la cellule
Placement - Placement du texte qui ne rentre pas dans la cellule
Orientation du texte - Orientation du texte en degrés (par exemple, 90-rotation perpendiculaire)
Format - Chaîne de format sens
Highlight Negative - Un indicateur pour mettre en évidence les valeurs négatives
Largeur minimale - Largeur de cellule minimale en points
Hauteur minimale - Hauteur minimale de la cellule
Hauteur maximale - Hauteur maximale
Texte - Le texte affiché à la place de la valeur

Onglet Champs personnalisés
Dans cet onglet, vous pouvez spécifier des champs personnalisés et des formules par lesquelles les champs seront calculés.


Lorsque vous cliquez sur l'ajout d'un champ, un choix du type de champ personnalisé s'ouvre: "Nouvelle sélection de champ", "Nouvelle expression de champ".
"Champ de sélection" - une boîte de dialogue permettant de créer un nouveau champ de sélection apparaît. Ce champ prendra les valeurs spécifiées en fonction de la condition de sélection spécifiée dans le tableau "Options".

"Champ d'expression" - utilisé lorsque, sans changer le schéma de mise en page, insérez des champs calculés. Par exemple, le schéma indique les ressources "Quantité" et "Montant". En mode utilisateur, nous voulons calculer le prix. Pour ce faire, nous insérons la formule dans le champ de conception de l'expression:

Les expressions issues de requêtes peuvent être utilisées dans des champs personnalisés.
Vous devez également utiliser les fonctions d'agrégation SUM (..), QUANTITY (), MINIMUM (..), MAXIMUM (..) pour indiquer les totaux dans l'expression.

Onglet Autres paramètres
Dans l'onglet Autres paramètres, vous définissez les paramètres qui affectent l'emplacement des regroupements, des champs de sélection, des ressources, etc.

Disposition de la peau Modèles de peau prédéfinis définis
Position des totaux Ce paramètre affecte la position des totaux
Emplacement des champs de regroupement
Localisation des factions
Emplacement des exigences
Emplacement de la ressource
Positionner les totaux généraux horizontalement
Positionnement vertical des totaux généraux
Type d'en-tête de champ
Type de graphique
Valeur de base
Ignorer la valeur de base
Composition des signatures
Mode coulissant
Afficher le tableau de données
Valeur maximum
Valeur minimum
Bordure
Pente
Police de caractère
Couleur de l'arrière plan
Style de ligne
Placer une légende
Barres du graphique de mesure
Afficher le titre
Titre
Paramètres des données de sortie
Afficher la sélection

Fenêtre des paramètres de regroupement


Les paramètres de schéma de composition de données peuvent contenir une structure qui inclut les éléments de paramètres disponibles.
Ces éléments sont:
regroupement;
table;
diagramme;
rapport imbriqué.

Les paramètres suivants sont disponibles pour le regroupement:
Indicateur d'utilisation de regroupement - s'il est défini - le regroupement est utilisé lors de la liaison;
Champs de regroupement - un ensemble de champs par lequel le regroupement est effectué. Chaque champ de regroupement du système de composition de données a les propriétés suivantes:
- indicateur d'utilisation de champ - si défini - le champ est utilisé;
- Champ de regroupement - le chemin d'accès aux données du champ utilisé pour le regroupement;
- Type de regroupement - type de regroupement (hiérarchie, hiérarchie uniquement, éléments);
- Type d'ajout - la nécessité d'ajouter des dates dans la période;
- Date de début - date de début de la période. Il peut contenir une valeur constante ou une valeur est un champ;
- Date de fin - la date de fin de la période. Il peut contenir une valeur constante ou une valeur est un champ;

Lors du regroupement par un champ de période, un champ de période parent, qui n'est pas une période supplémentaire, est automatiquement ajouté au regroupement, si les regroupements parents n'ont pas été regroupés par ce champ de période parent.
Par exemple, si le regroupement est effectué par le champ Registrar, le champ PeriodSecond sera automatiquement ajouté au regroupement.
Dans ce cas, la création de regroupements par les attributs des champs période est interdite.

Fonctionnalités de création de rapports dans 1C v8 en mode client lourd

Comment choisir une option?

  • Mettez le bouton "Sélectionner une option" sur le panneau de rapport
  • Placez le champ «OnDate» sur le formulaire

Exemple de code: ProcedureFormSelectOptions (Button) layout \u003d GetLayout ("MainDataCompositionSchema"); spVariants \u003d Nouvelle liste de valeurs; Pour chaque option de Layout.OptionsSettings Cycle spVariants.Add (option.Settings, option.Presentation); Fin de cycle;

choix \u003d spVariants.SelectItem (); Si Choix \u003d Indéfini Then Return; Fin si;

SettingsComposer.LoadSettings (selection.Value);

Forme (); Fin de la procédure

Procédure OnDateWhenChanging (Element) Generate (); Fin de la procédure

Procédure Generate () FormElements.Result.Clear (); SettingsComposer.Settings.DataParameters.SetParameterValue ("Period", OnDate); BuildResult (Form Elements.Result); Fin de la procédure

Procédure ouverte () OnDate \u003d CurrentDate (); Forme (); Fin de la procédure

Fonctionnalités de création de rapports via ACS

Générer un rapport étape par étape

  1. Créer un rapport dans le nœud Rapports
  2. Créer une mise en page dans un rapport, dont le type est Schéma de composition de données
  3. Définir dans les propriétés du rapport: schéma de composition des données principales \u003d mise en page créée
  4. Dans les propriétés du rapport, définissez le sous-système auquel il appartient (le rapport dans l'entreprise sera affiché dans le volet de navigation supérieur)
  5. Créer une demande dans la mise en page (élément: Ajouter un ensemble de données - Demande)
  6. Dans l'onglet Paramètres de la mise en page, décochez toutes les lignes de la colonne Restriction d'accès - c'est-à-dire tous les paramètres seront disponibles pour modification par l'utilisateur
  7. Dans l'onglet Paramètres de la mise en page, dans la fenêtre où le nœud Rapport est affiché, créez un nouveau regroupement sans spécifier le champ de regroupement - une ligne détaillée sera créée
  8. Dans l'onglet Paramètres de la mise en page, dans la fenêtre où un ensemble supplémentaire d'onglets est affiché, sélectionnez supplémentaire. Onglet Paramètres - marquez tous les paramètres avec une coche et sur chaque paramètre appuyez sur le bouton Propriétés de l'élément de configuration utilisateur, la fenêtre de configuration des paramètres s'ouvre, où vous devez cocher la case - Inclure le paramètre dans les paramètres utilisateur
  9. Dans l'onglet Paramètres de la mise en page, dans la fenêtre où un ensemble supplémentaire d'onglets est affiché, sélectionnez supplémentaire. Onglet SelectedFields - vous devez y ajouter des colonnes qui seront affichées dans le rapport
  10. Exécutez l'Entreprise, ouvrez le rapport, définissez les valeurs des paramètres, Générer (vérifiez que l'option Principal pour générer le rapport est sélectionnée)

Comment ajouter un paramètre modifiable par l'utilisateur?

Par exemple, nous devons définir le paramètre de requête "Infobase"

  • Sous la forme de la mise en page, dans l'onglet Paramètres, décochez les cases "Inclure dans les champs disponibles" et "Restrictions d'accessibilité" pour le paramètre requis
  • Sous la forme de la mise en page sur l'onglet Paramètres du sous-onglet (ci-dessous) Paramètres, décochez le paramètre requis, ouvrez les propriétés (bouton avec une clé), sur ce formulaire:
    • Décochez "Inclure dans les paramètres personnalisés"
    • Mode d'édition réglé sur "Non disponible"


  • Dans le module de formulaire de rapport, dans le gestionnaire d'événements "OnVariantLoadOnServer" (vous pouvez également OnOpening, mais PAS OnCreateAtServer, car il est exécuté AVANT de charger les paramètres du rapport et les paramètres seront écrasés) définissez le paramètre par programme:

& AtServer Procédure OnLoadingOptionOnServer (Paramètres)

// Définition du paramètre Settings \u003d Report.Configuration Composer.Settings; Settings.DataParameters.SetParameterValue ("InformationBase", Report.InformationBase); Fin de la procédure

Comment définir des variantes de rapport?

  • Sous la forme de la mise en page de l'onglet Paramètres dans le champ de gauche, vous pouvez créer les variantes de rapport nécessaires

Comment définir des regroupements?

  • Sous la forme de la mise en page de l'onglet Paramètres dans le champ en haut à droite, vous pouvez créer les regroupements nécessaires

Comment afficher un rapport par programmation?

Dans le module formulaire:

& On Client Procedure Generate Report Execute ()

ThisForm.ComposeResult ();

Fin de la procédure

Comment tester un rapport?

Tu as besoin de faire:

  • Créer une situation dans un test client est plus pratique via le tableau de situation
  • obtenir le formulaire de rapport - form \u003d GetForm ("Report.Process.Motion.Report Form");
  • charger la variante souhaitée du rapport - définir le paramètre de l'extension de formulaire de rapport "Variant Key" (le nom du paramètre dans le modèle de composition de données)
  • charger les paramètres de rapport requis -? remplir le paramètre de l'extension du formulaire de rapport "UserSettings" (type "UserDataCompositionSettings") ne fonctionnait pas de cette façon, tout est compliqué, voir ci-dessous.
  • formulaire ouvert - formulaire. Open ()
  • exécuter la formation - form.ComposeResult ();
  • vérifier le contenu document de feuille de calcul résultat du formulaire - agréable d'avoir des fonctions de comparaison avec la référence mxl
  • fermer le formulaire - form.Close (); - ou peut-être que vous n'avez pas besoin de l'ouvrir, vous devez vérifier

voir également

  • description: menu Aide / Assistant de syntaxe / onglet Contenu / Objets de l'interface d'application gérée / Extensions de formulaire gérées / Extension de formulaire gérée pour les paramètres de rapport / de formulaire

Comment charger les paramètres de rapport requis?

La documentation décrit qu'il existe un tel paramètre pour développer le formulaire de rapport "UserSettings" du type "UserDataCompositionSettings", mais qu'il existe une structure d'objet très complexe, il n'a pas été possible de l'utiliser.

Un schéma vraiment fonctionnel:

1. Créez des paramètres dans le rapport

  • Période de type Période standard
  • Sélection du type ListValues \u200b\u200b(il serait préférable d'avoir une Structure, mais elle n'est pas dans la liste des types de paramètres, ainsi qu'un type arbitraire)

2. Transmettez les paramètres requis à la procédure GetForm:

period \u003d New StandardPeriod; period.Variant \u003d VariantStandardPeriod.ArbitraryPeriod; period.StartDate \u003d currentDate; period.EndDate \u003d date de demain;

selection \u003d Nouvelle liste de valeurs; selection.Add (Testing.GetObject (stSituation, "BP1"), "BusinessProcess");

stParameters \u003d Nouvelle structure ("Clé de variante, Période, Sélection", "Principal", période, sélection); // OpenFormModally ("Report.Process Movement.Form.ReportForm", stParameters); form \u003d GetForm ("Formulaire Report.ProcessesMotion.Form.Report", stParameters);

3. Dans les gestionnaires d'événements du formulaire, définissez les paramètres

& OnServer Fonction cnGet (liste, vue) Exporter pour chaque élément De la liste Liste Boucle Si item.View \u003d afficher Puis Retourner item.Value; Fin si; Fin de cycle; Remboursement non défini; FinFonction

& OnServer Procédure SetValueUserSettings (Settings, Name, Value) For Each Element From Settings.Elements Loop IfTypeValue (element) \u003d Type ("DataCompositionSettingsParameterValue") Then If String (element.Parameter) \u003d Name Then element.Value \u003d Value; item.Usage \u003d Vrai; Fin si; Fin si; Fin de cycle; Fin de la procédure

& OnServer Procedure SetValueCustomSelection (Settings, Name, Value) For Each ElementFrom Settings.Elements Loop IfTypeVal (element) \u003d Type ("DataCompositionFlection") Then For Each Selection From element.Elements Loop If Row (selection.LeftValue) \u003d Name Then .RightValue \u003d Valeur; selection.Use \u003d Vrai; Fin si; Fin de cycle; Fin si; Fin de cycle; Fin de la procédure

& AtServer Procédure lors du chargement d'OptionOnServer (Paramètres)

CurrentVariantName \u003d PresentCurrentVariant;

Settings \u003d Report.ConfigurationComposer.Settings; Settings.DataParameters.SetParameterValue ("InformationBase", Report.InformationBase);

Fin de la procédure

& AtServer Procédure lors du chargementUserSettingsOnServer (Paramètres) Settings \u003d Report.ConfigurationComposer.UserSettings;

<> "00010101" Then Settings \u003d Report.OptionsComposer.UserSettings; SetUserSetting Valeur (Paramètres, "Période", Paramètres.Période); Fin si;

ssBusinessProcess \u003d spGet (sélection de paramètres, "BusinessProcess"); Si ssBusinessProcess<> Undefined Then SetCustomSelectionValue (Paramètres, "BusinessProcess", ssBusinessProcess); Fin si;

Fin de la procédure

Remarques:

  • Il existe des paramètres de données, c'est-à-dire ce qui est défini dans les paramètres de requête ACS
  • Certains d'entre eux sont affectés dans le paramètre de variante dans les paramètres utilisateur (dans les propriétés du paramètre, il y a un indicateur "Inclure dans les paramètres utilisateur"
  • Même si, lors du chargement sur le serveur, les valeurs requises sont chargées dans les paramètres de données, un formulaire s'ouvre dans lequel les paramètres enregistrés la dernière fois sont automatiquement chargés. Ces paramètres, lors de la génération d'un rapport, "interrompent" les paramètres de données
  • Dans le gestionnaire WhenLoadingUserSettingsOn the Server, l'objet Settings transmis est une copie paramètres réels, donc pour modifier les paramètres qui apparaîtront sur le formulaire, vous devez remplir l'objet Rapport. Compositeur de paramètres. Paramètres utilisateur.

Comment créer plusieurs paramètres de requête (liste) dans ACS?

La demande doit utiliser l'expression "Dans (& ParameterName)" (voir Expressions booléennes en langage de requête 1Cv8)

En configurant le schéma du circuit ACS dans l'onglet "Paramètres", pour ce paramètre, vérifiez la colonne "Liste des valeurs disponibles". Dans ce cas, lorsque vous sélectionnez un paramètre, l'ACS affiche un formulaire d'édition de liste, dans lequel vous pouvez ajouter n'importe quelle valeur de paramètre.

Comment créer des paramètres de demande désactivés dans ACS?

Dans une requête ACS, vous devez utiliser des constructions entourées d'accolades "{}" .

S'il y a une coche dans le formulaire de rapport (panneau installation rapide) est supprimée du paramètre correspondant, puis cette construction est supprimée de la requête.

Pour plus de détails, voir Extension du langage de requête pour le système de composition de données (1Cv8)

Comment faire un rapport avec une répartition par colonnes?

Pour ce faire, dans le paramétrage de la variante de rapport (modification de la mise en page de la composition des données, onglet "Paramètres", champ en haut à droite), vous devez ajouter "Tableau" comme premier regroupement.

Après cela, les branches "Lignes" et "Colonnes" apparaissent dans le nœud "Table", où les regroupements nécessaires sont ajoutés.

Comment personnaliser le format de sortie des champs?

Dans l'éditeur de modèle de composition de données, dans l'onglet Jeux de données, dans la zone supérieure droite, il y a une liste de champs de rapport.

Il y a deux possibilités:

  1. Personnalisez la valeur de la colonne "Afficher l'expression"
    • ici, vous pouvez entrer une expression de langue qui produit la chaîne souhaitée
    • cela ne fonctionne pas avec les champs de ressources
  2. Ajuster la valeur de la colonne "Apparence"
    • la conception a la propriété "Format" - il s'agit d'une valeur similaire au paramètre de la fonction de langage "Format", vous pouvez définir l'apparence souhaitée
    • la conversion de type ne peut pas être effectuée ici

Des expressions de calcul peuvent être spécifiées pour les champs de ressources (l'onglet "Ressources") - par exemple,

Somme (temps) /3600.0

pour convertir des secondes en heures.

La précision requise peut être définie via le champ "Conception" de l'onglet "Jeux de données".

Spécificités de réglage des paramètres du système de composition de données

Il existe et nécessitent un traitement différent d'au moins TROIS types de paramètres:

Paramètres de données

Les paramètres de données sont définis dans la requête ACS (source de données).

Les paramètres de données sont transmis à la requête de source de données et déterminent les données à récupérer.

L'objet SettingsComposer a une propriété spéciale pour travailler avec les paramètres de données Paramètres Composer.Settings.Data Paramètres

Peut être défini en appelant le formulaire

Settings \u003d Report.ConfigurationComposer.Settings; Settings.DataParameters.SetParameterValue ("InformationBase", Report.InformationBase);

Sélection

Les sélections se superposent aux données reçues après récupération à partir d'une source de données.

L'objet SettingsComposer a une propriété spéciale pour travailler avec des sélections Préférences Sélection des préférences de l'éditeur.

Par exemple: Settings \u003d Report.ConfigurationComposer.Settings; Settings.DataParameters.SetParameterValue ("InformationBase", Report.InformationBase);

Pour chaque élément From Parameters.Selection CyclePickingElement \u003d Settings.Obbing.Elements.Add (Type ("DataCompositionFeatured Element")); SelectionElement.ComparisonType \u003d DataCompositionComparisonType.Equal; SelectionItem.LeftValue \u003d NewDataCompositionField (element.View); SelectionItem.RightValue \u003d element.Value; Fin de cycle;

Paramètres personnalisés

Les préférences utilisateur définissent les données que l'utilisateur peut personnaliser sur le formulaire.

Les paramètres utilisateur peuvent être affichés sur le formulaire dans un tableau spécial et peuvent être appelés par le bouton "Paramètres" et depuis le menu "Toutes les actions".

Paramètres personnalisés lié avec des paramètres de données et des sélections en quelque sorte assez manière compliquée, cette connexion peut être configurée visuellement, mais il est en quelque sorte très gênant de travailler avec eux par programme.

Jusqu'à présent, rien de mieux n'a été trouvé pour définir les valeurs d'une collection existante par index, qui à lui seul peut démarrer lors de la modification de la mise en page ACS dans l'éditeur visuel.

De plus, si un paramètre de données est déclaré défini par l'utilisateur, alors installation du logiciel le paramètre de données (voir ci-dessus) est insuffisant, la valeur de réglage personnalisé restaurée remplace le réglage du paramètre de données. Par conséquent, pour de tels paramètres, cela n'a aucun sens de définir paramètre de données, vous devez installer immédiatement paramètre personnalisé.

Le gestionnaire d'événements "OnLoadingUserSettingsOnServer" de l'extension de formulaire de rapport est un endroit pratique pour définir les valeurs requises.

& AtServer Procédure lors du chargement des paramètres utilisateur Sur le serveur (paramètres)

Si Parameters.Period.End Date<> "00010101" Then Settings \u003d Report.ConfigurationComposer.UserSettings; Settings.Elements.Value \u003d Parameters.Period; Fin si;

Fin de la procédure

Utilisation d'une source de données d'objets

Pour utiliser un ensemble de données de type objet, vous devez transmettre une source de données externe à la méthode Initialize de l'objet Processeur de composition de données.

DataDecryption \u003d Non défini;

Layout Composer \u003d New DataComposition Layout Composer; LayoutComposer \u003d LayoutComposer.Run (DataCompositionSchema, SettingsComposer.Settings, DecodeData);

Processeur de composition \u003d Nouveau processeur de composition de données; LayoutProcessor.Initialize (LayoutDetails, Nouvelle structure ("Data", GetExternalSourceData ()), DecryptionData);

Un exemple simple est joint (pour l'exemple pour travailler, vous devez avoir les livres de référence «Entrepreneurs» et «Contrats d'entrepreneurs»).

Question: ACS, comment ouvrir le formulaire de sélection requis pour un paramètre?


Bonne journée! Il existe un rapport sur l'ACS, il contient le paramètre Brand - le type Directory.Nomenclature. Comment une forme spécifique de sélection peut-elle être invoquée pour ce paramètre? J'ai essayé dans l'ACS sur l'onglet "Paramètres", je me suis levé paramètre souhaité - double-cliquez sur la colonne "Edition des paramètres" - cochez le "Formulaire de sélection" et écrivez la valeur Reference.Nomenclature.Form.FormVeboraNecessaire. Lorsque vous exécutez le rapport, le formulaire de sélection est toujours utilisé par défaut et non celui spécifié dans le "Formulaire de sélection". Configuration UT, formes conventionnelles. Dites-moi, pzhl, où, qu'est-ce qui ne va pas?

Répondre: Expression clé Formulaires courants, passer à géré

Question: Sélectionnez une valeur sur le formulaire de sélection


Bonne journée!

Une application courante.

Il y a un document. Il possède plusieurs attributs de type référence, par exemple "DirectoryLink.Banks", avec la valeur "Bank1".

Il est nécessaire sous la forme de choisir le livre de référence "Banques", SELECT par programme l'élément "Bank1", c'est à dire. tapez sursélectionnez cette valeur "Bank1".

Jusqu'à présent, j'ai fait ce qui suit:
Procédure ExecuteSelectionInSelectionForm (référence)
DirectorySelectionForm \u003d Annuaires.Banques.GetSelectionForm (, Lien); // récupère le formulaire de sélection du répertoire Banques par le paramètre Link passé
// définir la sélection dans ce formulaire de sélection, selon mon lien dans les accessoires
ReferenceSelectionForm.Selection.Ref.Usage \u003d True;
ReferenceSelectionForm.Selection.Link.Value \u003d lien;
DirectorySelectionForm.Form Elements.ReferenceList.HierarchicalView \u003d False;
DirectorySelectionForm.Open ();
// voici le code qui simule la pression sur le bouton Select, comment ????
Fin de la procédure

Aide qui est tombé sur, ou a des idées.

Remercier.

Répondre:

Je l'ai fait comme ça:

Procédure ExecuteSelectionInSelectionForm (Link, rec) // le paramètre "link" est une référence de valeur sur le formulaire du document; "rivières" - l'élément actuel du formulaire, c'est-à-dire boîte de sélection
DirectorySelectionForm \u003d Directories.Banks.GetSelectionForm (, Rec, Link);
DirectorySelectionForm.Form Elements.ReferenceList.HierarchicalView \u003d False;
OpenForm (DirectorySelectionForm, rivières,);

Si DirectorySelectionForm.Opened () Then
DirectorySelectionForm.Activate ();
Fin si;

DirectorySelectionForm.CurrentElement.CurrentString \u003d lien;
ELSelect \u003d DirectorySelectionForm.CurrentElement.CurrentString;

Si SelectEl \u003d undefined ou NOT la valeur est renseignée (SelectEl) alors
Rapport ("Valeur" + Lien + "n'a pas été trouvé dans le formulaire de choix d'un répertoire");
autrement
DirectorySelectionForm.NotifySelection (sélection d'e-mail);
Fin si;

Fin de la procédure

Question: Le bouton "Sélectionner" sur le formulaire de sélection ou comment appuyer sur le bouton "Sélectionner"


Bonne journée!

Une application courante.

Que pensez-vous de cliquer sur le bouton "Sélectionner" du formulaire de sélection de document / référence?

Cliquer sur la souris et COM n'offre pas d'automatisation.

Liste de souhaits: simulez en appuyant sur le bouton "Sélectionner" dans le formulaire de sélection.

Répondre: Il semble avoir résolu le problème ... quelques essais.

Ajouté après 17 minutes
Jusqu'à présent, cela fonctionne comme ceci:

1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Procédure Créer un SelectionInSelectionForm (Ref, Rec) // le paramètre "link" est un lien de valeur sur le formulaire du document; "rivières" - l'élément de formulaire actuel, c'est-à-dire. boîte de sélection DirectorySelectionForm \u003d Répertoires. Banques. GetFormSelection (, Rec, Link); DirectorySelectionForm. Éléments du formulaire. Liste de référence. HierarchicalView \u003d Faux; OpenForm (DirectorySelectionForm, rivières,); Si DirectorySelectionForm. Opened () Puis DirectorySelectionForm. Activer (); Fin si; DirectorySelectionForm. CurrentItem. CurrentString \u003d lien; E-Choice \u003d DirectorySelectionForm. CurrentItem. CurrentString; si SelectEl \u003d undefined ou NOT la valeur est renseignée (SelectEl) alors Report ("Value" + Link + "n'a pas été trouvé dans le formulaire de sélection de répertoire"); sinon, DirectorySelectionForm. Notifier sur Choice (ChoiceEl); Fin si; Fin de la procédure

Question: Pourquoi la valeur n'est-elle plus sélectionnée dans le formulaire de sélection?


Il existe un champ du type de référence DocumentLink.PaymentOutput sur le formulaire de document. Lorsque vous sélectionnez, un formulaire de sélection d'un ordre de paiement sortant s'ouvre. Une fois qu'une valeur est sélectionnée, elle n'est pas remplacée dans le formulaire tel que sélectionné. J'ai d'abord pensé au traitement de sélection pour le traitement standard et le proger a oublié d'enregistrer le traitement de sélection. Mais tout y est typique. L'ouverture du formulaire n'est pas programmatique, sur le terrain dans lequel je choisis de ne mener aucun événement. Que pourrait être?
--- Syndicat messages, 2 janv.2018 ---

Une autre application sur les formulaires réguliers. Le formulaire de sélection est gérable et s'ouvre à partir d'une fenêtre normale. Si vous revenez à la forme habituelle de sélection, tout va bien.

Répondre:

En général, je l'ai compris. Il était utile de voir ce qui arrive à SelectedValue dans le traitement de la sélection. Il s'est avéré être un tableau. Grimpé dans les formulaires de sélection, il s'est avéré qu'il y avait un choix multiple daw. Je l'ai enlevé et ça a marché.

Question: Aide veuillez demander la sélection sous forme de choix d'un répertoire


Lors du choix d'une contrepartie par programmation, je transfère les premiers caractères du nom dans le formulaire de sélection. Comment activer par programme le premier élément, qui a les mêmes premiers caractères.

Répondre:

elektron a déclaré:

Lors du choix d'une contrepartie par programmation, je transfère les premiers caractères du nom dans le formulaire de sélection. Comment activer par programme le premier élément, qui a les mêmes premiers caractères.

Cliquez pour agrandir ...

Résolu. Réalisation d'un clavier virtuel sur le formulaire de sélection du livre de référence "Entrepreneurs".
Lorsque vous appuyez sur n'importe quelle touche, le code est déclenché
Résultat de la recherche par attribut \u003d TekSpr.FindByDesign (N, False);
FormElements.DirectoryList.CurrentString \u003d AttributeSearchResult;
où H est une variable contenant la valeur de la clé

Question: Formulaire de sélection avec sélection pour une liste de valeurs


Bonne journée. Nous avons besoin de votre aide pour résoudre un problème simple.

Konfa ZUP 2 .5 .113 .1 Il existe un rapport externe, le rapport a l'attribut "liste des bases", le type est une liste de valeurs.
Il existe un formulaire de rapport. Sur le formulaire de rapport, le champ "liste d'entrée des bases", ValueType \u003d "ListValues" et typeListValues \u200b\u200b\u003d "ReferenceLink.Value of ObjectsProperties".

Comment ouvrir un formulaire de sélection avec une sélection par le propriétaire d'un bien?

Merci d'avance!

Répondre: L'onglet Paramètres contient la colonne Modification des paramètres. là vous pouvez essayer de configurer les liens des paramètres de sélection ou le paramètre de sélection

Question: ouvrir par programme le formulaire de sélection de documents 1c 8.3


Comment ouvrir par programme le formulaire de sélection de document 1c 8.3 et enregistrer la valeur sélectionnée dans une variable?

Google a donné des solutions croustillantes, j'aimerais savoir comment le faire correctement.

Répondre: + () PM a également une telle méthode magique - télécharger.

Coupe tabulaire
Charger (charger)
Syntaxe:

Télécharger(<Таблица>)
Paramètres:

<Таблица> (obligatoire) Type: ValueTable.
La table des valeurs à partir de laquelle la section de table est chargée. Les colonnes des tableaux sont combinées par nom.
La description:

Charge une section tabulaire à partir d'une table de valeurs. Dans ce cas, toutes les lignes précédentes de la section tabulaire sont supprimées. Lors du chargement, les valeurs dans les colonnes de la section tabulaire sont remplies avec les valeurs des colonnes de la table de valeurs avec les mêmes noms.

Disponibilité:

Serveur, gros client, connexion extérieure.
Remarque:

La méthode ne peut être utilisée que si la section tabulaire est obtenue à partir d'une propriété d'objet. Si la section tabulaire est obtenue à partir d'une propriété de référence (ou de sélection), l'utilisation de cette méthode provoquera une erreur d'exécution.
Exemple:

Composition.Load (Table de composition);

Question: Passer des paramètres au formulaire de sélection.


Je demande des indices.
À partir du document "Ventes de biens et services", on appelle le formulaire de sélection par contrat (ERP). Confa corrigé, je le compare avec un typique. Dans ProcessingCreationOnServer du formulaire de sélection, je regarde dans le débogueur Options.Selection. Je ne peux tout simplement pas comprendre comment la liste de sélection est formée - il n'y a pas d'appel explicite de ce formulaire avec des paramètres, il n'y a qu'un seul élément de sélection dans la propriété "ChoiceParametersLinks", et il y en a déjà plusieurs dans Parameters.Selection. Quelqu'un peut-il me dire où chercher.

Attention! Ceci est une version introductive de la leçon, dont le matériel peut être incomplet.

Connectez-vous en tant qu'étudiant

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

Système de composition de données 1C 8.3 pour les débutants: nous faisons la connexion d'ensembles de données

  • Rédigez un rapport qui affiche les clients et leurs produits préférés. Chaque client a une couleur préférée, et chaque produit a sa propre couleur - sur la base de ces couleurs, il est nécessaire de déterminer le «favori» du produit. Par exemple, si la couleur préférée d'Andrey est le rouge, alors l'un de ses aliments préférés sera les tomates (elles sont rouges).
  • Appliquez deux ensembles de données dans le rapport. Le premier ensemble est constitué des données de la table de consultation "Clients". La seconde concerne les données du tableau de référence «Food».
  • Implémenter la relation de ces deux ensemblesafin que seuls les produits préférés de chaque client restent dans le rapport.

Créer un nouveau rapport

Ouvrez la base de données Gastronom dans le configurateur et créez un nouveau rapport via le menu principal:

Type de document - "Rapport externe":

Sous la forme d'un nouveau rapport, indiquez le nom "Lesson6" et cliquez sur le bouton "Open data composition scheme":

Laisser le nom de schéma par défaut:

Ajout du premier jeu de données

Dans le diagramme qui s'ouvre, allez dans l'onglet "Ensembles de données" et sélectionnez "Ajouter un ensemble de données - requête" via le signe plus vert:

Nous appelons le constructeur de requête:

Nous indiquons la table "Clients" et les champs que vous souhaitez obtenir de la demande:

Ajout d'un deuxième ensemble de données

Ajoutez un deuxième ensemble de données:

Sélectionnez-le (DataSet2) et appelez à nouveau le constructeur de requête:

Nous indiquons le tableau de l'ouvrage de référence «Aliments» et les champs à obtenir à partir de la demande:

Nous avons reçu le texte de demande suivant:

Veuillez noter que nous avons maintenant deux ensembles de données dans le rapport: Dataset1 et Dataset2. Chacun a son propre texte de requête et ses propres données.

Rendre les noms plus descriptifs

Pour plus de clarté, renommons Dataset1 en Clients et Dataset2 en Food.

Faites cela en double-cliquant sur chacun des ensembles:

Nous pouvons utiliser les données de chacun des ensembles dans notre rapport. Nous ferons référence à ces données à travers les champs.

Pour le moment, l'ensemble «Clients» comprend les champs suivants: «Nom» et «Couleur préférée», et l'ensemble «Nourriture»: «Nom» et «Couleur».

On voit que les noms se chevauchent et on se confond facilement. Modifions donc les noms de champs pour qu'ils soient plus descriptifs.

Sélectionnez l'ensemble "Clients" et modifiez les noms de champs comme suit:

Sélectionnez ensuite l'ensemble "Nourriture" et modifiez les noms des champs comme suit:

Appel du constructeur de paramètres

Enfin, allez dans l'onglet Paramètres et appuyez sur la baguette magique pour appeler le constructeur de paramètres:

Type de rapport - "Liste ...":

Sélectionnez les champs du rapport dans les deux ensembles:

Voyez pourquoi il était si important de changer les noms de champ? Au stade des paramètres de composition des données, nous ne voyons pas à partir de quels ensembles ces champs sont. Nous ne voyons que leurs noms.

Vérification du rapport

Nous sauvegardons le rapport et le générons en mode utilisateur:

Ouais. Bon, mais pas vraiment. Une soi-disant jointure croisée de deux ensembles s'est produite (vous devez être familiarisé avec cela à partir des jointures dans les requêtes que nous avons étudiées dans les modules précédents). Chaque enregistrement de la table Clients est associé à un enregistrement de la table Aliments.

Mais sur tous ces enregistrements, nous devons ne laisser que ceux dans lesquels le champ "FavoriteClientColor" est égal au champ "FoodColor":

Nous lions deux ensembles de données

Pour ce faire, nous allons lier deux ensembles de données (Clients et Food) dans les champs FavoriteClientColor et FoodColor.

Allez dans l'onglet "Liens de l'ensemble de données" et cliquez sur le bouton plus pour ajouter un nouveau lien:

Configurez les paramètres comme dans l'image ci-dessous:

Laisse-moi expliquer.

Source et destination de la communication. Eh bien, tout est clair. Nous indiquons le premier ensemble (Clients) et le second ensemble (Aliments). Je voudrais attirer votre attention sur le fait que la communication se fera selon le principe connexion externe gauche (nous l'avons parcouru dans le thème des requêtes dans les modules précédents). Sur cette base, vous devez choisir quel ensemble sera la source et lequel sera le récepteur.

Expression source. Nous spécifions ici une expression ou juste un champ de l'ensemble de données source (ici, nous avons spécifié le champ de la couleur favorite du client à partir de l'ensemble des clients).

Récepteur d'expression. Nous indiquons ici une expression ou juste un champ de l'ensemble de données du récepteur (ici nous avons indiqué le champ Food Color de l'ensemble Food).

Donc cette connexion ne laissera de la liste précédente que les lignes pour lesquelles le champ FavoriteClientColor est égal au champ FoodColor.

Sauvegardons le rapport et exécutons-le en mode utilisateur:

Bien!

Je vais faire une explication sur le terrain " Condition de communication", dont les programmeurs novices battent si souvent leurs lances.

La condition de lien est un champ auxiliaire. Vous pouvez y écrire des expressions impliquant uniquement des champs de l'ensemble de données spécifié dans la source du lien.

Dans ce cas, cette expression (condition de lien) sera vérifiée pour toutes les lignes de la source de lien avant la liaison. Et si cette expression est TRUE, alors une tentative sera faite pour établir des liens de cette ligne avec des lignes du récepteur de communication. Si l'expression est FALSE, aucune tentative de ce type ne sera effectuée.

Dans le concepteur de requêtes, lorsqu'il est appelé à partir d'un formulaire de personnalisation de source de données, pour un schéma de composition de données. Il existe un onglet «caractéristiques» dont l'utilisation n'est pas clairement décrite dans la documentation. Dans cet article, je vais essayer d'expliquer comment et pour quelles caractéristiques sont utilisées dans ACS.

Dans le concepteur de requêtes, lorsqu'il est appelé à partir d'un formulaire de personnalisation de source de données, pour un schéma de composition de données. Il existe un onglet «caractéristiques» dont l'utilisation n'est pas clairement décrite dans la documentation. Dans cet article, je vais essayer d'expliquer comment et pour quelles caractéristiques sont utilisées dans ACS. DANS configurations typiques le mécanisme des propriétés et des valeurs de propriété est activement utilisé, ce qui est disponible pour presque tous les objets. Primitivement, dans les ouvrages de référence, ce mécanisme a été implémenté dans les configurations 7.7. Maintenant, ce mécanisme est mis en œuvre à l'aide d'un tableau de types de caractéristiques et d'un registre d'informations, mais l'idée reste la même. Lorsque j'ai rencontré pour la première fois le besoin d'utiliser ce mécanisme, dans le schéma ACS, j'ai souffert pendant très longtemps, organisé des requêtes imbriquées, les ai attachées à la sélection principale et me suis demandé comment prendre en compte la possibilité de nouveaux types de propriétés qui n'étaient pas disponibles au moment du développement du rapport. L'ensemble du mécanisme des propriétés, étant simple et logique du point de vue de l'utilisateur, ne se prêtait à aucun traitement normal jusqu'à ce que j'aie compris l'onglet «Caractéristiques». Le tableau de l'onglet est très capricieux, soit vous saisirez la ligne entière correctement, soit vous refuserez d'entrer complètement la ligne, le système ne vous laissera pas laisser la ligne incomplètement remplie pour plus tard. Alors, passons aux détails. La première colonne: Type - nous sélectionnons ici le type d'objet auquel les caractéristiques seront liées, par exemple "ReferenceLink.Nomenclature" Cela signifie que maintenant pour tous les objets du type spécifié il sera possible d'obtenir des valeurs de propriété. Ensuite, dans la colonne suivante View Source, nous devons définir les paramètres de la source des types de propriété. Les options sont table et requête, pourquoi vous avez besoin de l'option de requête, je vous le dirai plus tard, nous allons maintenant sélectionner l'élément de table. Dans la colonne Types de caractéristiques, il faut sélectionner le tableau base d'informations, dans lequel les types de caractéristiques nécessaires sont stockés, dans notre exemple ce sera «Plan des types de caractéristiques.Properties des objets». De plus, les valeurs disponibles pour la sélection dans les colonnes Champ clé, Champ Nom et Champ Type valeur dépendent directement des champs de la table que nous avons sélectionnés. Dans le champ Clé, nous sélectionnons Lien, dans le champ Nom - Vue (c'est l'utilisateur qui le verra comme nom d'attribut), et dans le champ Type, respectivement, ValueType. Passons maintenant à la source des valeurs. La source des valeurs sera le registre d'informations «ObjectPropertyValues», nous sélectionnons donc la table dans la colonne ValueSource et «DataRegister.ObjectPropertyValues» dans la colonne Characteristic Values. Dans les colonnes Objet, Propriété, Valeur, sélectionnez les champs de registre correspondants Objet, Propriété, Valeur. Il semblerait que ce soit tout. Nous allons dans les paramètres du schéma, ajoutons un regroupement par marchandises et y ajoutons un groupement subordonné, disons par Marques, nous avons une telle propriété. Nous étendons la liste des attributs du groupement Nomenclature et ... nous n'y voyons aucune propriété: Le fait est que nous sommes dans le configurateur, d'où il n'y a pas d'accès aux données. Comment faire réglage souhaité? Pour ce faire, le moyen le plus pratique consiste à utiliser la console de composition de données, celle du disque ITS ou celle incluse dans le sous-système "Developer Tools". Vous pouvez également simplement ouvrir une personnalisation de rapport en mode Entreprise. Alors, ouvrons le même paramètre, mais en mode entreprise: comme vous pouvez le voir, nous avons ajouté de nouveaux «Requisites», tandis que ...

LA CLOCHE

Il y a ceux qui lisent cette actualité avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam