diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index 1cf192dec..15c82b3e5 100755 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -531,7 +531,7 @@ switch (filter('op')) { $new->numero = DDT::getNextNumero($new->data, $dir, $id_segment); $new->numero_esterno = DDT::getNextNumeroSecondario($new->data, $dir, $new->id_segment); - $stato = Stato::where('descrizione', '=', 'Bozza')->first(); + $stato = (new Stato())->getByName('Bozza')->id_record; $new->stato()->associate($stato); $new->save(); diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index dd1e27523..7db43f834 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -48,76 +48,76 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione)) { if (!empty($iva)) { if ($diff == 0) { echo ' -
- '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha raggiunto il massimale previsto di _MONEY_.", [ - '_MONEY_' => moneyFormat(abs($fattura->dichiarazione->massimale)), - '_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo, - ]).'. -
'; +
+ '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha raggiunto il massimale previsto di _MONEY_.", [ + '_MONEY_' => moneyFormat(abs($fattura->dichiarazione->massimale)), + '_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo, + ]).'. +
'; } elseif ($diff < 0) { echo ' -
- '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha superato il massimale previsto di _MONEY_.", [ - '_MONEY_' => moneyFormat(abs($diff)), - '_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo, - ]).'. -
'; +
+ '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha superato il massimale previsto di _MONEY_.", [ + '_MONEY_' => moneyFormat(abs($diff)), + '_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo, + ]).'. +
'; } elseif ($diff_in_days < 0) { echo ' -
- '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha come data fine validità _SCADENZA_ mentre la fattura ha data _DATA_", [ - '_SCADENZA_' => dateFormat($fattura->dichiarazione->data_fine), - '_DATA_' => dateFormat($fattura->data), - '_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo, - ]).'. -
'; +
+ '.tr("La dichiarazione d'intento _PROTOCOLLO_ ha come data fine validità _SCADENZA_ mentre la fattura ha data _DATA_", [ + '_SCADENZA_' => dateFormat($fattura->dichiarazione->data_fine), + '_DATA_' => dateFormat($fattura->data), + '_PROTOCOLLO_' => $fattura->dichiarazione->numero_protocollo, + ]).'. +
'; } } else { // TODO link ad impostazioni con nuova ricerca rapida echo ' -
- '.tr("Attenzione nessuna aliq. IVA definita per la dichiarazione d'intento. _SETTING_", [ - '_SETTING_' => Modules::link('Impostazioni', null, tr('Selezionala dalle impostazioni'), true, null, true, null, "&search=Iva per lettere d'intento"), - ]).' -
'; +
+ '.tr("Attenzione nessuna aliq. IVA definita per la dichiarazione d'intento. _SETTING_", [ + '_SETTING_' => Modules::link('Impostazioni', null, tr('Selezionala dalle impostazioni'), true, null, true, null, "&search=Iva per lettere d'intento"), +]).' +
'; } } // Autofattura if (!empty($fattura_acquisto_originale)) { echo ' -
- '.tr("Questa è un'autofattura generata da una fattura di acquisto").': - '.Modules::link('Fatture di acquisto', $fattura_acquisto_originale->id, tr('Fattura num. _NUM_ del _DATE_', [ - '_NUM_' => $fattura_acquisto_originale->numero_esterno, - '_DATE_' => dateFormat($fattura_acquisto_originale->data), - ])).' -
'; +
+ '.tr("Questa è un'autofattura generata da una fattura di acquisto").': + '.Modules::link('Fatture di acquisto', $fattura_acquisto_originale->id, tr('Fattura num. _NUM_ del _DATE_', [ + '_NUM_' => $fattura_acquisto_originale->numero_esterno, + '_DATE_' => dateFormat($fattura_acquisto_originale->data), + ])).' +
'; } if ($abilita_autofattura) { echo ' -
- '.tr("Per questa fattura è prevista la generazione di un'autofattura tramite Crea » Autofattura").'. -
'; +
+ '.tr("Per questa fattura è prevista la generazione di un'autofattura tramite Crea » Autofattura").'. +
'; } elseif ($fattura->id_autofattura != null) { echo ' -
- '.tr("È presente un'autofattura collegata").': - '.Modules::link('Fatture di vendita', $fattura->id_autofattura, tr('Fattura num. _NUM_ del _DATE_', [ - '_NUM_' => $autofattura_vendita->numero_esterno, - '_DATE_' => dateFormat($autofattura_vendita->data), - ])).' -
'; +
+ '.tr("È presente un'autofattura collegata").': + '.Modules::link('Fatture di vendita', $fattura->id_autofattura, tr('Fattura num. _NUM_ del _DATE_', [ + '_NUM_' => $autofattura_vendita->numero_esterno, + '_DATE_' => dateFormat($autofattura_vendita->data), + ])).' +
'; } elseif ($autofattura_collegata != null) { echo ' -
- '.tr('Questa autofattura è già stata importata come fattura di acquisto').': - '.Modules::link('Fatture di acquisto', $autofattura_collegata->id, tr('Fattura num. _NUM_ del _DATE_', [ - '_NUM_' => $autofattura_collegata->numero_esterno, - '_DATE_' => dateFormat($autofattura_collegata->data), - ])).' -
'; +
+ '.tr('Questa autofattura è già stata importata come fattura di acquisto').': + '.Modules::link('Fatture di acquisto', $autofattura_collegata->id, tr('Fattura num. _NUM_ del _DATE_', [ + '_NUM_' => $autofattura_collegata->numero_esterno, + '_DATE_' => dateFormat($autofattura_collegata->data), + ])).' +
'; } // Note di credito collegate @@ -141,24 +141,24 @@ if (!empty($note_accredito)) { if (!empty($fattura->ref_documento) && $fattura->isNota()) { $nota = Fattura::find($fattura->ref_documento); echo ' -
- '.tr('Questa è una _TIPO_ generata dalla seguente fattura', [ - '_TIPO_' => $fattura->tipo->name, - ]).': - '.Modules::link($module->name, $fattura->ref_documento, tr('Fattura num. _NUM_ del _DATE_', [ - '_NUM_' => $nota->numero_esterno, - '_DATE_' => dateFormat($nota->data), - ])).' -
'; +
+ '.tr('Questa è una _TIPO_ generata dalla seguente fattura', [ + '_TIPO_' => $fattura->tipo->name, + ]).': + '.Modules::link($module->name, $fattura->ref_documento, tr('Fattura num. _NUM_ del _DATE_', [ + '_NUM_' => $nota->numero_esterno, + '_DATE_' => dateFormat($nota->data), + ])).' +
'; } // Ricordo che si sta emettendo una fattura conto terzi if ($dir == 'entrata' && $fattura->stato->name == 'Bozza') { if ($fattura->is_fattura_conto_terzi) { echo ' -
- '.tr("Questa è una fattura per conto di terzi. Nell'XML della Fattura Elettronica sarà indicato il fornitore _FORNITORE_ come cessionario e il cliente come cedente/prestatore", ['_FORNITORE_' => '"'.stripslashes($database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).'"']).'. -
'; +
+ '.tr("Questa è una fattura per conto di terzi. Nell'XML della Fattura Elettronica sarà indicato il fornitore _FORNITORE_ come cessionario e il cliente come cedente/prestatore", ['_FORNITORE_' => '"'.stripslashes($database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).'"']).'. +
'; } } // Verifica aggiuntive sulla sequenzialità dei numeri @@ -172,12 +172,12 @@ if ($dir == 'entrata') { if (!empty($numero_previsto)) { echo ' -
- '.tr("E' assente una fattura di vendita di numero _NUM_ in data precedente o corrispondente a _DATE_: si potrebbero verificare dei problemi con la numerazione corrente delle fatture", [ - '_DATE_' => dateFormat($fattura->data), - '_NUM_' => '"'.$numero_previsto.'"', - ]).'. -
'; +
+ '.tr("E' assente una fattura di vendita di numero _NUM_ in data precedente o corrispondente a _DATE_: si potrebbero verificare dei problemi con la numerazione corrente delle fatture", [ + '_DATE_' => dateFormat($fattura->data), + '_NUM_' => '"'.$numero_previsto.'"', + ]).'. +
'; } // Verifica la data dell'intervento rispetto alla data della fattura @@ -197,9 +197,9 @@ if ($dir == 'entrata') { if ($fatturazione_futura) { echo ' -
- '.tr("Stai fatturando un'attività futura rispetto alla data di fatturazione.").' -
'; +
+ '.tr("Stai fatturando un'attività futura rispetto alla data di fatturazione.").' +
'; } } } @@ -213,9 +213,9 @@ foreach ($righe as $riga) { } if ($righe_vuote) { echo ' -
- '.tr("Nel documento sono presenti delle righe con quantità a 0.").' -
'; +
+ '.tr("Nel documento sono presenti delle righe con quantità a 0.").' +
'; } ?> @@ -289,15 +289,15 @@ $query .= ' ORDER BY `name`'; {[ "type": "date", "class":"unblockable", "label": "", "name": "data_competenza", "required": 1, "value": "$data_competenza$", "min-date": "$data$", "help": "" ]} - + ?>
> {[ "type": "select", "label": "", "name": "codice_stato_fe", "values": "query=SELECT codice as id, CONCAT_WS(' - ',codice,descrizione) as text FROM fe_stati_documento", "value": "$codice_stato_fe$", "disabled": , "class": "unblockable", "help": "" ]}
- {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "ajax-source": "clienti", "help": "fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']); ?>", "value": "$idanagrafica$" ]} - +?> {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "ajax-source": "fornitori", "value": "$idanagrafica$" ]} - - +
- {[ "type": "checkbox", "label": "", "name": "split_payment", "value": "$split_payment$", "help": "", "placeholder": "" ]} -
+ {[ "type": "checkbox", "label": "", "name": "split_payment", "value": "$split_payment$", "help": "", "placeholder": "" ]} +
- -
- {[ "type": "checkbox", "label": "", "name": "is_fattura_conto_terzi", "value": "$is_fattura_conto_terzi$", "help": "fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).') come cessionario e il cliente come cedente/prestatore.'); ?>", "placeholder": "" ]} -
+
+ {[ "type": "checkbox", "label": "", "name": "is_fattura_conto_terzi", "value": "$is_fattura_conto_terzi$", "help": "fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).') come cessionario e il cliente come cedente/prestatore.'); ?>", "placeholder": "" ]} +
- - {[ "type": "number", "label": "'.tr('Sconto in fattura').'", "name": "sconto_finale", "value": "'.($fattura->sconto_finale_percentuale ?: $fattura->sconto_finale).'", "icon-after": "choice|untprc|'.(empty($fattura->sconto_finale) ? 'PRC' : 'UNT').'", "help": "'.tr('Sconto in fattura, utilizzabile per applicare sconti sul Netto a pagare del documento e le relative scadenze').'. '.tr('Per utilizzarlo in relazione a una riga della Fattura Elettronica, inserire il tipo di dato in \'\'Attributi avanzati\'\' -> \'\'Altri Dati Gestionali\'\' -> \'\'TipoDato\'\' e il testo di descrizione in \'\'Attributi avanzati\'\' -> \'\'Altri Dati Gestionali\'\' -> \'\'RiferimentoTesto\'\' della specifica riga').'. '.tr('Nota: lo sconto in fattura non influenza i movimenti contabili').'." ]} - '; + + {[ "type": "number", "label": "'.tr('Sconto in fattura').'", "name": "sconto_finale", "value": "'.($fattura->sconto_finale_percentuale ?: $fattura->sconto_finale).'", "icon-after": "choice|untprc|'.(empty($fattura->sconto_finale) ? 'PRC' : 'UNT').'", "help": "'.tr('Sconto in fattura, utilizzabile per applicare sconti sul Netto a pagare del documento e le relative scadenze').'. '.tr('Per utilizzarlo in relazione a una riga della Fattura Elettronica, inserire il tipo di dato in \'\'Attributi avanzati\'\' -> \'\'Altri Dati Gestionali\'\' -> \'\'TipoDato\'\' e il testo di descrizione in \'\'Attributi avanzati\'\' -> \'\'Altri Dati Gestionali\'\' -> \'\'RiferimentoTesto\'\' della specifica riga').'. '.tr('Nota: lo sconto in fattura non influenza i movimenti contabili').'." ]} + '; } else { echo ' -
-
-
-
'; +
+
'; } if ($record['stato'] != 'Bozza' && $record['stato'] != 'Annullata') { @@ -470,14 +469,14 @@ if ($record['stato'] != 'Bozza' && $record['stato'] != 'Annullata') { if ($pagamento_iniziato) { echo ' - '; + '; } echo (empty($scadenza->da_pagare) ? '' : '').moneyFormat($scadenza->da_pagare); if ($pagamento_iniziato) { echo ' - '; + '; } if ($pagamento_iniziato && $scadenza->pagato != $scadenza->da_pagare) { @@ -503,21 +502,21 @@ if ($record['stato'] != 'Bozza' && $record['stato'] != 'Annullata') { - {[ "type": "checkbox", "label": "'.tr('Ritenuta pagata dal fornitore').'", "name": "is_ritenuta_pagata", "value": "$is_ritenuta_pagata$" ]} - '; +
+ {[ "type": "checkbox", "label": "'.tr('Ritenuta pagata dal fornitore').'", "name": "is_ritenuta_pagata", "value": "$is_ritenuta_pagata$" ]} +
'; } if ($dir == 'entrata') { echo ' -
'; +
'; if (!empty($record['id_dichiarazione_intento'])) { echo Plugins::link("Dichiarazioni d'Intento", $record['idanagrafica'], null, null, 'class="pull-right"'); } echo ' - {[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "help": "'.tr('Elenco delle dichiarazioni d\'intento definite all\'interno dell\'anagrafica del cliente').'.", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "data": "'.$record['data'].'"},"value": "$id_dichiarazione_intento$", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Dichiarazioni d\'Intento')['id'].'&id_parent='.$record['idanagrafica'].'", "extra": "'.((intval($block_edit)) ? 'disabled' : '').'" ]} -
'; + {[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "help": "'.tr('Elenco delle dichiarazioni d\'intento definite all\'interno dell\'anagrafica del cliente').'.", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "data": "'.$record['data'].'"},"value": "$id_dichiarazione_intento$", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Dichiarazioni d\'Intento')['id'].'&id_parent='.$record['idanagrafica'].'", "extra": "'.((intval($block_edit)) ? 'disabled' : '').'" ]} +
'; } echo ' '; @@ -597,42 +596,42 @@ if ($record['descrizione_tipo'] == 'Fattura accompagnatoria di vendita') { {[ "type": "select", "label": "", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": , "required": , "icon-after": "add||tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|", "class": "" ]} - + $("#idcausalet").change(function() { + if ($(this).val() == 3) { + $("#tipo_resa").attr("disabled", false); + }else{ + $("#tipo_resa").attr("disabled", true); + } + }); + '; echo ' -
-
- {[ "type": "number", "label": "'.tr('Peso').'", "name": "peso", "value": "$peso$", "readonly": "'.intval(empty($record['peso_manuale'])).'", "help": "'.tr('Il valore del campo Peso viene calcolato in automatico sulla base degli articoli inseriti nel documento, a meno dell\'impostazione di un valore manuale in questo punto').'" ]} - -
+
+
+ {[ "type": "number", "label": "'.tr('Peso').'", "name": "peso", "value": "$peso$", "readonly": "'.intval(empty($record['peso_manuale'])).'", "help": "'.tr('Il valore del campo Peso viene calcolato in automatico sulla base degli articoli inseriti nel documento, a meno dell\'impostazione di un valore manuale in questo punto').'" ]} + +
-
- {[ "type": "checkbox", "label": "'.tr('Modifica peso').'", "name": "peso_manuale", "value":"$peso_manuale$", "help": "'.tr('Seleziona per modificare manualmente il campo Peso').'", "placeholder": "'.tr('Modifica peso').'" ]} -
+
+ {[ "type": "checkbox", "label": "'.tr('Modifica peso').'", "name": "peso_manuale", "value":"$peso_manuale$", "help": "'.tr('Seleziona per modificare manualmente il campo Peso').'", "placeholder": "'.tr('Modifica peso').'" ]} +
-
- {[ "type": "number", "label": "'.tr('Volume').'", "name": "volume", "value": "$volume$", "readonly": "'.intval(empty($record['volume_manuale'])).'", "help": "'.tr('Il valore del campo Volume viene calcolato in automatico sulla base degli articoli inseriti nel documento, a meno dell\'impostazione di un valore manuale in questo punto').'" ]} - -
+
+ {[ "type": "number", "label": "'.tr('Volume').'", "name": "volume", "value": "$volume$", "readonly": "'.intval(empty($record['volume_manuale'])).'", "help": "'.tr('Il valore del campo Volume viene calcolato in automatico sulla base degli articoli inseriti nel documento, a meno dell\'impostazione di un valore manuale in questo punto').'" ]} + +
-
- {[ "type": "checkbox", "label": "'.tr('Modifica volume').'", "name": "volume_manuale", "value":"$volume_manuale$", "help": "'.tr('Seleziona per modificare manualmente il campo Volume').'", "placeholder": "'.tr('Modifica volume').'" ]} +
+ {[ "type": "checkbox", "label": "'.tr('Modifica volume').'", "name": "volume_manuale", "value":"$volume_manuale$", "help": "'.tr('Seleziona per modificare manualmente il campo Volume').'", "placeholder": "'.tr('Modifica volume').'" ]} +
'; @@ -731,9 +731,9 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione)) { if ($fattura->stato->name == 'Bozza') { echo ' -
- '.tr("La fattura è collegata ad una dichiarazione d'intento con diponibilità residura pari a _MONEY_.", ['_MONEY_' => moneyFormat($diff)]).'
'.tr('Per collegare una riga alla dichiarazione è sufficiente specificare come IVA ', ['_IVA_' => $descrizione_iva_accettata]).' -
'; +
+ '.tr("La fattura è collegata ad una dichiarazione d'intento con diponibilità residura pari a _MONEY_.", ['_MONEY_' => moneyFormat($diff)]).'
'.tr('Per collegare una riga alla dichiarazione è sufficiente specificare come IVA ', ['_IVA_' => $descrizione_iva_accettata]).' +
'; } }