So führen Sie eine externe Verarbeitung in 1C 8.3 durch. Hinzufügen externer Verarbeitung zur Datenbank

2016-12-08T15:04:29+00:00

Ich erkläre es Ihnen anhand des Beispiels meiner Verarbeitung, das ich auf meiner Website veröffentliche.

1. Laden Sie das Archiv mit der Verarbeitung auf Ihren Desktop herunter.

2. Doppelklicken Sie auf das heruntergeladene Archiv und Sie werden hineingeleitet.

Aufmerksamkeit! Wenn Sie nicht in das Archiv gelangen konnten (es wird die Fehlermeldung „Anwendung nicht gefunden“ angezeigt), klicken Sie mit der rechten Maustaste auf das Archiv und wählen Sie eine der Optionen aus:

      • Alles extrahieren
      • Mit 7-Zip öffnen
      • Mit WinRar öffnen
      • Oder etwas ähnliches...

3. Es gibt eine Datei mit der Verarbeitung (und bereits mit einem russischen Namen). Klicken Sie mit der rechten Maustaste darauf und wählen Sie „Kopieren“.

4. Kehren Sie zum Desktop zurück, klicken Sie erneut mit der rechten Maustaste auf eine leere Stelle in der Tabelle und wählen Sie „Einfügen“ ( Oder Sie ziehen die Bearbeitungsdatei einfach aus dem Archiv auf Ihren Desktop).

5. Die Datei aus dem Archiv sollte auf dem Desktop erscheinen.

Für normale Schnittstelle

Wählen Sie im Menü „Datei->Öffnen…“:

Für eine verwaltete Schnittstelle (Taxi usw.)

Direkt aus einer Datei öffnen

Wählen Sie im Menü „Datei“ -> „Öffnen…“:

Gehen Sie im erscheinenden Fenster zum Desktop, wählen Sie die verarbeitete Datei aus und klicken Sie auf die Schaltfläche „Öffnen“.

Bereit! Die Verarbeitung sollte sich im Programm öffnen und Sie können sie verwenden. Der Einfachheit halber können Sie einen speziellen Ordner „Verarbeitung“ auf Ihrem Desktop erstellen und solche Dateien dort speichern.

Verarbeitung in der Datenbank registrieren

Wenn Sie beim Öffnen der Datei die Fehlermeldung „Verletzung der Zugriffsrechte!“ erhalten:

Dann müssen Sie die Öffnung externer Prozessoren zulassen (mehr dazu) oder die Verarbeitung in der Datenbank registrieren – das ist nicht schwer, dafür:

Gehen Sie zum Bereich „Administration“, „Formulare, Berichte und Bearbeitung drucken“:

Aktivieren Sie im sich öffnenden Fenster das Kontrollkästchen „Zusätzliche Berichte und Verarbeitung“ und öffnen Sie den Link „Zusätzliche Berichte und Verarbeitung“:

Klicken Sie im sich öffnenden Fenster auf die Schaltfläche „Erstellen“:

Lesen Sie die Warnung und klicken Sie auf die Schaltfläche „Weiter“:

Gehen Sie im erscheinenden Fenster zum Desktop, wählen Sie die zu bearbeitende Datei aus und klicken Sie auf die Schaltfläche „Öffnen“:

Wenn zu diesem Zeitpunkt die Fehlermeldung „Es ist nicht möglich, eine zusätzliche Verarbeitung aus der Datei zu verbinden …“ erscheint, bleibt nichts anderes übrig, um die Verarbeitung zu öffnen, als das Öffnen von Dateien über das Menü „Datei“ -> „Öffnen“ zu ermöglichen – das ist darüber.

Suchen Sie nach „Platzierung“ und klicken Sie darauf:

Überprüfen Sie im nächsten Fenster den Abschnitt „Operationen“ und klicken Sie auf „OK“.

Gehen Sie zum oberen Menü Service->->.

Das Formular mit der Liste der externen Verarbeitungsverzeichnisse wird angezeigt. Drücken Sie im oberen Menü die Taste Hinzufügen.

