DIE KLINGEL

Es gibt diejenigen, die diese Nachricht vor Ihnen gelesen haben.
Abonnieren Sie, um neue Artikel zu erhalten.
Email
Name
Nachname
Wie möchten Sie „Die Glocke“ lesen?
Kein Spam

In diesem Artikel machen wir uns mit den wichtigsten Aspekten der Arbeit mit einem verwalteten Formular in 1C 8.3 vertraut. Was ist ein Formular und wozu dient es? Ein Formular ist das Hauptobjekt, über das der Benutzer mit dem Programm interagiert. Das heißt, der Benutzer gibt über das Formular Informationen in das Programm ein und die für den Benutzer erforderlichen Informationen werden auch auf dem Formular angezeigt.

Die Hauptaufgabe eines Entwicklers jeglicher Form (verwaltet oder regulär) besteht darin, dem Benutzer einen bequemen Mechanismus für die Interaktion mit dem Programm bereitzustellen.

Die 1C-Plattform bietet die Möglichkeit, jede Form eines Objekts zu generieren. Bei der Entwicklung von Anwendungslösungen konfigurieren Programmierer die Formulare jedoch normalerweise selbst.

Fragen der Arbeit mit verwalteten Formularen im Besonderen und mit einer verwalteten Anwendung im Allgemeinen werden im Buch „Entwicklungsgrundlagen in 1C: Taxi“ ausführlich besprochen. Verwaltete Anwendungsentwicklung in 12 Schritten“. Dieses Buch wird eine echte Hilfe für diejenigen sein, die gerade erst anfangen, sich mit der Entwicklung verwalteter Anwendungen vertraut zu machen.

Das Buch „Grundlagen der Entwicklung in 1C: Taxi“ ist perfekt für diejenigen, die bereits mit dem Programmieren begonnen haben und gewisse Schwierigkeiten mit diesem Thema haben, und für diejenigen, die schon lange programmieren, aber noch nie mit von 1C verwalteten Formularen gearbeitet haben.

  1. Ohne komplexe Fachbegriffe;
  2. Mehr als 600 Seiten praktisches Material;
  3. Zu jedem Beispiel gibt es eine Zeichnung (Screenshot);

Aktionscode für 15 % Rabatt - 48PVXHeYu

Manchmal scheint es kompliziert und schwierig zu sein, die Programmiersprache in 1C zu lernen. Tatsächlich ist die Programmierung in 1C einfach. Meine Bücher helfen Ihnen, die Programmierung in 1C schnell und einfach zu meistern: und „Grundlagen der Entwicklung in 1C: Taxi“

Lernen Sie das Programmieren in 1C mit Hilfe meines Buches „Programmieren in 1C in 11 Schritten“

  1. Keine komplizierten Fachbegriffe.
  2. Über 700 Seiten praktisches Material.
  3. Zu jeder Aufgabe gibt es eine Zeichnung (Screenshot).
  4. Eine Sammlung von Hausaufgaben.
  5. Das Buch ist in klarer und einfacher Sprache geschrieben – für einen Anfänger.
  6. Das Buch wird per E-Mail im PDF-Format verschickt. Kann auf jedem Gerät geöffnet werden!


Wenn Ihnen diese Lektion bei der Lösung eines Problems geholfen hat, sie Ihnen gefallen hat oder Sie sie nützlich fanden, dann können Sie mein Projekt unterstützen, indem Sie einen beliebigen Betrag spenden:

Sie können manuell bezahlen:

Yandex.Money - 410012882996301
Webgeld – R955262494655

Treten Sie meinen Gruppen bei.

Formen in 1C:Enterprise dienen der Anzeige und Bearbeitung der in der Datenbank enthaltenen Informationen. Formulare können zu bestimmten Konfigurationsobjekten gehören oder separat davon existieren und werden von der gesamten Anwendungslösung verwendet.

Zum Beispiel ein Verzeichnis Nomenklatur kann mehrere Formen haben, die für bestimmte Zwecke verwendet werden – Bearbeiten eines Verzeichniselements, Anzeigen einer Liste usw.:

Darüber hinaus kann es allgemeine Formen geben, die nicht zu bestimmten Konfigurationsobjekten gehören – allgemeine Formen.

Grundformen

