Table SQL 1C. Structure de stockage de base de données (formulaires gérés). Différences des implémentations existantes
La plate-forme 1C est un outil de haut niveau pour travailler avec des bases de données. En général, le développeur n'a pas besoin de penser à quoi et à la manière dont il se passe sur le côté de la SGBD, car la plate-forme elle-même décide de la quantité de tables et de quels champs seront à l'intérieur d'eux.
Toutefois, dans les grands projets, il est nécessaire de travailler directement avec des données, par exemple, d'analyser des informations par des moyens tiers ou, comme dans mon cas, l'intégration de la base de données avec des applications externes. Dans une telle situation, il est nécessaire d'avoir une idée de quels domaines de tables physiques à rechercher les informations dont nous avons besoin.
Juste pour une telle case intégrée Guest Struit structural basé ()Renvoyer toutes les données nécessaires sous la forme d'une table de valeurs. De plus, certains détails (champs et indices) de cette table elles-mêmes sont des tables de valeurs.
D'une part, toutes les données d'une structure sont pratiques, mais, de l'autre, il existe des difficultés supplémentaires avec le transfert de cette table au client (la méthode de téléchargement (), malheureusement, ne charge pas les tables imbriquées). Compte tenu de cela, vous devez parcourir toutes les dispositions de la table dans le cycle, qui sous les gros volumes conduit à un ralentissement du travail.
En relation avec cela, la meilleure option sera transmise aux noms de fonction des objets de métadonnées afin de réduire la quantité de données retournées. Cependant, toutes les tables DBMS ne sont pas associées à des métadonnées de configuration, j'ai donc laissé la possibilité de voir la liste complète.
Traitement fonctionnel
Lorsque vous activez l'élément d'arborescence de métadonnées, remplissez la liste des tables, des champs et des index. À double-cliquant sur la racine de l'arborescence, toutes les tables sont affichées, y compris le service (non recommandé, car les volumes de données augmentent la recherche).
Dans les pièces tabulaires, les commandes de recherche standard et de sortie fonctionnent.
Différences des implémentations existantes
Il existe plusieurs publications similaires, par exemple, et. Cependant, leur inconvénient est l'absence d'un arbre de métadonnées, ce qui rend difficile la navigation. La recherche est également effectuée par le nom des tables et des champs de la base de données et non inversement.
Le plus proche de la fonctionnalité à la publication de l'auteur (). En revanche, ce traitement contient l'arbre le plus complet métadonnées (plans d'échange, constantes, journaux de documents, etc.). en outrela structure de données est présentée plus clairement: la liste des tables de l'objet de métadonnées, la liste des champs et la liste des index sont affichées dans des pièces tabulaires séparées.
UPD-2018-01-06 (v1.3). Correction d'une erreur sur le mode de compatibilité 8.3.7 et supérieur (le comportement de la plate-forme).
UPD-2012-08-17 (v1.2). Le correctif est effectué pour un traitement correct des tâches réglementaires, l'élément de préparation des espèces de calcul a été corrigé, le comportement lors de la commande du type de structure dans la configuration racine est corrigé.
P.s. Certains employeurs lors de la réception du travail posent une question sur le nombre de tables physiques et virtuelles pour les registres. Ce serait bien de connaître les réponses à ces questions, d'autant plus que ce niveau est 1c: professionnel. Si vous voulez non seulement apprendre cette réponse, mais aussi pour "toucher" ces tables, ce traitement est pour vous!
Structure dans la langue de programmation 1C 8.3 et 8.2 - Un ensemble de paires de "clé" et de "valeur". Le champ "Key" a un type de chaîne "la valeur" peut prendre n'importe quel type de données. Habituellement utilisé pour le stockage et la transmission entre les procédures d'un ensemble de n'importe quel paramètre.
La structure dans la langue de programmation 1c peut être créée de deux manières en utilisant la nouvelle conception.
La première façon:
Structure \u003d nouvelle structure;
Structure. Pour tenir ("keyaparameter1", "les valeurs du paramètre n ° 1");
Structure. Pour tenir ("KeyAparameter2", "Valeurs du paramètre n ° 2");
La deuxième façon:
Structure \u003d nouvelle structure ("KeyAparameter1, KeyAparameter2", "Valeurs du paramètre n ° 1", "Valeurs de paramètre n ° 2");
Les deux méthodes créeront une structure qui peut être vue dans la capture d'écran du débogage:
Obtenez 267 tutoriels vidéo pour 1c gratuitement:
Le changement
Vous pouvez ajouter ou modifier la structure à l'aide de la méthode "Coller ()".
Structure. Tenir ("Nom wniscu", sans signification);
Si vous souhaitez modifier la valeur de l'ancienne clé, entrez son nom. Si vous ajoutez une nouvelle clé, ajoutez un nom unique par rapport à toutes les clés de structure.
Pour supprimer l'élément de collecte, vous devez utiliser la méthode Supprimer où transférer le nom de la clé:
Structure. Libération ("nom wniscu");
Il est également possible de nettoyer tous les objets de la collection:
Structure. Pour s'il vous plaît ();
Contourner la structure
Pour passer par la collecte de la structure, vous devez utiliser la conception "pour chaque clavier de la structure du cycle".
Par example:
Pour chaque clavier de la structure du cycle
...... // processus, par exemple, modifier les valeurs
Endyclycle;
Chaque cycle sera vu que les champs suivants seront disponibles:
Les données qui définissent la logique du fonctionnement du système basée sur 1C: les entreprises appartiennent à la base d'informations. Le stockage de la base d'informations est effectué dans une base de données avec un ensemble de tables, pour lesquels 1C: Enterprise 8.1 peut utiliser l'un des quatre systèmes de gestion de base de données (SGBD):
* Intégréen 1C: Entreprise 8.1 (option de fichier de la base d'informations). Dans ce cas, toutes les données de base de données d'informations sont stockées dans le fichier avec le nom 1cv8.1cd. Ce fichier a un format binaire et est essentiellement une base de données pour l'intégré 1C: Enterprise 8.1 SGBM.
* Server Microsoft SQL (Version client-serveur de la base d'informations). Toutes les données de base de données d'informations sont stockées dans la base de données Microsoft SQL Server.
* PostgreSQL (Version client-serveur de la base d'informations). Toutes les données de base de données d'informations sont stockées dans la base de données PostgreSQL.
* IBM DB2. (Version client-serveur de la base d'informations). Toutes les données de base de données d'informations sont stockées dans la base de données IBM DB2.
Au niveau des objets de base de données (tables, champs, index, etc.) en tant que fichier et la version client-serveur de la base d'informations a un format similaire (caractérisé par des pièces insignifiantes). Certaines informations sur ce format sont contenues ci-dessous.
Toute la base d'informations est soumise dans la base de données sous la forme d'un ensemble de tables. Parmi eux, plusieurs tables sont nécessairement présentes dans la représentation de toute base d'informations:
* Config - la configuration principale de la base d'informations. Cette configuration correspond à la structure de données réelle et utilisée 1C: Enterprise 8.0 en mode entreprise.
* Configure. - Configuration éditée par le configurateur. La configuration de ConfigSave est réécrit à la configuration lors de la réalisation d'une "mise à jour de la configuration de la base de données" dans le configurateur, et inversement - lors de l'exécution de l'opération Configurateur "Configuration - une configuration de la base de données - retour à la configuration de la base de données".
* Des dossiers. Contient des informations de service, telles que travailler avec le stockage de configuration.
* Paramètres. Contient les paramètres de la base d'informations. Parmi eux:
=>
Liste des utilisateurs de la base de données d'informations.
=>
Paramètres de base des informations nationales.
=>
Tableau de conformité des objets de métadonnées et des objets de base de données (tableaux, champs, index).
=>
Quelques autres informations.
* _Yearoffset. - Déplacement des dates dans la base de données. Ce tableau est créé uniquement lors de l'utilisation de Microsoft SQL Server.
* Dbschema. Contient des informations sur la structure de la structure de la base de données 1C: entreprises et détermine d'autres objets de base de données utilisés par cette base d'informations.
Au début de la 1C: la société vérifie la présence de tables répertoriées dans la base d'informations et en l'absence de l'un d'entre eux, le message "Base d'information est détruit" est émis. L'absence de toutes tables répertoriées signifie que la base d'informations est vide. Dans ce dernier cas, ces tables seront créées.
La liste et la structure d'autres tables de base de données sont déterminées par une configuration spécifique, notamment définie dans les objets de métadonnées informatiques. Le nom de chaque table consiste en un préfixe alphabétique et le numéro suivant derrière elle. Le préfixe détermine le but de la table et le numéro vous permet de distinguer les tables de la même destination liées à différents objets de métadonnées. Si IBM DB2 est utilisé comme SGMS, la structure décrite n'a aucun nom de table, mais leurs alias.
Si la configuration définit au moins un plan d'échange avec le drapeau "Base d'information distribué", les tables suivantes seront créées:
* _Configchagerec. - Tableau d'enregistrement des modifications des objets de configuration.
* _Configchagerec_extProps. - Tableau des noms de fichiers des propriétés externes modifiées des objets de configuration.
Les objets de métadonnées suivants sont énumérés ci-dessous, ce qui peut correspondre à certaines tables.
* Constantes
=>
_Conssst contient les valeurs actuelles de toutes les constantes définies dans la configuration.
=>
_CONSTSCHANGANGEREC - Constant de changement de changement de changement. Il est créé si au moins une constante participe à au moins un plan d'échange.
* Plans d'échange
=>
_Nœud.
=>
_Nœud.
* Livres de référence
=>
_Référence
=>
_Référence
=>
_Referencechangerec.
* Documentation
=>
_Document
=>
_Document
=>
_DocumentChangerec.
* Séquences de documents
=>
_Séquence
=>
Présence de la recherche
=>
_Enceckechangerec.
* Journaux de document.
=>
_DocumentJournal
* Énumérations
=>
_Enum
* Caractéristiques des caractéristiques
=>
_Chrc.
=>
_Chrc.
=>
_ChrcChangerec.
* Plans de compte
=>
_Acc.
=>
_Acc.
=>
_Acc.
=>
_Accchegerec.
* Plans de calcul
=>
_Calckind.
=>
_Calckind.
=>
_Calckind.
=>
_Calckind.
=>
_Calckinddn.
=>
_Calckind.
=>
_Calckindchangerec.
* Registres d'information
=>
_Frforeg.
=>
_ForegChangerec.
* Registres d'accumulation
=>
_Accummisreg
=>
_Accummisregtotals.
=>
_AccummisRregTurnovers
=>
_Accumumregchagerec.
=>
_CAccumMegoption - La table des paramètres de stockage pour le stockage enregistre un à tous les registres d'accumulation.
* Registres de comptabilité
=>
_Accntreg.
=>
_Accentré.
=>
_ACCTTL0.
=>
_ACCTTL.
=>
_ACCTTLC.
=>
_Accntregchangerec.
=>
_ACPNTEGOPTIONS - Paramètres de stockage de table Tableau 1 pour tous les registres de comptabilité.
* Registres de calcul
=>
_CALCREG
=>
_Calcregiscer
=>
_CalcregCHangerec.
=>
_Calcregecalc.
=>
_CalcregrecalcChangerec.
* Processus d'affaires
=>
_Bproutepoint
=>
_Processus d'affaires
=>
_Processus d'affaires
=>
_BusinessProcessCHangerec.
* Tâches
=>
_Tâche.
=>
_Tâche.
=>
_Taskchangerec.
Lorsque vous utilisez IBM DB2, les préfixes des pseudonymes de table ne commencent pas à partir du symbole de soulignement, mais immédiatement du sujet.
Le nombre de ces tableaux dépend de la fonctionnalité de la configuration et peut être assez grand. En mode normal 1C: la société ne vérifie pas leur présence, ainsi que l'intégrité et la cohérence des données contenues dans elles. Par conséquent, il est important que la base de données dans laquelle la base d'informations de 1c est la suivante: les entreprises 8.1 ont été protégées de l'accès non autorisé et sa modification n'a été effectuée que par des moyens de 1c: les entreprises. Pour vérifier, vous devez utiliser la fonction "Administration - Test et Correction" intégrée au configurateur.
Il est également important que la sauvegarde et la restauration de la base de données stockant la base d'informations ne soient effectuées que. À cette fin, il est recommandé d'utiliser des outils de sauvegarde de la base de données intégrés dans les SGBD utilisés. Sauvegarde de la version de fichier de la base de données d'informations peut être effectuée en copiant le fichier 1CV8.1CD.
Le configurateur dispose d'une fonctionnalité spéciale: Administration - Déchargez la base d'informations. Avec cela, vous pouvez décharger sur le fichier spécifié (fichier de déchargement) toutes les données relatives à la base d'informations et plus. La fonction "Base de données de téléchargement" permet de télécharger la base d'informations actuelle au lieu de télécharger toutes les données du fichier de déchargement. Ces fonctions peuvent également être utilisées pour sauvegarder les données de base d'informations dans le fichier et dans la version client-serveur.