Funktionen der Ausdruckssprache des Datenkompositionssystems. Das Gruppieren von Feldern nach Ordnern in Skd 1s kann nicht zum Gruppieren verwendet werden

Im Hinblick auf die bevorstehende Veröffentlichung von 8.2.14 werde ich versuchen, einige der neuen Funktionen des Datenkompositionssystems zu beschreiben.

Öffnen Sie das Datenzusammensetzungsschema, vorzugsweise in einem externen Bericht, um die Bearbeitung zu erleichtern.

Wir fügen einen Abfragedatensatz hinzu und schreiben entweder manuell oder mit dem Abfrage-Builder die einfachste Abfrage:

1. Richten Sie eine Anfrage im ACS ein.

2. Richten Sie berechnete Felder in ACS ein

3. Wir konfigurieren das Datenlayout auf der Registerkarte „Einstellungen“.

4. Wir starten 1C Enterprise 8.2.14. Wir öffnen den Bericht. Wir formen, wir empfangen.

Beschreibung der neuen Funktionen selbst:

1. Das aktuelle Datum()

Gibt das Systemdatum zurück. Bei der Gestaltung des Layouts wird in allen im Layout vorhandenen Ausdrücken die Funktion CurrentDate() durch den Wert des aktuellen Datums ersetzt.

2. AUSDRUCK BERECHNEN()

Syntax:

Ausdruck berechnen(,)

Beschreibung:

Die Funktion dient dazu, einen Ausdruck im Kontext einer Gruppierung auszuwerten.

Die Funktion berücksichtigt die Auswahl von Gruppierungen, berücksichtigt jedoch keine hierarchischen Auswahlen.

Die Funktion kann nicht auf eine Gruppierung in der Gruppenauswahl dieser Gruppierung angewendet werden. Beispielsweise können Sie bei der Auswahl der Nomenklaturgruppierung den Ausdruck nicht verwenden Berechnen Sie den Ausdruck („Sum(SumTurnover)“, „TotalTotal“) > 1000. Ein solcher Ausdruck kann jedoch bei der hierarchischen Auswahl verwendet werden.

Liegt der Enddatensatz vor dem Startdatensatz, wird davon ausgegangen, dass für die Berechnung detaillierter Daten und die Berechnung von Aggregatfunktionen keine Datensätze vorhanden sind.

Bei der Berechnung von Intervallausdrücken für eine Gesamtsumme (der Grouping-Parameter ist auf GrandTotal festgelegt) wird davon ausgegangen, dass keine Datensätze zur Berechnung detaillierter Daten und zur Berechnung von Aggregatfunktionen vorhanden sind.

Layout-Builder beim Generieren eines Funktionsausdrucks Ausdruck berechnen, wenn der Sortierausdruck Felder enthält, die nicht in der Gruppierung verwendet werden können, ersetzt die Funktion Ausdruck berechnen An NULL.

Optionen

Typ: Linie. Der auszuwertende Ausdruck.

Typ: Linie. Enthält den Namen der Gruppierung, in deren Kontext der Ausdruck ausgewertet werden soll. Wenn als Gruppierungsname eine leere Zeichenfolge verwendet wird, wird die Berechnung im Kontext der aktuellen Gruppierung durchgeführt. Wenn als Gruppierungsname die Zeichenfolge GrandTotal verwendet wird, erfolgt die Berechnung im Kontext der Gesamtsumme. Andernfalls wird die Berechnung im Kontext der übergeordneten Gruppierung mit diesem Namen durchgeführt.

Zum Beispiel:

Sum(Sales.SumTurnover)/Calculate("Sum(Sales.SumTurnover)", "TotalTotal")

In diesem Beispiel ist das Ergebnis das Verhältnis des Betrags pro Feld Sales.AmountTurnover Gruppieren von Einträgen zur Summe desselben Felds im gesamten Layout;

Typ: Linie. Der Parameter kann folgende Werte annehmen:

· Gesamtsumme– Der Ausdruck wird für alle Gruppierungsdatensätze ausgewertet.

· Hierarchie– Der Ausdruck wird für den übergeordneten hierarchischen Eintrag ausgewertet, sofern vorhanden, und für die gesamte Gruppierung, sofern kein übergeordneter hierarchischer Eintrag vorhanden ist.

· Gruppierung— Der Ausdruck wird für den aktuellen Gruppendatensatz der Gruppierung ausgewertet.

· GroupingNotResource— Bei der Berechnung einer Funktion für einen Gruppendatensatz nach Ressourcen wird der Ausdruck für den ersten Gruppendatensatz der anfänglichen Gruppierung berechnet.

Bei der Berechnung der Funktion Ausdruck berechnen() mit Bedeutung GroupingNotResource Für Gruppendatensätze, bei denen es sich nicht um Gruppierungen nach Ressourcen handelt, wird die Funktion auf die gleiche Weise berechnet, wie sie berechnet würde, wenn der Parameterwert gleich dem Wert wäre Gruppierung.

Der Layout-Builder für das Datenzusammensetzungslayout platziert beim Generieren eines Daund beim Anzeigen des Ressourcenfelds, nach dem die Gruppierung durchgeführt wird, einen Ausdruck im Layout, der mithilfe der Funktion berechnet wird Ausdruck berechnen() , Angabe des Parameters GroupingNotResource. Für andere nach Ressource gruppierte Ressourcen werden reguläre Ressourcenausdrücke platziert.

Typ: Linie. Gibt an, welcher Datensatz das Fragment starten soll, in dem die Aggregatfunktionen des Ausdrucks berechnet werden sollen, und aus welchem ​​Datensatz die Werte der Felder außerhalb der Aggregatfunktionen abgerufen werden sollen. Der Wert kann einer der folgenden sein:

· Zuerst (zuerst)

· Letzter (letzter)

· Vorherige (Vorherige)

· Weiter (Weiter)

· Aktuell (aktuell)

· Begrenzungswert(Grenzwert) Begrenzungswert

Typ: Linie. Gibt an, in welchem ​​Datensatz das Fragment fortgesetzt werden soll, in dem die Aggregatfunktionen des Ausdrucks berechnet werden sollen. Der Wert kann einer der folgenden sein:

· Zuerst (zuerst). Sie müssen den ersten Gruppierungsdatensatz abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset vom Beginn der Gruppierung verwendet wird. Der resultierende Wert muss eine ganze Zahl größer als Null sein. Beispiel: First(3) – Abrufen des dritten Datensatzes vom Beginn der Gruppierung.

Liegt der erste Eintrag außerhalb der Gruppierung, wird davon ausgegangen, dass keine Einträge vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und Sie First(4) erhalten möchten, wird davon ausgegangen, dass keine Datensätze vorhanden sind.

· Letzter (letzter). Sie benötigen den neuesten Gruppierungseintrag. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset vom Ende der Gruppierung verwendet wird. Der resultierende Wert muss eine ganze Zahl größer als Null sein. Beispiel: Last(3) – Ruft den dritten Datensatz vom Ende der Gruppierung ab.

Liegt der letzte Eintrag außerhalb der Gruppierung, wird davon ausgegangen, dass keine Einträge vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und Sie Last(4) abrufen möchten, wird davon ausgegangen, dass keine Datensätze vorhanden sind.

· Vorherige (Vorherige). Sie müssen den vorherigen Gruppierungseintrag abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Rückverschiebung vom aktuellen Gruppierungsdatensatz verwendet wird. Beispiel: Previous(2) – Vorheriges aus dem vorherigen Datensatz abrufen.

Wenn der vorherige Datensatz außerhalb der Gruppierung liegt (z. B. erfordert der zweite Gruppierungsdatensatz Previous(3) ), wird der erste Gruppierungsdatensatz abgerufen.

Wenn der vorherige Datensatz für die Gruppierungssumme abgerufen wird, wird davon ausgegangen, dass der erste Datensatz abgerufen wird.

· Weiter (Weiter). Sie müssen den nächsten Gruppierungseintrag abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Vorwärtsverschiebung vom aktuellen Gruppierungsdatensatz verwendet wird. Beispiel: Next(2) – Holen Sie sich das Nächste aus dem nächsten Datensatz.

Wenn der nächste Datensatz über die Gruppierung hinausgeht, wird davon ausgegangen, dass keine Datensätze vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und der dritte Datensatz Next() erhält, wird davon ausgegangen, dass keine Datensätze vorhanden sind.

Wenn der nächste Datensatz für die Gruppierungssumme empfangen wird, wird davon ausgegangen, dass kein Datensatz vorhanden ist.

· Aktuell (aktuell). Sie müssen den aktuellen Eintrag erhalten.

Beim Abruf einer Gruppierungssumme wird der erste Datensatz abgerufen.

· Begrenzungswert(Grenzwert). Die Notwendigkeit, den Datensatz mit dem angegebenen Wert abzurufen. Nach dem Wort Begrenzungswert In Klammern müssen Sie den Ausdruck angeben, mit dessen Wert Sie das Fragment beginnen möchten, das erste Bestellfeld.

