Kopieren von Konfigurationen auf Variationskombinationen

mylederhosen.com

Aktives Mitglied
1. November 2011
36
0
WAWI 099890, Shop 3.16

Hallo zusammen,
Nachdem ich lange Zeit nach jeder Änderung an den Artikeln oder den Konfigurationen ein SQL-Script laufen lassen mußte, BEVOR die Artikel zum WebShop übertragen wurden, habe ich jetzt eine Lösung per Trigger erstellt, die außerdem den Vorteil hat, dass nicht alle Variationskombinationen erst gelöscht, und dann neu erstellt werden mußten. (Dabei habe ich immer die Preise verloren, aber dazu in einem neuen Thread)

Hier ist meine Lösung, und vielleicht lassen sich die Entwickler ja inspirieren:

Die Trigger habe sind für die Datenbank eazybusiness, bitte passt sie also an, und ich gebe keine Gewährleistung:

1. Trigger abv_copy_konfigurationen wird aufgerufen nach insert oder updaten von [tartikel] und zwar hier für die variationskombinationen.
Der Trigger kopiert alle Konfigurationen des Vaterartikels in die neue Variationskombination.
PHP:
USE eazybusiness;
GO
IF OBJECT_ID ('dbo.abv_copy_konfigurationen','TR') IS NOT NULL
   DROP TRIGGER dbo.abv_copy_konfigurationen;
GO
CREATE TRIGGER dbo.abv_copy_konfigurationen on [eazybusiness].[dbo].[tartikel]
AFTER INSERT, UPDATE
AS
DECLARE @artikelnummer as varchar(20);
DECLARE @vaterartikel as varchar(20);
BEGIN
    SELECT @artikelnummer = kArtikel from INSERTED;
    SELECT @vaterartikel = kVaterArtikel from INSERTED;
    DELETE FROM [eazybusiness].[dbo].[tartikelkonfiggruppe] 
      WHERE [kArtikel] = @artikelnummer;
      
    INSERT INTO [eazybusiness].[dbo].[tartikelkonfiggruppe]
           ([kArtikel]
           ,[kKonfiggruppe]
           ,[nSort])
    SELECT  @artikelnummer,akg.kKonfiggruppe,akg.nSort
        FROM [eazybusiness].[dbo].[tartikelkonfiggruppe] as akg
        where akg.kArtikel = @vaterartikel;
END

GO
 

mylederhosen.com

Aktives Mitglied
1. November 2011
36
0
Script 2

1. Trigger 2 + 3 abv_update_konfigurationen und abv_delete_konfigurationen werden aufgerufen nach insert,updaten oder delete von [[tartikelkonfiggruppe]] und zwar hier für den Vaterartikel.
Der Trigger löscht die entsprechende Konfiguration bei den Variationskombinationen, und/oder legt sie neu an.

PHP:
USE eazybusiness;
GO
IF OBJECT_ID ('dbo.abv_update_konfigurationen','TR') IS NOT NULL
   DROP TRIGGER dbo.abv_update_konfigurationen;
GO
CREATE TRIGGER dbo.abv_update_konfigurationen on [eazybusiness].[dbo].[tartikelkonfiggruppe]
AFTER INSERT, UPDATE
AS
DECLARE @artikelnummer as varchar(20);
DECLARE @gruppe as varchar(20);
DECLARE @sort as varchar(20);
BEGIN
    SELECT @artikelnummer = kArtikel from INSERTED;
    SELECT @gruppe = [kKonfiggruppe] from INSERTED;
    SELECT @sort = [nSort] from INSERTED;
    DELETE FROM [eazybusiness].[dbo].[tartikelkonfiggruppe] 
      WHERE [kKonfiggruppe] = @gruppe
      AND [kArtikel] IN 
      ( SELECT [kArtikel] 
        FROM [eazybusiness].[dbo].[tartikel] 
        WHERE [kVaterArtikel] = @artikelnummer);
      
    INSERT INTO [eazybusiness].[dbo].[tartikelkonfiggruppe]
           ([kArtikel]
           ,[kKonfiggruppe]
           ,[nSort])
    SELECT  a.kArtikel,@gruppe,@sort
        FROM [eazybusiness].[dbo].[tartikel] as a
        where a.[kVaterArtikel] = @artikelnummer;
END
GO
IF OBJECT_ID ('dbo.abv_delete_konfigurationen','TR') IS NOT NULL
   DROP TRIGGER dbo.abv_delete_konfigurationen;
GO
CREATE TRIGGER dbo.abv_delete_konfigurationen on [eazybusiness].[dbo].[tartikelkonfiggruppe]
AFTER DELETE
AS
DECLARE @artikelnummer as varchar(20);
DECLARE @gruppe as varchar(20);
BEGIN
    SELECT @artikelnummer = kArtikel from DELETED;
    SELECT @gruppe = [kKonfiggruppe] from DELETED;
    DELETE FROM [eazybusiness].[dbo].[tartikelkonfiggruppe] 
      WHERE [kKonfiggruppe] = @gruppe
      AND [kArtikel] IN 
      ( SELECT [kArtikel] 
        FROM [eazybusiness].[dbo].[tartikel] 
        WHERE [kVaterArtikel] = @artikelnummer);

