Aggiornamento conti

This commit is contained in:
Thomas Zilio 2018-07-09 17:21:25 +02:00
parent 0aeee2e4d2
commit c5b9de19fe
16 changed files with 48 additions and 23 deletions

View File

@ -63,6 +63,8 @@ if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
$("#prezzo").val($data.prezzo_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').'); $("#prezzo").val($data.prezzo_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').');
$("#descrizione_riga").val($data.descrizione); $("#descrizione_riga").val($data.descrizione);
$("#idiva").selectSet($data.idiva_vendita, $data.iva_vendita); $("#idiva").selectSet($data.idiva_vendita, $data.iva_vendita);
$("#idconto").selectSetNew($data.idconto_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').', $data.idconto_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').'_title);
console.log($data);
$("#um").selectSetNew($data.um, $data.um); $("#um").selectSetNew($data.um, $data.um);
}'; }';

View File

@ -40,6 +40,8 @@ switch (post('op')) {
'threshold_qta' => post('threshold_qta'), 'threshold_qta' => post('threshold_qta'),
'prezzo_vendita' => post('prezzo_vendita'), 'prezzo_vendita' => post('prezzo_vendita'),
'prezzo_acquisto' => post('prezzo_acquisto'), 'prezzo_acquisto' => post('prezzo_acquisto'),
'idconto_vendita' => post('idconto_vendita'),
'idconto_acquisto' => post('idconto_acquisto'),
'idiva_vendita' => post('idiva_vendita'), 'idiva_vendita' => post('idiva_vendita'),
'gg_garanzia' => post('gg_garanzia'), 'gg_garanzia' => post('gg_garanzia'),
'servizio' => post('servizio'), 'servizio' => post('servizio'),

View File

@ -4,7 +4,7 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) { switch ($resource) {
case 'articoli': case 'articoli':
$query = 'SELECT mg_articoli.*, co_iva.descrizione AS iva_vendita FROM mg_articoli LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id |where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC'; $query = 'SELECT mg_articoli.*, (SELECT CONCAT(numero, " ", descrizione) FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id = idconto_vendita) AS idconto_vendita_title, (SELECT CONCAT(numero, " ", descrizione) FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id = idconto_acquisto) AS idconto_acquisto_title, co_iva.descrizione AS iva_vendita FROM mg_articoli LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id |where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC';
$idiva_predefinita = setting('Iva predefinita'); $idiva_predefinita = setting('Iva predefinita');
$rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'"); $rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'");
@ -66,6 +66,10 @@ switch ($resource) {
'um' => $r['um'], 'um' => $r['um'],
'idiva_vendita' => $idiva, 'idiva_vendita' => $idiva,
'iva_vendita' => $iva, 'iva_vendita' => $iva,
'idconto_vendita' => $r['idconto_vendita'],
'idconto_vendita_title' => $r['idconto_vendita_title'],
'idconto_acquisto' => $r['idconto_acquisto'],
'idconto_acquisto_title' => $r['idconto_acquisto_title'],
'prezzo_acquisto' => Translator::numberToLocale($r['prezzo_acquisto']), 'prezzo_acquisto' => Translator::numberToLocale($r['prezzo_acquisto']),
'prezzo_vendita' => Translator::numberToLocale($r['prezzo_vendita']), 'prezzo_vendita' => Translator::numberToLocale($r['prezzo_vendita']),
]; ];

View File

@ -141,6 +141,12 @@ if (!empty($records[0]['immagine01'])) {
{[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "value": "$threshold_qta$", "decimals": "qta", "min-value": "undefined" ]} {[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "value": "$threshold_qta$", "decimals": "qta", "min-value": "undefined" ]}
</div> </div>
</div> </div>
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "<?php echo tr('Conto predefinito di acquisto'); ?>", "name": "idconto_acquisto", "value": "$idconto_acquisto$", "ajax-source": "conti-acquisti" ]}
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -181,6 +187,12 @@ if (!empty($records[0]['immagine01'])) {
{[ "type": "number", "label": "<?php echo tr('Volume'); ?>", "name": "volume", "value": "$volume$", "icon-after": "M<sup>3</sup>" ]} {[ "type": "number", "label": "<?php echo tr('Volume'); ?>", "name": "volume", "value": "$volume$", "icon-after": "M<sup>3</sup>" ]}
</div> </div>
</div> </div>
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "<?php echo tr('Conto predefinito di vendita'); ?>", "name": "idconto_vendita", "value": "$idconto_vendita$", "ajax-source": "conti-vendite" ]}
</div>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -327,7 +327,7 @@ switch (post('op')) {
$costi_intervento = get_costi_intervento($idintervento); $costi_intervento = get_costi_intervento($idintervento);
//Fatturo i diritti di chiamata raggruppati per costo // Fatturo i diritti di chiamata raggruppati per costo
$rst = $dbo->fetchArray('SELECT COUNT(id) AS qta, SUM(prezzo_dirittochiamata) AS tot_prezzo_dirittochiamata FROM in_interventi_tecnici WHERE idintervento='.prepare($idintervento).' AND prezzo_dirittochiamata > 0 GROUP BY prezzo_dirittochiamata'); $rst = $dbo->fetchArray('SELECT COUNT(id) AS qta, SUM(prezzo_dirittochiamata) AS tot_prezzo_dirittochiamata FROM in_interventi_tecnici WHERE idintervento='.prepare($idintervento).' AND prezzo_dirittochiamata > 0 GROUP BY prezzo_dirittochiamata');
// Aggiunta diritto di chiamata se esiste // Aggiunta diritto di chiamata se esiste
@ -472,6 +472,8 @@ switch (post('op')) {
$ritenutaacconto = ($subtot + $rivalsainps) / 100 * $rs[0]['percentuale']; $ritenutaacconto = ($subtot + $rivalsainps) / 100 * $rs[0]['percentuale'];
} }
$idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto');
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_record).', NULL, '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Sconto '.$descrizione).', '.prepare($subtot).', 1, '.prepare(setting('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(setting("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))'; $query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, calcolo_ritenutaacconto, `order`) VALUES('.prepare($id_record).', NULL, '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Sconto '.$descrizione).', '.prepare($subtot).', 1, '.prepare(setting('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(setting("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', '.prepare(setting("Metodologia calcolo ritenuta d'acconto predefinito")).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
$dbo->query($query); $dbo->query($query);
} }

