Maison / Leçons Windows / Options d'édition SD. Résultats de recherche par formulaire de sélection. Comment ajouter un paramètre modifiable par l'utilisateur

Options d'édition SD. Résultats de recherche par formulaire de sélection. Comment ajouter un paramètre modifiable par l'utilisateur

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 Annuaire.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, passez 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 est nécessaire dans le formulaire de sélection du répertoire "Banques", de 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 un clic 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 ; "rek" - 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 tests.

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 ; "rek" - 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 le choix (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?
--- Une association messages, 2 janvier 2018 ---

Une autre application basée sur des formulaires réguliers. Le formulaire de sélection est gérable et s'ouvre à partir d'une fenêtre normale. Si vous revenez au formulaire de sélection normal, tout va bien.

Répondre:

En général, je l'ai compris. Il est utile de voir ce qui entre dans SelectedValue lors du traitement de sélection. Il s’est avéré qu’il s’agissait d’un tableau. Lorsque je suis entré dans le formulaire de sélection, il s’est avéré qu’il y avait une case à cocher à choix multiples. Je l'ai enlevé et tout a fonctionné.

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 programmation 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 programmation 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 des paramètres 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.
Tableau des valeurs à partir duquel il est chargé section tabulaire. 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 tableau 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 référence (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 configuration 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 des 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. Dans quels paramètres sont modifiés ce moment nous pouvons indiquer en cliquant sur le bouton avec l'inscription quel objet nous éditons :

Peut-être modifier Réglages 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. Liste paramètres disponibles les données sont déterminées dans l'onglet « Paramètres » du schéma ACS ; ici, seules les valeurs des paramètres définis par l'utilisateur sont définies. 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 ou non utiliser 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 la sélection du type de paramètre dans la boîte de dialogue :

La source peut être n'importe quelle valeur type simple Chaîne, Date, Nombre, Booléen ou référence à un objet dans la base de données. Et aussi une source pour ce paramètre il peut y avoir une valeur pour 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 elles sont toutes disponibles Champs ACS pour la sélection dans la sélection, à droite se trouvent les éléments et valeurs qui affectent la sélection. Ajouter nouvel élément ou un groupe d'éléments peut également être pressé à 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" - 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.
« Inscription conditionnelle » - lors du remplissage de ce domaine Une fenêtre apparaît 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)
Formater - Formater la chaîne valeurs
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 :

DANS Les champs personnalisés vous pouvez utiliser des expressions de requêtes.
De plus, pour indiquer le total des entrées dans une expression, vous devez utiliser fonctions d'agrégation SOMME(..), QUANTITÉ(), 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 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;
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 : Schéma de présentation des données de base = Présentation 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 le drapeau "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érifier le contenu feuille de calcul formulaire. 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 syntaxe/onglet Contenu/Objets de l'interface d'application gérée/Extensions forme contrôlée/Extension de formulaire géré pour les options de rapport/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 ; Retourner non défini ; FinFonction

&Sur la procédure serveur SetCustomSettingsValue(Settings, Name, Value) pour chaque élément de la boucle Settings.Elements If TypeValue(element) = Type("DataCompositionSettingsParameterValue") Then If String(element.Parameter) = Name Then element.Value = Value; element.Use = True ; fin si; fin si; Fin du cycle ; Fin de la procédure

&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;

ssBusinessProcess = spGet(Parameters.Selection, "BusinessProcess"); Si ssBusinessProcess<>Undefined Then SetCustomSelectionValue(Settings, "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 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 "Dans (&Nom du paramètre)"(voir expressions booléennes dans le langage de requête 1Cv8)

Lors du paramétrage de la disposition du schéma ACS dans l'onglet "Paramètres", pour ce paramètre vous devez cocher la case dans la colonne "Liste des valeurs disponibles". Dans ce cas, lors du choix Paramètre ACS affiche un formulaire d'édition de liste dans lequel vous pouvez ajouter n'importe quelle valeur de paramètre.

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 à cocher dans le formulaire de rapport (panneau installation rapide) est supprimé du paramètre correspondant, puis cette construction est supprimée de la requête.

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 des paramètres de données Paramètres Composer.Settings.Data Options

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 extraire de la source de données.

L'objet Settings Composer possède 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 Installation du logiciel le paramètre data (voir ci-dessus) n'est pas suffisant, la valeur du paramètre utilisateur restaurée remplace le paramètre data. 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 ; Paramètres.Elements.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, un objet doit être passé source externe data à la méthode Initialize de l'objet "Data Composition Processor".

DecryptionData = non défini ;

LayoutLinker = newDataLayoutLayoutLinker ; LayoutLayout = LayoutLinker.Execute(DataCompositionScheme, 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 »).

Dans le concepteur de requêtes, lorsqu'il est appelé depuis le formulaire de configuration de la source de données, pour le schéma de composition des 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 pourquoi les caractéristiques sont utilisées dans ACS.

Dans le concepteur de requêtes, lorsqu'il est appelé depuis le formulaire de configuration de la source de données, pour le schéma de composition des 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 pourquoi les caractéristiques sont utilisées dans ACS. Les configurations typiques utilisent activement le mécanisme des propriétés et des valeurs de propriété, disponible pour presque tous les objets. Primitivement, dans les ouvrages de référence, ce mécanisme était implémenté dans les configurations 7.7. Désormais, ce mécanisme est mis en œuvre à l'aide d'un plan 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 un schéma de contrôle d'accès, j'ai lutté pendant très longtemps, organisant des requêtes imbriquées, les joignant à la sélection principale et me creusant la tête sur la façon de prendre en compte la possibilité de l'émergence de de nouveaux types de propriétés qui n'existaient pas au moment de l'élaboration 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 je comprenne l'onglet « Caractéristiques ». Le tableau de l'onglet est très capricieux, soit vous saisissez correctement toute la ligne, soit vous refusez du tout de saisir la ligne, le système ne vous permettra pas de laisser une ligne incomplètement remplie « pour plus tard ». Alors, passons aux détails. Première colonne : Type – nous sélectionnons ici le type d'objet auquel les caractéristiques seront attachées, par exemple « DirectoryLink.Nomenclature ». Cela signifie que désormais pour tous les objets du type spécifié, il sera possible d'obtenir des valeurs de propriété. Ensuite, dans la colonne suivante Source des vues, nous devons définir les paramètres de la source des vues de propriété. Les options de table et de requête sont possibles ; je vous expliquerai pourquoi l’option de requête est nécessaire plus tard, sélectionnons maintenant l’élément de table. Dans la colonne Types de caractéristiques, nous devons sélectionner un tableau base d'informations, dans lequel ils sont stockés types requis caractéristiques, dans notre exemple ce sera « Plan des types de caractéristiques. Propriétés des objets ». De plus, les valeurs que nous pouvons sélectionner dans les colonnes Champ clé, Champ de nom et Champ de type de 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 ce que l'utilisateur verra comme nom de l'attribut) et dans le champ Type, respectivement, ValueType. Passons maintenant à la source des valeurs. Notre source de valeurs sera le registre d'informations « ObjectPropertyValues ​​», nous sélectionnons donc le tableau dans la colonne Source des valeurs, et « InformationRegister.ObjectPropertyValues ​​» dans la colonne Valeurs caractéristiques. Dans les colonnes Objet, Propriété, Valeur, sélectionnez les champs correspondants du registre Objet, Propriété, Valeur. Il semblerait que ce soit tout. Nous allons dans les paramètres du schéma, ajoutons un regroupement par produits et ajoutons un regroupement subordonné, par exemple par Marques, nous avons une telle propriété. Nous élargissons la liste des détails du groupe 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é? Le moyen le plus pratique de procéder est d'utiliser la console de composition des données, celle sur le disque ITS ou celle incluse dans le sous-système « Outils de développement ». Mais vous pouvez simplement ouvrir les paramètres du rapport en mode entreprise. Ouvrons donc le même paramètre, mais en mode entreprise : Comme vous pouvez le voir, nous avons ajouté de nouveaux « Détails », et...