Fatture e numero progressivo
Moderatore: mod Generali
Fatture e numero progressivo
Salve,
ho implementato nel modulo delle fatture il numero della fattura.
per fare ciò l'ho legato al numero dell'ordine.
ora il problema è che un cliente ha volto annullare l'ordine(per mancanza di disponibilità) e nonostante io abbia cancellato l'ordine il contatore progressivo ne tiene conto lo stesso.
Come faccio a farlo ripartire ,ad es., da 10 invece che da 11?
Ps:per il momento ho risolto modificando il numero nelle tabelle del database(ma è una rottura perchè devo modificare praticamente tutte le orders_...)
ho implementato nel modulo delle fatture il numero della fattura.
per fare ciò l'ho legato al numero dell'ordine.
ora il problema è che un cliente ha volto annullare l'ordine(per mancanza di disponibilità) e nonostante io abbia cancellato l'ordine il contatore progressivo ne tiene conto lo stesso.
Come faccio a farlo ripartire ,ad es., da 10 invece che da 11?
Ps:per il momento ho risolto modificando il numero nelle tabelle del database(ma è una rottura perchè devo modificare praticamente tutte le orders_...)
se è legato all'id ti sconsiglio anche di andarci a mettere mano, rischi l'incasinamento della tabella (ravvedibile comodamente con una contrib per la manutenzione del mysql).
Ti conviene cercare una soluzione slegata dal sistema del counter id, magari creare una nuova riga con un counter che pero' non sia l'id (che è anche un campo chiave, cioè serve per legare qsta tabella ad altre).
Ti conviene cercare una soluzione slegata dal sistema del counter id, magari creare una nuova riga con un counter che pero' non sia l'id (che è anche un campo chiave, cioè serve per legare qsta tabella ad altre).
saluti, Caneblu
[ www.caneblu.com ]
[ www.caneblu.com ]
come ho detto prima il campo è un campo chiave (cioè serve per il collegamento ad altre tabelle, pertanto rischi di non avere piu' il collegamento oppure collegare fatture a clienti che non centrano un tubo).
Per aggiungere un campo serve un po' di conoscenza di php, fai come fanno tutti (me compreso) cerca un campo che gli assomigli per funzione e prova a comprenderne il funzioamento facendo modifche e vedendo i risultati. Cmq ci sono sempre i corsi online tipo www.html.it
Per aggiungere un campo serve un po' di conoscenza di php, fai come fanno tutti (me compreso) cerca un campo che gli assomigli per funzione e prova a comprenderne il funzioamento facendo modifche e vedendo i risultati. Cmq ci sono sempre i corsi online tipo www.html.it
saluti, Caneblu
[ www.caneblu.com ]
[ www.caneblu.com ]
6 pure facilitato, se hai installato Piva ti trovi la falsa riga di funzionamento direttamente in invoice.php (leggendo l'install molti hanno campito come creare un nuovo campo) per inserire un nuovo campo preso dal db.
saluti, Caneblu
[ www.caneblu.com ]
[ www.caneblu.com ]
eoricamente dovrei aggiungere delle riche simili a queste:
così definisco il campo da guardare,no?
così lo visualizzo, vero?
Codice: Seleziona tutto
$oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);
$orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");
Codice: Seleziona tutto
<?php echo tep_db_input($oID); ?>
si il concetto è quello giusto, va affinata la pratica.
prima crei la qry
terminata la variabile si deve creare l'array
a questo punto puoi richiamare il tuo campo nella parte html
prima crei la qry
Codice: Seleziona tutto
$variabile = tep_db_query ("SELECT campo FROM tabella WHERE condizioneA = condizioneB");
Codice: Seleziona tutto
$variabilerichiamata = tep_db_fetch_array($variabile);
Codice: Seleziona tutto
echo $variabilerichiamata['campo'];
saluti, Caneblu
[ www.caneblu.com ]
[ www.caneblu.com ]
allora:
ho creato un nuovo campo nella tabella orders chiamato fatture_id(impostato in INT, not null)
a questo punto ho inserito nell'invoice.php le seguenti righe:
ora mi visualizza sempre 1
qualsiasi fattura stia guardando...
credo non sia corretta fatture_id = orders_id
grazie
ho creato un nuovo campo nella tabella orders chiamato fatture_id(impostato in INT, not null)
a questo punto ho inserito nell'invoice.php le seguenti righe:
Codice: Seleziona tutto
$fatture_query = tep_db_query("select fatture_id from " . TABLE_ORDERS . " where fatture_id = orders_id");
$fID = tep_db_fetch_array($fatture_query);
Codice: Seleziona tutto
echo $fID['fatture_id'];
qualsiasi fattura stia guardando...
credo non sia corretta fatture_id = orders_id
grazie
già è vero, si puo' usare una volta sola per tavola... la faccenda si complica.
ti tocca creare una nuova tabella con l'id incrementale e l'id order da collegare (con la qry sql che hai creato in precedenza) alla tabella orders
ti tocca creare una nuova tabella con l'id incrementale e l'id order da collegare (con la qry sql che hai creato in precedenza) alla tabella orders
saluti, Caneblu
[ www.caneblu.com ]
[ www.caneblu.com ]
allora è molto piu' semplice, devi creare una form se guardi il file /includes/functions/html_output.php trovi tutte le funzioni che regolano l'html
saluti, Caneblu
[ www.caneblu.com ]
[ www.caneblu.com ]
ho dato un'occhiata al file, devo usa questo:
Codice: Seleziona tutto
////
// Output a form input field
function tep_draw_input_field($name, $value = '', $parameters = '', $required = false, $type = 'text', $reinsert_value = true) {
$field = '<input type="' . tep_output_string($type) . '" name="' . tep_output_string($name) . '"';
if (isset($GLOBALS[$name]) && ($reinsert_value == true) && is_string($GLOBALS[$name])) {
$field .= ' value="' . tep_output_string(stripslashes($GLOBALS[$name])) . '"';
} elseif (tep_not_null($value)) {
$field .= ' value="' . tep_output_string($value) . '"';
}
if (tep_not_null($parameters)) $field .= ' ' . $parameters;
$field .= '>';
if ($required == true) $field .= TEXT_FIELD_REQUIRED;
return $field;
}