Angebot: bei Projektnamenänd werden Artikelnummern geändert

Lob (und Tadel), Anregungen und Probleme.

Moderator: SYNERPY

Antworten
Dirk Tiefenbach
Beiträge: 77
Registriert: Do Okt 18, 2007 9:00 am
Wohnort: Senden

Angebot: bei Projektnamenänd werden Artikelnummern geändert

Beitrag von Dirk Tiefenbach »

Hallo zusammen,

das System hat mich in letzter Zeit mehrfach gefoppt:

Ein Angebot wurde kopiert. Das hat noch gut funktioniert. Wenn ich jetzt aber den Projektnamen ändere werden alle Artikelnummern mit der Nummer des Artikels der ersten Position ersetzt, Preise und Rabatte bleiben aber wie vorher, d.h. die werden nicht geändert.

Jetzt habe ich ein Angebot mit den richtigen Preisen und Rabatten, aber überall den gleichen Artikel. :(

Das ist dann zu nichts zu gebrauchen und auch nicht zu reparieren. Es ist dann einfacher ein Angebot komplett neu zu machen. Bei wenigen Positionen mag das noch vertretbar sein, aber bei vielen Positionen ist das höchst läßtig. :evil:

Ich vermute das in irgendeiner Prozedur nicht nur die neue Projektposition in die Auftragspositionen geschrieben wird sonder auch noch die Artikelnummer geändert wird.

Ich bin am suchen habe es aber noch nicht gefunden. Vielleicht kann mir einer auf die Sprünge helfen.

Danke schon mal.

Dirk
AvERP 4.2.5.106 / GDB AVERP2009-A.07
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Das ist nicht unbedingt falsch:
Alle Auftragspositionen haben bei Ihnen wohl dieselbe Projektposition. In dieser ist auch eine Artikelnummer enthalten. Das System gleicht diese mit den Auftragspositionen ab. Beim kopierten Angebot wird das Projekt nachträglich erstellt und somit alle Auftragspositionen auf den Artikel der Projektposition geändert.
Dirk Tiefenbach
Beiträge: 77
Registriert: Do Okt 18, 2007 9:00 am
Wohnort: Senden

Beitrag von Dirk Tiefenbach »

Hallo,

in unserem Falle ist das nicht so.

Wenn wir das Angebot kopieren wird auch das Projekt mitkopiert (inkl. Projektpositon) und dann ist auch alles in Ordnung.

Wenn ich jetzt das neue Angebot bearbeite und nur das Projekt und die Projektposition ändere habe ich den Salat.

Das neue Projekt ist schon vorhanden und bei uns haben alle angelegten Projektpositionen KEINEN Artikel. Aber es ist richtig das alle Angebotspositionen zur gleichen Projektposition gehören.

Allerdings habe ich auch nicht genug Phantasie um mir ein Zenario vorzustellen wo das kopieren eines Angebots und dann die Änderung aller Angebotspositionen auf eine andere Artikelnummer sinn machen kann. Aber man ist da häufig etwas betriebsblind was solche Dinge angeht. :wink:

Aber mein Problem ist nun leider nicht gelöst. :cry:

Vielleicht gibt es noch eine andere Idee.

Danke
AvERP 4.2.5.106 / GDB AVERP2009-A.07
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Im Mandantenstamm gibt es ein Kennzeichen, das festlegt, ob der Abgleich erfolgen soll oder nicht: Reiter Projekte, "Artikel abgleichen".
Dirk Tiefenbach
Beiträge: 77
Registriert: Do Okt 18, 2007 9:00 am
Wohnort: Senden

Beitrag von Dirk Tiefenbach »

Guten Morgen,

auch eine gute Idee, aber in meiner Version der Datenbank scheint es das nicht zu geben (oder ich bin noch zu müde um etwas zu sehen :wink: ).

Und nun :?:

Dirk
AvERP 4.2.5.106 / GDB AVERP2009-A.07
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Im Trigger BPROJPO_AU1 gibt es dafür die entsprechende Stelle:

Code: Alles auswählen

    -- Gibt es abhängige Angebotspositionen
    FOR SELECT A.ID
    FROM BAUFPO A
    LEFT OUTER JOIN BAUF B ON A.BAUF_ID_LINKKEY = B.ID
    WHERE A.BPROJPO_ID = NEW.ID AND
          B.BAUF_ID_ANG IS NULL AND
          B.AUFTRAG = :SNEIN
    INTO :BAUFPO_ID
    DO
    BEGIN
      -- bei Veränderung des Artikels wird dieser auch in der zugehörigen BAUFPO
      -- geändert, falls diese vorhanden ist und es sich um ein Angebot handelt.
      -- Ansonsten = Verbot der Änderung (BPROJPO_BU0)
      IF ((NEW.BSA_ID <> OLD.BSA_ID) AND (BSA_ABGLEICH = SJA)) THEN
        UPDATE BAUFPO A
        SET A.BSA_ID_ARTNR = NEW.BSA_ID
        WHERE A.ID = :BAUFPO_ID AND
              A.BSA_ID_ARTNR <> NEW.BSA_ID;
  
      -- LLTERMIN in BAUFPO muss an neues Enddatum angepasst werden, solange es
      -- sich um ein Angebot handelt  */
      IF (F_EQUALDATE(NEW.DATUM_BIS,OLD.DATUM_BIS) = 0) THEN
        UPDATE BAUFPO B
        SET B.LLTERMIN = NEW.DATUM_BIS
        WHERE B.ID = :BAUFPO_ID AND
              ((B.LLTERMIN IS NULL) OR (B.LLTERMIN <> NEW.DATUM_BIS));
    END
Diese können Sie löschen.

Natürlich erst in einer Testdatenbank und nie ohne ausreichend Sicherungskopien!
Antworten