Hinzufügen eines externen Berichts zur Datenbank. Buchhaltungsinformationen 1c 8.3 externer Bericht

Gehen Sie im oberen Menü zu Service->->.

Danach erscheint das Verzeichnislistenformular. Klicken Sie im oberen Menü auf Hinzufügen.

Das Fenster zum Hinzufügen eines neuen Berichts erscheint. Drücken Sie den Knopf Offen.

Wählen Sie die Datei mit dem gewünschten Bericht aus und klicken Sie auf Offen. Ändern Sie nach dem Hinzufügen der Datei ggf. den Namen des Berichts (wie er in der Liste angezeigt wird). Klicken OK.

Als Ergebnis erscheint der neue Bericht in der Liste.

Danach kann der Bericht verwendet werden, das Hinzufügen ist abgeschlossen. Um diesen Bericht später zu öffnen, gehen wir auch zu Service->Zusätzliche Berichte und Verarbeitung->Zusätzliche externe Berichte.

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

Um einen externen Bericht in 1C:Enterprise 8.3-Konfigurationen in einer verwalteten Schnittstelle hinzuzufügen (am Beispiel von Accounting 3.0), rufen wir den entsprechenden Abschnitt des Programms auf:


Es ist erforderlich, dass die Option zur Verwendung zusätzlicher Berichte aktiviert ist. Folgen Sie dem Hyperlink:

Klicken Sie in der sich öffnenden Liste auf die Schaltfläche Erstellen:


Danach öffnet sich sofort ein Dateiauswahldialog mit Bericht, in dem Sie die gewünschte Datei (in meinem Fall eine Datei mit einer Plan-Ist-Kostenanalyse) auswählen müssen.

Jetzt müssen Sie konfigurieren Unterkunft(die Stelle im Programm, an der der Bericht verfügbar sein wird):


Wählen Sie zufällig den gewünschten Programmabschnitt aus der Liste aus:


Jetzt müssen Sie die Änderungen im externen Zeugnis erfassen:

Öffnen Sie nun den Bericht über die Programmoberfläche:


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


Kreuzen Sie im Auswahlformular unseren Bericht an:


Jetzt erscheint es in der Liste:


Per Knopfdruck Ausführen Das Berichtsformular öffnet sich:


In diesem Artikel betrachten wir Schritt-für-Schritt-Anleitungen zum Erstellen einer externen Verarbeitung in 1C 8.3 im verwalteten Anwendungsmodus. Dementsprechend verwenden wir verwaltete Formulare. 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 Prozentsatz des Mehrwertsteuersatzes 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 Videolektionen 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 der Formularelemente 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();

EndProzedur

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;

EndProzedur

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

Betrachten wir die Erstellung eines externen Berichts in 1C 8 ohne Verwendung eines Datenkompositionssystems. Um einen externen Bericht zu erstellen, verwenden wir die Konfiguration Accounting 2.0, die Ausgangsdaten: „Schreiben Sie einen Bericht über das Buchhaltungskonto 62, in dem im Kontext der Umsatz für den angegebenen Zeitraum angezeigt wird.“ Gegenparteien Und Verträge der Gegenparteien.

1. Erstellen Sie einen Bericht

Lassen Sie uns zunächst eine externe Berichtsdatei erstellen. Gehen Sie dazu zu 1s 8 im Modus Konfigurator, gehen wir zum Menü Datei -> Neu, oder klicken Sie auf das Symbol neues Dokument.

Wählen Sie das Element aus der Liste aus Externer Bericht. Nachdem Sie den externen Bericht erstellt haben, geben Sie ihm einen Namen (z. B Einfachster Bericht) und speichern Sie es auf der Festplatte. Wir werden außerdem zwei Details hinzufügen: Beginn der Periode Und Ende der Periode Typ Datum Wir benötigen sie, um das Zeitintervall für die Datenerfassung bei der Erstellung eines Berichts zu begrenzen.

2. Erstellen Sie ein externes Berichtslayout

