A volte sorge la necessità in cui si deve cambiare l’ordine di numerazione Magento. Ad esempio dopo aver sviluppato un nuovo sito in Magento, ed aver effettuato degli ordini di prova compresa la stampa di fatture di test, può essere necessario, cancellare tutti gli ordini e le fatture, e fare in modo che le nuove fatture ripartano dalla numerazione di zero.

Può anche solo essere necessario voler aumentare il numero d’ordine. Qualunque sia il motivo, vediamo alcuni comandi SQL da eseguire sul database per controllare lo stato dei numeri d’ordine del vostro negozio, ed eventualmente per modificare la numerazione attuale. Inoltre, oltre a voler modificare la numerazione degli ordini e delle fatture si può avere anche la necessità di modificare la numerazione delle note di credito.

Nota Bene: Queste query sono state testati su Magento Community Edition v1.6.2.0Eseguire sempre il backup del database prima di apportare modifiche.

Query per trovare l’ attuale ID di incremento per tutti i negozi:

SELECT core_store_group.name AS group_name, core_website.name AS website_name, core_store.name AS store_name, core_store.store_id, increment_prefix, increment_last_id, entity_type_code
FROM eav_entity_store
INNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
INNER JOIN core_store ON core_store.store_id = eav_entity_store.store_id
INNER JOIN core_store_group ON core_store_group.group_id = core_store.group_id
INNER JOIN core_website ON core_website.website_id = core_store.website_id
WHERE eav_entity_store.store_id != 0 ORDER BY eav_entity_store.store_id;

Verrà visualizzato il tuo ID di incremento attuale e prefisso per tutti i tipi di documenti (preventivi , ordini, fatture, spedizioni e note di credito ) . Inoltre vi mostrerà il nome del sito , il nome del negozio per aiutarvi ad aggiornare un negozio specifico tra più negozi .
Quando si apportano modifiche tenere a mente che il tipo di campo increment_prefix è di tipo varchar ( 20 ) e che il tipo di campo increment_last_id è di tipo varchar ( 50) .

Cambiare il tuo ordine Increment ID su tutti i negozi

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’;

Sostituire le X con il vostro numero d’ordine desiderato ed eseguire la query.

 

Cambia il tuo Increment ID sulle fatture su tutti i negozi

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’;

Sostituire le X con il numero della fattura desiderato ed eseguire la query.

 

Cambiare il prefisso Fattura su tutti i negozi

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_prefix=’X’
WHERE eav_entity_type.entity_type_code=’invoice’;


Sostituire la X con il prefisso fattura desiderato o rimuovere le virgolette e impostare X a NULL (senza virgolette) per disattivare il prefisso, quindi eseguire la query.