Jedes Konfigurationsobjekt kann zum Ausführen einiger Standardaktionen verwendet werden. Beispielsweise müssen Sie für jedes Verzeichnis möglicherweise eine Liste seiner Elemente anzeigen, einzelne Elemente des Verzeichnisses anzeigen, eine Gruppe des Verzeichnisses anzeigen und Elemente und Elementgruppen aus dem Verzeichnis auswählen. Für jedes Dokument ist die Liste solcher Aktionen viel kleiner: Anzeigen einer Liste von Dokumenten, Auswählen aus einer Liste von Dokumenten und Anzeigen eines separaten Dokuments.

Um sicherzustellen, dass solche Standardaktionen mit den Daten von Anwendungslösungsobjekten ausgeführt werden, gibt es für jedes von ihnen eine Reihe von Grundformularen, die bei der Durchführung der entsprechenden Aktionen verwendet werden. Jedes diesem Objekt untergeordnete Formular kann als Hauptformular zugewiesen werden. Zum Beispiel im Verzeichnis Nomenklatur Folgende Grundformen können existieren:

Und das Dokument Empfang von Waren und Dienstleistungen die Zusammensetzung der Hauptformen wird unterschiedlich sein:

Wenn der Benutzer also die Verzeichnisliste anzeigen möchte Nomenklatur oder Dokumentenliste Empfang von Waren und Dienstleistungen, öffnet das System das entsprechende Formular, das als Listenformular für diese Objekte vorgesehen ist.

Automatisch generierte Formulare

Ein wichtiges Merkmal des 1C:Enterprise 8-Systems ist der Mechanismus automatisch generierter Formulare. Dieser Mechanismus befreit den Entwickler davon, alle möglichen Formulare für jedes Konfigurationsobjekt erstellen zu müssen. Der Entwickler muss lediglich ein neues Konfigurationsobjekt hinzufügen, und das System selbst generiert im richtigen Moment der Arbeit des Benutzers die erforderlichen Formulare, um die in diesem Objekt enthaltenen Informationen anzuzeigen.

Daher muss der Entwickler seine eigenen Formen von Anwendungslösungsobjekten nur dann erstellen, wenn diese Unterschiede (unterschiedliches Design oder spezifisches Verhalten) von den vom System automatisch generierten Formen aufweisen müssen.

Verknüpfen eines Formulars mit Daten

Ob ein Formular zu einem bestimmten Konfigurationsobjekt gehört, bestimmt nicht die Zusammensetzung der im Formular angezeigten Daten. Die Tatsache, dass das Formular beispielsweise zu einem Verzeichnis gehört Nomenklatur ermöglicht es Ihnen, es als eines der Hauptformulare für dieses Verzeichnis zuzuweisen, legt jedoch in keiner Weise fest, welche Daten dieses Formular anzeigt und wie es sich verhält.

Um ein Formular mit Daten zu verknüpfen, werden Formulardetails verwendet, die die Liste der vom Formular angezeigten Daten angeben. Alle Formulare selbst verhalten sich gleich, unabhängig davon, welche Daten sie anzeigen. Allerdings kann eines der Formularattribute als Hauptattribut dafür bestimmt werden (es wird fett hervorgehoben). In diesem Fall wird das Standardverhalten des Formulars und seiner Eigenschaften je nach Typ des Hauptformularattributs ergänzt:

Wenn beispielsweise ein Dokument als Hauptformularattribut zugewiesen ist Empfang von Waren und Dienstleistungen, dann fordert das System beim Schließen des Formulars eine Bestätigung der Erfassung und Veröffentlichung dieses Dokuments an. Wenn Sie beispielsweise ein Verzeichnis als Hauptattribut des Formulars zuweisen Nomenklatur, dann erscheint beim Schließen des Formulars keine solche Bestätigungsanfrage.

Formularstruktur

Das Hauptmerkmal der Formulare besteht darin, dass sie vom Entwickler nicht im Detail „Pixel für Pixel“ gezeichnet werden. Ein Formular in einer Konfiguration ist eine logische Beschreibung der Zusammensetzung des Formulars. Und die spezifische Platzierung der Elemente erfolgt automatisch durch das System bei der Anzeige des Formulars.

Der angezeigte (für den Benutzer sichtbare) Teil des Formulars wird als Baum beschrieben, der Formularelemente enthält.

Elemente können Eingabefelder, Kontrollkästchen, Optionsfelder, Schaltflächen usw. sein. Darüber hinaus kann ein Element eine Gruppe sein, die andere Elemente enthält. Eine Gruppe kann als Panel mit einem Rahmen, als Panel mit Seiten (Lesezeichen), als Seite selbst oder als Befehlspanel dargestellt werden. Darüber hinaus kann das Element eine Tabelle sein, die auch Elemente (Spalten) enthält. Die Elementstruktur beschreibt, wie das Formular aussehen wird.

Die gesamte Funktionalität des Formulars wird in Form von Details und Befehlen beschrieben. Details sind die Daten, mit denen das Formular arbeitet, und Befehle sind die auszuführenden Aktionen. So muss der Entwickler im Formulareditor die notwendigen Details und Befehle in das Formular einbauen, Formularelemente erstellen, die diese anzeigen und ggf. Elemente in Gruppen anordnen.

Basierend auf dieser logischen Beschreibung generiert das System automatisch das Erscheinungsbild des Formulars zur Anzeige für den Benutzer. Dabei berücksichtigt das System verschiedene Eigenschaften der angezeigten Daten (z. B. Typ), um die Formularelemente für den Benutzer möglichst komfortabel anzuordnen.

Mit verschiedenen Einstellungen kann der Entwickler Einfluss auf die Anordnung der Elemente nehmen. Es kann die Reihenfolge der Elemente bestimmen und die gewünschte Breite und Höhe angeben. Dabei handelt es sich jedoch lediglich um einige zusätzliche Informationen, die dem System bei der Anzeige des Formulars helfen.

In Formularen kann der Entwickler nicht nur die Befehle des Formulars selbst verwenden, sondern auch globale Befehle, die in der Befehlsschnittstelle der gesamten Konfiguration verwendet werden. Darüber hinaus ist es möglich, parametrierbare Befehle zu erstellen, die unter Berücksichtigung der spezifischen Daten des aktuellen Formulars andere Formulare öffnen. Dies könnte beispielsweise der Aufruf eines Berichts über die Salden des Lagers sein, das aktuell im Rechnungsformular ausgewählt ist.

In der letzten Lektion haben wir es uns für einen normalen (fetten) Kunden angesehen. In der Plattformversion 1C 8.2. Sie verwenden die neuen Bildschirmmasken 1C 8.2. Sie werden als verwaltete Formulare 1C 8.2 bezeichnet.

Verwaltete Formulare 1C 8.2 sind die Zukunft von 1C. Sie unterscheiden sich von regulären 1C 8.2-Formularen dadurch, dass sie vom System aufgrund spezieller Einstellungen automatisch generiert werden („normale“ Formulare werden vom Programmierer einfach nach Belieben gezeichnet).

Die Unterschiede in der Entwicklung verwalteter Formulare 1C 8.2 gegenüber herkömmlichen sind erheblich. Aus diesem Grund haben wir uns heute versammelt, um die Erstellung und Änderung verwalteter Formulare 1C 8.2 gesondert zu besprechen.

Verwaltete Formulare 1C 8.2

Wenn Sie bereits 1C-Konfigurationen entwickelt haben, werden Sie beim Öffnen des 1C 8.2-Editors für verwaltete Formulare sofort verwirrt sein, dass es überhaupt unmöglich ist, das 1C 8.2-Formular mit der Maus zu beeinflussen.

Sie können das 1C 8.2-Formular nicht ändern, Sie können kein Element verschieben und Sie können nicht einmal die Feldeigenschaften wie zuvor anzeigen – indem Sie auf das Feld im 1C 8.2-Formular doppelklicken.

Die Grundlage für die Entwicklung eines 1C 8.2-Formulars ist nun nicht die Bindung von Feldern an Koordinaten im Formular, sondern spezielle Einstellungen. Basierend auf diesen Einstellungen generiert das System automatisch ein kontrolliertes Formular 1C 8.2.

Die Einstellungen bestehen aus einer Liste von 1C 8.2-Formularelementen, die sich im Editor in der oberen linken Ecke befinden. Zu den Elementen des Formulars 1C 8.2 gehören:

  • Voraussetzungen
  • Befehle (ein neues Konzept in 1C 8.2, können wie Schaltflächen oder Menüelemente aussehen)
  • Gruppen (zum Kombinieren von Details und Befehlen).

Dementsprechend liegen die Einstellungen für diese Elemente nicht in den Eigenschaften der Felder, sondern in den Eigenschaften dieser Einstellungselemente (Rechtsklickmenü, Eintrag Eigenschaften).

Wie verwaltete Formulare 1C 8.2 funktionieren

Die Arbeit mit verwalteten Formularen 1C 8.2 ist für den Benutzer anders. Sie verfügen über mehr Möglichkeiten, sind aber für diejenigen, die schon lange mit 1C arbeiten, ungewöhnlich.

