Dekodierung im Tabellenkalkulationsdokument 1c

In dieser Lektion lernen wir, wie man Tabellenlayouts in 1C erstellt, die später für verwendet werden können.

Zum Beispiel, wie ich die Layouts für erstellt habe.

Ich ging in das Bearbeitungsformular und ging zum Reiter „Layouts“:

Der Tabellendokumenteditor wird geöffnet:

In vielerlei Hinsicht ähnelt die Arbeit in einem Editor der Arbeit in Excel-Programm, aber es gibt einige Funktionen, die ich hervorheben möchte.

Was meine ich mit Fläche? Dies sind mehrere Zeilen und mehrere Zellen, im Allgemeinen jeder Teil eines Tabellenkalkulationsdokuments, der von uns ausgewählt werden kann linker Knopf Mäuse.

Hier ist ein hervorgehobener Bereich aus zwei Zeilen:

Und hier ist ein ausgewählter Bereich aus 2 Spalten:

Jetzt wählen wir den Bereich am Schnittpunkt der ersten beiden Zeilen und der ersten beiden Spalten aus:

Also. Wenn wir den benötigten Bereich auswählen konnten, können wir ihm durch Rechtsklick und Auswahl von „Eigenschaften“ einen Namen zuweisen, unter dem wir über unseren Code darauf zugreifen und so ein gedrucktes Formular erstellen:

Dies ist eine grundlegende Fähigkeit, die wir beherrschen müssen, um Tabellenlayouts erstellen zu können.

So zeigen Sie bereits vergebene Namen an

Mal sehen, welche Namen den Bereichen im Layout bereits zugeordnet sind?

Wählen Sie dazu im Konfigurator-Menü:

Hier ist unser neu benannter „Head“-Bereich:

Und wenn wir es nun im Dialog auswählen und auf „Auswählen“ klicken, dann wird das entsprechende im Editor ausgewählt. Zellfläche:

So legen Sie den Scope-Parameter fest

Wenn Sie einen gedruckten Bereich erstellen, müssen Sie oft mehr tun, als den Bereich einfach aus dem Layout zu entfernen. Außerdem müssen Sie bestimmte Zellen mit bestimmten Parametern ausfüllen.

Wir stellen diese Parameter für die Fläche ein und die angegebenen Werte fallen automatisch in die erforderlichen Zellen.

Dazu benötigen wir in den Eigenschaften der Zelle (wo der Parameterwert angezeigt wird)...

Wir geben im Feld „Füllung“ den Wert „Parameter“ an und schreiben im Feld „Parameter“ den Namen, unter dem wir aus dem Code auf diesen Parameter zugreifen:

Wenn Sie in der Füllung nicht „Parameter“, sondern „Vorlage“ angeben, können Sie in der Zelle selbst einen Text (Vorlage) angeben, indem Sie den Parameternamen in eckigen Klammern verwenden:

In diesem Fall wird der Parametername (und seine Position in der Vorlage) in eckigen Klammern angegeben.

Wie stelle ich den Entschlüsselungsparameter ein?

Der Name des Entschlüsselungsparameters wird in denselben Zelleneigenschaften festgelegt:

Später werden wir diesem Parameter (genannt „Nomenklatur-Dekodierung“) aus dem Code den erforderlichen Wert zuweisen (eine Verknüpfung zum Nomenklaturelement).

Wenn der Benutzer auf diese Zelle doppelklickt, wird der dem Entschlüsselungsparameter zugewiesene Wert geöffnet (in diesem Fall wird das Elementelementformular geöffnet).

Weitere Führung

Wir haben die notwendigen Grundlagen behandelt. Untersuchen Sie es nun sorgfältig.

Laden Sie auch diese Datenbank herunter. darin die Verarbeitung „ProcessingForTesting“.

Seine Layouts verfügen über tabellarische Optionen. Erkunden Sie sie so gründlich wie möglich und verlassen Sie sich dabei auf die Techniken, die wir oben besprochen haben.

Frage: Bitte sagen Sie mir, wie ich Folgendes tun soll.

Ich habe ein Abfrageergebnis in einem Tabellenkalkulationsdokument angezeigt und es gibt eine Abschrift für die Zelle.

Ich möchte, dass beim Doppelklick auf eine Zelle eine Prozedur ausgeführt wird, die beispielsweise einen Bericht über die Entschlüsselung der Zelle startet.

Antwort: Dekodierungen sind Standard und Nicht-Standard.

I) Standard:

