0

Rechnung/Angebot aus Artikelstamm und freie Positionen

Hallo

Bei einer Rechnung oder einem Angebot kann man nicht immer auf den Artikelstamm zurückgreifen und muss Positionen schreiben welche man nicht führt oder nicht führen will da diese nur für den einen Auftrag beschafft werden.

Wie kann ich es umsetzen dann ich eine Tabelle habe für die Eingabe jedoch darin aber auch Produkte aus dem Artikelstamm einfügen kann. Ich meine sowas schon einmal gesehen zu haben, evt. in einem Webinar.

 

Oberhalb war die Auswahl Artikelstamm, suchte man da etwas raus kam es in die Tabelle Angebot darunter. In der Tabelle Angebot konnte man aber auch manuelle Positionen eröffnen die dann nicht im Artikelstamm landeten. Zudem auch Texte was klar ist.

 

Danke für einige Feedbacks

5 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Dazu gibt es verschiedene Möglichkeiten. Welche man für sich wählt, hängt nicht zuletzt vom Datenmodell und den genauen Abläufen ab. Ich selbst habe fast ausschließlich individuelle Auftrags-Positionen, für die ich quasi Standard-Artikel mit Minimal-Infos angelegt habe, welche ich dann inhaltlich jeweils anpasse bzw. ergänze.

    Das heißt, wenn ich ein Angebot, einen Auftrag oder eine Rechnung erstelle, dann lege ich in einer Untertabelle namens "Positionen" einen neuen Datensatz an, bei dem ich aus der "Artikel"-Tabelle einen solchen auswähle, dessen Daten wie Bezeichnung, Beschreibung, Menge usw. in den Positionsdatensatz übernehme und dort entsprechend anpasse.

    Im einfachsten Fall könnte man im Artikelstamm also einen zusätzlichen Artikel namens "Individuell" oder "Manuell" anlegen und diesen auswählen, wenn es sich um einen einmaligen, individuell zu beschreibenden Artikel handelt. Dann muss man nicht mit verschiedenen Artikel-Tabellen, Auswahlfeldern und irgendwelchen Triggern hantieren.

    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    ... ich unterscheide hierfür Positionsarten (Artikel, freier Text, Zwischensumme, ...). Die Positionsart wähle ich per Auswahlfeld - je nach Auswahl stehen die entsprechend benötigten Felder zur Verfügung oder eben nicht.

     

    Bei der Positionsart "Artikel" ist die Verknüpfung zum Artikelstamm optional. Sobald ich also einen Artikel aus den Stammdaten auswähle, fülle ich die zugehörigen Positionsfelder (Art-Nr., Text, Preis, ...). Dies ermöglicht mir zum einen, einen Artikel aus den Stammdaten für dieses eine Dokument anzupassen ohne die Stammdaten selbst zu ändern - zum anderen kann ich ohne Verknüpfung zum Artikelstamm die Felder einfach manuell füllen und habe so einen manuellen Artikel.

     

    lg, Torsten

    • GrischaMedia.ch
    • grischabock
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Habt ihr evt. Bilder oder etwas zum anschauen? Auch gerne per Mail oder Slack.

    Habe gestern noch im Webinar Team etwas gefunden aber blicke da nicht ganz durch. Weiss auch noch nicht von wem das ist :-)

     

    gruss Sandro

    • Christian.2
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,

    deine Lösung würde ich mir auch gerne anschauen:). Wie hast du das mit der Zwischensumme gelöst?

    LG

    Christian

    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Christian,

     

    das hatte ich befürchtet :-)

     

    Bedauerlicherweise ist das Konstrukt Part einer größeren Datenbank, welche ich nicht ohne weiteres vorzeigbar herrichten kann.

     

    Die Zwischensumme berechne ich so:

     

    let my := Position;
    let myDok := Verkauf;
    if Auswahl = 3 then
    if 'Art der Zwischensumme' = 1 then
    sum((select Verkaufsposition)[Auswahl = 1 and Verkauf = myDok and Position < my and not Alternativposition].'Positions-Summe')
    else
    let my := this;
    if cnt(Verkauf.Verkaufsposition[Position < my.Position and Auswahl = 3]) = 0 then
    sum(Verkauf.Verkaufsposition[Position < my.Position and Auswahl = 1 and not Alternativposition].'Positions-Summe')
    else
    let myPOS := max(Verkauf.Verkaufsposition[Position < my.Position and Auswahl = 3].Position);
    sum(Verkauf.Verkaufsposition[Position > myPOS and Position < my.Position and Auswahl = 1 and not Alternativposition].'Positions-Summe')
    end
    end
    end

    Zur Erklärung: 'Art der Zwischensumme' gibt mir die Möglichkeit, alles bis Dokumentenanfang (1) oder als Blocksumme bis zur vorherigen Blocksumme (der else-Part) zu summieren.

     

    lg, Torsten

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 5Antworten
  • 1061Ansichten