Bulk movimento contabile fatture
This commit is contained in:
parent
d1603cbc6b
commit
1e495d76d8
|
@ -79,7 +79,7 @@ switch (post('op')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Selezione delle fatture da stampare
|
// Selezione delle fatture da stampare
|
||||||
$fatture = $dbo->fetchArray('SELECT co_documenti.id, numero_esterno, data, ragione_sociale, co_tipidocumento.descrizione, co_tipidocumento.dir FROM co_documenti INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id IN('.implode(',', $id_records).')');
|
$fatture = $dbo->fetchArray('SELECT co_documenti.id, numero_esterno, data, ragione_sociale, co_tipidocumento.descrizione, co_tipidocumento.dir FROM co_documenti INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id WHERE co_documenti.id IN('.implode(',', $id_records).') AND co_statidocumento.descrizione="Emessa"');
|
||||||
|
|
||||||
$failed = [];
|
$failed = [];
|
||||||
if (!empty($fatture)) {
|
if (!empty($fatture)) {
|
||||||
|
@ -141,6 +141,124 @@ switch (post('op')) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'registra-contabile':
|
case 'registra-contabile':
|
||||||
|
//Generazione della descrizione del movimento
|
||||||
|
$rs_fatture = $dbo->fetchArray("SELECT *, co_documenti.id AS id, co_documenti.data AS data_doc FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id IN(".implode(',', $id_records).")");
|
||||||
|
|
||||||
|
//calcolo della descrizione
|
||||||
|
$descrizione_movimento = 'Pag. fatture num. ';
|
||||||
|
|
||||||
|
for($i=0;$i<sizeof($rs_fatture);$i++){
|
||||||
|
if($rs_fatture[$i]['numero_esterno']!=''){
|
||||||
|
$descrizione_movimento .= $rs_fatture[$i]['numero_esterno']." ";
|
||||||
|
}else{
|
||||||
|
$descrizione_movimento .= $rs_fatture[$i]['numero']." ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$idmastrino = get_new_idmastrino();
|
||||||
|
|
||||||
|
for($i=0;$i<sizeof($rs_fatture);$i++){
|
||||||
|
//Inserimento righe cliente
|
||||||
|
|
||||||
|
if($rs_fatture[$i]['dir']=='entrata'){
|
||||||
|
$dir='entrata';
|
||||||
|
}else{
|
||||||
|
$dir='uscita';
|
||||||
|
}
|
||||||
|
|
||||||
|
$field = 'idconto_'.($dir == 'entrata' ? 'vendite' : 'acquisti');
|
||||||
|
$idconto_aziendale = $dbo->fetchArray('SELECT '.$field.' FROM co_pagamenti WHERE id = (SELECT idpagamento FROM co_documenti WHERE id='.prepare($rs_fatture[$i]['id']).') GROUP BY descrizione')[0][$field];
|
||||||
|
|
||||||
|
// Lettura conto di default
|
||||||
|
$idconto_aziendale = !empty($idconto_aziendale) ? $idconto_aziendale : setting('Conto aziendale predefinito');
|
||||||
|
|
||||||
|
$query = 'SELECT SUM(ABS(da_pagare-pagato)) AS rata FROM co_scadenziario WHERE iddocumento='.prepare($rs_fatture[$i]['id'])." GROUP BY iddocumento";
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$totale_pagato = $rs[0]['rata'];
|
||||||
|
|
||||||
|
$importo_conto_aziendale = $totale_pagato;
|
||||||
|
|
||||||
|
// conto crediti clienti
|
||||||
|
if ($dir == 'entrata') {
|
||||||
|
// Se è la prima nota di una fattura leggo il conto del cliente
|
||||||
|
if ($rs_fatture[$i]['id'] != '') {
|
||||||
|
$query = 'SELECT idconto_cliente FROM an_anagrafiche INNER JOIN co_documenti ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica WHERE co_documenti.id='.prepare($rs_fatture[$i]['id']);
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$idconto_controparte = $rs[0]['idconto_cliente'];
|
||||||
|
} else {
|
||||||
|
$query = "SELECT id FROM co_pianodeiconti3 WHERE descrizione='Riepilogativo clienti'";
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$idconto_controparte = $rs[0]['id'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// conto debiti fornitori
|
||||||
|
else {
|
||||||
|
// Se è la prima nota di una fattura leggo il conto del fornitore
|
||||||
|
if ($rs_fatture[$i]['id'] != '') {
|
||||||
|
$query = 'SELECT idconto_fornitore FROM an_anagrafiche INNER JOIN co_documenti ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica WHERE co_documenti.id='.prepare($rs_fatture[$i]['id']);
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$idconto_controparte = $rs[0]['idconto_fornitore'];
|
||||||
|
} else {
|
||||||
|
$query = "SELECT id FROM co_pianodeiconti3 WHERE descrizione='Riepilogativo fornitori'";
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$idconto_controparte = $rs[0]['id'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lettura causale movimento (documento e ragione sociale)
|
||||||
|
$importo_conto_controparte = $importo_conto_aziendale;
|
||||||
|
|
||||||
|
if ($dir == 'entrata') {
|
||||||
|
$dbo->query("INSERT INTO co_movimenti(idmastrino, data, data_documento, iddocumento, idanagrafica, descrizione, idconto, totale, primanota) VALUES(".prepare($idmastrino).", NOW(), ".prepare($rs_fatture[$i]['data_doc']).", ".prepare($rs_fatture[$i]['id']).", ".prepare($rs_fatture[$i]['idanagrafica']).", ".prepare($descrizione_movimento).", ".prepare($idconto_controparte).", ".prepare(-$importo_conto_controparte).", 1)");
|
||||||
|
$dbo->query("INSERT INTO co_movimenti(idmastrino, data, data_documento, iddocumento, idanagrafica, descrizione, idconto, totale, primanota) VALUES(".prepare($idmastrino).", NOW(), ".prepare($rs_fatture[$i]['data_doc']).", ".prepare($rs_fatture[$i]['id']).", ".prepare($rs_fatture[$i]['idanagrafica']).", ".prepare($descrizione_movimento).", ".prepare($idconto_aziendale).", ".prepare($importo_conto_aziendale).", 1)");
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$dbo->query("INSERT INTO co_movimenti(idmastrino, data, data_documento, iddocumento, idanagrafica, descrizione, idconto, totale, primanota) VALUES(".prepare($idmastrino).", NOW(), ".prepare($rs_fatture[$i]['data_doc']).", ".prepare($rs_fatture[$i]['id']).", ".prepare($rs_fatture[$i]['idanagrafica']).", ".prepare($descrizione_movimento).", ".prepare($idconto_controparte).", ".prepare($importo_conto_controparte).", 1)");
|
||||||
|
$dbo->query("INSERT INTO co_movimenti(idmastrino, data, data_documento, iddocumento, idanagrafica, descrizione, idconto, totale, primanota) VALUES(".prepare($idmastrino).", NOW(), ".prepare($rs_fatture[$i]['data_doc']).", ".prepare($rs_fatture[$i]['id']).", ".prepare($rs_fatture[$i]['idanagrafica']).", ".prepare($descrizione_movimento).", ".prepare($idconto_aziendale).", ".prepare(-$importo_conto_aziendale).", 1)");
|
||||||
|
}
|
||||||
|
|
||||||
|
aggiorna_scadenziario($rs_fatture[$i]['id'], abs($totale_pagato), date('d/m/Y'));
|
||||||
|
|
||||||
|
// Verifico se la fattura è stata pagata tutta, così imposto lo stato a "Pagato"
|
||||||
|
$query = 'SELECT SUM(pagato) AS tot_pagato, SUM(da_pagare) AS tot_da_pagare FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento='.prepare($rs_fatture[$i]['id']);
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
|
||||||
|
// Aggiorno lo stato della fattura
|
||||||
|
if (abs($rs[0]['tot_pagato']) == abs($rs[0]['tot_da_pagare'])) {
|
||||||
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Pagato') WHERE id=".prepare($rs_fatture[$i]['id']));
|
||||||
|
} elseif (abs($rs[0]['tot_pagato']) != abs($rs[0]['tot_da_pagare']) && abs($rs[0]['tot_pagato']) != '0') {
|
||||||
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Parzialmente pagato') WHERE id=".prepare($rs_fatture[$i]['id']));
|
||||||
|
} else {
|
||||||
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Emessa') WHERE id=".prepare($rs_fatture[$i]['id']));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorno lo stato dei preventivi collegati alla fattura se ce ne sono
|
||||||
|
$query2 = 'SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($rs_fatture[$i]['id']).' AND NOT idpreventivo=0 AND idpreventivo IS NOT NULL';
|
||||||
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
|
||||||
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
|
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='Pagato') WHERE id=".prepare($rs2[$j]['idpreventivo']));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorno lo stato dei contratti collegati alla fattura se ce ne sono
|
||||||
|
$query2 = 'SELECT idcontratto FROM co_righe_documenti WHERE iddocumento='.prepare($rs_fatture[$i]['id']).' AND NOT idcontratto=0 AND idcontratto IS NOT NULL';
|
||||||
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
|
$dbo->query("UPDATE co_contratti SET idstato=(SELECT id FROM co_staticontratti WHERE descrizione='Pagato') WHERE id=".prepare($rs2[$j]['idcontratto']));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorno lo stato degli interventi collegati alla fattura se ce ne sono
|
||||||
|
$query2 = 'SELECT idintervento FROM co_righe_documenti WHERE iddocumento='.prepare($rs_fatture[$i]['id']).' AND idintervento IS NOT NULL';
|
||||||
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
|
||||||
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$database->commitTransaction();
|
||||||
|
header('location:'.$rootdir.'/editor.php?id_module='.Modules::get('Prima nota')['id'].'&id_record='.$idmastrino);
|
||||||
|
exit;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -152,7 +270,7 @@ $bulk = [
|
||||||
$bulk['registra-contabile'] = [
|
$bulk['registra-contabile'] = [
|
||||||
'text' => tr('Registra contabile pagamento'),
|
'text' => tr('Registra contabile pagamento'),
|
||||||
'data' => [
|
'data' => [
|
||||||
'msg' => tr('Vuoi aggiungere un movimento contabile per le fatture selezionate?'),
|
'msg' => tr('Vuoi aggiungere un movimento contabile per le fatture selezionate? (le fatture dovranno essere in stato emessa altrimenti non verranno elaborate)'),
|
||||||
'button' => tr('Procedi'),
|
'button' => tr('Procedi'),
|
||||||
'class' => 'btn btn-lg btn-warning',
|
'class' => 'btn btn-lg btn-warning',
|
||||||
'blank' => true,
|
'blank' => true,
|
||||||
|
|
|
@ -133,13 +133,15 @@ switch (post('op')) {
|
||||||
// Eliminazione prima nota
|
// Eliminazione prima nota
|
||||||
$dbo->query('DELETE FROM co_movimenti WHERE idmastrino='.prepare($idmastrino).' AND primanota=1');
|
$dbo->query('DELETE FROM co_movimenti WHERE idmastrino='.prepare($idmastrino).' AND primanota=1');
|
||||||
|
|
||||||
// Lettura info fattura
|
|
||||||
$query = 'SELECT *, co_documenti.note, co_documenti.idpagamento, co_documenti.id AS iddocumento, co_statidocumento.descrizione AS `stato`, co_tipidocumento.descrizione AS `descrizione_tipodoc` FROM ((co_documenti LEFT OUTER JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id) INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
|
||||||
$rs = $dbo->fetchArray($query);
|
|
||||||
$ragione_sociale = $rs[0]['ragione_sociale'];
|
|
||||||
$dir = $rs[0]['dir'];
|
|
||||||
|
|
||||||
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
||||||
|
$iddocumento = post('iddocumento')[$i];
|
||||||
|
|
||||||
|
// Lettura info fattura
|
||||||
|
$query = 'SELECT *, co_documenti.note, co_documenti.idpagamento, co_documenti.id AS iddocumento, co_statidocumento.descrizione AS `stato`, co_tipidocumento.descrizione AS `descrizione_tipodoc` FROM ((co_documenti LEFT OUTER JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id) INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$ragione_sociale = $rs[0]['ragione_sociale'];
|
||||||
|
$dir = $rs[0]['dir'];
|
||||||
|
|
||||||
$idconto = post('idconto')[$i];
|
$idconto = post('idconto')[$i];
|
||||||
$dare = post('dare')[$i];
|
$dare = post('dare')[$i];
|
||||||
$avere = post('avere')[$i];
|
$avere = post('avere')[$i];
|
||||||
|
@ -210,36 +212,38 @@ switch (post('op')) {
|
||||||
} else {
|
} else {
|
||||||
flash()->info(tr('Movimento modificato in prima nota!'));
|
flash()->info(tr('Movimento modificato in prima nota!'));
|
||||||
|
|
||||||
// Verifico se la fattura è stata pagata, così imposto lo stato a "Pagato"
|
foreach(post('iddocumento') as $iddocumento){
|
||||||
$query = 'SELECT SUM(pagato) AS tot_pagato, SUM(da_pagare) AS tot_da_pagare FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento);
|
// Verifico se la fattura è stata pagata, così imposto lo stato a "Pagato"
|
||||||
$rs = $dbo->fetchArray($query);
|
$query = 'SELECT SUM(pagato) AS tot_pagato, SUM(da_pagare) AS tot_da_pagare FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento);
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
|
||||||
// Aggiorno lo stato della fattura
|
// Aggiorno lo stato della fattura
|
||||||
if ($rs[0]['tot_pagato'] == $rs[0]['tot_da_pagare']) {
|
if ($rs[0]['tot_pagato'] == $rs[0]['tot_da_pagare']) {
|
||||||
$stato = 'Pagato';
|
$stato = 'Pagato';
|
||||||
} else {
|
} else {
|
||||||
$stato = 'Parzialmente pagato';
|
$stato = 'Parzialmente pagato';
|
||||||
}
|
}
|
||||||
|
|
||||||
$dbo->query('UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='.prepare($stato).') WHERE id='.prepare($iddocumento));
|
$dbo->query('UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='.prepare($stato).') WHERE id='.prepare($iddocumento));
|
||||||
|
|
||||||
// Aggiorno lo stato dei preventivi collegati alla fattura se ce ne sono
|
// Aggiorno lo stato dei preventivi collegati alla fattura se ce ne sono
|
||||||
$query2 = 'SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND NOT idpreventivo=0 AND idpreventivo IS NOT NULL';
|
$query2 = 'SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND NOT idpreventivo=0 AND idpreventivo IS NOT NULL';
|
||||||
$rs2 = $dbo->fetchArray($query2);
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
|
||||||
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='Pagato') WHERE id=".prepare($rs2[$j]['idpreventivo']));
|
$dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='Pagato') WHERE id=".prepare($rs2[$j]['idpreventivo']));
|
||||||
|
|
||||||
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
// Aggiorno anche lo stato degli interventi collegati ai preventivi
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aggiorno lo stato degli interventi collegati alla fattura se ce ne sono
|
// Aggiorno lo stato degli interventi collegati alla fattura se ce ne sono
|
||||||
$query2 = 'SELECT idintervento FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND idintervento IS NOT NULL';
|
$query2 = 'SELECT idintervento FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND idintervento IS NOT NULL';
|
||||||
$rs2 = $dbo->fetchArray($query2);
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
|
||||||
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
for ($j = 0; $j < sizeof($rs2); ++$j) {
|
||||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id_preventivo=".prepare($rs2[$j]['idpreventivo']));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -12,14 +12,41 @@ include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<?php
|
<?php
|
||||||
if (!empty($record['iddocumento'])) {
|
|
||||||
$rs = $dbo->fetchArray('SELECT dir FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento WHERE co_documenti.id='.prepare($record['iddocumento']));
|
$rs_doc = $dbo->fetchArray("SELECT DISTINCT iddocumento, (SELECT IFNULL(numero_esterno, numero) FROM co_documenti WHERE id=co_movimenti.iddocumento) AS numero FROM co_movimenti WHERE idmastrino=".prepare($record['idmastrino']));
|
||||||
$modulo = ($rs[0]['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto'; ?>
|
|
||||||
<div class=" col-md-2">
|
if(sizeof($rs_doc)==1){
|
||||||
|
|
||||||
|
if (!empty($record['iddocumento'])) {
|
||||||
|
$rs = $dbo->fetchArray('SELECT dir FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento WHERE co_documenti.id='.prepare($record['iddocumento']));
|
||||||
|
$modulo = ($rs[0]['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto'; ?>
|
||||||
|
<div class=" col-md-2">
|
||||||
<br>
|
<br>
|
||||||
<a href="<?php echo $rootdir; ?>/editor.php?id_module=<?php echo Modules::get($modulo)['id']; ?>&id_record=<?php echo $record['iddocumento']; ?>" class="btn btn-info"><i class="fa fa-chevron-left"></i> <?php echo tr('Torna alla fattura'); ?></a>
|
<a href="<?php echo $rootdir; ?>/editor.php?id_module=<?php echo Modules::get($modulo)['id']; ?>&id_record=<?php echo $record['iddocumento']; ?>" class="btn btn-info"><i class="fa fa-chevron-left"></i> <?php echo tr('Vai alla fattura'); ?></a>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
?>
|
||||||
|
<div class=" col-md-2">
|
||||||
|
<br>
|
||||||
|
<div class="dropdown">
|
||||||
|
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" style="width:100%;">Fatture collegate
|
||||||
|
<span class="caret"></span></button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<?php
|
||||||
|
for($i=0;$i<sizeof($rs_doc);$i++){
|
||||||
|
$rs = $dbo->fetchArray('SELECT dir FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento WHERE co_documenti.id='.prepare($rs_doc[$i]['iddocumento']));
|
||||||
|
$modulo = ($rs[0]['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
|
||||||
|
?>
|
||||||
|
<li><a href="<?php echo $rootdir; ?>/editor.php?id_module=<?php echo Modules::get($modulo)['id']; ?>&id_record=<?php echo $rs_doc[$i]['iddocumento']; ?>" class="dropdown-item"><?php echo tr('Vai alla fattura n. '.$rs_doc[$i]['numero']); ?></a></li>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
@ -56,7 +83,7 @@ include_once __DIR__.'/../../core.php';
|
||||||
Form di modifica riga movimento
|
Form di modifica riga movimento
|
||||||
*/
|
*/
|
||||||
// Lettura movimenti del mastrino selezionato
|
// Lettura movimenti del mastrino selezionato
|
||||||
$query = 'SELECT * FROM co_movimenti WHERE idmastrino='.prepare($record['idmastrino']).' AND iddocumento='.prepare($record['iddocumento']).' AND primanota='.prepare($record['primanota']);
|
$query = 'SELECT * FROM co_movimenti WHERE idmastrino='.prepare($record['idmastrino']).' AND primanota='.prepare($record['primanota']);
|
||||||
$rs = $dbo->fetchArray($query);
|
$rs = $dbo->fetchArray($query);
|
||||||
$n = sizeof($rs);
|
$n = sizeof($rs);
|
||||||
$iddocumento = $rs[0]['iddocumento'];
|
$iddocumento = $rs[0]['iddocumento'];
|
||||||
|
@ -68,14 +95,21 @@ include_once __DIR__.'/../../core.php';
|
||||||
<th width="20%">'.tr('Dare').'</th>
|
<th width="20%">'.tr('Dare').'</th>
|
||||||
<th width="20%">'.tr('Avere').'</th>
|
<th width="20%">'.tr('Avere').'</th>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
|
if(sizeof($rs)>=10){
|
||||||
|
$rows = sizeof($rs)+2;
|
||||||
|
}else{
|
||||||
|
$rows = 10;
|
||||||
|
}
|
||||||
|
|
||||||
for ($i = 0; $i < 10; ++$i) {
|
for ($i = 0; $i < $rows; ++$i) {
|
||||||
($i <= 1) ? $required = 1 : $required = 0;
|
($i <= 1) ? $required = 1 : $required = 0;
|
||||||
|
|
||||||
// Conto
|
// Conto
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<input type="hidden" name="iddocumento['.$i.']" value="'.$rs[$i]['iddocumento'].'">
|
||||||
{[ "type": "select", "name": "idconto['.$i.']", "value": "'.$rs[$i]['idconto'].'", "ajax-source": "conti", "required": "'.$required.'" ]}
|
{[ "type": "select", "name": "idconto['.$i.']", "value": "'.$rs[$i]['idconto'].'", "ajax-source": "conti", "required": "'.$required.'" ]}
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue