Aggiunto coefficiente di vendita in articoli e azione di gruppo
This commit is contained in:
parent
5ed9bc9efa
commit
e4d36a99fe
|
@ -58,8 +58,12 @@ switch (post('op')) {
|
||||||
|
|
||||||
$articolo->barcode = post('barcode');
|
$articolo->barcode = post('barcode');
|
||||||
$articolo->threshold_qta = post('threshold_qta');
|
$articolo->threshold_qta = post('threshold_qta');
|
||||||
|
$articolo->coefficiente = post('coefficiente');
|
||||||
|
$articolo->idiva_vendita = post('idiva_vendita');
|
||||||
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
||||||
|
if (empty(post('coefficiente'))) {
|
||||||
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
||||||
|
}
|
||||||
$articolo->idconto_vendita = post('idconto_vendita');
|
$articolo->idconto_vendita = post('idconto_vendita');
|
||||||
$articolo->idconto_acquisto = post('idconto_acquisto');
|
$articolo->idconto_acquisto = post('idconto_acquisto');
|
||||||
$articolo->save();
|
$articolo->save();
|
||||||
|
@ -116,6 +120,8 @@ switch (post('op')) {
|
||||||
$articolo->abilita_serial = post('abilita_serial');
|
$articolo->abilita_serial = post('abilita_serial');
|
||||||
$articolo->ubicazione = post('ubicazione');
|
$articolo->ubicazione = post('ubicazione');
|
||||||
$articolo->threshold_qta = post('threshold_qta');
|
$articolo->threshold_qta = post('threshold_qta');
|
||||||
|
$articolo->coefficiente = post('coefficiente');
|
||||||
|
$articolo->idiva_vendita = post('idiva_vendita');
|
||||||
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
||||||
$articolo->idconto_vendita = post('idconto_vendita');
|
$articolo->idconto_vendita = post('idconto_vendita');
|
||||||
$articolo->idconto_acquisto = post('idconto_acquisto');
|
$articolo->idconto_acquisto = post('idconto_acquisto');
|
||||||
|
@ -129,7 +135,9 @@ switch (post('op')) {
|
||||||
$articolo->fattore_um_secondaria = post('fattore_um_secondaria');
|
$articolo->fattore_um_secondaria = post('fattore_um_secondaria');
|
||||||
$articolo->qta_multipla = post('qta_multipla');
|
$articolo->qta_multipla = post('qta_multipla');
|
||||||
|
|
||||||
|
if (empty(post('coefficiente'))) {
|
||||||
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
$articolo->setPrezzoVendita(post('prezzo_vendita'), post('idiva_vendita'));
|
||||||
|
}
|
||||||
|
|
||||||
$componente = post('componente_filename');
|
$componente = post('componente_filename');
|
||||||
$articolo->componente_filename = $componente;
|
$articolo->componente_filename = $componente;
|
||||||
|
|
|
@ -19,6 +19,12 @@
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
use Modules\Iva\Aliquota;
|
||||||
|
|
||||||
|
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
$iva_predefinita = setting('Iva predefinita');
|
||||||
|
$aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
|
||||||
|
|
||||||
?><form action="" method="post" id="add-form">
|
?><form action="" method="post" id="add-form">
|
||||||
<input type="hidden" name="op" value="add">
|
<input type="hidden" name="op" value="add">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
|
@ -63,16 +69,10 @@ include_once __DIR__.'/../../core.php';
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Quantità iniziale'); ?>", "name": "qta", "decimals": "qta" ]}
|
{[ "type": "number", "label": "<?php echo tr('Coefficiente di vendita'); ?>", "name": "coefficiente", "help": "<?php echo tr('Imposta un coefficiente per calcolare automaticamente il prezzo di vendita quando cambia il prezzo di acquisto'); ?>." ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<?php
|
<?php
|
||||||
if (!setting('Utilizza prezzi di vendita comprensivi di IVA')) {
|
if (!setting('Utilizza prezzi di vendita comprensivi di IVA')) {
|
||||||
echo '
|
echo '
|
||||||
|
@ -83,8 +83,21 @@ include_once __DIR__.'/../../core.php';
|
||||||
{[ "type": "number", "label": "<?php echo tr('Prezzo di vendita'); ?>", "name": "prezzo_vendita", "icon-after": "<?php echo currency(); ?>", "help": "<?php echo setting('Utilizza prezzi di vendita comprensivi di IVA') ? tr('Importo IVA inclusa') : ''; ?>" ]}
|
{[ "type": "number", "label": "<?php echo tr('Prezzo di vendita'); ?>", "name": "prezzo_vendita", "icon-after": "<?php echo currency(); ?>", "help": "<?php echo setting('Utilizza prezzi di vendita comprensivi di IVA') ? tr('Importo IVA inclusa') : ''; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "number", "label": "<?php echo tr('Quantità iniziale'); ?>", "name": "qta", "decimals": "qta" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "valore_predefinito": "Iva predefinita", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "valore_predefinito": "Iva predefinita", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
||||||
|
<input type="hidden" name="prezzi_ivati" value="<?php echo $prezzi_ivati; ?>">
|
||||||
|
<input type="hidden" name="aliquota_predefinita" value="<?php echo $aliquota_predefinita; ?>">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -109,6 +122,9 @@ include_once __DIR__.'/../../core.php';
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
iva_vendita = $("#add-form").find("#idiva_vendita");
|
||||||
|
percentuale = 0;
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
var sub = $('#add-form').find('#subcategoria_add');
|
var sub = $('#add-form').find('#subcategoria_add');
|
||||||
var original = sub.parent().find(".input-group-addon button").attr("onclick");
|
var original = sub.parent().find(".input-group-addon button").attr("onclick");
|
||||||
|
@ -128,24 +144,65 @@ $(document).ready(function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
input("coefficiente").on('keyup', function(){
|
||||||
|
if (iva_vendita.val()) {
|
||||||
|
percentuale = parseFloat(iva_vendita.selectData().percentuale);
|
||||||
|
}
|
||||||
|
if (!percentuale) {
|
||||||
|
percentuale = parseFloat(input("aliquota_predefinita").get());
|
||||||
|
}
|
||||||
|
if (input("coefficiente").get()) {
|
||||||
|
let prezzo_vendita = input('prezzo_acquisto').get() * input("coefficiente").get();
|
||||||
|
if (parseFloat(input("prezzi_ivati").get())) {
|
||||||
|
prezzo_vendita = prezzo_vendita + (prezzo_vendita * percentuale / 100);
|
||||||
|
}
|
||||||
|
input("prezzo_vendita").set(prezzo_vendita);
|
||||||
|
input("prezzo_vendita").disable();
|
||||||
|
$("#scorpora_iva_add").addClass("disabled");
|
||||||
|
} else {
|
||||||
|
input("prezzo_vendita").enable();
|
||||||
|
$("#scorpora_iva_add").removeClass("disabled");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
input("prezzo_acquisto").on('keyup change', function(){
|
||||||
|
if (iva_vendita.val()) {
|
||||||
|
percentuale = parseFloat(iva_vendita.selectData().percentuale);
|
||||||
|
}
|
||||||
|
if (!percentuale) {
|
||||||
|
percentuale = parseFloat(input("aliquota_predefinita").get());
|
||||||
|
}
|
||||||
|
if (input("coefficiente").get()) {
|
||||||
|
let prezzo_vendita = input('prezzo_acquisto').get() * input("coefficiente").get();
|
||||||
|
if (parseFloat(input("prezzi_ivati").get())) {
|
||||||
|
prezzo_vendita = prezzo_vendita + (prezzo_vendita * percentuale / 100);
|
||||||
|
}
|
||||||
|
input("prezzo_vendita").set(prezzo_vendita);
|
||||||
|
input("prezzo_vendita").disable();
|
||||||
|
$("#scorpora_iva_add").addClass("disabled");
|
||||||
|
} else {
|
||||||
|
input("prezzo_vendita").enable();
|
||||||
|
$("#scorpora_iva_add").removeClass("disabled");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$("#scorpora_iva_add").click( function() {
|
$("#scorpora_iva_add").click( function() {
|
||||||
scorpora_iva_add();
|
scorpora_iva_add();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function scorpora_iva_add() {
|
function scorpora_iva_add() {
|
||||||
if ($("#add-form").find("#idiva_vendita").val() != '') {
|
if (iva_vendita.val()) {
|
||||||
var percentuale = parseFloat($("#add-form").find("#idiva_vendita").selectData().percentuale);
|
percentuale = parseFloat(iva_vendita.selectData().percentuale);
|
||||||
|
}
|
||||||
|
if (!percentuale) {
|
||||||
|
percentuale = parseFloat(input("aliquota_predefinita").get());
|
||||||
|
}
|
||||||
if(!percentuale) return;
|
if(!percentuale) return;
|
||||||
|
|
||||||
var input = $("#add-form").find("#prezzo_vendita");
|
let input = $("#prezzo_vendita");
|
||||||
var prezzo = input.val().toEnglish();
|
let prezzo = input.val().toEnglish();
|
||||||
|
let scorporato = prezzo * 100 / (100 + percentuale);
|
||||||
var scorporato = prezzo * 100 / (100 + percentuale);
|
|
||||||
|
|
||||||
input.val(scorporato);
|
input.val(scorporato);
|
||||||
}else{
|
|
||||||
swal("<?php echo tr('Attenzione'); ?>", "<?php echo tr('Seleziona Iva di vendita.'); ?>", "warning");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -55,9 +55,12 @@ switch (post('op')) {
|
||||||
$tipologia = post('tipologia');
|
$tipologia = post('tipologia');
|
||||||
$arrotondamento = post('arrotondamento');
|
$arrotondamento = post('arrotondamento');
|
||||||
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
$articoli_coeff = 0;
|
||||||
|
|
||||||
foreach ($id_records as $id) {
|
foreach ($id_records as $id) {
|
||||||
$articolo = Articolo::find($id);
|
$articolo = Articolo::find($id);
|
||||||
|
|
||||||
|
if (empty((int)$articolo->coefficiente)) {
|
||||||
$prezzo_partenza = post('prezzo_partenza') == 'vendita' ? $articolo->prezzo_vendita : $articolo->prezzo_acquisto;
|
$prezzo_partenza = post('prezzo_partenza') == 'vendita' ? $articolo->prezzo_vendita : $articolo->prezzo_acquisto;
|
||||||
$aliquota_iva = floatval(Aliquota::find($articolo->idiva_vendita)->percentuale);
|
$aliquota_iva = floatval(Aliquota::find($articolo->idiva_vendita)->percentuale);
|
||||||
|
|
||||||
|
@ -82,9 +85,29 @@ switch (post('op')) {
|
||||||
|
|
||||||
$articolo->setPrezzoVendita($new_prezzo_vendita, $articolo->idiva_vendita);
|
$articolo->setPrezzoVendita($new_prezzo_vendita, $articolo->idiva_vendita);
|
||||||
$articolo->save();
|
$articolo->save();
|
||||||
|
} else {
|
||||||
|
$articoli_coeff++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
flash()->info(tr('Prezzi di vendita aggiornati!'));
|
flash()->info(tr('Prezzi di vendita aggiornati!'));
|
||||||
|
flash()->warning(tr('_NUM_ prezzi di vendita non aggiornati per coefficiente impostato!', [
|
||||||
|
'_NUM_' => $articoli_coeff,
|
||||||
|
]));
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'change-coefficiente':
|
||||||
|
foreach ($id_records as $id) {
|
||||||
|
$articolo = Articolo::find($id);
|
||||||
|
$coefficiente = post('coefficiente');
|
||||||
|
|
||||||
|
$articolo->coefficiente = $coefficiente;
|
||||||
|
$articolo->prezzo_acquisto = $articolo->prezzo_acquisto;
|
||||||
|
$articolo->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
flash()->info(tr('Coefficienti di vendita aggiornati!'));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -356,7 +379,7 @@ $operations['change-acquisto'] = [
|
||||||
'text' => '<span><i class="fa fa-refresh"></i> '.tr('Aggiorna prezzo di acquisto').'</span>',
|
'text' => '<span><i class="fa fa-refresh"></i> '.tr('Aggiorna prezzo di acquisto').'</span>',
|
||||||
'data' => [
|
'data' => [
|
||||||
'title' => tr('Aggiornare il prezzo di acquisto per gli articoli selezionati?'),
|
'title' => tr('Aggiornare il prezzo di acquisto per gli articoli selezionati?'),
|
||||||
'msg' => 'Per indicare uno sconto inserire la percentuale con il segno meno, al contrario per un rincaro inserire la percentuale senza segno.<br><br>{[ "type": "number", "label": "'.tr('Percentuale sconto/magg.').'", "name": "percentuale", "required": 1, "icon-after": "%" ]}',
|
'msg' => tr('Per indicare uno sconto inserire la percentuale con il segno meno, al contrario per un rincaro inserire la percentuale senza segno.').'<br><br>{[ "type": "number", "label": "'.tr('Percentuale sconto/magg.').'", "name": "percentuale", "required": 1, "icon-after": "%" ]}',
|
||||||
'button' => tr('Procedi'),
|
'button' => tr('Procedi'),
|
||||||
'class' => 'btn btn-lg btn-warning',
|
'class' => 'btn btn-lg btn-warning',
|
||||||
'blank' => false,
|
'blank' => false,
|
||||||
|
@ -367,7 +390,7 @@ $operations['change-vendita'] = [
|
||||||
'text' => '<span><i class="fa fa-refresh"></i> '.tr('Aggiorna prezzo di vendita').'</span>',
|
'text' => '<span><i class="fa fa-refresh"></i> '.tr('Aggiorna prezzo di vendita').'</span>',
|
||||||
'data' => [
|
'data' => [
|
||||||
'title' => tr('Aggiornare il prezzo di vendita per gli articoli selezionati?'),
|
'title' => tr('Aggiornare il prezzo di vendita per gli articoli selezionati?'),
|
||||||
'msg' => 'Per indicare uno sconto inserire la percentuale con il segno meno, al contrario per un rincaro inserire la percentuale senza segno.<br><br>
|
'msg' => tr('Per indicare uno sconto inserire la percentuale con il segno meno, al contrario per un rincaro inserire la percentuale senza segno.').'<br><br>
|
||||||
{[ "type": "select", "label": "'.tr('Partendo da:').'", "name": "prezzo_partenza", "required": 1, "values": "list=\"acquisto\":\"Prezzo di acquisto\",\"vendita\":\"Prezzo di vendita\"" ]}<br>
|
{[ "type": "select", "label": "'.tr('Partendo da:').'", "name": "prezzo_partenza", "required": 1, "values": "list=\"acquisto\":\"Prezzo di acquisto\",\"vendita\":\"Prezzo di vendita\"" ]}<br>
|
||||||
{[ "type": "number", "label": "'.tr('Percentuale sconto/magg.').'", "name": "percentuale", "required": 1, "icon-after": "%" ]}<br>
|
{[ "type": "number", "label": "'.tr('Percentuale sconto/magg.').'", "name": "percentuale", "required": 1, "icon-after": "%" ]}<br>
|
||||||
{[ "type": "select", "label": "'.tr('Arrotonda prezzo:').'", "name": "tipologia", "values": "list=\"0\":\"Non arrotondare\",\"imponibile\":\"Imponibile\",\"ivato\":\"Ivato\"", "value": 0 ]}<br>
|
{[ "type": "select", "label": "'.tr('Arrotonda prezzo:').'", "name": "tipologia", "values": "list=\"0\":\"Non arrotondare\",\"imponibile\":\"Imponibile\",\"ivato\":\"Ivato\"", "value": 0 ]}<br>
|
||||||
|
@ -378,6 +401,17 @@ $operations['change-vendita'] = [
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$operations['change-coefficiente'] = [
|
||||||
|
'text' => '<span><i class="fa fa-refresh"></i> '.tr('Aggiorna coefficiente di vendita').'</span>',
|
||||||
|
'data' => [
|
||||||
|
'title' => tr('Aggiornare il coefficiente di vendita per gli articoli selezionati?'),
|
||||||
|
'msg' => tr('Per ciascun articolo selezionato, verrà modificato il coefficiente e il relativo prezzo di vendita').'<br><br>{[ "type": "number", "label": "'.tr('Coefficiente di vendita').'", "name": "coefficiente", "required": 1 ]}',
|
||||||
|
'button' => tr('Procedi'),
|
||||||
|
'class' => 'btn btn-lg btn-warning',
|
||||||
|
'blank' => false,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
$operations['stampa-etichette'] = [
|
$operations['stampa-etichette'] = [
|
||||||
'text' => '<span><i class="fa fa-barcode"></i> '.tr('Stampa etichette').'</span>',
|
'text' => '<span><i class="fa fa-barcode"></i> '.tr('Stampa etichette').'</span>',
|
||||||
'data' => [
|
'data' => [
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
use Modules\Iva\Aliquota;
|
||||||
|
|
||||||
?><form action="" method="post" id="edit-form" enctype="multipart/form-data">
|
?><form action="" method="post" id="edit-form" enctype="multipart/form-data">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
<input type="hidden" name="op" value="update">
|
<input type="hidden" name="op" value="update">
|
||||||
|
@ -162,11 +164,15 @@ include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Prezzo di acquisto'); ?>", "name": "prezzo_acquisto", "value": "$prezzo_acquisto$", "icon-after": "<?php echo currency(); ?>", "help": "<?php echo tr('Prezzo di acquisto previsto per i fornitori i cui dati non sono stati inseriti nel plugin Fornitori'); ?>." ]}
|
{[ "type": "number", "label": "<?php echo tr('Prezzo di acquisto'); ?>", "name": "prezzo_acquisto", "value": "$prezzo_acquisto$", "icon-after": "<?php echo currency(); ?>", "help": "<?php echo tr('Prezzo di acquisto previsto per i fornitori i cui dati non sono stati inseriti nel plugin Fornitori'); ?>." ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
|
{[ "type": "number", "label": "<?php echo tr('Coefficiente di vendita'); ?>", "name": "coefficiente", "value": "$coefficiente$", "help": "<?php echo tr('Imposta un coefficiente per calcolare automaticamente il prezzo di vendita quando cambia il prezzo di acquisto'); ?>." ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "value": "$threshold_qta$", "decimals": "qta", "min-value": "undefined" ]}
|
{[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "value": "$threshold_qta$", "decimals": "qta", "min-value": "undefined" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -215,21 +221,25 @@ include_once __DIR__.'/../../core.php';
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<?php
|
<?php
|
||||||
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
$iva_predefinita = setting('Iva predefinita');
|
||||||
|
$aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
|
||||||
if (empty($prezzi_ivati)) {
|
if (empty($prezzi_ivati)) {
|
||||||
echo '
|
echo '
|
||||||
<button type="button" class="btn btn-info btn-xs pull-right tip pull-right" title="'.tr('Scorpora l\'IVA dal prezzo di vendita.').'" id="scorporaIva">
|
<button type="button" class="btn btn-info btn-xs pull-right tip pull-right '.(!empty((int)$articolo->coefficiente) ? 'disabled' : '').'" title="'.tr('Scorpora l\'IVA dal prezzo di vendita.').'" id="scorporaIva">
|
||||||
<i class="fa fa-calculator"></i>
|
<i class="fa fa-calculator"></i>
|
||||||
</button>';
|
</button>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
{[ "type": "number", "label": "'.tr('Prezzo di vendita').'", "name": "prezzo_vendita", "value": "'.($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'", "icon-after": "'.currency().'", "help": "'.($prezzi_ivati ? tr('Importo IVA inclusa') : '').'" ]}
|
{[ "type": "number", "label": "'.tr('Prezzo di vendita').'", "name": "prezzo_vendita", "value": "'.($prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita).'", "icon-after": "'.currency().'", "help": "'.($prezzi_ivati ? tr('Importo IVA inclusa') : '').'", "disabled": "'.(!empty((int)$articolo->coefficiente) ? 1 : 0).'" ]}
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "value": "$idiva_vendita$", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "value": "$idiva_vendita$", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
||||||
|
<input type="hidden" name="prezzi_ivati" value="<?php echo $prezzi_ivati; ?>">
|
||||||
|
<input type="hidden" name="aliquota_predefinita" value="<?php echo $aliquota_predefinita; ?>">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -306,6 +316,48 @@ echo '
|
||||||
{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )}
|
{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
let iva_vendita = $("#idiva_vendita");
|
||||||
|
let percentuale = 0;
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
if (iva_vendita.val()) {
|
||||||
|
percentuale = parseFloat(iva_vendita.selectData().percentuale);
|
||||||
|
}
|
||||||
|
if (!percentuale) {
|
||||||
|
percentuale = parseFloat(input("aliquota_predefinita").get());
|
||||||
|
}
|
||||||
|
|
||||||
|
input("coefficiente").on('keyup', function(){
|
||||||
|
if (input("coefficiente").get()) {
|
||||||
|
let prezzo_vendita = input('prezzo_acquisto').get() * input("coefficiente").get();
|
||||||
|
if (parseFloat(input("prezzi_ivati").get())) {
|
||||||
|
prezzo_vendita = prezzo_vendita + (prezzo_vendita * percentuale / 100);
|
||||||
|
}
|
||||||
|
input("prezzo_vendita").set(prezzo_vendita);
|
||||||
|
input("prezzo_vendita").disable();
|
||||||
|
$("#scorporaIva").addClass("disabled");
|
||||||
|
} else {
|
||||||
|
input("prezzo_vendita").enable();
|
||||||
|
$("#scorporaIva").removeClass("disabled");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
input("prezzo_acquisto").on('keyup change', function(){
|
||||||
|
if (input("coefficiente").get()) {
|
||||||
|
let prezzo_vendita = input('prezzo_acquisto').get() * input("coefficiente").get();
|
||||||
|
if (parseFloat(input("prezzi_ivati").get())) {
|
||||||
|
prezzo_vendita = prezzo_vendita + (prezzo_vendita * percentuale / 100);
|
||||||
|
}
|
||||||
|
input("prezzo_vendita").set(prezzo_vendita);
|
||||||
|
input("prezzo_vendita").disable();
|
||||||
|
$("#scorporaIva").addClass("disabled");
|
||||||
|
} else {
|
||||||
|
input("prezzo_vendita").enable();
|
||||||
|
$("#scorporaIva").removeClass("disabled");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
$("#categoria").change(function() {
|
$("#categoria").change(function() {
|
||||||
updateSelectOption("id_categoria", $(this).val());
|
updateSelectOption("id_categoria", $(this).val());
|
||||||
|
|
||||||
|
@ -313,27 +365,17 @@ $("#categoria").change(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
function scorporaIva() {
|
function scorporaIva() {
|
||||||
let iva_vendita = $("#idiva_vendita");
|
|
||||||
|
|
||||||
if (iva_vendita.val()) {
|
|
||||||
let percentuale = parseFloat(iva_vendita.selectData().percentuale);
|
|
||||||
if(!percentuale) return;
|
if(!percentuale) return;
|
||||||
|
|
||||||
let input = $("#prezzo_vendita");
|
let input = $("#prezzo_vendita");
|
||||||
let prezzo = input.val().toEnglish();
|
let prezzo = input.val().toEnglish();
|
||||||
|
|
||||||
let scorporato = prezzo * 100 / (100 + percentuale);
|
let scorporato = prezzo * 100 / (100 + percentuale);
|
||||||
|
|
||||||
input.val(scorporato);
|
input.val(scorporato);
|
||||||
}else{
|
|
||||||
swal("<?php echo tr('Attenzione'); ?>", "<?php echo tr('Seleziona Iva di vendita.'); ?>", "warning");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#scorporaIva").click( function() {
|
$("#scorporaIva").click( function() {
|
||||||
scorporaIva();
|
scorporaIva();
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -142,6 +142,30 @@ class Articolo extends Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Imposta il prezzo di acquisto e aggiorna il prezzo di vendita in base al coefficiente.
|
||||||
|
*
|
||||||
|
* @param $value
|
||||||
|
*/
|
||||||
|
public function setPrezzoAcquistoAttribute($value)
|
||||||
|
{
|
||||||
|
$this->attributes['prezzo_acquisto'] = $value;
|
||||||
|
|
||||||
|
if (!empty($this->coefficiente)) {
|
||||||
|
$prezzo_vendita = $value * $this->coefficiente;
|
||||||
|
|
||||||
|
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||||
|
$id_iva = $this->idiva_vendita ?: setting('Iva predefinita');
|
||||||
|
$percentuale_aliquota = floatval(Aliquota::find($id_iva)->percentuale);
|
||||||
|
|
||||||
|
if ($prezzi_ivati) {
|
||||||
|
$prezzo_vendita = $prezzo_vendita * (1 + $percentuale_aliquota / 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->setPrezzoVendita($prezzo_vendita, $this->idiva_vendita);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verifica se l'articolo corrente è una variante per una Combinazione.
|
* Verifica se l'articolo corrente è una variante per una Combinazione.
|
||||||
*
|
*
|
||||||
|
|
|
@ -81,3 +81,6 @@ UPDATE `zz_views` SET `summable` = '1' WHERE (`zz_views`.`name` = 'Q.tà ordinat
|
||||||
|
|
||||||
-- Stampe definitive registri iva
|
-- Stampe definitive registri iva
|
||||||
CREATE TABLE `co_stampecontabili` ( `id` INT NOT NULL AUTO_INCREMENT , `id_print` INT NOT NULL , `date_start` DATE NOT NULL , `date_end` DATE NOT NULL , `first_page` INT NOT NULL , `last_page` INT NOT NULL , `dir` VARCHAR(255) NOT NULL , PRIMARY KEY (`id`));
|
CREATE TABLE `co_stampecontabili` ( `id` INT NOT NULL AUTO_INCREMENT , `id_print` INT NOT NULL , `date_start` DATE NOT NULL , `date_end` DATE NOT NULL , `first_page` INT NOT NULL , `last_page` INT NOT NULL , `dir` VARCHAR(255) NOT NULL , PRIMARY KEY (`id`));
|
||||||
|
|
||||||
|
-- Coefficiente di vendita
|
||||||
|
ALTER TABLE `mg_articoli` ADD `coefficiente` DECIMAL(12,6) NOT NULL AFTER `prezzo_acquisto`;
|
Loading…
Reference in New Issue