heim - Sicherheit
Iterieren über Zeilen der Wertetabelle 1s 8.2. Welche Methoden gibt es und wie kann man nach mehreren Werten gleichzeitig suchen?

Hier ein kleiner Fakt für den Anfang – einfache Beispiele für die Arbeit mit einer Wertetabelle:

1. Erstellen Sie eine Wertetabelle

ValueTable = Neue ValueTable;


2. Erstellen Sie Spalten für die Wertetabelle:

ValueTable.Columns.Add("Name");
Wert Table.Columns.Add("Nachname");


3. Fügen Sie neue Zeilen mit Spaltennamen hinzu:


NewLine.Name = "Vasily";
NewLine.LastName = "Pupkin";


4. So suchen Sie einen Wert in der Wertetabelle:
Es muss eine Tabellenzeile gefunden werden, die den gewünschten Wert enthält.

FoundRow = ValueTable.Find(SearchValue);


5. Finden Sie das erste Vorkommen in bestimmten Spalten der Wertetabelle

FoundRow = ValueTable.Find(SearchValue, "Supplier, Buyer");


6. Wenn Sie alle Vorkommen in der Wertetabelle finden müssen:
Wir nutzen die Suchstruktur.

SearchStructure = Structure("Employee", SearchValue);
Array of FoundRows = ValueTable.FindRows(SearchStructure);


Erstellen wir eine Suchstruktur, deren jedes Element den Namen der Spalte als Schlüssel und den gewünschten Wert in dieser Spalte als Wert enthält. Wir übergeben die Suchstruktur als Parameter an die Methode FindLines(). Als Ergebnis erhalten wir Tabellenzeilen.
Wenn Sie der Suchstruktur beispielsweise auch in der Spalte „Verantwortlicher“ eine Suche nach dem gewünschten Wert hinzufügen, erhalten wir durch die Anwendung der Methode „FindLines()“ alle Zeilen, in denen sowohl „Mitarbeiter“ als auch „Verantwortlicher“ gleich sind gesuchter Wert.

7. So durchlaufen Sie eine Wertetabelle in zufälliger Reihenfolge

Für jede aktuelle Zeile aus der Wertetabellenschleife
Report(CurrentRow.Name);
EndCycle;

Das Gleiche gilt für Indizes:

SeniorIndex = ValueTable.Quantity() - 1;
Für Konto = 0 bis SeniorIndex-Zyklus
Report(TableValues[Konto].Name);
EndCycle;


8. Löschen einer vorhandenen Wertetabellenzeile

ValueTable.Delete(Zu löschende Zeile);

nach Index

ValueTable.Delete(0);


9. Löschen einer vorhandenen Spalte der Wertetabelle

ValueTable.Columns.Delete(ColumnDeleted);


nach Index

ValueTable.Columns.Delete(0);

Es ist zu berücksichtigen, dass das Löschen einer Zeile (oder Spalte) „aus der Mitte“ der Wertetabelle zu einer Verringerung der Indizes der Zeilen, die sich „nach“ dem Löschen befinden, um eins führt

10. Wie fülle ich eine Wertetabelle, wenn die Spaltennamen in Variablen enthalten sind?

NewRow = ValueTable.Add();
NewRow[ColumnName] = Wert;


11. Wie fülle ich die gesamte Spalte der Wertetabelle mit dem gewünschten Wert?
Die Spalte Fiskalbuchhaltungskennzeichen in der Wertetabelle muss mit dem Wert Falsch ausgefüllt werden

Wertetabelle. Füllen Sie die Werte aus (Falsch, „Fiscal Accounting Flag“);


Für die Wertetabelle verwenden wir die Methode FillValues(). Der erste Parameter ist der zu füllende Wert. Der zweite Parameter ist der Name der Spalte, die gefüllt werden soll.

12. Wie kann ich die Wertetabelle „Receiver Table“ mit Daten aus der Wertetabelle „SourceTable“ füllen?

Wenn die Empfängertabelle zum Zeitpunkt des Vorgangs noch nicht existiert oder ihre vorherigen Spalten nicht gespeichert werden müssen, können Sie sie als vollständige Kopie des Originals erstellen

Empfängertabelle = Quelltabelle.Copy();