Zunächst einmal ist die Anordnung der üblichen Elemente auf dem 1C 8.2-Formular anders. Die Befehlsleiste befindet sich immer oben.

Die linke Seite des Befehlsfelds ist anpassbar. Es enthält normalerweise Standardschaltflächen wie „Aufzeichnen“ und „Posten“.

Auf der rechten Seite des Befehlsfelds befindet sich das neue Standardmenü des 1C-Formulars „Alle Aktionen“. In diesem Menü können Sie das 1C 8.2-Formular nach Ihren Wünschen verwalten, ähnlich wie im ACS-Bericht können Sie mit den Einstellungen das Erscheinungsbild des Berichts erheblich ändern.

Beliebige Menüpunkte 1C Alle Aktionen

Je nachdem, ob dieses 1C 8.1-Formular zu dem einen oder anderen gehört, ist das Menü mit Elementen gefüllt, mit denen Sie dieses Objekt verwalten können. Wenn es sich beispielsweise um ein Verzeichnislistenformular handelt, gibt es Befehle wie „Erstellen“ oder „Bearbeiten“.

Element Anpassen der Menüliste 1C Alle Aktionen

Wenn im 1C 8.2-Formular eine Liste vorhanden ist, enthält das Menü die Befehle Liste konfigurieren und Liste anzeigen.
Wenn Ihnen der Befehl „Liste ausgeben“ bereits bekannt ist – er ermöglicht es Ihnen, jede beliebige Liste in 1C in Excel zu speichern / auszudrucken, dann ist der zweite Befehl neu.

Wie Sie bereits bemerkt haben, gibt es im Listenbefehlsfeld keine Auswahlschaltflächen mehr. Stattdessen erschien eine Schaltfläche „Suchen“, deren Bedienung (sowie die derzeit deaktivierte Positionierung des Cursors in der Liste beim Tippen) einige Kritikpunkte aufweist.

Die Funktionalität der Schaltfläche „Suchen“ ist natürlich nicht mit der von Auswahlen vergleichbar, aber sie sind nicht verschwunden!
Sie befinden sich jetzt im Menüpunkt „Liste anpassen“. Die Auswahl kann jetzt nach jedem Feld erfolgen. Darüber hinaus können Sie Sortierung und bedingte Formatierung auf die gleiche Weise wie in ACS-Berichten durchführen.

Element Menüform ändern 1C Alle Aktionen

Mit dem Element „Formular ändern“ können Sie auf ähnliche Weise nicht nur die Liste im 1C 8.2-Formular, sondern auch das 1C 8.2-Formular selbst ändern.

Der Benutzer kann die Sichtbarkeit von Feldern im 1C 8.2-Formular, Breite und Höhe, Aktivierung des Standardfelds beim Öffnen usw. selbstständig aktivieren oder deaktivieren.

Verwendung verwalteter Formulare 1C 8.2 und regulärer Formulare 1C

Standardmäßig werden reguläre 1C-Formulare in Konfigurationen für den dicken (regulären) 1C-Client verwendet, und verwaltete Formulare werden in Konfigurationen für die Thin- und Web-Clients von 1C verwendet. Beide 1C-Formulare können jedoch in jeder Konfiguration, auch gleichzeitig, verwendet werden.

Dazu müssen Sie die Konfigurationseigenschaften eingeben (oberstes Element im Konfigurationsfenster).

In den Konfigurationseigenschaften in 1C 8.2 sind zwei neue Kontrollkästchen erschienen, mit denen Sie die nicht standardmäßige Verwendung von 1C-Formularen aktivieren können.

Erstellen verwalteter Formulare 8.2

Das Hinzufügen eines neuen 1C 8.2-Formulars erfolgt auf die gleiche Weise wie zuvor – über die Schaltfläche „Einfügen“ auf der Tastatur oder die Schaltfläche „Hinzufügen“. Um ein bestehendes einzugeben, doppelklicken Sie mit der Maus darauf.

Standardmäßig wird das in der Konfiguration installierte Formular (normal oder verwaltet) erstellt (siehe Eigenschaft „Hauptstartmodus“ in den Konfigurationseigenschaften). Wenn Sie die Berechtigung zur Verwendung beider Formulartypen in der Konfiguration aktiviert haben – im Formulardesigner , das sich sofort öffnet - Sie können den Typ Formulare auswählen.

Der Designer fordert Sie auf, den Formulartyp auszuwählen – Elementformular, Listenformular. Hier können Sie Befehlsfelder zum Formular hinzufügen oder entfernen. Meistens bleiben diese Einstellungen standardmäßig unverändert.

