1c leere Datumsbedingung in der Anfrage. In Datum konvertieren


In diesem Artikel werden Möglichkeiten zur Prüfung auf einen leeren Wert erläutert, abhängig von der Art des eingecheckten Attributs, einschließlich einer Nullreferenz.

Der NULL-Wert wird zurückgegeben, wenn das Attribut einfach nicht existiert. Der Typ ist in diesem Fall ebenfalls NULL. Sie verknüpfen beispielsweise zwei Tabellen über einen Left-Join. Für den Fall, dass in der rechten Tabelle kein Wert für die linke Tabelle gefunden wird, wird NULL zurückgegeben.

Die Überprüfung dieses Werts kann mithilfe der Konstruktion „IS NULL“ und „“ erfolgen. Im ersten Fall wird True oder False zurückgegeben. Im zweiten Fall können Sie sofort einen anderen Wert festlegen, wenn NULL zurückgegeben wird.

Die folgende 1C 8.3-Abfrage gibt eine Liste der Ansprechpartner für die Partner zurück, für die kein Segment festgelegt ist.

WÄHLEN
ContactPartners.Link
AUS
Verzeichnis.Ansprechpartner der Partner AS Ansprechpartner der Partner
INNER JOIN
PO ContactPartners.Owner = SegmentsPartners.Parent
WO
SegmentsPartners.Reference ist NULL

leeres Datum

Der Wert wird auf ein leeres Datum überprüft, indem er mit dem Konstrukt DATETIME(1, 1, 1, 0, 0, 0) verglichen wird. Nachfolgend finden Sie ein Beispiel für die Verwendung:

Leerer Link in Anfrage 1C

Für den Fall, dass das zurückgegebene Attribut einen Referenztyp hat, es sich beispielsweise um ein Element eines Verzeichnisses, Dokuments usw. handelt, wird die folgende Konstruktion verwendet: VALUE(Catalog.CatalogName.EmptyReference).

Im folgenden Beispiel wählt die Abfrage alle Partner aus, für die keine Geschäftsregion angegeben ist.

Um nach „ValueFilled“ zu suchen, müssen Sie die umgekehrte Bedingung erfüllen:

Partner.BusinessRegion<>VALUE(Catalog.BusinessRegions.EmptyReference)

Leere Zeile

Um String-Typen zu überprüfen, wird ein Vergleich mit einem anderen Muster durchgeführt. In diesem Fall - "".

Die folgende Abfrage wählt alle Partner mit einem leeren Namen aus.

Mittel zum Definieren von Nullreferenzen, Datumsangaben oder Zeichenfolgen. Überlegen Sie, wie Sie in einer 1C-Anfrage nach einem leeren Link, einem leeren Datum oder einer leeren Zeichenfolge suchen.

Sie können Nulldaten definieren, indem Sie spezielle Operatoren verwenden.

Informationen aus der 1C-Datenbank werden mithilfe eines Tools wie einer Abfragesprache (Query) angefordert (und dann empfangen). Sie sind in Latein und Kyrillisch verfasst. Und einer der Schlüsselwortbefehle (Operatoren) beim Abrufen von Informationen ist der Wortbefehl SELECT (SELECT, Englisch) in Kombination mit einigen Konstruktionen. Hier finden Sie Beispiele für die Erstellung der gewünschten, für uns interessanten Aufgaben zum Thema:

Auf NULL-Inhalte prüfen

Eine solche Aufgabe übernimmt der SELECT-Operator in Kombination mit dem „IS NULL“-Konstrukt:

WÄHLEN
OrdersRemains.Customer,
OrdersRemains.QuantityRemains
AUS
Akkumulation Register.Orders.Balances AS OrdersBalances
WO
OrdersRemains.QuantityRemains IST NULL

Datumskontrolle

Ein leeres Datum in der 1C-Abfrage wird durch den Aufbau von „DATETIME (1, 1, 1, 0, 0, 0)“ eingegeben:

WÄHLEN
AccountIncomingSupplier.Link,
AccountIncomingSupplier.IncomingDate
AUS
Dokumentieren. Eingehendes Lieferantenkonto AS Eingehendes Lieferantenkonto
WO
Eingehendes Lieferantenkonto. Eingehendes Datum = DATETIME(1, 1, 1, 0, 0, 0)

