diff --git a/lib/common.php b/lib/common.php
index 719704069..86a90bb2b 100755
--- a/lib/common.php
+++ b/lib/common.php
@@ -147,6 +147,28 @@ function discountInfo(Accounting $riga, $mostra_maggiorazione = true)
]);
}
+/**
+ * Visualizza le informazioni relative allo provvigione presente su una riga.
+ *
+ * @param bool $mostra_provigione
+ *
+ * @return string|null
+ */
+function provvigioneInfo(Accounting $riga, $mostra_provigione = true)
+{
+ if (empty($riga->provvigione_unitaria) || (!$mostra_provigione && $riga->provvigione_unitaria < 0)) {
+ return null;
+ }
+
+ $text = $riga->provvigione_unitaria > 0 ? tr('provvigione _TOT_ _TYPE_') : tr('provvigione _TOT__TYPE_');
+ $totale = !empty($riga->provvigione_percentuale) ? $riga->provvigione_percentuale : $riga->provvigione_unitaria;
+
+ return replace($text, [
+ '_TOT_' => Translator::numberToLocale(abs($totale)),
+ '_TYPE_' => !empty($riga->provvigione_percentuale) ? '%' : currency(),
+ ]);
+}
+
/**
* Genera i riferimenti ai documenti del gestionale, attraverso l'interfaccia Common\ReferenceInterface.
*
diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php
index 96b56d7e1..2b4e6f6b4 100755
--- a/modules/anagrafiche/ajax/select.php
+++ b/modules/anagrafiche/ajax/select.php
@@ -21,6 +21,8 @@ use Carbon\Carbon;
include_once __DIR__.'/../../../core.php';
+$filter_agente = Auth::user()['gruppo'] == 'Agenti';
+
switch ($resource) {
case 'clienti':
$id_azienda = setting('Azienda predefinita');
@@ -71,6 +73,10 @@ switch ($resource) {
$where[] = 'an_anagrafiche.deleted_at IS NULL';
}
+ if (empty(!$filter_agente)) {
+ $where[] = 'idagente = '.Auth::user()['idanagrafica'];
+ }
+
if (!empty($search)) {
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
diff --git a/modules/contratti/row-list.php b/modules/contratti/row-list.php
index b53ab638a..96d1f8039 100755
--- a/modules/contratti/row-list.php
+++ b/modules/contratti/row-list.php
@@ -139,8 +139,16 @@ foreach ($righe as $riga) {
// Importo
echo '
- '.moneyFormat($riga->importo).'
- | ';
+ '.moneyFormat($riga->importo);
+
+ //provvigione riga
+ if (abs($riga->provvigione_unitaria) > 0) {
+ $text = provvigioneInfo($riga);
+
+ echo '
+
'.$text.'';
+ }
+ echo '';
}
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
@@ -276,13 +284,24 @@ if(!empty($contratto->provvigione)) {
echo '
- '.tr('Provvigioni').':
+ '.tr('Provvigioni', [], ['upper' => false]).':
|
'.moneyFormat($contratto->provvigione).'
|
|
';
+
+ echo '
+
+
+ '.tr('Netto da provvigioni', [], ['upper' => false]).':
+ |
+
+ '.moneyFormat($netto_a_pagare - $contratto->provvigione, 2).'
+ |
+ |
+
';
}
echo '
diff --git a/modules/ddt/row-list.php b/modules/ddt/row-list.php
index e9e7091cc..a0dfd554f 100755
--- a/modules/ddt/row-list.php
+++ b/modules/ddt/row-list.php
@@ -177,8 +177,17 @@ foreach ($righe as $riga) {
// Importo
echo '
- '.moneyFormat($riga->importo).'
- | ';
+ '.moneyFormat($riga->importo);
+
+ //provvigione riga
+ if (abs($riga->provvigione_unitaria) > 0) {
+ $text = provvigioneInfo($riga);
+
+ echo '
+
'.$text.'';
+ }
+
+ echo ' ';
}
// Possibilità di rimuovere una riga solo se il ddt non è evaso
@@ -340,6 +349,18 @@ if(!empty($ddt->provvigione)) {
|
';
+
+ echo '
+
+
+ '.tr('Netto da provvigioni').':
+ |
+
+ '.moneyFormat($ddt->totale_imponibile - $ddt->provvigione).'
+ |
+ |
+
';
+
}
echo '
diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php
index 34e0a39e6..b57364281 100755
--- a/modules/fatture/row-list.php
+++ b/modules/fatture/row-list.php
@@ -225,8 +225,17 @@ foreach ($righe as $riga) {
// Importo
echo '
- '.moneyFormat($riga->importo).'
- | ';
+ '.moneyFormat($riga->importo);
+
+ //provvigione riga
+ if (abs($riga->provvigione_unitaria) > 0) {
+ $text = provvigioneInfo($riga);
+
+ echo '
+
'.$text.'';
+ }
+
+ echo '';
}
// Possibilità di rimuovere una riga solo se la fattura non è pagata
@@ -448,6 +457,18 @@ if(!empty($fattura->provvigione)) {
|
';
+
+
+ echo '
+
+
+ '.tr('Netto da provvigioni').':
+ |
+
+ '.moneyFormat($fattura->totale_imponibile - $fattura->provvigione).'
+ |
+ |
+
';
}
echo '
diff --git a/modules/interventi/row-list.php b/modules/interventi/row-list.php
index 16582e671..19c8b1086 100755
--- a/modules/interventi/row-list.php
+++ b/modules/interventi/row-list.php
@@ -156,8 +156,18 @@ echo '
// Prezzo di vendita
echo '
- '.moneyFormat($riga->importo).'
- | ';
+ '.moneyFormat($riga->importo);
+
+
+ //provvigione riga
+ if (abs($riga->provvigione_unitaria) > 0) {
+ $text = provvigioneInfo($riga);
+
+ echo '
+
'.$text.'';
+ }
+
+ echo '';
}
// Pulsante per riportare nel magazzino centrale.
diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php
index b68113ce1..d1d23781b 100755
--- a/modules/ordini/row-list.php
+++ b/modules/ordini/row-list.php
@@ -230,8 +230,15 @@ foreach ($righe as $riga) {
// Importo
echo '
- '.moneyFormat($riga->importo).'
- | ';
+ '.moneyFormat($riga->importo);
+ //provvigione riga
+ if (abs($riga->provvigione_unitaria) > 0) {
+ $text = provvigioneInfo($riga);
+
+ echo '
+
'.$text.'';
+ }
+ echo '';
}
// Possibilità di rimuovere una riga solo se l'ordine non è evaso
@@ -383,6 +390,17 @@ if(!empty($ordine->provvigione)) {
|
';
+
+ echo '
+
+
+ '.tr('Netto da provvigioni').':
+ |
+
+ '.moneyFormat($netto_a_pagare - $ordine->provvigione).'
+ |
+ |
+
';
}
echo '
diff --git a/modules/preventivi/row-list.php b/modules/preventivi/row-list.php
index 15071068d..e4f796184 100755
--- a/modules/preventivi/row-list.php
+++ b/modules/preventivi/row-list.php
@@ -180,8 +180,17 @@ foreach ($righe as $riga) {
// Importo
echo '
- '.moneyFormat($riga->importo).'
- | ';
+ '.moneyFormat($riga->importo);
+
+ //provvigione riga
+ if (abs($riga->provvigione_unitaria) > 0) {
+ $text = provvigioneInfo($riga);
+
+ echo '
+
'.$text.'';
+ }
+
+ echo '';
}
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato