-- ============================================================================ -- Stundenzettel Produkte -- Welche Produkte wurden verbaut/geliefert -- ============================================================================ CREATE TABLE llx_stundenzettel_product ( rowid INTEGER AUTO_INCREMENT PRIMARY KEY, fk_stundenzettel INTEGER NOT NULL, -- Verknüpfung zum Stundenzettel -- Produkt-Referenz fk_product INTEGER DEFAULT NULL, -- Produkt-ID (kann NULL sein bei freien Zeilen) fk_commandedet INTEGER DEFAULT NULL, -- Original-Zeile aus Auftrag fk_manager_line INTEGER DEFAULT NULL, -- Zeile aus llx_facture_lines_manager (für Produktgruppen) -- Produktdaten (Kopie für Historie) product_ref VARCHAR(128), -- Produktreferenz product_label VARCHAR(255), -- Produktbezeichnung description TEXT, -- Beschreibung -- Mengen qty_original DECIMAL(24,8) DEFAULT 0, -- Ursprüngliche Menge aus Auftrag qty_done DECIMAL(24,8) DEFAULT 0, -- Erledigte/verbaute Menge auf diesem Zettel qty_cumulated DECIMAL(24,8) DEFAULT 0, -- Kumuliert über alle Stundenzettel -- Herkunft: 'order' = aus Auftrag, 'added' = manuell hinzugefügt origin VARCHAR(20) DEFAULT 'order', -- Rang für Sortierung rang INTEGER DEFAULT 0, -- Technisch tms TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- Indizes INDEX idx_szproduct_stundenzettel (fk_stundenzettel), INDEX idx_szproduct_product (fk_product), INDEX idx_szproduct_commandedet (fk_commandedet), INDEX idx_szproduct_manager (fk_manager_line), -- Foreign Key CONSTRAINT fk_szproduct_stundenzettel FOREIGN KEY (fk_stundenzettel) REFERENCES llx_stundenzettel(rowid) ON DELETE CASCADE ) ENGINE=InnoDB;