Concepteur de schéma de composition de données - onglet Paramètres. Résultats de recherche pour le formulaire de sélection 1s SKD choix de la méthode de comparaison dans les paramètres

Question : SKD, comment puis-je ouvrir le formulaire de sélection requis pour un paramètre ?


Bon après-midi Il existe un rapport sur le système de contrôle d'accès, il contient le paramètre Marque - type Répertoire.Nomenclature. Comment appeler un formulaire de sélection spécifique pour ce paramètre ? J'ai essayé dans le SKD sur l'onglet "Paramètres", sélectionnez le paramètre souhaité - double-cliquez sur la colonne "Options d'édition" - cochez la case "Formulaire de sélection" et saisissez la valeur Directory.Nomenclature.Form.SelectionFormRequired. Lors de l'exécution d'un rapport, c'est toujours le formulaire de sélection qui est utilisé par défaut, et non celui spécifié dans le « Formulaire de sélection ». Configuration UT, formes usuelles. Dites-moi, s'il vous plaît, où, qu'est-ce qui ne va pas ?

Répondre: Phrase clé Formulaires réguliers, passer aux formulaires gérés

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


Bon après-midi

Application régulière.

Il y a un document. Il comporte plusieurs détails de type référence, par exemple "DirectoryLink.Banks", avec la valeur "Bank1".

Il faut dans le formulaire de sélection du répertoire "Banques", SÉLECTIONNER par programme l'élément "Bank1", c'est-à-dire tapez resélectionner cette valeur "Bank1".

Jusqu'à présent, j'ai fait ce qui suit :
Procédure Exécuter SelectionInSelectionForm(Link)
DirectorySelectionForm = Directories.Banks.GetSelectionForm(,Link); //Je reçois un formulaire de sélection du répertoire des Banques grâce au paramètre passé Lien
//définit la sélection dans ce formulaire de sélection, selon mon lien dans les détails
DirectorySelectionForm.Selection.Link.Use = True ;
DirectorySelectionForm.Selection.Link.Value = lien;
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = False ;
DirectorySelectionForm.Open();
//voici le code qui simule l'appui sur le bouton Sélectionner, comment ????
Fin de la procédure

Aidez-moi si quelqu'un a rencontré cela ou a des idées.

Merci.

Répondre:

J'ai fait comme ça :

Procédure ExecuteSelectionInSelectionForm(Link, rec) //le paramètre « lien » est un lien de valeur sur le formulaire du document ; "rec" - l'élément de formulaire actuel, c'est-à-dire champ de sélection
DirectorySelectionForm = Directories.Banks.GetSelectionForm(,Rec,Link);
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = False ;
OpenForm (DirectorySelectionForm, rivières,);

Si le formulaire de sélection de répertoire.Open() Alors
DirectorySelectionForm.Activate();
fin si;

DirectorySelectionForm.CurrentElement.CurrentRow = lien ;
SelectionEl = DirectorySelectionForm.CurrentElement.CurrentRow ;

Si SelectEl = valeur non définie ou NON remplie (SelectEl) alors
Report("La valeur "+Lien+" n'a pas été trouvée dans le formulaire de sélection du répertoire");
sinon
DirectorySelectionForm.NotifyOfSelection(SelectEl);
fin si;

Fin de la procédure

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


Bon après-midi

Application régulière.

Que pensez-vous du fait de cliquer sur le bouton « Sélectionner » sur le formulaire de sélection de document/répertoire ?

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

Liste de souhaits : dans le formulaire de sélection, simulez un appui sur le bouton « Sélectionner ».

Répondre: On dirait que j'ai résolu le problème... quelques exécutions du test.

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 Effectuer SelectionInSelectionForm(Link, rec) //le paramètre "lien" est un lien de valeur sur le formulaire du document ; "rec" - l'élément de formulaire actuel, c'est-à-dire champ de sélection DirectorySelectionForm = Répertoires. Banques. GetFormSelection(, Rec, Lien) ; Formulaire de sélection d'annuaire. Éléments de formulaire. Liste des répertoires. HierarchicalView = Faux ; OpenForm(DirectorySelectionForm, rivières, ) ; Si formulaire de sélection d'annuaire. Open() Puis le DirectorySelectionForm. Activer() ; Fin si ; Formulaire de sélection d'annuaire. Élément actuel. CurrentRow = lien ; SelectionEl = RépertoireSelectionForm. Élément actuel. LigneActuelle ; si SelectEl = valeur non définie ou NON remplie (SelectEl) alors Report("Valeur" + Lien +

