Skip to content

Commit dcaf060

Browse files
committed
fix: selezione prezzo di acquisto in aggiunta articolo da importFE
1 parent cb7812d commit dcaf060

3 files changed

Lines changed: 27 additions & 15 deletions

File tree

include/common/articolo.php

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
// Articolo
2626
$database = database();
27-
$articolo = $database->fetchOne('SELECT
27+
$articolo = $database->fetchOne('SELECT
2828
`mg_articoli`.`id`,
2929
`mg_fornitore_articolo`.`id` AS id_dettaglio_fornitore,
3030
IFNULL(`mg_fornitore_articolo`.`codice_fornitore`, `mg_articoli`.`codice`) AS codice,
@@ -33,7 +33,7 @@
3333
FROM `mg_articoli`
3434
LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
3535
LEFT JOIN `mg_fornitore_articolo` ON `mg_fornitore_articolo`.`id_articolo` = `mg_articoli`.`id` AND `mg_fornitore_articolo`.`id` = '.prepare($result['id_dettaglio_fornitore']).'
36-
WHERE
36+
WHERE
3737
`mg_articoli`.`id` = '.prepare($result['idarticolo']));
3838

3939
$qta_minima = $articolo['qta_minima'];
@@ -43,6 +43,9 @@
4343
4444
<script>
4545
$(document).ready(function (){
46+
// Preimpostazione del prezzo di acquisto per articolo già selezionato
47+
$("#costo_unitario").val("'.$articolo['prezzo_acquisto'].'");
48+
4649
ottieniDettagliArticolo("'.$articolo['id'].'").then(function (){
4750
verificaPrezzoArticolo();
4851
verificaScontoArticolo();
@@ -138,6 +141,11 @@
138141
139142
// Autoimpostazione dei campi relativi all\'articolo
140143
let $data = $(this).selectData();
144+
145+
// Preimpostazione immediata del prezzo di acquisto e descrizione
146+
$("#costo_unitario").val($data.prezzo_acquisto);
147+
$("#descrizione_riga").val($data.descrizione);
148+
141149
ottieniDettagliArticolo($data.id).then(function() {
142150
if ($("#prezzo_unitario").val().toEnglish() === 0){
143151
aggiornaPrezzoArticolo();
@@ -151,27 +159,24 @@
151159
verificaScontoArticolo();
152160
}
153161
154-
$("#costo_unitario").val($data.prezzo_acquisto);
155-
$("#descrizione_riga").val($data.descrizione);
156-
157162
if (direzione === "entrata") {
158163
if($data.idiva_vendita) {
159164
$("#idiva").selectSetNew($data.idiva_vendita, $data.iva_vendita, {"percentuale": $data.percentuale});
160165
}
161166
}
162-
167+
163168
else {
164169
$("#id_dettaglio_fornitore").val($data.id_dettaglio_fornitore);
165170
$("#qta_minima").val($data.qta_minima);
166171
aggiornaQtaMinima();
167172
}
168-
173+
169174
let id_conto = $data.idconto_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').';
170175
let id_conto_title = $data.idconto_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').'_title;
171176
if(id_conto) {
172177
$("#idconto").selectSetNew(id_conto, id_conto_title);
173178
}
174-
179+
175180
$("#um").selectSetNew($data.um, $data.um);
176181
177182
if ($data.provvigione) {
@@ -295,7 +300,7 @@ function getPrezziListinoVisibili(nome = "") {
295300
dettaglio_prezzi_visibili = parseFloat(dettaglio.prezzo_unitario_listino_visibile);
296301
continue;
297302
}
298-
} else {
303+
} else {
299304
dettaglio_prezzi_visibili.push(dettaglio);
300305
}
301306
}
@@ -385,7 +390,7 @@ function verificaPrezzoArticolo() {
385390
}
386391
let table = $(".table-prezzi");
387392
388-
if (prezzo_anagrafica) {
393+
if (prezzo_anagrafica) {
389394
table.append(`<tr><td class="pr_anagrafica"><small>'.($options['dir'] == 'uscita' ? tr('Prezzo listino') : tr('Netto cliente')).': '.Plugins::link($options['dir'] == 'uscita' ? 'Listino Fornitori' : 'Netto Clienti', $result['idarticolo'], tr('Visualizza'), null, '').'</small></td><td align="right" class="pr_anagrafica"><small>` + prezzo_anagrafica.toLocale() + ` ` + globals.currency + `</small></td>`);
390395
391396
let tr = $(".pr_anagrafica").parent();
@@ -531,7 +536,7 @@ function aggiornaPrezzoArticolo(aggiorna = "") {
531536
prezzo3 = getPrezzoScheda();
532537
prezzo_previsto = (!prezzo1 ? prezzo2 : (!prezzo2 ? prezzo1 : (prezzo1 > prezzo2 ? prezzo2 : prezzo1)));
533538
prezzo_previsto = (prezzo_previsto ? prezzo_previsto : prezzo3);
534-
}
539+
}
535540
536541
$("#prezzo_unitario").val(prezzo_previsto).trigger("change");
537542
$("#sconto").val(0).trigger("change");
@@ -619,7 +624,7 @@ function verificaMinimoVendita() {
619624
if (input("blocca_minimo_vendita").get() == "1") {
620625
prezzo_unitario_input.val(minimo_vendita);
621626
div.html(`<p class="badge-warning">'.tr('Attenzione:<br>non è possibile inserire un prezzo inferiore al prezzo minimo di vendita ').'` + minimo_vendita.toLocale() + ` ` + globals.currency + `</p>`);
622-
}
627+
}
623628
}
624629
}
625630
</script>';

modules/articoli/add.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797

9898
<div class="row">
9999
<div class="col-md-4">
100-
{[ "type": "number", "label": "<?php echo tr('Quantità iniziale'); ?>", "name": "qta", "decimals": "qta" ]}
100+
{[ "type": "number", "label": "<?php echo tr('Quantità iniziale'); ?>", "name": "qta", "decimals": "qta", "value": "<?php echo htmlentities(filter('qta')) ?: ''; ?>" ]}
101101
</div>
102102

103103
<div class="col-md-4">
@@ -111,7 +111,7 @@
111111

112112
<div class="row">
113113
<div class="col-md-4">
114-
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "", "ajax-source": "misure", "icon-after": "add|<?php echo Module::where('name', 'Unità di misura')->first()->id; ?>" ]}
114+
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "<?php echo htmlentities(filter('um')) ?: ''; ?>", "ajax-source": "misure", "icon-after": "add|<?php echo Module::where('name', 'Unità di misura')->first()->id; ?>" ]}
115115
</div>
116116
<div class="col-md-4">
117117
{[ "type": "select", "label": "<?php echo tr('U.m. secondaria'); ?>", "name": "um_secondaria", "value": "", "ajax-source": "misure", "help": "<?php echo tr("Unità di misura da utilizzare nelle stampe di Ordini fornitori in relazione all'articolo"); ?>" ]}
@@ -256,4 +256,11 @@ function scorpora_iva_add() {
256256
$("#genera_barcode").click(function(){
257257
$(".modal #barcode").attr("disabled", $(this).is(":checked")).val("");
258258
});
259+
260+
// Espandi automaticamente la sezione "Informazioni aggiuntive" se sono precompilati dati dall'ImportFE
261+
$(document).ready(function() {
262+
if (input("prezzo_acquisto").get() > 0 || input("qta").get() > 0 || input("um").get()) {
263+
$(".card.collapsed-card .card-tools button[data-card-widget='collapse']").click();
264+
}
265+
});
259266
</script>

plugins/importFE/generate.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ function cleanup(){
684684
<div class="col-md-11">
685685
<div class="row">
686686
<div class="col-md-3">
687-
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'uscita', 'idanagrafica' => $anagrafica ? $anagrafica->id : 0, 'id_anagrafica' => $anagrafica ? $anagrafica->id : 0, 'idsede_partenza' => 0, 'idsede_destinazione' => 0]).', "value": "'.$id_articolo.'", "icon-after": "add|'.Models\Module::where('name', 'Articoli')->first()->id.'|codice='.urlencode($codice_principale ?: '').'&descrizione='.urlencode($riga['Descrizione'] ?: '').'", "readonly": "'.($is_descrizione ? 1 : 0).'", "onchange": "verificaSerial(this)" ]}
687+
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'uscita', 'idanagrafica' => $anagrafica ? $anagrafica->id : 0, 'id_anagrafica' => $anagrafica ? $anagrafica->id : 0, 'idsede_partenza' => 0, 'idsede_destinazione' => 0]).', "value": "'.$id_articolo.'", "icon-after": "add|'.Models\Module::where('name', 'Articoli')->first()->id.'|codice='.urlencode($codice_principale ?: '').'&descrizione='.urlencode($riga['Descrizione'] ?: '').'&prezzo_acquisto='.urlencode($prezzo_unitario ?: '').'&um='.urlencode($um ?: '').'&qta='.urlencode($qta ?: '').'", "readonly": "'.($is_descrizione ? 1 : 0).'", "onchange": "verificaSerial(this)" ]}
688688
</div>
689689
690690
<div class="col-md-3">

0 commit comments

Comments
 (0)