END


GO
 

mylederhosen.com

Aktives Mitglied
1. November 2011
36
0
Ablauf

1. Beim Anlegen von Variationskombinationen werden die Konfigurationsgruppen vom Vater "herunter" kopiert auf die Variationskombinationen.
2. Beim Anlegen oder Löschen von Konfigurationsgruppen des Vaters, werden die Konfigurationsgruppen der Kinder mit modifiziert.

Diese Skripte sind nur für Leute empfehlenswert, die immer alle Konfigurationen der Variationskombinationen synchron zum Vaterartikel halten wollen.
Eventuell sollte man das über ein Funktionsattribut im Vater steuerbar machen?

Viel Spaß
Florian
 
Ähnliche Themen
Titel Forum Antworten Datum
Mehrere Zeilen kopieren klappt nicht mehr JTL-Wawi 2.0 1
Neu KI Kennzeichnung von Bildern Betrieb / Pflege von JTL-Shop 8
Die Suche von Stücklistenartikeln/Bundles funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu Update von 1.8.12.4 auf 2.0.5 - Kostenfreie Version - Registrierung erforderlich? User helfen Usern - Fragen zu JTL-Wawi 1
Wie übernehme ich Artikelnamen von JTL in den neuen Kaufland Niederlande-Verkaufskanal? JTL-Wawi 1.11 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Installieren von Plugins schlägt fehl "Unable to authenticate using a password." Plugins für JTL-Shop 3
Neu "alte" Bankverbindung beim Duplizieren von älteren Aufträgen User helfen Usern - Fragen zu JTL-Wawi 3
nach Update von 5.3 auf 5.7 neue Position im Warenkorb "Gebühr" die auch in den Auftrag übernommen werden Einrichtung JTL-Shop5 2
Neu E-Rechnungen werden von DATEV nicht akzeptiert JTL-Wawi 2.0 1
In Diskussion Tool für Abrechnung von Fulfillment Dienstleistungen Arbeitsabläufe im Fulfillment Network 0
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Neu JTL-Shop - Wechsel von Test zum Livebetrieb - was beachten ? Installation / Updates von JTL-Shop 2
Neu Unterschiedliche Abnahmeintervalle von Variationskombinationen in der Warenkorbmatrix Templates für JTL-Shop 0
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Lohnt sich das Update von 1.11.6 auf 2.0.4 aktuell? JTL-Wawi 2.0 2
Neu Abrechnung / Auslieferung von Aufträgen mit Gutschriftverfahren Arbeitsabläufe in JTL-Wawi 3
Erfahrungswerte Update von 1.8.12.2 auf 1.11.10 JTL-Wawi 1.11 4
Import von Aufträgen via tXMLBestellImport Tabelle seit Update sehr träge/langsam JTL-Wawi 1.11 3
Neu Update von Modul DHL 3.0 aud 4.0 - Versandlabels lassen sich nicht erstellen JTL-ShippingLabels - Fehler und Bugs 17
Neu Umzug von sehr alter JTL Wawi Version auf neuen PC User helfen Usern - Fragen zu JTL-Wawi 3
Update von 1.10.15 auf 1.11.10 JTL-Wawi 1.11 11
Neu Custom Checkout - Conversion optimiert mit Speicherung von Standard-Versandart und Zahlungsart am Kunden JTL-Shop - Ideen, Lob und Kritik 1
Neu ❓JTL Wawi Update von 1.8 auf ??? User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Doppelte Aufträge von Kunden filtern bzw. markieren JTL-Workflows - Ideen, Lob und Kritik 5
Neu Probleme beim Erstellen von Artikeln aus Angeboten von eBay User helfen Usern - Fragen zu JTL-Wawi 1
Update von 1.10.10.3 auf aktuellere Versionen JTL-Wawi 1.10 0
Fehler bei Bearbeitung von Attributen via HTML-Editor JTL-Wawi 2.0 3
Neu Versandart von Shopify zu JTL Wawi & Sendungsnummern von Wawi zu Shopify!? Shopify-Connector 0
Neu Update von 1.8.12.4 auf 1.11 User helfen Usern - Fragen zu JTL-Wawi 0
Worker bleibt beim empfangen/senden von Daten hängen JTL-Wawi 2.0 8
Absturz bei Hinzufügen von Artikelbildern JTL-Wawi 2.0 3
Update auf Shop 5.5.0 von 5.4.1 ist der Shop nicht mehr erreichbar Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Lieferadresse in PayPal-Transaktion weicht von der in der Wawi ab Plugins für JTL-Shop 0
Neu Streichpreise oder Rabatte für Staffelpreise von einem Artikel einrichten? Wie am Besten? JTL-Wawi 1.6 0
Neu Fehler beim Update der Datenbank von 1.11.7 auf 2.0.1 JTL-Wawi - Fehler und Bugs 7
Direktupdate von JTL Wawi 1.10.11.0 auf 2.0 möglich? JTL-Wawi 2.0 6

Ähnliche Themen