Das Formular „Neues Objekt hinzufügen“ wird angezeigt. Klicken Sie auf die Schaltfläche „Öffnen“ und wählen Sie die Datei mit der gewünschten Bearbeitung aus. Nachdem Sie die gewünschte Datei ausgewählt haben, geben Sie ggf. einen Verarbeitungsnamen an (Feld Name). Danach müssen Sie auf OK klicken, um die vorgenommenen Änderungen zu speichern.

Danach schließt sich das Fenster zum Anlegen eines Verzeichniseintrags und Sie gelangen zurück zum Listenformular, das bereits die neue Bearbeitung enthält.

Das ist alles! Der Prozess des Hinzufügens der Verarbeitung zur Konfiguration ist abgeschlossen. Um diese Verarbeitung später zu öffnen, folgen Sie dem alten Pfad: Service->Zusätzliche Berichte und Verarbeitung->Zusätzliche externe Behandlungen.

Für BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Die externe Verarbeitung für 1C:Enterprise 8 gibt es in verschiedenen Ausführungen. In dieser Anleitung zeige ich Ihnen, wie Sie Verarbeitungen zur Gruppenänderung und Verarbeitungen zum Füllen bestimmter Objekte anhängen.

Für den ersten Fall werden wir die Verarbeitung zum Ausfüllen des Nomenklaturverzeichnisses aus Excel hinzufügen.

Gehen wir zum entsprechenden Abschnitt des Programms:


Es ist erforderlich, dass das Flag für die Verwendung zusätzlicher Berichte und Verarbeitung gesetzt ist. Folgen Sie dem Hyperlink zur Liste der externen Objekte:

Klicken Sie in der Liste auf Erstellen:


Wählen Sie im sich öffnenden Dialogfenster die gewünschte Datei zur Bearbeitung aus:


Die Karte für das neue externe Objekt im Programm ist ausgefüllt, es muss nur noch konfiguriert werden Unterkunft(Abschnitte des Programms, aus denen die Verarbeitung verfügbar sein wird):


Wählen Sie einen beliebigen Abschnitt (oder mehrere) zur Platzierung aus:


Schreiben und schließen Sie die externe Objektkarte:


Öffnen wir nun die Verarbeitung über die Schnittstelle:


Die Liste ist leer, klicken Sie Passen Sie die Liste an:


Wählen Sie unsere Verarbeitung:


Es steht nun zur Auswahl. Um die Verarbeitung zu öffnen, müssen Sie klicken Ausführen:


Sehen wir uns nun an, wie die Verarbeitung zum Füllen (Ändern) bestimmter Objekte hinzugefügt wird. Nehmen wir zum Beispiel die externe Verarbeitung, die Scans an ausgewählte Elemente von Verzeichnissen oder Systemdokumenten anhängt. Der Beginn des Hinzufügens einer solchen Verarbeitung unterscheidet sich nicht von der vorherigen Option. Der Unterschied besteht darin, dass in diesem Fall der Speicherort automatisch ausgefüllt wird (und nicht nach dem Programmabschnitt, sondern nach den Typen der Datenbankobjekte):


Bei Bedarf kann die Platzierungsliste angepasst werden ( Fügen Sie keine zusätzliche Platzierung hinzu, sondern entfernen Sie unnötige):


Um die Änderung zu akzeptieren, muss auch die externe Objektkarte notiert werden.

Um die Verarbeitung nutzen zu können, müssen Sie zu einem bestimmten Datenbankobjekt (aus der Platzierungsliste) gehen und darauf klicken Füllen im Befehlsfeld und wählen Sie den Befehl:

Zuvor wurde eine externe Verarbeitung geschrieben, mit der Sie die Anzahl der in der Datenbank eingegebenen Dokumente für den aktuellen Tag nach Dokumentdatum anzeigen können. Warum es erstellt wurde, ist nicht wichtig. Die Verarbeitungsform ist recht einfach, ebenso die Umsetzung:

Sie können den Verarbeitungscode anzeigen, indem Sie ihn über den Link am Ende des Artikels herunterladen. Wir werden ein anderes Problem lösen. Wir müssen diese Verarbeitung über das Menü „Extras“ starten:

Durch Klicken auf die Schaltfläche beginnt die Verarbeitung mit dem aktuellen Datum, das bereits im Feld „Datum prüfen“ eingetragen ist.

Start

Fügen wir zunächst die Schaltfläche „Anzahl der Dokumente pro Tag“ zur Schnittstelle „Vollständig“ hinzu und erstellen im allgemeinen Modul eine Handler-Prozedur dafür.

Der Programmcode der Handler-Prozedur ist im folgenden Listing dargestellt:

Prozedur FullAction() Exportieren // Einen Link zum Verzeichniselement „Externe Prozessoren“ abrufen, //die die erforderliche Verarbeitungsdatei enthält LinkToProcessing = Verzeichnisse. Externe Verarbeitung. FindByName(" Anzahl der eingegebenen Dokumente", WAHR); // Die Binärdaten der Verarbeitungsdatei in eine temporäre Datei schreiben FileName = GetTemporaryFileName() ; BinaryData = ProcessingRef. Externer Verarbeitungsspeicher. Erhalten() ; Binärdaten. Write(Dateiname) ; // Holen Sie sich das externe Verarbeitungsformular Form = ExternalProcesses. GetForm(Dateiname) ; // Öffne das Formular für den Benutzer Bilden. Offen(); Ende des Verfahrens

Im Allgemeinen ist die Reihenfolge der Aktionen wie folgt:

  1. Wir erhalten einen Link zum Verzeichniselement „Externe Verarbeitungen“.
  2. Wir extrahieren die Binärdaten der im gefundenen Verzeichniselement gespeicherten Verarbeitungsdatei.
  3. Wir schreiben die empfangenen Binärdaten in eine temporäre Datei.
  4. Anhand der erstellten Datei erhalten wir das externe Verarbeitungsformular und öffnen es.

Auf diese Weise können wir externe Verarbeitungen/Berichte von jedem Konfigurationsmodul aus ausführen, in dem der Client-Kontext verfügbar ist.

Vorteile

Warum könnte das nötig sein? Ist es nicht einfacher, Verarbeitung oder Abrechnung direkt zur Konfiguration hinzuzufügen?

Ja, es ist einfacher. Was aber, wenn Sie die Verarbeitung häufig ändern? Sollten Sie die Informationsbasis jedes Mal aktualisieren, wenn sie sich ändert? Dynamische Aktualisierung mit allen damit verbundenen Risiken nutzen?

In solchen Fällen hilft die Verlagerung der Funktionalität auf externe Verarbeitung/Berichte, die wir nach der Änderung einfach im Verzeichnis „Externe Verarbeitung“ ersetzen können und die Benutzer sie nur noch neu starten müssen. Kein Update erforderlich.

Die im Artikel verwendete Verarbeitung „Zählen der Anzahl der Dokumente“.

Die externe Verarbeitung ist ein sehr praktisches Tool für Unternehmen, die Standardkonfigurationen auf 1C:Enterprise 8.3 verwenden. Sie ermöglichen es Ihnen, weder Aufwand noch Geld für 1C-Updates zu verschwenden, sondern ermöglichen die Aktualisierung von Datenbanken mit einer Taste im einfachen Benutzermodus. Mithilfe des Standardmechanismus der Subsystembibliothek können Sie Dokumente und Nachschlagewerke mit verschiedenen Schaltflächen versehen, ohne die Standardkonfiguration zu ändern. Betrachten wir ein Beispiel für das Erstellen und Anschließen einer externen Verarbeitung in einer der 1C-Konfigurationen.

Wir erstellen externe Verarbeitung in 1C 8.3

Um eine neue Außenbearbeitung zu erstellen, nutzen wir den Konfigurator. Wählen Sie im Menü „Datei“ den Erstellungsbefehl „Neu...“ und legen Sie fest, dass wir eine externe Verarbeitung erstellen. Geben Sie im sich öffnenden Fenster den Namen ein. Wenn Sie die Eingabetaste drücken, wird dieser automatisch ausgefüllt. Das System bietet Ihnen diesen Namen auch beim Speichern als Dateinamen an.