Um einen Bericht in 1C 8 zu erstellen, benötigen Sie ein Layout, das ist eine Vorlage zur Datenanzeige, in der alle notwendigen Parameter eingestellt, Tabellen gezeichnet werden usw. Fügen wir ein neues Layout hinzu. Wählen Sie dazu das Element im Metadatenbaum des Berichts aus Layouts und drücken Sie die Taste Hinzufügen Wählen Sie beim Erstellen den Typ für das Layout aus Tabellenkalkulationsdokument.

Unser Layout wird 4 Bereiche haben:

  • Kopfzeile – in diesem Bereich werden der Name des Berichts, der Zeitraum, für den er erstellt wurde, und die Tabellenkopfzeile angezeigt.
  • Kontrahentendaten – in diesem Bereich werden Daten zur Kontrahentin in einer Tabelle angezeigt;
  • DatenKontrahentenvereinbarung – in diesem Bereich zeigen wir Daten zur Kontrahentenvereinbarung in einer Tabelle an;
  • Fußzeile – in diesem Bereich werden die Gesamtwerte für den gesamten Bericht für die Felder Einnahmen und Ausgaben angezeigt.

Beginnen wir mit der Erstellung von Layoutbereichen. Um einen Bereich im Layout zu erstellen, wählen Sie die gewünschte Zeilenanzahl aus und klicken Sie Menütabelle -> Namen -> Namen zuweisen(Oder Strg + Umschalt + N). Zur Region Eine Kappe Schreiben wir den Namen des Berichts: Umsatz 62 zählt, zeichnen Sie mit dem Werkzeug Grenzen Berichtskopf und legen Sie auch die Parameter fest Beginn der Periode Und Ende der Periode. Mithilfe von Parametern können Sie die erforderlichen Daten im Bericht anzeigen; damit befassen wir uns im nächsten Entwicklungsschritt, nämlich beim Schreiben des Berichtscodes. Um einen Parameter im Layout zu erstellen, wählen Sie die gewünschte Zelle aus, schreiben Sie den Namen des Parameters hinein (ohne Leerzeichen), klicken Sie mit der rechten Maustaste darauf und wählen Sie den Eintrag im sich öffnenden Menü aus Eigenschaften. In den Zelleigenschaften auf der Registerkarte Layout Polsterung auswählen Parameter.

Danach wird der Parametername in der Zelle in spitze Klammern eingeschlossen („<>“). Dadurch ist die Gegend Eine Kappe sollte so aussehen:

Im Gebiet DataCounterparty Mit dem Tool erstellen wir Parameter für die Anzeige des Namens der Gegenpartei sowie für Einnahmen und Ausgaben für Konto 62 Grenzen Gestalten wir den Bereich als Tabellenzeile.

Im Gebiet DataCounterparty-Vereinbarung Erstellen wir Parameter für die Anzeige des Vertragsnamens sowie für Einnahmen und Ausgaben für Konto 62. Mit dem Rahmen-Tool gestalten wir den Bereich als Tabellenzeile. Machen wir vor dem Parameter einen kleinen Einzug Kontrahentenvereinbarung(Dies kann durch Teilen und Zusammenführen von Zellen erfolgen. Klicken Sie mit der rechten Maustaste auf die Zelle -> Verschmelzen oder Geteilte Zelle) wird benötigt, damit der Bericht erkennen kann, dass die Zeile für den Vertrag in der Hierarchie tiefer liegt als die Zeile für den Kontrahenten.

Im Gebiet Keller Lassen Sie uns Parameter für die Gesamteinnahmen und -ausgaben erstellen.

Als Ergebnis sollten wir ein Layout wie dieses erhalten:

3. Erstellen Sie ein Berichtsformular

Um Daten anzuzeigen, legen Sie den Formationszeitraum und die Schaltfläche fest Bilden Für unseren Bericht ist ein Formular erforderlich. Um ein Formular zu erstellen, suchen Sie das Element im Metadatenbaum des externen Berichts Formen und drücken Sie die Taste Hinzufügen. Auf der ersten Seite des Formulardesigners müssen Sie keine Änderungen vornehmen, sondern nur auf die Schaltfläche klicken Weiter.