Der Datensatz ist der erste Datensatz, dessen Bestellfeldwert größer oder gleich dem angegebenen Wert ist. Wenn Sie beispielsweise das Feld „Periode“ als Bestellfeld verwenden und es die Werte 01/01/2010, 02/01/2010, 03/01/2010 hat und Sie erhalten möchten LimitValue(DateTime(2010, 1, 15)), dann wird ein Datensatz mit dem Datum 01.02.2010 empfangen.

Typ: Linie. Durch Kommas getrennte Ausdrücke, die die Sortierregeln beschreiben, werden aufgelistet. Wenn nicht angegeben, erfolgt die Sortierung auf die gleiche Weise wie für die Gruppierung, für die der Ausdruck ausgewertet wird. Jedem Ausdruck kann ein Schlüsselwort folgen Aufstieg(für aufsteigende Reihenfolge), Absteigend(für absteigende Reihenfolge) und Automatische Anordnung(zum Ordnen von Referenzfeldern nach den Feldern, nach denen Sie das referenzierte Objekt ordnen möchten). Wort Automatische Anordnung kann wie mit dem Wort verwendet werden Aufstieg, und mit dem Wort Absteigend.

Typ: Linie. Identisch mit Parameter Sortierung. Wird zum Anordnen hierarchischer Datensätze verwendet. Wenn nicht angegeben, generiert der Layout-Builder eine Reihenfolge gemäß der im Parameter angegebenen Reihenfolge Sortierung.

Typ: Linie. Gibt eine Regel an, um den vorherigen oder nächsten Datensatz zu bestimmen, wenn mehrere Datensätze mit demselben Sortierwert vorhanden sind:

· Separat gibt an, dass eine Folge geordneter Datensätze verwendet wird, um die vorherigen und nächsten Datensätze zu bestimmen. Standardwert.

· Zusammen zusammen) gibt an, dass der vorherige und der nächste Datensatz basierend auf den Werten der Sortierausdrücke bestimmt werden.

Wenn die resultierende Sequenz beispielsweise nach Datum sortiert ist:

Datum Vollständiger Name Bedeutung
1 1. Januar 2001

Ivanov M.

10
2 2. Januar 2001 Petrov S. 20
3 3. Januar 2001 Sidorov R. 30
4 4. Januar 2001 Petrov S. 40

Separat, Das:

§ Der vorherige Eintrag zu Eintrag 3 wird Eintrag 2 sein.

aktuell, aktuell(bzw. die Parameter Start Und Ende), dann besteht dieses Fragment für Datensatz 2 aus einem Datensatz 2. Der Ausdruck ist gleich 20.

Wenn der Parameterwert ist Zusammen, Das:

§ Der vorherige Eintrag zu Eintrag 3 wird Eintrag 1 sein.

§ wenn das berechnete Fragment definiert ist als aktuell, aktuell(bzw. die Parameter Start Und Ende), dann besteht dieses Fragment für Datensatz 2 aus den Datensätzen 2 und 3. Der Ausdruck CalculateExpression("Sum(Value)", Current, Current) wird gleich 50 sein.

Bei Angabe eines Parameterwerts gleich Zusammen, in Parametern Start Und Ende Sie können keinen Offset für Positionen angeben Erstes, Letztes, Vorheriges, Nächstes.

CalculateExpression("Amount(AmountTurnover)", "First", "Current")

Wenn Sie den Gruppierungswert in der vorherigen Zeile erhalten möchten, können Sie den folgenden Ausdruck verwenden:

CalculateExpression("Kurs", "Vorheriger")

Aufführen neu Merkmale:

ComputeExpressionGroupedArray(,) -

Die Funktion gibt ein Array zurück, in dem jedes Element das Ergebnis der Auswertung des Ausdrucks zur Gruppierung nach dem angegebenen Feld enthält.

ComputeExpressionGroupedValueTable(,) -

Die Funktion gibt eine Wertetabelle zurück, in der jede Zeile das Ergebnis der Auswertung von Ausdrücken zur Gruppierung nach dem angegebenen Feld enthält

ValueFilled() – Gibt True zurück, wenn der Wert vom Wert abweicht dieser Art Standard, anders als NULL , anders als Nullverweis, anders als Undefiniert . Boolesche Werte werden gegen NULL getestet. Zeichenfolgen werden auf Nicht-Leerzeichen überprüft.

Format(, ) – Ruft die formatierte Zeichenfolge des übergebenen Werts ab. Der Formatstring wird entsprechend dem Formatstring des 1C:Enterprise-Systems eingestellt.

Teilzeichenfolge(, , ) – Diese Funktion dient dazu, einen Teilstring aus einem String auszuwählen.

String-Länge() – Die Funktion soll die Länge einer Zeichenfolge bestimmen. Parameter ist ein Ausdruck vom Typ Zeichenfolge

Linie() – Wenn ein Array als Parameter übergeben wird, gibt die Funktion eine Zeichenfolge zurück, die Zeichenfolgendarstellungen aller Elemente des Arrays enthält, getrennt durch die Zeichen „;“. Wenn eine Wertetabelle als Parameter übergeben wird, gibt die Funktion eine Zeichenfolge zurück, die Zeichenfolgendarstellungen aller Zeilen der Wertetabelle enthält, und die Zelldarstellungen jeder Zeile werden durch die Zeichen „;“ und die Zeilen getrennt werden durch das Newline-Zeichen getrennt. Wenn ein Element eine leere Zeichenfolgendarstellung hat, wird anstelle seiner Darstellung eine Zeichenfolge angezeigt.

Im Hinblick auf die bevorstehende Veröffentlichung von 8.2.14 werde ich versuchen, einige der neuen Funktionen des Datenkompositionssystems zu beschreiben.

Öffnen Sie das Datenzusammensetzungsschema, vorzugsweise in einem externen Bericht, um die Bearbeitung zu erleichtern.

Wir fügen einen Abfragedatensatz hinzu und schreiben entweder manuell oder mit dem Abfrage-Builder die einfachste Abfrage:

1. Richten Sie eine Anfrage im ACS ein.

2. Richten Sie berechnete Felder in ACS ein

3. Wir konfigurieren das Datenlayout auf der Registerkarte „Einstellungen“.

4. Wir starten 1C Enterprise 8.2.14. Wir öffnen den Bericht. Wir formen, wir empfangen.

Beschreibung der neuen Funktionen selbst:

1. Das aktuelle Datum()

Gibt das Systemdatum zurück. Bei der Gestaltung des Layouts wird in allen im Layout vorhandenen Ausdrücken die Funktion CurrentDate() durch den Wert des aktuellen Datums ersetzt.

2. AUSDRUCK BERECHNEN()

Syntax:

Ausdruck berechnen(,)

Beschreibung:

Die Funktion dient dazu, einen Ausdruck im Kontext einer Gruppierung auszuwerten.

Die Funktion berücksichtigt die Auswahl von Gruppierungen, berücksichtigt jedoch keine hierarchischen Auswahlen.

Die Funktion kann nicht auf eine Gruppierung in der Gruppenauswahl dieser Gruppierung angewendet werden. Beispielsweise können Sie bei der Auswahl der Nomenklaturgruppierung den Ausdruck nicht verwenden Berechnen Sie den Ausdruck („Sum(SumTurnover)“, „TotalTotal“) > 1000. Ein solcher Ausdruck kann jedoch bei der hierarchischen Auswahl verwendet werden.

Liegt der Enddatensatz vor dem Startdatensatz, wird davon ausgegangen, dass für die Berechnung detaillierter Daten und die Berechnung von Aggregatfunktionen keine Datensätze vorhanden sind.

Bei der Berechnung von Intervallausdrücken für eine Gesamtsumme (der Grouping-Parameter ist auf GrandTotal festgelegt) wird davon ausgegangen, dass keine Datensätze zur Berechnung detaillierter Daten und zur Berechnung von Aggregatfunktionen vorhanden sind.

Layout-Builder beim Generieren eines Funktionsausdrucks Ausdruck berechnen, wenn der Sortierausdruck Felder enthält, die nicht in der Gruppierung verwendet werden können, ersetzt die Funktion Ausdruck berechnen An NULL.

Optionen

Typ: Linie. Der auszuwertende Ausdruck.

Typ: Linie. Enthält den Namen der Gruppierung, in deren Kontext der Ausdruck ausgewertet werden soll. Wenn als Gruppierungsname eine leere Zeichenfolge verwendet wird, wird die Berechnung im Kontext der aktuellen Gruppierung durchgeführt. Wenn als Gruppierungsname die Zeichenfolge GrandTotal verwendet wird, erfolgt die Berechnung im Kontext der Gesamtsumme. Andernfalls wird die Berechnung im Kontext der übergeordneten Gruppierung mit diesem Namen durchgeführt.

Zum Beispiel:

Sum(Sales.SumTurnover)/Calculate("Sum(Sales.SumTurnover)", "TotalTotal")

In diesem Beispiel ist das Ergebnis das Verhältnis des Betrags pro Feld Sales.AmountTurnover Gruppieren von Einträgen zur Summe desselben Felds im gesamten Layout;

Typ: Linie. Der Parameter kann folgende Werte annehmen:

· Gesamtsumme– Der Ausdruck wird für alle Gruppierungsdatensätze ausgewertet.

