Wie öffne ich die externe Verarbeitung programmgesteuert? Die externe Verarbeitung kann von der aktuellen Version des Programms nicht gelesen werden. Öffnen eines externen Verarbeitungsformulars

Für die Arbeit mit Fremdbearbeitung (und eine Fremddruckform ist auch eine Fremdbearbeitung) gibt es ein Objekt Externe Verarbeitung.

Betrachten wir zwei mögliche Fälle:

Die externe Verarbeitung wird getrennt von der Infobase auf der Festplatte gespeichert

Um die externe Verarbeitung in 1C programmgesteuert zu öffnen, müssen Sie die Adresse ihrer Datei kennen. Wenn Sie es wissen, können Sie entweder ein Verarbeitungsformular öffnen oder ein Verarbeitungsobjekt dazu bringen, weitere Aktionen damit durchzuführen (z. B. um Exportfunktionen aus einem Objektmodul aufzurufen).

Öffnen eines externen Bearbeitungsformulars

Um ein externes Verarbeitungsformular in 1C programmgesteuert zu öffnen, verwenden Sie die Funktion GetForm() Objekt Externe Verarbeitung. Die Funktion verfügt über mehrere Parameter. Betrachten Sie ein einfaches Öffnen des Hauptverarbeitungsformulars:


Form = ExternalProcesses. GetForm(FileAddress) ;
Bilden. Offen();

Um ein geringfügiges externes Verarbeitungsformular zu öffnen, müssen Sie dessen Namen angeben.

//Die Variable FileAddress enthält den vollständigen Pfad zur externen Verarbeitungsdatei
Form = ExternalProcesses. GetForm(FileAddress, „MinorForm“) ;
Bilden. Offen();

Externe Verarbeitung als Objekt öffnen

Um eine externe Verarbeitung als Objekt zu erhalten, wird eine Funktion verwendet Erstellen() Objekt Externe Verarbeitung.

//Die Variable FileAddress enthält den vollständigen Pfad zur externen Verarbeitungsdatei
ProcessingObject = ExternalProcessing. Create(FileAddress) ;

Standardmäßig wird die gesamte Verarbeitung im abgesicherten Modus geöffnet. Um es zu deaktivieren, verwenden Sie die folgenden Optionen:

//Die Variable FileAddress enthält den vollständigen Pfad zur externen Verarbeitungsdatei

Externe Bearbeitungs- oder Druckform in der Infobase gespeichert

In vielen Konfigurationen ist es möglich, externe gedruckte Formulare und deren Bearbeitung direkt in der Infobase zu speichern. Hierzu dient das Nachschlagewerk Externe Verarbeitung. Die externe Verarbeitung selbst wird als Binärdaten oder in Attributen gespeichert StorageExternalProcessing, oder im tabellarischen Bereich Zugehörigkeit in Requisiten StorageExternalProcessing.

Um die externe Verarbeitung zu öffnen, benötigen Sie:

  1. Holen Sie es aus dem Lager.
  2. Speichern Sie die verarbeitete Datei auf der Festplatte.
  3. Öffnen Sie ein Formular oder rufen Sie ein Verarbeitungsobjekt ab.
  4. Wenn es sich um ein externes gedrucktes Formular handelt, können wir die Standarddetails ausfüllen Objektreferenz und rufen Sie die Exportfunktion auf Siegel.

//Die Variable RefLink enthält einen Link zum Verzeichniselement ExternalProcessings
DvData = RefLink. Externer Verarbeitungsspeicher. Erhalten() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(FileAddress) ;
ProcessingObject = ExternalProcessing. Create(FileAddress, False) ;

Es kommt vor, dass Sie zum Arbeiten eine externe Verarbeitung oder einen Bericht verwenden müssen, dies ist jedoch nicht immer sofort möglich. Wenn Sie versuchen, eine externe Verarbeitung oder einen Bericht über den Menüpunkt „Datei“ und dann „Öffnen“ zu öffnen, erscheint manchmal eine Fehlermeldung, die auf eine Verletzung der Zugriffsrechte hinweist.

Aber schauen wir uns zunächst an, wie sich externe Berichte und Verarbeitungen generell in „1C: Accounting 8.3“ Version 3.0 öffnen. Dabei handelt es sich in der Regel um ein Archiv, das aus dem Internet heruntergeladen oder auf andere Weise bezogen wird. Sobald es gespeichert wurde, beispielsweise auf dem Desktop, können wir durch einen Doppelklick den Inhalt sehen.