Option zwei: Die ReceiverTable-Tabelle existiert, und es wäre schade, ihre Spalten und Einschränkungen für die Spaltendatentypen zu verlieren. Sie müssen jedoch die Daten für die Spalten eingeben, deren Namen mit den Namen der Quelltabelle übereinstimmen.

Teilweise Datenübertragung für Spalten mit übereinstimmenden Namen:

Für jede Zeile der SourceTable aus dem SourceTable-Zyklus
FillPropertyValues(NewRow, SourceTableRow);
Ende des Zyklus


Für jede Zeile der Quelltabelle wird der empfangenden Tabelle eine neue Zeile hinzugefügt und die Werte werden in die Spalten der neuen Tabelle gefüllt, deren Namen mit den Namen der Spalten in der Quelltabelle übereinstimmen

Wenn die Tabellen keine Spalten mit denselben Namen haben, enthält die Zieltabelle am Ende so viele Zeilen mit Nullwerten, wie Zeilen in der Quelltabelle vorhanden waren.
Wenn für einige Spalten mit demselben Namen der Datenwerttyp aus der Quelltabelle nicht in das Array der zulässigen Spaltentypen der Zieltabelle fällt, erhalten wir in solchen Feldern leere Werte.
Betrachten wir den dritten Fall. Bei gleichnamigen Spalten muss die Spalte der Zieltabelle vollständig mit der Spalte der Quelltabelle in Übereinstimmung gebracht werden.

Vollständiges Kopieren der Daten für Spalten mit übereinstimmenden Namen

Gleiche Spalten = New Array();

Für jede Spalte aus dem SourceTable.Columns-Zyklus
MatchingColumn = TableReceiver.Columns.Find(Column.Name);

Wenn MatchingColumn<>Dann undefiniert

// Spalteneigenschaften abrufen.
Name = Column.Name;
ValueType = Column.ValueType;
Header = Column.Header;
Breite = Column.Width;

// Spalten in der Zieltabelle ersetzen.
Index = TableReceiver.Columns.Index(MatchingColumn);

TableReceiver.Columns.Delete(Index);
ReceiverTable.Columns.Insert(Index, Name, ValueType, Header, Breite);

// Den nächsten Namen übereinstimmender Spalten zum Array hinzufügen.
Gleiche Columns.Add(Column.Name);

endIf;

EndCycle;

// Durch die Zeilen der Quelltabelle blättern.
Für jede Zeile der SourceTable aus dem SourceTable-Zyklus

// Eine neue Zeile zur Zieltabelle hinzufügen.
NewRow = TableReceiver.Add();

// Geben Sie die Werte in die passenden Zellen ein.
Für jede Namensspalte aus Spalten mit demselben Namenszyklus
NewRow[ColumnName] = SourceTableRow[ColumnName];

EndCycle;

EndCycle;


Wir müssen die Spalte in der Zieltabelle durch eine neue ersetzen, deren Eigenschaften vollständig mit der Spalte der Quelltabelle übereinstimmen.
Wenn daher in der Empfängertabelle eine Spalte mit demselben Namen gefunden wird, sammeln wir alle Eigenschaften für die neue Spalte in Variablen. Als nächstes löschen Sie die alte und erstellen eine neue Spalte. Dann durchlaufen wir die Zeilen der Quelltabelle.
In der Schleife fügen wir der empfangenden Tabelle eine neue Zeile hinzu und öffnen eine Schleife über die Spaltennamen im Array übereinstimmender Spalten.
Innerhalb dieser verschachtelten Schleife füllen wir die Zellen der Zieltabelle mit den Daten der Zelle der Quelltabelle.

13. Wie füge ich Spalten mit Typbeschränkungen zur Wertetabelle „ValueTable“ hinzu?

Beim Hinzufügen einer Spalte können Sie einfach deren Namen angeben und den zweiten Parameter der Add()-Methode unverändert lassen. In diesem Fall ist der Spaltendatentyp beliebig.

Hinzufügen einer Spalte ohne Angabe eines Datentyps

// Eine Spalte ohne Typbeschränkungen hinzufügen.
ValueTable.Columns.Add("Object");


