Caractéristiques du reporting (1Cv8). Constructeur de schéma de composition de données - onglet Paramètres Formulaire de sélection des paramètres d'édition CCD

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. V 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 des configurations 7.7. Or ce mécanisme est mis en œuvre à l'aide d'un tableau de types 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, j'ai organisé des requêtes imbriquées, je les ai attachées à l'échantillon principal et je me suis demandé comment prendre en compte la possibilité de nouveaux types de propriétés qui n'étaient pas disponibles 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 j'aie compris l'onglet « Caractéristiques ». Le tableau sur l'onglet est très capricieux, soit vous saisirez correctement toute la ligne, soit vous refuserez complètement de saisir la ligne, le système ne vous laissera pas laisser la ligne incomplètement remplie pour plus tard. Alors, passons aux détails. Première colonne : Type - ici, nous sélectionnons 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 Afficher la 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 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, nous devons sélectionner la table de l'infobase, qui stocke les types de caractéristiques requis, dans notre exemple ce sera "Plan des types de caractéristiques. Propriétés des objets". De plus, les valeurs dont nous disposons pour la sélection 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é, on sélectionne Lien, dans le champ Nom - Représentation (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 produits et ajoutons un regroupement qui lui est subordonné, disons par marques, nous avons une telle propriété. Nous élargissons 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 le réglage souhaité ? Le moyen le plus pratique de le faire est d'utiliser la console de composition de données, celle du disque ITS ou celle qui est incluse dans le sous-système "Outils de développement". Alternativement, vous pouvez 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 "Conditions requises", tandis que ...

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.

Renseigner les paramètres de cet onglet sert à personnaliser le rapport par défaut dans le mode de rapport personnalisé.
La fenêtre de configuration d'un état est disponible dans le mode utilisateur de l'état, tandis que la différence avec la configuration de l'ACS dans le configurateur est que vous pouvez utiliser les valeurs des 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ù les listes de regroupements, de tableaux et de diagrammes sont affichées et un ensemble d'onglets dans lesquels les paramètres de paramètres pour les objets spécifiés dans la section des regroupements sont définis. 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 modifier les paramètres exclusivement pour l'objet sélectionné : élément de regroupement, tableaux, diagrammes.

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éfinie 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 sont disponibles pour lesquels la case "Restriction de disponibilité" est décochée dans le schéma ACS.


Il y a plusieurs colonnes dans le tableau :
1. "Utilisation" - avec une coche, l'utilisateur spécifie d'utiliser ou de ne pas utiliser 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 courante en cliquant sur "X", alors cliquer sur le bouton "T" ouvrira le choix 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 une référence à un objet de la base de données. Et la source de ce paramètre peut également être la valeur d'un autre paramètre, pour cela, vous devez sélectionner la valeur "Champ de composition de 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 jeux de données, les paramètres et champs système "Number by Order", "Number by OrderInGrouping", "Level", "LevelInGrouping", ainsi que les champs personnalisés définis dans l'onglet "Custom Fields" sont disponible pour la sortie.

Vous pouvez transférer des champs tapez deux fois au nom dans la fenêtre de gauche ou en utilisant le bouton spécial dans la barre de commandes. 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 même en-tête. "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 du 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 de la liste, vous devez 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 raffinements pour le calcul de la variable sont disponibles pour la sélection : "% dans le groupe" - est utilisé pour calculer la part de la valeur de la ressource pour l'ensemble du regroupement dans le groupe, c'est-à-dire en conséquence, dans le groupe par la totalité des valeurs de ressources, il y aura 100 % ; "% Total" - le pourcentage total, quel que soit le groupe, pour toutes les valeurs de la ressource.
Pour les champs de type objet, ouvrage de référence, document, etc. il est possible de spécifier les détails de l'objet dans les champs sélectionnés.

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


Comme l'onglet Champs sélectionnés, il y a deux fenêtres, sur la gauche sont toutes disponibles Champs ACS pour la sélection dans la sélection, dans les bons éléments et 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 dans 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 peuvent être modifiés :
"Valeur de gauche" - Champ ACS ou un champ de type simple ("Numéro", "Chaîne", "Date", "Booléen"), sur lequel la sélection est appliquée
"Type de comparaison" - une liste de conditions de sélection possibles : "Égal", "Non égal", "Dans la liste", "Dans le groupe de la liste", "Dans le groupe", "Pas dans la liste", " Pas dans le groupe de la liste", "Pas dans le groupe", "Contient", "Ne contient pas", "Rempli", "Non rempli"
"Valeur droite" - 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 l'installation
"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 la forme d'une liste déroulante, cela est particulièrement vrai pour les petits ouvrages de référence, les énumérations ou les types de caractéristiques qui changent rarement. "Normal" - le moyen par défaut d'afficher les valeurs des objets sous la forme d'un formulaire de sélection ou d'une liste.
"Vue" - 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 la sélection lors de l'affichage d'un 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, ajoutez "Groupe I" à la sélection et listez 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 AND", "Groupe OU" et "Groupe non" sont disponibles. Par défaut, une seule liste de conditions de sélection n'appartient à aucun groupe, elle est reliée entre elles à 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 dans 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 "Aspect conditionnel"
Dans l'onglet "Conception conditionnelle", nous indiquons quels champs, conditions de sélection et conditions de conception seront appliqués lors de l'affichage des champs dans le rapport.


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