kann sowohl direkt in einem Tabellenkalkulationsdokument als auch in einem TabularDocumentField-Objekt (d. h. einem Tabellenkalkulationsdokument, das nicht in einem separaten Fenster, sondern direkt in einem Formular platziert wird) verwendet werden.

Damit die Entschlüsselung funktioniert, müssen drei Bedingungen erfüllt sein:

1) Für die Zelle des Tabellenkalkulationsdokuments, aus der wir Transcript aufrufen möchten, muss die Transcript-Parameter-Eigenschaft festgelegt werden. Wir möchten beispielsweise auf die Zelle mit dem Namen der Gegenpartei doppelklicken, um das Formular des Verzeichniselements Gegenpartei zu öffnen, damit wir einige Daten klären können, die nicht im Bericht angezeigt werden. Legen Sie die Eigenschaft „Entschlüsselungsparameter“ auf einen Wert fest, beispielsweise „Entschlüsselung der Gegenpartei“.

2) Beim Ausgeben von Layoutbereichen in das resultierende Tabellendokument MÜSSEN Sie dem Entschlüsselungsparameter einen Wert zuweisen der richtige Typ, Zum Beispiel:

Code 1C v 8.x TabDoc = Neues TabularDocument;
Selection = Directories.Accounts.Select();



// .................................................
Area.Parameters.Account Decryption = Selection.Link;
TabDoc.Output(Bereich);
EndCycle;

3) Es muss sichergestellt sein, dass die Bearbeitung einer Zelle mit einem Transkript verboten ist, d.h. müssen angegeben werden

TabDoc.ViewOnly = True;

Andernfalls können Sie trotz des vielversprechenden Aussehens des Cursors, wenn Sie mit der Maus über eine Zelle fahren, so oft darauf klicken, wie Sie möchten, aber es passiert nichts.

II) Nicht standardmäßig:

Durch einen Doppelklick auf die Zelle mit dem Transkript können Sie Ihre Prozedur aufrufen. Um dies umzusetzen, müssen mehrere Bedingungen erfüllt sein:

1) Die Ausgabe eines Tabellenkalkulationsdokuments muss an das TabularDocumentField-Objekt erfolgen;

2) Der Wert der Zelleneigenschaft Decryption Parameter muss zugewiesen werden, zum Beispiel Account Decryption.

3) Der Entschlüsselungsparameter Counterparty Decryption wird der Werteliste oder häufiger der Struktur zugewiesen und beim Generieren des Tabellenkalkulationsdokuments mit den erforderlichen Werten ausgefüllt. Insbesondere können der Name des Standardkonfigurationsberichts und Parameter, die im Berichtsformular angegeben werden müssen, beispielsweise Datumszeitraum, Kontonummer usw., übermittelt werden. Und dann wird dieser Bericht als Prozedur aufgerufen.

4) Für das TabularDocumentField-Objekt muss die ViewOnly-Eigenschaft auf True gesetzt werden.

5) Der Benutzerprozedurcode wird in die Prozedur eingefügt

Code 1C v 8.x Tabellarisches Dokumentfeld 1Entschlüsselungsverarbeitung (Element, Entschlüsselung, Standardverarbeitung)
// die erste Zeile darin sollte so aussehen:
StandardProcessing = False;

Ich gebe ein kleines Beispiel, das ein untergeordnetes Verzeichnis für die „angeklickte“ Gegenpartei öffnet.

Code 1C v 8.x Prozedur ButtonGeneratePress(Button)
Gegenparteien = Verzeichnisse. Gegenparteien;
Selection = Accounts.Select();
Tab = FormElements.TabularDocumentField1;
Layout = GetLayout("Layout");
While Select.Next()-Schleife
Wenn Sample.ThisGroup = False, dann
Area = Layout.GetArea("String");
Area.Parameters.Account = Selection.Name;
.................................................................................................
Dekodierungsstruktur = neue Struktur;
Entschlüsselung Structure.Insert("Account", Selection.Link);
Entschlüsselungsstruktur.Insert(".......",.........);
.........................................................................
Area.Parameters.Account Decryption = Entschlüsselungsstruktur;
Form Elements.TabularDocumentField1.Output(Area);
Ansonsten
Weitermachen;
endIf;
EndCycle;
Form Elements.TabularDocumentField1.ViewOnly = True;
Ende des Verfahrens

Prozedur TabularDocumentField1DecryptionProcessing(Element,Decryption,StandardProcessing)
StandardProcessing = False;
Vereinbarungen = Directories.Agreements.GetListForm();
Agreements.ParameterSelectionByOwner = Explanation.Counterparty;
Vereinbarungen.Open();
Ende des Verfahrens

gastroguru 2017