· Hierarchie– Der Ausdruck wird für den übergeordneten hierarchischen Eintrag ausgewertet, sofern vorhanden, und für die gesamte Gruppierung, sofern kein übergeordneter hierarchischer Eintrag vorhanden ist.

· Gruppierung— Der Ausdruck wird für den aktuellen Gruppendatensatz der Gruppierung ausgewertet.

· GroupingNotResource— Bei der Berechnung einer Funktion für einen Gruppendatensatz nach Ressourcen wird der Ausdruck für den ersten Gruppendatensatz der anfänglichen Gruppierung berechnet.

Bei der Berechnung der Funktion Ausdruck berechnen() mit Bedeutung GroupingNotResource Für Gruppendatensätze, bei denen es sich nicht um Gruppierungen nach Ressourcen handelt, wird die Funktion auf die gleiche Weise berechnet, wie sie berechnet würde, wenn der Parameterwert gleich dem Wert wäre Gruppierung.

Der Layout-Builder für das Datenzusammensetzungslayout platziert beim Generieren eines Daund beim Anzeigen des Ressourcenfelds, nach dem die Gruppierung durchgeführt wird, einen Ausdruck im Layout, der mithilfe der Funktion berechnet wird Ausdruck berechnen() , Angabe des Parameters GroupingNotResource. Für andere nach Ressource gruppierte Ressourcen werden reguläre Ressourcenausdrücke platziert.

Typ: Linie. Gibt an, welcher Datensatz das Fragment starten soll, in dem die Aggregatfunktionen des Ausdrucks berechnet werden sollen, und aus welchem ​​Datensatz die Werte der Felder außerhalb der Aggregatfunktionen abgerufen werden sollen. Der Wert kann einer der folgenden sein:

· Zuerst (zuerst)

· Letzter (letzter)

· Vorherige (Vorherige)

· Weiter (Weiter)

· Aktuell (aktuell)

· Begrenzungswert(Grenzwert) Begrenzungswert

Typ: Linie. Gibt an, in welchem ​​Datensatz das Fragment fortgesetzt werden soll, in dem die Aggregatfunktionen des Ausdrucks berechnet werden sollen. Der Wert kann einer der folgenden sein:

· Zuerst (zuerst). Sie müssen den ersten Gruppierungsdatensatz abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset vom Beginn der Gruppierung verwendet wird. Der resultierende Wert muss eine ganze Zahl größer als Null sein. Beispiel: First(3) – Abrufen des dritten Datensatzes vom Beginn der Gruppierung.

Liegt der erste Eintrag außerhalb der Gruppierung, wird davon ausgegangen, dass keine Einträge vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und Sie First(4) erhalten möchten, wird davon ausgegangen, dass keine Datensätze vorhanden sind.

· Letzter (letzter). Sie benötigen den neuesten Gruppierungseintrag. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset vom Ende der Gruppierung verwendet wird. Der resultierende Wert muss eine ganze Zahl größer als Null sein. Beispiel: Last(3) – Ruft den dritten Datensatz vom Ende der Gruppierung ab.

Liegt der letzte Eintrag außerhalb der Gruppierung, wird davon ausgegangen, dass keine Einträge vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und Sie Last(4) abrufen möchten, wird davon ausgegangen, dass keine Datensätze vorhanden sind.

· Vorherige (Vorherige). Sie müssen den vorherigen Gruppierungseintrag abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Rückverschiebung vom aktuellen Gruppierungsdatensatz verwendet wird. Beispiel: Previous(2) – Vorheriges aus dem vorherigen Datensatz abrufen.

Wenn der vorherige Datensatz außerhalb der Gruppierung liegt (z. B. erfordert der zweite Gruppierungsdatensatz Previous(3) ), wird der erste Gruppierungsdatensatz abgerufen.

Wenn der vorherige Datensatz für die Gruppierungssumme abgerufen wird, wird davon ausgegangen, dass der erste Datensatz abgerufen wird.

· Weiter (Weiter). Sie müssen den nächsten Gruppierungseintrag abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Vorwärtsverschiebung vom aktuellen Gruppierungsdatensatz verwendet wird. Beispiel: Next(2) – Holen Sie sich das Nächste aus dem nächsten Datensatz.

Wenn der nächste Datensatz über die Gruppierung hinausgeht, wird davon ausgegangen, dass keine Datensätze vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und der dritte Datensatz Next() erhält, wird davon ausgegangen, dass keine Datensätze vorhanden sind.

Wenn der nächste Datensatz für die Gruppierungssumme empfangen wird, wird davon ausgegangen, dass kein Datensatz vorhanden ist.

· Aktuell (aktuell). Sie müssen den aktuellen Eintrag erhalten.

Beim Abruf einer Gruppierungssumme wird der erste Datensatz abgerufen.

· Begrenzungswert(Grenzwert). Die Notwendigkeit, den Datensatz mit dem angegebenen Wert abzurufen. Nach dem Wort Begrenzungswert In Klammern müssen Sie den Ausdruck angeben, mit dessen Wert Sie das Fragment beginnen möchten, das erste Bestellfeld.

Der Datensatz ist der erste Datensatz, dessen Bestellfeldwert größer oder gleich dem angegebenen Wert ist. Wenn Sie beispielsweise das Feld „Periode“ als Bestellfeld verwenden und es die Werte 01/01/2010, 02/01/2010, 03/01/2010 hat und Sie erhalten möchten LimitValue(DateTime(2010, 1, 15)), dann wird ein Datensatz mit dem Datum 01.02.2010 empfangen.

Typ: Linie. Durch Kommas getrennte Ausdrücke, die die Sortierregeln beschreiben, werden aufgelistet. Wenn nicht angegeben, erfolgt die Sortierung auf die gleiche Weise wie für die Gruppierung, für die der Ausdruck ausgewertet wird. Jedem Ausdruck kann ein Schlüsselwort folgen Aufstieg(für aufsteigende Reihenfolge), Absteigend(für absteigende Reihenfolge) und Automatische Anordnung(zum Ordnen von Referenzfeldern nach den Feldern, nach denen Sie das referenzierte Objekt ordnen möchten). Wort Automatische Anordnung kann wie mit dem Wort verwendet werden Aufstieg, und mit dem Wort Absteigend.

Typ: Linie. Identisch mit Parameter Sortierung. Wird zum Anordnen hierarchischer Datensätze verwendet. Wenn nicht angegeben, generiert der Layout-Builder eine Reihenfolge gemäß der im Parameter angegebenen Reihenfolge Sortierung.

Typ: Linie. Gibt eine Regel an, um den vorherigen oder nächsten Datensatz zu bestimmen, wenn mehrere Datensätze mit demselben Sortierwert vorhanden sind:

· Separat gibt an, dass eine Folge geordneter Datensätze verwendet wird, um die vorherigen und nächsten Datensätze zu bestimmen. Standardwert.

· Zusammen zusammen) gibt an, dass der vorherige und der nächste Datensatz basierend auf den Werten der Sortierausdrücke bestimmt werden.

Wenn die resultierende Sequenz beispielsweise nach Datum sortiert ist:

Datum Vollständiger Name Bedeutung
1 1. Januar 2001

Ivanov M.

10
2 2. Januar 2001 Petrov S. 20
3 3. Januar 2001 Sidorov R. 30
4 4. Januar 2001 Petrov S. 40

Separat, Das:

§ Der vorherige Eintrag zu Eintrag 3 wird Eintrag 2 sein.

aktuell, aktuell(bzw. die Parameter Start Und Ende), dann besteht dieses Fragment für Datensatz 2 aus einem Datensatz 2. Der Ausdruck ist gleich 20.

Wenn der Parameterwert ist Zusammen, Das:

§ Der vorherige Eintrag zu Eintrag 3 wird Eintrag 1 sein.

§ wenn das berechnete Fragment definiert ist als aktuell, aktuell(bzw. die Parameter Start Und Ende), dann besteht dieses Fragment für Datensatz 2 aus den Datensätzen 2 und 3. Der Ausdruck CalculateExpression("Sum(Value)", Current, Current) wird gleich 50 sein.

Bei Angabe eines Parameterwerts gleich Zusammen, in Parametern Start Und Ende Sie können keinen Offset für Positionen angeben Erstes, Letztes, Vorheriges, Nächstes.

CalculateExpression("Amount(AmountTurnover)", "First", "Current")

Wenn Sie den Gruppierungswert in der vorherigen Zeile erhalten möchten, können Sie den folgenden Ausdruck verwenden:

CalculateExpression("Kurs", "Vorheriger")

Aufführen neu Merkmale:

ComputeExpressionGroupedArray(,) -

Die Funktion gibt ein Array zurück, in dem jedes Element das Ergebnis der Auswertung des Ausdrucks zur Gruppierung nach dem angegebenen Feld enthält.

ComputeExpressionGroupedValueTable(,) -

Die Funktion gibt eine Wertetabelle zurück, in der jede Zeile das Ergebnis der Auswertung von Ausdrücken zur Gruppierung nach dem angegebenen Feld enthält

ValueFilled() – Gibt „True“ zurück, wenn der Wert ein anderer als der Standardwert dieses Typs ist, anders als NULL , anders als ein Nullverweis, anders als Undefiniert . Boolesche Werte werden gegen NULL getestet. Zeichenfolgen werden auf Zeichen überprüft, die keine Leerzeichen sind.

Format(, ) – Ruft die formatierte Zeichenfolge des übergebenen Werts ab. Der Formatstring wird entsprechend dem Formatstring des 1C:Enterprise-Systems eingestellt.

Teilzeichenfolge(, , ) – Diese Funktion dient dazu, einen Teilstring aus einem String auszuwählen.

String-Länge() – Die Funktion soll die Länge einer Zeichenfolge bestimmen. Parameter ist ein Ausdruck vom Typ Zeichenfolge

Linie() – Wenn ein Array als Parameter übergeben wird, gibt die Funktion eine Zeichenfolge zurück, die Zeichenfolgendarstellungen aller Elemente des Arrays enthält, getrennt durch die Zeichen „;“. Wenn eine Wertetabelle als Parameter übergeben wird, gibt die Funktion eine Zeichenfolge zurück, die Zeichenfolgendarstellungen aller Zeilen der Wertetabelle enthält, und die Zelldarstellungen jeder Zeile werden durch die Zeichen „;“ und die Zeilen getrennt werden durch das Newline-Zeichen getrennt. Wenn ein Element eine leere Zeichenfolgendarstellung hat, wird anstelle seiner Darstellung eine Zeichenfolge angezeigt.

1. Berechnen (Auswerten)- Entwickelt, um einen Ausdruck im Kontext einer Gruppierung auszuwerten. Die Funktion dient der Kompatibilität mit früheren Versionen der Plattform. Stattdessen wird empfohlen, die Funktion „Ausdruck auswerten“ zu verwenden.

Syntax :
Berechnen(Ausdruck, Gruppierung, Berechnungstyp)

Optionen :

  • Ausdruck(Linie). Enthält einen berechneten Ausdruck;
  • Gruppierung(Linie). Enthält den Namen der Gruppierung, in deren Kontext der Ausdruck ausgewertet werden soll. Wenn als Gruppierungsname eine leere Zeichenfolge verwendet wird, wird die Berechnung im Kontext der aktuellen Gruppierung durchgeführt. Wenn als Gruppierungsname die Zeichenfolge GrandTotal verwendet wird, erfolgt die Berechnung im Kontext der Gesamtsumme. Andernfalls wird die Berechnung im Kontext der übergeordneten Gruppierung mit diesem Namen durchgeführt.
    Zum Beispiel:
    Amount(Sales.AmountTurnover) / Calculate("Amount(Sales.AmountTurnover)", "TotalTotal").
    In diesem Beispiel ist das Ergebnis das Verhältnis des Betrags im Feld „Sales.AmountTurnover“ des Gruppierungsdatensatzes zum Betrag desselben Felds im gesamten Layout.
  • Berechnungstyp(Linie). Wenn dieser Parameter auf „GeneralTotal“ gesetzt ist, wird der Ausdruck für alle Gruppierungsdatensätze berechnet. Wenn der Wert des Parameters „Gruppe“ ist, werden die Werte für den aktuellen Gruppendatensatz der Gruppe berechnet.
2. Ausdruck auswerten (EvalExpression) - Entwickelt, um einen Ausdruck im Kontext einer Gruppierung auszuwerten. Die Funktion berücksichtigt die Auswahl von Gruppierungen, berücksichtigt jedoch keine hierarchischen Auswahlen. Die Funktion kann nicht auf eine Gruppierung in der Gruppenauswahl dieser Gruppierung angewendet werden.

Syntax :
CalculateExpression(Expression, Grouping, CalculationType, Start, End, Sort, HierarchicalSort, HandleSameOrderValues)

Optionen :

  • Ausdruck(Linie). Enthält einen berechneten Ausdruck;
  • Gruppierung(Linie). Enthält den Namen der Gruppierung, in deren Kontext der Ausdruck ausgewertet werden soll. Wenn als Gruppierungsname eine leere Zeichenfolge verwendet wird, wird die Berechnung im Kontext der aktuellen Gruppierung durchgeführt. Wenn als Gruppierungsname die Zeichenfolge GrandTotal verwendet wird, erfolgt die Berechnung im Kontext der Gesamtsumme. Andernfalls wird die Berechnung im Kontext der übergeordneten Gruppierung mit diesem Namen durchgeführt;
  • Berechnungstyp(Linie). Wenn dieser Parameter auf „GeneralTotal“ gesetzt ist, wird der Ausdruck für alle Gruppierungsdatensätze berechnet. Wenn der Wert des Parameters „Gruppe“ ist, werden die Werte für den aktuellen Gruppendatensatz der Gruppe berechnet. Wenn der Parameter den Wert „GroupingNotResource“ hat, wird bei der Berechnung der Funktion für einen Gruppendatensatz nach Ressourcen der Ausdruck für den ersten Gruppendatensatz der ursprünglichen Gruppierung berechnet. Bei der Auswertung der CalculateExpression-Funktion mit dem Wert „GroupNotResource“ für Gruppendatensätze, die keine Gruppierungen nach Ressourcen sind, wird die Funktion auf die gleiche Weise ausgewertet, wie sie mit dem Wert des Parameters „Group“ berechnet würde. Der Layout-Builder für das Datenzusammensetzungslayout gibt beim Generieren eines Daund beim Anzeigen eines Felds, einer Ressource, nach der die Gruppierung durchgeführt wird, einen Ausdruck an das Layout aus, der mithilfe der Funktion „Ausdruck berechnen“ mit dem angegebenen Parameter „GroupingNotResource“ berechnet wird . Für den Rest der nach Ressource gruppierten Ressourcen werden reguläre Ressourcenausdrücke zurückgegeben. Wenn der Parameter auf „Hierarchie“ gesetzt ist, muss der Ausdruck für den übergeordneten hierarchischen Eintrag ausgewertet werden, sofern einer vorhanden ist, und für die gesamte Gruppierung, sofern kein übergeordneter hierarchischer Eintrag vorhanden ist. Wenn der Layout-Builder einen Ausdruck für das Feld „% in einer Hierarchiegruppe“ generiert, generiert er einen Ausdruck, der die Beziehung des Ressourcenausdrucks zur Funktion CalculateExpression für den Ressourcenausdruck enthält, der für die aktuelle Gruppierung mit der Berechnung „Hierarchie“ ausgewertet wird Typ.
  • Start. Gibt an, welcher Datensatz das Fragment starten soll, in dem die Aggregatfunktionen des Ausdrucks berechnet werden sollen, und aus welchem ​​Datensatz die Werte der Felder außerhalb der Aggregatfunktionen abgerufen werden sollen. Eine Zeichenfolge, die Folgendes enthält:
    • "Erste". Sie müssen den ersten Gruppierungsdatensatz abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset vom Beginn der Gruppierung verwendet wird. Der resultierende Wert muss eine ganze Zahl größer als Null sein. Beispiel: First(3) – Abrufen des dritten Datensatzes vom Beginn der Gruppierung. Liegt der erste Eintrag außerhalb der Gruppierung, wird davon ausgegangen, dass keine Einträge vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und Sie den ersten (4) erhalten möchten, wird davon ausgegangen, dass keine Datensätze vorhanden sind.
    • "Zuletzt". Sie benötigen den neuesten Gruppierungseintrag. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset vom Ende der Gruppierung verwendet wird. Der resultierende Wert muss eine ganze Zahl größer als Null sein. Beispiel: Last(3) – Ruft den dritten Datensatz vom Ende der Gruppierung ab. Liegt der letzte Eintrag außerhalb der Gruppierung, wird davon ausgegangen, dass keine Einträge vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und Sie Last(4) abrufen möchten, wird davon ausgegangen, dass keine Datensätze vorhanden sind.
    • "Vorherige". Sie müssen den vorherigen Gruppierungseintrag abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Rückverschiebung vom aktuellen Gruppierungsdatensatz verwendet wird. Beispiel: Previous(2) – Vorheriges aus dem vorherigen Datensatz abrufen. Wenn der vorherige Datensatz außerhalb der Gruppierung liegt (der zweite Gruppierungsdatensatz muss beispielsweise „Previous(3)“ erhalten), wird der erste Gruppierungsdatensatz abgerufen. Wenn der vorherige Datensatz für die Gruppierungssumme abgerufen wird, wird davon ausgegangen, dass der erste Datensatz abgerufen wird.
    • "Nächste". Sie müssen den nächsten Gruppierungseintrag abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Vorwärtsverschiebung vom aktuellen Gruppierungsdatensatz verwendet wird. Beispiel: Next(2) – Holen Sie sich das Nächste aus dem nächsten Datensatz. Wenn der nächste Datensatz über die Gruppierung hinausgeht, wird davon ausgegangen, dass keine Datensätze vorhanden sind. Wenn beispielsweise drei Datensätze vorhanden sind und der dritte Datensatz den Status „Weiter“ erhält, wird davon ausgegangen, dass keine Datensätze vorhanden sind. Wenn der nächste Datensatz für die Gruppierungssumme empfangen wird, wird davon ausgegangen, dass kein Datensatz vorhanden ist.
    • "Aktuell". Sie müssen den aktuellen Eintrag erhalten. Beim Abruf einer Gruppierungssumme wird der erste Datensatz abgerufen.
    • "Grenzwert". Die Notwendigkeit, den Datensatz mit dem angegebenen Wert abzurufen. Nach dem Wort RestrictingValue in Klammern müssen Sie den Ausdruck angeben, mit dessen Wert Sie das Fragment beginnen möchten, das erste Ordnungsfeld. Der Datensatz ist der erste Datensatz, dessen Bestellfeldwert größer oder gleich dem angegebenen Wert ist. Wenn beispielsweise das Feld „Periode“ als Bestellfeld verwendet wird und es die Werte 01.01.2010, 01.02.2010, 01.03.2010 hat und Sie den LimitValue(DateTime(2010) erhalten möchten , 1, 15)), dann wird ein Datensatz mit dem Datum 01.02.2010 empfangen.
  • Ende. Gibt an, in welchem ​​Datensatz das Fragment fortgesetzt werden soll, in dem der Aggregatausdruck ausgewertet werden soll. Eine Zeichenfolge, die Folgendes enthält:
    • "Erste".
    • "Zuletzt".
    • "Vorherige".
    • "Nächste".
    • "Aktuell".
    • "Grenzwert".
  • Sortierung. Eine Zeichenfolge, die die durch Kommas getrennten Ausdrücke auflistet, in welcher Richtung die Reihenfolge angeordnet werden soll. Wenn nicht angegeben, erfolgt die Sortierung auf die gleiche Weise wie für die Gruppierung, für die der Ausdruck ausgewertet wird. Nach jedem Ausdruck können Sie das Schlüsselwort Asc angeben, um in aufsteigender Reihenfolge zu sortieren, Descending, um in absteigender Reihenfolge zu sortieren, Autosort, um die referenzierten Felder nach den Feldern zu sortieren, nach denen Sie das referenzierte Objekt sortieren möchten. Das AutoOrder-Wort kann sowohl mit aufsteigenden als auch mit absteigenden Wörtern verwendet werden.
  • HierarchischeSortierung. Ähnlich wie beim Sortieren. Wird zum Anordnen hierarchischer Datensätze verwendet. Wenn nicht angegeben, generiert der Layout-Builder eine Reihenfolge entsprechend der im Parameter „Sort“ angegebenen Reihenfolge.
  • Umgang mit der Reihenfolge gleicher Werte. Eine Zeichenfolge, die Folgendes enthält:
    • „Zusammen“ – gibt an, dass eine Folge geordneter Datensätze verwendet wird, um die vorherigen und nächsten Datensätze zu bestimmen;
    • „Getrennt“ – bedeutet, dass der vorherige und der nächste Datensatz anhand der Werte der Ordnungsausdrücke bestimmt werden;
    Wenn die resultierende Sequenz beispielsweise nach Datum sortiert ist:
    1. 01. Januar 2001 Ivanov M. 10
    2. 02. Januar 2001 Petrov S. 20
    3. 2. Januar 2001 Sidorov R. 30
    4. 03. Januar 2001 Petrov S. 40
    Bei Verwendung der Verarbeitung die gleichen Werte Wenn Sie „Getrennt“ anordnen, wird der vorherige Datensatz 3 zu Datensatz 2 und bei Verwendung von „Gemeinsam“ zu Datensatz 1. Und das Fragment für den aktuellen Datensatz zu Datensatz 2 wird für „Getrennt“ Datensatz 2 und für „Zusammen“ Datensatz 2 sein. Datensätze 2 und 3. Somit beträgt die Summe für den aktuellen Datensatz für „Separately“ 20 und für „Together“ - 50. Wenn „Together“ in den Start- und End-Parametern angegeben ist, können Sie keinen Offset für die Positionen angeben „Erster“, „Letzter“, „Vorheriger“, „nächster“. Der Standardwert ist „Getrennt“.