Sie können den Wert des zweiten Parameters eingeben. Dort müssen Sie eine Beschreibung des für die Spalte zulässigen Typs übergeben. Die Beschreibung selbst kann mit dem Konstruktor abgerufen werden, indem ihm als Parameter der String-Name des Typs (bei vielen Typen durch Kommas getrennt) oder ein Array gültiger Typen übergeben wird.

Hinzufügen einer Spalte, die den Datentyp angibt

// Einschränkungen für Spaltendatentypen:
// Nur Elemente des Verzeichnisses „Counterparties“.
Table of Values.Columns.Add("Account", neue Beschreibung der Typen("DirectoryLink.Accounts"));


Wenn einer der zulässigen Typen zum Füllen von Spaltendaten eine Zeichenfolge ist, können Sie deren Bittiefe (Länge) begrenzen und die Verwendung einer Variablen oder einer festen Länge festlegen. All dies wird erreicht, indem ein Objekt mit dem String Qualifiers-Konstruktor erstellt wird. Als nächstes wird dieses Objekt als einer der Parameter des TypeDescription-Konstruktors verwendet.

Verwenden von Qualifizierern, um den Datentyp einer Wertetabellenspalte anzugeben

// Einschränkungen für Daten vom Typ String vorbereiten und festlegen.
String Qualifiers = New String Qualifiers(20, AllowedLength.Variable);
ValidTypes = NewTypeDescription("String", StringQualifiers);
ValueTable.Columns.Add("NoteStringShort", ValidTypes);


Ähnliche Aktionen können in Bezug auf Zahlen- und Datumsqualifizierer durchgeführt werden.
Bitte beachten Sie: Typbeschreibungen können vom Konstruktor entweder „von Grund auf“ erstellt werden oder eine vorhandene Typbeschreibung als Grundlage verwendet werden.

Verwenden vorhandener Typdeklarationen, um den Datentyp einer Wertetabellenspalte anzugeben

// Erweiterung der bisher verwendeten Typbeschreibung.
QualifiersNumbers = New QualifiersNumbers(10, 2, ValidSign.Non-negative);
DateQualifiers = New DateQualifiers(DateParts.Date);
Extended ValidTypes = New TypeDescription(ValidTypes, „Number, Date“, Number Qualifiers, Date Qualifiers);

ValueTable.Columns.Add("Note", ExtendedAcceptableTypes);

Eine Wertetabelle ist ein spezifisches universelles Objekt, das dazu dient, Daten in einer tabellarischen Darstellung zu speichern. Der Hauptunterschied zwischen einer Tabelle und Anwendungsobjekten besteht darin, dass keine Bindung an physische Datenbanktabellen besteht. Die Wertetabelle existiert nur im RAM, was einerseits einzigartige Möglichkeiten bietet, andererseits gewisse Einschränkungen mit sich bringt. Dennoch sind die Möglichkeiten der Interaktion mit der Tabelle vergleichbar mit der Interaktion mit tatsächlich in der Datenbank vorhandenen Objekten.

Historisch gesehen hat die Wertetabelle in 1C einen doppelten Zweck: Sie ist ein virtuelles Analogon bestehender Tabellen, gleichzeitig aber auch ein Kontrollelement. Mit der Umstellung auf eine verwaltete Anwendung ist ein Großteil dieser Funktionalität veraltet, sie kann nun aber auch ein Benutzeroberflächenelement sein, allerdings mit einigen erheblichen Einschränkungen.

Aufbau einer Wertetabelle als Objekt

Die Eigenschaften einer Wertetabelle werden durch Kombinationen zweier vordefinierter Sammlungen bestimmt: ihrer Spalten und Zeilen.

Wertetabelle Spalten

Eine Spalte einer Wertetabelle ist ihre definierende Eigenschaft. Es ist die Menge der Tabellenspalten, die ihre Struktur bestimmt. Die Spalten entsprechen den Feldern physischer Tabellen oder Spalten, die man von der Benutzeroberfläche eines tabellarischen Abschnitts oder Dokumentenjournals kennt. Eine Spalte kann einen internen Namen, einen Werttyp und einen Titel haben, der beim interaktiven Arbeiten mit der Tabelle angezeigt wird.

Da es sich bei Spalten um eine Sammlung von Objekten handelt, können Sie Spalten hinzufügen, löschen und bearbeiten.

Wertetabellenzeile

Aus Sicht der Softwareschnittstelle sind Zeichenfolgen eine separate Sammlung, die in eine Wertetabelle eingebettet ist. Sie ähneln Datensätzen in physischen Tabellen, also Zeilen, die dem Benutzer in einem tabellarischen Abschnitt oder Dokumentjournal bekannt sind. Jede einzelne Zeile ist ein Objekt mit einer Reihe benannter Eigenschaften, deren Namen den Namen der Tabellenspalten entsprechen.

Daher ist die Interaktion mit einer Zeichenfolge der Interaktion mit anderen Objekten sehr ähnlich. Sie können seine Eigenschaften lesen und schreiben, unter anderem mit der vordefinierten Funktion „FillPropertyValues()“. Da Zeilen die Hauptsammlung der Wertetabelle darstellen, wird die Methode „Clear()“ verwendet, um alle Zeilen der Tabelle zu löschen.

Wertetabelle erstellen

Es gibt viele Möglichkeiten, eine Wertetabelle gebrauchsfertig zu machen. Schauen wir uns einige davon an. Jedes Beispiel wird als Codeliste mit Kommentaren bereitgestellt.

Erstellen einer Tabelle mit dem Konstruktor

Die Hauptmethode, mit der Sie genau die Tabelle erstellen können, die der Entwickler benötigt, ist leider die arbeitsintensivste, da alle erforderlichen Tabelleneigenschaften manuell angegeben werden müssen.

DemoTable = Neue ValueTable; // Zuerst initialisieren wir die TK // Als nächstes ermitteln wir die notwendigen Parameter für neue Spalten und fügen sie der Sammlung hinzu // Erstellen der Spalte „Nomenclature“ Name = „Nomenclature“; ValueType = New TypeDescription("DirectoryLink.Nomenclature"); Title = „Nomenklatur (Produkt)“; DemoTable.Columns.Add(Name, ValueType, Header); // Spalte „Menge“ erstellen Name = „Menge“; ValueType = New TypeDescription("Number"); DemoTable.Columns.Add(Name, ValueType); // Als Ergebnis dieser Manipulationen haben wir eine leere Tabelle mit typisierten Spalten erstellt. // Wenn Sie eine genauere Typisierung primitiver Typen benötigen, sollten Sie die erweiterte Syntax des Konstruktors „Beschreibung der Typen“ verwenden

Erstellen einer Tabelle durch Kopieren

Wenn Sie eine Referenz mit geeigneter Struktur und/oder Zusammensetzung zur Hand haben, können Sie die Referenzwertetabelle kopieren oder herunterladen. Wenn es sich bei der Referenztabelle um eine andere Tabelle handelt, müssen Sie die Methode „Referenztabellen kopieren“ verwenden. Wenn es sich um einen tabellarischen Teil oder einen Satz von Registersätzen handelt, müssen Sie die Methode „Wertetabelle entladen“ verwenden. Wenn Sie nur die Struktur benötigen, können Sie die Methode „Spalten kopieren“ verwenden.

// Option mit Kopieren aller Zeilen aus dem technischen Spezifikationsstandard, aber Beibehaltung nur der beiden angegebenen Spalten. Columns of the Standard = "Nomenclature, Quantity"; DemoTable = TableEtalon.Copy(, ColumnsEtalon); // Option zum Kopieren vorab ausgewählter Zeilen aus dem technischen Spezifikationsstandard unter Beibehaltung der beiden angegebenen Spalten. Rows of the Standard = SelectIntoArrayThe Rows We Need From the Table of the Standard(); ColumnsStandard = "Nomenklatur, Menge"; DemoTable = TableEtalon.Copy(RowsEtalon, ColumnsEtalon); // Option zum Kopieren von Zeilen aus dem technischen Spezifikationsstandard unter Verwendung des angegebenen Filters, wobei eine Spalte „Nomenklatur“ erhalten bleibt // Alle Zeilen, in denen der Wert in der Spalte „Menge“ 0 ist, werden ausgewählt, nur die Spalte „Nomenklatur“ Zeilenauswahl = Neue Struktur(" In der resultierenden Tabelle erscheint „Menge“, 0); ColumnsStandard = "Nomenklatur"; DemoTable = TableEtalon.Copy(RowsEtalon, ColumnsEtalon); // Option mit einer vollständigen Kopie der Tabelle und anschließendem Löschen einer Zeile mit dem Feldwert „Menge“ gleich Null und Löschen der gesamten Spalte „Menge“. Row Selection = New Structure("Quantity", 0); ColumnsStandard = "Nomenklatur"; DemoTable = TableEtalon.Copy(RowsEtalon, ColumnsEtalon); TableRow = DemoTable.Find(0, "Quantity"); DemoTable.Delete(TableRow); DemoTable.Columns.Delete("Menge"); // Ähnliche Optionen und ihre Modifikationen können auf tabellarische Teile und Sätze von Registerdatensätzen angewendet werden

