Magento Jede neue Rechnung erhöht die ID um 5?


21

Ich muss jede neue Rechnungs-ID um 5 erhöhen. Ich habe versucht, den folgenden Code zu verwenden.

Aber alle Rechnungen, Sendungen, Bestellungen und Gutschriften geändert.

Ich benötige jedes neue Rechnungs-ID-Inkrement um 5, jedes Versand-Inkrement um 5 und jedes Gutschrifts-Inkrement um 3.

Auch Kundenauftragsinkrement um 1 (normal).

Wie kann ich das machen .?

Jeder hilft mir.

class Mage_Eav_Model_Entity_Increment_Numeric extends Mage_Eav_Model_Entity_Increment_Abstract    
{
   public function getNextId()
    {
        $last = $this->getLastId();

        if (strpos($last, $this->getPrefix()) === 0) {
            $last = (int)substr($last, strlen($this->getPrefix()));
        } else {
            $last = (int)$last;
        }

        $next = $last + 5;

        return $this->format($next);
    }
}

Ich bin interessiert zu wissen, warum Sie dieses Verhalten brauchen?
Rajeev K Tomy

@programmer_rkt Lernen der Magento-Kernfunktionalität ...! Mein TL gibt Beispielaufgabe.
VijayS91

@VijayS Ich finde, dass atwix.com/magento/custom-order-and-customer-numbers ein guter Blog-Beitrag zum Erstellen eines benutzerdefinierten Inkrement-Modells ist
David Manners

Antworten:


4

Sie können die Auslöser für ID schreiben oder eine Prozedur schreiben, um die Autoincrement-ID jedes Mal auf +5 zu setzen, wenn ein Datensatz eingefügt wird. Stellen Sie sicher, dass Sie die Eltern-Kind-Beziehungen ändern.


1

Sie können für jeden Dokumenttyp in der Datenbank verschiedene Inkrementmodelle festlegen. Jetzt verwenden sie dieselbe Klasse, sodass sich die Änderungen auf alle Typen auswirken.

Alternativ können Sie den Entitätstyp in dieser Methode überprüfen und eine benutzerdefinierte Logik für das Inkrementieren von Zahlen anwenden.

Als dritte Option können Sie in magento connect nach der Erweiterung der benutzerdefinierten Bestellnummer suchen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.