Wählen Sie auf der nächsten Seite des Designers beide verfügbaren Details aus( Beginn der Periode, Ende der Periode) zur Platzierung auf dem Formular.

Als Ergebnis erhalten wir dieses Formular:

Aber wir sind damit in dieser Form nicht zufrieden; nehmen wir einige Änderungen daran vor:

  • Ziehen wir die Schaltfläche Bilden vom unteren Bereich des Berichts nach oben (dies ist für den Benutzer bequemer);
  • Dehnen Sie die Form vertikal und horizontal.
  • Ordnen wir die Felder an Beginn der Periode Und Ende der Periode waagerecht;
  • Fügen wir dem Formular ein Tabellenkalkulations-Dokumentfeld-Steuerelement hinzu (unser Bericht wird darin angezeigt) und geben ihm einen Namen TabDoc;
  • Lassen Sie uns eine Schaltfläche zur Auswahl eines Zeitraums erstellen (wenn Sie darauf klicken, erscheint ein Dialogfeld mit einer praktischen Auswahl des gewünschten Zeitraums). Den Programmcode dafür schreiben wir noch nicht, deshalb platzieren wir den Button einfach neben den Punktfeldern.

Als Ergebnis sieht unser Formular so aus:

4. Programmierung

Nachdem wir das Berichtsformular erstellt haben, beginnen wir mit der Programmierung. Erstellen wir zunächst eine Prozedur zum Anzeigen eines Zeitraumauswahldialogs (wir haben hierfür bereits im vorherigen Schritt eine Schaltfläche erstellt). Klicken Sie mit der rechten Maustaste auf die Schaltfläche und wählen Sie den Menüpunkt aus Eigenschaften, gehen Sie in den Schaltflächeneigenschaften auf die Registerkarte Veranstaltungen, wo wir mit der Schaltfläche mit einem Lupensymbol eine Prozedur erstellen Taste1Drücken im Formularmodul.

Mithilfe der Registerkarten unten im Formular können Sie zwischen dem Formular und seinem Modul wechseln

Um das Formular zur Periodenauswahl aufzurufen, verwenden wir das Standardverfahren Buchhaltung 2.0 aus einem gemeinsamen Modul Arbeiten mit Dialogen – HandlerPeriodSettingPress, müssen Sie ihm die Berichtsdetails als Parameter übergeben Beginn der Periode Und Ende der Periode.

Verfahren Button1Press(Element) Arbeiten mit Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); EndProzedur

Kommen wir nun zum Schreiben des Codes, der unseren Bericht generiert und anzeigt. Das Formularmodul verfügt bereits über eine Prozedur ButtonGeneratePress, die ausgeführt wird, wenn die Taste gedrückt wird Bilden, dort schreiben wir unseren Code. Beginnen wir mit der Initialisierung der notwendigen Variablen. Erstellen wir zunächst eine Variable für Tabellendokumentfelder in die wir Daten ausgeben, ist dies nicht notwendig, die Aufzeichnung der Aufrufe wird lediglich kürzer, wodurch der Programmcode zum Lesen verständlicher wird.

TabDoc = FormElements.TabDoc;

Lassen Sie uns das Layout des externen Berichts mithilfe der Funktion ermitteln GetLayout(<ИмяМакета>) , wir übergeben den Namen des Layouts als Parameter, und wenn ein solches Layout existiert, wird die Funktion es finden.

Layout = GetLayout("Layout" );

Nachdem wir das Layout erhalten haben, erstellen wir Variablen für jeden seiner Bereiche. Verwenden Sie dazu die Layout-Methode GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Header" ); AreaDataAccount = Layout.GetArea( „Auftragnehmerdaten“); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

Löschen wir das Feld des Tabellenkalkulationsdokuments. Dies ist notwendig, damit jedes Mal, wenn ein neuer Bericht erstellt wird, die alten Daten gelöscht werden.

TabDoc.Clear();