Aktionen für die reguläre Schnittstelle:

  1. Klicken Sie mit der rechten Maustaste auf die gewünschte Datei und wählen Sie den Kontextmenüpunkt „Kopieren“.
  2. Wir kehren zum Desktop zurück, klicken mit der rechten Maustaste auf den freien Speicherplatz und wählen „Einfügen“ (oder ziehen Sie die Datei einfach aus dem Archiv auf den Desktop).
  3. Sie können die Datei auch direkt aus dem Archiv an den gewünschten Ort auf der Festplatte extrahieren (in unserem Beispiel ist dies der Desktop).
  4. Wählen Sie nun die Datei mit der Bearbeitung auf dem Desktop aus und klicken Sie auf „Öffnen“.
  5. Die Bearbeitung wird im Programm geöffnet und Sie können sie nutzen.

Aktionen für eine verwaltete Schnittstelle (z. B. Taxi)

  1. Direkt aus der Datei öffnen.
  2. Wählen Sie im Menü „Datei“ und dann „Öffnen“.
  3. Gehen Sie im sich öffnenden Fenster zum Desktop, wählen Sie die Verarbeitungsdatei aus und klicken Sie auf „Öffnen“.

Für mehr Komfort können Sie einen speziellen Ordner für die Verarbeitung erstellen und alle Dateien darin speichern.

Wenn Sie die Verarbeitung oder einen Bericht nicht öffnen können, können Sie eine von zwei Optionen verwenden.

Erster Weg

Sie können die Verarbeitung in einem Verzeichnis namens „Zusätzliche Berichte und Verarbeitung“ registrieren. Also registrieren wir die Verarbeitung in der Datenbank.

  1. Wir gehen zum Verwaltungsbereich und wählen aus der Liste den Punkt „Druckformulare, Berichte und Verarbeitung“ aus.
  2. Aktivieren Sie im angezeigten Fenster das Kontrollkästchen „Zusätzliche Berichte und Verarbeitung“ und öffnen Sie den gleichnamigen Link.
  3. Klicken Sie im neuen Fenster auf „Erstellen“.
  4. Lesen Sie die Sicherheitswarnung und klicken Sie auf „Weiter“.
  5. Wählen Sie im nächsten Fenster den Speicherort der Datei mit der Verarbeitung aus und klicken Sie auf „Öffnen“.

Wichtig!

Wenn zu diesem Zeitpunkt ein Fehler mit dem Text erscheint: „Es ist nicht möglich, eine zusätzliche Verarbeitung aus der Datei zu verbinden ...“, müssen Sie die zweite unten beschriebene Methode verwenden.

  1. Wenn kein Fehler auftritt, suchen Sie den Eintrag „Platzierung“ unter „Befehle“.
  2. Überprüfen Sie im Fenster „Befehlsschnittstellenabschnitte“ den Abschnitt „Operationen“.
  3. In der Tabelle finden wir „Schnellzugriff“ und öffnen ihn.
  4. Wählen Sie alle Benutzer aus und klicken Sie auf OK.
  5. Klicken Sie auf die Schaltfläche „Speichern und schließen“.

Die Verarbeitung wurde erfolgreich registriert. Um es zu öffnen, müssen Sie zum Abschnitt „Operationen“ gehen, das zusätzliche Verarbeitungselement auswählen, das gewünschte auswählen und auf „Ausführen“ klicken.

Zweiter Weg

Wenn die Verarbeitung die in der ersten Option beschriebene Registrierung nicht unterstützt, können Sie es anders machen, nämlich: Aktivieren Sie erneut die Möglichkeit, die Verarbeitung in der Datenbank über das Menü „Datei“ mit der rechten Maustaste „Öffnen“ zu öffnen.

  1. Gehen Sie zum Datenbankkonfigurator.
  2. Wählen Sie im Menü „Administration“ und dann „Benutzer“.
  3. Doppelklicken Sie auf den gewünschten Benutzer.
  4. Gehen Sie zur Registerkarte „Sonstige“.
  5. Aktivieren Sie das Kontrollkästchen „Interaktives Öffnen externer Berichte und Bearbeitung“.
  6. OK klicken".
  7. Wir schließen den Konfigurator und, falls geöffnet, auch die Datenbank.
  8. Wir gehen erneut in die Datenbank und öffnen im Menü „Datei“ mit dem Befehl „Öffnen“ den benötigten Bericht.

