0

Verknüpfung Rechnung : Rechnungsposition (1:N)

Guten Tag, ich versuche gerade für bestimmte Eingangsrechnungen eine Prüf-Werkzeug zu erstellen.

Dabei soll die Tabelle 'Rechnung' mit den zu prüfenden Rechnungsnummern und Gesamtsummen befüllt werden.

In die Tabelle 'Rechnungsposition' sollen die Einzelnen Positionen mit deren Wert eingetragen werden. Zu jeder Position wird die Rechnungsnummer angegeben.

Nun möchte ich gerne, dass die Rechnungspositionen mit der zugehörigen Rechnung anhand der Rechnungsnummer, die in beiden Datensätzen vorkommt, verknüpft werden.

Soweit ich mich hier eingelesen und es verstanden habe, muss ein Button (im Datensatz der Rechnung?) erstellt werden, der eine Funktion hat.
Ninox sucht dann in den Rechnungspositionen nach passenden Paaren und erstellt die Verknüpfung.

Könnt ihr mir da auf die Sprünge helfen, wie die Funktion aussieht?
Oder ist an meiner Verknüpfung bzw. meinem Verständnis der Verknüpfung schon etwas nicht richtig?

Vielen Dank im Voraus!

Wir arbeiten mit der Cloud-Lösung.

6 Antworten

null
    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Es muss nicht immer ein Button sein. Man kann Scripte auch über Feld-Trigger ausführen lassen. Bspw. 'Trigger nach Änderung'. Das Script wird ausgeführt, wenn sich der Feldinhalt ändert. Sinnvoll ist es diesen Trigger in dem Feld zu verwenden, das als letztes befüllt wird, damit alle Daten für die Scriptverarbeitung vorliegen.

    Kannst du eine Dummy-DB mal reinstellen, damit man dein Datenmodell sieht und woher die gewünschten Daten kommen? Bsp. Woher kommen Rechnungsnummer/Gesamtsumme?
    Welche Daten werden für einen neuen Record benötigt und woher bekommt man diese?
    Das ist eigentlich die essentielle Frage.
     

      • Robin_Hemmert
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Hallo UweG , danke für die schnelle Antwort.

      Wir befüllen die Tabelle 'Rechnungsposition' über einen CSV-Import.
      Ich glaube, das schließt den 'Trigger nach Änderung' dann aus, oder?

      Die Tabelle 'Rechnung' wird händisch befüllt anhand des Rechnung-Dokuments, das wir prüfen wollen.

      Um hier eine DB einzustellen, muss ich ein BackUp erstellen?
      Das geht nicht mit dem Starter-Abo, oder doch?

      Danke für deine Zeit.

      • UweG
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Robin Hemmert Nein, das geht mit dem Starter Abo nicht.
      Kannst du vielleicht Screenshots von dem Datenmodell und den Tabellen Rechnungsposition / Rechnung machen.

      • Robin_Hemmert
      • vor 2 Jahren
      • Gemeldet - anzeigen

      UweG Anbei die Screenshots.

      Die Verknüpfungen habe ich jetzt händisch erstellt. 

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ich versuche es nochmal zu verstehen.

    Dein Datenmodell zeigt, dass es sich bei der Tabelle RechnungsPosition um eine Untertabelle von Rechnung handelt.

    Du hast eine Tabelle RechnungsPosition, in der du per csv-Import die einzelnen Positionen erstellst. Diese Positionen enthalten unter anderem bereits eine RechnungNummer.

    Anschließend wechselst du in die Tabelle Rechnungen, in der du händisch eine Rechnung erstellst und dabei eine Rechnungssumme mit eingibst. Diese RechnungsNummer stimmt mit  bereits mit einigen Datensätzen in der Tabelle RechnungsPositionen überein.
    Jetzt sollen automatisch, die in der Tabelle RechnungsPositionen existierenden Datensätze mit der  eingegebenen Rechnung verknüpft werden, bei identischer RechnungsNummer.

    Wenn die Arbeitsweise wie oben beschrieben ist, sollte man das Script in der Tabelle Rechnung im Feld 'ReNr' 'Trigger nach Änderung' ausführen lassen.
    Wenn die RechnungNummer eingegeben wird, werden alle zugehörigen Positionen gesucht und mit dieser Rechnung verknüpft.

    Ich würde es in diesem Fall nicht mit einer Untertabelle machen, da bei Löschung der Rechnung auch die zugehörigen Einträge in der Untertabelle unwiederbringlich gelöscht werden. Bei der externen Verknüpfung, werden nur die Verknüpfungen gelöscht und die Daten bleiben erhalten.

    Anbei eine Bsp-DB:

      • Robin_Hemmert
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Guten Morgen UweG ,

      das ist vollkommen richtig beschrieben von dir.

      Die Lösung über den Trigger beim Datensatz einer Rechnung finde ich gut, damit können wir sehr gut arbeiten.

      Ich habe es gerade in deiner DB getestet und es klappt hervorragend! Vielen Dank 🙂

      Das baue ich nun in unsere DB ein und freue mich, eine passende Lösung zu haben.
      Danke für deine Zeit, Mühe und Arbeit.

      Ich wünsche dir einen guten Wochenstart.

Content aside

  • Status Answered
  • vor 2 JahrenZuletzt aktiv
  • 6Antworten
  • 111Ansichten
  • 2 Folge bereits