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 4 Jahren
    • 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 4 Jahren
    • Gemeldet - anzeigen

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

     

    text(Werbemedium)

    • Kruna
    • vor 4 Jahren
    • 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 4 Jahren
    • 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 4 Jahren
    • 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 4 Jahren
    • Gemeldet - anzeigen

    👏 🥂🏅😜

    • Kruna
    • vor 3 Jahren
    • 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 3 Jahren
    • 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 3 Jahren
    • 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 3 Jahren
    • 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 3 Jahren
    • 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 3 JahrenZuletzt aktiv
  • 36Antworten
  • 3728Ansichten