"Sélection" - conditions de sélection dans lesquelles l'inscription conditionnelle est valable

Les conditions de sélection sont précisé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 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 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
Gauche - Style de bordure gauche
Style de bordure haut-haut
Droite - Style de bordure droite
Style de bordure bas-bas
Police - Type de police, épaisseur, inclinaison, etc.
Retrait - Nombre de caractères de retrait
Indentation automatique - Nombre de caractères d'indentation appliqués dans les groupes
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 formatage sens
Highlight Negative - Un drapeau 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 qui s'affiche à la place de la valeur

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


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

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

Les expressions des requêtes peuvent être utilisées dans des champs personnalisés.
Vous devez également utiliser les fonctions d'agrégation SOMME (..), NOMBRE (), 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 Dispositions de la peau prédéfinies définies
Position des totaux Ce paramètre affecte la position des totaux.
Emplacement des champs de regroupement
Emplacement des factions
Emplacement des prérequis
Emplacement de la ressource
Positionnement des totaux généraux horizontalement
Positionnement des totaux généraux verticalement
Type d'en-tête de champ
Type de graphique
Valeur de base
Ignorer la valeur de base
Composition des signatures
Mode glissant
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 de données de sortie
Afficher la sélection

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;
table;
diagramme;
rapport imbriqué.

Les paramètres suivants sont disponibles pour le regroupement :
Indicateur d'utilisation du regroupement - si défini - le regroupement est utilisé lors de la liaison ;
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 a les propriétés suivantes :
- Indicateur d'utilisation du champ - si défini - le champ est utilisé ;
- Champ de regroupement - le 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 - 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 d'un regroupement par 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 Enregistreur, alors le champ PériodeSeconde sera automatiquement ajouté au regroupement.
Dans ce cas, la création de regroupements par les prérequis des champs de période est interdite.

Bonjour cher lecteur ! Nous avons une autre leçon sur les bases du système de mise en page. Vous vous êtes familiarisé avec les fonctions du langage d'expression ACS, avez vu les particularités du système de mise en page et avez également compris les paramètres de base des champs de mise en page. Maintenant, nous allons regarder du nouveau matériel. Aller!

Paramètres supplémentaires pour les champs ACS.

Conférencier "Type de valeur" vous permet de spécifier le type de données pour le champ de disposition. Pourquoi préciser le type, par exemple, pour le champ "Nomenclature", si vous savez déjà de quel type il s'agit ? Ceci est nécessaire si le champ de disposition type composite... Vous pouvez sélectionner un type spécifique, puis lors de la sélection de ce champ, les valeurs de ce type seront sélectionnées.

Conférencier "Valeurs disponibles" permet de spécifier les valeurs disponibles pour la sélection et de restreindre la sélection de l'utilisateur à certaines trames.

Conférencier "Inscription" vous permet de définir l'apparence d'un champ de modèle sans utiliser de modèles. Vous pouvez spécifier la couleur de la police, la couleur de la bordure, l'orientation du texte, etc.

Conférencier Options d'édition vous permet de spécifier comment modifier le champ de disposition. Par exemple, vous pouvez spécifier choix rapideéléments de la liste dans la sélection. Par défaut, un champ de disposition hérite de toutes les options d'édition de l'objet de métadonnées.

Champs calculés

Dans l'onglet "Champs calculés" de la composition des données, vous pouvez créer vos propres champs calculés.

Pourquoi avez-vous besoin de champs calculés alors que vous pouvez les créer au niveau de la requête ? Tous les champs ne peuvent pas être décrits à l'aide d'une requête. Si vous devez composer un champ complexe à partir de différents ensembles de données, par exemple de type requête et objet, vous ne pouvez pas vous passer de champs calculés. Vous ne pouvez pas ajouter un champ de composition de données si la source de données est une requête et est à saisie semi-automatique, et en utilisant des champs calculés, vous pouvez ajouter autant de champs que vous le souhaitez.