Nachdem die Initialisierung der Variablen nun abgeschlossen ist, fahren wir mit dem Füllen und Anzeigen der Layoutbereiche nacheinander fort. Beginnen wir mit der Kopfzeile. Wie Sie sich erinnern, haben wir in diesem Bereich zwei Parameter erstellt Beginn der Periode Und Ende der Periode, wir werden dort die Werte des Berichtsgenerierungszeitraums übergeben, dafür verwenden wir die Eigenschaft Optionen Layoutbereiche.

AreaHeader.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

Keine Aktionen mehr mit der Gegend Eine Kappe Der Hersteller wird nicht benötigt, daher zeigen wir sein Feld in einem Tabellendokument an.

TabDoc.Output(AreaHead);

Als nächstes schreiben wir eine Abfrage an die Datenbank, mit der wir den Kontoumsatz erfassen 62 aus dem Buchhaltungsregister Selbsttragend. Definieren wir eine Variable, in der sich unsere Anfrage befindet.

Anfrage = neue Anfrage;

Bevor wir mit dem Schreiben des Anfragetextes beginnen, übergeben wir ihm die notwendigen Parameter. Da wir eine Rechnungsanfrage schreiben 62 Buchhaltung, dann erstellen wir zunächst einen Parameter dafür

Request.SetParameter("Account62", Kontenpläne. Selbsttragend. Nach Code suchen("62" ));

Es ist auch notwendig, den Berichtserstellungszeitraum in der Anfrage zu übergeben. Vergessen Sie nicht, dass wir spezielle Berichtsdetails für den Generierungszeitraum haben und diese als Parameter übergeben.

Request.SetParameter("Start of Period", Beginn of Period); Request.SetParameter("End of Period", End of Period);

Beginnen wir mit dem Schreiben des Abfragetextes. Dies tun wir mit dem Abfrage-Designer. In vielen Tutorials wird geschrieben, dass Sie in der Lage sein müssen, eine Abfrage sowohl manuell als auch mit einem Konstruktor zu schreiben, aber in der Praxis ist dies nicht der Fall. Bei den Aufgaben, mit denen ein 1C-Programmierer ständig konfrontiert ist, besteht die Priorität darin, Code schnell und effizient zu schreiben, und wenn Sie eine Abfrage manuell in die Datenbank schreiben, wird dies fast unmöglich sein und Sie werden viel wertvolle Zeit damit verbringen, alle Abfragestrukturen korrekt zu reproduzieren und das Finden von Tippfehlern, die Sie beim Schreiben gemacht haben usw. Verschwenden Sie daher nicht Ihre Zeit damit, Abfragen manuell zu schreiben, sondern verwenden Sie den Abfragekonstruktor. Das spart Ihnen Zeit und ermöglicht Ihnen das Schreiben komplexer Abfragen ohne großen Aufwand. Um mit dem Schreiben des Anfragetextes zu beginnen, schreiben wir Folgendes in den Code:

Request.Text = "" ;

Platzieren Sie anschließend den Cursor zwischen den Anführungszeichen, klicken Sie mit der rechten Maustaste und wählen Sie aus Konstrukteur Anfrage. Das Abfrage-Designer-Fenster wird geöffnet.

Jetzt müssen wir die benötigte 1C 8-Datenbanktabelle auswählen. Wir benötigen eine virtuelle Tabelle Revolutionen Buchhaltungsregister Selbsttragend. Wir finden es auf der linken Seite des Designerfensters

Verschieben wir es in den Bereich Tische und beginnen wir mit dem Ausfüllen der Parameter. Für alle virtuellen Abfragetabellen gibt es einen speziellen Satz von Parametern, mit denen Sie die erforderlichen Daten aus der Haupttabelle (in unserem Fall der Haupttabelle Accounting Register) auswählen können Selbsttragend). Öffnen wir das Parameterfenster der virtuellen Tabelle.

Geben wir die Parameter für den Zeitraum ein, den wir an die Anfrage übergeben haben. Um einen Parameter im Anforderungstext zu verwenden, sollten Sie das Symbol vor seinen Namen schreiben Et-Zeichen(&)

Es bleibt noch die Bedingung für das Buchhaltungskonto auszufüllen. Buchhaltung. Suchen Sie dazu die Zeile in den Parametern der virtuellen Tabelle Kontozustand und wir werden dort schreiben

Konto IN HIERARCHIE (&Konto62)

Sie können den Bedingungskonstruktor auch verwenden, indem Sie auf die Schaltfläche mit den drei Punkten klicken.

Es besteht keine Notwendigkeit, dem virtuellen Tisch weitere Bedingungen aufzuerlegen, also klicken wir auf die Schaltfläche OK im Parameterfenster der virtuellen Tabelle. Als nächstes müssen wir die benötigten Felder aus der Tabelle auswählen Selbsttragend.Umsatz(nämlich: Gegenpartei, Gegenparteivereinbarung, Einnahmen und Ausgaben). Um die Liste der in der von uns ausgewählten Tabelle verfügbaren Felder anzuzeigen, klicken Sie auf das „+“-Symbol neben dem Namen. Ziehen Sie anschließend die erforderlichen Felder in den Bereich ganz rechts im Abfrage-Designer, der „Felder“ heißt. Wenn wir den Kontenplan öffnen, sehen wir das für das Konto 62 Analytik auf Für die Gegenpartei ist dies Subconto1, und von Kontrahentenvereinbarung – Subconto2.

Daher wählen wir aus den Feldern der virtuellen Tabelle aus Unterkonto1 Und Unterkonto2. Da wir Einnahmen und Ausgaben betragsmäßig benötigen, wählen wir auch die Felder aus BetragUmsatzDt Und BetragUmsatzKt

Geben Sie die Aliase der von uns ausgewählten Felder ein. Gehen Sie dazu auf die Registerkarte Gewerkschaften/Aliase und legen Sie die erforderlichen Feldnamen fest.

Da in unserem Bericht die Daten hierarchisch angezeigt werden (die Gegenpartei befindet sich auf der ersten Ebene und alle ihre Verträge auf der zweiten Ebene), konfigurieren wir die Anzeige der Daten in der Hierarchie mithilfe von Gesamtwerten. Gehen wir zur Registerkarte im Designer Ergebnisse. Ziehen Sie nacheinander in die Gruppierungsfelder Gegenpartei Und Kontrahentenvereinbarung, und im Finale Kommen Und Verbrauch.

Damit ist die Arbeit im Abfragekonstruktor abgeschlossen. Klicken Sie auf die Schaltfläche OK und wir sehen, dass der Text unserer Anfrage im Programmcode erscheint.

Query.Text = "SELECT | Selbsttragender Umsatz.Subconto1 AS-Kontrahent, | Selbsttragender Umsatz.Subconto2 AS-Kontrahentenvereinbarung, | Self-supportingTurnover.AmountTurnoverDt AS Receipt, | Self-SupportingTurnover.AmountTurnoverKt AS Expense|VON | Buchhaltungsregister. Umsätze (&Anfang der Periode, &Ende der Periode, Konto IN HIERARCHIE (&Konto 62)) AS Selbstbuchende Umsätze|ERGEBNISSE | BETRAG(Umsatz), | BETRAG(Ausgaben) |PO | Gegenpartei, | Kontrahentenvereinbarung“;

Nachdem wir die Anfrage fertig geschrieben haben, beginnen wir mit dem Ausfüllen der Bereiche DataCounterparty, DataAgreementCounterparty Und Keller. Wir werden alle diese Bereiche mit den bei der Ausführung der Anfrage erhaltenen Daten füllen. Da unsere Abfrage Gruppierungen enthält( Gegenpartei Und Kontrahentenvereinbarung) Wählen Sie daraus Daten wie folgt aus:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

Auf diese Weise erhalten wir Datensätze mit Gesamtbeträgen für alle Kontrahenten.

Bevor wir die Beispieldaten mithilfe einer Schleife durchlaufen, initialisieren wir die Variablen, die für die Berechnung der Gesamtergebnisse für den Bericht vorgesehen sind:

TotalIncoming = 0; Gesamtverbrauch = 0;

