Gestione replace conto anagrafica per modelli prima nota

This commit is contained in:
MatteoPistorello 2022-09-13 17:28:03 +02:00
parent 90682d16eb
commit 8254ade2a1
4 changed files with 26 additions and 22 deletions

View File

@ -21,9 +21,22 @@ use Modules\Anagrafiche\Anagrafica;
$anagrafica = Anagrafica::find($id_record);
//cliente
if ($anagrafica->idconto_cliente != '') {
$conto = $anagrafica->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
elseif ($anagrafica->idconto_fornitore != '') {
$conto = $anagrafica->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
return [
'ragione_sociale' => $anagrafica->ragione_sociale,
'codice' => $anagrafica->codice,
'id_anagrafica' => $anagrafica->idanagrafica,
];
'conto' => $conto,
'conto_descrizione' => $conto_descrizione,
];

View File

@ -38,17 +38,6 @@ if (!empty(setting('Logo stampe'))) {
$logo_azienda = str_replace('\\', '/', $logo_azienda);
}
//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
elseif ($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'];
}
$r_user = $dbo->fetchOne('SELECT * FROM an_anagrafiche WHERE idanagrafica='.prepare(Auth::user()['idanagrafica']));
$r_company = $dbo->fetchOne('SELECT * FROM an_anagrafiche WHERE idanagrafica='.prepare(setting('Azienda predefinita')));
@ -62,8 +51,6 @@ return [
'note' => $r['note'],
'data' => Translator::dateToLocale($r['data']),
'logo_azienda' => !empty($logo_azienda) ? '<img src="'.$logo_azienda.'" />' : '',
'conto' => $conto,
'conto_descrizione' => $conto_descrizione,
'nome_utente' => $r_user['ragione_sociale'],
'telefono_utente' => $r_user['cellulare'],
'sito_web' => $r_company['sitoweb'],

View File

@ -147,8 +147,8 @@ switch ($resource) {
$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}'];
$results[] = ['text' => 'Conto cliente/fornitore', 'children' => []];
$results[count($results) - 1]['children'][] = ['id' => '-1', 'text' => '{Conto cliente/fornitore}'];
}
break;

View File

@ -260,8 +260,12 @@ if (!empty($id_records) && get('origine') == 'fatture' && !empty($counter)) {
}
if (!empty(get('id_anagrafica'))) {
$id_anagrafica = get('id_anagrafica');
} else {
$id_anagrafica = $dbo->fetchOne('SELECT idanagrafica FROM co_documenti WHERE id IN('.(get('id_documenti') ?: '0').')')['idanagrafica'];
}
if (empty($id_anagrafica)) {
$id_anagrafica = $dbo->fetchOne('SELECT idanagrafica FROM co_documenti WHERE id IN('.($id_documenti ? implode(',',$id_documenti) : 0).')')['idanagrafica'];
}
if (empty($id_anagrafica)) {
$id_anagrafica = $dbo->fetchOne('SELECT idanagrafica FROM co_scadenziario WHERE id IN('.($id_scadenze ? implode(',',$id_scadenze) : 0).')')['idanagrafica'];
}
echo '
<form action="'.base_path().'/controller.php?id_module='.$module->id.'" method="post" id="add-form">
@ -358,7 +362,7 @@ $("#modals > div #add-form").on("submit", function(e) {
</script>';
if ($permetti_modelli) {
$variables = Modules::get('Fatture di vendita')->getPlaceholders($id_documenti[0]);
$variables = Modules::get('Anagrafiche')->getPlaceholders($id_anagrafica);
echo '
<script type="text/javascript">
@ -427,9 +431,9 @@ if ($permetti_modelli) {
let totale = dati_conto[2];
// Sostituzione del conto dell\'Anagrafica
if (id_conto === -1 && globals.prima_nota.id_documento !== ""){
id_conto = parseInt(globals.prima_nota.variables["conto"]);
descrizione_conto = globals.prima_nota.variables["conto_descrizione"];
if (id_conto === -1){
id_conto = parseInt(globals.prima_nota.variables["{conto}"]);
descrizione_conto = globals.prima_nota.variables["{conto_descrizione}"];
}
// Selezione del conto