diff --git a/include/manager.php b/include/manager.php
index 30f1b862a..f9ff26501 100644
--- a/include/manager.php
+++ b/include/manager.php
@@ -139,7 +139,7 @@ if (!empty($module_options) && $module_options != 'menu' && $module_options != '
}
echo '
-
'.$text.'';
+ '.$text.'';
}
echo '
diff --git a/modules/ddt/bulk.php b/modules/ddt/bulk.php
index eef9b6b47..7fdff5c5e 100644
--- a/modules/ddt/bulk.php
+++ b/modules/ddt/bulk.php
@@ -136,9 +136,32 @@ switch (post('op')) {
}
break;
+
+
+
+
+ case 'delete-bulk':
+
+
+ foreach ($id_records as $id) {
+
+ $dbo->query('DELETE FROM dt_ddt WHERE id = '.prepare($id).Modules::getAdditionalsQuery($id_module));
+ $dbo->query('DELETE FROM dt_righe_ddt WHERE idddt='.prepare($id).Modules::getAdditionalsQuery($id_module));
+ $dbo->query('DELETE FROM mg_movimenti WHERE idddt='.prepare($id).Modules::getAdditionalsQuery($id_module));
+
+ }
+
+ $_SESSION['infos'][] = tr('Ddt eliminati!');
+
+ break;
+
+
}
return [
+
+ 'delete-bulk' => tr('Elimina selezionati'),
+
'export-bulk' => [
'text' => tr('Esporta stampe'),
'data' => [
diff --git a/modules/ddt/modutil.php b/modules/ddt/modutil.php
index b6e58d7dd..a2c8e4183 100644
--- a/modules/ddt/modutil.php
+++ b/modules/ddt/modutil.php
@@ -23,20 +23,42 @@ function get_new_numerosecondarioddt($data)
{
global $dbo;
global $dir;
-
- $query = "SELECT numero_esterno FROM dt_ddt WHERE DATE_FORMAT( data, '%Y' ) = '".date('Y', strtotime($data))."' AND idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir='".$dir."') ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1";
- $rs = $dbo->fetchArray($query);
- $numero_secondario = $rs[0]['numero_esterno'];
-
+
+
// Calcolo il numero secondario se stabilito dalle impostazioni e se documento di vendita
$formato_numero_secondario = get_var('Formato numero secondario ddt');
+
+ $query = "SELECT numero_esterno FROM dt_ddt WHERE DATE_FORMAT( data, '%Y' ) = '".date('Y', strtotime($data))."' AND idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir='".$dir."')";
+
+ // estraggo blocchi di caratteri standard da sostituire
+ preg_match('/[#]+/', $formato_numero_secondario, $m1 );
+ preg_match('/[Y]+/', $formato_numero_secondario, $m2 );
+ // Marzo 2017
+ // nel caso ci fossero lettere o numeri prima della maschera ### per il numero (es. 18-####)
+ // è necessario l'ordinamento alfabetico "ORDER BY numero_esterno" altrimenti
+ // nel caso di maschere del tipo 0001-2018 è necessario l'ordinamento numerico "ORDER BY CAST(numero_esterno AS UNSIGNED)"
+ $pos1 = strpos( $formato_numero_secondario, $m1[0] );
+ if( $pos1==0 ):
+ $query .= " ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1";
+ else:
+ $query .= " ORDER BY numero_esterno DESC LIMIT 0,1";
+ endif;
+
+ $rs = $dbo->fetchArray($query);
+ $numero_secondario = $rs[0]['numero_esterno'];
if ($numero_secondario == '') {
$numero_secondario = $formato_numero_secondario;
}
if ($formato_numero_secondario != '' && $dir == 'entrata') {
- $numero_esterno = get_next_code($numero_secondario, 1, $formato_numero_secondario);
+ //$numero_esterno = get_next_code($numero_secondario, 1, $formato_numero_secondario);
+ $numero_esterno = Util\Generator::generate($formato_numero_secondario, $numero_secondario);
+ /*echo $query."
";
+ echo $numero_secondario."
";
+ echo $formato_numero_secondario."
";
+ echo $numero_esterno."
";
+ exit;*/
} else {
$numero_esterno = '';
}