Referenz-Check

Die Prüfung nicht vorhandener Intrareferenzwerte (für Kontenpläne, Verzeichnisse usw.) erfolgt mit der Konstruktion „VALUE(Reference.Name…EmptyReference)“:

String-Validierung

Leerstellen in Zeichenfolgen werden durch die Verwendung eines Leerzeichens in Anführungszeichen „“ erkannt:

WÄHLEN
Käufer.Link
AUS
Verzeichnis. Käufer AS Käufer
WO
Buyers.Code = ""

Mehr über defekte und reguläre Links

Eine „Fledermaus“ ist ein Link (Link, Englisch), der zu einem nicht existierenden Element führt (zeigt). Unter „nicht vorhanden“ versteht man etwas, das nicht in der Datenbank vorhanden ist. Zumindest um Benachrichtigungen des Systems in verständlicherer Form zu erhalten, ist es sinnvoll, über solche Links Bescheid zu wissen. Und das Aufzeichnen, Löschen und Öffnen irrealer Objekte macht keinen Sinn.

1C-Plattformen verfügen nicht über interne Mittel, um sie abzuschneiden. Sie müssen auch verstehen, dass es außerhalb der „kaputten“ Links spezielle „leere Links“ im System gibt, die voneinander unterschieden werden sollten.
Dies kann ohne Abfrage der Datenbank herausgefunden werden:

Im 1C-7.7-System

Für die „Fledermaus“ geben die Link.Selected()-Methode und die EmptyValue()-Funktion Null zurück. Für „leer“ – im ersten Fall Null und im zweiten Fall Eins. Für „normal“ – eins und null. Es stellt sich heraus, dass „kaputt“ in 1C-7.7 kein nicht vorhandener Wert ist, der nicht als ausgewählt gilt.

Im 1C-8.x-System

Alles ist anders – in beiden Fällen (für „kaputt“ und „normal“) gibt die Methode „False“ und die Funktion „True“ zurück. Die Lösung ist folgende: Für eine „kaputte“ Methode gibt die Methode Link.GetObject() die Funktion „Undefiniert“ zurück. Bei „leer“ wird „Context Method Error“ ausgegeben. Für „normal“ wird der Wert gemäß der Dokumentation zurückgegeben; Es stellt sich heraus, dass in 1C-8.x „kaputt“ ist – es wird keine nicht vorhandene Funktion eines Referenztyps sein, die einen undefinierten Wert eines Objekts zurückgibt.

Woher kommen sie

Beim Aufrufen einer nicht vorhandenen Adresse eines defekten Links wird dem Benutzer im besten Fall eine Benachrichtigung angezeigt, dass das Objekt nicht gefunden wurde, im schlimmsten Fall ein Bild der Serverseite. Ihre schlechteste Eigenschaft ist die Tarnung. Daher ist es schwierig, ihre Richtigkeit zu überprüfen. Während der Arbeit an der Konfiguration wird diese ständig finalisiert und aktualisiert. Einige Objekte können entfernt werden, die Struktur ändert sich. Und der Verweis auf das gelöschte Element bleibt in den Konstruktionen und Algorithmen bestehen. Somit verbleiben nicht vorhandene Adressen im System, nachdem das Element selbst (zusammen mit der Adresse) gelöscht wurde.

Im heutigen Beitrag haben wir uns mit der Ad-hoc-Abfrageerstellung befasst. Es werden Beispiele für Gestaltungen gegeben. Dies wird Ihnen bei der Suche nach leeren Werten nützlich sein.

Alle Dokumente, die in 1C-Konfigurationen existieren, und folglich fast alle Register müssen mindestens ein Attribut vom Typ Datum haben, weshalb jeder Entwickler Folgendes wissen und verstehen muss:

  • So konvertieren Sie Parameter anderer Typen in den betreffenden Typ;
  • So definieren Sie ein leeres Datum in einer 1C-Abfrage;
  • Was ist der Unterschied zwischen Datum und Frist?

Dies sind die Fragen, die wir in unserem Artikel beantworten wollen.

Was ist ein Datum und wie kann man es bestimmen?