Beim Arbeiten mit 1C in Plattform 8.2 erscheint möglicherweise das folgende Fenster: „ Externe Verarbeitung kann von der aktuellen Programmversion nicht gelesen werden.“ Versuchen wir herauszufinden, warum dieses Fenster erscheint und wie der Fehler behoben werden kann.

Der Kern des Problems

Das 1C-Programm aktualisiert die Plattform von Zeit zu Zeit. Dies geschieht bei der Veröffentlichung neuer Veröffentlichungen. Der Grund für den Fehler ist einfach: Das Programm hat die Plattform und nun einige Dateien aktualisiert externe Verarbeitung, die in Version 8.1 leicht zu öffnen waren, können auf der 8.2-Plattform nicht gelesen werden.

Behebung des Fehlers

Um den Fehler zu beheben, müssen Sie:

  • Öffnen Sie 1C:Enterprise im Konfiguratormodus;
  • Starten Sie die Verarbeitung über den Pfad „Datei – Öffnen“ (oder drücken Sie die Tastenkombination „Strg+O“);
  • Es erscheint die Meldung: „Konvertierung erforderlich. Konvertieren?". Es ist notwendig, die Konvertierung zu bestätigen (dieser Vorgang wird als Konvertierung der Verarbeitung von 8.1 auf 8.2 bezeichnet);

  • Schließen Sie den Konfigurator.

Dann externe Verarbeitung wird in ein für die aktualisierte Plattform verständliches Format konvertiert und Sie können externe Verarbeitungsdateien öffnen. Um zu überprüfen, ob die Konvertierung erfolgreich war, starten Sie nach dem Schließen des Konfigurators die Verarbeitung im 1C:Enterprise-Modus.

In 99 % der Fälle hilft dieser Aktionsalgorithmus, das Problem zu beheben. Wenn externe Verarbeitung startet nach der Konvertierung nicht, es wird empfohlen, einen 1C-Spezialisten einzuladen.

Startseite Für Anfänger-Entwickler Programmieren lernen

Wie öffne ich die externe Verarbeitung programmgesteuert?

In Version 8.2 funktioniert die Anwendung nicht direkt mit lokalen Dateien, die sich auf dem Computer befinden. Die Dateien müssen auf dem Server liegen.

Um die externe Verarbeitung zu öffnen, müssen Sie daher die folgende Abfolge von Aktionen ausführen:

  • die externe Verarbeitungsdatei an den Server übertragen,
  • externe Verarbeitung anbinden,
  • Öffnen Sie das Fremdbearbeitungsformular.
&Auf der Client-Prozedur-Befehlsverarbeitung (Befehlsparameter, Befehlsausführungsparameter) // Die Verarbeitung im temporären Speicher ablegen Storage Address = ""; Ergebnis = PlaceFile(StorageAddress, "C:\ExternalProcessing.epf", False); ProcessingName = ConnectExternalProcessing(StorageAddress); // Öffnen Sie das Formular der angeschlossenen externen Verarbeitung OpenForm("ExternalProcessing."+ProcessingName +".Form"); EndProcedure &OnServer Function ConnectExternalProcessing(StorageAddress) Return ExternalProcessing.Connect(StorageAddress); EndFunction

Um eine Datei auf den Server zu übertragen, muss sie im temporären Speicher abgelegt werden. Dazu zunächst auf dem Client, im Handler des Befehls zum Öffnen der externen Verarbeitung, mit der Funktion PutFile() Wir legen eine Datei aus dem lokalen Dateisystem im temporären Speicher ab.

Der vierte Parameter dieser Funktion gibt das Vorzeichen des interaktiven Modus zur Auswahl einer externen Verarbeitungsdatei an. Wenn dieser Parameter WAHR, dann erscheint ein Dateiauswahldialog, in dem Sie eine Datei auswählen können, die im Speicher abgelegt werden soll. In unserem Beispiel ist dieser Parameter Lüge, und der Pfad zu der Datei, aus der Daten im temporären Speicher abgelegt werden, wird explizit im zweiten Parameter der Funktion angegeben.

Beim Aufruf einer Funktion PutFile() sein erster Parameter, Speicheradresse, geben wir einen leeren String an. Nachdem die Funktion ausgeführt wurde, wird der Pfad zur externen Verarbeitungsdatei im temporären Speicher in dieser Variablen abgelegt. Wir nutzen diesen Weg zur Anbindung externer Verarbeitungen.