Es öffnet sich ein standardmäßig ausgefülltes Formular – alle vorhandenen Details des 1C-Objekts wurden hinzugefügt. Sie können die spezifische Liste der erforderlichen Felder auf der zweiten Registerkarte des Designers ankreuzen.

Der Formulareditor besteht aus drei Abschnitten.

  • In der oberen linken Ecke befindet sich eine Liste der Formularelemente. Es besteht aus Feldern, Befehlen und Gruppen, mit denen Sie Elemente kombinieren können. Die Liste der Befehle kann separat auf der Registerkarte Befehlsschnittstelle angezeigt werden.
  • In der oberen rechten Ecke befindet sich eine Liste der verfügbaren Formulardetails und Objektdetails (öffnen Sie das Kreuz neben dem Objektattribut).
  • Unten sehen Sie eine Vorschau des resultierenden Formulars.

Sie können die verfügbaren Details nach links ziehen und sie werden zu einem Formularelement (einem Feld im Formular).

Wenn Sie eine Schaltfläche oder ein Menüelement hinzufügen müssen, müssen Sie auf der rechten Seite der Registerkarte „Befehle“ einen neuen Befehl erstellen. Dies ist ein Wrapper für eine Funktion im Formularmodul. Neben der Angabe, welche Funktion aufgerufen wird, können Sie eine Darstellung, beispielsweise ein Bild, sowie die Abhängigkeit der Sichtbarkeit von der Funktionsoption zuweisen.

Befehle werden ebenfalls nach links gezogen. Wenn das übergeordnete Element die Befehlsleiste ist, handelt es sich um eine Befehlsleistenschaltfläche, andernfalls nur um eine Schaltfläche.

Sie können Objekt-/Formularattribute nicht nur per Drag & Drop in die Liste der Formularelemente (Felder) ziehen, sondern sie auch einfach hinzufügen (Schaltfläche „Hinzufügen“ oder „Einfügen“). Insbesondere können Sie ein neues Formularobjekt erstellen – eine Gruppe.

Die Gruppe kann ein Befehlsfeld sein (der Cursor muss sich in der Formularzeile befinden). Dann ziehen Sie Befehle hinein und sie werden zu Schaltflächen.

Die Gruppe kann „normal“ sein. Dann ist dies eine Möglichkeit, Felder sowohl vertikal als auch horizontal zu gruppieren. Der Gruppenname kann in den Eigenschaften entfernt werden.

Eine Gruppe kann ein Panel (Seite) sein. Die oberste hinzugefügte Gruppe ist ein Panel und die verschachtelten Gruppen dieses Typs sind Seiten. Felder sind bereits auf die Seiten gezogen.

Nicht benötigte Formularelemente werden durch Löschen von Formularelementen in der Liste entfernt.
Die Position des Feldes im Formular wird durch die Reihenfolge in der Liste der Elemente (vertikal) oder durch die Verwendung von Gruppen (horizontal) bestimmt. Die Breite und Höhe werden in den Eigenschaften des Formularelements festgelegt.

Die Eigenschaften der Formularelemente wurden erheblich erweitert und enthalten viele nützliche Dinge – sowohl die Steuerung des Erscheinungsbilds (Auswahl- und Löschschaltflächen) als auch die Überprüfung der Standardwerte.

Die Eigenschaften des Formulars selbst, einschließlich seiner Abmessungen, werden im Stammelement des Formulars mit dem gleichen Namen „Form“ festgelegt.

Event-Handler (Reaktionen auf Benutzeraktionen) werden nun in zwei Typen unterteilt. Alt – nach wie vor werden sie in den Eigenschaften des Formulars und der Felder angezeigt (z. B. OnChange und OnOpening des Formulars). Neue sind zu Befehlen geworden und werden für Menüpunkte und Schaltflächen verwendet.

Klyuev V.V.

http://prof1c.kklab.ru

ARBEITEN MIT SCHALTERN

Bitte nehmen Sie Rücksicht auf alle Benutzer des Site-Dienstes – ich veröffentliche Materialien im Abschnitt „Anfänger“!!!

8.2 Verwaltete Formulare

Bei der Untersuchung des Verhaltens verwalteter Formulare stehen Programmierer oder Schnittstellenentwickler vor der Frage, wo sich die Schalter in verwalteten Formularen befinden und wie sie dem Formular hinzugefügt werden können. Es ist eine Kleinigkeit, aber es ist unangenehm, dass viel Zeit für solche Kleinigkeiten aufgewendet wird, obwohl diese Zeit eher für die Entwicklung und Optimierung des Algorithmus als für den Entwurf des Formulars aufgewendet werden könnte.

