1c Enterprise Arbeiten mit Dateien 8.3. Mxl als zu öffnen

Mit der Technologieplattform 1C:Enterprise 8 können Sie beliebige Dateien in der Informationsdatenbank speichern, von dort abrufen und auf verschiedene Arten verwenden. Schauen wir uns diese Operationen anhand von Beispielen an.

Bevor Sie eine Datei in die 1C-Informationsdatenbank hochladen, müssen Sie die vollständige Adresse der Datei auf der Festplatte abrufen. Das Arbeiten mit Dateiauswahldialogen wird in beschrieben.

Verwenden Sie zum Speichern von Dateien ein Attribut (oder eine Registerressource) mit dem Typ Speicherwerte.

Hochladen einer beliebigen Datei in die 1C-Informationsdatenbank

Jede Datei kann als Binärdaten dargestellt und geladen werden Wertspeicherung.

Beim Konvertieren von Binärdaten in ein Objekt Speicherwerte Design verwendet neue StorageValues(Daten, Komprimierung) mit zwei Parametern:

  1. Daten– Binärdaten, die im Speicher gespeichert werden müssen
  2. Kompression— Kompressionsverhältnis des Deflationsalgorithmus. Ganzzahl im Bereich -1...9. -1 ist die Standardkomprimierungsstufe. 0 – keine Komprimierung, 9 – maximale Komprimierung. Standardwert: -1. Der Parameter ist optional; wenn er nicht angegeben wird, wird keine Komprimierung verwendet.

//Konvertieren Sie die Datei in Binärdaten
File = New BinaryData(Path) ;

//Erstelle ein neues Value Storage-Objekt

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

Speichern einer beliebigen Datei aus der 1C-Infobase auf der Festplatte

Um eine Datei aus der 1C-Datenbank auf der Festplatte zu speichern, müssen Sie den Pfad und den Dateinamen ermitteln. Dazu gibt es einen Dateispeicherdialog, dessen Funktionsweise in beschrieben ist.

//Binärdaten aus dem Speicher abrufen
//Datenspeicherung – Attribut eines Objekts mit dem Wertspeichertyp

//Schreiben Sie die empfangenen Daten auf die Festplatte
//Die Path-Variable enthält die vollständige Adresse der Datei auf der Festplatte
Daten. Write(Pfad) ;

Anzeigen einer Datei in der 1C-Informationsdatenbank

Um eine in der Datenbank gespeicherte Datei anzuzeigen, muss auf Ihrem Computer eine Anwendung installiert sein, die die Datei öffnet.

//Den Namen der temporären Datei mit der erforderlichen Erweiterung abrufen
//In der Extension-Variable müssen Sie die Dateierweiterung eingeben, zum Beispiel „pdf“
Path = GetTemporaryFileName(Extension) ;

//Daten vom Speicher empfangen
//Datenspeicherung – Attribut eines Objekts mit dem Wertspeichertyp
Daten = Datenspeicher. Erhalten() ;

//Daten in eine temporäre Datei schreiben
Daten. Write(Pfad) ;

//Es wird versucht, die Datei in der vorgesehenen Anwendung zu öffnen
//Wenn die Anwendung nicht gefunden wird, erscheint der Systemdialog „Öffnen mit…“.
LaunchApplication(Pfad) ;

Eine Datei mit der Erweiterung .MXL ist ein Tabellenkalkulationsdokument, das vom Programm 1C:Enterprise erstellt wurde. Ursprünglich sollte 1C:Enterprise die Buchhaltung automatisieren. In unserem Artikel erklären wir Ihnen, wie Sie eine Datei mit der Erweiterung .MXL öffnen.

Um eine solche Datei zu öffnen, starten Sie „1C Enterprise“ und wählen Sie das Menü „Datei“ -> „Öffnen“. Auf Wunsch können Sie eine solche Datei im Excel-Format speichern. Wählen Sie dazu im selben Menü „Datei“ die Option „Speichern unter …“ und stellen Sie dann den Dateityp auf „Excel-Tabelle“ ein. Wenn 1C Enterprise nicht auf Ihrem Computer installiert ist, können Sie die kostenlose Anwendung 1C Enterprise – Arbeiten mit Dateien von der offiziellen Website des Unternehmens herunterladen und installieren. Dieses Programm hilft Ihnen beim Öffnen, Anzeigen, Drucken und Konvertieren von Dateien.

Laden Sie „1C Enterprise – Arbeiten mit Dateien“ kostenlos herunter

