Home Forum Nuclos Bedienung Automatisieren Stückliste

Ansicht von 15 Beiträgen - 16 bis 30 (von insgesamt 30)
  • Autor
    Beiträge
  • #9375
    Frank Pavlic
    Teilnehmer

    Hallo,
    richtig, die Mengenangabe muss entweder direkt im Artikelstamm hinterlegt sein, bspw. „Bauteile-Menge“ oder in einem eigenen BusinessObject, bspw. „Stückliste“, wie der Titel es bereits erwähnt 🙂

    Gruß
    Frank

    #9376
    K. Struckmeier
    Teilnehmer

    Ja, die Mengenangabe eines Artikels ist im Artikelstamm hinterlegt.

    Ok gehen wir mal davon aus, dass ich für jeden Artikel, das eine Stückliste benötigt ein BO anlege, indem die Bauteile und die Menge der Bauteile drin stehen. Nun muss ich aber bei etwa jeder zweiten Bestellung, die Stückliste ändern, was ja ok ist, nur wie mache ich dass dann in der Regel, dass alle Artikel in der Stückliste angesrochen werden, damit ich die Menge dann von den Verfügbaren Artikeln im Artikelstamm abziehen kann?

    #9377
    Nick Röder
    Teilnehmer

    [quote=“Elvis“ post=9115]Sie könnten eine Regel schreiben, die alle Artikel der Stückliste hinter dem ausgewählten Artikel in die Bestellung kopiert. Dann müssten Sie später nur noch die Menge ändern bzw. die Artikel löschen die Sie nicht verwenden. Wenn diese Artikel nicht auf einem Lieferschein erscheinen sollen, müsste Sie sie noch als intern markieren.

    Alternativ kopieren Sie diese internen Artikel in ein separates Subform in der Bestellung.[/quote]

    #9378
    K. Struckmeier
    Teilnehmer

    Ah ok, jetzt habe ich das erst verstanden :). Und wie schreibe ich eine Regel die die Bauteile in ein anderes BO kopiert?

    #9379
    K. Struckmeier
    Teilnehmer

    Ist es möglich, dass ich die ganzen Stücklisten alle in ein BO speichern kann.
    Zb. habe ich es so gemacht, dass ich ein BO Adressen angelegt habe und ich dann von jedem Kunden jeweils eine Adresse eingespeichert habe. Wenn ich dann auf einen Kunde klicke, sieht man in einem Subform die angegeben Adresse. Funktioniert das dann auch mit der Stückliste bzw. mit dem Kopieren, von den Artikeln?
    Weil es sollen ja dann nicht alle Artikel aus einem BO kopiert werden, sondern nur die aus dem einem Subform.

    #9381
    Frank Pavlic
    Teilnehmer

    Hallo,
    wie sieht denn nun dein Datenbank-Design bzgl. Bauteile/Stücklisten aus? Ich habe mir den Thread durchgelesen und komme immer mehr zu dem Ergebnis, dass wir dir ein Design für die Stückliste vorkauen sollen, die genau zu deinem Fall passt. Oder ist meine Glasskugel verschmutzt?
    Sag doch endlich mal, wie deine Stückliste aufgebaut ist, dann kann dir sicher hier mit der Regelprogrammierung geholfen werden.
    Zum Beispiel die Frage, ob alle Stücklisten in einer Tabelle gespeichert werden können. Ja sicher, ob es aber die beste Lösung für _deine_ Geschäftsprozesse ist, kannst nur du entscheiden.

    Gruß
    Frank

    #9382
    K. Struckmeier
    Teilnehmer

    Ich entschuldige mich für die ungenaue Beschreibung.

    Ich habe das BO Artikel und das BO Stückliste. Wenn man einen Artikel anlegt ist in dem Layout ein Subform: BO Stückliste. Da kann ich dann die Artikel eintragen aus dem der Hauptartikel besteht. Die Artikel hole ich mir aus dem BO Artikel und in ein anderes Feld schreibe ich die benötigte Menge rein.
    In dem BO Artikel steht neben jedem Artikel in einem Feld die Verfügbare Menge.

    Wenn ich jetzt einen Warenausgang mache und ich dann den Artikel mit der hinterlegten Stückliste auswähle, soll die Menge aller Artikel aus der Stückliste von den Verfügbaren Artikeln abgezogen werden.

    #9383
    Frank Pavlic
    Teilnehmer

    na also, los geht’s:
    Angenommen, dein Warenausgang besteht aus Tabelle „Warenausgang“ und „Warenausgang-Positionen“ dann wären folgende Zeilen ein Weg. Ich habe bewusst diesen gewählt, um die einzelnen Schritte besser aufzeigen zu können. Sicher kannst Du auch alles gleich mit einer SQL-Anweisung mundgerecht in die Regel holen.
    Also hier ein wenig Pseudocode, musst Du halt an deine BOs und Attribute anpassen:
    —>
    Warenausgang waus = context.getBusinessObject(Warenausgang.class);
    List wposlist = waus.getWarenausgangpositionen();
    for (Warenausgangpositionen wp : wposlist) {
    Long artikelId = wp.getArtikelId();
    Integer liefermenge = wp.getLiefermenge();
    Query qparm = QueryProvider.create(Stueckliste.class);
    qparm.where(Stueckliste.Hauptartikel.eq(artikelId);
    List bauteile = QueryProvider.execute(qparm);
    for (Stueckliste bt : bauteile) {
    Integer bauteilbuchungsmenge = bt.getMenge() * liefermenge;
    funktion_lagerbuchung_aufrufen(bt.getArtikel(), bauteilbuchungsmenge);
    }
    }
    <—-

    Gruß
    Frank

    Ps: Ich würde es gerne als Code markieren, aber der BBCode-Editor lädt bei mir nicht.

    #9384
    K. Struckmeier
    Teilnehmer

    Ok werde ich dann man ausprobieren. Vielen vielen Dank. 🙂

    #9387
    K. Struckmeier
    Teilnehmer

    also Warenausgangpositionen ist ein Attribut im BO Warenausgang?

    #9388
    Frank Pavlic
    Teilnehmer

    Hallo,
    ich gehe mal davon aus, dass du mit einem Warenausgang mehrere Artikel gleichzeitig versenden kannst. Also sind
    Warenausgangspositionen nicht ein Attribut sondern eine Subform. Und mit getWarenausgangpositionen() holst du dir die Datensätze aus der Subform.

    Gruß
    Frank

    #9390
    K. Struckmeier
    Teilnehmer

    ah ja ok danke

    #9403
    K. Struckmeier
    Teilnehmer

    Ok habe jetzt die Regel kopiert. Jetzt kommt aber die Fehlermeldung, dass der Klassenname nicht gelesen werden kann.

    [EDIT]

    Muss ich irgendeine Klasse importieren?

    #9415
    Frank Pavlic
    Teilnehmer

    Hallo,
    ich sehe leider keine Regel, die ich analysieren könnte.
    Bitte posten und bitte den Fehler-Stacktrace nicht vergessen.

    Gruß
    Frank

    #9425
    K. Struckmeier
    Teilnehmer

    Hat sich jetzt erledigt, aber trotzdem vielen vielen Dank :).

Ansicht von 15 Beiträgen - 16 bis 30 (von insgesamt 30)