View File

@ -12,7 +12,6 @@ if ($module['name'] == 'Fatture di vendita') {
$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); $record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record));
$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; $numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero'];
$idconto = $record[0]['idconto'];
$idanagrafica = $record[0]['idanagrafica']; $idanagrafica = $record[0]['idanagrafica'];
// Preventivo // Preventivo

View File

@ -15,7 +15,6 @@ if ($module['name'] == 'Fatture di vendita') {
$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); $record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record));
$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; $numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero'];
$idconto = $record[0]['idconto'];
$idanagrafica = $record[0]['idanagrafica']; $idanagrafica = $record[0]['idanagrafica'];
/* /*

View File

@ -16,9 +16,10 @@ if ($module['name'] == 'Fatture di vendita') {
$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); $record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record));
$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; $numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero'];
$idconto = $record[0]['idconto'];
$idanagrafica = $record[0]['idanagrafica']; $idanagrafica = $record[0]['idanagrafica'];
$idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto');
/* /*
Form di inserimento riga documento Form di inserimento riga documento
*/ */

View File

@ -14,7 +14,6 @@ if ($module['name'] == 'Fatture di vendita') {
$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); $record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record));
$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; $numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero'];
$idconto = $record[0]['idconto'];
$idanagrafica = $record[0]['idanagrafica']; $idanagrafica = $record[0]['idanagrafica'];
// Preventivo // Preventivo

View File

@ -14,9 +14,10 @@ if ($module['name'] == 'Fatture di vendita') {
$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); $record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record));
$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; $numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero'];
$idconto = $record[0]['idconto'];
$idanagrafica = $record[0]['idanagrafica']; $idanagrafica = $record[0]['idanagrafica'];
$idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto');
/* /*
Form di inserimento riga documento Form di inserimento riga documento
*/ */

View File

@ -78,6 +78,10 @@ $idanagrafica = $rs[0]['idanagrafica'];
$idpagamento = $rs[0]['idpagamento']; $idpagamento = $rs[0]['idpagamento'];
$idconto = $rs[0]['idconto']; $idconto = $rs[0]['idconto'];
if (empty($idconto)) {
$idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto');
}
/* /*
Form di inserimento riga documento Form di inserimento riga documento
*/ */

View File

