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 |
|
||||
|-----|-----|:----------:|
|
||||
| 8.1 | 25/11/2023 | ❌ |
|
||||
| 8.1 | 25/11/2024 | ❌ |
|
||||
| 8.0 | 26/11/2023 | ✔️ |
|
||||
| 7.4 | 28/11/2022 | ✔️ |
|
||||
| 7.3 | 06/12/2021 | ❌ |
|
||||
|
|
|
@ -43,9 +43,12 @@ echo '
|
|||
</div>
|
||||
</div>';
|
||||
|
||||
$is_nota = $options['is_nota'] ?: 0;
|
||||
echo '
|
||||
<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;
|
||||
$label = $options['dir'] == 'entrata' ? tr('Prezzo unitario di vendita') : tr('Prezzo unitario');
|
||||
|
@ -220,5 +223,70 @@ if (in_array($module['name'], ['Ordini cliente', 'Ordini fornitore', 'Preventivi
|
|||
input("ora_evasione").set();
|
||||
}
|
||||
});
|
||||
</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() {
|
||||
var sconto = sconto_percentuale.val().toEnglish();
|
||||
var unitario = sconto / 100 * totale;
|
||||
|
||||
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());
|
||||
|
||||
if (sconto !== 0) {
|
||||
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(){
|
||||
var sconto = sconto_unitario.val().toEnglish();
|
||||
var msg = sconto >= 0 ? "'.tr('Sconto unitario').'" : "'.tr('Maggiorazione unitaria').'";
|
||||
var div = sconto_unitario.closest("div").next("div[id*=errors]");
|
||||
|
||||
sconto_percentuale.val(0);
|
||||
|
||||
if (sconto !== 0) {
|
||||
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);
|
||||
|
|
|
@ -824,7 +824,7 @@ if ($dir == 'entrata') {
|
|||
|
||||
if ($fattura->isFE()) {
|
||||
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>
|
||||
$(document).ready(function() {
|
||||
|
@ -846,9 +846,7 @@ if ($fattura->isFE()) {
|
|||
|
||||
if (stored == null) {
|
||||
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()){
|
||||
div.addClass("alert-success").html("'.tr('Il totale del file XML corrisponde a quello calcolato dal gestionale').'.")
|
||||
} else {
|
||||
} else if (stored.toLocale() != calculated.toLocale()){
|
||||
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 + "',
|
||||
'_CALC_' => '" + calculated.toLocale() + " " + globals.currency + "',
|
||||
|
|
|
@ -34,6 +34,7 @@ $options = [
|
|||
'show-ritenuta-contributi' => !empty($documento['id_ritenuta_contributi']),
|
||||
'totale_imponibile_documento' => $documento->totale_imponibile,
|
||||
'totale_documento' => $documento->totale,
|
||||
'is_nota' => $documento->isNota(),
|
||||
'select-options' => [
|
||||
'articoli' => [
|
||||
'idanagrafica' => $documento->idanagrafica,
|
||||
|
|
|
@ -33,6 +33,7 @@ $options = [
|
|||
'show-ritenuta-contributi' => !empty($documento['id_ritenuta_contributi']),
|
||||
'totale_imponibile_documento' => $documento->totale_imponibile,
|
||||
'totale_documento' => $documento->totale,
|
||||
'is_nota' => $documento->isNota(),
|
||||
'select-options' => [
|
||||
'articoli' => [
|
||||
'idanagrafica' => $documento->idanagrafica,
|
||||
|
|
Loading…
Reference in New Issue