- {[ "type": "number", "label": "", "name": "qta", "decimals": "qta" ]}
+ {[ "type": "number", "label": "", "name": "coefficiente", "help": "." ]}
- {[ "type": "number", "label": "", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]}
-
-
-
-
+
+
+ {[ "type": "number", "label": "", "name": "qta", "decimals": "qta" ]}
+
+
+
+ {[ "type": "number", "label": "", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]}
+
+
+
{[ "type": "select", "label": "", "name": "idiva_vendita", "ajax-source": "iva", "valore_predefinito": "Iva predefinita", "help": "" ]}
+
+
@@ -109,6 +122,9 @@ include_once __DIR__.'/../../core.php';
diff --git a/modules/articoli/bulk.php b/modules/articoli/bulk.php
index 0b9da83b9..caa4d17ba 100644
--- a/modules/articoli/bulk.php
+++ b/modules/articoli/bulk.php
@@ -55,36 +55,59 @@ switch (post('op')) {
$tipologia = post('tipologia');
$arrotondamento = post('arrotondamento');
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
+ $articoli_coeff = 0;
foreach ($id_records as $id) {
$articolo = Articolo::find($id);
- $prezzo_partenza = post('prezzo_partenza') == 'vendita' ? $articolo->prezzo_vendita : $articolo->prezzo_acquisto;
- $aliquota_iva = floatval(Aliquota::find($articolo->idiva_vendita)->percentuale);
- $new_prezzo_vendita = $prezzo_partenza + ($prezzo_partenza * $percentuale / 100);
+ if (empty((int)$articolo->coefficiente)) {
+ $prezzo_partenza = post('prezzo_partenza') == 'vendita' ? $articolo->prezzo_vendita : $articolo->prezzo_acquisto;
+ $aliquota_iva = floatval(Aliquota::find($articolo->idiva_vendita)->percentuale);
- // Arrotondamento
- if (!empty($tipologia) && !empty($arrotondamento)) {
- if ($tipologia == 'ivato') {
+ $new_prezzo_vendita = $prezzo_partenza + ($prezzo_partenza * $percentuale / 100);
+
+ // Arrotondamento
+ if (!empty($tipologia) && !empty($arrotondamento)) {
+ if ($tipologia == 'ivato') {
+ $new_prezzo_vendita = $new_prezzo_vendita + ($new_prezzo_vendita * $aliquota_iva / 100);
+ }
+
+ $new_prezzo_vendita = ceil($new_prezzo_vendita / $arrotondamento) * $arrotondamento;
+ }
+
+ if (in_array($tipologia, ['ivato', '']) && !$prezzi_ivati) {
+ $new_prezzo_vendita = $new_prezzo_vendita * 100 / (100 + $aliquota_iva);
+ }
+
+ if (in_array($tipologia, ['imponibile', '']) && $prezzi_ivati) {
$new_prezzo_vendita = $new_prezzo_vendita + ($new_prezzo_vendita * $aliquota_iva / 100);
}
- $new_prezzo_vendita = ceil($new_prezzo_vendita / $arrotondamento) * $arrotondamento;
+ $articolo->setPrezzoVendita($new_prezzo_vendita, $articolo->idiva_vendita);
+ $articolo->save();
+ } else {
+ $articoli_coeff++;
}
-
- if (in_array($tipologia, ['ivato', '']) && !$prezzi_ivati) {
- $new_prezzo_vendita = $new_prezzo_vendita * 100 / (100 + $aliquota_iva);
- }
-
- if (in_array($tipologia, ['imponibile', '']) && $prezzi_ivati) {
- $new_prezzo_vendita = $new_prezzo_vendita + ($new_prezzo_vendita * $aliquota_iva / 100);
- }
-
- $articolo->setPrezzoVendita($new_prezzo_vendita, $articolo->idiva_vendita);
- $articolo->save();
}
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;
@@ -356,7 +379,7 @@ $operations['change-acquisto'] = [
'text' => '
'.tr('Aggiorna prezzo di acquisto').'',
'data' => [
'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.
{[ "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.').'
{[ "type": "number", "label": "'.tr('Percentuale sconto/magg.').'", "name": "percentuale", "required": 1, "icon-after": "%" ]}',
'button' => tr('Procedi'),
'class' => 'btn btn-lg btn-warning',
'blank' => false,
@@ -367,7 +390,7 @@ $operations['change-vendita'] = [
'text' => '
'.tr('Aggiorna prezzo di vendita').'',
'data' => [
'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.
+ 'msg' => tr('Per indicare uno sconto inserire la percentuale con il segno meno, al contrario per un rincaro inserire la percentuale senza segno.').'
{[ "type": "select", "label": "'.tr('Partendo da:').'", "name": "prezzo_partenza", "required": 1, "values": "list=\"acquisto\":\"Prezzo di acquisto\",\"vendita\":\"Prezzo di vendita\"" ]}
{[ "type": "number", "label": "'.tr('Percentuale sconto/magg.').'", "name": "percentuale", "required": 1, "icon-after": "%" ]}
{[ "type": "select", "label": "'.tr('Arrotonda prezzo:').'", "name": "tipologia", "values": "list=\"0\":\"Non arrotondare\",\"imponibile\":\"Imponibile\",\"ivato\":\"Ivato\"", "value": 0 ]}
@@ -378,6 +401,17 @@ $operations['change-vendita'] = [
],
];
+$operations['change-coefficiente'] = [
+ 'text' => '
'.tr('Aggiorna coefficiente di vendita').'',
+ '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').'
{[ "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'] = [
'text' => '
'.tr('Stampa etichette').'',
'data' => [
diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php
index a5d01ed94..87df104fe 100755
--- a/modules/articoli/edit.php
+++ b/modules/articoli/edit.php
@@ -19,6 +19,8 @@
include_once __DIR__.'/../../core.php';
+use Modules\Iva\Aliquota;
+
?>