Aggiunti alert in fase di aggiunta riga per importi negativi e sconti
This commit is contained in:
parent
1130bfc0b2
commit
7047010aa8
|
@ -62,7 +62,7 @@ L'installazione del gestionale richiede la presenza di un server web con abilita
|
||||||
|
|
||||||
| PHP | EOL | Supportato |
|
| PHP | EOL | Supportato |
|
||||||
|-----|-----|:----------:|
|
|-----|-----|:----------:|
|
||||||
| 8.1 | 25/11/2023 | ❌ |
|
| 8.1 | 25/11/2024 | ❌ |
|
||||||
| 8.0 | 26/11/2023 | ✔️ |
|
| 8.0 | 26/11/2023 | ✔️ |
|
||||||
| 7.4 | 28/11/2022 | ✔️ |
|
| 7.4 | 28/11/2022 | ✔️ |
|
||||||
| 7.3 | 06/12/2021 | ❌ |
|
| 7.3 | 06/12/2021 | ❌ |
|
||||||
|
|
|
@ -43,9 +43,12 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
|
$is_nota = $options['is_nota'] ?: 0;
|
||||||
echo '
|
echo '
|
||||||
<div class="row '.(!empty($options['nascondi_prezzi']) ? 'hidden' : '').'">
|
<div class="row '.(!empty($options['nascondi_prezzi']) ? 'hidden' : '').'">
|
||||||
<input type="hidden" name="prezzi_ivati" value="'.setting('Utilizza prezzi di vendita comprensivi di IVA').'">';
|
<input type="hidden" name="prezzi_ivati" value="'.setting('Utilizza prezzi di vendita comprensivi di IVA').'">
|
||||||
|
<input type="hidden" name="is_nota" value="'.$is_nota.'">
|
||||||
|
<input type="hidden" name="dir" value="'.$options['dir'].'">';
|
||||||
|
|
||||||
$width = $options['dir'] == 'entrata' ? 4 : 6;
|
$width = $options['dir'] == 'entrata' ? 4 : 6;
|
||||||
$label = $options['dir'] == 'entrata' ? tr('Prezzo unitario di vendita') : tr('Prezzo unitario');
|
$label = $options['dir'] == 'entrata' ? tr('Prezzo unitario di vendita') : tr('Prezzo unitario');
|
||||||
|
@ -222,3 +225,68 @@ if (in_array($module['name'], ['Ordini cliente', 'Ordini fornitore', 'Preventivi
|
||||||
});
|
});
|
||||||
</script>';
|
</script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (in_array($module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) {
|
||||||
|
echo '
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
if(input("data_evasione").get()){
|
||||||
|
input("ora_evasione").enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
controlla_prezzo();
|
||||||
|
controlla_sconto();
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#data_evasione").blur(function() {
|
||||||
|
if(input("data_evasione").get()){
|
||||||
|
input("ora_evasione").enable();
|
||||||
|
} else{
|
||||||
|
input("ora_evasione").disable();
|
||||||
|
input("ora_evasione").set();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#prezzo_unitario").on("keyup", function() {
|
||||||
|
controlla_prezzo();
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#sconto").on("keyup", function() {
|
||||||
|
controlla_sconto();
|
||||||
|
});
|
||||||
|
|
||||||
|
function controlla_prezzo() {
|
||||||
|
let prezzo_unitario = $("#prezzo_unitario").val().toEnglish();
|
||||||
|
let div = $("#prezzo_unitario").closest("div").next("div[id*=errors]");
|
||||||
|
if (prezzo_unitario < 0) {
|
||||||
|
if (input("is_nota").get() == true) {
|
||||||
|
if (input("dir").get() == "entrata") {
|
||||||
|
div.html(`<small class="label label-warning"><i class="fa fa-exclamation-triangle"></i> '.tr('Importo a credito').'</small>`);
|
||||||
|
} else {
|
||||||
|
div.html(`<small class="label label-warning"><i class="fa fa-exclamation-triangle"></i> '.tr('Importo a debito').'</small>`);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (input("dir").get() == "entrata") {
|
||||||
|
div.html(`<small class="label label-warning"><i class="fa fa-exclamation-triangle"></i> '.tr('Importo a debito').'</small>`);
|
||||||
|
} else {
|
||||||
|
div.html(`<small class="label label-warning"><i class="fa fa-exclamation-triangle"></i> '.tr('Importo a credito').'</small>`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
div.html("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function controlla_sconto() {
|
||||||
|
let sconto = $("#sconto").val().toEnglish();
|
||||||
|
let div = $("#sconto").closest("div").next("div[id*=errors]");
|
||||||
|
if (sconto > 0) {
|
||||||
|
div.html(`<small class="label label-default" >'.tr('Sconto').'</small>`);
|
||||||
|
} else if (sconto < 0) {
|
||||||
|
div.html(`<small class="label label-default" >'.tr('Maggiorazione').'</small>`);
|
||||||
|
} else {
|
||||||
|
div.html("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>';
|
||||||
|
}
|
|
@ -64,25 +64,42 @@ echo '
|
||||||
function aggiorna_sconto_percentuale() {
|
function aggiorna_sconto_percentuale() {
|
||||||
var sconto = sconto_percentuale.val().toEnglish();
|
var sconto = sconto_percentuale.val().toEnglish();
|
||||||
var unitario = sconto / 100 * totale;
|
var unitario = sconto / 100 * totale;
|
||||||
|
|
||||||
var msg = sconto >= 0 ? "'.tr('Sconto percentuale').'" : "'.tr('Maggiorazione percentuale').'";
|
var msg = sconto >= 0 ? "'.tr('Sconto percentuale').'" : "'.tr('Maggiorazione percentuale').'";
|
||||||
|
var div = sconto_percentuale.closest("div").next("div[id*=errors]");
|
||||||
|
|
||||||
sconto_unitario.val(unitario.toLocale());
|
sconto_unitario.val(unitario.toLocale());
|
||||||
|
|
||||||
if (sconto !== 0) {
|
if (sconto !== 0) {
|
||||||
descrizione.val(msg + " " + Math.abs(sconto).toLocale() + "%");
|
descrizione.val(msg + " " + Math.abs(sconto).toLocale() + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sconto > 0) {
|
||||||
|
div.html(`<small class="label label-default" >'.tr('Sconto').'</small>`);
|
||||||
|
} else if (sconto < 0) {
|
||||||
|
div.html(`<small class="label label-default" >'.tr('Maggiorazione').'</small>`);
|
||||||
|
} else {
|
||||||
|
div.html("");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function aggiorna_sconto_unitario(){
|
function aggiorna_sconto_unitario(){
|
||||||
var sconto = sconto_unitario.val().toEnglish();
|
var sconto = sconto_unitario.val().toEnglish();
|
||||||
var msg = sconto >= 0 ? "'.tr('Sconto unitario').'" : "'.tr('Maggiorazione unitaria').'";
|
var msg = sconto >= 0 ? "'.tr('Sconto unitario').'" : "'.tr('Maggiorazione unitaria').'";
|
||||||
|
var div = sconto_unitario.closest("div").next("div[id*=errors]");
|
||||||
|
|
||||||
sconto_percentuale.val(0);
|
sconto_percentuale.val(0);
|
||||||
|
|
||||||
if (sconto !== 0) {
|
if (sconto !== 0) {
|
||||||
descrizione.val(msg);
|
descrizione.val(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sconto > 0) {
|
||||||
|
div.html(`<small class="label label-default" >'.tr('Sconto').'</small>`);
|
||||||
|
} else if (sconto < 0) {
|
||||||
|
div.html(`<small class="label label-default" >'.tr('Maggiorazione').'</small>`);
|
||||||
|
} else {
|
||||||
|
div.html("");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sconto_percentuale.keyup(aggiorna_sconto_percentuale);
|
sconto_percentuale.keyup(aggiorna_sconto_percentuale);
|
||||||
|
|
|
@ -824,7 +824,7 @@ if ($dir == 'entrata') {
|
||||||
|
|
||||||
if ($fattura->isFE()) {
|
if ($fattura->isFE()) {
|
||||||
echo '
|
echo '
|
||||||
<div class="alert alert-info text-center" id="controlla_totali"><i class="fa fa-spinner fa-spin"></i> '.tr('Controllo sui totali del documento e della fattura elettronica in corso').'...</div>
|
<div class="alert alert-info text-center" id="controlla_totali"></div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
@ -846,9 +846,7 @@ if ($fattura->isFE()) {
|
||||||
|
|
||||||
if (stored == null) {
|
if (stored == null) {
|
||||||
div.addClass("alert-info").html("'.tr("Il file XML non contiene il nodo ''ImportoTotaleDocumento'': impossibile controllare corrispondenza dei totali").'.")
|
div.addClass("alert-info").html("'.tr("Il file XML non contiene il nodo ''ImportoTotaleDocumento'': impossibile controllare corrispondenza dei totali").'.")
|
||||||
} else if (stored.toLocale() == calculated.toLocale()){
|
} else if (stored.toLocale() != calculated.toLocale()){
|
||||||
div.addClass("alert-success").html("'.tr('Il totale del file XML corrisponde a quello calcolato dal gestionale').'.")
|
|
||||||
} else {
|
|
||||||
div.addClass("alert-warning").html("'.tr('Il totale del file XML non corrisponde a quello calcolato dal gestionale: previsto _XML_, calcolato _CALC_ (differenza _DIFF_)', [
|
div.addClass("alert-warning").html("'.tr('Il totale del file XML non corrisponde a quello calcolato dal gestionale: previsto _XML_, calcolato _CALC_ (differenza _DIFF_)', [
|
||||||
'_XML_' => '" + stored.toLocale() + " " + globals.currency + "',
|
'_XML_' => '" + stored.toLocale() + " " + globals.currency + "',
|
||||||
'_CALC_' => '" + calculated.toLocale() + " " + globals.currency + "',
|
'_CALC_' => '" + calculated.toLocale() + " " + globals.currency + "',
|
||||||
|
|
|
@ -34,6 +34,7 @@ $options = [
|
||||||
'show-ritenuta-contributi' => !empty($documento['id_ritenuta_contributi']),
|
'show-ritenuta-contributi' => !empty($documento['id_ritenuta_contributi']),
|
||||||
'totale_imponibile_documento' => $documento->totale_imponibile,
|
'totale_imponibile_documento' => $documento->totale_imponibile,
|
||||||
'totale_documento' => $documento->totale,
|
'totale_documento' => $documento->totale,
|
||||||
|
'is_nota' => $documento->isNota(),
|
||||||
'select-options' => [
|
'select-options' => [
|
||||||
'articoli' => [
|
'articoli' => [
|
||||||
'idanagrafica' => $documento->idanagrafica,
|
'idanagrafica' => $documento->idanagrafica,
|
||||||
|
|
|
@ -33,6 +33,7 @@ $options = [
|
||||||
'show-ritenuta-contributi' => !empty($documento['id_ritenuta_contributi']),
|
'show-ritenuta-contributi' => !empty($documento['id_ritenuta_contributi']),
|
||||||
'totale_imponibile_documento' => $documento->totale_imponibile,
|
'totale_imponibile_documento' => $documento->totale_imponibile,
|
||||||
'totale_documento' => $documento->totale,
|
'totale_documento' => $documento->totale,
|
||||||
|
'is_nota' => $documento->isNota(),
|
||||||
'select-options' => [
|
'select-options' => [
|
||||||
'articoli' => [
|
'articoli' => [
|
||||||
'idanagrafica' => $documento->idanagrafica,
|
'idanagrafica' => $documento->idanagrafica,
|
||||||
|
|
Loading…
Reference in New Issue