0

Aus Auftrag eine Rechung erstellen

Hallo an Alle,

Ich habe zwei Tabellen erstellt, eine Tabelle heißt 'Aufträge' und die zweite Tabelle lautet 'Rechnungen'.

 

Folgende Situation liegt vor:

 

Ein Auftrag besteht aus verschiedenen Positionen, ua. der eigentliche Betrag des Auftrags, zzgl. Nebenkosten, andere Kosten usw. So ergibt sich ein Gesamt-Aufragsvolumen über einen Betrag YX.

Nun möchte ich dem Kunden eine Rechnung schreiben. Zunächst wird aber nur ein Teil des gesamten Auftagsvolumens in Rechnung gestellt, zB nur die Nebenkosten. In einer anderen Rechnung der Rest.

Es kann aber auch sein, dass ein Kunde seine Rechnung komplett bezahlt.

 

Frage: Wie kann ich, in einem Fall, den kompletten Auftrag in die Tabelle 'Rechnungen' übertragen und wie kann ich, in einem anderen Fall, zunächst zB nur die Nebenkosten (und/oder andere Kosten) in Rechnung stellen?

Vielen Dank.

Gruß Kruna

36 Antworten

null
      • Kruna
      • vor 5 JahrenMon, April 20, 2020 at 11:59 AM UTC
      • Gemeldet - anzeigen

      OK, dann werde ich Deiner Empfehlung auf jeden Fall nachkommen und habe es gleich mal ausprobiert und soweit klappt es. Außer einer Sache, dass zB das Feld Werbemedium ein Auswahlfeld ist. Ich habe folgendes eingegeben:

       

      Werbemedium := i.Standorte_DW.Werbemedium;

       

      Es wird mir jedoch die (ID)Nummer angezeigt anstelle des Textes. Wie erreiche ich denn, dass der Text ausgegeben wird?

      • Ninox-Professional
      • planoxpro
      • vor 5 JahrenMon, April 20, 2020 at 12:09 PM UTC
      • Gemeldet - anzeigen

      Das macht man mit der Funktion text(), also bspw:

       

      text(Werbemedium)

      • Kruna
      • vor 5 JahrenMon, April 20, 2020 at 12:28 PM UTC
      • Gemeldet - anzeigen

      Das habe ich gerade ausprobiert:

      text(Werbemedium) := i.Standorte_DW.Werbemedium;

       

      aber dann kommt folgende Meldung:

       

      Bildschirmfoto 2020-04-20 um 14.26.12

       

      Ich habe versucht an verschiedenen Stellen die Anführungszeichen ' ' zu setzen, aber ohne Erfolg. Was mache ich nur falsch?

      • Ninox-Professional
      • planoxpro
      • vor 5 JahrenMon, April 20, 2020 at 12:55 PM UTC
      • Gemeldet - anzeigen

      In der Tabelle 'Rechnungen' ist das Feld 'Werbemedium' ja schon ein Textfeld (sollte jedenfalls sein). Dem kann man sowieso nur Textwerte zuweisen.

       

      In der Tabelle 'Standorte_DW' hingegen ist 'Werbemedium' ein Auswahlfeld. Und um den Textwert der gewählten Option eines Auswahlfeldes auszulesen, benötigt man die Funktion "text(AUSWAHLFELD)". In diesem Fall also:

       

      Werbemedium := i.Standorte_DW.text(Werbemedium)

      • Kruna
      • vor 5 JahrenMon, April 20, 2020 at 1:14 PM UTC
      • Gemeldet - anzeigen

      Oh Mann!!! 'Das Brett vorm Kopp' tut echt schon Weh! Auch hier an dieser Stelle nochmals vielen Dank für Deine ausführliche Erklärung! Jetzt habe ich es verstanden und nun funktioniert alles einwandfrei!

       

      Danke und Gruß Kruna

      • Ninox-Professional
      • planoxpro
      • vor 5 JahrenMon, April 20, 2020 at 1:38 PM UTC
      • Gemeldet - anzeigen

      👏 🥂🏅😜

      • Kruna
      • vor 5 JahrenWed, June 3, 2020 at 1:42 PM UTC
      • Gemeldet - anzeigen

      Hallo Copytexter,

      bitte nicht die Hände über dem Kopf zusammenschlagen, aber ich habe doch noch eine Frage, die mir erst jetzt auffällt.

      Ich hatte ja beim folgenden Script, das aus Auftrag eine RG erstellt, soweit alles angepasst

       

      let myAF := this;
      let newRE := create 'Rechnungen';
      newRE.(
          Kunde := myAF.Kunde;
          Rechnungsdatum := today();
          for i in myAF.AF_Positionen do
              let newRE_Pos := create RE_Positionen;
                  newRE_Pos.(
                      Rechnungen := newRE;
                      Bezeichnung := i.Bezeichnung;
                      Betrag := i.Betrag
                  );
          end
      );
      openRecord(newRE)

       

      und es klappt nach wie vor alles super gut. Mir ist nun aufgefallen, dass die MwSt nicht mitübertragen wird.

      Es ist auch nachvollziehbar, denn das Script in RG bei MwSt lautet

       

      sum(RechnungspositionenDW.('Netto-Gesamt' * number(item(split('StoWerbeflächen'.text('MwSt.'), " "), 0)))) / 100

       

      (das habe ich aus der Vorlage 'Rechnungen') und wenn ich in Rechnungspositionen dann das verknüpfte Produkt eingebe, wird die MwSt. angezeigt.

      Kann ich irgendwie die MwSt mitübertragen, ohne jedesmal in Rechnungspositionen, das verknüpfte Produkt eingeben zu müssen?

      Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe.

       

      Vielen Dank schon mal!

      Gruß Kruna

      • Ninox-Professional
      • planoxpro
      • vor 5 JahrenWed, June 3, 2020 at 3:54 PM UTC
      • Gemeldet - anzeigen

      Hallo Kruna, was heißt, die MwSt wird nicht mitübertragen? Von wo übertragen? Bei der Vorlage 'Rechnungen' sind in der Untertabelle 'Rechnungspositionen' Artikel mit dem jeweiligen MwSt-Satz verknüpft. Deshalb funktioniert die von dir zitierte sum()-Formel dort (abgesehen davon, dass das Auswahlfeld die Sache unnötig verkompliziert).

      In deinem Script, mit dem Rechnung erstellt wird, sind aber keine Artikel verlinkt. Du sprichst weiter unten allerdings von verknüpften Produkten. Wo die Information des MwSt-Satzes denn bei dir gespeichert und was da genau womit verknüpft?

      Gibt es bei dir eine Tabelle 'Produkte'? Und ist die schon mit den Auftragspositionen verknüpft? Falls ja, müsste diese Verknüpfung auch mit in die Rechnungspositionen übernommen werden. Dann sollte obige sum()-Formel auch in der Rechnung funktionieren.

      • Kruna
      • vor 5 JahrenThu, June 4, 2020 at 5:46 AM UTC
      • Gemeldet - anzeigen

      Hallo Copytexter, ja ich gebe zu,dass ich mich wahrscheinlich mal wieder etwas unberständlich ausgedrückt habe.

      Wie bereits erwähnt, habe ich die Vorlage 'Rechnungen' genommen und so verändert bzw angepasst, wie ich es brauche.

      Die Tabelle 'Aufträge' ist fast identisch. Hier ein paar Screenshots, die es vielleicht verständlicher erklären, als ich es kann.

      Bildschirmfoto 2020-06-04 um 07.22.39

      Bei der Tabelle 'Aufträge' funktioniert soweit alles gut. Die 'Auftragspositioenen' hole ich mir aus der Untertabelle und dort ist die Verknüpfung zur Tabelle 'StoWerbeflächen'

      Bildschirmfoto 2020-06-04 um 07.17.20

       

      DAnn klicke ich auf 'RG erstellen' und alles funktioniert auch prima, nur das eben die MwSt. nicht 'mitübernommen' wird, die zeigt 0,00 an.

      Bildschirmfoto 2020-06-04 um 07.24.14

       

      Erst wenn ich in der Untertabelle Rechnungspositionen

      Bildschirmfoto 2020-06-04 um 07.08.58

      den 'verknüpften' Standort aus der Tabelle Standorte auswähle, erscheint die MwSt.

      Bildschirmfoto 2020-06-04 um 07.25.35

      Die MwSt. ist bei mir auch aus der Vorlage 'Rechnungen' > 'Produkte',

       

      Bildschirmfoto 2020-06-04 um 07.29.31

      weil ich bei jedem 'Produkt' einzeln die MwSt. angeben möchte.

       

      Nur heißt die Tabelle bei mir nicht Produkte (habe mich in der Wortwahl and die Vorlage 'Rechnungen' gehalten und wahrscheinlich für noch mehr Verwirrung gesorgt), sondern 'StoWerbeflächen' und dort habe ich sie nun auch mit Auftragspositionen verknüpft, aber auch dann bleibt die MwSt. bei 0,00, wenn ich aus Auftrag eine RG erstellen möchte.

      Hilft eventuell eine TEST_DB im Webinar weiter?

      Gruß Kruna

      • Ninox-Professional
      • planoxpro
      • vor 5 JahrenThu, June 4, 2020 at 8:46 AM UTC
      • Gemeldet - anzeigen

      Okay, die Ausgangssituation war seinerzeit ja, dass wir zwei nahezu identische Tabellen erstellen wollten, eine für Aufträge und eine für Rechnungen, jeweils mit Untertabellen für die Positionen, um die Auftragsdaten dann einfach in die Rechnungstabellen übertragen zu können. Da waren die Positionen aber noch nicht mit "Produkten" verknüpft, sondern bestanden beispielhaft einfach aus einer Bezeichnung und einem Preis.

       

      Augenscheinlich gibt es nun aber eine Verknüpfung zu dem betreffenden Produkt ('StoWerbeflächen'). Statt der Felder 'Bezeichnung' und 'Preis' müsste man also den Inhalt des Verknüpfunsfeldes übernehmen. Der betreffende Abschnitt des obigen Codes sähe dann so aus:

       

      [...]
      let newRE_Pos := create RE_Positionen;
         newRE_Pos.(
         Rechnungen := newRE;
         'StoWerbeflächen' := i.'StoWerbeflächen';
      );
      [...]

       

      Wobei ich nicht weiß, ob die Tabelle nun 'RE_Positionen', 'RechnungspositionenDW' oder wie die Verknüpfung 'Rechnungspositionen' heißt (Tabelle und Verknüpfung können unterschiedlich benannt werden). Das müsstest du prüfen und ggf. ändern.

       

      Auf diese Weise sollte dann aber in den Rechnungspositionen auch die Verknüpfung zum Produkt vorhanden sein, so dass man auch entsprechende Berechnungen vornehmen kann.

      Wenn die MwSt für jede Position berechnet werden soll, dann könnte man in der Untertabelle mit den Positionen ein Funktionsfeld mit folgender Formel erstellen:

       

      'Mediakosten tgl.' * number(item(split('StoWerbeflächen'.text('MwSt.'), " "), 0)) / 100

       

      Angenommen, dieses Funktionsfeld hieße 'MwSt_Betrag', dann würde die Formel im Rechnungsformular lauten:

       

      sum(Rechnungspositionen.MwSt_Betrag)

       

      Soweit eine mögliche technische Lösung (wie immer ohne Gewähr) auf deine konkrete Frage. Wenn du in diesem Thread eine Seite zurückgehst, dann wirst du dort einen Hinweis zum Thema "Unveränderbarkeit der Rechnung" finden. Da ging es um den Standort, aber die Unveränderbarkeit gilt natürlich für alle Bestandteile der Rechnung. Wenn du also in den Positionen einen Artikel nur verknüpfst und sich irgendwann dessen Bezeichnung oder Preis ändert, dann stimmt der Rechnungsdatensatz nicht mehr mit der "gedruckten" und versendeten Rechnung überein. Nur so zur Erinnerung.

      • Kruna
      • vor 5 JahrenThu, June 4, 2020 at 2:36 PM UTC
      • Gemeldet - anzeigen

      Hallo Copytexter,

       

      das war wieder mal ein Volltreffer! Genau richtig, jetzt hat es auch mit der MwSt. geklappt.

      Ich gebe zu, dadurch, dass ich immer wieder an der DB herumfeile, ändert sich hier und da einiges. Manchmal habe ich das Gefühl, dass Du mehr durchblick hast, als ich!

      Und auch hier wieder ein riesen großes Dankeschön für Deine Hilfe und Erläuterungen, die wie immer sehr hilfreich sind!

       

      Gruß Kruna

    Content aside

    • vor 5 JahrenThu, June 4, 2020 at 2:36 PM UTCZuletzt aktiv
    • 36Antworten
    • 3755Ansichten