Erstellen wir also eine leere Konfiguration, um die Frage zu verstehen, oder wählen wir eine typische Konfiguration aus.
Gehen Sie zu der Gruppe mit den Verzeichnissen und fügen Sie zum Experimentieren ein neues Verzeichnis hinzu. Ich möchte darauf hinweisen, dass die Konfiguration den Hauptstartmodus haben muss – Verwaltete Anwendung.

Erstellen wir also ein neues Verzeichnis und fügen das Attribut „Property1“ mit dem Typ „Boolean“ hinzu.

Gehen wir nun zur Registerkarte „Formulare“ und fügen ein neues Formular hinzu.

Das kontrollierte Formular wurde also erstellt. Jetzt arbeiten wir mit dem Formular und finden heraus, wo sich der Schalter befindet.
Hier ist unsere Form, und darauf sehen wir unsere Requisiten, aber in Form einer Flagge

Was haben wir also falsch gemacht?
Schauen wir uns die Eigenschaften der Requisiten an, um zu sehen, ob es einen Wechsel zum Typ des Steuerelements gibt.
Und wir sehen, dass das Feld „Schalter“ nicht hier ist! (Was haben wir falsch gemacht?

Anscheinend hängt die Art des Steuerelements im Formular vom Datentyp ab. Gehen wir zurück zu den Eigenschaften des Formulars, nämlich zur Registerkarte „Details“, und ändern Sie die Eigenschaften unseres Attributs – nämlich seinen Typ „Boolean“ – in den Typ „Number“. “.

Gehen wir nun zurück zu den Eigenschaften des Steuerelements und prüfen, ob die Ansicht des Steuerelements zu seinen Eigenschaften hinzugefügt wurde – – – Und Hurra, wir sehen die Ansicht dort – Feld wechseln.

Schauen Sie sich nun das Formular an, was wir sehen:

Wir sehen - 3 Standardwerte, 3 Schalter, aber wir brauchen zwei davon, gehen noch einmal zu den Eigenschaften des Attributs und schauen uns dort die Eigenschaften „Anzahl der Spalten“ an

Für 2 – stellen Sie die Anzahl der Spalten auf 2 ein.

Das könnte einen müden Programmierer ein wenig aufhalten)), aber jetzt wissen sowohl er als auch wir es!

8.2 Regelmäßige Formen.

Langweilig mit Schaltern in gewöhnlicher Form.
Es gibt solche Momente, und sie passieren, wenn Sie ein vorgefertigtes Formular ändern müssen, das bereits über einige Schalter verfügt, und Sie diesem Formular einen weiteren Schalter hinzufügen müssen. Hier entsteht eine Art Langeweile, die viel Zeit in Anspruch nimmt, und zwar nicht Zeit für die Programmierung des Codes, sondern Zeitverschwendung, um diese Schalter für den Benutzer anzuzeigen.

Schauen wir uns also ein Beispiel an. Es gibt ein solches Dokument zum Anpassen von Quittungen in 1C UPP – es existiert definitiv. Wir mussten einmal Schalter hinzufügen, damit leicht unterschiedliche Buchungen für die Buchhaltung erstellt wurden. Was ist das Problem? Es scheint, dass wir es tun müssen, wir müssen, wir werden es tun. Dieses Formular verfügt jedoch bereits über 2 Optionsfelder.

So sieht das Formular aus, in dem wir weitere Schalter hinzufügen müssen


Auf der Registerkarte „Erweitert“ möchten wir zwei weitere Optionsfelder platzieren. Der erste Schritt besteht also darin, mutig ein neues Steuerelement an der benötigten Stelle hinzuzufügen und einzufügen.

Es scheint, dass alles einfach ist. Wir erstellen ein neues Attribut mit dem Typ „Nummer“ und fügen zwei Schalter ein, von denen einer Daten in das Attribut schreiben kann und der andere nicht.

Fügen Sie ein neues Steuerelement hinzu – Schalter, fügen Sie Schalter2 in der Tabelle mit der Anzahl und Beschreibung der Schalter hinzu, stellen Sie Schalter1 als erstes in der Gruppe ein und drücken Sie OK. Platzieren Sie die erstellten Steuerelemente auf dem Formular. Wir aktualisieren die Datenbankkonfiguration (F7) und führen sie zum Debuggen aus.

