Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision eb2c69b0

Von Bernd Bleßmann vor mehr als 2 Jahren hinzugefügt

  • ID eb2c69b04f02ea3f424a33c9803bcda62315048d
  • Vorgänger 1f810610
  • Nachfolger 248f1c5f

Wiedervorlagen: Trigger zum Schließen beim Schließen der Belege angepasst.

Dabei wird der aktuelle Benutzer nicht in die follow_up_done-Tabelle
eingetragen, weil er bei dem DB-Trigger nicht bekannt ist.
Wenn das gewollt ist, dann muss das von Trigger auf Backend-Code umgeschrieben
werden.

Unterschiede anzeigen:

sql/Pg-upgrade2/follow_up_done_close_follow_ups_when_order_is_closed.sql
1
-- @tag: follow_up_done_close_follow_ups_when_order_is_closed
2
-- @description: Wiedervorlagen schließen, wenn dazugehörige Belege geschlossen werden (nach follow_up_done)
3
-- @depends: delete_close_follow_ups_when_order_is_deleted_closed
4

  
5
CREATE OR REPLACE FUNCTION follow_up_close_when_oe_closed_trigger()
6
RETURNS TRIGGER AS $$
7
  BEGIN
8
    IF COALESCE(NEW.closed, FALSE) AND NOT COALESCE(OLD.closed, FALSE) THEN
9
      INSERT INTO follow_up_done (follow_up_id)
10
        SELECT follow_ups.id
11
        FROM follow_ups
12
        LEFT JOIN follow_up_done ON (follow_up_done.follow_up_id = follow_ups.id)
13
        WHERE follow_up_done.id IS NULL
14
          AND follow_ups.id IN (
15
          SELECT follow_up_id
16
          FROM follow_up_links
17
          WHERE (trans_id   = NEW.id)
18
            AND (trans_type IN ('sales_quotation',   'sales_order',    'sales_delivery_order',
19
                                'request_quotation', 'purchase_order', 'purchase_delivery_order'))
20
       );
21
    END IF;
22

  
23
    RETURN NEW;
24
  END;
25
$$ LANGUAGE plpgsql;

Auch abrufbar als: Unified diff