Abschnitte der Website
Die Wahl des Herausgebers:
- Debugging-Serverprozeduren (1Cv82) Typische Debugging-Szenarien
- Buchhaltungsinformationen Torrent externe Verarbeitung 1s 8
- Erhalten Sie Preise für das Dokumentdatum in einer Anfrage. Wir speichern den Bericht als Datei.
- 1c 8.3 auf einer Domäne installieren. Installation und Aktualisierung der Plattform auf einer großen Anzahl von Computern über ein gemeinsames Netzwerkverzeichnis. Konfigurationsdatei, die den Speicherort des freigegebenen Netzwerkverzeichnisses definiert
- Iterieren über Zeilen der Wertetabelle 1s 8
- So finden Sie die Sendungsnummer eines per Post versendeten Pakets heraus
- Wie man einen Streitfall bei Aliexpress richtig einreicht, eröffnet und schließt, was man beim Öffnen und Schließen eines Streitfalls schreiben muss: Schritt-für-Schritt-Anleitung
- Ich habe einen Streitfall bei AliExpress verloren. Was soll ich tun?
- Implantate (Sitzung 20) – Fallout Online: Requiem
- Cashback-Service LetyShops – Rezension, Rezensionen, Diskussion
Werbung
Ausdruckssprache des Datenkompositionssystems (1Cv8). Erhalten Sie Preise für das Dokumentdatum in einer Anfrage. Wir speichern den Bericht als Datei. |
Sehr oft besteht die Notwendigkeit, mit Variablen vom Typ „Datum“ zu arbeiten. In diesem Artikel werden wir uns mit den grundlegenden Techniken befassen – Übergabe des aktuellen Datums, Prüfung auf einen leeren Wert, ein beliebiges Datum. Beim Schreiben von Abfragen müssen Sie häufig Daten mit dem aktuellen Datum vergleichen. Die integrierte 1C-Sprache verfügt über die Funktion CurrentDate(). Damit können Sie die aktuelle Uhrzeit und das aktuelle Datum auf Ihrem Computer ermitteln. Um Operationen mit dem aktuellen Datum auszuführen, müssen Sie den Wert dieser Funktion als Parameter an die Anfrage übergeben. Nachfolgend finden Sie eine Abfrage, die alle an Spesenabrechnungen angehängten Dateien mit einem bisherigen Erstellungsdatum auswählt:
Benutzerdefiniertes DatumMit der oben besprochenen Funktion können Sie für jeden Zeitraum vergleichen und somit eine Auswahl treffen. Mit dieser Methode können Sie in der Anfrage eine strikte Auswahl festlegen, ohne zusätzliche Parameter zu verwenden. Bitte beachten Sie, dass wir bei Verwendung dieser Funktion im obigen Beispiel nur drei Zahlen (Jahr, Monat, Tag) als Eingabeparameter übergeben haben. Die letzten drei (Stunde, Minute, Sekunde) sind optional und werden, falls sie fehlen, durch „0“, also den Beginn des Tages, ersetzt. In diesem Beispiel werden alle an Spesenabrechnungen angehängten Dateien bis zum Ende des letzten Jahres 2016 abgerufen. In diesem Zusammenhang geben wir die Stunde, Minute und Sekunde an, um den Zeitpunkt „31. Dezember 2016 23:59:59“ zu vergleichen.
Leeres DatumDer einfachste Weg, eine Variable darauf zu überprüfen, ob sie ein leeres Datum enthält, ist ein einfacher Vergleich. In diesem Beispiel werden wir mithilfe einer Abfrage alle Geldeingänge auf dem Konto auswählen, für die das Eingangsdatum nicht ausgefüllt ist. SKD 1C steht für Data Composition System. SKD 1C ist eine neue Art, Berichte in 1C zu schreiben, die es dem Benutzer ermöglicht, den Bericht vollständig selbst anzupassen. Der Nachteil von SKD 1C besteht darin, dass seine Einstellungen recht komplex sind und nicht alle Benutzer schnell erlernen. Das Schreiben von ACS-Berichten erfordert die Fähigkeit, mit Abfragen in 1C zu arbeiten, was wir in besprochen haben. Was ist die Technologie zum Erstellen eines SKD 1C-Berichts:
Der Benutzer hat die Möglichkeit, viele Einstellungen nach Belieben zu ändern. Was ist die Technologie zum Erstellen eines Berichts über frühere Technologien:
Wie Sie sehen, bietet SKD 1C sowohl für den Benutzer als auch für den Programmierer einen erheblichen Vorteil:
In allen neuen 1C-Konfigurationen werden alle Berichte nur auf dem 1C SKD verwendet. Sehen wir uns an, wie Sie von Grund auf selbst einen Bericht über SKD 1C erstellen können. Erstellen eines SKD 1C-Berichts Klicken Sie im Konfigurator auf die Schaltfläche „Neue Datei“ (Menü „Datei/Neu“). Wählen Sie den Dateityp Neuer Bericht. Es wird ein neuer Bericht erstellt. Geben wir einen Namen ein – ohne Leerzeichen für die Konfiguration, ein Synonym für den Benutzer. Lassen Sie uns das Grundschema von SKD 1C erstellen. Erstellen Sie eine Anfrage für den SKD 1C-Bericht Für SKD 1C kann es viele Datenquellen geben. Um beispielsweise zwei separate Abfragen zu verwenden, fügen Sie zuerst „Datensatz – Union“ und dann mehrere Abfragen hinzu. In unserem Beispiel verwenden wir eine einfache Abfrage. Lassen Sie uns eine Anfrage zum Erhalt von Daten skizzieren. Die Arbeit mit dem Abfragekonstruktor unterscheidet sich nicht von der üblichen; wir haben dies in besprochen. Als Ergebnis der Generierung der Anfrage erstellt SKD 1C eine Liste der zur Verwendung verfügbaren Felder und füllt diese mit Standardnamen. Wenn Ihnen der Name nicht passt, können Sie ihn hier ändern. Bitte beachten Sie, dass wir in der Anfrage den Parameter &StartDate verwendet haben. In SKD 1C gibt es einen Standardparameter (Datum) namens &Period, den Sie verwenden können. Darüber hinaus müssen Sie es nicht direkt in der Anfrage angeben – es wird automatisch verwendet. Es gibt jedoch eine Feinheit: Dies gilt für alle Tabellen, einschließlich Linksverknüpfungen usw., was zu Fehlern führen kann. Beispielsweise erhalten Sie Salden zu Beginn des Monats und mit der linken Verknüpfung erhalten Sie Daten für heute. Wenn Sie „Periode“ verwenden, wird diese auf alle Tabellen gleichermaßen angewendet und die Abfrage funktioniert nicht korrekt. SKD 1C-Einstellungen Auf der Registerkarte „Ressourcen“ geben wir die Felder an, die für die Summen (d. h. Zahlen) summiert werden. Sie können eine Summationsfunktion für Felder angeben. Standardmäßig ist es „Summe“ (d. h. die Zahlen aus allen Zeilen werden addiert und die Gesamtsumme ermittelt), aber Sie können auch „Durchschnitt“, „Menge“, „Maximum“ usw. verwenden. Auf der Registerkarte „Einstellungen“ deaktivieren wir diejenigen, die wir nicht benötigen, und aktivieren diejenigen, die wir benötigen. Hier können Sie auch einen menschlichen Namen für den Parameter festlegen. Auf der Registerkarte Einstellungen werden grundlegende Einstellungen vorgenommen: Öffnen wir es im Enterprise-Modus. Bitte beachten Sie, dass wir keine Programmierung, kein Zeichnen von Formen usw. durchgeführt haben. Um den Parameter festzulegen, klicken Sie auf die Schaltfläche „Einstellungen“. Der Benutzer sieht nahezu die gleichen Einstellungen wie der Programmierer. Voila. Der Bericht funktioniert. SKD 1C-Einstellungen Alle Einstellungen des SKD 1C-Berichts werden durch Klicken auf die Schaltfläche Einstellungen vorgenommen. Zumindest in der Standardvorlage. Es besteht die Möglichkeit, das SKD 1C-Berichtsformular selbst zu erstellen und die Einstellungen dann auf andere vom Programmierer selbst erstellte Formulare zu übertragen. Ziehen wir das Warehouse von den Spalten in die Zeilen. Ziehen wir den Artikel in das Lager. Klicken Sie auf OK und erstellen Sie den Bericht. Hurra – wir haben gerade die Funktionsweise des Berichts im Programmiermodus ohne Programmierung geändert. Klicken Sie mit der rechten Maustaste auf Zeilen (oder eines der Felder) und wählen Sie Neue Gruppierung. Erweitern Sie das Feld Lager und wählen Sie eines seiner Felder aus, zum Beispiel Lagertyp. Nachdem wir darüber nachgedacht hatten, fiel uns ein, dass wir möchten, dass mehrere Felder gleichzeitig in einer Spalte angezeigt werden. Klicken Sie zweimal mit der linken Maustaste auf das neu erstellte Feld. Hier können Sie Felder hinzufügen. Wenn Sie eine neue Gruppierung hinzufügen, aber kein Feld auswählen, bedeutet dies „Alle Felder“ (angezeigt als „Detaildatensätze“). Es sieht aus wie das. Klicken Sie mit der linken Maustaste auf unsere Gruppierung (Lager/Artikel) und ziehen Sie sie in eine neue Gruppierung (Lagertyp). Das Ergebnis unserer Einstellungen. Zusätzlich zu den Einstellungen, deren Wirkung anhand des Namens leicht zu erraten ist (Auswahl, Sortierung usw.), gibt es einen Reiter „Andere Einstellungen“. Sie können damit Dinge wie die Anzeige von Summen, das Platzieren von Gruppierungen in Spalten usw. aktivieren oder deaktivieren. Bitte beachten Sie, dass Einstellungen für den gesamten Bericht (Bericht ausgewählt) oder für eine bestimmte Zeile von Feldern (wählen Sie eine Zeile, z. B. Nomenklatur und dann Einstellungen: Nicht-Nomenklatur) festgelegt werden können. Nehmen wir an, wir haben eine Aufgabe erhalten, für die der Kunde einen Bericht über die in der Datenbank eingegebenen Dokumente „Verkauf von Waren und Dienstleistungen“ erhalten möchte, und für jedes Dokument muss der Preis aus dem Informationsregister „Artikelpreise“ abgerufen werden ” für das Datum des Dokuments. Der Bericht ist für die Konfigurationsversion 1.3 „Manufacturing Enterprise Management“ geschrieben. Dem Datensatz aus der Dokumententabelle wird ein Datensatz aus der virtuellen Tabelle „Nomenklaturpreise. SliceLast“ gemäß den entsprechenden Bedingungen der Periode, Preisart und Position hinzugefügt. Die Preisart ergibt sich aus den gleichnamigen Belegdetails. Für das Problem gibt es mehrere Möglichkeiten, es zu lösen. Betrachten wir zwei davon: einen Bericht über das Zugangskontrollsystem, der zwei Datensätze verwendet und alle erforderlichen Daten in einer Anfrage erhält. Nun der Reihe nach. Verwenden von ACSUm einen solchen Bericht über das Zugangskontrollsystem zu implementieren, erstellen wir zwei Datensätze im Datenzusammensetzungsschema. Der erste erhält eine Liste der Dokumente, der zweite erhält Preise für Dokumentdaten entsprechend dem ausgewählten Artikel und der Preisart. Die Verbindung zwischen zwei Datensätzen erfolgt nach Artikel, Zeitraum (Belegdatum) und Preisart. Aus dem ersten Satz ist es notwendig, die Parameter „Nomenklatur“, „Preisart“ und „Zeitraum“ in den zweiten Satz zu übertragen. Der erste Datensatz enthält die folgende Abfrage: Die Abfrage wählt aus der Dokumententabelle und dem tabellarischen Teil „Produkte“ folgende Felder aus: „Link“, „Datum“, „Preistyp“, „Nomenklatur“. Schauen wir uns nun den zweiten Datensatz an: Im zweiten Datensatz sollten Sie auf die an die Anfrage übergebenen Parameter achten. Die Liste der auswählbaren Felder enthält die Parameter „Zeitraum“, „Artikel“ und „Preistyp“. Die gleichen Parameter werden in den Parametern der virtuellen Tabelle „Nomenklaturpreise. Slice of Latest“ verwendet. Es ist notwendig, diese Parameter in der anzuzeigen Liste auswählbarer Felder, damit die Werte dieser Parameter vom ersten Satz zum zweiten Satz übertragen werden können. Dies erfolgt mithilfe der Verbindungseinstellungen zwischen Datensätzen auf der Registerkarte „Datensatzverbindungen“ des Datenzusammensetzungsschema-Designers. Kommen wir zu seiner Betrachtung: Das Einrichten von Verbindungen zwischen Datenquellen erfolgt über die Auswahlfelder in der Anfrage. Im zweiten Datensatz haben wir den Auswahlfeldern Abfrageparameter hinzugefügt. Wenn Sie beim Erstellen von Beziehungen zwischen Mengen ein Feld in der Spalte „Parameter“ für die Beziehung auswählen, wird der Wert aus der Spalte „Quellausdruck“ in den „Zielausdruck“ übertragen und der ausgewählte Parameter mit dem entsprechenden Wert gefüllt. Nachdem wir die Berichtsstruktur konfiguriert und generiert haben, erhalten wir folgendes Ergebnis: Der Bericht funktioniert. Betrachten wir nun die Möglichkeiten, den Preis für das Dokumentdatum in einer Anfrage zu erhalten. In einer AnfrageLassen Sie uns einen neuen Bericht mit ähnlichen Ausgabefeldern und Berichtseinstellungen erstellen. Der einzige Unterschied besteht in den Datenquellen. Diesmal enthält der Bericht einen einzelnen Datensatz, in dem alle Dokumentprodukte und die zugehörigen Preise in einer Abfrage ausgewählt werden. Der Anfragetext sieht so aus: "SELECT | DocumentNomenclaturePeriod.Document, | DocumentNomenclaturePeriod.Document.Date AS Date, | DocumentNomenclaturePeriod.Document.PriceType AS TypePrice, | DocumentNomenclaturePeriod.Nomenclature, | PricesNomenclature.Price | FROM | (SELECT | Sales of GoodsServicesGoods. Link AS Document, | Sales von Waren DienstleistungenProdukte.Nomenklatur AS Nomenklatur, | MAXIMUM (Preise der Nomenklatur. Zeitraum) AS Zeitraum | VON | Dokument. Verkäufe von Waren und Dienstleistungen. Waren AS Verkäufe von Waren und Dienstleistungen Waren | LINKE VERBINDUNG Informationsregister. Preise Nomenklatur AS Preise Nomenklatur | Software-Verkäufe von Waren und Dienstleistungen. Nomenklatur = Preise. Nomenklatur. Nomenklatur | Und Neuimplementierung von Waren und Dienstleistungen. Link. Datum >= Preise. Nomenklatur. Zeitraum | Und Verkäufe von Waren. ServicesGoods.Link.PriceType = PricesNomenclature.TypePrices | | GRUPPE BY | Sales of GoodsServicesGoods.Link, | Sales of GoodsServicesGoods.Nomenclature) AS DocumentNomenclaturePeriod | LEFT CONNECTION RegisterInformation.PricesNomenclature AS PricesNomenclatures | BY DocumentNomenclature tourPeriod.Nomenclature = PricesNomenclature.Nomenclature | Und DocumentNomenclaturePeriod.Document.PriceType = PricesNomenclature.PriceType | Und DocumentNomenclaturePeriod.Period = PricesNomenclature.Period" Das Prinzip der Anfrage besteht darin, das nächstgelegene Datum der Preisänderung für jeden gebrauchten Artikel im tabellarischen Abschnitt des Dokuments zu ermitteln und dann Daten aus der physischen Tabelle „Artikelpreise“ nach Zeitraum, Artikel und Preistyp an das resultierende Abfrageergebnis anzuhängen . Auf den ersten Blick mag die Anfrage kompliziert erscheinen, tatsächlich ist ihre Syntax jedoch recht einfach. Das Ausführungsergebnis ähnelt dem Ergebnis des vorherigen Berichts (siehe Screenshot oben). SchlussfolgerungenWelche Möglichkeit zur Erledigung der Aufgabe ist besser? Es hängt alles von den spezifischen Bedingungen ab. In manchen Situationen ist ein Bericht aus zwei Datensätzen schneller als das Abrufen aller Daten für einen Bericht in einer Abfrage. Im Rahmen dieses Artikels können wir nicht auf Leistungsprobleme für die betrachteten Methoden zur Lösung des Problems eingehen. Es sei auch daran erinnert, dass die Erstellung von Berichten auf der Grundlage von Dokumenttabellen von der Entwicklungsmethodik des Unternehmens 1C nicht empfohlen wird, da davon ausgegangen wird, dass die Informationen in den Dokumenten möglicherweise nicht zuverlässig sind. Alle Meldungen müssen auf Registern basieren. Ausdruckssprache des DatenkompositionssystemsDie Ausdruckssprache des Datenkompositionssystems dient zum Schreiben von Ausdrücken, die in verschiedenen Teilen des Systems verwendet werden. Ausdrücke werden in den folgenden Subsystemen verwendet:
LiteraleDer Ausdruck kann Literale enthalten. Folgende Arten von Literalen sind möglich:
LinieEin String-Literal wird in „“-Zeichen geschrieben, zum Beispiel: „String-Literal“ Wenn Sie das Zeichen „“ in einem String-Literal verwenden müssen, sollten Sie zwei solcher Zeichen verwenden. Zum Beispiel: „Wörtlich“ „in Anführungszeichen““ NummerDie Zahl wird ohne Leerzeichen im Dezimalformat geschrieben. Der Nachkommateil wird durch das Symbol „.“ getrennt. Zum Beispiel: 10.5 200 DatumEin Datumsliteral wird mit dem Schlüsselliteral DATETIME geschrieben. Nach diesem Schlüsselwort werden Jahr, Monat, Tag, Stunden, Minuten und Sekunden in Klammern und durch Kommas getrennt aufgeführt. Eine Zeitangabe ist nicht erforderlich. Zum Beispiel: DATETIME(1975, 1, 06) – 6. Januar 1975 DATETIME(2006, 12, 2, 23, 56, 57) – 2. Dezember 2006, 23 Stunden 56 Minuten 57 Sekunden, 23 Stunden 56 Minuten 57 Sekunden Boolescher WertBoolesche Werte können mit den Literalen True (True), False (False) geschrieben werden. BedeutungUm Literale anderer Typen anzugeben (Systemaufzählungen, vordefinierte Daten), wird das Schlüsselwort Value verwendet, gefolgt vom Namen des Literals in Klammern. Wert(AccountType. Aktiv) Operationen mit ZahlenEinstellig -Mit dieser Operation soll das Vorzeichen einer Zahl in das entgegengesetzte Vorzeichen geändert werden. Zum Beispiel: Verkaufsmenge Unär +Dieser Vorgang führt keine Aktionen für die Nummer aus. Zum Beispiel: Verkaufsmenge Binär -Mit dieser Operation soll die Differenz zweier Zahlen berechnet werden. Zum Beispiel: ResidualsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357 Binär +Mit dieser Operation soll die Summe zweier Zahlen berechnet werden. Zum Beispiel: RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357 ArbeitenDiese Operation dient dazu, das Produkt zweier Zahlen zu berechnen. Zum Beispiel: Nomenklatur.Preis * 1,2 2 * 3,14 AufteilungDiese Operation dient dazu, das Ergebnis der Division eines Operanden durch einen anderen zu erhalten. Zum Beispiel: Nomenklatur.Preis / 1,2 2 / 3,14 Rest der DivisionDiese Operation dient dazu, den Rest zu erhalten, wenn ein Operand durch einen anderen dividiert wird. Zum Beispiel: Nomenklatur. Preis % 1,2 2 % 3,14 String-OperationenVerkettung (Binär +)Diese Operation dient dazu, zwei Zeichenfolgen zu verketten. Zum Beispiel: Nomenklatur.Artikel + „: „+ Nomenklatur.Name WieDiese Operation prüft, ob die Zeichenfolge mit dem übergebenen Muster übereinstimmt. Der Wert des LIKE-Operators ist TRUE, wenn der Wert<Выражения>erfüllt das Muster, andernfalls FALSE. Die folgenden Zeichen in<Строке_шаблона>haben eine andere Bedeutung als nur ein anderes Zeichen in der Zeile:
Jedes andere Symbol bedeutet sich selbst und trägt keine zusätzliche Last. Wenn eines der aufgelisteten Zeichen als es selbst geschrieben werden muss, muss ihm ein vorangestellt werden<Спецсимвол>, angegeben nach dem Schlüsselwort SPECIAL CHARACTER (ESCAPE). Zum Beispiel Vorlage „%ABV[abvg]\_abv%“ SONDERZEICHEN „\“ bedeutet eine Teilzeichenfolge, die aus einer Folge von Zeichen besteht: dem Buchstaben A; Buchstaben B; Buchstaben B; eine Ziffer; einer der Buchstaben a, b, c oder d; unterstreichen; Buchstaben a; Buchstaben b; Buchstaben v. Darüber hinaus kann diese Sequenz ausgehend von einer beliebigen Position in der Zeile lokalisiert werden. VergleichsoperationenGleichDiese Operation dient dazu, zwei Operanden auf Gleichheit zu vergleichen. Zum Beispiel: Sales.Counterparty = Sales.NomenclatureMainSupplier Nicht gleichDiese Operation soll zwei Operanden auf Ungleichheit vergleichen. Zum Beispiel: Verkäufe.Gegenpartei<>Sales.NomenclatureMainSupplier WenigerMit dieser Operation soll überprüft werden, ob der erste Operand kleiner als der zweite ist. Zum Beispiel: SalesCurrent.Amount< ПродажиПрошлые.Сумма MehrMit dieser Operation soll überprüft werden, ob der erste Operand größer als der zweite ist. Zum Beispiel: SalesCurrent.Sum > SalesPast.Sum Weniger oder gleichMit dieser Operation soll überprüft werden, ob der erste Operand kleiner oder gleich dem zweiten ist. Zum Beispiel: SalesCurrent.Amount<= ПродажиПрошлые.Сумма Mehr oder gleichMit dieser Operation soll überprüft werden, ob der erste Operand größer oder gleich dem zweiten ist. Zum Beispiel: SalesCurrent.Amount >= SalesPast.Amount Operation BDiese Operation prüft, ob in der übergebenen Werteliste ein Wert vorhanden ist. Das Ergebnis der Operation ist „True“, wenn der Wert gefunden wird, andernfalls „False“. Zum Beispiel: Artikel B (&Produkt1, &Produkt2) Vorgang zum Überprüfen des Vorhandenseins eines Werts in einem DatensatzDie Operation prüft, ob im angegebenen Datensatz ein Wert vorhanden ist. Der Validierungsdatensatz muss ein Feld enthalten. Zum Beispiel: Verkäufe. Gegenpartei an Gegenparteien Vorgang zum Überprüfen eines Werts auf NULLDiese Operation gibt True zurück, wenn der Wert NULL ist. Zum Beispiel: Sales.Counterparty ist NULL Vorgang zum Überprüfen eines Werts auf NULL-UngleichheitDiese Operation gibt True zurück, wenn der Wert nicht NULL ist. Zum Beispiel: Verkäufe. Gegenpartei IST NICHT NULL Logische OperationenLogische Operationen akzeptieren Ausdrücke vom Typ Boolean als Operanden. Betrieb NICHTDie NOT-Operation gibt True zurück, wenn ihr Operand False ist, und False, wenn ihr Operand True ist. Zum Beispiel: NICHT Document.Consignee = Document.Consignor Operation IDie AND-Operation gibt True zurück, wenn beide Operanden True sind, und False, wenn einer der Operanden False ist. Zum Beispiel: Document.Consignee = Document.Consignor UND Document.Consignee = &Counterparty ODER-VerknüpfungDie OR-Operation gibt True zurück, wenn einer ihrer Operanden True ist, und False, wenn beide Operanden False sind. Zum Beispiel: Document.Consignee = Document.Consignor ODER Document.Consignee = &Counterparty AggregatfunktionenAggregatfunktionen führen eine Aktion für einen Datensatz aus. SummeDie Aggregatfunktion Sum berechnet die Summe der Werte der ihr als Argument übergebenen Ausdrücke für alle Detaildatensätze. Zum Beispiel: Betrag(Sales.AmountTurnover) MengeDie Count-Funktion berechnet die Anzahl der Werte außer NULL. Zum Beispiel: Menge (Sales.Counterparty) Anzahl unterschiedlichDiese Funktion berechnet die Anzahl der unterschiedlichen Werte. Zum Beispiel: Menge (Verschiedene Verkäufe.Gegenpartei) MaximalDie Funktion erhält den Maximalwert. Zum Beispiel: Maximum (verbleibende Menge) MinimumDie Funktion erhält den Mindestwert. Zum Beispiel: Minimum (verbleibende Menge) DurchschnittDie Funktion ermittelt den Durchschnitt von Nicht-NULL-Werten. Zum Beispiel: Durchschnitt (verbleibende Menge) Andere OperationenOperation AUSWÄHLENDie Select-Operation dient dazu, einen von mehreren Werten auszuwählen, wenn bestimmte Bedingungen erfüllt sind. Zum Beispiel: Wählen Sie „Wenn Betrag > 1000, dann Betrag, andernfalls 0 Ende“. Regeln zum Vergleich zweier WerteWenn sich die Typen der verglichenen Werte voneinander unterscheiden, werden die Beziehungen zwischen den Werten anhand der Rangfolge der Typen bestimmt:
Die Beziehungen zwischen verschiedenen Referenztypen werden anhand der Referenznummern der Tabellen ermittelt, die einem bestimmten Typ entsprechen. Sind die Datentypen gleich, dann werden die Werte nach folgenden Regeln verglichen:
Arbeiten mit NULL-WertenJede Operation, bei der einer der Operanden NULL ist, führt zu einem NULL-Ergebnis. Es gibt Ausnahmen:
BetriebsprioritätenDie Operationen haben folgende Prioritäten (die erste Zeile hat die niedrigste Priorität):
Ausdruckssprachenfunktionen des DatenkompositionssystemsBerechnungDie Funktion „Berechnen“ dient zur Berechnung eines Ausdrucks im Kontext einer bestimmten Gruppierung. Die Funktion hat die folgenden Parameter:
In diesem Beispiel ist das Ergebnis das Verhältnis des Betrags für das Feld „Sales.AmountTurnover“ des Gruppierungsdatensatzes zum Betrag desselben Felds im gesamten Layout. EbeneDie Funktion dient dazu, den aktuellen Aufnahmepegel zu ermitteln. Ebene() NumberInOrderHolen Sie sich die nächste Sequenznummer. NumberByOrder() NumberInOrderInGroupingGibt die nächste Ordnungszahl in der aktuellen Gruppierung zurück. NumberByOrderInGroup() FormatRufen Sie eine formatierte Zeichenfolge des übergebenen Werts ab. Die Formatzeichenfolge wird gemäß der 1C:Enterprise-Formatzeichenfolge festgelegt. Optionen:
Format(Invoices.Doc Amount, „NPV=2“) Beginn der PeriodeOptionen:
StartPeriod(DateTime(2002, 10, 12, 10, 15, 34), „Monat“) Ergebnis: 01.10.2002 0:00:00 Ende der PeriodeDie Funktion dient dazu, ein bestimmtes Datum aus einem bestimmten Datum zu extrahieren. Optionen:
EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), „Woche“) Ergebnis: 13.10.2002 23:59:59 AddToDateDie Funktion dient dazu, einem Datum einen bestimmten Wert hinzuzufügen. Optionen:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Monat", 1) Ergebnis: 12.11.2002 10:15:34 DatumsunterschiedDie Funktion dient dazu, die Differenz zwischen zwei Datumsangaben zu ermitteln. Optionen:
DATEDIFFERENCE(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "DAY") Ergebnis: TeilzeichenfolgeDiese Funktion dient zum Extrahieren eines Teilstrings aus einem String. Optionen:
SUBSTRING(Accounts.Address, 1, 4) LinienlängeDie Funktion dient dazu, die Länge einer Zeichenfolge zu bestimmen. Parameter:
Zeile(Gegenparteien.Adresse) JahrDiese Funktion dient dazu, das Jahr aus einem Wert vom Typ „Datum“ zu extrahieren. Parameter:
JAHR (Ausgabendatum) QuartalDiese Funktion dient dazu, die Quartalszahl aus einem Wert vom Typ „Datum“ zu extrahieren. Die Quartalszahl liegt normalerweise zwischen 1 und 4. Parameter
MonatDiese Funktion dient dazu, die Monatszahl aus einem Wert vom Typ „Datum“ zu extrahieren. Die Monatszahl liegt normalerweise zwischen 1 und 12.
Tag des JahresDiese Funktion dient dazu, den Tag des Jahres aus einem Wert vom Typ „Datum“ zu ermitteln. Der Tag des Jahres liegt normalerweise zwischen 1 und 365 (366).
TagDiese Funktion dient dazu, den Tag des Monats aus einem Wert vom Typ „Datum“ zu ermitteln. Der Tag des Monats liegt normalerweise zwischen 1 und 31.
Die WocheDiese Funktion dient dazu, die Wochennummer des Jahres aus einem Wert vom Typ „Datum“ zu ermitteln. Die Wochen des Jahres werden beginnend mit 1 nummeriert.
WochentagDiese Funktion dient dazu, den Wochentag aus einem Wert vom Typ „Datum“ zu ermitteln. Der normale Wochentag reicht von 1 (Montag) bis 7 (Sonntag).
StundeDiese Funktion dient dazu, die Tageszeit aus einem Wert vom Typ „Datum“ zu ermitteln. Die Tageszeit reicht von 0 bis 23.
MinuteDiese Funktion dient dazu, die Minute der Stunde aus einem Wert vom Typ „Datum“ zu ermitteln. Die Minute der Stunde reicht von 0 bis 59.
ZweiteDiese Funktion dient dazu, die Sekunde einer Minute aus einem Wert vom Typ „Datum“ zu ermitteln. Die Sekunde einer Minute reicht von 0 bis 59.
ÄußernDiese Funktion dient zum Extrahieren eines Typs aus einem Ausdruck, der möglicherweise einen zusammengesetzten Typ enthält. Wenn der Ausdruck einen anderen Typ als den erforderlichen Typ enthält, wird NULL zurückgegeben. Optionen:
Express(Data.Props1, "Number(10,3)") Ist NullDiese 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. YesNULL(Amount(Sales.AmountTurnover), 0) Funktionen allgemeiner ModuleEin Datenkompositions-Engine-Ausdruck kann Aufrufe von Funktionen globaler gemeinsamer Konfigurationsmodule enthalten. Für den Aufruf solcher Funktionen ist keine zusätzliche Syntax erforderlich. In diesem Beispiel wird die Funktion „AbbreviatedName“ aus dem allgemeinen Konfigurationsmodul aufgerufen. Beachten Sie, dass die Verwendung allgemeiner Modulfunktionen nur zulässig ist, wenn der entsprechende Parameter des Datenkompositionsprozessors angegeben ist. Darüber hinaus können Funktionen allgemeiner Module nicht in benutzerdefinierten Feldausdrücken verwendet werden. Im Hinblick auf die bevorstehende Veröffentlichung von 8.2.14 werde ich versuchen, einige neue Funktionen des Datenkompositionssystems zu beschreiben. Öffnen Sie das Datenlayoutdiagramm, vorzugsweise in einem externen Bericht, um die Bearbeitung zu erleichtern. Wir fügen einen Datensatz des Abfragetyps hinzu und schreiben entweder manuell oder mit dem Abfrage-Designer eine einfache Abfrage: 1. Richten Sie eine Anfrage im Zutrittskontrollsystem ein. 2. Richten Sie berechnete Felder im Zutrittskontrollsystem ein 3. Konfigurieren Sie das Datenlayout auf der Registerkarte „Einstellungen“. 4. Starten Sie 1C Enterprise 8.2.14. Öffnen Sie den Bericht. Wir formen, wir empfangen. Beschreibung der neuen Funktionen selbst: 1. Das aktuelle Datum() Gibt das Systemdatum zurück. Beim Erstellen eines Layout-Layouts wird in allen im Layout vorhandenen Ausdrücken die Funktion CurrentDate() durch den Wert des aktuellen Datums ersetzt. 2. COMPUTEEXPRESSION() Syntax: CalculateExpression(,) 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 CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000. 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 zur Berechnung detaillierter Daten und zur Berechnung von Aggregatfunktionen vorhanden sind. Bei der Berechnung von Intervallausdrücken für eine Gesamtsumme (der Gruppierungsparameter ist auf „GrandTotal“ festgelegt) wird davon ausgegangen, dass keine Datensätze zur Berechnung detaillierter Daten und zur Berechnung von Aggregatfunktionen vorhanden sind. Layout-Linker 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 der GeneralTotal-String als Gruppenname verwendet wird, wird die Berechnung im Kontext der Gesamtsumme durchgeführt. Andernfalls wird die Berechnung im Kontext der gleichnamigen übergeordneten Gruppe durchgeführt. Zum Beispiel: Sum(Sales.SumTurnover)/Calculate("Sum(Sales.SumTurnover)", "Total") In diesem Beispiel ist das Ergebnis das Verhältnis der Summe pro Feld Sales.AmountTurnover Gruppieren von Datensätzen zur Summe desselben Felds im gesamten Layout; Typ: Linie. Der Parameter kann folgende Werte annehmen: · Gesamtsumme– Der Ausdruck wird für alle Gruppierungsdatensätze berechnet. · Hierarchie– Der Ausdruck wird für den übergeordneten hierarchischen Datensatz ausgewertet, falls vorhanden, und für die gesamte Gruppierung, wenn kein übergeordneter hierarchischer Datensatz vorhanden ist. · Gruppierung– Der Ausdruck wird für den aktuellen Gruppengruppierungsdatensatz ausgewertet. · GroupingNonResource— Bei der Berechnung einer Funktion für einen Gruppendatensatz nach Ressourcen wird der Ausdruck für den ersten Gruppendatensatz der ursprünglichen Gruppierung berechnet. Bei der Berechnung einer Funktion CalculateExpression() mit Bedeutung GroupingNonResource Für Gruppendatensätze, die nicht nach Ressourcen gruppiert sind, wird die Funktion auf die gleiche Weise berechnet, wie sie berechnet würde, wenn der Parameterwert gleich dem Wert wäre Gruppierung. Der Datenzusammensetzungslayout-Generator platziert beim Generieren eines Datenzusammensetzungslayouts bei der Ausgabe des Ressourcenfelds, nach dem die Gruppierung im Layout durchgeführt wird, einen Ausdruck im Layout, der mithilfe der Funktion berechnet wird CalculateExpression() , Angabe des Parameters GroupingNonResource. Für andere Ressourcen werden die üblichen Ressourcenausdrücke in der Ressourcengruppierung platziert. Typ: Linie. Gibt an, ab welchem Datensatz das Fragment beginnen soll, in welchen Aggregatausdrucksfunktionen berechnet werden soll und aus welchem Datensatz Feldwerte außerhalb der Aggregatfunktionen abgerufen werden sollen. Der Wert kann einer der folgenden sein: · Erste · Letzter (letzter) · Vorherige · Weiter (Weiter) · Aktuell · Begrenzungswert(Grenzwert) Begrenzungswert Typ: Linie. Gibt an, bis zu welchem Datensatz das Fragment fortgesetzt werden soll, in dem die Aggregatfunktionen des Ausdrucks berechnet werden sollen. Der Wert kann einer der folgenden sein: · Erste. Es ist erforderlich, den ersten Gruppierungsdatensatz abzurufen. 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) – Empfang des dritten Datensatzes vom Anfang der Gruppierung. Wenn der erste Datensatz außerhalb der Gruppierung liegt, wird davon ausgegangen, dass keine Datensätze 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 müssen den letzten Gruppierungsdatensatz abrufen. 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) – Empfang des dritten Datensatzes vom Ende der Gruppe. Wenn der letzte Datensatz außerhalb der Gruppierung liegt, wird davon ausgegangen, dass keine Datensätze 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 Gruppierungsdatensatz abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset zurück zum aktuellen Gruppierungsdatensatz verwendet wird. Beispiel: Previous(2) – Vorheriges aus dem vorherigen Datensatz abrufen. Wenn der vorherige Datensatz über die Gruppierung hinausgeht (z. B. müssen Sie für den zweiten Gruppierungsdatensatz Previous(3) abrufen), wird der erste Gruppierungsdatensatz abgerufen. Beim Abrufen des vorherigen Datensatzes für eine Gruppierungssumme wird davon ausgegangen, dass der erste Datensatz abgerufen wird. · Weiter (Weiter). Sie müssen den nächsten Gruppierungsdatensatz abrufen. Nach dem Wort in Klammern können Sie einen Ausdruck angeben, dessen Ergebnis als Offset vom aktuellen Gruppierungsdatensatz nach vorne verwendet wird. Beispiel: Next(2) – Nächstes vom nächsten Datensatz abrufen. Wenn der nächste Datensatz über die Gruppierung hinausgeht, wird davon ausgegangen, dass keine Datensätze vorhanden sind. Wenn beispielsweise drei Einträge vorhanden sind und der dritte Eintrag Next() empfängt, wird davon ausgegangen, dass keine Einträge 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 Datensatz abrufen. Beim Abrufen einer Gruppierungssumme wird der erste Datensatz abgerufen. · Begrenzungswert(Grenzwert). Die Notwendigkeit, einen Datensatz mit dem angegebenen Wert zu erhalten. Nach dem Wort Begrenzungswert In Klammern müssen Sie den Ausdruck angeben, mit dessen Wert Sie das Fragment beginnen möchten, das erste Bestellfeld. Als Datensatz wird der erste Datensatz zurückgegeben, 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 erhalten möchten LimitingValue(DateTime(2010, 1, 15)), dann wird ein Datensatz mit dem Datum 01.02.2010 empfangen. Typ: Linie. Listet durch Kommas getrennte Ausdrücke auf, die die Sortierregeln beschreiben. 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 ein Schlüsselwort angeben Alter(für die Bestellung in aufsteigender Reihenfolge), Absteigend(für die Bestellung in absteigender Reihenfolge) und Automatische Bestellung(um Referenzfelder nach den Feldern zu ordnen, nach denen Sie das referenzierte Objekt ordnen möchten). Wort Automatische Bestellung kann wie mit dem Wort verwendet werden Alter, also mit dem Wort Absteigend. Typ: Linie. Identisch mit Parameter Sortierung. Wird zum Organisieren hierarchischer Datensätze verwendet. Wenn nicht angegeben, generiert der Layout-Builder die Reihenfolge entsprechend der im Parameter angegebenen Reihenfolge Sortierung. Typ: Linie. Gibt die Regel zur Bestimmung des vorherigen oder nächsten Datensatzes an, falls mehrere Datensätze mit demselben Bestellwert 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 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:
Separat, Das: § Der vorherige Eintrag zu Eintrag 3 wird Eintrag 2 sein. Aktuell, aktuell(entsprechend 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 Berechnungsfragment definiert ist als Aktuell, aktuell(entsprechend Parameter Start Und Ende), dann besteht dieses Fragment für Datensatz 2 aus den Datensätzen 2 und 3. 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 Zuerst, Letzter, Vorheriger, Nächster. CalculateExpression("Sum(SumTurnover)", "First", "Current") Wenn Sie den Gruppierungswert in der vorherigen Zeile erhalten möchten, können Sie den folgenden Ausdruck verwenden: CalculateExpression("Rate", "Previous") Aufführen neu Funktionen:CalculateExpressionWithGroupArray(,) - Die Funktion gibt ein Array zurück, dessen jedes Element das Ergebnis der Auswertung eines Ausdrucks zur Gruppierung nach dem angegebenen Feld enthält. CalculateExpressionWithGroupValueTable(,) - 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, ein anderer als NULL, ein anderer als ein leerer Verweis oder ein anderer als Undefiniert ist. Boolesche Werte werden auf NULL-Werte überprüft. Zeichenfolgen werden auf das Fehlen von Nicht-Leerzeichen überprüft Format(, ) – Erhalten Sie eine formatierte Zeichenfolge des übergebenen Werts. Der Formatstring wird entsprechend dem Formatstring des 1C:Enterprise-Systems eingestellt. Teilzeichenfolge(, , ) – Diese Funktion dient zum Extrahieren eines Teilstrings aus einem String. Linienlänge() – Die Funktion soll die Länge einer Zeichenfolge bestimmen. Parameter ist ein Zeichenfolgenausdruck Linie() – Wenn ein Array als Parameter übergeben wird, gibt die Funktion eine Zeichenfolge zurück, die Zeichenfolgendarstellungen aller Array-Elemente enthält, getrennt durch „;“-Zeichen. Wenn eine Wertetabelle als Parameter übergeben wird, gibt die Funktion eine Zeichenfolge zurück, die Zeichenfolgendarstellungen aller Zeilen der Wertetabelle enthält, wobei die Zelldarstellungen jeder Zeile durch „;“-Zeichen und die Zeilen durch einen Zeilenumbruch getrennt sind Charakter. Wenn die Zeichenfolgendarstellung eines Elements leer ist, wird anstelle seiner Darstellung eine Zeichenfolge angezeigt. |
Neu
- Buchhaltungsinformationen Torrent externe Verarbeitung 1s 8
- Erhalten Sie Preise für das Dokumentdatum in einer Anfrage. Wir speichern den Bericht als Datei.
- 1c 8.3 auf einer Domäne installieren. Installation und Aktualisierung der Plattform auf einer großen Anzahl von Computern über ein gemeinsames Netzwerkverzeichnis. Konfigurationsdatei, die den Speicherort des freigegebenen Netzwerkverzeichnisses definiert
- Iterieren über Zeilen der Wertetabelle 1s 8
- So finden Sie die Sendungsnummer eines per Post versendeten Pakets heraus
- Wie man einen Streitfall bei Aliexpress richtig einreicht, eröffnet und schließt, was man beim Öffnen und Schließen eines Streitfalls schreiben muss: Schritt-für-Schritt-Anleitung
- Ich habe einen Streitfall bei AliExpress verloren. Was soll ich tun?
- Implantate (Sitzung 20) – Fallout Online: Requiem
- Cashback-Service LetyShops – Rezension, Rezensionen, Diskussion
- Laden Sie das Programm zum Drucken von Dokumenten herunter