Mxl que d'ouvrir. Mxl que d'ouvrir la boîte de dialogue d'enregistrement de fichier 1s 8.3

Maison / Récupération de données

Le temps avance inexorablement et la plate-forme 1C 8 fonctionne encore plus vite que cette fois.

Les formulaires gérés sont désormais appelés "interface TAXI", les fenêtres modales sont interdites, et le mode d'utilisation des appels synchrones aux extensions et composants externes a complètement arrêté la fonctionnalité de la plupart de ces extensions et composants externes, et la moitié des anciennes méthodes en plus .

En général, les gars, les choses sont comme ça - beaucoup d'entre vous ont lu l'article du magnifique P. Chistov sur le travail avec des fichiers dans 8.3

Si vous ne l’avez pas encore fait, allez-y et marchez ! ()

L'essence du mécanisme pour travailler avec des fichiers en bref :

1) Sur le client, sélectionnez le fichier

2) On le met dans une boîte noire

3) Enregistrez le contenu de la boîte noire sur le serveur

Le hic, c’est que cela doit être fait surtout, d’une manière nouvelle et avec âme.

Par conséquent votre

SelectedFile.Exists()

et d'autres choses païennes ne fonctionneront pas ici.

Alors, c'est parti !

Voici une liste de codes qui vous permet de télécharger un fichier depuis le client

Description de l'alerte = Nouvelle description de l'alerte("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False ; StartFilePlace (AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Nous sommes intéressés par la méthode " FichiersPlaceDébut", qui, en fait, appelle une boîte de dialogue de sélection de fichier et place ce fichier dans un stockage temporaire. Cela n'a aucun sens de s'embêter avec la description du stockage temporaire, rappelez-vous simplement - c'est l'endroit où tous les fichiers que nous sélectionnons sont placés sous forme de données binaires (boîte noire).

&Sur la procédure client ProcessFileSelection(PlacedFiles, AdditionalParameters) Exporter si PlacedFiles = Undefined Then Return ;

endIf; Pour chaque cycle TransferredFile From PlacedFiles PathToFile = TransferredFile.Name;").

Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.FileName;", je pense que personne ne contestera. Récupérez le fichier du stockage temporaire et placez-le dans un attribut avec le type " Items.OpenFile.Header = Entry.FileName;" peut être fait comme suit :

NewValueStorage(GetFromTemporaryStorage(Adresse));

Nous avons réglé une chose, maintenant la deuxième chose est de savoir comment obtenir un fichier de ce magasin de valeurs (qui, permettez-moi de vous le rappeler, se trouve sur le serveur) et l'enregistrer sur le disque du client ?

Tout d'abord, nous devons obtenir un lien de navigation vers l'attribut de type " Items.OpenFile.Header = Entry.FileName;", où l'on place le fichier sous forme de données binaires.

Sois prudent! Ce lien de navigation n'a plus rien à voir avec le stockage temporaire ! Vous pouvez vérifier le type de lien de navigation en utilisant la méthode

Il s'agit de l'adresse de stockage temporaire (adresse)

Par tradition, la liste de codes qui appelle la boîte de dialogue de sauvegarde du fichier

Description de l'alerte = Nouvelle description de l'alerte ("Traitement de l'enregistrement du fichier", ThisForm); Fichier = Nouvelle description du fichier de transfert (nom du fichier, adresse) ; RecevoirFiles = Nouveau tableau ; RecevoirFiles.Add(Fichier); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False ; StartReceiveFiles(DescriptionAlerts, RecevoirFiles, OpenFileDialog, True);

Valeur variable " Déposer"C'est une autre fonctionnalité cette méthode. Ici, il convient de prêter attention à " Nom de fichier"Le fait est que lorsque vous placez un fichier dans un stockage temporaire, les informations sur son nom et son extension sont perdues. Par conséquent, n'oubliez pas de sauvegarder le nom de fichier correct, ou au moins son extension, quelque part, afin de ne pas vous soucier du question plus tard" Est-ce un document Word ou MP3 ?"

Méthode " Commencer à recevoir des fichiers"similaire à la méthode" FichiersPlaceDébut". L'un simplement ouvre une boîte de dialogue pour sélectionner un fichier, tandis que l'autre, au contraire, ouvre une boîte de dialogue pour enregistrer le fichier.

C'est essentiellement ça.

Lors de l'utilisation de cette méthode, il n'est pas nécessaire de définir une modalité ni une compatibilité des appels synchrones dans les propriétés de configuration.

J'ai écrit l'article davantage comme un rappel pour moi-même.

Le temps avance inexorablement et la plate-forme 1C 8 fonctionne encore plus vite que cette fois.

Les formulaires gérés sont désormais appelés « interface TAXI », les fenêtres modales sont interdites, et le mode d'utilisation des appels synchrones aux extensions et composants externes a complètement arrêté la fonctionnalité de la plupart de ces extensions et composants externes, et la moitié des anciennes méthodes en plus .

En général, les gars, les choses sont comme ça - beaucoup d'entre vous ont lu l'article du magnifique P. Chistov sur le travail avec des fichiers dans 8.3

Si vous ne l’avez pas déjà fait, n’hésitez pas et marchez ! ()

L'essence du mécanisme pour travailler avec des fichiers en bref :

1) Sur le client, sélectionnez le fichier