Laden Sie das Programm von der offiziellen Website herunter. Das Arbeiten mit Dateien ähnelt dem Arbeiten mit Dateien im 1C:Enterprise-Modus.
Eine russische Version des Programms ist verfügbar. Bei der Installation des Programms müssen Sie die vollständige Distribution auswählen.
Nach der Installation von „1C Enterprise – Arbeiten mit Dateien“ können Sie eine Datei mit der Erweiterung .mxl nicht nur anzeigen, sondern auch in Excel konvertieren.

Der Artikel beschreibt ein Beispiel für die Anzeige eines Bildes in einer kontrollierten Form eines Verzeichniselements, wenn der Modalitätsmodus fehlschlägt.

Anwendbarkeit

Der Artikel befasst sich mit der 1C:Enterprise-Plattform Version 8.3. Die dargestellten Informationen sind für aktuelle Plattformversionen relevant.

Arbeiten mit Dateien (Bildern) in der Taxi-Oberfläche

Schauen wir uns den Algorithmus für die Arbeit mit Dateien und Bildern in der neuen 1C:Enterprise 8.3 „Taxi“-Oberfläche an.

Erstens, warum ich mich entschieden habe, diesen Artikel zu schreiben: Das neue Konzept von 1C ist der Verzicht auf modale Fenster, daher werden alle Methoden und Objekte, die das Öffnen modaler Fenster in der neuen Schnittstelle generiert haben, nicht funktionieren, oder besser gesagt, sie werden nicht funktionieren Dies ist nur möglich, wenn in den Konfigurationseigenschaften modale Fenster zulässig sind.

Wenn wir jedoch modale Fenster zulassen, werden wir beim Arbeiten im Webclient auf Probleme stoßen.

Zweitens wird oft nach der Arbeit mit Bildern in überschaubaren Formen gefragt.

Also die Aufgabe: Im Verzeichnis „Produkte“ müssen Sie ein Foto des Produkts speichern und im Formular anzeigen.
Die Erstkonfiguration enthält nichts außer dem Produktverzeichnis selbst. Ich werde es nicht veröffentlichen, sondern nur eine leere Konfiguration in 8.3 erstellen.

Um die Grafikdatei selbst zu speichern, erstellen wir im Verzeichnis das Attribut „Bilddaten“ mit dem Typ „Wertspeicher“.

Zum Vergrößern klicken Sie auf das Bild.

Wenn Sie planen, ein Bild (eine Datei) aus der Infobase zurück in das Dateisystem hochzuladen, fügen Sie ein weiteres Attribut hinzu, das den ursprünglichen Dateinamen und seinen Typ speichert.

Zum Vergrößern klicken Sie auf das Bild.

Wie wird das Bild im Formular angezeigt? Nein, keine „Bild“-Dekoration. Und zwar in Form von Requisiten eines Formulars vom Typ „String“. Ja Ja! Das ist offensichtlich, und es ist seltsam, dass nur wenige Menschen dies selbst erkennen.

Die Sache ist die: Wenn Sie dem Formular ein Attribut vom Typ „String“ hinzufügen, das einen Navigationslink zu Grafikdaten oder die Adresse eines temporären Speichers enthält, der solche Daten enthält, kann das Formular die Grafik anzeigen Daten selbst.
Fügen wir ein Formularattribut mit dem Namen „Link To Picture“ hinzu, geben Sie „string“ ein und die Länge ist unbegrenzt. Und tragen Sie es in die Formulardetails ein.

Zum Vergrößern klicken Sie auf das Bild.

Standardmäßig sieht die Zeile im Formular wie ein Eingabefeld aus, wir müssen dies in den Eigenschaften des Formularelements ändern. Wählen Sie „Bildfeld“ in der Eigenschaft „Ansicht“.

Zum Vergrößern klicken Sie auf das Bild.

Der Schnittstellenteil ist fertig. Lassen Sie uns etwas programmieren. Lassen Sie uns einen Formularbefehl „Select ImageFile“ erstellen und ihn in Form einer Schaltfläche auf dem Formular platzieren.

Zum Vergrößern klicken Sie auf das Bild.

Im Modul beschreiben wir den Event-Handler „Action“ für den erstellten Formularbefehl:

Zum Vergrößern klicken Sie auf das Bild.

Ein paar Kommentare zum obigen Code:

Wenn wir nicht auf den Anwendungsmodalitätsmodus geachtet hätten, hätten wir problemlos die Methode „PlaceFile“ verwenden können, aber der Zweck des Artikels besteht darin, die Arbeit mit Dateien in genau diesem Modus zu zeigen.
Die StartFilePlace-Methode platziert die ausgewählte Datei im temporären Speicher (sofern die Datei ausgewählt wurde) und ruft die Prozedur „ProcessFileSelection“ im selben Modul auf.