"n'a pas été trouvé dans le formulaire de sélection du répertoire"


) ; sinon, DirectorySelectionForm. Notifier AboutChoice(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 sur le formulaire de document du type de référence DocumentLink.PaymentOrderOutgoing. Une fois sélectionné, 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 insérée dans le formulaire telle que sélectionnée. Au début, je pensais que le traitement de sélection était un traitement standard et que le programmeur avait oublié d'enregistrer le traitement de sélection. Mais tout y est typique. Ouverture du formulaire sans programmation, dans le domaine dans lequel je choisis de ne mener aucun événement. Qu'est ce que ça pourrait être?

Répondre:

--- Fusion des messages,

Question : S'il vous plaît, aidez-moi à définir la sélection dans le formulaire de sélection d'annuaire


Lors de la sélection d'une contrepartie, je transfère par programme les premiers caractères du nom vers le formulaire de sélection. Comment activer par programme le premier élément dont les premiers caractères correspondent.

Répondre:

elektron a dit :

Lors de la sélection d'une contrepartie, je transfère par programme les premiers caractères du nom vers le formulaire de sélection. Comment activer par programme le premier élément dont les premiers caractères correspondent.

Cliquez pour agrandir...

C'est décidé. J'ai créé un clavier virtuel sur le formulaire de sélection de l'annuaire « Contreparties ».
Lorsque vous appuyez sur n'importe quelle touche, le code est déclenché
SearchResultByDetails = TechRef.FindByName (N, False);
Form Elements.DirectoryList.CurrentLine=SearchResultByAttributes;
où H est une variable contenant la valeur de la clé

Question : Sélectionnez le formulaire avec sélection pour la liste de valeurs


Bon après-midi. J'ai besoin de votre aide pour résoudre un problème simple.

Confa ZUP 2 .5 .113 .1 Il existe un rapport externe, le rapport a l'attribut « liste de bases », type liste de valeurs.
Il existe un formulaire de rapport. Sur le formulaire de rapport, le champ "liste de bases d'entrée", ValueType = "List of Values", et ListValue type = "DirectoryLink.ObjectPropertiesValue".

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

Merci d'avance!

Répondre: Dans l'onglet Options, il y a une colonne appelée Options d'édition. là, vous pouvez essayer de configurer les connexions du paramètre de sélection ou le paramètre de sélection

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


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

Google a donné quelques solutions de béquille, j'aimerais savoir comment le faire correctement.

Répondre:+ () PM a également une méthode magique : le téléchargement.

Section tabulaire
Charger
Syntaxe:

Télécharger(<Таблица>)
Possibilités :

<Таблица>(obligatoire) Type : ValueTable.
Un tableau de valeurs à partir duquel la partie tabulaire est chargée. Les colonnes du tableau sont combinées par noms.
Description:

Charge la partie tabulaire à partir de la table de valeurs. Dans ce cas, toutes les lignes précédentes de la partie tabulaire sont supprimées. Lors du chargement, les valeurs des colonnes de la section table sont remplies avec les valeurs des colonnes de la table de valeurs avec les noms correspondants.

Disponibilité:

Serveur, client lourd, connexion externe.
Note:

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

Composition.Load(CompositionTable);

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


S'il vous plaît aidez-moi.
A partir du document « Ventes de biens et services », le formulaire de sélection de contrat (ERP) est appelé. La conf est éditée, je la compare avec la standard. Dans ProcessingCreationOnServer du formulaire de sélection, je regarde dans le débogueur Parameters.Selection. Je ne comprends tout simplement pas comment est formée la liste de sélection - il n'y a pas d'appel explicite à ce formulaire avec des paramètres, il n'y a qu'un seul élément de sélection dans la propriété "SelectionParametersLink", et il y en a déjà plusieurs dans Parameters.Selection. Peut-être que quelqu'un pourra me dire où chercher.

L'onglet reproduit la boîte de dialogue personnalisée « Paramètres », disponible pour que l'utilisateur puisse configurer les paramètres du rapport.

Le renseignement des paramètres sur cet onglet permet de configurer le rapport par défaut dans le mode utilisateur du rapport.
La fenêtre de paramétrage du rapport est disponible en mode rapport personnalisé, et la différence avec 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 des paramètres se compose d'une fenêtre principale dans laquelle sont affichées des listes de regroupements, de tableaux et de graphiques et d'un ensemble d'onglets dans lesquels les paramètres de configuration sont définis pour les objets spécifiés dans la section des regroupements. Nous pouvons indiquer quels paramètres sont actuellement en cours de modification en cliquant sur le bouton avec l'inscription sur l'objet que nous modifions :

Il est possible de modifier les paramètres généraux pour l'ensemble du rapport, et en cliquant sur le bouton correspondant, vous pouvez modifier les paramètres exclusivement pour l'objet sélectionné : élément de regroupement, tableau, graphique.

Onglet "Paramètres de données"
Sur cet onglet, les valeurs des paramètres de données sont définies. La liste des paramètres de données disponibles est déterminée dans l'onglet « Paramètres » du diagramme ACS ; seules les valeurs des paramètres définis par l'utilisateur sont définies ici. De plus, seuls les paramètres pour lesquels la case « Disponibilité restreinte » est décochée dans le schéma de contrôle d'accès sont disponibles.


Le tableau contient plusieurs colonnes :
1. « Utiliser » - en cochant, l'utilisateur indique s'il doit utiliser ou non ce paramètre pour générer un rapport.
2. « Paramètre » - 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 », alors cliquer sur le bouton « T » ouvrira une sélection du type de paramètre dans la boîte de dialogue :

La source peut être n'importe quelle valeur de type simple Chaîne, Date, Nombre, Booléen ou un lien vers un objet de la base de données. La source de ce paramètre peut également être la valeur d'un autre paramètre ; pour cela, sélectionnez la valeur « Champ de composition des données » et sélectionnez le champ souhaité dans la liste des paramètres.
Pour les dates, vous pouvez attribuer des valeurs automatiques de substitution : « Début de cette journée », « Début de cette semaine », etc.

Onglet « Champs sélectionnés »
Sur 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 « Sequence Number », « Sequence NumberInGrouping », « Level », « LevelInGrouping », ainsi que les champs personnalisés définis dans l'onglet « Custom Fields » 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 le bouton spécial dans le panneau de commande. Vous pouvez ajouter les éléments suivants : « Nouveau champ », « 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 plusieurs champs sous une seule rubrique. « Nouveau champ automatique » - est utilisé pour indiquer que les champs affichés pour les regroupements seront sélectionnés à partir des 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 ou les déplacer par position à l'aide des boutons de déplacement. 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 de la liste ; nous devons entrer dans le mode d'édition des champs, cliquer sur le bouton de sélection et sélectionner le champ souhaité dans la liste.

Pour les ressources, des précisions sur les calculs d'attributs sont disponibles pour la sélection : "% dans le groupe" - utilisé pour calculer la part de la valeur de la ressource pour l'ensemble du groupe dans le groupe, c'est-à-dire en conséquence, le groupe basé sur la totalité des valeurs des ressources sera de 100 % ; « % total » - le pourcentage total, quel que soit le groupe, pour toutes les valeurs de ressources.
Pour les champs de type objet : répertoire, document, etc. Il est possible de spécifier les détails de l'objet dans les champs sélectionnés.

Onglet "Sélection"
Dans cet onglet, vous définissez les sélections qui affectent le résultat du rapport.


Comme dans l'onglet « Champs sélectionnés », il y a deux fenêtres : à gauche se trouvent tous les champs ACS disponibles pour la sélection dans la sélection, à droite se trouvent les éléments et valeurs qui affectent la sélection. Vous pouvez également ajouter un nouvel élément ou groupe d'éléments à l'aide du bouton Ajouter. Vous pouvez supprimer des éléments à l'aide du bouton Supprimer ou les déplacer par position à l'aide des flèches de déplacement. En cochant les cases, vous pouvez réguler l'activité d'une sélection particulière dans le rapport. Après avoir cliqué sur le bouton « Similaire », des détails de sélection clarifiants sont ajoutés à la liste des éléments de sélection : « Mode d'affichage » et « Présentation ».

Après avoir ajouté un nouvel élément à la liste de sélection, les champs suivants sont disponibles pour l'édition :
"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 : "Égal", "Différent", "Dans la liste", "Dans un groupe de la liste", "Dans un groupe", "Pas dans la liste", " Pas dans un groupe de la liste », « Pas dans un groupe », « Contient », « Ne contient pas », « Rempli », « Non rempli »
« Valeur droite » - valeur de sélection, correspond à la valeur du champ « Valeur gauche ». Si le « Type de comparaison » est « Dans la liste », « Dans un groupe de la liste », « Pas dans la liste », « Pas dans un groupe de la liste », alors une liste de valeurs est disponible pour le paramétrage.
« Mode d'affichage » - il existe deux options possibles : « Accès rapide » et « Normal ». Si « Accès rapide » est installé, alors, si possible, les valeurs à sélectionner sont affichées sous la forme d'une liste déroulante, cela est particulièrement vrai pour les petits répertoires, les énumérations ou les types de caractéristiques rarement changeants. « Normal » est la méthode par défaut d'affichage des valeurs des objets sous la forme d'un formulaire de sélection ou d'une liste.
"Vue" - une vue texte de la sélection en mode raccourci (si le bouton "Détails" n'est pas enfoncé), ainsi qu'une vue de la sélection lors de l'affichage du rapport.
Vous pouvez ajouter des groupes aux sélections - qui servent à combiner plusieurs sélections, selon 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, vous devez ajouter « Groupe ET » à la sélection et lister les conditions dans ce groupe. L'imbrication de groupes est autorisée, à l'aide de laquelle vous pouvez créer des conditions complexes. En plus de « Groupe ET », « Groupe OU » et « Groupe Non » sont disponibles. Par défaut, il existe simplement une liste de conditions de sélection n'appartenant à aucun groupe, reliées entre elles par l'opérateur « ET ».

Onglet « Tri »
Cet onglet spécifie les champs selon 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 du tri.

Onglet « Apparition conditionnelle »
Dans l'onglet « Mise en forme conditionnelle », nous indiquons quels champs, conditions de sélection et conditions d'enregistrement seront appliqués lors de l'affichage des champs dans le rapport.


« Zone » est une liste de champs affectés par l'apparence conditionnelle.

«Sélection» - conditions de sélection dans lesquelles l'enregistrement conditionnel est valable

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.
«Conception conditionnelle» - lorsque vous remplissez ce champ, 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 des cellules.
Couleur du texte - Définit la couleur du texte dans les cellules
Couleur du graphique - Définit la couleur des lignes du graphique.
Couleur de bordure - Couleur de la ligne de bordure
Style de bordure - Types de lignes de bordure
Style de bordure gauche - gauche
Style de bordure supérieure - Haut
Style de bordure droite - droite
Style de bordure inférieure - Bas
Police - Type de police, épaisseur, inclinaison, etc.
Retrait - Nombre de caractères d'indentation
Retrait automatique – Nombre de caractères de retrait, utilisés dans les regroupements
Position horizontale - Position horizontale du texte dans une cellule
Position verticale - La position verticale du texte dans la cellule
Placement - Placer le texte qui ne rentre pas dans la cellule
Orientation du texte - Orientation du texte en degrés (par exemple, rotation perpendiculaire de 90)
Format - Formater la chaîne de valeur
Mettre en surbrillance les valeurs négatives : signez pour mettre en évidence les valeurs négatives
Largeur minimale – Largeur minimale de cellule en points
Hauteur minimale - Hauteur minimale des cellules
Hauteur maximale - Hauteur maximale
Texte - Le texte affiché à la place de la valeur

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


Lorsque vous cliquez sur ajouter un champ, une sélection du type de champ personnalisé s'ouvrira : « Nouveau champ de sélection », « Nouveau champ d'expression ».
« 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 précisées en fonction de la condition de sélection précisée dans le tableau « Options ».

« Expression de champ » - utilisé dans le cas où vous devez insérer des champs calculés sans modifier le schéma de mise en page. Par exemple, le schéma contient 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 :

Vous pouvez utiliser des expressions issues de requêtes dans des champs personnalisés.
De plus, pour désigner le total des enregistrements dans une expression, vous devez utiliser les fonctions d'agrégation SUM(..), QUANTITY(), MIN(..), MAX(..)

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

Disposition de conception Dispositions de conception prédéfinies définies
Emplacement des totaux Le paramètre affecte l'emplacement des totaux
Emplacement des champs de regroupement
Localisation des factions
Localisation des détails
Emplacement des ressources
Disposition horizontale des totaux généraux
Disposition verticale 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
Emplacement de la légende
Rayures du tableau de mesure
Afficher le titre
Titre
Paramètres des données de sortie
Sélection d'affichage

Fenêtre des paramètres de regroupement


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

Les paramètres suivants sont disponibles pour le regroupement :
Indicateur d'utilisation du regroupement - s'il est défini, le regroupement est utilisé lors de la mise en page ;
Champs de regroupement - un ensemble de champs par lesquels le regroupement est effectué. Chaque champ de regroupement du système de composition de données possède les propriétés suivantes :
- Indicateur d'utilisation du champ - s'il est défini, le champ est utilisé ;
- Champ de regroupement - chemin d'accès aux données du champ par lequel le regroupement est effectué ;
- 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 - la date de début de la période. Peut contenir une valeur constante ou une valeur de champ ;
- Date de fin - la date de fin de la période. Peut contenir une valeur constante ou la valeur est un champ ;

Lors d'un regroupement par champ de période, un champ de période parent est automatiquement ajouté au regroupement, qui n'est pas une période supplémentaire, 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 Enregistreur, alors le champ PériodeSecond sera automatiquement ajouté au regroupement.
Toutefois, la création de regroupements basés sur les détails des champs de période est interdite.

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

Comment choisir une option ?

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

Exemple de code : ProcedureFormActionSelectOption(Button) layout = GetLayout("MainDataLayoutScheme"); spOptions = Nouvelle liste de valeurs ; Pour chaque option de layout.OptionsSettings Loop spOptions.Add(option.Settings, option.View); Fin du cycle ;

sélection = cnOptions.SelectItem(); Si choix = Non défini Alors Retour ; fin si;

SettingsComposer.LoadSettings(selection.Value);

Générer(); Fin de la procédure

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

Procédure Generate()FormElements.Result.Clear(); Paramètres Composer.Settings.DataParameters.SetParameterValue("Période", ToDate); ComposeResult(FormElements.Result); Fin de la procédure

Procédure lors de l'ouverture() OnDate = CurrentDate(); Générer(); Fin de la procédure

Fonctionnalités de création de rapports via le système de contrôle d'accès

Création de 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 mise en page des données
  3. Dans les propriétés du rapport, définissez : Mise en page des données de base = 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 Enterprise sera affiché dans le panneau de navigation supérieur)
  5. Créer une requête dans Layout (élément : Ajouter un ensemble de données - Requête)
  6. Dans l'onglet Options de mise en page, vous devez décocher toutes les lignes de la colonne Restriction de disponibilité, 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ù est affiché le nœud Rapport, vous devez créer un nouveau regroupement sans préciser le champ de regroupement - une ligne détaillée sera créée
  8. Dans l'onglet Paramètres de Mise en page, dans la fenêtre où un ensemble supplémentaire de signets est affiché, sélectionnez supplémentaire. Onglet Paramètres - marquez tous les paramètres avec une coche et sur chaque paramètre, cliquez sur l'élément Propriétés de l'élément Paramètres utilisateur, la fenêtre de paramètres des paramètres s'ouvrira, où vous devrez cocher la case - Inclure le paramètre dans les paramètres utilisateur
  9. Dans l'onglet Paramètres de Mise en page, dans la fenêtre où un ensemble supplémentaire de signets est affiché, sélectionnez supplémentaire. Onglet SelectedFields - vous devez y ajouter des colonnes qui seront affichées dans le rapport
  10. Lancez Enterprise, ouvrez le rapport, définissez les valeurs des paramètres, Générez (vérifiez que l'option de génération de rapport principal est sélectionnée)

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

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

  • Dans le formulaire de mise en page, dans l'onglet Options, décochez les cases « Inclure dans les champs disponibles » et « Limiter la disponibilité » pour le paramètre souhaité.
  • Dans le formulaire de mise en page, dans l'onglet Paramètres, dans le sous-onglet Paramètres (en bas), décochez le paramètre souhaité, ouvrez les propriétés (bouton avec clé), sur ce formulaire :
    • Décochez "Inclure dans les paramètres utilisateur"
    • Définir le mode d'édition sur "Indisponible"


  • Dans le module de formulaire de rapport du gestionnaire d'événements "Lors du chargement d'une option sur le serveur" (vous pouvez également lors de l'ouverture, mais PAS lors de la création sur le serveur, car il est exécuté AVANT de charger les paramètres du rapport et les paramètres seront écrasés) définir par programme le paramètre:

&Sur le serveur Procédure lors du chargement de l'option sur le serveur (Paramètres)

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

Comment définir les options du rapport ?

  • Dans le formulaire de mise en page de l'onglet Paramètres dans le champ de gauche, vous pouvez créer les options de rapport nécessaires

Comment définir des regroupements ?

  • Dans le formulaire de 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 :

&Sur la procédure client GenerateReportExecute()

ThisForm.ComposeResult();

Fin de la procédure

Comment tester un rapport ?

Tu as besoin de faire:

  • Le moyen le plus pratique de créer une situation dans un test client consiste à utiliser un tableau de situation.
  • obtenir le formulaire de rapport - form = GetForm("Report.Process Movement.Form.ReportForm");
  • chargez la variante de rapport souhaitée - définissez le paramètre d'extension du formulaire de rapport "Clé de variante" (le nom du paramètre dans la présentation de la composition des données)
  • charger les paramètres de rapport requis - ? remplir le paramètre d'extension du formulaire de rapport « UserSettings » (type « UserDataCompositionSettings ») n'a pas fonctionné, tout est compliqué, voir ci-dessous.
  • formulaire ouvert - form.Open()
  • effectuer la formation - form.ArrangeResult();
  • vérifiez le contenu du formulaire de feuille de calcul Résultat - ce serait bien d'avoir des fonctions de comparaison avec la référence mxl.
  • fermer le formulaire - form.Close(); - ou peut-être que vous n'êtes pas obligé 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é pour rapport/Options de formulaire

Comment charger les paramètres de rapport requis ?

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

Schéma vraiment fonctionnel :

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

  • Type de périodeStandardPeriod
  • Sélection du type ValueList (Structure serait meilleure, mais elle n'est pas dans la liste des types de paramètres, ainsi qu'un type arbitraire)

2. Nous transmettons les paramètres nécessaires à la procédure GetForm :

période = NewStandardPeriod ; période.Option = StandardPeriodOption.CustomPeriod ; période.StartDate = currentDate ; période.EndDate = TomorrowDate ;

sélection = Nouvelle liste de valeurs ; sélection.Add(Testing.GetObject(stSituation, "BP1"), "BusinessProcess");

stParameters = Nouvelle structure("Clé de variante, période, sélection", "Principal", période, sélection); // OpenFormModal("Report.Process Movement.Form.ReportForm", stParameters); form = GetForm("Report.Process Movement.Form.ReportForm", stParameters);

3. Définissez les paramètres dans les gestionnaires d'événements du formulaire

&OnServer Function spGet(spList, view) Exporter pour chaque élément depuis spList Boucle Si element.View = view Then Return element.Value; fin si;

Fin du cycle ; Renvoie Indéfini ; FinFonction

&Sur la procédure serveur SetCustomSelectionValue(Settings, Name, Value) Pour chaque élément à partir de la boucle Settings.Elements If TypeValue(element) = Type("DataComposition Selection") Puis pour chaque sélection à partir de element.Elements Loop If Row(selection.LeftValue) = Nom Puis sélection .RightValue = Value; sélection.Utilisation = True ; fin si;

Fin du cycle ; fin si;

Fin du cycle ; Fin de la procédure

&Sur le serveur Procédure lors du chargement de l'option sur le serveur (Paramètres)

Nom du CurrentVariant = Vue du CurrentVariant ;

Paramètres = Report.SettingsComposer.Settings ; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

<>Fin de la procédure

&OnServer Procédure lors du chargement de UserSettingsOnServer(Settings) Settings = Report.Settings Linker.UserSettings;<>"00010101" Puis Paramètres = Report.Settings Composer.UserSettings ; SetCustomSettingValue(Paramètres, "Période", Paramètres.Période); fin si;

Fin de la procédure

ssBusinessProcess = spGet(Parameters.Selection, "BusinessProcess"); Si ssBusinessProcess

  • Undefined Then SetCustomSelectionValue(Settings, "BusinessProcess", ssBusinessProcess); fin si;
  • Remarques:
  • Il existe des paramètres de données, c'est-à-dire ce qui est défini dans les paramètres de la requête ACS.
  • Certains d'entre eux sont attribués dans les paramètres d'option dans UserSettings (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, vous chargez les valeurs nécessaires 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 « interrompent » les paramètres de données lors de la génération d'un rapport Dans le gestionnaire WhenLoadingUserSettingsOnServer, l'objet Settings transmis est

une copie

paramètres réels, par conséquent, pour modifier les paramètres qui apparaissent sur le formulaire, vous devez remplir l'objet Report.Settings Composer.UserSettings Comment créer plusieurs paramètres de requête (liste) dans ACS ? La requête doit utiliser l'expression (cm.)

Expressions booléennes dans le langage de requête 1Cv8 (la page n'existe pas)

Comment désactiver les paramètres de requête dans le système de contrôle d'accès ?

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

Si la case du paramètre correspondant est décochée dans le formulaire de rapport (panneau de configuration rapide), alors cette construction est supprimée de la demande.

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

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

Pour ce faire, lors du paramétrage de l'option de rapport (modification de la présentation 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 « Tableau », où les regroupements nécessaires sont ajoutés.

Comment configurer le format de sortie du champ ?

Dans l'éditeur de présentation de composition de données, dans l'onglet « Ensembles de données » dans la zone supérieure droite, vous trouverez une liste de champs de rapport.

Il y a deux possibilités :

  1. Définir la valeur de la colonne "View Expression"
    • ici, vous pouvez saisir une expression linguistique qui produit la chaîne souhaitée
    • ça ne fonctionne pas avec les champs de ressources
  2. Définir la valeur de la colonne "Design"
    • dans la conception, il y a une propriété "Format" - cette valeur est similaire au paramètre de la fonction linguistique "Format", vous pouvez définir l'apparence souhaitée
    • la conversion de type n'est pas possible ici

Pour les champs de ressources, vous pouvez spécifier des expressions de calcul (l'onglet "Ressources") - par exemple,

Montant (Temps)/3600.0

pour convertir des secondes en heures.

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

Caractéristiques de définition des paramètres du système de composition de données

Au moins TROIS types de paramètres existent et nécessitent des traitements différents :

Options de données

Les paramètres de données sont définis dans la requête (source de données) du système de contrôle d'accès.

Les paramètres de données sont transmis à la demande de source de données et définissent les données à récupérer.

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

Vous pouvez le définir avec un appel comme

Paramètres = Report.SettingsComposer.Settings ; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Sélection

Les sélections sont superposées aux données reçues après extraction à partir de la source de données.

L'objet Settings Composer a une propriété spéciale pour travailler avec des sélections ComposerSettings.Settings.Sélection.

Par exemple: Paramètres = Report.SettingsComposer.Settings ; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Pour chaque élément From Parameters.Selection Cycle Selection Element = Settings.Selection.Elements.Add(Type("Data Composition Selection Element")); Sélection Element.Comparison Type = DataComposition Comparison Type.Equal ; SelectionElement.LeftValue = NewDataCompositionField(element.View); SelectionElement.RightValue = element.Value; Fin du cycle ;

Paramètres personnalisés

Les préférences utilisateur définissent les données qu'un utilisateur peut personnaliser sur un formulaire.

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

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

Jusqu'à présent, nous n'avons rien trouvé de mieux que de définir les valeurs d'une collection existante par index, qui bien sûr peut disparaître lors de la modification de la disposition ACS dans l'éditeur visuel.

De plus, si un paramètre de données est déclaré défini par l'utilisateur, alors le réglage par programme du paramètre de données (voir ci-dessus) n'est pas suffisant ; la valeur restaurée du paramètre utilisateur remplace le réglage du paramètre de données ; Par conséquent, pour de tels paramètres, il ne sert à rien de définir paramètre de données, doit être installé immédiatement paramètre personnalisé.

Un endroit pratique pour définir les valeurs requises est le gestionnaire d'événements "When LoadingUserSettingsOnServer" de l'extension de formulaire de rapport.

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

Si Paramètres.Période.Date de fin<>"00010101" Puis Paramètres = Report.Settings Composer.UserSettings ; Settings.Items.Value = Options.Période ; fin si;

Fin de la procédure

Utiliser une source de données comme objet

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

DecryptionData = non défini ;

LayoutLinker = newDataLayoutLayoutLinker ; LayoutLayout = LayoutLinker.Execute(DataCompositionSchema, SettingsLinker.Settings, DecryptionData);

CompositionProcessor = newDataCompositionProcessor ; LayoutProcessor.Initialize(LayoutLayout, New Structure("Data", GetDataExternalSource()), DecryptionData);

Un exemple simple est joint (pour que l'exemple fonctionne, vous devez disposer des répertoires « Contreparties » et « Accords de contrepartie »).

Attention! Il s'agit d'une version d'introduction de la leçon, dont le matériel peut être incomplet.

Connectez-vous au site 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 débutants : 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, vous devez 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 du répertoire « Clients ». La seconde concerne les données de la table du répertoire « Alimentation ».
  • Mettre en œuvre lien entre ces deux ensembles, afin que le rapport ne contienne que les produits favoris de chaque client.

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 « Leçon 6 » et cliquez sur le bouton « Ouvrir le diagramme de composition des données » :

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

Ajout du premier ensemble 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 » à l'aide du signe plus vert :

Appelez le constructeur de requête :

Nous indiquons le tableau « Clients » et les champs qui doivent être obtenus à partir 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 du répertoire « Alimentation » et les champs qui doivent être obtenus à partir de la requête :

Le texte de la requête résultant était :

Veuillez noter que nous avons actuellement deux ensembles de données dans le rapport : Data Set1 et Data Set2. Chacun a son propre texte et ses propres données de requête.

Rendre les noms plus descriptifs

Pour plus de clarté, renommez DataSet1 en Customers et DataSet2 en Food.

Faites cela en double-cliquant sur chacun des ensembles :

Nous pouvons utiliser les données de chaque ensemble dans notre rapport. Nous accéderons à ces données via des champs.

Actuellement, l'ensemble « Clients » contient les champs suivants : « Nom » et « Couleur préférée », et l'ensemble « Aliments » contient : « Nom » et « Couleur ».

On voit que les noms se chevauchent et on peut facilement se confondre. Modifions donc les noms des champs pour qu'ils soient plus significatifs.

Sélectionnez l'ensemble « Clients » et modifiez les noms des champs comme ceci :

Sélectionnez ensuite l'ensemble « Alimentation » et modifiez les noms des champs comme ceci :

Appeler le constructeur de paramètres

Enfin, allez dans l'onglet « Paramètres » et cliquez sur la baguette magique pour faire apparaître le concepteur de paramètres :

Type de rapport - "Liste..." :

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

Vous voyez pourquoi il était si important de changer les noms des champs ? Au stade du paramétrage de la composition des données, nous ne voyons pas de quels ensembles proviennent ces champs. Nous ne voyons que leurs noms.

Vérification du rapport

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

Ouais. D'accord, mais pas vraiment. Une soi-disant jointure croisée de deux ensembles s'est produite (vous devriez être très familier avec cela grâce aux jointures dans les requêtes que nous avons étudiées dans les modules précédents). Chaque enregistrement de la table Customers possède un enregistrement correspondant de la table Food.

Mais de tous ces enregistrements, nous ne devons laisser que ceux dont le champ « Client's FavoriteColor » est égal au champ « FoodColor » :

Nous connectons deux ensembles de données

Pour ce faire, nous connecterons deux ensembles de données (Clients et Aliments) en utilisant les champs Customer FavoriteColor et FoodColor.

Allez dans l’onglet « Liens vers l’ensemble de données » et cliquez sur le bouton plus pour ajouter un nouveau lien :

Nous configurons les paramètres comme dans la figure ci-dessous :

Je vais faire une explication.

Source et récepteur de la communication. Eh bien, tout est clair ici. Nous indiquons le premier ensemble (Clients) et le deuxième ensemble (Aliments) de données. Je voudrais attirer une attention particulière sur le fait que la communication se fera selon le principe jointure extérieure gauche(nous l'avons abordé dans le sujet des demandes dans les modules précédents). Sur cette base, vous devez choisir quel ensemble sera la source et lequel sera le récepteur.

Source d'expression. Nous indiquons ici une expression ou simplement un champ de l'ensemble de données source (nous avons spécifié le champ ClientFavoriteColor de l'ensemble Clients ici).

Expression du récepteur. Nous indiquons ici une expression ou simplement un champ de l'ensemble de données du récepteur (nous avons indiqué ici le champ ColorFood de l'ensemble Food).

Ainsi, cette connexion ne laissera de la liste précédente que les lignes pour lesquelles le champ Customer's FavoriteColor est égal au champ FoodColor.

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

Super!

Je vais faire une explication sur le terrain " État des communications", sur lequel les programmeurs débutants frappent si souvent leurs lances.

La condition de connexion 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, pour toutes les lignes de la source du lien, cette expression (condition du lien) sera vérifiée avant que le lien ne soit établi. Et si cette expression est VRAIE, alors une tentative sera faite pour établir des liens entre cette ligne et les lignes du récepteur de lien. Si l’expression est FALSE, aucune tentative de ce type ne sera effectuée.