@ -675,7 +675,13 @@ function add_articolo_infattura($iddocumento, $idarticolo, $descrizione, $idiva,
$desc_iva = $rs2[0]['descrizione']; $desc_iva = $rs2[0]['descrizione'];
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, idconto_vendita, idconto_acquisto FROM mg_articoli WHERE id='.prepare($idarticolo));
$default_idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto');
if ($idconto == $default_idconto) {
$idconto = $rsart[0]['idconto_'.($dir == 'entrata' ? 'vendita' : 'acquisto')];
}
$idconto = empty($idconto) ? $default_idconto : $idconto;
$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`) 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).'))');
$idriga = $dbo->lastInsertedID(); $idriga = $dbo->lastInsertedID();

View File

@ -6,26 +6,17 @@ include_once __DIR__.'/../../core.php';
$rs = $dbo->fetchArray('SELECT idanagrafica FROM co_documenti WHERE id='.prepare($id_record)); $rs = $dbo->fetchArray('SELECT idanagrafica FROM co_documenti WHERE id='.prepare($id_record));
$idanagrafica = $rs[0]['idanagrafica']; $idanagrafica = $rs[0]['idanagrafica'];
// Leggo il conto dall'ultima riga inserita
$rs = $dbo->fetchArray('SELECT idconto FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' ORDER BY id DESC LIMIT 0,1');
$idconto = $rs[0]['idconto'];
if ($module['name'] == 'Fatture di vendita') { if ($module['name'] == 'Fatture di vendita') {
$dir = 'entrata'; $dir = 'entrata';
$conti = 'conti-vendite'; $conti = 'conti-vendite';
// Se non ho letto un conto dall'ultima riga inserita, lo leggo dalle impostazioni
if (empty($idconto)) {
$idconto = setting('Conto predefinito fatture di vendita');
}
} else { } else {
$dir = 'uscita'; $dir = 'uscita';
$conti = 'conti-acquisti'; $conti = 'conti-acquisti';
}
// Se non ho letto un conto dall'ultima riga inserita, lo leggo dalle impostazioni // Conto dalle impostazioni
if (empty($idconto)) { if (empty($idconto)) {
$idconto = setting('Conto predefinito fatture di acquisto'); $idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto');
}
} }
// Impostazioni per la gestione // Impostazioni per la gestione

View File

@ -56,7 +56,7 @@ switch (post('op')) {
case 'creafatturavendita': case 'creafatturavendita':
$rs_idanagrafica = $dbo->fetchArray("SELECT idanagrafica FROM in_interventi WHERE id='".$id_records[0]."'"); $rs_idanagrafica = $dbo->fetchArray('SELECT idanagrafica FROM in_interventi WHERE id='.prepare($id_records[0]));
$idanagrafica = $rs_idanagrafica[0]['idanagrafica']; $idanagrafica = $rs_idanagrafica[0]['idanagrafica'];
$data = date('Y-m-d'); $data = date('Y-m-d');

View File

@ -33,7 +33,7 @@ switch ($resource) {
$where[] = 'idpianodeiconti2='.prepare($r['id']); $where[] = 'idpianodeiconti2='.prepare($r['id']);
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = '(co_pianodeiconti3.descrizione LIKE '.prepare('%'.$search.'%')." OR CONCAT( co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero ) LIKE ".prepare('%'.$search.'%').')'; $search_fields[] = '(co_pianodeiconti3.descrizione LIKE '.prepare('%'.$search.'%')." OR CONCAT(co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero) LIKE ".prepare('%'.$search.'%').')';
} }
if (!empty($search_fields)) { if (!empty($search_fields)) {
$where[] = '('.implode(' OR ', $search_fields).')'; $where[] = '('.implode(' OR ', $search_fields).')';

View File

@ -209,3 +209,6 @@ INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`,
-- Aggiornamento zz_settings -- Aggiornamento zz_settings
ALTER TABLE `zz_settings` CHANGE `idimpostazione` `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `zz_settings` CHANGE `idimpostazione` `id` int(11) NOT NULL AUTO_INCREMENT;
UPDATE `zz_views` SET `query` = REPLACE(`query`, 'idimpostazione', 'id'); UPDATE `zz_views` SET `query` = REPLACE(`query`, 'idimpostazione', 'id');
-- Aggiunta conti in Articoli
ALTER TABLE `mg_articoli` ADD `idconto_vendita` int(11), ADD `idconto_acquisto` int(11);