Ich mache Sie auf den hervorgehobenen „UniqueIdentifier“ aufmerksam; mit dieser Eigenschaft haben wir die temporäre Speicherung mit dem aktuellen Formular verknüpft. Andernfalls wird die Datei im Speicher abgelegt, aber der Speicher selbst wird beim Serveraufruf zerstört und wir benötigen ihn weiterhin, um die Datei in das Verzeichnisattribut zu schreiben.

Beschreiben wir die Prozedur „ProcessFileSelection“:

Zum Vergrößern klicken Sie auf das Bild.

Wenn der Benutzer die Auswahl einer Datei nicht ablehnt, legen wir die Adresse im temporären Speicher ab, an dem die Bilddaten im Formularattribut „Link zu Bild“ abgelegt wurden.

Voila!

Beim Schreiben eines Verzeichniselements müssen nun also nur noch die Daten aus dem temporären Speicher in das Attribut des Verzeichniselements geschrieben werden. Wir beschreiben das BeforeRecordOnServer-Ereignis:

Zum Vergrößern klicken Sie auf das Bild.

Was überprüfen wir in den Formulardetails? Wenn es sich bei der Adresse um einen temporären Speicher handelt, schreiben wir die Daten in das Verzeichniselementattribut und beziehen uns dabei auf „CurrentObject“. „CurrentObject“ sind die konvertierten Formulardaten, die zu diesem Zeitpunkt in die Datenbank geschrieben werden.

Es bleibt noch das Öffnen des Formulars zu beschreiben, um das bereits im Verzeichniselementattribut gespeicherte Bild anzuzeigen.

Zum Vergrößern klicken Sie auf das Bild.

Das ist alles. Sie können die fertige Basis nehmen.

Pawel Tschistow

Das Programm „1C:Enterprise – Arbeiten mit Dateien“ ist ein separates Softwareprodukt, das kostenlos verteilt wird. Es ist zum Anzeigen und Bearbeiten von 1C:Enterprise-Dateien auf Computern gedacht, auf denen das 1C:Enterprise-System nicht installiert ist.

Folgende Dateiformate werden unterstützt:

  • (*.txt);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.geo);

Während des Installationsvorgangs registriert das Programm die Erweiterungen mxl, grs und geo. Um diese Dateien anzuzeigen und zu bearbeiten, müssen Sie sie nur mit der Maus anklicken:

Das Ausführen des Programms über die Befehlszeile wird unterstützt. In diesem Fall besteht die Möglichkeit, die zu verarbeitende Datei anzugeben. Um beispielsweise die Datei „Remains.mxl“ zu verarbeiten, führen Sie einfach den folgenden Befehl aus:

„D:\Programme\1cv82fv\bin\1cv8fv.exe“ D:\FileWorkshop\Remainings.mxl

„1C:Enterprise – Arbeiten mit Dateien“ unterstützt einen Modus, der dem im 1C:Enterprise-System implementierten ähnelt. So kann der Nutzer beispielsweise zwei Bilanzberichte visuell vergleichen:

Lieferoptionen

Für das Programm 1C:Enterprise – Arbeiten mit Dateien gibt es zwei Lieferoptionen:

  • Russisch sprechend;
  • International.

Der Unterschied zwischen der internationalen Lieferung und der russischsprachigen Lieferung besteht darin, dass sie dieselben umfasst, die das 1C:Enterprise-System verwendet.

Für die internationale Zustellung kann außerdem der Befehlszeilenschalter /L verwendet werden, um die zu verwendende Schnittstellensprache anzugeben. Um beispielsweise die Datei „Remains.mxl“ in einem Programm mit einer englischen Oberflächensprache (en) zu verarbeiten, führen Sie einfach den Befehl aus:

„D:\Programme\1cv82fv\bin\1cv8fv.exe“ /Len D:\FileWorkshop\Remainings.mxl

Die Zeit schreitet unaufhaltsam voran und die 1C 8-Plattform läuft noch schneller als dieses Mal.

Verwaltete Formulare werden jetzt als „TAXI-Schnittstelle“ bezeichnet, modale Fenster sind verboten und der Modus der Verwendung synchroner Aufrufe von Erweiterungen und externen Komponenten hat die Funktionalität der meisten dieser Erweiterungen und externen Komponenten sowie der Hälfte der alten Methoden vollständig eingestellt .

