mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-13 01:50:46 +01:00
Auto stash before merge of "master" and "origin/master"
This commit is contained in:
parent
c7076f3557
commit
b3f91d4a36
@ -139,12 +139,26 @@ switch (post('op')) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'registra-contabile':
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$bulk = [
|
$bulk = [
|
||||||
'delete-bulk' => tr('Elimina selezionati'),
|
'delete-bulk' => tr('Elimina selezionati'),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$bulk['registra-contabile'] = [
|
||||||
|
'text' => tr('Registra contabile pagamento'),
|
||||||
|
'data' => [
|
||||||
|
'msg' => tr('Vuoi aggiungere un movimento contabile per le fatture selezionate?'),
|
||||||
|
'button' => tr('Procedi'),
|
||||||
|
'class' => 'btn btn-lg btn-warning',
|
||||||
|
'blank' => true,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
if ($module->name == 'Fatture di vendita') {
|
if ($module->name == 'Fatture di vendita') {
|
||||||
$bulk['export-bulk'] = [
|
$bulk['export-bulk'] = [
|
||||||
'text' => tr('Esporta stampe'),
|
'text' => tr('Esporta stampe'),
|
||||||
|
@ -47,6 +47,14 @@ if (empty($record['is_fiscale'])) {
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
if (!empty($record['is_fiscale'])) {
|
if (!empty($record['is_fiscale'])) {
|
||||||
|
|
||||||
|
//Aggiunta insoluto
|
||||||
|
if (!empty($record['riba']) && ($record['stato'] == 'Emessa' || $record['stato'] == 'Parzialmente pagato' || $record['stato'] == 'Pagato') && $dir == 'entrata') {
|
||||||
|
?>
|
||||||
|
<button type="button" class="btn btn-primary" onclick="launch_modal( '<?php echo tr('Registra insoluto'); ?>', '<?php echo $rootdir; ?>/add.php?id_module=<?php echo Modules::get('Prima nota')['id']; ?>&iddocumento=<?php echo $id_record; ?>&dir=<?php echo $dir; ?>&insoluto=1', 1 );"><i class="fa fa-euro"></i> <?php echo tr('Registra insoluto'); ?>...</button>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
|
||||||
// Aggiunta prima nota solo se non c'è già, se non si è in bozza o se il pagamento non è completo
|
// Aggiunta prima nota solo se non c'è già, se non si è in bozza o se il pagamento non è completo
|
||||||
$n2 = $dbo->fetchNum('SELECT id FROM co_movimenti WHERE iddocumento='.prepare($id_record).' AND primanota=1');
|
$n2 = $dbo->fetchNum('SELECT id FROM co_movimenti WHERE iddocumento='.prepare($id_record).' AND primanota=1');
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ if (isset($id_record)) {
|
|||||||
LEFT OUTER JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id
|
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 an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica
|
||||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id
|
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id
|
||||||
|
LEFT JOIN co_pagamenti ON co_documenti.idpagamento=co_pagamenti.id
|
||||||
WHERE co_tipidocumento.dir = '.prepare($dir).' AND co_documenti.id='.prepare($id_record));
|
WHERE co_tipidocumento.dir = '.prepare($dir).' AND co_documenti.id='.prepare($id_record));
|
||||||
|
|
||||||
$note_accredito = $dbo->fetchArray("SELECT co_documenti.id, IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM co_documenti JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE reversed = 1 AND ref_documento=".prepare($id_record));
|
$note_accredito = $dbo->fetchArray("SELECT co_documenti.id, IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM co_documenti JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE reversed = 1 AND ref_documento=".prepare($id_record));
|
||||||
|
@ -122,52 +122,100 @@ function aggiorna_scadenziario($iddocumento, $totale_pagato, $data_pagamento)
|
|||||||
{
|
{
|
||||||
$dbo = database();
|
$dbo = database();
|
||||||
|
|
||||||
// Lettura righe scadenziario
|
if($totale_pagato>0){
|
||||||
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato) < ABS(da_pagare) ORDER BY scadenza ASC";
|
// Lettura righe scadenziario
|
||||||
$rs = $dbo->fetchArray($query);
|
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato) < ABS(da_pagare) ORDER BY scadenza ASC";
|
||||||
$netto_fattura = get_netto_fattura($iddocumento);
|
$rs = $dbo->fetchArray($query);
|
||||||
$rimanente = $netto_fattura;
|
$rimanente_da_pagare = abs($rs[0]['pagato']) + $totale_pagato;
|
||||||
$rimanente_da_pagare = abs($rs[0]['pagato']) + $totale_pagato;
|
|
||||||
|
|
||||||
// Verifico se la fattura è di acquisto o di vendita per scegliere che segno mettere nel totale
|
// Verifico se la fattura è di acquisto o di vendita per scegliere che segno mettere nel totale
|
||||||
$query2 = 'SELECT dir FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
$query2 = 'SELECT dir FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
||||||
$rs2 = $dbo->fetchArray($query2);
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
$dir = $rs2[0]['dir'];
|
$dir = $rs2[0]['dir'];
|
||||||
|
|
||||||
// Ciclo tra le rate dei pagamenti per inserire su `pagato` l'importo effettivamente pagato.
|
// Ciclo tra le rate dei pagamenti per inserire su `pagato` l'importo effettivamente pagato.
|
||||||
// Nel caso il pagamento superi la rata, devo distribuirlo sulle rate successive
|
// Nel caso il pagamento superi la rata, devo distribuirlo sulle rate successive
|
||||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||||
if ($rimanente_da_pagare != 0) {
|
if ($rimanente_da_pagare > 0) {
|
||||||
// ...riempio il pagato della rata con il totale della rata stessa se ho ricevuto un pagamento superiore alla rata stessa
|
// ...riempio il pagato della rata con il totale della rata stessa se ho ricevuto un pagamento superiore alla rata stessa
|
||||||
if (abs($rimanente_da_pagare) >= abs($rs[$i]['da_pagare'])) {
|
if (abs($rimanente_da_pagare) >= abs($rs[$i]['da_pagare'])) {
|
||||||
$pagato = abs($rs[$i]['da_pagare']);
|
|
||||||
$rimanente_da_pagare -= abs($rs[$i]['da_pagare']);
|
|
||||||
} else {
|
|
||||||
// Se si inserisce una somma maggiore al dovuto, tengo valido il rimanente per saldare il tutto...
|
|
||||||
if (abs($rimanente_da_pagare) > abs($rs[$i]['da_pagare'])) {
|
|
||||||
$pagato = abs($rs[$i]['da_pagare']);
|
$pagato = abs($rs[$i]['da_pagare']);
|
||||||
$rimanente_da_pagare -= abs($rs[$i]['da_pagare']);
|
$rimanente_da_pagare -= abs($rs[$i]['da_pagare']);
|
||||||
}
|
|
||||||
|
|
||||||
// ...altrimenti aggiungo l'importo pagato
|
|
||||||
else {
|
|
||||||
$pagato = abs($rimanente_da_pagare);
|
|
||||||
$rimanente_da_pagare -= abs($rimanente_da_pagare);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($dir == 'uscita') {
|
|
||||||
$rimanente_da_pagare = -$rimanente_da_pagare;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($pagato > 0) {
|
|
||||||
if ($dir == 'uscita') {
|
|
||||||
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare(-$pagato).', data_pagamento='.prepare($data_pagamento).' WHERE id='.prepare($rs[$i]['id']));
|
|
||||||
} else {
|
} else {
|
||||||
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($pagato).', data_pagamento='.prepare($data_pagamento).' WHERE id='.prepare($rs[$i]['id']));
|
// Se si inserisce una somma maggiore al dovuto, tengo valido il rimanente per saldare il tutto...
|
||||||
|
if (abs($rimanente_da_pagare) > abs($rs[$i]['da_pagare'])) {
|
||||||
|
$pagato = abs($rs[$i]['da_pagare']);
|
||||||
|
$rimanente_da_pagare -= abs($rs[$i]['da_pagare']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ...altrimenti aggiungo l'importo pagato
|
||||||
|
else {
|
||||||
|
$pagato = abs($rimanente_da_pagare);
|
||||||
|
$rimanente_da_pagare -= abs($rimanente_da_pagare);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($dir == 'uscita') {
|
||||||
|
$rimanente_da_pagare = -$rimanente_da_pagare;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($pagato > 0) {
|
||||||
|
if ($dir == 'uscita') {
|
||||||
|
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare(-$pagato).', data_pagamento='.prepare($data_pagamento).' WHERE id='.prepare($rs[$i]['id']));
|
||||||
|
} else {
|
||||||
|
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($pagato).', data_pagamento='.prepare($data_pagamento).' WHERE id='.prepare($rs[$i]['id']));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
// Lettura righe scadenziario
|
||||||
|
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato)>0 ORDER BY scadenza DESC";
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
$residuo_pagato = abs($rs[0]['pagato']) + $totale_pagato;
|
||||||
|
|
||||||
|
// Verifico se la fattura è di acquisto o di vendita per scegliere che segno mettere nel totale
|
||||||
|
$query2 = 'SELECT dir FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
||||||
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
|
$dir = $rs2[0]['dir'];
|
||||||
|
|
||||||
|
// Ciclo tra le rate dei pagamenti per inserire su `pagato` l'importo effettivamente pagato.
|
||||||
|
// Nel caso il pagamento superi la rata, devo distribuirlo sulle rate successive
|
||||||
|
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||||
|
if ($residuo_pagato >= 0) {
|
||||||
|
// ...riempio il pagato della rata con il totale della rata stessa se ho ricevuto un pagamento superiore alla rata stessa
|
||||||
|
if (abs($residuo_pagato) <= abs($rs[$i]['pagato'])) {
|
||||||
|
$pagato = 0;
|
||||||
|
$residuo_pagato -= abs($rs[$i]['pagato']);
|
||||||
|
} else {
|
||||||
|
// Se si inserisce una somma maggiore al dovuto, tengo valido il rimanente per saldare il tutto...
|
||||||
|
if (abs($residuo_pagato) < abs($rs[$i]['pagato'])) {
|
||||||
|
$pagato = 0;
|
||||||
|
$residuo_pagato -= abs($rs[$i]['pagato']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ...altrimenti aggiungo l'importo pagato
|
||||||
|
else {
|
||||||
|
$pagato = abs($residuo_pagato);
|
||||||
|
$residuo_pagato -= abs($residuo_pagato);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($dir == 'uscita') {
|
||||||
|
$residuo_pagato = -$residuo_pagato;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($pagato >= 0) {
|
||||||
|
if ($dir == 'uscita') {
|
||||||
|
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare(-$pagato).', data_pagamento='.prepare($data_pagamento).' WHERE id='.prepare($rs[$i]['id']));
|
||||||
|
} else {
|
||||||
|
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($pagato).', data_pagamento='.prepare($data_pagamento).' WHERE id='.prepare($rs[$i]['id']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
$r = $dbo->fetchOne('SELECT co_documenti.*,
|
$r = $dbo->fetchOne('SELECT co_documenti.*,
|
||||||
an_anagrafiche.email,
|
an_anagrafiche.email,
|
||||||
|
an_anagrafiche.idconto_cliente,
|
||||||
|
an_anagrafiche.idconto_fornitore,
|
||||||
an_anagrafiche.pec,
|
an_anagrafiche.pec,
|
||||||
an_anagrafiche.ragione_sociale,
|
an_anagrafiche.ragione_sociale,
|
||||||
(SELECT pec FROM zz_smtps WHERE zz_smtps.id='.prepare($template['id_smtp']).') AS is_pec
|
(SELECT pec FROM zz_smtps WHERE zz_smtps.id='.prepare($template['id_smtp']).') AS is_pec
|
||||||
@ -9,6 +11,17 @@ FROM co_documenti INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anag
|
|||||||
|
|
||||||
$logo_azienda = str_replace(DOCROOT, ROOTDIR, App::filepath('templates/base|custom|/logo_azienda.jpg'));
|
$logo_azienda = str_replace(DOCROOT, ROOTDIR, App::filepath('templates/base|custom|/logo_azienda.jpg'));
|
||||||
|
|
||||||
|
//cliente
|
||||||
|
if($r['idconto_cliente']!=''){
|
||||||
|
$conto = $r['idconto_cliente'];
|
||||||
|
$conto_descrizione = $dbo->fetchOne('SELECT CONCAT ((SELECT numero FROM co_pianodeiconti2 WHERE id=co_pianodeiconti3.idpianodeiconti2), ".", numero, " ", descrizione) AS descrizione FROM co_pianodeiconti3 WHERE id='.prepare($conto))['descrizione'];
|
||||||
|
}
|
||||||
|
//Fornitore
|
||||||
|
else if($r['idconto_fornitore']!=''){
|
||||||
|
$conto = $r['idconto_fornitore'];
|
||||||
|
$conto_descrizione = $dbo->fetchOne('SELECT CONCAT ((SELECT numero FROM co_pianodeiconti2 WHERE id=co_pianodeiconti3.idpianodeiconti2), ".", numero, " ", descrizione) AS descrizione FROM co_pianodeiconti3 WHERE id='.prepare($conto))['descrizione'];
|
||||||
|
}
|
||||||
|
|
||||||
// Variabili da sostituire
|
// Variabili da sostituire
|
||||||
return [
|
return [
|
||||||
'email' => $r['is_pec'] ? $r['pec'] : $r['email'],
|
'email' => $r['is_pec'] ? $r['pec'] : $r['email'],
|
||||||
@ -18,4 +31,6 @@ return [
|
|||||||
'note' => $r['note'],
|
'note' => $r['note'],
|
||||||
'data' => Translator::dateToLocale($r['data']),
|
'data' => Translator::dateToLocale($r['data']),
|
||||||
'logo_azienda' => !empty($logo_azienda) ? '<img src="'.$logo_azienda.'" />' : '',
|
'logo_azienda' => !empty($logo_azienda) ? '<img src="'.$logo_azienda.'" />' : '',
|
||||||
|
'conto' => $conto,
|
||||||
|
'conto_descrizione' => $conto_descrizione,
|
||||||
];
|
];
|
||||||
|
@ -6,12 +6,15 @@ switch (post('op')) {
|
|||||||
case 'add':
|
case 'add':
|
||||||
$idmastrino = get_new_idmastrino('co_movimenti_modelli');
|
$idmastrino = get_new_idmastrino('co_movimenti_modelli');
|
||||||
$descrizione = post('descrizione');
|
$descrizione = post('descrizione');
|
||||||
|
$nome = post('nome');
|
||||||
|
|
||||||
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
||||||
$idconto = post('idconto')[$i];
|
$idconto = post('idconto')[$i];
|
||||||
$query = 'INSERT INTO co_movimenti_modelli(idmastrino, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($descrizione).', '.prepare($idconto).')';
|
if(!empty($idconto)){
|
||||||
if ($dbo->query($query)) {
|
$query = 'INSERT INTO co_movimenti_modelli(idmastrino, nome, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($nome).', '.prepare($descrizione).', '.prepare($idconto).')';
|
||||||
$id_record = $dbo->lastInsertedID();
|
if ($dbo->query($query)) {
|
||||||
|
$id_record = $idmastrino;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,15 +23,18 @@ switch (post('op')) {
|
|||||||
case 'editriga':
|
case 'editriga':
|
||||||
$idmastrino = post('idmastrino');
|
$idmastrino = post('idmastrino');
|
||||||
$descrizione = post('descrizione');
|
$descrizione = post('descrizione');
|
||||||
|
$nome = post('nome');
|
||||||
|
|
||||||
// Eliminazione prima nota
|
// Eliminazione prima nota
|
||||||
$dbo->query('DELETE FROM co_movimenti_modelli WHERE idmastrino='.prepare($idmastrino));
|
$dbo->query('DELETE FROM co_movimenti_modelli WHERE idmastrino='.prepare($idmastrino));
|
||||||
|
|
||||||
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
||||||
$idconto = post('idconto')[$i];
|
$idconto = post('idconto')[$i];
|
||||||
$query = 'INSERT INTO co_movimenti_modelli(idmastrino, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($descrizione).', '.prepare($idconto).')';
|
if(!empty($idconto)){
|
||||||
if ($dbo->query($query)) {
|
$query = 'INSERT INTO co_movimenti_modelli(idmastrino, nome, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($nome).', '.prepare($descrizione).', '.prepare($idconto).')';
|
||||||
$id_record = $dbo->lastInsertedID();
|
if ($dbo->query($query)) {
|
||||||
|
$id_record = $idmastrino;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,8 +7,11 @@ include_once __DIR__.'/../../core.php';
|
|||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-5">
|
||||||
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1 ]}
|
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1 ]}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-7">
|
||||||
|
{[ "type": "text", "label": "<?php echo tr('Causale'); ?>", "name": "descrizione", "required": 1 ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -40,7 +43,36 @@ include_once __DIR__.'/../../core.php';
|
|||||||
|
|
||||||
echo '
|
echo '
|
||||||
</table>';
|
</table>';
|
||||||
?>
|
|
||||||
|
// Variabili utilizzabili
|
||||||
|
$variables = include Modules::filepath(Modules::get("Fatture di vendita")['id'], 'variables.php');
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<!-- Istruzioni per il contenuto -->
|
||||||
|
<div class="box box-info">
|
||||||
|
<div class="box-body">';
|
||||||
|
|
||||||
|
if (!empty($variables)) {
|
||||||
|
echo '
|
||||||
|
<p>'.tr("Puoi utilizzare le seguenti sequenze di testo all'interno del campo causale, verranno sostituite in fase generazione prima nota dalla fattura.").':</p>
|
||||||
|
<ul>';
|
||||||
|
|
||||||
|
foreach ($variables as $variable => $value) {
|
||||||
|
echo '
|
||||||
|
<li><code>{'.$variable.'}</code></li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
</ul>';
|
||||||
|
} else {
|
||||||
|
echo '
|
||||||
|
<p><i class="fa fa-warning"></i> '.tr('Non sono state definite variabili da utilizzare nel template').'.</p>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
?>
|
||||||
|
|
||||||
<!-- PULSANTI -->
|
<!-- PULSANTI -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -11,8 +11,11 @@ include_once __DIR__.'/../../core.php';
|
|||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-5">
|
||||||
{[ "type": "text", "label": "<?php echo tr('Causale predefinita'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
|
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1, "value": "$nome$" ]}
|
||||||
|
</div>
|
||||||
|
<div class="col-md-7">
|
||||||
|
{[ "type": "text", "label": "<?php echo tr('Causale'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -52,7 +55,7 @@ for ($i = 0; $i < 10; ++$i) {
|
|||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{[ "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-modelliprimanota", "required": "'.$required.'" ]}
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
@ -80,6 +83,50 @@ echo '
|
|||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
// Variabili utilizzabili
|
||||||
|
$variables = include Modules::filepath(Modules::get("Fatture di vendita")['id'], 'variables.php');
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<!-- Istruzioni per il contenuto -->
|
||||||
|
<div class="box box-info">
|
||||||
|
<div class="box-body">';
|
||||||
|
|
||||||
|
if (!empty($variables)) {
|
||||||
|
echo '
|
||||||
|
<p>'.tr("Puoi utilizzare le seguenti sequenze di testo all'interno del campo causale, verranno sostituite in fase generazione prima nota dalla fattura.").':</p>
|
||||||
|
<ul>';
|
||||||
|
|
||||||
|
foreach ($variables as $variable => $value) {
|
||||||
|
echo '
|
||||||
|
<li><code>{'.$variable.'}</code></li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
</ul>';
|
||||||
|
} else {
|
||||||
|
echo '
|
||||||
|
<p><i class="fa fa-warning"></i> '.tr('Non sono state definite variabili da utilizzare nel template').'.</p>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
<a class="btn btn-danger ask" data-backto="record-list" data-idmastrino="<?php echo $record['idmastrino']; ?>">
|
<a class="btn btn-danger ask" data-backto="record-list" data-idmastrino="<?php echo $record['idmastrino']; ?>">
|
||||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
$('select[name=idconto]').each(function(){
|
||||||
|
this.selectAdd([{
|
||||||
|
'value': -1,
|
||||||
|
'text': "Conto cliente fattura",
|
||||||
|
}]);
|
||||||
|
});
|
||||||
|
|
||||||
|
</Script>
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
|
||||||
|
|
||||||
if (isset($id_record)) {
|
if (isset($id_record)) {
|
||||||
$record = $dbo->fetchOne('SELECT * FROM co_movimenti_modelli WHERE id='.prepare($id_record));
|
$record = $dbo->fetchOne('SELECT * FROM co_movimenti_modelli WHERE idmastrino='.prepare($id_record));
|
||||||
}
|
}
|
||||||
|
@ -84,4 +84,57 @@ switch ($resource) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'conti-modelliprimanota':
|
||||||
|
$query = 'SELECT co_pianodeiconti2.* FROM co_pianodeiconti2 LEFT JOIN co_pianodeiconti3 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| GROUP BY co_pianodeiconti2.id';
|
||||||
|
|
||||||
|
if ($search != '') {
|
||||||
|
$wh = 'WHERE (co_pianodeiconti3.descrizione LIKE '.prepare('%'.$search.'%')." OR CONCAT( co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero ) LIKE ".prepare('%'.$search.'%').')';
|
||||||
|
} else {
|
||||||
|
$wh = '';
|
||||||
|
}
|
||||||
|
$query = str_replace('|where|', $wh, $query);
|
||||||
|
|
||||||
|
$rs = $dbo->fetchArray($query);
|
||||||
|
foreach ($rs as $r) {
|
||||||
|
$results[] = ['text' => $r['numero'].' '.$r['descrizione'], 'children' => []];
|
||||||
|
|
||||||
|
$subquery = 'SELECT co_pianodeiconti3.* FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where|';
|
||||||
|
|
||||||
|
$where = [];
|
||||||
|
$filter = [];
|
||||||
|
$search_fields = [];
|
||||||
|
|
||||||
|
foreach ($elements as $element) {
|
||||||
|
$filter[] = 'co_pianodeiconti3.id='.prepare($element);
|
||||||
|
}
|
||||||
|
if (!empty($filter)) {
|
||||||
|
$where[] = '('.implode(' OR ', $filter).')';
|
||||||
|
}
|
||||||
|
|
||||||
|
$where[] = 'idpianodeiconti2='.prepare($r['id']);
|
||||||
|
|
||||||
|
if (!empty($search)) {
|
||||||
|
$search_fields[] = '(co_pianodeiconti3.descrizione LIKE '.prepare('%'.$search.'%')." OR CONCAT(co_pianodeiconti2.numero, '.', co_pianodeiconti3.numero) LIKE ".prepare('%'.$search.'%').')';
|
||||||
|
}
|
||||||
|
if (!empty($search_fields)) {
|
||||||
|
$where[] = '('.implode(' OR ', $search_fields).')';
|
||||||
|
}
|
||||||
|
|
||||||
|
$wh = '';
|
||||||
|
if (count($where) != 0) {
|
||||||
|
$wh = 'WHERE '.implode(' AND ', $where);
|
||||||
|
}
|
||||||
|
$subquery = str_replace('|where|', $wh, $subquery);
|
||||||
|
|
||||||
|
$rs2 = $dbo->fetchArray($subquery);
|
||||||
|
foreach ($rs2 as $r2) {
|
||||||
|
$results[count($results) - 1]['children'][] = ['id' => $r2['id'], 'text' => $r['numero'].'.'.$r2['numero'].' '.$r2['descrizione']];
|
||||||
|
}
|
||||||
|
|
||||||
|
$results[] = ['text' => 'Conto cliente/fornitore fattura', 'children' => []];
|
||||||
|
$results[count($results) - 1]['children'][] = ['id' => '-1', 'text' => '{Conto cliente/fornitore fattura}'];
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ switch (post('op')) {
|
|||||||
$data = post('data');
|
$data = post('data');
|
||||||
$idmastrino = get_new_idmastrino();
|
$idmastrino = get_new_idmastrino();
|
||||||
$descrizione = post('descrizione');
|
$descrizione = post('descrizione');
|
||||||
|
$insoluto = post('insoluto');
|
||||||
|
|
||||||
// Lettura info fattura
|
// 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);
|
$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);
|
||||||
@ -42,9 +43,12 @@ switch (post('op')) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inserisco nello scadenziario il totale pagato
|
if ($totale_pagato != 0 && empty($insoluto)) {
|
||||||
if ($totale_pagato != 0) {
|
// Inserisco nello scadenziario il totale pagato
|
||||||
aggiorna_scadenziario($iddocumento, abs($totale_pagato), $data);
|
aggiorna_scadenziario($iddocumento, abs($totale_pagato), $data);
|
||||||
|
}else if(!empty($insoluto)){
|
||||||
|
//Rimuovo dallo scadenzario l'insoluto
|
||||||
|
aggiorna_scadenziario($iddocumento, -abs($totale_pagato), $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se non va a buon fine qualcosa elimino il mastrino per non lasciare incongruenze nel db
|
// Se non va a buon fine qualcosa elimino il mastrino per non lasciare incongruenze nel db
|
||||||
@ -61,8 +65,10 @@ switch (post('op')) {
|
|||||||
// Aggiorno lo stato della fattura
|
// Aggiorno lo stato della fattura
|
||||||
if (abs($rs[0]['tot_pagato']) == abs($rs[0]['tot_da_pagare'])) {
|
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($iddocumento));
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Pagato') WHERE id=".prepare($iddocumento));
|
||||||
} else {
|
} else if(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($iddocumento));
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Parzialmente pagato') WHERE id=".prepare($iddocumento));
|
||||||
|
}else{
|
||||||
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Emessa') 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
|
||||||
@ -101,7 +107,7 @@ switch (post('op')) {
|
|||||||
|
|
||||||
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
for ($i = 0; $i < sizeof(post('idconto')); ++$i) {
|
||||||
$idconto = post('idconto')[$i];
|
$idconto = post('idconto')[$i];
|
||||||
$query = 'INSERT INTO co_movimenti_modelli(idmastrino, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($descrizione).', '.prepare($idconto).')';
|
$query = 'INSERT INTO co_movimenti_modelli(idmastrino, nome, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($descrizione).', '.prepare($descrizione).', '.prepare($idconto).')';
|
||||||
$dbo->query($query);
|
$dbo->query($query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php';
|
|||||||
?><form action="<?php echo ROOTDIR; ?>/controller.php?id_module=<?php echo Modules::get('Prima nota')['id']; ?>" method="post" id="add-form">
|
?><form action="<?php echo ROOTDIR; ?>/controller.php?id_module=<?php echo Modules::get('Prima nota')['id']; ?>" method="post" id="add-form">
|
||||||
<input type="hidden" name="op" value="add">
|
<input type="hidden" name="op" value="add">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
<input type="hidden" name="iddocumento" value="<?php echo get('iddocumento'); ?>">
|
<input type="hidden" name="iddocumento" id="iddocumento" value="<?php echo get('iddocumento'); ?>">
|
||||||
<input type="hidden" name="crea_modello" id="crea_modello" value="0">
|
<input type="hidden" name="crea_modello" id="crea_modello" value="0">
|
||||||
<input type="hidden" name="idmastrino" id="idmastrino" value="0">
|
<input type="hidden" name="idmastrino" id="idmastrino" value="0">
|
||||||
|
|
||||||
@ -13,6 +13,15 @@ include_once __DIR__.'/../../core.php';
|
|||||||
$idconto = get('idconto');
|
$idconto = get('idconto');
|
||||||
$iddocumento = get('iddocumento');
|
$iddocumento = get('iddocumento');
|
||||||
$dir = get('dir');
|
$dir = get('dir');
|
||||||
|
$insoluto = get('insoluto');
|
||||||
|
|
||||||
|
if(!empty($insoluto)){
|
||||||
|
echo '<input type="hidden" name="insoluto" value="1">';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lettura delle variabili nei singoli moduli
|
||||||
|
$id_record = $iddocumento;
|
||||||
|
$variables = include Modules::filepath(Modules::get('Fatture di vendita')['id'], 'variables.php');
|
||||||
|
|
||||||
if (!empty($iddocumento)) {
|
if (!empty($iddocumento)) {
|
||||||
// Lettura numero e tipo di documento
|
// Lettura numero e tipo di documento
|
||||||
@ -33,7 +42,14 @@ include_once __DIR__.'/../../core.php';
|
|||||||
$tipo_doc = 'fattura';
|
$tipo_doc = 'fattura';
|
||||||
}
|
}
|
||||||
|
|
||||||
$descrizione = tr('Pag. _DOC_ num. _NUM_ del _DATE_ (_NAME_)', [
|
if(!empty($insoluto)){
|
||||||
|
$operation = 'Registrazione insoluto';
|
||||||
|
}else{
|
||||||
|
$operation = 'Pag.';
|
||||||
|
}
|
||||||
|
|
||||||
|
$descrizione = tr('_OP_ _DOC_ num. _NUM_ del _DATE_ (_NAME_)', [
|
||||||
|
'_OP_' => $operation,
|
||||||
'_DOC_' => $tipo_doc,
|
'_DOC_' => $tipo_doc,
|
||||||
'_NUM_' => $numero_doc,
|
'_NUM_' => $numero_doc,
|
||||||
'_DATE_' => Translator::dateToLocale($rs[0]['data']),
|
'_DATE_' => Translator::dateToLocale($rs[0]['data']),
|
||||||
@ -74,7 +90,11 @@ include_once __DIR__.'/../../core.php';
|
|||||||
$query = 'SELECT SUM(pagato) AS tot_pagato, SUM(da_pagare) AS tot_da_pagare FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento='.prepare($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);
|
||||||
$rs = $dbo->fetchArray($query);
|
$rs = $dbo->fetchArray($query);
|
||||||
|
|
||||||
$importo_conto_aziendale = abs($rs[0]['tot_da_pagare']) - abs($rs[0]['tot_pagato']);
|
if(!empty($insoluto)){
|
||||||
|
$importo_conto_aziendale = abs($rs[0]['tot_da_pagare']);
|
||||||
|
}else{
|
||||||
|
$importo_conto_aziendale = abs($rs[0]['tot_da_pagare']) - abs($rs[0]['tot_pagato']);
|
||||||
|
}
|
||||||
$totale_dare = $importo_conto_aziendale;
|
$totale_dare = $importo_conto_aziendale;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +144,7 @@ include_once __DIR__.'/../../core.php';
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Modello primanota'); ?>", "id": "modello_primanota", "values": "query=SELECT idmastrino AS id, descrizione FROM co_movimenti_modelli GROUP BY idmastrino" ]}
|
{[ "type": "select", "label": "<?php echo tr('Modello primanota'); ?>", "id": "modello_primanota", "values": "query=SELECT idmastrino AS id, nome AS descrizione, descrizione as causale FROM co_movimenti_modelli GROUP BY idmastrino" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -195,7 +215,7 @@ include_once __DIR__.'/../../core.php';
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Se è una nota di credito, inverto i valori
|
// Se è una nota di credito, inverto i valori
|
||||||
if ($nota_credito) {
|
if ($nota_credito || $insoluto) {
|
||||||
$tmp = $value_dare;
|
$tmp = $value_dare;
|
||||||
$value_dare = $value_avere;
|
$value_dare = $value_avere;
|
||||||
$value_avere = $tmp;
|
$value_avere = $tmp;
|
||||||
@ -350,26 +370,53 @@ include_once __DIR__.'/../../core.php';
|
|||||||
$('#bs-popup #idmastrino').val(0);
|
$('#bs-popup #idmastrino').val(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
var idmastrino = $(this).val();
|
var idmastrino = $(this).val();
|
||||||
|
var variables = <?php echo json_encode($variables); ?>;
|
||||||
|
|
||||||
|
var replaced = 0;
|
||||||
|
|
||||||
if(idmastrino!=''){
|
if(idmastrino!=''){
|
||||||
var causale = $(this).find('option:selected').text();
|
var causale = $(this).find('option:selected').data('causale');
|
||||||
|
|
||||||
//aggiornava erroneamente anche la causale ed eventuale numero di fattura e data
|
if($('#iddocumento').val()!=''){
|
||||||
<?php if (empty($iddocumento)) {
|
for (i in variables){
|
||||||
?>
|
if(causale.includes('{'+i+'}')){
|
||||||
$('#bs-popup #desc').val(causale);
|
replaced++;
|
||||||
<?php
|
causale = causale.replace('{'+i+'}', variables[i]);
|
||||||
} ?>
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
for (i in variables){
|
||||||
|
causale = causale.replace('{'+i+'}', '_');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//aggiornava erroneamente anche la causale ed eventuale numero di fattura e data
|
||||||
|
if(replaced>0 || $('#iddocumento').val()==''){
|
||||||
|
$('#bs-popup #desc').val(causale);
|
||||||
|
}
|
||||||
|
|
||||||
$.get('<?php echo $rootdir; ?>/ajax_complete.php?op=get_conti&idmastrino='+idmastrino, function(data){
|
$.get('<?php echo $rootdir; ?>/ajax_complete.php?op=get_conti&idmastrino='+idmastrino, function(data){
|
||||||
var conti = data.split(',');
|
var conti = data.split(',');
|
||||||
for(i=0;i<conti.length;i++){
|
for(i=0;i<conti.length;i++){
|
||||||
var conto = conti[i].split(';');
|
var conto = conti[i].split(';');
|
||||||
var option = $("<option selected></option>").val(conto[0]).text(conto[1]);
|
//Sostituzione conto cliente/fornitore
|
||||||
$('#bs-popup #conto'+i).selectReset();
|
if(conto[0]==-1){
|
||||||
$('#bs-popup #conto'+i).append(option).trigger('change');
|
if($('#iddocumento').val()!=''){
|
||||||
}
|
var option = $("<option selected></option>").val(variables['conto']).text(variables['conto_descrizione']);
|
||||||
|
$('#bs-popup #conto'+i).selectReset();
|
||||||
|
$('#bs-popup #conto'+i).append(option).trigger('change');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
var option = $("<option selected></option>").val(conto[0]).text(conto[1]);
|
||||||
|
$('#bs-popup #conto'+i).selectReset();
|
||||||
|
$('#bs-popup #conto'+i).append(option).trigger('change');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(i=9;i>=conti.length;i--){
|
||||||
|
$('#bs-popup #conto'+i).selectReset();
|
||||||
|
console.log('#bs-popup #conto'+i);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -6,7 +6,7 @@ switch ($resource) {
|
|||||||
case 'get_conti':
|
case 'get_conti':
|
||||||
$idmastrino = get('idmastrino');
|
$idmastrino = get('idmastrino');
|
||||||
$conti = [];
|
$conti = [];
|
||||||
$rs_conti = $dbo->fetchArray('SELECT *, (SELECT descrizione FROM co_pianodeiconti3 WHERE id=co_movimenti_modelli.idconto) AS descrizione_conto FROM co_movimenti_modelli WHERE idmastrino='.prepare($idmastrino).' GROUP BY id');
|
$rs_conti = $dbo->fetchArray('SELECT *, (SELECT CONCAT ((SELECT numero FROM co_pianodeiconti2 WHERE id=co_pianodeiconti3.idpianodeiconti2), ".", numero, " ", descrizione) FROM co_pianodeiconti3 WHERE id=co_movimenti_modelli.idconto) AS descrizione_conto FROM co_movimenti_modelli WHERE idmastrino='.prepare($idmastrino).' GROUP BY id ORDER BY id');
|
||||||
|
|
||||||
for ($i = 0; $i < sizeof($rs_conti); ++$i) {
|
for ($i = 0; $i < sizeof($rs_conti); ++$i) {
|
||||||
$conti[$i] = $rs_conti[$i]['idconto'].';'.$rs_conti[$i]['descrizione_conto'];
|
$conti[$i] = $rs_conti[$i]['idconto'].';'.$rs_conti[$i]['descrizione_conto'];
|
||||||
|
@ -128,7 +128,9 @@ echo '
|
|||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<a onclick="launch_modal( 'Aggiungi prima nota', '<?php echo $rootdir; ?>/add.php?id_module=<?php echo Modules::get('Prima nota')['id']; ?>&iddocumento=<?php echo $record['iddocumento']; ?>&dir=<?php echo $dir; ?>', 1 );" class="btn btn-sm btn-primary pull-right"><i class="fa fa-euro"></i> <?php echo tr('Aggiungi prima nota...'); ?></a>
|
<div class='pull-right'>
|
||||||
|
<a onclick="launch_modal( 'Aggiungi prima nota', '<?php echo $rootdir; ?>/add.php?id_module=<?php echo Modules::get('Prima nota')['id']; ?>&iddocumento=<?php echo $record['iddocumento']; ?>&dir=<?php echo $dir; ?>', 1 );" class="btn btn-sm btn-primary"><i class="fa fa-euro"></i> <?php echo tr('Aggiungi prima nota...'); ?></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
|
@ -150,3 +150,31 @@ UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS('' '', REPLACE(REPLACE(REPLA
|
|||||||
|
|
||||||
-- Aggiunta idsede anche preventivi (completamento 2.4.1)
|
-- Aggiunta idsede anche preventivi (completamento 2.4.1)
|
||||||
ALTER TABLE `co_preventivi` ADD `idsede` INT NOT NULL AFTER `idanagrafica`;
|
ALTER TABLE `co_preventivi` ADD `idsede` INT NOT NULL AFTER `idanagrafica`;
|
||||||
|
|
||||||
|
-- Aggiunta flag riba per tipi di pagamento Ri.Ba.
|
||||||
|
ALTER TABLE `co_pagamenti` ADD `riba` TINYINT(1) NOT NULL DEFAULT '0' AFTER `codice_modalita_pagamento_fe`;
|
||||||
|
UPDATE `co_pagamenti` SET `riba` = 1 WHERE `descrizione` LIKE 'Ri.Ba.%';
|
||||||
|
|
||||||
|
-- Creazione nuovo conto per anticipi Ri.Ba.
|
||||||
|
INSERT INTO `co_pianodeiconti3` (`id`, `numero`, `descrizione`, `idpianodeiconti2`, `dir`, `can_delete`, `can_edit`) VALUES (NULL, '000021', 'Banca C/C (conto anticipi)', '1', '', '0', '0');
|
||||||
|
|
||||||
|
-- Aggiunta colonna nome per i modelli primanota
|
||||||
|
ALTER TABLE `co_movimenti_modelli` ADD `nome` VARCHAR(255) NOT NULL AFTER `idmastrino`;
|
||||||
|
|
||||||
|
UPDATE `zz_views` SET `name` = 'Nome', `query` = 'co_movimenti_modelli.nome' WHERE `zz_views`.`id_module` = (SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND `zz_views`.`name`='Causale predefinita';
|
||||||
|
UPDATE `zz_views` SET `query` = 'co_movimenti_modelli.idmastrino' WHERE `zz_views`.`id_module` = (SELECT id FROM zz_modules WHERE name='Modelli prima nota') AND `zz_views`.`name`='id';
|
||||||
|
|
||||||
|
-- Modelli primanota default
|
||||||
|
INSERT INTO `co_movimenti_modelli` (`id`, `idmastrino`, `nome`, `descrizione`, `idconto`) VALUES
|
||||||
|
(NULL, 1, 'Anticipo fattura', 'Anticipo fattura num. {numero} del {data}', -1),
|
||||||
|
(NULL, 1, 'Anticipo fattura', 'Anticipo fattura num. {numero} del {data}', (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Banca C/C (conto anticipi)')),
|
||||||
|
(NULL, 1, 'Anticipo fattura', 'Anticipo fattura num. {numero} del {data}', (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Spese bancarie')),
|
||||||
|
(NULL, 2, 'Accredito anticipo', 'Accredito anticipo fattura num. {numero} del {data}', (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Banca C/C (conto anticipi)')),
|
||||||
|
(NULL, 2, 'Accredito anticipo', 'Accredito anticipo fattura num. {numero} del {data}', (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Banca C/C'));
|
||||||
|
|
||||||
|
-- Segmenti per modulo scadenzario
|
||||||
|
INSERT INTO `zz_segments` (`id`, `id_module`, `name`, `clause`, `position`, `pattern`, `note`, `predefined`, `predefined_accredito`, `predefined_addebito` `is_fiscale`) VALUES
|
||||||
|
(NULL, (SELECT id FROM zz_modules WHERE name='Scadenzario'), 'Scadenzario totale', '1=1', 'WHR', '####', '', 1, 0, 0, 1),
|
||||||
|
(NULL, (SELECT id FROM zz_modules WHERE name='Scadenzario'), 'Scadenzario clienti', '((SELECT dir FROM co_tipidocumento WHERE co_tipidocumento.id=co_documenti.idtipodocumento)=\'entrata\')', 'WHR', '####', '', 0, 0, 0, 0),
|
||||||
|
(NULL, (SELECT id FROM zz_modules WHERE name='Scadenzario'), 'Scadenzario fornitori', '((SELECT dir FROM co_tipidocumento WHERE co_tipidocumento.id=co_documenti.idtipodocumento)=\'uscita\')', 'WHR', '####', '', 0, 0, 0, 0),
|
||||||
|
(NULL, (SELECT id FROM zz_modules WHERE name='Scadenzario'), 'Scadenzario Ri.Ba.', 'co_pagamenti.riba=1', 'WHR', '####', '', 0, 0, 0, 0);
|
Loading…
x
Reference in New Issue
Block a user