mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-22 22:37:37 +01:00
Miglioramento duplicazione fatture
This commit is contained in:
parent
e15b99b049
commit
fc9a2cc9df
@ -215,9 +215,9 @@ function initPanel(controllo, success) {
|
||||
<table class="table table-striped table-hover table-condensed table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="15%">' . tr('Record') . '</th>
|
||||
<th>' . tr('Descrizione') . '</th>
|
||||
<th class="text-center" width="15%">' . tr('Opzioni') . '</th>
|
||||
<th width="15%">'.tr('Record').'</th>
|
||||
<th>'.tr('Descrizione').'</th>
|
||||
<th class="text-center" width="15%">'.tr('Opzioni').'</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
|
@ -307,22 +307,8 @@ switch (post('op')) {
|
||||
|
||||
// Duplicazione fattura
|
||||
case 'copy':
|
||||
$stato = Stato::where('descrizione', 'Bozza')->first();
|
||||
|
||||
$new = $fattura->replicate();
|
||||
$new->numero = Fattura::getNextNumero($new->data, $new->direzione, $new->id_segment);
|
||||
//if (!empty($fattura->numero_esterno)) {
|
||||
//$new->numero_esterno = Fattura::getNextNumeroSecondario($new->data, $new->direzione, $new->id_segment);
|
||||
//}
|
||||
|
||||
// In fase di duplicazione di una fattura non deve essere calcolato il numero progressivo ma questo deve
|
||||
// essere generato in fase di emissione della stessa.
|
||||
$new->numero_esterno = '';
|
||||
|
||||
$new->codice_stato_fe = null;
|
||||
$new->progressivo_invio = null;
|
||||
$new->data_stato_fe = null;
|
||||
$new->stato()->associate($stato);
|
||||
$new->save();
|
||||
|
||||
$id_record = $new->id;
|
||||
@ -332,16 +318,12 @@ switch (post('op')) {
|
||||
$new_riga = $riga->replicate();
|
||||
$new_riga->setDocument($new);
|
||||
|
||||
// Rimozione riferimenti (deorecati)
|
||||
// Rimozione riferimenti (deprecati)
|
||||
$new_riga->idpreventivo = 0;
|
||||
$new_riga->idcontratto = 0;
|
||||
$new_riga->idintervento = 0;
|
||||
$new_riga->idddt = 0;
|
||||
$new_riga->idordine = 0;
|
||||
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->original_type = null;
|
||||
$new_riga->original_id = null;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
|
@ -22,7 +22,6 @@ include_once __DIR__.'/../../core.php';
|
||||
use Modules\Aggiornamenti\Controlli\DatiFattureElettroniche;
|
||||
use Modules\Fatture\Export\CSV;
|
||||
use Modules\Fatture\Fattura;
|
||||
use Modules\Fatture\Stato;
|
||||
use Plugins\ExportFE\FatturaElettronica;
|
||||
use Plugins\ExportFE\Interaction;
|
||||
use Util\XML;
|
||||
@ -276,18 +275,6 @@ switch (post('op')) {
|
||||
$new->data = $data;
|
||||
$new->id_segment = $id_segment;
|
||||
$new->numero = Fattura::getNextNumero($data, $dir, $id_segment);
|
||||
//if (!empty($fattura->numero_esterno)) {
|
||||
//$new->numero_esterno = Fattura::getNextNumeroSecondario($data, $dir, $id_segment);
|
||||
//}
|
||||
|
||||
$new->numero_esterno = '';
|
||||
|
||||
$new->codice_stato_fe = null;
|
||||
$new->progressivo_invio = null;
|
||||
$new->data_stato_fe = null;
|
||||
|
||||
$stato = Stato::where('descrizione', 'Bozza')->first();
|
||||
$new->stato()->associate($stato);
|
||||
|
||||
$new->save();
|
||||
|
||||
@ -304,9 +291,6 @@ switch (post('op')) {
|
||||
$new_riga->idordine = 0;
|
||||
}
|
||||
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->original_type = null;
|
||||
$new_riga->original_id = null;
|
||||
$new_riga->save();
|
||||
|
||||
if ($new_riga->isArticolo()) {
|
||||
|
@ -650,6 +650,29 @@ class Fattura extends Document
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function replicate(array $except = null)
|
||||
{
|
||||
$new = parent::replicate($except);
|
||||
|
||||
// In fase di duplicazione di una fattura non deve essere calcolato il numero progressivo ma questo deve
|
||||
// essere generato in fase di emissione della stessa.
|
||||
$new->numero_esterno = '';
|
||||
|
||||
// Rimozione informazioni di Fattura Elettronica
|
||||
$new->hook_send = false;
|
||||
$new->codice_stato_fe = null;
|
||||
$new->progressivo_invio = null;
|
||||
$new->data_stato_fe = null;
|
||||
$new->descrizione_ricevuta_fe = null;
|
||||
$new->id_ricevuta_principale = null;
|
||||
|
||||
// Spostamento dello stato
|
||||
$stato = Stato::where('descrizione', 'Bozza')->first();
|
||||
$new->stato()->associate($stato);
|
||||
|
||||
return $new;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce l'elenco delle note di credito collegate.
|
||||
*
|
||||
|
@ -352,6 +352,17 @@ abstract class Component extends Model
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function replicate(array $except = null)
|
||||
{
|
||||
$new = parent::replicate($except);
|
||||
|
||||
$new->qta_evasa = 0;
|
||||
$new->original_type = null;
|
||||
$new->original_id = null;
|
||||
|
||||
return $new;
|
||||
}
|
||||
|
||||
/**
|
||||
* Azione personalizzata per la copia dell'oggetto (inizializzazione della copia).
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user