Fügen wir ein Bearbeitungsformular hinzu, indem wir im entsprechenden Fenster auf die Schaltfläche mit der Lupe klicken. Erstellen wir beispielsweise eine Verarbeitung, die zeigt, bei welchen Kundenbestellungen ein bestimmter Artikel verwendet wird. Dazu müssen wir auf dem Formular Folgendes platzieren:

  • Attribute – Feld zum Einstellen der Nomenklatur;
  • Eine Schaltfläche, die den Code aufruft.

Fügen Sie im entsprechenden Abschnitt das Attribut „Nomenclature“ mit dem Datentyp „DirectoryLink.Nomenclature“ und im Menü „Befehle“ -> „Formularbefehle“ die Schaltfläche „Anzeigen“ hinzu.

Damit die hinzugefügten Daten im Formular angezeigt werden, müssen Sie sie in die Formularelemente im oberen linken Teil ziehen. Mithilfe der blauen Pfeile ist es möglich, Elemente auszutauschen. Damit der von uns erstellte Button seinen Zweck erfüllt, muss ihm eine Prozedur zugewiesen werden. Wählen Sie im Kontextmenü „Befehlsaktion“ und auf die Frage, wo der Handler benötigt wird, antworten wir: „Auf dem Client und eine Prozedur auf dem Server erstellen.“


Fragment 1

&OnClient-Prozedur Show(Command) ShowOnServer(); Ende der Prozedur &OnServer Prozedur ShowOnServer() //Den Inhalt des Handlers einfügen. Ende des Verfahrens

Wir haben uns dafür entschieden, eine Prozedur auf dem Server zu erstellen, weil wir als Ergebnis ein Beispiel aus der Datenbank erhalten möchten. Da wir diese Option auf dem Client nicht haben, müssen wir uns mit dem Server verbinden, der Daten mit der Datenbank austauscht. Jetzt müssen wir Code schreiben, der das umsetzt, was wir geplant haben. Die Anforderung und Ausgabe aller Dokumente erfolgt über die Funktion „Report()“.


Fragment 2

&OnClient Procedure Show(Command) ShowOnServer(Nomenclature); EndProcedure &OnServer Procedure ShowOnServer(Nomenclature) Request = New Request; Query.Text = "SELECT VARIOUS | Customer OrderComposition.Link AS Link | FROM | Document.Customer Order.Composition AS Customer OrderComposition | WHERE | Customer OrderComposition.Nomenclature = &Nomenclature"; Request.SetParameter("Nomenclature", Nomenclature); RequestResult = Request.Execute(); SelectionDetailRecords = QueryResult.Select(); While SelectionDetailedRecords.Next() Loop Report(SelectionDetailedRecords.Link); EndCycle; Ende des Verfahrens

Im aktuellen Stadium können wir die externe Verarbeitung in einer laufenden 1C-Datenbank als normale Datei öffnen und sie ist bereits betriebsbereit. Wenn wir jedoch viele Benutzer haben, müssen wir diese Datei an alle senden und ihnen Anweisungen geben, wie sie sie tatsächlich in 1C öffnen können, was äußerst umständlich ist. Um dies zu vermeiden, sollte sich unsere Verarbeitung in einem der 1C-Abschnitte befinden. Dazu müssen wir es über den Konfigurator noch etwas modifizieren und bestimmte Einstellungen festlegen.

Um die externe Verarbeitung in Abschnitt 1C einzuordnen, ist es notwendig, das Verfahren „Informationen zur externen Verarbeitung“ im Objektmodul zu registrieren. Klicken Sie im Hauptverarbeitungsmenü auf Aktionen und wählen Sie Objektmodul aus. Hier müssen Sie alle für 1C notwendigen Einstellungen registrieren, damit das System versteht, was davon benötigt wird und welche Art von Datei sich davor befindet. Der Screenshot zeigt den Code für die Funktion „Informationen zur externen Verarbeitung“.

