1c Öffnen Sie die externe Verarbeitung. Wie öffne ich die externe Verarbeitung programmgesteuert? Externe Verarbeitung als Objekt öffnen

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 zur Datei, deren 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, nutzen 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 Ausführungsmodus von Programmcode finden Sie in der Dokumentation.

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 Behandlungen erstellen und alle 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 weitere 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 den benötigten Bericht im Menü „Datei“ mit dem Befehl „Öffnen“.

In diesem Artikel betrachten wir Schritt-für-Schritt-Anleitungen zum Erstellen einer externen Verarbeitung in 1C 8.3 im verwalteten Anwendungsmodus; dementsprechend werden wir verwaltete Formulare verwenden. Und vor allem lernen wir, wie wir es mit dem Mechanismus der „externen Verarbeitung“ von 1C-Konfigurationen verbinden, die auf einer Bibliothek von Standard-Subsystemen der Version 2.0 und neuer basieren.

Die Aufgabe besteht darin, die einfachste externe Verarbeitung zu erstellen, die eine Gruppenaktion für das Verzeichnis „Artikel“ ausführt, nämlich den ausgewählten Mehrwertsteuersatz-Prozentsatz für die angegebene Artikelgruppe festzulegen.

Dazu werden wir sofort die notwendigen Einstellungen im Programm vornehmen (wir erwägen die 1C 8.3-Konfiguration: „Enterprise Accounting 3.0“ auf verwalteten Formularen).

Durch Aktivieren dieses Kontrollkästchens haben wir die Möglichkeit, eine externe Verarbeitung zu nutzen.

Erstellen einer neuen externen Verarbeitung in 1C 8.3 anhand eines Beispiels

Kommen wir nun zum Konfigurator. Wählen Sie im Menü „Datei“ den Eintrag „Neu…“. Es öffnet sich ein Fenster zur Auswahl des zu erstellenden Dateityps. Wählen Sie „Fremdverarbeitung“:

Es öffnet sich ein neues externes Bearbeitungsfenster. Geben wir ihr gleich einen Namen. Beim Speichern der Verarbeitung auf der Festplatte wird Folgendes angeboten:

Fügen wir ein neues Formular für die kontrollierte Verarbeitung hinzu. Wir weisen darauf hin, dass es sich hierbei um eine Form der Verarbeitung handelt, und zwar um die wichtigste:

Wir werden zwei Details auf dem Formular haben:

  • Nomenklaturgruppe – Link zum Verzeichnis „Nomenklatur“;
  • SelectVATRate – Link zur Übertragung des Mehrwertsteuersatzes.

Die Details erstellen wir in der Spalte „Eigenschaften“ im oberen rechten Fenster. Ziehen Sie sie mit der Maus in das obere linke Fenster. Die neuen Details sollten sofort im Formular unten erscheinen.

Die Reihenfolge der Details kann mit den Pfeilen „Auf“ – „Ab“ geändert werden:

Holen Sie sich 267 Video-Lektionen zu 1C kostenlos:

Jetzt muss nur noch die Schaltfläche „Installieren“ hinzugefügt werden. In verwalteten Formularen können Sie dem Formular nicht einfach eine Schaltfläche hinzufügen. Selbst wenn Sie es zur Struktur von Formularelementen hinzufügen, ist es im Formular selbst nicht sichtbar. Die Schaltfläche muss mit dem Befehl verknüpft sein, den sie ausführen soll. Gehen Sie zur Registerkarte „Befehle“ und fügen Sie den Befehl „Mehrwertsteuersatz festlegen“ hinzu. Erstellen Sie in den Befehlseigenschaften eine Aktion. Wählen Sie den Befehlshandler „Auf dem Client“ aus. Ein Befehl kann dem Formular auch hinzugefügt werden, indem man ihn einfach in den Abschnitt mit den Formularelementen zieht.

Im Formularmodul wird eine gleichnamige Prozedur erstellt. Darin rufen wir die Prozedur auf dem Server auf:

&OnClient

Vorgehensweise Mehrwertsteuersatz festlegen (Befehl)

