Om ordernummers en factuurnummers te starten vanaf 20130001 en vervolgens op te laten lopen heb ik de volgende bestanden aangepast:
administrator\components\com_virtuemart\helpers\config.php
Code:
regel 48: defined('VM_ORDER_OFFSET') or define('VM_ORDER_OFFSET',20130001);
administrator\components\com_virtuemart\models\orders.php
Code:
regel 1143 //We can use that here, because the order_number is free to set, the invoice_number must often follow special rules
$count = $db->loadResult();
$data = $count + (int)VM_ORDER_OFFSET;
// vmdebug('my db creating ordernumber VM_ORDER_OFFSET '.VM_ORDER_OFFSET.' $count '.$count, $this->_db);
// $variable_fixed=sprintf("%06s",$num_rows);
// $data = substr( md5( session_id().(string)time().(string)$uid )
// ,0
// ,$length
// ).'0'.$count;
return $data;
}
regel 1203
if(empty($data['invoice_number'])) {
//$variable_fixed=sprintf("%05s",$num_rows);
// $date = date("Y-m-d");
// $date = JFactory::getDate()->toMySQL();
// $data['invoice_number'] = str_replace('-', '', //substr($date,2,8)).substr(md5($orderDetails['order_number'].$orderDetails['order_status']),0,3).'0'.$count;
$data['invoice_number'] = $orderDetails['order_number'];
In dit geval beginnen de order- en factuurnummers met 20130001 en de volgende 20130002 enz.
Misschien hebben jullie er wat aan.
N.B. Dit is een core hack en moet bij elke update van virtuemart (als bovenstaande bestanden daarbij betrokken zijn) aangepast worden.
Edit Anne M: Ik heb code tussen codetags geplaatst. Volgende keer graag zelf doen