Funktion InformationOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("Name","Neue externe Verarbeitung"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Version", "ver.: 1.001"); DataForReg.Insert("View", "AdditionalProcessing"); CommandTable = NewValueTable; TabZnCommands.Columns.Add("Identifier"); TabZnCommands.Columns.Add("Usage"); TabZnCommands.Columns.Add("View"); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "Neue externe Verarbeitung"; DataForReg.Insert("Commands", TabZnCommands); Return DataForReg; EndFunction

Fragment 3

Anschließen der externen Verarbeitung in 1C

Bevor Sie die externe Verarbeitung mit einer Standardkonfiguration verbinden, müssen Sie die Verwendung dieses Tools aktivieren. Setzen Sie in der „Verwaltung“ im Unterpunkt „Druckformulare, Berichte und Bearbeitung“ das Flag gegenüber dem von uns benötigten Mechanismus. Es steht uns eine Schaltfläche zum Aufrufen des Verzeichnisses der weiteren Verarbeitungen und Berichte zur Verfügung.


Wenn wir zur Liste gehen, erstellen wir darin eine neue Zeile und das System fordert Sie auf, eine Datei auszuwählen. Wir wählen die von uns vorgenommene und gespeicherte Verarbeitung aus und die 1C-Konfiguration füllt die meisten Felder selbstständig aus. Über den „Ausführen“-Button können wir bereits die Funktionsfähigkeit unserer Verarbeitung überprüfen, was für andere Nutzer jedoch nicht sehr komfortabel ist. Damit Benutzer unseren Befehl erhalten und einen Anruf tätigen können, müssen wir Folgendes tun:

  • Geben Sie den Standort des Objekts an. Durch Klicken auf „Undefiniert“ öffnen wir das Abschnittsfenster und geben an, in welchen Abschnitten die Operation verfügbar sein wird;
  • Wählen Sie Benutzer aus, für die dieser Befehl im Menü „Zusätzliche Verarbeitung“ der ausgewählten Abschnitte ohne unnötige Einstellungen angezeigt wird. Dazu müssen Sie im Tabellenbereich den Punkt „Schnellzugriff“ auswählen und in der rechten Hälfte verantwortliche Benutzer hinzufügen;
  • Auf der Registerkarte „Zusätzliche Informationen“ können Sie den Ordner angeben, in dem sich die heruntergeladene Verarbeitung befinden soll;
  • Nach dem Klicken auf die Schaltfläche „Schreiben“ im ausgewählten Abschnitt im Menü „Zusätzliche Verarbeitung“ finden Benutzer unseren Befehl und können ihn verwenden.

Wenn wir Änderungen an unserer Verarbeitung vornehmen möchten, müssen wir diese zunächst aus der Datenbank entladen. Suchen Sie dazu die gewünschte Zeile im Verzeichnis „Zusätzliche Verarbeitungen und Berichte“ und verwenden Sie den Befehl „In Datei hochladen...“. Nehmen Sie Änderungen vor, speichern Sie die Verarbeitung und verwenden Sie die Schaltfläche „Aus Datei laden...“, um die geänderte EPF-Datei zu finden, ohne die Parameter zu ändern. Nach der Aufzeichnung sehen alle Benutzer die vorgenommenen Änderungen.

Wenn Sie eine nicht standardmäßige oder eingestellte 1C-Datenbank verwenden, nutzen Sie die Möglichkeit, die Verarbeitung über den Konfigurator herunterzuladen. Erstellen Sie im Objektbaum im Bereich „Verarbeitungen“ eine neue Verarbeitung und wählen Sie über das Kontextmenü „Durch externe Verarbeitung ersetzen, Bericht ...“ aus. Es bleibt nur noch, den Start der externen Verarbeitung aus dem gewünschten Abschnitt zu konfigurieren, einschließlich der hinzugefügten Verarbeitung im gewünschten Subsystem.


Die Arbeit mit der externen Verarbeitung ist sehr komfortabel und ermöglicht es Ihnen, viele Konflikte zu vermeiden. Ihr einziger wesentlicher Nachteil besteht darin, dass sie nicht automatisch zusammen mit der Konfiguration aktualisiert werden. Das heißt, wenn die Entwickler den Namen des Dokuments oder Nachschlagewerks in der Hauptkonfiguration geändert haben, müssen wir die Verarbeitung manuell konfigurieren.

Bei der Arbeit mit 1C ist es oft notwendig, einige ähnliche Vorgänge durchzuführen, die sich im Laufe der Zeit systematisch wiederholen und einfach von der Hauptarbeit ablenken. Dies können verschiedene Downloads und Entladungen, die Generierung einiger Daten für externe Analysen usw. sein. Es gibt eine ziemlich einfache Möglichkeit, diese Vorgänge zu automatisieren und sie tatsächlich zu vergessen, indem man zur Kontrolle regelmäßig Protokolldateien per E-Mail erhält.

Es ist großartig, wenn Sie diese Vorgänge bereits von externen Prozessoren geschrieben haben. Wenn dies nicht der Fall ist, erstellen und verschieben Sie alles dorthin. Um die Funktionalität zu überprüfen, empfehle ich als Nächstes, dies alles im manuellen Modus zu testen und dann, wenn alles wie gewünscht funktioniert, den Hauptverarbeitungscode so umzuschreiben, dass er beim Laden der externen Verarbeitung automatisch startet, ohne auf die Schaltfläche „Ausführen“ zu klicken wie. Am einfachsten ist es, den Code in eine Prozedur zu verschieben OnOpen().

Der nächste Schritt besteht darin, das Programm automatisch zu schließen, nachdem die von uns erstellte externe Verarbeitung ausgeführt wurde und es bereits für uns funktioniert. Um dies zu tun, im Verfahren OnOpen() Ganz am Ende fügen wir den folgenden Befehl ein: ShutdownSystem(False); in diesem Fall der Parameter Gelegenheit anfragen Wir übergeben den Wert „False“, um beim Schließen verschiedene Optionen für zusätzliche Systemfragen abzuschneiden und so das bedingungslose Herunterfahren von 1C nach Abschluss dieser externen Verarbeitung einzuleiten. Zur Sicherheit führen wir das Programm erneut aus und führen die Verarbeitung durch und stellen sicher, dass es funktioniert hat und das Programm sich selbst geschlossen hat.

„C:\Programme (x86)\1cv8\8.3.5.xxxx\bin\1cv8.exe“ ENTERPRISE /DisableStartupMessages /FC:\Pfad zur Datenbank /N „Benutzername“ /P „Benutzerkennwort“ /Ausführen von:\ Pfad zu processing\self-processing.epf

Lassen Sie uns entschlüsseln:

1. „C:\Programme (x86)\1cv8\8.3.5.xxxx\bin\1cv8.exe“ ENTERPRISE – die 1C-Engine selbst ist in diesem Fall 8.3, überprüfen Sie den Pfad selbst, er unterscheidet sich je nach Version und einschließlich der Engine. Vergessen Sie nicht, sie nach der Aktualisierung der letzten zu bearbeiten.

2. /DisableStartupMessages – Deaktiviert alle Nachrichten beim Systemstart.

4. /N"Benutzername" /P"BenutzerPasswort" - bzw. /N Benutzername, ebenfalls sofort ohne Leerzeichen und /P Passwort.

5. /Execute from:\path to processing\self-processing.epf – /Execute startet unsere Verarbeitung, der Pfad und der Name sollten diesem Schlüssel folgen.

Jetzt müssen wir nur noch unsere cmd-Datei zum Taskplaner hinzufügen: avtozapusk1c.cmd, unter Angabe des Zeitplans für den Start.

Um die Arbeit der externen Verarbeitung zu überwachen, empfehle ich, dafür einen separaten Benutzer anzulegen; optimal ist auch, dass die Verarbeitung selbst eine Protokolldatei erstellt, die auch regelmäßig an Ihre E-Mail gesendet wird.

Diese einfachen Tools helfen dabei, alltägliche Routineabläufe zu automatisieren. Viel Glück!

mob_info