Da die meisten Managemententscheidungen und die Buchhaltung keine Zeitgenauigkeit von mehr als 1 Sekunde erfordern, haben die Entwickler der 1C-Plattform beschlossen, dass dieser Wert die Mindestgrenze im Datumsformat darstellt. Daher muss jedes Attribut, das den Zeitpunkt eines Ereignisses im Programm beschreibt, Folgendes enthalten:

  • Das Jahr, in dem das Ereignis stattfand;
  • Der Monat dieses Ereignisses;
  • Der Tag.

Optional: Stunde, Minute und Sekunde. Wenn diese drei Parameter weggelassen werden und keine zusätzlichen Bedingungen vorliegen, stellt das Programm die Uhrzeit automatisch auf den Tagesanfang ein.

Die weltweit existierenden Datumsformate weisen einen wesentlichen Unterschied auf:

  1. In Russland sind wir es gewohnt, zuerst den Tag, dann den Monat des Ereignisses und am Ende das Jahr anzugeben;
  2. Einwohner der USA beginnen das Datum mit dem Monat;
  3. Tschechen, Polen und Slowenen erfassen den Zeitraum im Format „Jahr – Monat – Tag“.

Es ist das letztere Format, das die 1C-Plattform verwendet.

In Datum konvertieren

Um einen Parameter vom Typ Datum aus mehreren Werten oder aus einem String zu erhalten, müssen Sie den in Abb. gezeigten Code verwenden. 1

Wie aus der obigen Abbildung ersichtlich ist, können Sie das Datum sowohl mit Hilfe einer Zeile ermitteln, als auch durch die Aufteilung dieser Zeile in ihre Bestandteile durch ein Komma ändert sich am Ergebnis nichts.

Es ist wichtig zu verstehen, dass das Jahr des Datums vier Ziffern enthalten muss, einschließlich des Jahrtausends und des Jahrhunderts des Ereignisses. Monat, Tag, Stunden und Sekunden müssen zwei Zeichen lang sein, einschließlich führender Nullen.

Der Countdown im Programm beginnt mit dem Tagesbeginn am 1. Januar 0001. Für den obigen Code kann dieser Wert auf zwei Arten ermittelt werden (Abbildung 2).

Reis. 2

In der zweiten Zeile haben wir die Stunden, Minuten und Sekunden des Ereignisses weggelassen, was sich jedoch nicht im geringsten auf die Leistung unseres Codes auswirkte.

Funktionen zur Verwendung von Datumsangaben in 1C-Abfragen

Für die meisten von der 1C-Plattform verwendeten Datentypen gibt es vordefinierte ungültige Werte. Für Zahlen ist dies 0, für Links können Sie den Wert EmptyReference() definieren, für ein Datum gilt das Datum des Beginns des Countdowns als leerer Wert, damit werden die Angaben des entsprechenden Typs angezeigt müssen beim Festlegen von Abfrageparametern verglichen werden.

Es ist wichtig zu verstehen, dass selbst wenn im Wert des Formularattributs des betreffenden Typs keine Zahlen angegeben sind, das heißt, das Fenster wie folgt aussieht (Abb. 3), dies nicht bedeutet, dass darin nichts angegeben ist, Vergleich Die Eingabe dieses Parameters mit einer leeren Zeichenfolge funktioniert nicht.

Reis. 3

Nachdem wir ein leeres Datum erhalten haben, können wir es als Parameter für unsere Anfrage angeben, also die Konstruktion verwenden (Abb. 4)

Allerdings gibt es Zeiten, in denen es besser ist, den Anfragetext zu prüfen, ohne ein leeres Datum als Parameter zu übergeben. Dazu können Sie im Abfragecode (Abb. 5) die entsprechende Bedingung eingeben und die Abfragefunktion DateTime() nutzen.

Reis. 5

Im angegebenen Text der Anfrage haben wir die führenden Nullen bei Jahr, Monat und Tag weggelassen und auch keine Stunden, Minuten und Sekunden angegeben, und das Programm hat diese Annahme, wie es heißt, übernommen.

Datum und Frist

Eine weitere interessante Tatsache bezüglich der Beziehung zwischen Abfragen und Datum ist die Verwendung des Begriffs „Zeitpunkt“ bei der Bezugnahme auf verschiedene Datenbanktabellen.

Die in der technischen Dokumentation bei der Beschreibung des primitiven Typs Datum angegebene Genauigkeit „bis zu einer Millisekunde“ zeigt sich am deutlichsten bei der Auswahl von Datensätzen aus den virtuellen Tabellen des Akkumulationsregisters: wenn das Akkumulationsregister zusätzlich zur Umsatztabelle über die verfügt In den Tabellen „Remains“ und „RemainsAnd Turnovers“ kann die für eine bestimmte Zeit durchgeführte Auswahl auf ihnen zu unterschiedlichen Ergebnissen führen.

Um zu verstehen, wie und warum dies geschieht, betrachten Sie ein einfaches Beispiel:

  1. Vor der Umsetzung des Verkaufsbelegs um 12 Stunden 31 Minuten 36 Sekunden betrugen die Salden gemäß der Nomenklatur Zucker 30 kg;
  2. Das Dokument hat zum angegebenen Zeitpunkt 10 kg abgeschrieben;
  3. Der am Datum des Dokuments um 12 Stunden 31 Minuten 36 Sekunden gemäß der Resttabelle erstellte Bericht zeigt den Restbetrag von 30 kg an;
  4. Derselbe Bericht in der Tabelle „Salden und Umsätze“ zeigt gleichzeitig einen Saldo von 20 kg.

Was ist der Grund für dieses Verhalten und wie kann man es vermeiden?

Das Problem besteht darin, dass in der Remains-Tabelle der Zeitraum als offenes Segment eingestellt ist, d. h. die Bewegungen, die zum Zeitpunkt der Berichtserstellung durchgeführt wurden, werden nicht berücksichtigt, d Sekunde, die im Parameter angegeben ist. Gleichzeitig werden für die Tabelle „Umsätze“ und für die Tabelle „Reste und Umsätze“ die Zeitlimits berücksichtigt, d. h. die Zeit wird am Ende der angegebenen Sekunde gemessen.

Aus dieser Situation gibt es mehrere Auswege:

  1. Geben Sie bei Verwendung der Residuentabelle einen Zeitpunkt an, der 1 Sekunde größer als der angegebene ist.
  2. Verwenden Sie nur die Tabelle „Salden und Umsätze“ (nicht die optimalste Option in Bezug auf die Leistung);
  3. Verwenden Sie den Begriff Grenze.

Die letztere Option kann durch den in Abb. gezeigten Code dargestellt werden. 6.

Im ersten Parameter unseres Objekts geben wir das Datum an, für das der Bericht erstellt werden soll, der zweite Parameter bestimmt die Art des Rahmens. Da es für uns wichtig ist, dass die Bewegungen zu einem bestimmten Datum in die Auswahl einbezogen werden, müssen wir diesen Parameter auf die Position „Inklusive“ setzen.

