diff --git a/modules/contratti/src/Contratto.php b/modules/contratti/src/Contratto.php
index bcf439dad..e796cded1 100755
--- a/modules/contratti/src/Contratto.php
+++ b/modules/contratti/src/Contratto.php
@@ -201,7 +201,7 @@ class Contratto extends Document
/**
* Effettua un controllo sui campi del documento.
- * Viene richiamatp dalle modifiche alle righe del documento.
+ * Viene richiamato dalle modifiche alle righe del documento.
*/
public function triggerEvasione(Description $trigger)
{
diff --git a/modules/ddt/buttons.php b/modules/ddt/buttons.php
index 3fd8bc761..2f959573d 100755
--- a/modules/ddt/buttons.php
+++ b/modules/ddt/buttons.php
@@ -1,9 +1,11 @@
fileurl('crea_documento.php').'?id_module='.$id_module.'&id_record='.$id_record.'&documento=fattura" data-toggle="modal" data-title="'.tr('Crea fattura').(($dir == 'entrata') ? ' di vendita' : ' di acquisto').'">
+ 'Evaso, Parzialmente evaso, Parzialmente fatturato',
+]).'">
+';
diff --git a/modules/ddt/src/DDT.php b/modules/ddt/src/DDT.php
index 80ab641dd..8501a4e23 100755
--- a/modules/ddt/src/DDT.php
+++ b/modules/ddt/src/DDT.php
@@ -106,6 +106,16 @@ class DDT extends Document
return $this->tipo->dir;
}
+ public function isImportabile()
+ {
+ $stati_non_importabili = ['Bozza', 'Fatturato'];
+
+ $database = database();
+ $causale = $database->fetchOne('SELECT * FROM `dt_causalet` WHERE `id` = '.prepare($this->idcausalet));
+
+ return $causale['is_importabile'] && !in_array($this->stato->descrizione, $stati_non_importabili);
+ }
+
/**
* Restituisce il peso calcolato sulla base degli articoli del documento.
*
@@ -175,7 +185,7 @@ class DDT extends Document
/**
* Effettua un controllo sui campi del documento.
- * Viene richiamatp dalle modifiche alle righe del documento.
+ * Viene richiamato dalle modifiche alle righe del documento.
*/
public function triggerEvasione(Description $trigger)
{
@@ -208,7 +218,6 @@ class DDT extends Document
*
* @param string $data
* @param string $direzione
- * @param int $id_segment
*
* @return string
*/
diff --git a/modules/fatture/add_ddt.php b/modules/fatture/add_ddt.php
index 757b6d316..454d76108 100755
--- a/modules/fatture/add_ddt.php
+++ b/modules/fatture/add_ddt.php
@@ -31,12 +31,12 @@ $id_anagrafica = $documento_finale->idanagrafica;
echo '
- {[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT dt_ddt.id, CONCAT(\'DDT num. \', IF(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\'), \' [\', (SELECT descrizione FROM dt_statiddt WHERE id = idstatoddt) , \']\') AS descrizione FROM dt_ddt WHERE idanagrafica='.prepare($id_anagrafica).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoddt=(SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0) ORDER BY data DESC, numero DESC" ]}
+ {[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT dt_ddt.id, CONCAT(\'DDT num. \', IF(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\'), \' [\', (SELECT descrizione FROM dt_statiddt WHERE id = idstatoddt) , \']\') AS descrizione FROM dt_ddt LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet` WHERE idanagrafica='.prepare($id_anagrafica).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoddt=(SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') AND `dt_causalet`.`is_importabile` = 1 AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0) ORDER BY data DESC, numero DESC" ]}