2) On le met dans une boîte noire

3) Enregistrez le contenu de la boîte noire sur le serveur

Le hic, c’est que cela doit être fait surtout, d’une manière nouvelle et avec âme.

Par conséquent votre

SelectedFile.Exists()

et d'autres choses païennes ne fonctionneront pas ici.

Alors, c'est parti !

Voici une liste de codes qui vous permet de télécharger un fichier depuis le client

Description de l'alerte = Nouvelle description de l'alerte("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False ; StartFilePlace (AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Nous sommes intéressés par la méthode » FichiersPlaceDébut», qui, en fait, appelle une boîte de dialogue de sélection de fichier et place ce fichier dans un stockage temporaire. Cela n'a aucun sens de s'embêter avec la description du stockage temporaire, rappelez-vous simplement que c'est l'endroit où sont placés tous les fichiers que nous sélectionnons sous forme de données binaires (boîte noire).

&Sur la procédure client ProcessFileSelection(PlacedFiles, AdditionalParameters) Exporter si PlacedFiles = Undefined Then Return ;

Il est presque impossible de comprendre ce qu’il y a là et comment le stocker dans ce stockage temporaire. Vous ne pouvez accéder à notre fichier qu'à l'aide du lien de navigation, qui est attribué automatiquement (voir la variable " Pour chaque cycle TransferredFile From PlacedFiles PathToFile = TransferredFile.Name;“).

Avec le fait que les fichiers doivent être stockés dans un attribut ou une ressource de type " Items.OpenFile.Header = Entry.FileName;« Je pense que personne ne contestera. Récupérez le fichier du stockage temporaire et placez-le dans un attribut du type « Items.OpenFile.Header = Entry.FileName;" peut être fait comme suit :

NewValueStorage(GetFromTemporaryStorage(Adresse));

Nous avons réglé une chose, maintenant la deuxième chose est de savoir comment obtenir un fichier de ce magasin de valeurs (qui, je vous le rappelle, se trouve sur le serveur) et l'enregistrer sur le disque du client ?

Tout d’abord, nous devons obtenir un lien de navigation vers l’attribut de type « Items.OpenFile.Header = Entry.FileName;“, où nous plaçons le fichier sous forme de données binaires.

Sois prudent! Ce lien de navigation n'a plus rien à voir avec le stockage temporaire ! Vous pouvez vérifier le type de lien de navigation en utilisant la méthode

Il s'agit de l'adresse de stockage temporaire (adresse)

Par tradition, la liste de codes qui appelle la boîte de dialogue de sauvegarde du fichier

Description de l'alerte = Nouvelle description de l'alerte ("Traitement de l'enregistrement du fichier", ThisForm); Fichier = Nouvelle description du fichier de transfert (nom du fichier, adresse) ; RecevoirFiles = Nouveau tableau ; RecevoirFiles.Add(Fichier); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False ; StartReceiveFiles(DescriptionAlerts, RecevoirFiles, OpenFileDialog, True);

La valeur de la variable « Déposer«C'est une autre caractéristique de cette méthode. Ici, il convient de prêter attention à " Nom de fichier« . Le fait est qu'en plaçant un fichier dans un stockage temporaire, les informations sur son nom et son extension sont perdues. Par conséquent, n’oubliez pas d’enregistrer quelque part le nom de fichier correct, ou au moins son extension, afin de ne pas avoir à vous soucier de la question « Est-ce un document Word ou MP3 ?

Méthode " Commencer à recevoir des fichiers« similaire à la méthode » FichiersPlaceDébut« . L'un ouvre simplement une boîte de dialogue pour sélectionner un fichier, tandis que l'autre, au contraire, ouvre une boîte de dialogue pour enregistrer le fichier.

C'est essentiellement ça.

Lors de l'utilisation de cette méthode, il n'est pas nécessaire de définir une modalité ni une compatibilité des appels synchrones dans les propriétés de configuration.

J'ai écrit l'article davantage comme un rappel pour moi-même.

La plateforme technologique 1C:Enterprise 8 vous permet d'enregistrer des fichiers arbitraires dans la base d'informations, de les récupérer et de les utiliser de diverses manières. Examinons ces opérations à l'aide d'exemples.

Avant de télécharger un fichier dans la base d'informations 1C, vous devez obtenir l'adresse complète du fichier sur le disque. L'utilisation des boîtes de dialogue de sélection de fichiers est décrite dans .

Pour stocker des fichiers, utilisez un attribut (ou une ressource d'enregistrement) du type Valeurs de stockage.

Téléchargement d'un fichier arbitraire dans la base d'informations 1C

N'importe quel fichier peut être représenté sous forme de données binaires et chargé dans Stockage de valeur.

Lors de la conversion de données binaires en objet Valeurs de stockage conception utilisée nouvelles StorageValues ​​(données, compression) avec deux paramètres :

  1. Données— données binaires qui doivent être stockées en stockage
  2. Compression— taux de compression de l'algorithme de déflation. Entier compris entre -1...9. -1 est le niveau de compression par défaut. 0 - pas de compression, 9 - compression maximale. Valeur par défaut : -1. Le paramètre est facultatif ; s’il n’est pas spécifié, la compression n’est pas utilisée.

//Convertir le fichier en données binaires
Fichier = Nouveau BinaryData(Chemin) ;

//Créer nouvel objet Valeurs de stockage

DataStorage = NewValueStorage(Fichier, NewDataCompression(9) ) ;

Enregistrer un fichier arbitraire de l'infobase 1C sur le disque

Pour enregistrer un fichier de la base de données 1C sur le disque, vous devez déterminer le chemin et le nom du fichier. Pour ce faire, il existe une boîte de dialogue d'enregistrement de fichier, dont l'utilisation est décrite dans.

//Obtenir des données binaires à partir du stockage
//Data Storage - attribut d'un objet de type Value Storage

//Écrit les données reçues sur le disque
//La variable Path contient l'adresse complète du fichier sur le disque
Données. Écrire(Chemin) ;

Visualisation d'un fichier situé dans la base d'informations 1C

Pour afficher un fichier enregistré dans la base de données, vous devez disposer d'une application installée sur votre ordinateur qui ouvre le fichier.

//Obtenir le nom du fichier temporaire avec l'extension requise
//Dans la variable Extension, vous devez mettre l'extension du fichier, par exemple "pdf"
Chemin = GetTemporaryFileName (Extension) ;

//Recevoir des données du stockage
//Data Storage - attribut d'un objet de type Value Storage
Données = banque de données. Obtenir() ;

//Écrit les données dans un fichier temporaire
Données. Écrire(Chemin) ;

//Essayer d'ouvrir le fichier dans l'application prévue
//Si l'application n'est pas trouvée, la boîte de dialogue système "Ouvrir avec..." apparaîtra.
LaunchApplication(Chemin) ;

Le programme "1C:Enterprise - Travailler avec des fichiers" est un programme distinct produit logiciel, qui est distribué gratuitement. Il est destiné à visualiser et à modifier les fichiers 1C:Enterprise sur des ordinateurs sur lesquels le système 1C:Enterprise n'est pas installé.

Les formats de fichiers suivants sont pris en charge :

  • (*.SMS);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.géo);

Pendant le processus d'installation, le programme enregistre les extensions mxl, grs et geo, ce qui permet de visualiser et de modifier ces fichiers, il suffit de cliquer dessus avec la souris :

Il est pris en charge pour lancer le programme à partir de ligne de commande. Dans ce cas, il est possible de préciser le fichier à traiter. Par exemple, pour traiter le fichier "Remains.mxl", exécutez simplement la commande :

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" D:\FileWorkshop\Remainings.mxl

"1C:Enterprise - Travailler avec des fichiers" prend en charge un mode similaire à celui implémenté dans le système 1C:Enterprise. Ainsi, par exemple, l'utilisateur peut comparer visuellement deux rapports de bilan :

Options de livraison

Il existe deux options de livraison pour le programme 1C:Enterprise - Travailler avec des fichiers :

  • russophone;
  • international.

La différence entre la livraison internationale et la livraison en russe est qu'elle inclut les mêmes que celles utilisées par le système 1C:Enterprise.

De plus, pour une livraison internationale, le commutateur de ligne de commande /L peut être utilisé pour spécifier la langue d'interface à utiliser. Par exemple, pour traiter le fichier "Remainings.mxl" dans un programme avec Anglais interface (fr), exécutez simplement la commande :

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" /Len D:\FileWorkshop\Remainings.mxl

© 2024 ermake.ru -- À propos de la réparation de PC - Portail d'information