Die Anbindung der externen Verarbeitung erfolgt über die Methode auf dem Server Einstecken() Externer Sachbearbeiter. Als Parameter wird der Pfad zur externen Verarbeitungsdatei im temporären Speicher übergeben - Speicheradresse. Diese Methode gibt den Namen der angeschlossenen externen Verarbeitung zurück, - Verarbeitungsname, – mit deren Hilfe wir das Formular für diese Verarbeitung öffnen.

Um ein externes Bearbeitungsformular zu öffnen, verwenden Sie die Funktion OpenForm(), an die der Name des Formulars als folgende Zeile übergeben wird: „ExternalProcessing.“+ProcessingName +“.Form“. In der obigen Ausführungsform wird das Hauptverarbeitungsformular geöffnet. Sie können auch ein Nicht-Hauptverarbeitungsformular öffnen – dies wird in der Frage Wie erhalte ich ein Nicht-Hauptverarbeitungsformular? besprochen. .

Wenn Sie mit externer Verarbeitung arbeiten, müssen Sie berücksichtigen, dass diese standardmäßig im abgesicherten Modus der Programmcodeausführung gestartet werden. Dies bedeutet, dass ihnen einige Funktionen der integrierten Sprache nicht zur Verfügung stehen. Wenn Sie sicher sind, dass die externe Verarbeitung keinen Schadcode enthält, kann sie im normalen Modus der Programmcodeausführung aktiviert werden. Hierzu wird der dritte Parameter der Methode verwendet Einstecken() Externer Sachbearbeiter.

Weitere Informationen zum sicheren Codeausführungsmodus finden Sie in der Dokumentation.

Wie kann das interaktive Öffnen externer Berichte und deren Bearbeitung ermöglicht werden? (1C: Buchhaltung 8.3. Ausgabe 3.0)

2016-12-08T15:52:26+00:00

Wenn Sie eine externe Verarbeitung oder einen Bericht über das Menü Datei->Öffnen öffnen

Es erscheint der Fehler „Zugriffsverletzung“:

Es gibt nur zwei Möglichkeiten, die Verarbeitung zu nutzen.

Die erste Möglichkeit besteht darin, die Verarbeitung im Verzeichnis „Zusätzliche Meldungen und Verarbeitung“ zu registrieren (dazu).

Was aber, wenn die Verarbeitung eine solche Registrierung nicht unterstützt? Und die Verarbeitung ist sehr nützlich und ich möchte es unbedingt öffnen.

In diesem Fall können Sie die zweite Option wählen und die Möglichkeit zum Öffnen der Verarbeitung in der Datenbank über das Menü Datei->Öffnen wieder aktivieren.

Anweisungen hierzu finden Sie weiter unten.

Gehen Sie zum Datenbankkonfigurator:

Führen Sie den Menübefehl „Administration“ -> „Benutzer“ aus:

Doppelklicken Sie, um Ihren Benutzer zu öffnen:

Gehen Sie zur Registerkarte „Sonstiges“, aktivieren Sie das Kontrollkästchen „Interaktives Öffnen externer Berichte und Verarbeitung“ und klicken Sie auf „OK“:

Schließen Sie nun den Konfigurator und die Datenbank (sofern diese geöffnet war).

Gehen Sie zurück zur Datenbank und versuchen Sie, den Bericht über das Menü „Datei“ -> „Öffnen“ zu öffnen.

Jetzt wird alles klappen

Es gibt Nuancen...

Die Methode, die ich in dieser Anleitung beschrieben habe, funktioniert zu 100%, wenn Sie sie jedoch verwenden, kann es sein, dass das Recht „Externe Verarbeitung interaktiv öffnen“ nach einiger Zeit wieder verschwindet.

Um dies zu vermeiden, aktivieren Sie dasselbe Kontrollkästchen im 1C:Enterprise-Modus im aktuellen Zugriffsgruppenprofil für Ihren Benutzer.

Bei der Verwendung dieser Methode können verschiedene Nuancen auftreten (z. B. wenn Sie ein integriertes Profil verwenden, das nicht bearbeitet werden kann), daher werde ich für diesen Fall keine detaillierten Anweisungen geben.

Mit freundlichen Grüßen, Wladimir Milkin(Lehrer und Entwickler).