Dans la colonne du champ calculé "Expression", vous devez écrire une expression arbitraire qui utilise les champs de composition de données, en se référant à leur chemin (colonne "Chemin" de l'onglet "Ensembles de données"). Soit vous pouvez utiliser les fonctions de conversion mathématique, soit vous pouvez vous référer aux fonctions modules communs... Par exemple, notons le nom du champ calculé « Déviation » dans la colonne « Chemin des données », et le suivant dans le champ « Expression ».

Question : SKD, Comment ouvrir le paramètre la forme désirée choix?


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 ? Je l'ai essayé dans l'ACS, dans l'onglet "Paramètres", je me suis levé sur le paramètre souhaité - double-cliquez sur la colonne "Modification des paramètres" - cochez le "Formulaire de sélection" et écrivez la valeur Référence. Nomenclature. Former. Lors de l'exécution de l'état, 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. Dis-moi, pzhl, où, qu'est-ce qui ne va pas ?

Réponse: Phrase clé Formulaires réguliers, passer en mode géré

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


Bonne journée!

Une application commune.

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

Il faut sous forme de sélection de l'ouvrage de référence "Banques", SELECTIONNER par programmation l'élément "Banque1", c'est-à-dire tapez resélectionnez cette valeur "Bank1".

Jusqu'à présent, j'ai fait ce qui suit :
Procédure MakeSelectionInSelectionForm (Lien)
DirectorySelectionForm = Directories.Banks.GetSelectionForm (, Link); // récupère le formulaire de choix du répertoire Banks par le paramètre passé Link
// définit la sélection dans ce formulaire de sélection, selon mon lien dans les accessoires
ReferenceSelectionForm.Selection.Ref.Usage = True;
ReferenceSelectionForm.Selection.Link.Value = lien;
DirectorySelectionForm.FormElements.ReferenceList.HierarchicalView = False;
DirectorySelectionForm.Open ();
// voici le code qui simule l'appui sur le bouton Select, comment ????
Fin de la procédure

Aidez ceux qui ont rencontré, ou ont des idées.

Merci.

Réponse:

J'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 = Directories.Banks.GetSelectionForm (, Rec, Link);
DirectorySelectionForm.FormElements.ReferenceList.HierarchicalView = False;
OpenForm (DirectoryChoiceForm, rivières,);

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

DirectorySelectionForm.CurrentElement.CurrentString = lien ;
ElementSelect = DirectorySelectionForm.CurrentElement.CurrentString;

Si SelectEl = 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 de courrier électronique);
Fin si;

Fin de la procédure

Question : bouton « Sélectionner » sur le formulaire de sélection ou comment appuyer sur le bouton « Sélectionner »


Bonne journée!

Une application commune.

Quelles pensées avez-vous à cliquer sur le bouton « Sélectionner » sur le formulaire de sélection de document/répertoire ?

Je ne propose pas de cliquer sur la souris et COM faire l'automatisation.

Liste de souhaits : simuler un appui sur le bouton "Sélectionner" dans le formulaire de sélection.

Réponse: Cela semble avoir résolu le problème ... quelques tests.

Ajouté après 17 minutes
Pour l'instant ça marche comme ça :

1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Procédure Make SelectionInSelectionForm (Ref, Rec) // le paramètre "link" est un lien de valeur sur le formulaire du document ; "rivières" - l'élément actuel du formulaire, c'est-à-dire. boîte de sélection DirectorySelectionForm = Répertoires. Banques. GetFormaChoice (, Rec, Link); Formulaire de sélection d'annuaire. Éléments du formulaire. Liste de référence. HierarchicalView = False ; OpenForm (DirectoryChoiceForm, rivières,); Si DirectorySelectionForm. Ouvert () Puis DirectorySelectionForm. Activer (); Fin si; Formulaire de sélection d'annuaire. Élément actuel. CurrentString = lien ; E-Choice = DirectorySelectionForm. Élément actuel. ChaîneCourante; si SelectEl = 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 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 du type de référence DocumentLink.PaymentOutput sur le formulaire du document. Lorsque vous sélectionnez, un formulaire de sélection d'un ordre de décaissement s'ouvre. Une fois qu'une valeur est sélectionnée, elle n'est pas remplacée dans le formulaire 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 ordinaire. Si vous revenez à la forme habituelle de sélection, alors tout va bien.

Réponse:

En général, j'ai compris. Il était utile de voir ce qui arrive à la SelectedValue dans le traitement de la sélection. Il s'est avéré que c'était 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 fonctionné.