Sehr oft muss man bei 1C-Abfragen mit Datumsangaben arbeiten. Insbesondere, wenn die Anfrage für Metadatenobjekte erstellt wird, die periodische Informationen enthalten. In der Regel handelt es sich dabei um Register (Information, Akkumulation, Berechnung, Abrechnung). Betrachten Sie die am häufigsten verwendeten Funktionen der 1C-Abfragesprache für die Arbeit mit Datumsangaben. Wir werden Beispiele basierend auf dem Informationsregister erstellen MitarbeiterOrganisationen ZUP-Konfigurationen Version 2.5.

  • TERMINZEIT

    Ermöglicht Ihnen, das Datum in der Abfrage (mit oder ohne Zeit) durch Angabe von Jahr, Monat, Tag, Stunde, Minute und Sekunde abzurufen.
    Syntax:
    DATETIME(Jahr, Monat, Tag, Stunde, Minute, Sekunde)
    Normalerweise werden Stunde, Minute und Sekunde nicht angegeben. Nehmen wir ein kleines Beispiel. Geben Sie den folgenden Text in die Abfragekonsole ein:

    DATUM UHRZEIT AUSWÄHLEN (2016, 1, 1)

    Als Ergebnis der Abfrage erhalten wir das Datum – 01.01.2016
    Tatsächlich ist eine Situation, in der das Datum auf diese Weise im Antrag angegeben wird, kaum vorstellbar. Wenn Sie den Zeitraum angeben müssen, werden schließlich Parameter verwendet. Es gibt jedoch Fälle, in denen diese Funktion von besonderem Wert ist. In diesem Fall müssen wir in den Feldern oder in den Abfragebedingungen ein leeres Datum angeben. Ich möchte Sie daran erinnern, dass für die 1C-Sprache ein leeres Datum wie folgt aussieht: 0001.01.01. Um also ein leeres Datum in der Anfrage zu erhalten, reicht es aus, es anzugeben DATETIME(1, 1, 1). Als Beispiel wählen wir aus dem Informationsregister MitarbeiterOrganisationen Datensätze, die nicht gefüllt sind Fertigstellungszeitraum:

    SELECT Employees of Organizations.Period, Employees of Organizations.Employee, Employees of Organizations.Position, Employees of Organizations.Department of Organizations FROM Register of Information.Employees of Organizations AS Employees of Organizations WHERE Employees of Organizations.Completion Period = DATETIME(1, 1, 1)

  • BEGINN DES ZEITRAUMS

    Gibt für das angegebene Datum den Beginn des Zeitraums zurück, zu dem es gehört.
    Syntax:
    BEGINN DES ZEITRAUMS (Datum, Periodentyp)
    PeriodType kann die folgenden Werte annehmen: MINUTE, STUNDE, TAG, WOCHE, MONAT, QUARTAL, JAHR, JAHRZEHN, HALBJAHR
    Geben Sie in der Abfragekonsole Folgendes ein:

    WÄHLEN SIE DEN BEGINN DES ZEITRAUMS (DATETIME(2016, 1, 15), MONTH)

    Die Anfrage wird am 01.01.2016 zurückgegeben
    Und jetzt ein Beispiel. Wie Sie wissen, ist die Häufigkeit des Registers MitarbeiterOrganisationen ein Tag. Erstellen wir eine Abfrage, in der anstelle des tatsächlichen Datensatzzeitraums das Datum des Monatsanfangs angezeigt wird.

    WÄHLEN SIE DEN ANFANG DES ZEITRAUMS (Mitarbeiter von Organisationen.Zeitraum, MONAT) ALS Anfang des Monats, Mitarbeiter von Organisationen.Mitarbeiter, Mitarbeiter von Organisationen.Position, Mitarbeiter von Organisationen.Abteilung der Organisation AUS dem Informationsregister.Mitarbeiter von Organisationen AS Mitarbeiter von Organisationen

  • ENDPERIODE

    Die Syntax ist dieselbe wie für den Beginn eines Zeitraums. Und wie der Name schon sagt, gibt es das Ende des Zeitraums nach Datum und Typ des Zeitraums zurück. Wir werden nicht im Detail darauf eingehen. Wir beschränken uns auf ein Minibeispiel.
    Anfrage:

    SELECT ENDPERIOD(DATETIME(2016, 1, 15), MONTH)

    Rückgabe am 31.01.2016 23:59:59
    Wie Sie sehen, wird der Wert sekundengenau zurückgegeben.

  • DATUM HINZUFÜGEN

    Fügt dem Datum die angegebene Anzahl von Zeitfenstern hinzu.
    Syntax:
    ADDDATE(Datum, Periodentyp, Anzahl)
    PeriodType nimmt die gleichen Werte wie für die Funktion an BEGINN DES ZEITRAUMS
    Nehmen wir als Beispiel den Februar:

    SELECT ADDDATE(DATETIME(2016, 2, 15), MONTH, 2)

    Wir erhalten das Datum 15.04.2016 0:00:00 Uhr. Obwohl der Februar ein kurzer Monat ist, ist der Tag des empfangenen Datums derselbe wie der ursprüngliche. Es ist sehr praktisch, dass Sie nicht über die Anzahl der Tage in Monaten nachdenken müssen.
    Die Zahl kann auch negativ sein. Dann wird das Intervall in umgekehrter Richtung gezählt.

  • DATUMSUNTERSCHIED

    Berechnet die Differenz zwischen zwei Datumsangaben in den angegebenen Einheiten.
    Syntax:
    DATEDIFF(StartDate, EndDate, PeriodType)
    Der Periodentyp kann folgende Werte annehmen: SEKUNDE, MINUTE, STUNDE, TAG, MONAT, QUARTAL, JAHR
    Zum Beispiel:

    DATEDIFFERENZ AUSWÄHLEN(DATETIME(2016, 2, 15), DATETIME(2016, 3, 1), DAY)

    gibt 15 zurück