Erstellen einer Tabelle mit einer Abfrage

Wenn eine Vorlage der von Ihnen benötigten Tabelle in der Datenbank vorhanden ist, können Sie mithilfe einer Abfrage schnell eine Tabelle mit der gewünschten Struktur erstellen.

// Ein Beispiel für die Erstellung einer leeren Tabelle basierend auf der Struktur des Akkumulationsregisters // Es ist leicht zu erraten, dass Sie auf diese Weise auch eine gefüllte Tabelle erhalten können Query = New Query("SELECT FIRST 0 * From Accumulation Register. Products Im Lager"); RequestResult = Request.Execute(); DemoTable = Abfrageergebnis.Unload(); // Ein Beispiel für die Erstellung einer leeren Tabelle mit explizit angegebenen Typen und Feldnamen Query = New Query; Query.Text = "SELECT TOP 0 | Value(Directory.Nomenclature.EmptyLink) AS Nomenclature, | EXPRESS(0 AS NUMBER(15, 3)) AS Quantity"; RequestResult = Request.Execute(); DemoTable = Abfrageergebnis.Unload(); // WICHTIG! Vergessen Sie nicht, dass die aus einer Anfrage erhaltenen Spaltenwerttypen immer den Nulltyp enthalten. // Daher verfügt der durch die Anfrage erstellte TK immer über zusammengesetzte Spaltentypen

Abschluss

In diesem kurzen Artikel haben wir uns mit den grundlegenden Eigenschaften und praktischen Techniken zum Erstellen einer Wertetabelle befasst, die zum Verständnis und zur ersten Verwendung ausreichen. Das Wertetabellenobjekt selbst ist so vielfältig, dass eine detaillierte Beschreibung seiner Fähigkeiten das Schreiben eines separaten Artikels über Techniken und Arbeitsmethoden erfordert.

Suchen Sie in der Tabelle der 1C-Werte

Welche Methoden gibt es und wie kann man nach mehreren Werten gleichzeitig suchen?

Es gibt zwei spezielle Methoden zum Durchsuchen einer Wertetabelle:

1. Finden

TVHorizon = Directories.Nomenclature.FindByName("TVHorizon");
FoundString = TZNomenclature.Find(TVHorizon);
//Wir können auch angeben, in welchen Spalten gesucht werden soll, um die Suche zu beschleunigen
FoundString = TZNomenclature.Find(TVHorizon, "Nomenclature");

Diese Methode gibt die erste gefundene Zeile mit dem gewünschten Wert zurück oder Undefiniert, wenn sie diesen nicht findet. Daher ist es praktisch, damit nach eindeutigen Werten zu suchen, weil Andernfalls müssen Sie einen gefundenen Wert aus der Tabelle entfernen, um den nächsten zu finden.

Um diesen Aufwand zu vermeiden, gibt es die folgende Methode, mit der Sie ein Array passender Zeichenfolgen finden können:

2. Strings suchen


Auswahlstruktur.Insert("Nomenklatur", TVHorizon); // Geben Sie zuerst die Spalte an, in der gesucht werden soll, und dann, wonach gesucht werden soll.

Diese Methode gibt immer ein Array zurück, es kann jedoch leer sein, wenn nichts gefunden wird. Und diese Methode gibt wie die vorherige die Zeilen der Wertetabelle selbst zurück und nicht die Werte selbst in einem separaten Array. Daher ändern Sie durch Ändern der Werte im Array-String oder, wie in der vorherigen Methode, für den gefundenen String den Wert in der verarbeiteten Wertetabelle.

