1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-23 06:47:40 +01:00

Miglioramento duplicazione fatture

This commit is contained in:
Dasc3er 2021-03-01 14:46:13 +01:00
parent e15b99b049
commit fc9a2cc9df
5 changed files with 38 additions and 38 deletions

View File

@ -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>

View File

@ -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()) {

View File

@ -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()) {

View File

@ -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.
*

View File

@ -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).
*