Beim Ausführen (beim Erstellen eines neuen Dokuments im 1C:Enterprise-Modus) sehen wir, dass nichts passiert, egal wie oft wir versuchen, auf Switch2 zu klicken. Die Elemente funktionieren nicht so, wie sie sollten. Hier gibt es einen Trick.
Zurück zum Konfigurator. Wählen Sie den Menüpunkt Formular -> Durchlaufreihenfolge festlegen... (wichtig ist, dass das Formular auf dem Bildschirm geöffnet ist)


Damit unsere Schalter funktionieren, müssen Sie die automatische Reihenfolge unterbrechen und einer manuellen Reihenfolge zustimmen. Und fügen Sie es in das Formular ein, sodass unsere Schalter der Reihe nach nacheinander wechseln.

OK. Aktualisieren Sie die Konfiguration und versuchen Sie, sie auszuführen.
Großartig. Alles hat funktioniert.

Zusätzlich - Video (ohne Ton, damit alles klar ist)


Mit der 1C:Enterprise-Plattform können Sie Elemente eines verwalteten Formulars programmgesteuert hinzufügen und ändern. Lassen Sie uns herausfinden, warum dies erforderlich sein könnte.

In mehreren Fällen kann eine Software-Änderung des Formulars erforderlich sein:

  • Bei der Finalisierung von Standardkonfigurationen, um den anschließenden Update-Vorgang zu erleichtern. In diesem Fall wird nur das Formularmodul geändert. Module sind viel einfacher zu aktualisieren als Formulare.
  • Bei der Implementierung einiger gängiger Algorithmen. Beispielsweise kann im Subsystem „Verbot der Bearbeitung von Objektdetails“ programmgesteuert eine Schaltfläche für alle mit dem Subsystem verbundenen Objekte erstellt werden, um die Möglichkeit zur Bearbeitung von Details zu ermöglichen.
  • Bei der Implementierung einiger spezifischer Algorithmen. Beispielsweise werden im Nomenklaturverzeichnis Felder zum Bearbeiten zusätzlicher Details erstellt.

In einem verwalteten Formular können Sie Folgendes programmgesteuert hinzufügen, ändern und löschen:

  • Requisiten;
  • lokale Teams;
  • Elemente.

Alle diese Vorgänge sind nur auf dem Server möglich.

Programmatische Umgestaltung weist Einschränkungen auf:

  • Sie können nur programmgesteuert hinzugefügte Details/Befehle/Elemente löschen. Sie können im Konfigurator erstellte Objekte nicht programmgesteuert löschen.
  • Sie können kein Attribut als Hauptattribut zuweisen.

Formularbefehle ändern

Um die Zusammensetzung von Befehlen für ein Objekt zu verwalten VerwalteteForm Es gibt eine Sammlung Mannschaften

    Hinzufügen (< ИмяКоманды >)

    Menge ()

    Finden (< ИмяКоманды >)

    Löschen (< Команда >)

Die Teams-Sammlung ist sowohl auf dem Client als auch auf dem Server verfügbar. Sie können die Sammlung (Methoden „Add()“ und „Delete()“) nur auf dem Server ändern. Sie können sowohl auf dem Client als auch auf dem Server nach Elementen suchen und deren Anzahl abrufen (die Methoden „Find()“ und „Count()“).

Als Beispiel für die Arbeit mit Formularbefehlen erstellen wir einen neuen ChangeHistory-Befehl mit der Überschrift „ChangeHistory...“, der den Handler aufruft Anzeigeverlauf(). Die Erstellung erfolgt beim Öffnen des Formulars.

&Auf dem Server
Verfahren WhenCreatingOnServer(Failure, StandardProcessing)
Team = Teams. Hinzufügen( „Geschichte der Veränderungen“);
Team . Aktion = ;
Team . Titel = „Geschichte der Veränderungen…“;
Ende des Verfahrens
&OnClient
Verfahren Connectable_DisplayHistory(Befehl)
// Befehlsaktionen
Ende des Verfahrens

Der Befehlshandler muss sich in einem Formular befinden und über eine &OnClient-Kompilierungsanweisung verfügen.

Formulardetails ändern

Das Lesen der Zusammensetzung der Formulardetails wird von der Funktion durchgeführt Beschaffe die Einzelheiten(< Путь >) gibt ein Array vom Typ FormAttributes zurück. Der Funktionsparameter gibt den Pfad zum übergeordneten Attribut (als String) an. Wenn der Parameter weggelassen oder eine leere Zeichenfolge angegeben wird, werden die Details der obersten Ebene zurückgegeben.

