diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php index 18368d312..66e4a4827 100755 --- a/modules/anagrafiche/ajax/select.php +++ b/modules/anagrafiche/ajax/select.php @@ -23,7 +23,9 @@ include_once __DIR__.'/../../../core.php'; switch ($resource) { case 'clienti': - $query = "SELECT an_anagrafiche.idanagrafica AS id, is_bloccata, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")'), IF(is_bloccata = 1, CONCAT(' (', an_relazioni.descrizione, ')'), '') ) AS descrizione, idtipointervento_default AS idtipointervento, in_tipiintervento.descrizione AS idtipointervento_descrizione, an_anagrafiche.idzona, contratto.id AS id_contratto, contratto.descrizione AS descrizione_contratto FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento LEFT JOIN an_relazioni ON an_anagrafiche.idrelazione=an_relazioni.id LEFT JOIN (SELECT co_contratti.id, idanagrafica, CONCAT('Contratto ', numero, ' del ', DATE_FORMAT(data_bozza, '%d/%m/%Y'), ' - ', co_contratti.nome, ' [', `co_staticontratti`.`descrizione` , ']') AS descrizione FROM co_contratti LEFT JOIN co_staticontratti ON co_contratti.idstato=co_staticontratti.id WHERE co_contratti.predefined=1 AND is_pianificabile=1) AS contratto ON an_anagrafiche.idanagrafica=contratto.idanagrafica |where| ORDER BY ragione_sociale"; + $id_azienda = setting('Azienda predefinita'); + + $query = "SELECT an_anagrafiche.idanagrafica AS id, is_bloccata, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")'), IF(is_bloccata = 1, CONCAT(' (', an_relazioni.descrizione, ')'), '') ) AS descrizione, idtipointervento_default AS idtipointervento, in_tipiintervento.descrizione AS idtipointervento_descrizione, an_anagrafiche.idzona, contratto.id AS id_contratto, contratto.descrizione AS descrizione_contratto, co_pagamenti.id AS id_pagamento, co_pagamenti.descrizione AS desc_pagamento, banca_vendite.id AS id_banca_vendite, CONCAT(banca_vendite.nome, ' - ', banca_vendite.iban) AS descrizione_banca_vendite FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento LEFT JOIN an_relazioni ON an_anagrafiche.idrelazione=an_relazioni.id LEFT JOIN (SELECT co_contratti.id, idanagrafica, CONCAT('Contratto ', numero, ' del ', DATE_FORMAT(data_bozza, '%d/%m/%Y'), ' - ', co_contratti.nome, ' [', `co_staticontratti`.`descrizione` , ']') AS descrizione FROM co_contratti LEFT JOIN co_staticontratti ON co_contratti.idstato=co_staticontratti.id WHERE co_contratti.predefined=1 AND is_pianificabile=1) AS contratto ON an_anagrafiche.idanagrafica=contratto.idanagrafica LEFT JOIN co_pagamenti ON an_anagrafiche.idpagamento_vendite=co_pagamenti.id LEFT JOIN co_banche banca_vendite ON co_pagamenti.idconto_vendite = banca_vendite.id_pianodeiconti3 AND banca_vendite.id_anagrafica = ".prepare($id_azienda)." AND banca_vendite.deleted_at IS NULL AND banca_vendite.predefined = 1 |where| ORDER BY ragione_sociale"; foreach ($elements as $element) { $filter[] = 'an_anagrafiche.idanagrafica='.prepare($element); @@ -31,7 +33,7 @@ switch ($resource) { $where[] = "an_tipianagrafiche.descrizione='Cliente'"; if (empty($filter)) { - $where[] = 'deleted_at IS NULL'; + $where[] = 'an_anagrafiche.deleted_at IS NULL'; } if (!empty($search)) { @@ -60,15 +62,17 @@ switch ($resource) { break; case 'fornitori': - $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default AS idtipointervento FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; + $id_azienda = setting('Azienda predefinita'); + + $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default AS idtipointervento, co_pagamenti.id AS id_pagamento, co_pagamenti.descrizione AS desc_pagamento, banca_acquisti.id AS id_banca_acquisti, CONCAT(banca_acquisti.nome, ' - ', banca_acquisti.iban) AS descrizione_banca_acquisti FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN co_pagamenti ON an_anagrafiche.idpagamento_acquisti=co_pagamenti.id LEFT JOIN co_banche banca_acquisti ON co_pagamenti.idconto_acquisti = banca_acquisti.id_pianodeiconti3 AND banca_acquisti.id_anagrafica = ".prepare($id_azienda)." AND banca_acquisti.deleted_at IS NULL AND banca_acquisti.predefined = 1 |where| ORDER BY ragione_sociale"; foreach ($elements as $element) { $filter[] = 'an_anagrafiche.idanagrafica='.prepare($element); } - $where[] = "descrizione='Fornitore'"; + $where[] = "an_tipianagrafiche.descrizione='Fornitore'"; if (empty($filter)) { - $where[] = 'deleted_at IS NULL'; + $where[] = 'an_anagrafiche.deleted_at IS NULL'; } if (!empty($search)) { diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php index 188a94a87..5c7a9142f 100755 --- a/modules/contratti/edit.php +++ b/modules/contratti/edit.php @@ -441,6 +441,16 @@ $("#idanagrafica_c").change(function() { $("#idsede").selectReset(); $("#matricolaimpianto").selectReset(); + $("#idpagamento").selectReset(); + + let data = $(this).selectData(); + if (data) { + // Impostazione del tipo di pagamento da anagrafica + if (data.id_pagamento) { + input("idpagamento").getElement() + .selectSetNew(data.id_pagamento, data.desc_pagamento); + } + } }); $("#codice_cig, #codice_cup").bind("keyup change", function(e) { diff --git a/modules/ddt/edit.php b/modules/ddt/edit.php index 8aaf8621e..26c56551d 100755 --- a/modules/ddt/edit.php +++ b/modules/ddt/edit.php @@ -502,6 +502,16 @@ $("#idanagrafica").change(function() { session_set("superselect,idanagrafica", $(this).val(), 0); $("#idsede_'.($dir == 'uscita' ? 'partenza' : 'destinazione').'").selectReset(); + $("#idpagamento").selectReset(); + + let data = $(this).selectData(); + if (data) { + // Impostazione del tipo di pagamento da anagrafica + if (data.id_pagamento) { + input("idpagamento").getElement() + .selectSetNew(data.id_pagamento, data.desc_pagamento); + } + } }); '; diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index ceea3aed9..dab5ff93c 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -373,7 +373,7 @@ echo '
- {[ "type": "select", "label": "", "name": "idpagamento", "required": 1, "ajax-source": "pagamenti", "value": "$idpagamento$", "extra": "onchange=\"$('#id_banca_azienda').selectSetNew( $(this).selectData().id_banca_, $(this).selectData().descrizione_banca_ ).change(); \" " ]} + {[ "type": "select", "label": "", "name": "idpagamento", "required": 1, "ajax-source": "pagamenti", "value": "$idpagamento$", "extra": "onchange=\"if($(this).selectData()) {$('#id_banca_azienda').selectSetNew( $(this).selectData().id_banca_, $(this).selectData().descrizione_banca_ ).change();} \" " ]}
@@ -916,7 +916,19 @@ echo ' session_set("superselect,idanagrafica", $(this).val(), 0); $("#idreferente").selectReset(); - $("#id_dichiarazione_intento").selectReset();'; + $("#id_dichiarazione_intento").selectReset(); + $("#idpagamento").selectReset(); + $("#id_banca_azienda").selectReset(); + + let data = $(this).selectData(); + if (data) { + // Impostazione del tipo di pagamento da anagrafica + if (data.id_pagamento) { + input("idpagamento").getElement() + .selectSetNew(data.id_pagamento, data.desc_pagamento, {"id_banca_vendite": data.id_banca_vendite, "id_banca_acquisti": data.id_banca_acquisti, "descrizione_banca_vendite": data.descrizione_banca_vendite, "descrizione_banca_acquisti": data.descrizione_banca_acquisti}); + } + }'; + if ($dir == 'entrata') { diff --git a/modules/ordini/edit.php b/modules/ordini/edit.php index 1a47f34dc..055cb3375 100755 --- a/modules/ordini/edit.php +++ b/modules/ordini/edit.php @@ -100,7 +100,7 @@ echo ' - {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Fornitore' AND deleted_at IS NULL ORDER BY ragione_sociale", "value": "$idanagrafica$" ]} + {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "ajax-source": "fornitori", "value": "$idanagrafica$" ]}