Jika saya ingin terus menggunakan tipe kenaikan standar Magento dan hanya ingin mengubah nomor kenaikan berikutnya, inilah yang saya gunakan.
Pastikan untuk hanya menggunakan angka kenaikan yang lebih besar dari yang sudah digunakan!
SET @next_increment='310000000';
SELECT @entity_types:=GROUP_CONCAT(`entity_type_id`) FROM `eav_entity_type`
WHERE `entity_type_code` IN ('order','invoice','shipment');
SELECT @new_last_increment:=GREATEST((@next_increment-1),(SELECT MAX(`increment_last_id`) FROM `eav_entity_store`
WHERE FIND_IN_SET(`entity_type_id`,@entity_types)));
UPDATE `eav_entity_store` SET `increment_last_id`=@new_last_increment
WHERE FIND_IN_SET(`entity_type_id`,@entity_types);
SQL ini harus berhati-hati agar tidak secara tidak sengaja menetapkan ID kenaikan yang sudah digunakan.
Jika kenaikan yang lebih besar maka next_incrementsudah digunakan, itu hanya menetapkan angka kenaikan terakhir untuk ketiga jenis entitas yang sama.
Tidak yakin tentang tuas pengaman, tetapi saya melakukannya dengan memodifikasi nilai dalam DB secara langsung:
UPDATE `eav_entity_store` s
INNER JOIN `eav_entity_type` t ON t.`entity_type_id`= s.`entity_type_id`
SET s.`increment_last_id`='your_increment_here'
WHERE t.entity_type_code ="order";
Ganti kode jenis entitas dengan "faktur" atau "pengiriman" untuk melakukan hal yang sama untuk yang lain.
Jika Anda ingin menggunakan rentang nomor khusus atau format untuk ID kenaikan alih-alih kenaikan Magento default, Anda juga dapat menetapkan model kenaikan khusus.
Sebagai contoh:
classMy_Shop_Model_Entity_Increment_ErpextendsMage_Eav_Model_Entity_Increment_Abstract{publicfunction getNextId(){
$last = $this->getLastId();
$entity = $this->getEntityTypeId();
$store = $this->getStoreId()
$next =Mage::helper('my_shop/api')->getNextIncrementFromErp($last, $entity, $store);// If you want to apply pad char and length, otherwise simply return $nextreturn $this->format($next);}}
Kemudian, perbarui model kenaikan untuk entitas dalam skrip pengaturan:
Cara [teraman untuk magento] terbaik untuk mengubah nomor pesanan adalah mengubah nomor pesanan berikutnya dan bukan yang sebelumnya. Ini dapat dilakukan dengan permintaan basis data sederhana. Ini adalah yang saya gunakan di situs saya dan berfungsi tanpa masalah selama hampir satu tahun sekarang.
Memesan:
UPDATE eav_entity_store
INNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
SET eav_entity_store.increment_last_id='XXXXXXXXXX'
WHERE eav_entity_type.entity_type_code='order';
Faktur:
UPDATE eav_entity_store
INNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
SET eav_entity_store.increment_last_id='XXXXXXXXXX'
WHERE eav_entity_type.entity_type_code='invoice';
Pengiriman:
UPDATE eav_entity_store
INNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
SET eav_entity_store.increment_last_id='XXXXXXXXXX'
WHERE eav_entity_type.entity_type_code='shipment';
Kueri ini akan mengubah id kenaikan berikutnya untuk toko magento Anda. CATATAN: Ganti X dengan id berikutnya yang Anda inginkan.
UPDATE eav_entity_store
INNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
SET eav_entity_store.increment_last_id='XXXXXXXXXX'
WHERE eav_entity_type.entity_type_code='order';
UPDATE eav_entity_store
INNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
SET eav_entity_store.increment_last_id='XXXXXXXXXX'
WHERE eav_entity_type.entity_type_code='invoice';
Jawaban:
Jika saya ingin terus menggunakan tipe kenaikan standar Magento dan hanya ingin mengubah nomor kenaikan berikutnya, inilah yang saya gunakan.
Pastikan untuk hanya menggunakan angka kenaikan yang lebih besar dari yang sudah digunakan!
SQL ini harus berhati-hati agar tidak secara tidak sengaja menetapkan ID kenaikan yang sudah digunakan.
Jika kenaikan yang lebih besar maka
next_increment
sudah digunakan, itu hanya menetapkan angka kenaikan terakhir untuk ketiga jenis entitas yang sama.sumber
Tidak yakin tentang tuas pengaman, tetapi saya melakukannya dengan memodifikasi nilai dalam DB secara langsung:
Ganti kode jenis entitas dengan "faktur" atau "pengiriman" untuk melakukan hal yang sama untuk yang lain.
sumber
Jika Anda ingin menggunakan rentang nomor khusus atau format untuk ID kenaikan alih-alih kenaikan Magento default, Anda juga dapat menetapkan model kenaikan khusus.
Sebagai contoh:
Kemudian, perbarui model kenaikan untuk entitas dalam skrip pengaturan:
Pastikan untuk tidak mengembalikan ID kenaikan yang sudah digunakan sebelumnya!
sumber
Cara [teraman untuk magento] terbaik untuk mengubah nomor pesanan adalah mengubah nomor pesanan berikutnya dan bukan yang sebelumnya. Ini dapat dilakukan dengan permintaan basis data sederhana. Ini adalah yang saya gunakan di situs saya dan berfungsi tanpa masalah selama hampir satu tahun sekarang.
Memesan:
Faktur:
Pengiriman:
Kueri ini akan mengubah id kenaikan berikutnya untuk toko magento Anda. CATATAN: Ganti X dengan id berikutnya yang Anda inginkan.
Terima jawaban jika berhasil.
sumber
ID Penambahan Pesanan dan Awalan
Ubah ID Penambahan Pesanan Anda di Semua Toko
sumber