Beispiel :
Ermitteln des Verhältnisses des Betrags im Feld „Sales.AmountTurnover“ eines Gruppierungsdatensatzes zum Betrag desselben Felds im gesamten Layout:
Amount(Sales.AmountTurnover) / CalculateExpression("Amount(Sales.AmountTurnover)", "TotalTotal").

In diesem Beispiel wird der Wert der aktuellen Hierarchie berechnet:
Auswahl
Wenn Level() > 0
Dann EvaluateExpression("Reference", "Hierarchy")
Sonst Null
Ende

Anmerkungen :
Die Funktion berücksichtigt die Auswahl von Gruppierungen, berücksichtigt jedoch keine hierarchischen Auswahlen. Die Funktion kann nicht auf eine Gruppierung in der Gruppenauswahl dieser Gruppierung angewendet werden. Beispielsweise können Sie bei der Auswahl der Nomenklatur-Gruppierung den Ausdruck Calculate Expression ("Sum(SumTurnover)", "TotalTotal") > 1000 nicht verwenden. Ein solcher Ausdruck kann jedoch bei der hierarchischen Auswahl verwendet werden. Wenn der Enddatensatz vor dem Startdatensatz liegt, wird davon ausgegangen, dass keine Datensätze für die Berechnung detaillierter Daten und die Berechnung von Aggregatfunktionen vorhanden sind. Bei der Berechnung von Intervallausdrücken für eine Gesamtsumme (der Gruppierungsparameter ist auf „GrandTotal“ eingestellt) wird davon ausgegangen, dass keine Datensätze zur Berechnung detaillierter Daten und zur Berechnung von Aggregatfunktionen vorhanden sind. Wenn der Sortierausdruck Felder enthält, die nicht in der Gruppierung verwendet werden können, ersetzt der Layout-Builder beim Generieren des Ausdrucks der Funktion „Ausdruck berechnen“ die Funktion „Ausdruck berechnen“ durch NULL.

3. EvalExpressionWithGroupArray - Die Funktion gibt ein Array zurück, dessen jedes Element das Ergebnis der Berechnung des Ausdrucks für die Gruppierung nach dem angegebenen Feld enthält.

Syntax :
ComputeExpressionGroupedArray(Expression, GroupingFieldExpressions, SelectRecords, SelectGroups)

Optionen :

  • Ausdruck(String) – Der auszuwertende Ausdruck. Beispiel: „Amount(AmountTurnover)“;
  • FeldausdrückeGruppierungen
  • Datensatzauswahl
  • Gruppierungsauswahl- Auswahl wird auf Gruppendatensätze angewendet. Zum Beispiel: „Betrag(AmountTurnover) > &Parameter1“.
