Bugfix
Fix dei bug segnalati da #1, #2, #4, #5, #7. Parziale risoluzione di #6 (in attesa di ulteriori specifiche).
This commit is contained in:
parent
9c055cef99
commit
f50aae1534
4
core.php
4
core.php
|
@ -159,8 +159,8 @@ if (!API::isAPIRequest()) {
|
||||||
register_shutdown_function('translateTemplate');
|
register_shutdown_function('translateTemplate');
|
||||||
|
|
||||||
// Impostazione della sessione di base
|
// Impostazione della sessione di base
|
||||||
$_SESSION['infos'] = (array) $_SESSION['errors'];
|
$_SESSION['infos'] = (array) $_SESSION['infos'];
|
||||||
$_SESSION['warnings'] = (array) $_SESSION['errors'];
|
$_SESSION['warnings'] = (array) $_SESSION['warnings'];
|
||||||
$_SESSION['errors'] = (array) $_SESSION['errors'];
|
$_SESSION['errors'] = (array) $_SESSION['errors'];
|
||||||
|
|
||||||
// Imposto il periodo di visualizzazione dei record dal 01-01-yyy al 31-12-yyyy
|
// Imposto il periodo di visualizzazione dei record dal 01-01-yyy al 31-12-yyyy
|
||||||
|
|
|
@ -14,7 +14,7 @@ $type = $_POST['type'];
|
||||||
|
|
||||||
if (!extension_loaded('zip')) {
|
if (!extension_loaded('zip')) {
|
||||||
$_SESSION['errors'][] = _('Estensione php_zip non caricata!').'<br>'._('Verifica e attivala sul tuo php.ini');
|
$_SESSION['errors'][] = _('Estensione php_zip non caricata!').'<br>'._('Verifica e attivala sul tuo php.ini');
|
||||||
} elseif (strstr($filename, '.zip')) {
|
} elseif (!ends_with($filename, '.zip')) {
|
||||||
$_SESSION['errors'][] = _('Il file non è un archivio zip!');
|
$_SESSION['errors'][] = _('Il file non è un archivio zip!');
|
||||||
} elseif (!empty($tmp) && is_file($tmp)) {
|
} elseif (!empty($tmp) && is_file($tmp)) {
|
||||||
$zip = new ZipArchive();
|
$zip = new ZipArchive();
|
||||||
|
|
|
@ -15,7 +15,7 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
||||||
|
|
||||||
// DDT
|
// DDT
|
||||||
if (!empty($array['idddt'])) {
|
if (!empty($array['idddt'])) {
|
||||||
$rs = $dbo->fetchArray('SELECT numero, numero_esterno, dt_ddt.descrizione AS tipo, dt_ddt.dir FROM dt_ddt LEFT JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($array['idddt']));
|
$rs = $dbo->fetchArray('SELECT numero, numero_esterno, dt_tipiddt.descrizione AS tipo, dt_tipiddt.dir FROM dt_ddt LEFT JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($array['idddt']));
|
||||||
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||||
$tipo = strtolower($rs[0]['tipo']);
|
$tipo = strtolower($rs[0]['tipo']);
|
||||||
}
|
}
|
||||||
|
|
|
@ -190,16 +190,7 @@ switch (post('op')) {
|
||||||
$iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
|
$iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
|
||||||
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
|
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
|
||||||
|
|
||||||
// Se la riga che sto inserendo è simile ad altre già inserite, aggiorno solo la quantità e l'iva...
|
|
||||||
$query = 'SELECT id FROM dt_righe_ddt WHERE idddt='.prepare($id_record).' AND descrizione='.prepare($descrizione).' AND (iva/qta)='.prepare($iva / $qta).' AND (iva_indetraibile/qta)='.prepare($iva_indetraibile / $qta).' AND (subtotale/qta)='.prepare($subtot / $qta).' AND um='.prepare($um).' AND sconto='.prepare($sconto);
|
|
||||||
$rs = $dbo->fetchArray($query);
|
|
||||||
if (sizeof($rs) > 0) {
|
|
||||||
$query = 'UPDATE dt_righe_ddt SET qta=qta+'.$qta.', iva=iva+'.$iva.', iva_indetraibile=iva_indetraibile+'.$iva_indetraibile.' WHERE id='.prepare($rs[0]['id']);
|
|
||||||
}
|
|
||||||
// ...altrimenti aggiungo una nuova riga
|
|
||||||
else {
|
|
||||||
$query = 'INSERT INTO dt_righe_ddt(idddt, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'))';
|
$query = 'INSERT INTO dt_righe_ddt(idddt, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'))';
|
||||||
}
|
|
||||||
|
|
||||||
if ($dbo->query($query)) {
|
if ($dbo->query($query)) {
|
||||||
$_SESSION['infos'][] = _('Riga aggiunta!');
|
$_SESSION['infos'][] = _('Riga aggiunta!');
|
||||||
|
|
|
@ -548,7 +548,7 @@ switch (post('op')) {
|
||||||
$ritenutaacconto = ($prezzo) / 100 * $rs[0]['percentuale'];
|
$ritenutaacconto = ($prezzo) / 100 * $rs[0]['percentuale'];
|
||||||
|
|
||||||
// Aggiunta riga contratto sul documento
|
// Aggiunta riga contratto sul documento
|
||||||
$query = 'INSERT INTO co_righe_documenti(iddocumento, idcontratto, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idcontratto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($idconto).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($prezzo).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).", '-', 1, ".prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
|
$query = 'INSERT INTO co_righe_documenti(iddocumento, idcontratto, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, idgruppo, `order`) VALUES('.prepare($id_record).', '.prepare($idcontratto).', '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($prezzo).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).", '-', 1, ".prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
|
||||||
if ($dbo->query($query)) {
|
if ($dbo->query($query)) {
|
||||||
$_SESSION['infos'][] = str_replace('_NUM_', $numero, _('Contratto _NUM_ aggiunto!'));
|
$_SESSION['infos'][] = str_replace('_NUM_', $numero, _('Contratto _NUM_ aggiunto!'));
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,10 @@ $module = Modules::getModule($id_module);
|
||||||
|
|
||||||
if ($module['name'] == 'Ordini cliente') {
|
if ($module['name'] == 'Ordini cliente') {
|
||||||
$dir = 'entrata';
|
$dir = 'entrata';
|
||||||
|
$module_name = 'Ddt di vendita';
|
||||||
} else {
|
} else {
|
||||||
$dir = 'uscita';
|
$dir = 'uscita';
|
||||||
|
$module_name = 'Ddt di acquisto';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Info documento
|
// Info documento
|
||||||
|
@ -24,7 +26,7 @@ $idconto = $rs[0]['idconto'];
|
||||||
echo "<p>Ordine numero $numero</p>";
|
echo "<p>Ordine numero $numero</p>";
|
||||||
echo "Seleziona le righe che vuoi inserire nel ddt e la quantità:<br><br>";
|
echo "Seleziona le righe che vuoi inserire nel ddt e la quantità:<br><br>";
|
||||||
|
|
||||||
echo '<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.Modules::getModule('Ddt di acquisto')['id'].'&id_record='.$id_record."\" method=\"post\">";
|
echo '<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.Modules::getModule($module_name)['id'].'&id_record='.$id_record."\" method=\"post\">";
|
||||||
|
|
||||||
// Altri id utili
|
// Altri id utili
|
||||||
echo " <input type='hidden' name='idordine' value='".$id_record."' />";
|
echo " <input type='hidden' name='idordine' value='".$id_record."' />";
|
||||||
|
|
|
@ -6,8 +6,10 @@ $module = Modules::getModule($id_module);
|
||||||
|
|
||||||
if ($module['name'] == 'Ordini cliente') {
|
if ($module['name'] == 'Ordini cliente') {
|
||||||
$dir = 'entrata';
|
$dir = 'entrata';
|
||||||
|
$module_name = 'Fatture di vendita';
|
||||||
} else {
|
} else {
|
||||||
$dir = 'uscita';
|
$dir = 'uscita';
|
||||||
|
$module_name = 'Fatture di acquisto';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Info documento
|
// Info documento
|
||||||
|
@ -24,7 +26,7 @@ $idconto = $rs[0]['idconto'];
|
||||||
echo "<h4>Ordine numero $numero</h4>\n";
|
echo "<h4>Ordine numero $numero</h4>\n";
|
||||||
echo "Seleziona le righe che vuoi inserire nella fattura e la quantità:<br><br>\n";
|
echo "Seleziona le righe che vuoi inserire nella fattura e la quantità:<br><br>\n";
|
||||||
|
|
||||||
echo '<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.Modules::getModule('Fatture di acquisto')['id'].'&id_record='.$id_record."\" method=\"post\">\n";
|
echo '<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.Modules::getModule($module_name)['id'].'&id_record='.$id_record."\" method=\"post\">\n";
|
||||||
|
|
||||||
// Altri id utili
|
// Altri id utili
|
||||||
echo " <input type='hidden' name='idordine' value='".$id_record."' />\n";
|
echo " <input type='hidden' name='idordine' value='".$id_record."' />\n";
|
||||||
|
|
Loading…
Reference in New Issue