Das Ändern der Details erfolgt mit der Methode Details ändern(<Details hinzugefügt>, <Abnehmbare Details>) Objekt VerwalteteForm. Zu Parametern Details hinzugefügt Und Abnehmbare Details Es werden Arrays mit Elementen vom Typ Form Attributes übertragen.

Aufmerksamkeit!

Der Prozess der Änderung der Zusammensetzung von Details ist recht ressourcenintensiv. Das Formular wird tatsächlich neu erstellt. Dabei erfolgt die Arbeit mit Formulardetails im Batch-Modus.

Erstellen wir ein neues Formularattribut mit dem Namen Käufer:


AddedDetails = Neues Array;
Details hinzugefügt. Hinzufügen(Neue Formularattribute(„Käufer“, neue Typbeschreibung („DirectoryLink. Gegenparteien“), „Kunde“));

// Änderungen in der Zusammensetzung der Details
);

Formularelemente ändern

Um die Zusammensetzung von Elementen eines Objekts zu steuern VerwalteteForm Es gibt eine Sammlung Elemente. Die Sammlung verfügt über mehrere Methoden:

    Einfügen (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    Hinzufügen (< Имя>, < ТипЭлемента>, < Родитель >)

    Menge ()

    Finden (< Имя >)

    Bewegen(< Элемент>, < Родитель>, < МестоРасположения >)

    Löschen (< Элемент >)

Die Items-Sammlung ist sowohl auf dem Client als auch auf dem Server verfügbar. Eine Sammlung ändern (Methoden einfügen). () , Add (), Move () und Delete () sind nur auf dem Server verfügbar. Sie können sowohl auf dem Client als auch auf dem Server nach Elementen suchen und deren Anzahl abrufen (die Methoden „Find()“ und „Count()“). Sammlungselemente können sein:

  • Gruppe formen;
  • FormTable;
  • Formularfeld;
  • Schaltfläche „Formular“.

Sie können Formularelementen programmgesteuert Ereignishandler zuweisen. Für diese Zwecke ist die Methode vorgesehen SetAction(< ИмяСобытия>, < Действие >) .

Schauen wir uns einige der häufigsten Beispiele für die Arbeit mit Befehlen, Details und Formularelementen an.

Einen Befehl und die zugehörige Schaltfläche hinzufügen:

// Einen Befehl erstellen
Team = Teams. Hinzufügen( „Geschichte der Veränderungen“);
Team . Aktion = „Plug-in_DisplayHistory“; // Das Formular muss eine Prozedur mit dem angegebenen Namen enthalten
Team . Überschrift = „Geschichte der Veränderungen…“;
// Eine Schaltfläche erstellen und sie einem Befehl zuordnen
Element = Artikel. Hinzufügen( „Geschichte der Veränderungen“, Type("FormButton" ));
Element.Befehlsname = „Geschichte der Veränderungen“;

Hinzufügen eines Attributs und des zugehörigen Eingabefelds:

// Beschreibung der hinzugefügten Details
AddedDetails = Neues Array;
Details hinzugefügt. Hinzufügen(Neue Formular-Requisiten („Käufer“, neue Typbeschreibung ( „DirectoryLink. Gegenparteien“), "Klient" ));
// Ändern der Zusammensetzung von Details
ChangeDetails(Details hinzugefügt);
// Ein Eingabefeld erstellen und mit Attributen verbinden
Element = Artikel. Add("Buyer" , Type("FormField" ));
Element . Ansicht = FormFieldView. Eingabefeld;
Element . PathToData= "Käufer" ;

Zuweisen eines Event-Handlers zu einem Formularelement:

ArtikelKunde. SetAction(„Wenn es sich ändert“, „Connected_BuyerOnChange“);

&OnClient
Verfahren Connected_BuyerOnChange(Element)
// Ereignisaktionen
Ende des Verfahrens

Aufmerksamkeit!

Prozeduren, die mithilfe der Methode aus dem Code als Ereignishandler festgelegt werden SetAction(), wird empfohlen, das Präfix Connectable_ zu setzen.

Aufmerksamkeit!

Sie können die Verarbeitung mit Beispielen für die programmatische Suche und Änderung von Details, Befehlen und Elementen eines verwalteten Formulars herunterladen.

DIE KLINGEL

Es gibt diejenigen, die diese Nachricht vor Ihnen gelesen haben.
Abonnieren Sie, um neue Artikel zu erhalten.
Email
Name
Nachname
Wie möchten Sie „Die Glocke“ lesen?
Kein Spam