Damit die Berichtsdaten mit einer Hierarchie (und Rotationen entlang „+“) angezeigt werden, legen wir den Beginn der automatischen Gruppierung von Zeilen des Tabellenkalkulationsdokuments fest:

TabDoc.StartAutoGroupingRows();

Alle Vorbereitungen sind abgeschlossen. Beginnen wir nun mit dem Crawlen der Abfrageergebnisse. Wir werden die Durchquerung mithilfe einer Schleife durchführen Tschüss

While Select Account.Next() Cycle EndCycle ;

Zu Beginn des Zyklus die Parameter zurücksetzen Kommen Und Verbrauch Region DataCounterparty. Wofür ist das? Stellen wir uns eine Situation vor, in der die Gegenpartei Onkel Vasya, Einnahmen betragen 10 und Ausgaben betragen 5, und zwar für die nächste Gegenpartei Onkel Petja Es entstehen in diesem Fall keine Einnahmen oder Ausgaben, wenn wir die Parameter nicht neu einstellen Kommen Und Verbrauch, dann entsprechend der Gegenpartei Onkel Petja Es ergeben sich Einnahmen in Höhe von 5 und Ausgaben in Höhe von 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Danach füllen wir den Bereich DataCounterparty Beispielelementdaten

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Nachdem Sie die Daten eingegeben haben, können Sie den Bereich anzeigen Tabellenkalkulationsdokument, Da wir die automatische Gruppierung von Zeilen verwenden, müssen wir die Ebene der Zeile in der Gruppierung angeben (unser Bericht wird zwei Ebenen haben, für Kontrahenten die erste für Verträge).

TabDoc.Output(AreaDataAccount,1);

Nun treffen wir für diesen Kontrahenten eine Auswahl anhand seiner Verträge.

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Wir werden die Durchquerung mithilfe einer Schleife durchführen Tschüss.

While SelectionCounterparty Agreement.Next() Loop EndCycle ;

Lassen Sie uns im Zyklus für Kontrahentenvereinbarungen die Parameter zurücksetzen Kommen Und Verbrauch, füllen Sie den Bereich Datenvertrag aus dem Beispiel und zeigen Sie es in einem Tabellenkalkulationsdokument auf der zweiten Datensatzebene an.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; Fill inPropertyValues(AreaContractData.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Auch in diesem Zyklus addieren wir die aktuellen Werte zu den Variablen zur Berechnung der Gesamtwerte für Einnahmen und Ausgaben.

TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense;

Damit ist die Ausgabe der Daten im Bereich abgeschlossen DataCounterparty, DataAgreementCounterparty Wenn dies abgeschlossen ist, müssen Sie nur noch die automatische Gruppierung der Zeilen des Tabellenkalkulationsdokuments abschließen.

TabDoc.FinishAutoGroupingRows();

Vollständige Zyklen, die für die Ausgabe von Daten an den Bereich verantwortlich sind DataCounterparty Und DataAgreementCounterparty sieht aus wie das:

TabDoc.StartAutoGroupingRows(); While SelectionAccount.Next() Schleife AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Expense = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups); While SelectionCounterparty Agreement.Next() Schleife AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ; Fill inPropertyValues(AreaContractData.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense; EndCycle ; EndCycle ; TabDoc.FinishAutoGroupingRows();

Es müssen noch die endgültigen Daten in der Region angezeigt werden Keller und den Bereich selbst anzeigen Tabellenkalkulationsdokument.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumption; TabDoc.Output(AreaFooter);

Damit ist der Prozess des Schreibens eines externen Berichts für 1C 8 ohne Verwendung eines Zugangskontrollsystems abgeschlossen. Jetzt kann es im 1C:Enterprise 8-Modus generiert und dem Verzeichnis hinzugefügt werden Externe Verarbeitung Sie können die im Artikel besprochene Berichtsdatei unter herunterladen.

Sehen Sie sich ein Video zum Erstellen eines externen Ausdrucks für eine verwaltete Anwendung an:

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 Verarbeitung.

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 ein neues externes 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 die Platzierung 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:



Wird geladen...
Spitze