Im Allgemeinen, Leute, sind die Dinge so – viele von euch haben den Artikel des großartigen P. Chistov über die Arbeit mit Dateien in 8.3 gelesen

Wenn Sie dies noch nicht getan haben, marschieren Sie! ()

Das Wesentliche des Mechanismus zum Arbeiten mit Dateien in Kürze:

1) Wählen Sie auf dem Client die Datei aus

2) Wir schieben es in eine Blackbox

3) Speichern Sie den Inhalt der Blackbox auf dem Server

Der Haken daran ist, dass dies besonders, auf eine neue Art und Weise und mit Seele geschehen muss.

Deshalb Ihr

SelectedFile.Exists()

und andere heidnische Dinge werden hier nicht funktionieren.

So lass uns gehen!

Hier ist eine Codeliste, mit der Sie eine Datei vom Client herunterladen können

Alert Description = Neue Alertbeschreibung("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Uns interessiert die Methode „ StartPlaceFiles", was tatsächlich einen Dateiauswahldialog aufruft und diese Datei im temporären Speicher ablegt. Es hat keinen Sinn, sich mit der Beschreibung des temporären Speichers herumzuschlagen. Denken Sie daran: Dies ist der Ort, an dem alle von uns ausgewählten Dateien abgelegt werden die Form binärer Daten (Black Box).

&Auf der Client-Prozedur ProcessFileSelection(PlacedFiles, AdditionalParameters) Export If PlacedFiles = Undefiniert, dann Return; endIf; Für jede TransferredFile From PlacedFiles Cycle PathToFile = TransferredFile.Name; Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.FileName; Adresse = TransmittedFile.Storage; EndCycle; EndProcedure // ()

Es ist fast unmöglich zu verstehen, was sich dort befindet und wie es in diesem temporären Speicher gespeichert wird. Zu unserer Datei gelangen Sie ausschließlich über den automatisch vergebenen Navigationslink (siehe Variable „ Adresse").

Mit der Tatsache, dass Dateien in einem Attribut oder einer Ressource vom Typ „ Wertspeicherung", ich denke, niemand wird widersprechen. Holen Sie sich die Datei aus dem temporären Speicher und platzieren Sie sie in einem Attribut vom Typ " Wertspeicherung„kann wie folgt erfolgen:

NewValueStorage(GetFromTemporaryStorage(Address));

Eines haben wir geklärt, die zweite Frage ist nun, wie man eine Datei aus diesem Wertspeicher (der sich, wie ich Sie daran erinnern möchte, auf dem Server befindet) erhält und auf der Festplatte des Clients speichert.

Zunächst benötigen wir einen Navigationslink zum Attribut mit dem Typ „ Wertspeicherung", wo wir die Datei in Form von Binärdaten ablegen.

Seien Sie aufmerksam! Dieser Navigationslink hat nichts mehr mit Zwischenspeicherung zu tun! Mit der Methode können Sie die Art des Navigationslinks überprüfen

Dies ist die temporäre Speicheradresse (Adresse)

Traditionell ist dies die Codeauflistung, die den Dateispeicherdialog aufruft

Alert Description = Neue Alertbeschreibung("File Saving Processing", ThisForm); File = New DescriptionofTransferFile(FileName, Address); ReceiveFiles = Neues Array; ReceiveFiles.Add(File); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Variablenwert " Datei„Dies ist ein weiteres Merkmal dieser Methode. Es lohnt sich, darauf zu achten.“ Dateiname„Tatsache ist, dass beim Ablegen einer Datei im temporären Speicher Informationen über ihren Namen und ihre Erweiterung verloren gehen. Vergessen Sie daher nicht, den richtigen Dateinamen oder zumindest ihre Erweiterung irgendwo zu speichern, damit Sie sich nicht mit dem belästigen Frage später“ Ist das ein Word-Dokument oder eine MP3?"

Methode " Beginnen Sie mit dem Empfangen von Dateien„Ähnliche Methode“ StartPlaceFiles". Einfach einer öffnet einen Dialog zum Auswählen einer Datei, während der andere im Gegenteil einen Dialog zum Speichern der Datei öffnet.

Das ist es im Grunde.

Bei Verwendung dieser Methode ist es nicht erforderlich, in den Konfigurationseigenschaften Modalitäten und synchrone Aufrufkompatibilität festzulegen.

Ich habe den Artikel eher als Erinnerung für mich selbst geschrieben.

Fortsetzung des Themas:
Programme

Bis zum Erscheinen des Note 7 war das Samsung S7 Edge zu Recht das teuerste Gerät in Samsungs Smartphone-Reihe 2016. Wie eine größere und gebogenere Version ...