Ein weiterer Vorteil dieser Methode ist, dass sie mehrere Spalten der Wertetabelle gleichzeitig durchsuchen kann:


SelectionStructure = Neue Struktur;
Auswahlstruktur.Insert("Nomenklatur", TVHorizon);
Auswahlstruktur.Insert("Menge", 10);
FoundArray of Rows = TZNomenclature.FindLines(SelectionStructure);

Das einzig Negative ist, wie Sie sehen, dass Sie keine anderen Vergleichsarten als „gleich“ verwenden können.

Zur Abrechnung von Geld und Gütern werden in der Wirtschaft häufig verschiedene Tabellen verwendet. Fast jedes Dokument ist eine Tabelle.

Eine Tabelle listet die Waren auf, die aus dem Lager versendet werden sollen. Eine weitere Tabelle zeigt die Zahlungsverpflichtungen für diese Güter.

Daher nimmt in 1C die Arbeit mit Tabellen einen herausragenden Platz ein.

Tabellen in 1C werden auch „tabellarische Teile“ genannt. Verzeichnisse, Dokumente und andere haben sie.

Wenn die Abfrage ausgeführt wird, gibt sie eine Tabelle zurück, auf die auf zwei verschiedene Arten zugegriffen werden kann.

Die erste - schnellere - Auswahl, das Erhalten von Zeilen daraus ist nur der Reihe nach möglich. Die zweite besteht darin, das Abfrageergebnis in eine Wertetabelle hochzuladen und dann wahlfrei darauf zuzugreifen.

//Option 1 – sequenzieller Zugriff auf Abfrageergebnisse

//Hol dir den Tisch
Select = Query.Run().Select();
// Wir gehen alle Zeilen des Abfrageergebnisses der Reihe nach durch
While Select.Next()-Schleife
Bericht(Auswahl.Name);
EndCycle;

//Option 2 – Hochladen in eine Wertetabelle
Request = New Request("SELECT Name FROM Directory.Nomenclature");
//Hol dir den Tisch
Tabelle = Query.Run().Unload().
//weiterhin können wir auch alle Zeilen durchlaufen
Für jede Zeile aus dem Tabellenzyklus
Report(String.Name);
EndCycle;
//oder willkürlich auf Strings zugreifen
Row = Table.Find("Shovel", "Name");

Ein wichtiges Merkmal besteht darin, dass in der Tabelle, die aus dem Abfrageergebnis gewonnen wird, alle Spalten streng typisiert sind. Dies bedeutet, dass Sie durch die Anforderung des Felds „Name“ aus dem Nomenklaturverzeichnis eine Spalte vom Typ „String“ mit einer zulässigen Länge von nicht mehr als N Zeichen erhalten.

Tabelle auf dem Formular (Thick Client)

Der Benutzer arbeitet mit der Tabelle, wenn sie auf dem Formular platziert wird.

Die Grundprinzipien der Arbeit mit Formularen haben wir in der Lektion zu und in der Lektion zu besprochen

Platzieren wir also die Tabelle auf dem Formular. Dazu können Sie die Tabelle aus dem Steuerfeld ziehen. Ebenso können Sie im Menü die Option „Formular/Steuerelement einfügen“ auswählen.

Die Daten können in der Konfiguration gespeichert werden – dann müssen Sie den vorhandenen (zuvor hinzugefügten) tabellarischen Teil des Konfigurationsobjekts auswählen, dessen Formular Sie bearbeiten.

Klicken Sie in der Eigenschaft „Daten“ auf die Schaltfläche „…“. Um die Liste der tabellarischen Teile anzuzeigen, müssen Sie den Objektzweig erweitern.

Wenn Sie den tabellarischen Teil auswählen, fügt 1C selbst Spalten zur Tabelle im Formular hinzu. Vom Benutzer in eine solche Tabelle eingegebene Zeilen werden automatisch zusammen mit dem Nachschlagewerk/Dokument gespeichert.

In derselben Dateneigenschaft können Sie einen beliebigen Namen eingeben und den Typ Wertetabelle auswählen.