Hierbei wurden die am häufigsten verwendeten Funktionen der 1C-Abfragesprache berücksichtigt. Der Rest wird selten verwendet. Beispiele für die Arbeit mit ihnen finden Sie bei Bedarf in der in die 1C-Plattform integrierten Hilfe.

Wenn häufig mit Variablen vom Typ „Datum“ gearbeitet werden muss. In diesem Artikel werden wir uns die wichtigsten Techniken ansehen – Übergabe des aktuellen Datums, Prüfung auf einen leeren Wert, ein beliebiges Datum.

Beim Schreiben von Abfragen ist es häufig erforderlich, Daten mit dem aktuellen Datum zu vergleichen. Die in 1C integrierte 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 durchzuführen, muss der Wert dieser Funktion als Parameter an die Anfrage übergeben werden.

Nachfolgend finden Sie eine Abfrage, die alle an Vorabberichte angehängten Dateien mit einem bisherigen Erstellungsdatum auswählt:

RequestExample = Neue Anfrage;
BeispielAnfrage.Text ="
|WÄHLEN
| VorabberichtAttachedFiles.Link
| VON
| Directory.Advance ReportAttachedFilesAS AdvanceReportAttachedFiles
|WO
| VorabberichtAttachedFiles.Date< &ТекДата»;
Abfragebeispiel.SetParameter("CurrentDate", CurrentDate());

Beliebiges Datum

Mit der oben besprochenen Funktion können Sie für jeden Zeitraum vergleichen und somit eine Auswahl treffen. Mit dieser Methode können Sie eine strikte Auswahl in der Abfrage 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 bei Fehlen durch „0“, also den Tagesanfang, ersetzt.

Im Rahmen dieses Beispiels werden alle an Vorabmeldungen angehängten Dateien bis zum Ende des letzten Jahres 2016 empfangen. Dabei werden wir die Stunde, Minute und Sekunde angeben, die mit dem Zeitpunkt „31.12.2016 23:59:59“ verglichen werden sollen.

WÄHLEN
VorabberichtAttachedFiles.Link
AUS
Directory.Advance Report Attached Files AS Advance Report Attached Files
WO
VorabberichtAttachedFiles.Date< ДАТАВРЕМЯ(2016, 12, 31, 23, 59, 59)

leeres Datum

Der 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 kein Eingangsdatum ausgefüllt ist.

Die Wahl des Herausgebers
Seit 2011 gibt es in Russland eine einheitliche Standard-Krankenversicherungspolice – eine Plastikkarte, bei der im Gegensatz zu ...

Die Eigentümerversammlung ist das oberste Organ eines Mehrfamilienhauses. Allerdings unterschätzen Eigentümer oft die Bedeutung von...

Mit der Website des Online-Postverfolgungsdienstes können Sie den Status und den Standort Ihres von der Post zugestellten Pakets verfolgen ...

Mit der Verordnung des Finanzministeriums der Russischen Föderation vom 29. Dezember 2014 Nr. 172n (im Folgenden: Verordnung Nr. 172n) wird die Anweisung zum Verfahren zur Erstellung und Einreichung ... geändert.
Sowohl Großunternehmen als auch Vertretern kleiner und mittlerer Unternehmen entstehen häufig Kosten im Zusammenhang mit unternehmerischer ...
Die Sberbank of Russia ist das größte und zuverlässigste Finanzinstitut des Landes und wird auf die eine oder andere Weise vom Staat kontrolliert. Über 50 % aller...
Der Schausteller Pavel Astakhov als Ombudsmann für Kinder wird durch die bescheidene Philanthropin „Einiges Russland“ Anna Kuznetsova ersetzt. Der Präsident fährt fort...
Wir haben ihn gefragt, warum er gegangen ist, wer die Milizen sind, wie sie kämpfen und wie alles enden wird. Wie sind Sie in den Krieg gekommen? - Warum bist du gegangen?
Unser Bankrechner berechnet den Kredit mit einem Klick. Geben Sie einfach die gewünschten Parameter an. Darlehen und Programm