Fix duplicazione fatture attraverso sezionali diversi

This commit is contained in:
Luca 2023-02-01 20:05:39 +01:00
parent 1077ad31d7
commit 8543f9636d
3 changed files with 12 additions and 5 deletions

View File

@ -308,7 +308,6 @@ switch (post('op')) {
$list = [];
foreach ($id_records as $id) {
$fattura = Fattura::find($id);
array_push($list, $fattura->numero_esterno);
$id_segment = (post('id_segment') ? post('id_segment') : $fattura->id_segment);
$dir = $dbo->fetchOne('SELECT dir FROM co_tipidocumento WHERE id='.prepare($fattura->idtipodocumento))['dir'];
@ -332,9 +331,10 @@ switch (post('op')) {
if (post('skip_time') == 'Anno') {
$data = date('Y-m-d', strtotime('+1 year', strtotime($fattura->data)));
}
$new = $fattura->replicate();
$new->data = $data;
$new->id_segment = $id_segment;
$new->numero = Fattura::getNextNumero($data, $dir, $id_segment);
@ -360,6 +360,10 @@ switch (post('op')) {
$new_riga->movimenta($new_riga->qta);
}
}
if (!empty($fattura->numero_esterno)){
array_push($list, $fattura->numero_esterno);
}
}
flash()->info(tr('Fatture _LIST_ duplicate correttamente!', [

View File

@ -694,7 +694,7 @@ class Fattura extends Document
// 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->numero_esterno = null;
$new->numero = Fattura::getNextNumero($now, $new->direzione, $new->id_segment);
// Rimozione informazioni di Fattura Elettronica

View File

@ -152,4 +152,7 @@ ORDER BY
`scadenza` ASC" WHERE `name` = 'Scadenzario';
-- Aggiunta impostazione Movimentazione articoli da fatture di acquisto
INSERT INTO zz_settings(nome, valore, tipo, editable, sezione) VALUES ('Movimenta magazzino da fatture di acquisto','1','boolean','1','Fatturazione Elettronica');
INSERT INTO zz_settings(nome, valore, tipo, editable, sezione) VALUES ('Movimenta magazzino da fatture di acquisto','1','boolean','1','Fatturazione Elettronica');
-- Permetto valore null per numero_esterno di co_documenti
ALTER TABLE `co_documenti` CHANGE `numero_esterno` `numero_esterno` VARCHAR(100) NULL DEFAULT NULL;