Magento Каждый новый инкремент Увеличение идентификатора счета на 5?

21

Мне нужно увеличить каждый новый идентификатор счета на 5, я пробовал ниже код.

Но изменились все счета, отгрузки, заказы и кредитовые авизо.

Мне нужно каждое новое увеличение идентификатора счета на 5, увеличение отгрузки на 5 и увеличение кредитовых авизо на 3.

Также увеличение заказа клиента на 1 (нормальное).

Как я могу это сделать .?

Любой, помогите мне.

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);
    }
}
VijayS91
источник
Мне интересно узнать, зачем вам это поведение?
Раджив К Томи
@programmer_rkt изучение функциональности ядра Magento ...! Мой TL дает образец задания.
VijayS91
@VijayS Я считаю, что atwix.com/magento/custom-order-and-customer-numbers - это хорошее сообщение в блоге о создании пользовательской модели приращения
Дэвид Мэннерс,

Ответы:

4

Вы можете написать триггеры для идентификатора или написать процедуру для изменения идентификатора автоинкремента на значение +5 каждый раз, когда вставляется запись. Убедитесь, что изменили отношения между родителями и детьми.


источник
1

Вы можете установить различные модели приращений для каждого типа документа в базе данных. Теперь они используют один и тот же класс, поэтому изменения затрагивают все типы.

Кроме того, вы можете проверить тип объекта внутри этого метода и применить собственную логику приращения номера.

В качестве третьего варианта вы можете выполнить поиск magento connect для индивидуального расширения номера заказа.

Amasty
источник