Beispiel :
Maximum(Calculate ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty"));


Wenn der Layout-Builder Ausdrücke für die Anzeige eines benutzerdefinierten Felds generiert, in dessen Ausdruck nur die Funktion CalculateArrayWithGroup vorhanden ist, generiert er einen Ausgabeausdruck so, dass die Daten zur Anzeige von Ansichten und Daten geordnet sind.
Beispiel für ein benutzerdefiniertes Feld mit einem Ausdruck:
Berechnen Sie ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty")
Der Layout-Builder generiert den folgenden Ausdruck für die Ausgabe:
ConcatenateStrings(Array(Order(CalculateExpressionWithGroupingValueTable("View(Amount(DataSet.AmountTurnover))", Amount(DataSet.AmountTurnover)", "DataSet.Counterparty"), "2")))

4. EvalExpressionWithGroupValueTable - Die Funktion gibt eine Wertetabelle zurück, deren jedes Element das Ergebnis der Berechnung des Ausdrucks für die Gruppierung nach dem angegebenen Feld enthält.

Syntax :
Ausdruck mit GroupingValueTable berechnen (Ausdruck, Feldausdrücke gruppieren, Datensätze auswählen, Gruppierungen auswählen)

Optionen :

  • Ausdruck(String) – Der auszuwertende Ausdruck. Eine Zeile kann mehrere durch Kommas getrennte Ausdrücke enthalten. Auf jeden Ausdruck können das optionale Schlüsselwort AS und der Spaltenname der Wertetabelle folgen. Zum Beispiel: „Auftragnehmer, Betrag(AmountTurnover) als Umsatzvolumen“.
  • FeldausdrückeGruppierungen- Durch Kommas getrennte Gruppierung von Feldausdrücken. Beispiel: „Auftragnehmer, Partei“;
  • Datensatzauswahl ist ein Ausdruck, der auf detaillierte Datensätze angewendet wird. Beispiel: „DeletionMark = False“. Wenn in diesem Parameter eine Aggregatfunktion verwendet wird, tritt bei der Datenzusammensetzung ein Fehler auf;
  • Gruppierungsauswahl- Auswahl wird auf Gruppendatensätze angewendet. Zum Beispiel: „Betrag(AmountTurnover) > &Parameter1“.
Beispiel :
Ausdruck mit GroupingValue-Tabelle berechnen („Counterparty AS Counterparty, Amount(AmountTurnover) As Sales Volume“, „Counterparty“)

Das Ergebnis dieser Funktion ist eine Wertetabelle mit den Spalten Kontrahent und Verkaufsvolumen, die Kontrahenten mit ihren Verkaufsvolumina enthält.
Der Layout-Builder wandelt beim Generieren eines Layouts Funktionsparameter in Begriffe von Datenlayout-Layoutfeldern um. Beispielsweise wird das Feld „Konto“ in „Datensatz. Konto“ umgewandelt.
Zum Beispiel ein benutzerdefiniertes Feld mit einem Ausdruck:
Ausdruck mit GroupingValue-Tabelle berechnen („Counterparty, Amount(AmountTurnover)“, „Counterparty“)
Der Layout-Builder generiert den folgenden Ausdruck für die Ausgabe:
ConnectStrings(GetPart(Order(CalculateExpressionWithGroupingValueTable("DataSet.Account, DataSet.AccountView, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), DataSet.Ordering Field", "DataSet.Account"), "5, 1, 3 " ), "2, 4"))

5. Ebene (Ebene) - Die Funktion dient dazu, den aktuellen Aufnahmepegel zu ermitteln.

Syntax :
Eben()

Beispiel :
Eben()

6. Nummer in der Reihenfolge (SequenceNumber) - Holen Sie sich die nächste Seriennummer.

Syntax :
Bestellnummer()

Beispiel :
Bestellnummer()

7. SequenceNumberInGrouping – gibt die nächste Sequenznummer in der aktuellen Gruppierung zurück.

Beispiel :
NumberInOrderInGroup()

8. Formatieren - Holen Sie sich die formatierte Zeichenfolge des übergebenen Werts.

Syntax :
Format(Wert, FormatString)

Optionen :

  • Bedeutung- der zu formatierende Ausdruck;
  • FormatString- Die Formatzeichenfolge wird gemäß der 1C:Enterprise-Formatzeichenfolge festgelegt.
Beispiel :
Format(Ausgabenrechnungen.AmountDoc, „NPV=2“)

9. Beginn der Periode (BeginOfPeriod)

Syntax :
StartPeriod(Datum,PeriodType)

Optionen :

  • Datum(Datum von). Gegebenes Datum;
  • Periodentyp
Beispiel :
PeriodStart(DateTime(2002, 10, 12, 10, 15, 34), "Monat")
Ergebnis: 01.10.2002 0:00:00

10. EndPeriod (EndOfPeriod) - Die Funktion dient dazu, ein bestimmtes Datum aus einem bestimmten Datum zu extrahieren.

Syntax :
EndPeriod(Datum,PeriodType)

Optionen :

  • Datum(Datum von). Gegebenes Datum;
  • Periodentyp(Linie). Enthält einen der folgenden Werte: Minute; Stunde; Der Tag; Die Woche; Monat; Quartal; Jahr; Jahrzehnt; Ein halbes Jahr.
Beispiel :
EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), „Woche“)
Ergebnis: 13.10.2002 23:59:59

11. AddKdate (DateAdd) - Die Funktion soll dem Datum einen bestimmten Wert hinzufügen.

Syntax :
AddToDate(Ausdruck, Inkrementtyp, Wert)

Optionen :

  • Ausdruck(Datum von). ursprüngliches Datum;
  • Vergrößerungstyp(Linie). Enthält einen der folgenden Werte: Minute; Stunde; Der Tag; Die Woche; Monat; Quartal; Jahr; Jahrzehnt; Ein halbes Jahr.
  • Wert(Nummer). Um wie viel Sie das Datum erhöhen müssen, wird der Bruchteil ignoriert.
Beispiel :
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Monat", 1)
Ergebnis: 12.11.2002 10:15:34 Uhr

12. Datumsunterschied - Die Funktion dient dazu, die Differenz zwischen zwei Datumsangaben zu ermitteln.

Syntax :
Differenzdatum(Ausdruck1, Ausdruck2, Differenztyp)

Optionen :

  • Ausdruck1(Datum von). Subtrahiertes Datum;
  • Ausdruck2(Datum von). ursprüngliches Datum;
  • Typunterschied(Linie). Enthält einen der folgenden Werte: Second; Minute; Stunde; Der Tag; Monat; Quartal; Jahr.
Beispiel :
DATUMSUNTERSCHIED(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06), „DAY“)
Ergebnis: 2

13. Teilzeichenfolge – Diese Funktion dient dazu, einen Teilstring aus einem String auszuwählen.

Syntax :
Teilzeichenfolge (Zeichenfolge, Position, Länge)

Optionen :

  • Linie(Linie). Die Zeichenfolge, aus der die Teilzeichenfolge extrahiert wird;
  • Position(Nummer). Die Position des Zeichens, an der die aus der Zeichenfolge zu extrahierende Teilzeichenfolge beginnt;
  • Länge(Nummer). Die Länge der ausgewählten Teilzeichenfolge.
Beispiel :
SUBSTRING(Accounts.Address, 1, 4)

14. StringLength - Die Funktion soll die Länge der Zeichenfolge bestimmen.

Syntax :
StringLength(String)

Parameter:

  • Linie(Linie). Die Zeichenfolge, deren Länge bestimmt wird.
Beispiel :
String(Accounts.Address)

15 Jahre– Diese Funktion dient dazu, das Jahr aus einem Wert vom Typ „Datum“ zu extrahieren.

Syntax :
Jahr (Datum)

Parameter:

  • Datum(Datum von). Das Datum, nach dem das Jahr bestimmt wird.
Beispiel :
JAHR (Ink.Datum)

16. Viertel (Viertel) – Diese Funktion soll die Zahl des Quartals aus dem Wert des Datumstyps extrahieren. Die Blocknummer liegt normalerweise zwischen 1 und 4.

Syntax :
Quartal (Datum)

Parameter:

  • Datum(Datum von). Das Datum, bis zu dem das Quartal bestimmt wird
Beispiel :
QUARTER(Rechnungsdatum)

17. Monat – Diese Funktion dient dazu, die Zahl des Monats aus dem Wert des Datumstyps zu extrahieren. Die Monatszahl liegt normalerweise im Bereich von 1 bis 12.

Syntax :
Monatsdatum)

Parameter:

  • Datum(Datum von). Das Datum, nach dem der Monat bestimmt wird.
Beispiel :
MONAT(Rechnungsdatum)

18. DayOfYear – Diese Funktion dient dazu, den Tag des Jahres aus einem Wert vom Typ „Datum“ abzurufen. Der Tag des Jahres liegt normalerweise zwischen 1 und 365 (366).

Syntax :
DayYear(Datum)

Parameter:

  • Datum(Datum von). Das Datum, anhand dessen der Tag im Jahr bestimmt wird.
Beispiel :
TAG DES JAHRES (Exp.Inc.Date)

19. Tag (Tag)– Diese Funktion dient dazu, den Tag des Monats aus einem Wert vom Typ „Datum“ abzurufen. Der Tag des Monats liegt normalerweise zwischen 1 und 31.

Syntax :
Tag (Datum)

Parameter:

  • Datum(Datum von). Das Datum, anhand dessen die Tage des Monats bestimmt werden.
Beispiel :
TAG (Verfallsdatum)

20. Woche – Diese Funktion soll die Nummer der Woche des Jahres aus einem Wert vom Typ „Datum“ ermitteln. Die Wochen des Jahres werden beginnend mit 1 nummeriert.

Syntax :
Woche (Datum)

Parameter:

  • Datum(Datum von). Das Datum, nach dem die Wochennummern bestimmt werden.
Beispiel :
WOCHE (Verfallsdatum)

21. Tag der Woche (WeekDay) – Diese Funktion dient dazu, den Wochentag aus einem Wert vom Typ „Datum“ abzurufen. Der Wochentag reicht normalerweise von 1 (Montag) bis 7 (Sonntag).

Syntax :
Wochentag (Datum)

Parameter:

  • Datum(Datum von). Das Datum, nach dem der Wochentag bestimmt wird.
Beispiel :
TAG DER WOCHE (Verfallsdatum)

22. Stunde– Diese Funktion dient dazu, die Stunde des Tages aus einem Wert vom Typ „Datum“ abzurufen. Die Tageszeit reicht von 0 bis 23.

Syntax :
Stunde (Datum)

Parameter:

  • Datum(Datum von). Das Datum, anhand dessen die Stunde des Tages bestimmt wird.
Beispiel :
STUNDE (Verfallsdatum)

23. Minute – Diese Funktion soll die Minute der Stunde aus dem Wert des Datumstyps ermitteln. Die Minute der Stunde reicht von 0 bis 59.

Syntax :
Minute (Datum)

Parameter:

  • Datum(Datum von). Das Datum, anhand dessen die Minute der Stunde bestimmt wird.
Beispiel :
MINUTE (Verfallsdatum)

24. Zweitens – Diese Funktion dient dazu, die Sekunde einer Minute aus einem Wert vom Typ „Datum“ abzurufen. Die Sekunde einer Minute reicht von 0 bis 59.

Syntax :
Sekunde (Datum)

Parameter:

  • Datum(Datum von). Das Datum, anhand dessen die Sekunden der Minute bestimmt werden.
Beispiel :
SEC(Exp.Inc.Date)

25. Express (Besetzung) – Diese Funktion dient dazu, einen Typ aus einem Ausdruck auszuwählen, der einen zusammengesetzten Typ enthalten kann. Wenn der Ausdruck einen anderen Typ als den erforderlichen Typ enthält, wird NULL zurückgegeben.

Syntax :
Express(Ausdruck, Typangabe)

Optionen :

  • Ausdruck- der umzuwandelnde Ausdruck;
  • Typangabe(Linie). Enthält eine Typzeichenfolge. Zum Beispiel „Number“, „String“ usw. Zusätzlich zu primitiven Typen kann diese Zeichenfolge den Namen einer Tabelle enthalten. In diesem Fall wird versucht, einen Verweis auf die angegebene Tabelle auszudrücken.
Beispiel :
Express(Data.Attribute1, "Number(10,3)")

26. IsNull (IsNull) – Diese Funktion gibt den Wert des zweiten Parameters zurück, wenn der Wert des ersten Parameters NULL ist. Andernfalls wird der Wert des ersten Parameters zurückgegeben.

Syntax :
IsNull(Ausdruck1, Ausdruck2)

Optionen :

  • Ausdruck1- geprüfter Wert;
  • Ausdruck2– der Rückgabewert, wenn der Wert von Ausdruck1 NULL ist.
Beispiel :
IsNULL(Amount(Sales.AmountTurnover), 0)

27.ACos- Berechnet den Arkuskosinus im Bogenmaß.

Syntax :
ACos(Ausdruck)

Parameter:

  • Ausdruck(Nummer). Der Kosinuswert (im Bereich -1 ... 1), der den Winkel bestimmt.
28.ASin- Berechnet den Arkussinus im Bogenmaß.

Syntax :
ASin(Ausdruck)

Parameter:

  • Ausdruck(Nummer). Der Sinuswert (im Bereich -1 ... 1), der den Winkel bestimmt.
29. ATan- Berechnet den Arcustangens im Bogenmaß.

Syntax :
ATan(Ausdruck)

Parameter:

  • Ausdruck(Nummer). Der Wert der Tangente, durch den der Winkel bestimmt wird.
30. Cos- berechnet den Kosinus.

Syntax :
Cos(Ausdruck)

Parameter:

  • Ausdruck
31.Exp- Potenzierung der Zahl e.

Syntax :
Exp(Ausdruck)

Parameter:

  • Ausdruck(Nummer). Gradwert.
32. Protokoll- berechnet den natürlichen Logarithmus.

Syntax :
Protokoll (Ausdruck)

Parameter:

  • Ausdruck
33.Log10- Berechnet den Logarithmus von X zur Basis 10.

Syntax :
Log10 (Ausdruck)

Parameter:

  • Ausdruck(Nummer). Die ursprüngliche Zahl ist größer als 0.
34. Pow- Potenzierung.

Syntax :
Pow(Basis, Exponent)

Optionen :

  • Base(Nummer). Die Basis der Potenzierungsoperation.
  • Index(Nummer). Exponent.
35. Sünde- berechnet den Sinus.

Syntax :
Sünde (Ausdruck)

Parameter:

  • Ausdruck(Nummer). Angabe im Bogenmaß.
36. Quadrat- berechnet die Quadratwurzel.

Syntax :
Sqrt(Ausdruck)

Parameter:

  • Ausdruck(Nummer). Nicht negative Zahl.
37. Bräune- berechnet den Tangens.

Syntax :
Tan (Ausdruck)

Parameter:

  • Ausdruck(Nummer). Der Wert des Sinus, durch den der Winkel bestimmt wird.
38. Okr (rund)- Rundet die ursprüngliche Zahl auf die gewünschte Bittiefe. Der Rundungsmodus ist Standard (1,5 ist wie 2).

Syntax :
Env(Ausdruck, Bittiefe)

Optionen :

  • Ausdruck(Nummer). Anfangsnummer;
  • Bittiefe(Nummer). Die Anzahl der Dezimalstellen, auf die gerundet werden soll.
39. Int- schneidet den Bruchteil der Zahl ab.

Syntax :
Int(Ausdruck)

Parameter:

  • Ausdruck(Nummer). Eine Bruchzahl.
40. Funktionen gemeinsamer Module

Der Ausdruck der Datenkompositions-Engine kann Funktionsaufrufe für globale allgemeine Konfigurationsmodule enthalten. Für den Aufruf solcher Funktionen ist keine zusätzliche Syntax erforderlich.

Beispiel :
Kurzname (Documents.Link, Documents.Date, Documents.Number)

In diesem Beispiel wird die Funktion „ShortName“ aus dem allgemeinen Konfigurationsmodul aufgerufen.
Beachten Sie, dass die Verwendung gemeinsam genutzter Modulfunktionen nur zulässig ist, wenn die entsprechende Option für den Datenzusammensetzungsprozessor angegeben ist.
Außerdem können allgemeine Modulfunktionen nicht in benutzerdefinierten Feldausdrücken verwendet werden.

41. Darstellung – Diese Funktion gibt eine Zeichenfolgendarstellung des übergebenen Werts eines nicht-primitiven Typs zurück. Gibt bei primitiven Typwerten den Wert selbst zurück.

<Пустое значение>".

Beispiel :
Ansicht(Konto)

42. Zeichenfolge - Diese Funktion wandelt den übergebenen Wert in einen String um.

Wird als Parameter ein Array oder eine Wertetabelle verwendet, dann gibt die Funktion einen String zurück, der die String-Darstellung aller Elemente des Arrays, getrennt durch die Zeichen „;“ enthält. Wenn ein Element eine leere Zeichenfolgendarstellung hat, dann ist die Zeichenfolge „<Пустое значение>".

Beispiel :
String(SaleDate)

43. ValueFilled (ValueIsFilled)

Für NULL-Werte gibt Undefiniert immer False zurück.
Für Werte gibt Boolean immer True zurück.
Bei anderen Typen wird „True“ zurückgegeben, wenn der Wert vom Standardwert für den angegebenen Typ abweicht.

Beispiel :
ValueFilled(DeliveryDate)

44. LevelInGroup (LevelInGroup) – Diese Funktion ruft die aktuelle Datensatzebene relativ zur Gruppierung ab.

Kann verwendet werden, um die Verschachtelungsebene eines Eintrags in einer hierarchischen Gruppierung abzurufen.

Beispiel :
LevelInGroup()

45. Werttyp

Syntax :
ValueType(Ausdruck)

Parameter:

  • Ausdruck(Linie). Der Zeichenfolgenwert des Typs.
Gibt einen Wert vom Typ Type zurück, der den Werttyp des Funktionsparameters enthält.

In dieser kurzen Anmerkung möchte ich zeigen, wie Sie mithilfe eines Datenkompositionssystems Werte auf verschiedenen Gruppierungsebenen in einem Bericht zusammenfassen können.
Wie im Bild gezeigt, wird nur auf der Gruppierungsebene „Artikelgruppen“ die Ressource „Bestellung“ berechnet. Sie zeigt an, wie viel für die aktuelle Artikelgruppe basierend auf bestimmten Bedingungen bestellt werden muss:


Dieser Wert kann nur berechnet werden gegebenes Niveau Gruppierung, weil darüber oder darunter keine zu berechnenden Werte vorhanden sind. Auf der Ebene der Detailaufzeichnungen liegen beispielsweise keine Angaben zur maximalen Anzahl in einer Gruppe vor, da diese Angaben nur für die Gruppe als Ganzes und nicht für ihre einzelnen Bestandteile gelten.

Dementsprechend gilt es nun, die Summen für die höheren Gruppierungen („Lager“, „Lagertypen“) und die Gesamtsumme zu berechnen.
Hierzu wird die Funktion verwendet Ausdruck mit gruppiertem Array berechnen:
ARRAY-GRUPPENAUSDRUCK AUSWERTEN (EVALEXPRESSIONWITHGROUPARRAY)
Syntax:
ComputeExpressionGroupedArray(,)
Beschreibung:
Die Funktion gibt ein Array zurück, in dem jedes Element das Ergebnis der Auswertung des Ausdrucks zur Gruppierung nach dem angegebenen Feld enthält.
Der Layout-Builder wandelt beim Generieren eines Layouts Funktionsparameter in Begriffe von Datenlayout-Layoutfeldern um. Beispielsweise wird das Feld „Konto“ in „Datensatz. Konto“ umgewandelt.
Wenn der Layout-Builder Ausdrücke für die Anzeige eines benutzerdefinierten Felds generiert, dessen Ausdruck nur die Funktion CalculateArrayWithGroupArray() enthält, generiert er den Ausgabeausdruck so, dass die Ausgabeinformationen geordnet sind. Beispiel für ein benutzerdefiniertes Feld mit einem Ausdruck:

Berechnen Sie ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty")
Der Layout-Builder generiert den folgenden Ausdruck für die Ausgabe:

ConcatenateStrings(Array(Order(CalculateGroup ExpressionValueTable("View(Amount(DataSet.AmountTurnover)),Amount(DataSet.AmountTurnover)","DataSet.Counterparty"),"2")))

Optionen:

Typ: Zeichenfolge. Der auszuwertende Ausdruck. Eine Zeichenfolge, zum Beispiel Amount(AmountTurnover).

Typ: Zeichenfolge. Feldausdrücke gruppieren – durch Kommas getrennte Gruppierungsfeldausdrücke. Zum Beispiel „Auftragnehmer“, „Partei“.

Typ: Zeichenfolge. Ein Ausdruck, der den auf detaillierte Datensätze angewendeten Filter beschreibt. Aggregatfunktionen werden in einem Ausdruck nicht unterstützt. Beispiel:DeletionMark = False.

Typ: Zeichenfolge. Ein Ausdruck, der den auf Gruppendatensätze angewendeten Filter beschreibt. Beispiel: Betrag(AmountTurnover) > &Parameter1.
Beispiel:

Maximum(Calculate ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty"));

Eine detaillierte Beschreibung der Funktionssyntax finden Sie unter http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Für die Berechnung duplizieren wir nun das Feld „Bestellung“ mit unterschiedliche Bedeutungen„Berechnen Sie nach…“ unter Verwendung der folgenden Ausdrücke. Beachten Sie, dass in jeder höheren Ebene die Werte der Ebenen der niedriger stehenden Gruppierungen verwendet werden.

Als Ergebnis erhalten wir die folgende Konstruktion:

Bei einem Datensatz wird „Objekt“ verwendet, um externe Daten an das ACS zu übertragen, beispielsweise eine Wertetabelle oder ein Abfrageergebnis. Für diesen Datensatz sind Beschreibungen der Felder sowie der Name des Objekts verfügbar, das an das ACS übertragen wird:

Beschreibung der Datensatzfelder
Nachdem wir festgestellt haben, welche Art von Datensatz wir verwenden, sollten wir eine Beschreibung der Felder für die im Bericht angezeigten Daten erstellen:

In der Tabelle „Felder“ werden folgende Eigenschaften ausgefüllt:
1. „Feld“ – der Name des Feldes, bei einer Anfrage wird es automatisch ausgefüllt, bei einem Datensatz wird das „Objekt“ manuell ermittelt.

2. „Pfad“ – gibt den Pfad zu den Daten aus dem Satz an. Der in diesem Feld angegebene Name erscheint in allen weiteren Einstellungen des ACS.

3. „Titel“ – eine Zeile mit dem Titel des Feldes, das im Bericht oder in den Einstellungen angezeigt wird

4. „Einschränkung der Feldverfügbarkeit“ – eine Reihe von Kontrollkästchen – Einstellungen, dient dazu, anzugeben, dass dieses Feld in den Einstellungen nicht verwendet werden kann. Es ist möglich, solche Einschränkungen festzulegen
A. „Feld“ – das Feld kann nicht in ACS-Auswahlen verwendet werden
B. „Bedingung“ – das Feld kann nicht als Bedingung verwendet werden
C. „Gruppe“ – ein Verbot der Nutzung des Feldes in Gruppierungen
D. „Ordnung“ – Verbot der Verwendung des Feldes beim Sortieren

5. „Verfügbarkeit der Feldvoraussetzungen einschränken“ – eine Reihe von Kontrollkästchen unten weist auf Einschränkungen für die Details des Feldes hin. Die Bedeutung dieser Einschränkungen ist dieselbe wie für das Feld

6. „Rolle“ – bezeichnet zusätzliche Eigenschaften des Feldes und seine Beziehung zu anderen Feldern. Zum Bearbeiten von Rollen öffnet sich ein spezieller Dialog:

A. „Keine Rolle“ – dem Feld werden keine besonderen „Lasten“ auferlegt, der Standardmodus für die meisten Felder
B. „Periode“ – enthält die Nummer der Periode, wenn das Feld einen Periodentyp hat. Der kleinste Zeitraum muss vom Typ 1 sein. In einer Abfrage berechnen wir beispielsweise Summen für verschiedene Zeiträume: PeriodSecond = 1, PeriodDay=2, PeriodWeek=3 usw. Diese Zahl gibt an, wie die Summen für die Saldenfelder im ACS berechnet werden.
C. „Optional“ gibt an, dass das Periodenfeld optional ist.
D. „Konto“ – gibt an, dass es sich bei dem Feld um ein Konto handelt, das zur Berechnung der Buchhaltungssummen verwendet wird.
e. „Typ“ – ein Zeichenfolgenausdruck, der zur Berechnung des Kontotyps verwendet wird. Das Ergebnis des Ausdrucks muss der Wert der AccountType-Enumeration (Aktiv, Passiv, Aktiv/Passiv) oder eine Zahl sein. Der Wert der Zahl 0 entspricht einem aktiven Konto, 1 - passiv, 2 - aktiv-passiv. Der Ausdruck ist in der Ausdruckssprache des Datenkompositionssystems geschrieben. Diese Information wird bei der Berechnung der Felder der Buchhaltungssalden verwendet;
F. „Remains“ – ein Zeichen dafür, dass das Feld ein Restfeld ist;
G. „Name“ ist eine Zeichenfolge, die im Rest den Namen der Feldgruppe enthält. Zum Beispiel: „Betrag“, „Menge“;
H. „Typ“ – der Typ des Saldos (InitialRemain, EndRemain, No (das Feld ist kein Saldo));
ich. „Buch. Typ“ – Art des Buchhaltungssaldos (Soll, Haben, Nein (das Feld ist kein Buchhaltungssaldo));
J. „Kontofeld“ – der Name des Kontofelds, für das Salden berechnet werden;
k. NULL-Werte ignorieren – wenn diese Option festgelegt ist, sollten Gruppendatensätze für dieses Feld nicht in das Ergebnis einbezogen werden, wenn das Feld einen NULL-Wert enthält.
l. „Erforderlich“ – beim Ausführen einer Abfrage ist das Feld mit dem angegebenen Flag immer vorhanden, auch wenn es in der Auswahl nicht ausgewählt wurde.

7. „Ausdruck anzeigen“ – enthält einen Ausdruck, der beim Anzeigen von Feldwerten in einem Bericht verwendet wird.

Beispielsweise müssen Sie das Datum in ein spezielles Format konvertieren. Geben Sie dazu den folgenden Ausdruck an: „Format (PeriodHalf-Year,“DF = „“Half-Year from““dd.MM.yyyy“““ )“ oder wandeln Sie den Link zum Dokument in eine beliebige Form um: „Datum: „+Link.Datum+“Nummer: „+Link.Nummer“.

8. „Bestellausdruck“ – So bestellen Sie dieses Feld. Beim Bearbeiten öffnet sich ein Dialog:


Im Dialog können Sie festlegen, wie dieses Feld sortiert werden soll. „Ausdruck“ – wie dieses Feld geordnet ist, „Bestelltyp“ – „aufsteigend“ oder „absteigend“, „Automatische Sortierung erforderlich“ – automatische Bestimmung der Felder, nach denen das Ergebnis der Datenzusammensetzung geordnet werden muss.

9. „Überprüfung der Hierarchie“ – wird verwendet, wenn es erforderlich ist, nicht standardmäßige Auswahlen zu treffen.
A. „Datensatz“ – ein Datensatz zur Überprüfung der Hierarchie;
B. „Parameter“ – ein Parameter, in den der Wert eingesetzt wird, für den Sie die untergeordneten Elemente erhalten möchten;

10. „Werttyp“ – Angabe des Werttyps des Datensatzfeldes, nützlich für die Angabe von Feldern des zusammengesetzten Typs

11. „Design“ – Parameter für die Gestaltung des Datensatzfeldes. Beim Bearbeiten öffnet sich ein Dialog:


Sie können die folgenden Optionen festlegen:
Hintergrundfarbe – Legt die Hintergrundfarbe in den Zellen fest
Textfarbe – Gibt die Farbe des Texts in Zellen an
Diagrammfarbe – Gibt die Farbe der Linien im Diagramm an
Randfarbe – Farbe der Randlinien
Rahmenstil – Grenzlinientypen
Rahmenstil Links – Links
Oberer Randstil - Oben
Rahmenstil Rechts – Rechts
Unterer Randstil – Unten
Schriftart – Schriftart, Stärke, Neigung usw.
Einzug – Anzahl der Einzugszeichen
Automatischer Einzug – Anzahl der Einzugszeichen, die in Gruppierungen verwendet werden
Horizontale Position – Die horizontale Position des Textes in der Zelle
Vertikale Position – Die vertikale Position des Texts in der Zelle
Platzierung – Platzierung von Text, der nicht in die Zelle passt
Textausrichtung – Ausrichtung des Textes in Grad (90-Grad-Drehung senkrecht)
Format – Wertzeichenfolge formatieren
Negativ hervorheben – Vorzeichen, um negative Werte hervorzuheben
Min. Breite – Mindestzellenbreite in Punkten
Min. Höhe – Die minimale Zellenhöhe
Maximale Höhe – Maximale Höhe
Text – Der Text, der anstelle des Werts angezeigt wird

Darüber hinaus werden diese Parameter zum Einrichten der bedingten Formatierung bei der Anzeige von Feldern in einem Bericht verwendet.
Zusätzlich zu den Feldelementen kann die Beschreibung Ordner enthalten, die dazu dienen, die Position der Felder in den verfügbaren Feldern zu organisieren.


Um ein Feld in einem Ordner zu platzieren, müssen Sie einen Ordner erstellen, zum Beispiel „Auswahl“, und dann für die im Ordner platzierten Felder den Pfad durch den Punkt angeben: „Auswahl.Organisation“, „Auswahl.Abteilungen“. ". Danach sehen wir in den verfügbaren Feldern während der Konfiguration einen Ordner mit den von uns angegebenen Elementen.