0

Letzte Hoffnung Forum! ;)

Liebe Community,

 

mag dem einen oder anderen aufmerksamen User unter euch womöglich schon auffallen, dass ich seit langem immer wieder um ein und das selbe Thema kreise ….

und noch immer keine Lösung habe …

nachdem es jetzt schon zeitlich sehr dringend ist, mein letzter Versuch, mit der Hilfe des Forums den entscheidenden schritt zu machen …

dafür skizziere ich hier kurz und klar, was Sache ist …

 

- Wir sind ein kleiner Shop, Ninox verwenden wir nur intern, um alle unsere Abläufe zu regeln
- Das Thema, das ich lösen will, sind Kundenbestellungen (in Ninox ‚KB‘) - also ein Kunde bestellt bei uns einen Artikel, der grad nicht auf Lager ist, den wir somit   wiederum bei unserem Lieferanten nachbestellen müssen (und in KB dem Kunden zuordnen)
- Von dem Lieferanten werden wir täglich beliefert, der Großteil dieser Lieferungen geht allerdings auf unser Lager und hat nichts mit den Kundenbestellungen zu tun
- Alle Anlieferungen nehmen wir in ein ANDERES System als Ninox auf, nämlich in das „Lager- und Kassensystem“ unseres übergeordneten Unternehmens
- Jetzt können wir natürlich "händisch“ miteinander alles vergleichen und schauen, ob in der Lieferung unter anderem auch einer der Artikel dabei ist, den wir für den Kunden bestellt haben, aber genau das will ich Ninox erledigen lassen
- Ich bin bereits so weit, dass ich von der ins Kassen- und Lagersystem eingegangenen Anlieferung ein .csv erstelle, das ich dann nach Ninox in ‚Übernahme‘ importiere
- das sind 10-12 Felder, die damit befüllt werden
- 4 davon (3 Text, 1 Zahl) sind relevant zur Bestimmung, ob der Artikel unter den Kundenbestellungen ‚KB’ schon für einen Kunden wartet
- Ich brauche somit einen Loop oder eine Funktion oder was auch immer, die mir diese 4 Felder der eingegangenen Artikel in ‚Übernahme’ mit den entsprechenden Feldern in ‚Positionen’ unter ‚KB‘ vergleicht
- sind diese 4 ident und ein zusätzlich bestimmter Wert unter ‚Status‘ in ‚KB‘ gegeben - well, then „that’s a little Bingo!“
- denn es gibt noch den seltenen Fall, dass mehrere verschiedene Kundenbestellungen ‚KB‘ verschiedener Kunden eines identen Artikels, zu utetrschiedlichen Zeiten aufgenommen und den selben ‚Status‘ besitzen - dann hätte man entsprechend mehrere Ergebnisse für dei Anlieferung dieses einen Artikels
- somit braucht es dann eben noch einen Vergleich der Datumsangaben der Aufnahme in den ‚KB‘s - die älteste KB führt zum „Great Bingo!“ und setzt die checkbox 'geliefert' unter 'Positionen' auf "Ja"

so denke ich mir das aus und versage ind er Übertragung auf Ninox :)

Anbei das Datenmodel der relevanten Tabellen … die beiden Äste von ‚KB‘ weg nach oben und unten führen zu ‚Kundendatei‘ und ‚Rechnungslegung‘, sind also für diesen Fall unbedeutend

Ich brauche unbedingt zumindest die Richtung, in die ich gehen muss, erwarte mir natürlich keinen vollständigen Code - wenn man mir in groben, aber vollständigen Schritten die Struktur vorgibt, welche Funktionen dabei zu verwenden sind, schaffe ich das dann schon alleine … mein Problem, ich kann es nicht in eine Ablauf-Struktur in Ninox-Sprache übersetzen

Danke vielmals im Voraus

 

modell

5 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Astavakra,

    so grob:

    ---

    for i in select 'Übernahme' do
    let myCheck:=select Positionen where (Feld1+Feld2+Feld3+Feld4)=i.(Feld1+Feld2+Feld3+Feld4) and Status=2 order by KB.Aufnahmedatum;
    if cnt(myCheck) >0 then
    first(myCheck).'geliefert":=true
    end
    end

    ---

    Leo

    • Astavakra
    • vor 3 Jahren
    • Gemeldet - anzeigen

    vielen vielen dank ... bin schon gespannt ... schönen abend!

    • Astavakra
    • vor 3 Jahren
    • Gemeldet - anzeigen

    how comes?

    Bildschirmfoto 2021-10-21 um 23.17.15

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Du wolltest doch den Weg haben. Für eine exakte Analyse braucht man vollen zugriff auf die DB. Versuche mal die runden Klammern nach where zu entfernen.

    • Astavakra
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Stimmt ... und es ist auch schon zzum größten Teil nachvollziehbar für mich ... danke, anhand dessen werd ich mich vorwärts wühlen