Neu Product-Attribute (Funktionsattribute): Kann nur 2 übermitteln?!

Cangoou

Mitglied
2. November 2021
8
0
Hallo!

Im pull des ProductControllers mache ich folgendes:

Code:
public function pull(QueryFilter $queryFilter): array {
...
$model = (new Product)
   ->setId(new Identity($sMyId);
...
$this->addAttribute($model, "Attribute1", true, TranslatableAttribute::TYPE_BOOL);
$this->addAttribute($model, "Attribute2", false, TranslatableAttribute::TYPE_BOOL);
$this->addAttribute($model, "Attribute3", true, TranslatableAttribute::TYPE_BOOL);
...
}

function addAttribute($model, $sName, $sValue, $Type = TranslatableAttribute::TYPE_STRING)
    {    $jtlAttribute = (new TranslatableAttribute)
            ->setType($Type);
    
        $jtlAttributeI18 = (new TranslatableAttributeI18n)
            ->setName($sName)
            ->setValue($sValue)           
            ->setLanguageIso("de");
        $jtlAttribute->addI18n($jtlAttributeI18);
                
        $model->addAttribute($jtlAttribute);
    }

Ich mache nun einen Abgleich von 1 Produkt in eine frische JTL-DB und erhalte die Meldung:
Artikel-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Verletzung der PRIMARY KEY-Einschränkung "PK_tArtikelAttributSprache". Ein doppelter Schlüssel kann in das dbo.tArtikelAttributSprache-Objekt nicht eingefügt werden. Der doppelte Schlüsselwert ist (1, 0).

Unter Artikel -> Attribute sind aber alle 3 Attribute als Funktionsattribute eingetragen.

In den Log-Dateien finde ich nichts Auffälliges.

Nur: Lasse ich "Attribut3" weg, läuft der Artikelimport ohne Probleme durch. Kann aber nicht sein, dass nur 2 Attribute möglich sind, oder?

Was mache ich falsch? Ist das überhaupt die richtige Stelle, um Produkt-Funktionsattribute zu setzen?