Dies bedeutet, dass eine beliebige Wertetabelle ausgewählt wurde. Es werden weder automatisch Spalten hinzugefügt noch automatisch gespeichert, aber Sie können damit machen, was Sie wollen.

Durch einen Rechtsklick auf die Tabelle können Sie eine Spalte hinzufügen. In den Eigenschaften einer Spalte können Sie ihren Namen (zur Referenz im 1C-Code), die Spaltenüberschrift im Formular, die Verbindung mit dem Attribut des tabellarischen Teils (letzteres – wenn keine beliebige Tabelle ausgewählt wird, sondern a tabellarischer Teil).

In den Tabelleneigenschaften des Formulars können Sie angeben, ob der Benutzer Zeilen hinzufügen/löschen kann. Eine erweiterte Form ist das Kontrollkästchen „Nur anzeigen“. Diese Eigenschaften eignen sich zum Organisieren von Tabellen, die zum Anzeigen von Informationen, aber nicht zum Bearbeiten vorgesehen sind.

Um die Tabelle zu verwalten, müssen Sie im Formular ein Befehlsfeld anzeigen. Wählen Sie den Menüpunkt Formular/Steuerelement einfügen/Befehlsleiste.

Aktivieren Sie in den Eigenschaften der Befehlsleiste das Kontrollkästchen „Autofill“, damit die Schaltflächen im Bedienfeld automatisch angezeigt werden.

Tabelle auf Formular (Thin/Managed Client)

Auf einem verwalteten Formular sehen diese Aktionen etwas anders aus. Wenn Sie einen tabellarischen Teil auf dem Formular platzieren müssen, erweitern Sie den Zweig „Objekt“ und ziehen Sie einen der tabellarischen Teile nach links. Und alle!

Wenn Sie eine Wertetabelle platzieren müssen, fügen Sie ein neues Formularattribut hinzu und geben Sie in seinen Eigenschaften den Typ an – Wertetabelle.

Um Spalten hinzuzufügen, verwenden Sie das Kontextmenü für dieses Formularattribut und wählen Sie Attributspalte hinzufügen aus.

Ziehen Sie dann auch die Tabelle nach links.

Damit eine Tabelle über eine Befehlsleiste verfügt, wählen Sie in den Tabelleneigenschaften die Werte im Abschnitt Verwendung – Position der Befehlsleiste aus.

Hochladen einer Tabelle nach Excel

Jede auf dem Formular befindliche 1C-Tabelle kann ausgedruckt oder in Excel hochgeladen werden.

Klicken Sie dazu mit der rechten Maustaste auf eine leere Stelle in der Tabelle und wählen Sie Liste.

In einem verwalteten (Thin) Client können ähnliche Aktionen über den Menüpunkt Alle Aktionen/Liste anzeigen durchgeführt werden.



 


Lesen:



So löschen Sie ein Foto von Facebook. So löschen Sie einen Freund von Facebook

So löschen Sie ein Foto von Facebook. So löschen Sie einen Freund von Facebook

Wenn Sie ein Foto nach dem Hochladen löschen müssen, ist dies dank einfacher Einstellungen ganz einfach möglich.

Mediaget, was ist das für ein Programm Mediaget, was ist das für ein Programm?

Mediaget, was ist das für ein Programm Mediaget, was ist das für ein Programm?

Wir erzählen Ihnen von einem guten Torrent-Client MediaGet (gelesen als Mediadget). Finden Sie heraus, was es ist und wie Sie das MediaGet-Programm verwenden....

Was sind JavaScript-Skripte und wie aktiviere ich sie in meinem Browser?

Was sind JavaScript-Skripte und wie aktiviere ich sie in meinem Browser?

Es gibt immer weniger Websites im Internet, die ohne JavaScript funktionieren. Mit Skripten können Sie verschiedene interaktive... hinzufügen.

So geben Sie ein Telefon im Rahmen der Garantie zurück und erhalten Geld

So geben Sie ein Telefon im Rahmen der Garantie zurück und erhalten Geld

Garifullina Alla 28.07.2013 um 13:27 Uhr Russland, Naberezhnye Chelny | Fragen: 1 Alla Garifullina, Naberezhnye Chelny, 28.07.2013 Gekauft...

Feed-Bild RSS