So erstellen Sie eine externe Verarbeitung für eine typische Konfiguration. Hinzufügen einer externen Verarbeitung zur Datenbank Beschreibung der externen Verarbeitung 1s 8.3

1C GOODWILL Unternehmensblog

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 sieht wie folgt aus: Erstellen Sie eine einfache externe Verarbeitung, die eine Gruppenaktion für das Verzeichnis „Artikel“ ausführt, nämlich den ausgewählten Prozentsatz des Mehrwertsteuersatzes für die angegebene Artikelgruppe festzulegen.

Aktivieren des Mechanismus der externen Verarbeitung im Programm

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:

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:

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 =

| Verzeichnis.Nomenklatur AS-Nomenklatur

| 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

SprNomObject.VATRate = SelectVATRate;

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

Wechseln wir nun in den „1C Enterprise“-Modus und fügen externe Verarbeitung hinzu:

Nachdem die Verarbeitung im Verzeichnis aufgezeichnet wurde, wird sie durch Klicken auf die Schaltfläche „Ausführen“ zur Ausführung geöffnet. Hier können Sie festlegen, in welchen Abschnitten (Subsystemen) des Programms diese Verarbeitung für welche Benutzer angezeigt wird.

Der Beitrag So erstellen Sie eine externe Verarbeitung in 1C 8.3 (verwaltete Formulare) erschien zuerst im Blog des Unternehmens 1C GOODWILL.

Konfigurationsabschnitt: Anwendungsobjekte

Lassen Sie mich gleich einen Vorbehalt machen: Dieses Material eignet sich besser für Konfigurationen, die mit kontrollierten Formen entwickelt werden. Die allgemeinen Prinzipien sind jedoch für alle Formen gleich.

Um eine externe Verarbeitung oder einen externen Bericht zu erstellen, müssen Sie lediglich das Menü „Datei/Neu“ auswählen und die Art der Verarbeitung oder des Berichts auswählen. Nachdem Sie die Bearbeitung erstellt haben, können Sie diese grundsätzlich bereits nutzen. Doch um es als zusätzliche Verarbeitung oder Reporting an eine Standardkonfiguration anzubinden, reicht dies nicht aus.

Dazu müssen Sie mehrere Vorgänge im Verarbeitungsmodul registrieren. Ihre allgemeine Bedeutung besteht darin, dass Sie der Konfiguration mitteilen, um welche Art von Verarbeitung es sich handelt (Verarbeitung, Bericht, gedrucktes Formular, Ausfüllen eines tabellarischen Abschnitts usw.) und außerdem angeben, in welchem ​​Subsystem sie sich befinden soll.

Dieser Code ist unten angegeben. Für Ihre Verarbeitung müssen Sie mehrere Parameter ändern.

Nun, zunächst einmal sind dies die Version und der Name der Verarbeitung sowie der Name des Befehls. Wie ich bereits geschrieben habe, müssen Sie das Subsystem angeben, in dem es sich befinden soll, oder ein bestimmtes Objekt (Verzeichnis, Dokument).
Auch die Art der Verarbeitung und Nutzungsweise. Im abgesicherten Modus können keine Änderungen an der Datenbank vorgenommen werden.

Funktion InformationOnExternalProcessing() Exportieren
// Lassen Sie uns eine Variable deklarieren, in der wir die erforderlichen Daten „außerhalb“ speichern und zurückgeben.
Registrierungsparameter = Neue Struktur;

// Lassen Sie uns eine weitere Variable deklarieren, die wir unten benötigen
ArrayDestinations = Neues Array;

// Der erste Parameter, den wir angeben müssen, ist, welche Art von Verarbeitung das System registrieren soll.
// Gültige Typen: AdditionalProcessing, AdditionalReport, FillingObject, Report, PrintForm, CreatingLinkedObjects
Registrierungsparameter.Insert("View", "AdditionalProcessing");

// Jetzt müssen wir in Form eines Arrays von Namen übergeben, mit was unser VPF verbunden wird
// Beachten Sie, dass Sie den Namen in der folgenden Form festlegen können: Dokument.* – in diesem Fall wird die Verarbeitung mit allen Dokumenten im System verbunden,
// die den VPF-Mechanismus unterstützen
Array of Assignments.Add("Subsystems.RegulatedAccounting");
Registrierungsparameter.Insert("Destination", Array of Destination);

// Nun legen wir den Namen fest, unter dem der VPF im externen Verarbeitungsverzeichnis registriert wird
Registration Parameters.Insert("Name", "Analyse der negativen Salden nach Register");

// Legen Sie das Verarbeitungsrecht fest, um den abgesicherten Modus zu verwenden. Weitere Details finden Sie in der Plattformhilfe (SetSafeMode-Methode)
Registrierungsparameter.Insert("SafeMode", True);

// Die nächsten beiden Parameter spielen eher eine informative Rolle, d.h. Dies wird dem Benutzer in den Informationen zur Verarbeitung angezeigt
Registrierungsparameter.Insert("Version", "1.0");
Registration Parameters.Insert("Information", "Analyse negativer Salden nach Registern");

// Eine Befehlstabelle erstellen (siehe Details unten)
CommandTable = GetCommandTable();

// Einen Befehl zur Tabelle hinzufügen
Befehl hinzufügen(Tabelle der Befehle, „Analyse negativer Salden nach Registern“, „Analyse negativer Salden nach Registern“, „Eröffnungsformular“);

// Speichern Sie die Befehlstabelle in den Verar
Registrierungsparameter.Insert("Commands", CommandTable);