Question : Aide s'il vous plaît 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 vers le formulaire de sélection. Comment activer par programmation le premier élément, qui a les mêmes premiers caractères.

Réponse:

elektron a dit :

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 programmation 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 de l'ouvrage 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 = TekSpr.FindByDesign (N, False);
FormElements.DirectoryList.CurrentString = PropertySearchResult;
où H est une variable contenant la valeur de la clé

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


Bon après-midi. 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 de 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 = "ListValues", et typeListValues ​​= "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éponse: Dans l'onglet Paramètres, il y a une colonne Paramètres d'édition. là, vous pouvez essayer de personnaliser les liens des paramètres de sélection ou le paramètre de sélection

Question : Ouvrez par programme le formulaire de sélection de document 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éponse:+ () PM a également une telle méthode magique - télécharger.

Section tabulaire
Charge
Syntaxe:

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

<Таблица>(obligatoire) Type : ValueTable.
Le tableau des valeurs à partir duquel la section tabulaire est chargée. Les colonnes de 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 des colonnes de la section tabulaire sont remplies avec les valeurs des colonnes du tableau des valeurs portant les mêmes noms.

Disponibilité:

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

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.Charge (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 est corrigé, je le compare avec un typique. Dans ProcessingCreationOnServer du formulaire de sélection, je regarde dans le débogueur Options.Selection. Je ne comprends tout simplement pas 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.

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
  • Placer le champ "OnDate" sur le formulaire

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

choix = spVariants.SelectItem (); Si Choix = Non défini Alors Retour ; Fin si;

Paramètres Composer.LoadSettings (selection.Value);

Former (); 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 ("Période", OnDate); BuildResult (Form Elements.Result); Fin de la procédure

Procédure ouverte () OnDate = CurrentDate (); Former (); 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éfini dans les propriétés du rapport : Schéma de composition des données principales = 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 jeu 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ù est affiché le nœud Rapport, 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ù le ensemble supplémentaire signets, sélectionnez supplémentaire. l'onglet Paramètres - cochez tous les paramètres et sur chaque paramètre, cliquez sur l'élément Propriétés de l'élément de paramètres personnalisés, la fenêtre de configuration des paramètres s'ouvrira, où vous devrez cocher la case - Inclure le paramètre dans les paramètres personnalisés
  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 - là, vous devez 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érez (vérifiez que l'option Principal pour générer le rapport est sélectionnée)

Comment ajouter un paramètre qui n'est pas modifiable par l'utilisateur ?

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

  • Dans la forme de la mise en page, dans l'onglet Paramètres, décochez la case "Inclure dans les champs disponibles" et "Restrictions d'accessibilité" pour le paramètre souhaité
  • 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 utilisateur"
    • Mode d'édition défini sur "Indisponible"


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

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

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

Comment définir les options d'un rapport ?

  • Sous la forme d'un modèle de mise en page sur 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 sur 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 Générer le rapport Exécuter ()

ThisForm.ComposeResult ();

Fin de la procédure

Comment tester un rapport ?

Tu as besoin de faire:

  • Pour former une situation dans un test client - le moyen le plus pratique consiste à utiliser la table de situation
  • obtenir la forme du rapport - form = GetForm ("Report.Processes.Form.Report Form");
  • Télécharger option souhaitée rapport - définissez le paramètre d'extension de formulaire de rapport "OptionKey" (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" (tapez "UserDataCompositionSettings") n'a pas fonctionné, tout est compliqué, voir ci-dessous.
  • formulaire ouvert - formulaire. Ouvrir ()
  • exécuter la formation - form.ComposeResult ();
  • vérifier le contenu feuille de calcul Résultat - ce serait bien d'avoir des fonctions de comparaison avec la référence mxl
  • fermer le formulaire - formulaire.Fermer (); - 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 Sommaire / Objets de l'interface d'application gérée / Extensions formulaire géré/ Extension de formulaire gérée pour le rapport / Paramètres 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" de type "UserDataCompositionSettings", mais il existe une structure d'objet très complexe, il n'était pas possible de l'utiliser.

Un schéma vraiment fonctionnel :

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

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

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

période = nouvelle période standard ; period.Variant = VariantStandardPeriod.ArbitraryPeriod; period.StartDate = currentDate; period.EndDate = demain'sDate;

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

stParameters = New Structure ("Variant Key, Period, Selection", "Main", period, selection); // OpenFormModally ("Report.Process Movement.Form.ReportForm", stParameters); form = GetForm ("Report.Process Movement.Form.Report Form", stParameters);

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

& AtServer Fonction cnGet (liste, vue) Exporter pour chaque élément de la liste Boucle de liste Si élément.Vue = vue Alors Retourner élément.Valeur; Fin si; Fin de cycle ; Remboursement non spécifié ; FinFonction

& OnServer Procedure SetValueUserSettings (Settings, Name, Value) Pour chaque élément de la boucle Settings.Elements IfTypeValue (element) = Type ("DataCompositionSettingsParameterValue") Then If String (element.Parameter) = Name Then element.Value = Value; item.Usage = True; Fin si; Fin si; Fin de cycle ; Fin de la procédure

& Procédure OnServer SetValueCustomSelection (Settings, Name, Value) Pour chaque élément de Setting.Elements Loop IfTypeVal (element) = Type ("DataCompositionFlection") Then For Each Selection From element.Elements Loop If String (cull.LeftValue) = Name Then Cull .RightValue = Valeur; selection.Use = True; Fin si; Fin de cycle ; Fin si; Fin de cycle ; Fin de la procédure

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

CurrentVariantName = PresentCurrentVariant;

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

Fin de la procédure

& Procédure AtServer lors du chargement de l'utilisateur (Paramètres) Settings = Report.ConfigurationComposer.UserSettings;

<>"00010101" Puis Paramètres = Report.ConfigurationComposer.UserSettings ; SetUserSettingValue (Paramètres, "Période", Paramètres.Période); Fin si;

ssBusinessProcess = spGet (Parameters.Selection, "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 demande 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.

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

Dans la requête, vous devez utiliser l'expression "Dans (& NomParamètre)"(voir Expressions booléennes dans le langage de requête 1Cv8)

Lors de la configuration du tracé du circuit ACS dans l'onglet "Paramètres", pour ce paramètre, vous devez mettre une coche dans la colonne "Liste des valeurs disponibles". Dans ce cas, lors du choix paramètre SKDémet un formulaire d'édition de liste dans lequel vous pouvez ajouter n'importe quelle valeur de paramètre.

Comment faire 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, alors 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, lors de la configuration de la variante de rapport (édition 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 "Datasets", en haut à droite se trouve une liste de champs de rapport.

Il y a deux possibilités :

  1. Personnaliser la valeur de la colonne "Afficher l'expression"
    • ici, vous pouvez entrer une expression de langage qui produit la chaîne souhaitée
    • cela ne fonctionne pas avec les champs de ressources
  2. Personnaliser la valeur de la colonne "Apparence"
    • dans la conception, il existe une propriété "Format" - il s'agit d'une valeur similaire au paramètre de la fonction de langage "Format", vous pouvez définir la vue 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 (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 "Ensembles de données".

Spécificités de paramétrage du système de composition de données

Il existe et nécessite 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 SettingsComposer.Settings.Paramètres de données

Peut être défini en appelant le formulaire

Paramètres = 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 du compositeur.

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

Pour chaque élément From Parameters.Selection CycleSelectionElement = Settings.Selection.Elements.Add (Type ("DataCompositionFeedbackElement")); SelectionElement.ComparisonType = DataCompositionComparisonType.Equal; SelectionItem.LeftValue = NewDataCompositionField (element.View); SelectionItem.RightValue = element.Value; Fin de cycle ;

Paramètres personnalisés

Les préférences de l'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 connecté avec des paramètres de données et des sélections d'une manière assez compliquée, cette connexion peut être configurée visuellement, mais il est en quelque sorte très gênant de travailler avec eux par programmation.

Jusqu'à présent, rien de mieux n'a été trouvé pour définir les valeurs d'une collection existante par indice, qui à lui seul peut se déclencher 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 restituée paramètre personnalisé interrompt 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 immédiatement installer paramètre personnalisé.

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

& Procédure AtServer 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.ConfigurationComposer.UserSettings ; Settings.Elements.Value = Parameters.Period; Fin si;

Fin de la procédure

Utiliser une source de données objet

Pour utiliser un ensemble de données de type objet, vous devez passer source externe data method Initialiser l'objet Data Composition Processor.

DataDecryption = Non défini ;

Compositeur de mise en page = Nouveau compositeur de mise en page DataComposition ; LayoutComposer = LayoutComposer.Run (DataCompositionSchema, SettingsComposer.Settings, DecodingData);

CompositionProcessor = New DataCompositionProcessor; LayoutProcessor.Initialize (LayoutDetail, Nouvelle structure ("Data", GetExternalSourceData ()), DecryptionData);

Un exemple simple est joint (pour que l'exemple fonctionne, vous devez disposer des ouvrages de référence « Entrepreneurs » et « Contrats d'entrepreneurs »).