SetVATRateOnServer();

Ende des Verfahrens

Im Verfahren auf dem Server schreiben wir eine kleine Anfrage und Aktionen im Zusammenhang mit der Festlegung des Mehrwertsteuersatzes:

&Auf dem Server

Prozedur SetVATRateOnServer()

Anfrage = Neue Anfrage;
Request.Text =
"WÄHLEN
| Nomenklatur.Link
|VON
| Verzeichnis.Nomenklatur AS-Nomenklatur
|WO
| Nomenclature.Link IN HIERARCHY (&Nomenclature Group)
| UND NICHT Nomenclature.MarkDeletion
| UND NICHT Nomenklatur. Dies ist eine Gruppe“;

Request.SetParameter("Item Group", Item Group);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

While SelectRecordDet.Next()-Schleife

Versuchen
SprNomObject.Write();
Ausnahme
Report("Fehler beim Schreiben des Objekts """ + SprNomObject + """!
|» + DescriptionError());
EndAttempt;

EndCycle;

Ende des Verfahrens

Wir kehren zur Registerkarte „Formular“ zurück, fügen dem Formular eine Schaltfläche hinzu und verknüpfen sie mit dem Befehl:

Somit ist unsere Verarbeitung einsatzbereit. Um es aufzurufen, müssen Sie im Modus „1C Enterprise“ zum Menü „Datei“ – „Öffnen“ gehen und die erstellte Datei auswählen.

Das Arbeiten in diesem Modus ist zwar für die Debugging-Verarbeitung praktisch, für den Benutzer jedoch nicht ganz geeignet. Benutzer sind es gewohnt, alles „zur Hand“ zu haben, also in der Datenbank selbst.

Hierzu dient der Abschnitt „Zusätzliche Berichte und Verarbeitung“.

Um unsere Verarbeitung dort hinzuzufügen, müssen wir ihr jedoch zunächst eine Beschreibung geben und dem Programm seine Eigenschaften mitteilen.

Beschreibung der Funktion „Informationen zur externen Verarbeitung“

Ich werde ein Beispiel für den Inhalt dieser Funktion geben. Es muss exportierbar sein und sich dementsprechend im Verarbeitungsmodul befinden:

Funktion InformationOnExternalProcessing() Exportieren

DataForReg = New Structure();
DataForReg.Insert("Name", "Einstellung des Mehrwertsteuersatzes");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Version", "ver.: 1.001");
DataForReg.Insert("Information", "Verarbeitung zur Festlegung des Mehrwertsteuersatzes im Nomenklaturverzeichnis");
DataForReg.Insert("View", "AdditionalProcessing");

CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Identifier");
TabZnCommands.Columns.Add("Usage");
TabZnCommands.Columns.Add("View");

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Verarbeitung öffnen";
DataForReg.Insert("Commands", TabZnCommands);

Return DataForReg;

EndFunction

Um besser zu verstehen, welche Felder der Registrierungsdatenstruktur verwendet werden müssen, schauen wir uns die Details des Verzeichnisses „Zusätzliche Berichte und Verarbeitung“ an:

Wie Sie sehen, ist alles ganz einfach. Nur ein Attribut stimmt nicht überein: „Startoption“ – „Verwenden“. Wenn wir uns den Code eines der gemeinsamen Module ansehen, werden wir sehen, wie eine Reihe dieser Felder entstehen:

Um festzustellen, welche Felder einer Struktur erforderlich sind, können Sie diese zunächst nicht beschreiben, sondern einfach ein leeres Feld erstellen und dann den Debugger verwenden. Wenn Sie Module bei der Registrierung der Verarbeitung verfolgen, ist sofort klar, welche Felder erforderlich sind und welche nicht.

Anschließen der externen Verarbeitung in 1C 8.3

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 Fremdbearbeitungsformulars

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 den 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 RefLink-Variable enthält einen Link zum Verzeichniselement ExternalProcessings
DvData = RefLink. Externer Verarbeitungsspeicher. Erhalten() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(FileAddress) ;
ProcessingObject = ExternalProcessing. Create(FileAddress, False) ;