// Jetzt geben wir unsere Parameter an das System zurück
ReturnRegistrationParameters;
EndFunction

Funktion GetTableCommand()

// Erstellen Sie eine leere Befehlstabelle und Spalten darin
Befehle = Neue Wertetabelle;

// Wie die Beschreibung des gedruckten Formulars für den Benutzer aussehen wird
Commands.Columns.Add("View", NewTypeDescription("Row"));

// Der Name unseres Layouts, damit wir den aufgerufenen Befehl in der Druckverarbeitung unterscheiden können
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// Dies legt fest, wie der Verarbeitungsbefehl aufgerufen werden soll
// Möglichkeiten:
// - OpeningForm – in diesem Fall sollte die Bezeichnerspalte den Namen des Formulars angeben, das das System öffnen wird
// - CallClientMethod – Rufen Sie die Client-Exportprozedur aus dem Verarbeitungsformularmodul auf
// – Call ServerMethod – Rufen Sie eine Serverexportprozedur aus dem Verarbeitungsobjektmodul auf
Commands.Columns.Add("Usage", New TypeDescription("Row"));

// Der nächste Parameter gibt an, ob eine Benachrichtigung angezeigt werden soll, wenn ein Verarbeitungsauftrag beginnt und endet. Macht beim Öffnen des Formulars keinen Sinn
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Für ein gedrucktes Formular muss es die Zeichenfolge PrintMXL enthalten
Commands.Columns.Add("Modifier", New TypeDescription("Row"));
Rückkehrteam;
EndFunction

Prozedur AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
// Einen Befehl gemäß der übergebenen Beschreibung zur Befehlstabelle hinzufügen.
// Parameter und ihre Werte können in der Funktion GetCommandTable angezeigt werden
NewCommand = CommandTable.Add();
NewCommand.View = Ansicht;
NewCommand.Identifier = Bezeichner;
NewCommand.Use = Verwenden;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Modifikator;

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 Nutzung 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:

In diesem Artikel schreiben wir eine Verarbeitung zum Ausfüllen des tabellarischen Abschnitts in 1C 8.3 für eine typische 1C:ERP 2.1-Konfiguration. Nehmen wir an, dass das Ziel der Aufgabe darin besteht, einen manuellen Rabatt von 5 % für alle Artikel in einem bestimmten Dokument festzulegen. Ein Beispiel aus dem Artikel kann von heruntergeladen werden oder eine andere ähnliche Verarbeitung von.

Diese Anleitung ist für verwaltete Formulare (8.2 und 8.3) gedacht. Für gewöhnliche Formulare (8.1, 8.2) können Sie verwenden.

Erstellen und speichern Sie eine neue Verarbeitung auf Ihrem Computer. Zuerst müssen Sie einige Registrierungsschritte durchführen.

Öffnen Sie das Objektmodul und schreiben Sie den folgenden Code (er kann auch der oben angegebenen Verarbeitung entnommen werden). Im Allgemeinen ändert sich die Struktur nicht je nach Situation. Es werden nur einige Einstellungsparameter bearbeitet, sowie ggf. Variablennamen.

In diesem Artikel gehen wir nicht näher auf die Registrierung externer Verarbeitungs- und Druckformulare in 1C ein. Alle diese Informationen finden Sie in unseren anderen Artikeln.

Ausfüllen des tabellarischen Teils des Dokuments

Lassen Sie uns ein neues Verarbeitungsformular erstellen.

Jetzt müssen wir dem erstellten Formular einen neuen Befehl hinzufügen. Es wird davon ausgegangen, dass die Daten im tabellarischen Teil eines oder mehrerer Dokumente (deren Listenformulare) gleichzeitig automatisch geändert und anschließend aufgezeichnet werden.

In unserem Beispiel wird der bereits vorhandene tabellarische Teil „Produkte“ verarbeitet. Für jede Zeile wird ein manueller Rabatt von 5 % festgelegt. Außerdem berechnen wir den Betrag dieses Rabatts selbst, der der Warenmenge in der Zeile multipliziert mit 0,05 entspricht.

&Führen Sie auf der Serverprozedur den Befehl (Befehl, Zuweisungsobjekte) für jede Kundenbestellung aus dem Zuweisungsobjektzyklus aus. Kundenauftragsobjekt = Kundenauftrag. GetObject() ; Für jede TK-Zeile aus dem Customer OrderObject. Produkte Cycle LineTZ. ManualDiscountPercent = 5 ; LinieTZ. Manueller Rabattbetrag = TK-Zeile. Betrag * 0 . 05 ; EndCycle ; CustomerOrderObject. Schreiben() ; EndCycle ; Ende des Verfahrens

Registrierung der Fremdverarbeitung

Starten Sie 1C im „Enterprise“-Modus und öffnen Sie das Verzeichnis „Zusätzliche Berichte und Verarbeitung“. Finden wir es über das Menü „Alle Funktionen“.

Erstellen Sie im sich öffnenden Verzeichnis ein neues Element und klicken Sie auf die gleichnamige Schaltfläche, um Ihre Verarbeitung aus der Datei zu laden. Platzieren wir es gleichzeitig sowohl auf dem Listenformular als auch auf dem Formular der Dokumentenkarte selbst.

Nun erscheint im Dokumentenlistenformular „Kundenbestellung“ die Schaltfläche „Ausfüllen...“, mit der Sie manuelle Produktrabatte für mehrere Dokumente gleichzeitig ändern können.

Diese Schaltfläche wird auch in der Dokumentenkarte selbst verfügbar sein.

gastroguru 2017