Bugfix #284
This commit is contained in:
parent
2ee8fad6bc
commit
c11c5f0fa5
|
@ -699,6 +699,9 @@ switch (post('op')) {
|
||||||
$idiva = post('idiva');
|
$idiva = post('idiva');
|
||||||
$idconto = post('idconto');
|
$idconto = post('idconto');
|
||||||
$idum = post('um');
|
$idum = post('um');
|
||||||
|
$idrivalsainps = post('idrivalsainps');
|
||||||
|
$idritenutaacconto = post('idritenutaacconto');
|
||||||
|
$calcolo_ritenutaacconto = post('calcolo_ritenutaacconto');
|
||||||
|
|
||||||
$qta = $post['qta'];
|
$qta = $post['qta'];
|
||||||
if (!empty($records[0]['is_reversed'])) {
|
if (!empty($records[0]['is_reversed'])) {
|
||||||
|
@ -713,7 +716,9 @@ switch (post('op')) {
|
||||||
$sconto = ($tipo_sconto == 'PRC') ? ($prezzo * $sconto_unitario) / 100 : $sconto_unitario;
|
$sconto = ($tipo_sconto == 'PRC') ? ($prezzo * $sconto_unitario) / 100 : $sconto_unitario;
|
||||||
$sconto = $sconto * $qta;
|
$sconto = $sconto * $qta;
|
||||||
|
|
||||||
add_articolo_infattura($id_record, $idarticolo, $descrizione, $idiva, $qta, $prezzo * $qta, $sconto, $sconto_unitario, $tipo_sconto, '0', $idconto, $idum);
|
add_articolo_infattura($id_record, $idarticolo, $descrizione, $idiva, $qta, $prezzo * $qta, $sconto, $sconto_unitario, $tipo_sconto, '0', $idconto, $idum, $idrivalsainps, $idritenutaacconto, $calcolo_ritenutaacconto);
|
||||||
|
|
||||||
|
ricalcola_costiagg_fattura($id_record);
|
||||||
|
|
||||||
$_SESSION['infos'][] = tr('Articolo aggiunto!');
|
$_SESSION['infos'][] = tr('Articolo aggiunto!');
|
||||||
}
|
}
|
||||||
|
|
|
@ -644,7 +644,7 @@ function ricalcola_costiagg_fattura($iddocumento, $idrivalsainps = '', $idritenu
|
||||||
* $prezzo float prezzo totale dell'articolo (prezzounitario*qtà)
|
* $prezzo float prezzo totale dell'articolo (prezzounitario*qtà)
|
||||||
* $idintervento integer id dell'intervento da cui arriva l'articolo (per non creare casini quando si rimuoverà un articolo dalla fattura).
|
* $idintervento integer id dell'intervento da cui arriva l'articolo (per non creare casini quando si rimuoverà un articolo dalla fattura).
|
||||||
*/
|
*/
|
||||||
function add_articolo_infattura($iddocumento, $idarticolo, $descrizione, $idiva, $qta, $prezzo, $sconto = 0, $sconto_unitario = 0, $tipo_sconto = 'UNT', $idintervento = 0, $idconto = 0, $idum = 0)
|
function add_articolo_infattura($iddocumento, $idarticolo, $descrizione, $idiva, $qta, $prezzo, $sconto = 0, $sconto_unitario = 0, $tipo_sconto = 'UNT', $idintervento = 0, $idconto = 0, $idum = 0, $idrivalsainps = '', $idritenutaacconto = '', $calcolo_ritenutaacconto = '')
|
||||||
{
|
{
|
||||||
global $dir;
|
global $dir;
|
||||||
global $idddt;
|
global $idddt;
|
||||||
|
@ -674,10 +674,27 @@ function add_articolo_infattura($iddocumento, $idarticolo, $descrizione, $idiva,
|
||||||
$iva = ($prezzo - $sconto) / 100 * $rs2[0]['percentuale'];
|
$iva = ($prezzo - $sconto) / 100 * $rs2[0]['percentuale'];
|
||||||
$desc_iva = $rs2[0]['descrizione'];
|
$desc_iva = $rs2[0]['descrizione'];
|
||||||
|
|
||||||
|
if (!empty($idrivalsainps)){
|
||||||
|
// Calcolo rivalsa inps
|
||||||
|
$rs = $dbo->fetchArray('SELECT * FROM co_rivalsainps WHERE id='.prepare($idrivalsainps));
|
||||||
|
$rivalsainps = ($prezzo - $sconto) / 100 * $rs[0]['percentuale'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($idritenutaacconto)){
|
||||||
|
// Calcolo ritenuta d'acconto
|
||||||
|
$query = 'SELECT * FROM co_ritenutaacconto WHERE id='.prepare($idritenutaacconto);
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
if ($calcolo_ritenutaacconto == 'Imponibile') {
|
||||||
|
$ritenutaacconto = ($prezzo - $sconto) / 100 * $rs[0]['percentuale'];
|
||||||
|
} else if ( $calcolo_ritenutaacconto == 'Imponibile + rivalsa inps') {
|
||||||
|
$ritenutaacconto = ($prezzo - $sconto + $rivalsainps) / 100 * $rs[0]['percentuale'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($qta != 0) {
|
if ($qta != 0) {
|
||||||
$rsart = $dbo->fetchArray('SELECT abilita_serial FROM mg_articoli WHERE id='.prepare($idarticolo));
|
$rsart = $dbo->fetchArray('SELECT abilita_serial FROM mg_articoli WHERE id='.prepare($idarticolo));
|
||||||
|
|
||||||
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, idarticolo, idintervento, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, qta, abilita_serial, idconto, um, `order`) VALUES ('.prepare($iddocumento).', '.prepare($idarticolo).', '.(!empty($idintervento) ? prepare($idintervento) : 'NULL').', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($prezzo).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($qta).', '.prepare($rsart[0]['abilita_serial']).', '.prepare($idconto).', '.prepare($um).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($iddocumento).'))');
|
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, idarticolo, idintervento, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, qta, abilita_serial, idconto, um, `order`, idritenutaacconto, ritenutaacconto, idrivalsainps, rivalsainps, calcolo_ritenutaacconto) VALUES ('.prepare($iddocumento).', '.prepare($idarticolo).', '.(!empty($idintervento) ? prepare($idintervento) : 'NULL').', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($prezzo).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($qta).', '.prepare($rsart[0]['abilita_serial']).', '.prepare($idconto).', '.prepare($um).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($iddocumento).'), '.prepare($idritenutaacconto).', '.prepare($ritenutaacconto).', '.prepare($idrivalsainps).', '.prepare($rivalsainps).', '.prepare($calcolo_ritenutaacconto).')');
|
||||||
$idriga = $dbo->lastInsertedID();
|
$idriga = $dbo->lastInsertedID();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -162,7 +162,7 @@ $totale = sum($totale, $records[0]['bollo']);
|
||||||
|
|
||||||
// Rivalsa INPS
|
// Rivalsa INPS
|
||||||
if (!empty($records[0]['rivalsainps'])) {
|
if (!empty($records[0]['rivalsainps'])) {
|
||||||
$rs2 = $dbo->fetchArray('SELECT percentuale FROM co_rivalsainps WHERE id=(SELECT idrivalsainps FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND idrivalsainps!=0 LIMIT 0,1)');
|
$rs2 = $dbo->fetchArray('SELECT percentuale FROM co_rivalsainps WHERE id=(SELECT idrivalsainps FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idrivalsainps!=0 LIMIT 0,1)');
|
||||||
|
|
||||||
$first_colspan = 3;
|
$first_colspan = 3;
|
||||||
$second_colspan = 2;
|
$second_colspan = 2;
|
||||||
|
|
Loading…
Reference in New Issue