. */ use Carbon\Carbon; use Models\Module; use Models\Plugin; use Modules\Anagrafiche\Anagrafica; use Modules\Banche\Banca; include_once __DIR__.'/../../core.php'; $is_fornitore = in_array($id_fornitore, $tipi_anagrafica); $is_cliente = in_array($id_cliente, $tipi_anagrafica); $is_tecnico = in_array($id_tecnico, $tipi_anagrafica); $is_agente = in_array($id_agente, $tipi_anagrafica); $is_azienda = in_array($id_azienda, $tipi_anagrafica); if (!$is_cliente && !$is_fornitore && !$is_azienda && $is_tecnico) { $ignore = Plugin::where('id', '=', (new Plugin())->getByField('title', 'Sedi', Models\Locale::getPredefined()->id)) ->orWhere('id', '=', (new Plugin())->getByField('title', 'Referenti', Models\Locale::getPredefined()->id)) ->orWhere('id', '=', (new Plugin())->getByField('title', 'Dichiarazioni d\'intento', Models\Locale::getPredefined()->id)) ->get(); foreach ($ignore as $plugin) { echo ' '; } } if (!$is_cliente) { $ignore = Plugin::where('id', '=', (new Plugin())->getByField('title', 'Impianti del cliente', Models\Locale::getPredefined()->id)) ->orWhere('id', '=', (new Plugin())->getByField('title', 'Contratti del cliente', Models\Locale::getPredefined()->id)) ->orWhere('id', '=', (new Plugin())->getByField('title', 'Ddt del cliente', Models\Locale::getPredefined()->id)) ->get(); foreach ($ignore as $plugin) { echo ' '; } } $nazione_anagrafica = $anagrafica->sedeLegale->nazione; // Avvisi problemi scheda anagrafica $problemi_anagrafica = []; if ($is_cliente && empty($record['idconto_cliente'])) { $problemi_anagrafica[] = '
'.tr('Piano dei conti mancante per il cliente').'
'; } if ($is_fornitore && empty($record['idconto_fornitore'])) { $problemi_anagrafica[] = '
'.tr('Piano dei conti mancante per il fornitore').'
'; } if (sizeof($problemi_anagrafica) > 0) { echo '
'.tr('ATTENZIONE:
_CAMPI_', [ '_CAMPI_' => implode('', $problemi_anagrafica), ]).'
'; } ?>

{[ "type": "text", "label": "", "name": "ragione_sociale", "required": 1, "value": "$ragione_sociale$", "extra": "" ]}
{[ "type": "text", "label": "", "maxlength": 16, "name": "piva", "class": "text-center alphanumeric-mask text-uppercase", "value": "$piva$", "validation": "partita_iva" ]}
{[ "type": "select", "label": "", "name": "tipo", "values": "list=\"Azienda\": \"\", \"Ente pubblico\": \"\" isAzienda() ? '' : ',\"Privato\":\"'.tr('Privato').'\"'; ?>", "value": "$tipo$", "placeholder": "" ]}
{[ "type": "text", "label": "", "name": "cognome", "required": 0, "value": "$cognome$", "extra": "" ]}
{[ "type": "text", "label": "", "name": "nome", "required": 0, "value": "$nome$", "extra": "" ]}
{[ "type": "text", "label": "", "maxlength": 16, "name": "codice_fiscale", "class": "text-center alphanumeric-mask text-uppercase", "value": "$codice_fiscale$", "validation": "codice_fiscale" ]}
{[ "type": "text", "label": "", "name": "luogo_nascita", "value": "$luogo_nascita$" ]}
{[ "type": "date", "label": "", "name": "data_nascita", "value": "$data_nascita$" ]}
{[ "type": "select", "label": "", "name": "sesso", "values": "list=\"\": \"Non specificato\", \"M\": \"\", \"F\": \"\"", "value": "$sesso$" ]}
{[ "type": "text", "label": "", "name": "codice", "required": 1, "class": "text-center alphanumeric-mask", "value": "$codice$", "maxlength": 20, "validation": "codice" ]}
'Nazione', ]).':

  • '.tr('Azienda (B2B) - Codice Destinatario, 7 caratteri').'
  • '.tr('Ente pubblico (B2G/PA) - Codice Univoco Ufficio (www.indicepa.gov.it), 6 caratteri').'
  • '.tr('Privato (B2C) - viene utilizzato il Codice Fiscale').'
'.tr('Se non si conosce il codice destinatario lasciare vuoto il campo, e verrà applicato in automatico quello previsto di default dal sistema (\'0000000\', \'999999\', \'XXXXXXX\')').'.'; if (in_array($id_azienda, $tipi_anagrafica)) { $help_codice_destinatario .= '
'.tr('Attenzione').': '.tr("Non è necessario comunicare il proprio codice destinatario ai fornitori in quanto è sufficiente che questo sia registrato all'interno portale del Sistema Di Interscambio dell'Agenzia Entrate (SDI) (ivaservizi.agenziaentrate.gov.it)").'.'; } ?> {[ "type": "text", "label": "", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": , "help": "", "readonly": "iso2 === 'IT') || ($nazione_anagrafica->iso2 === 'SM')) : 0); ?>", "validation": "codice_intermediario" ]}
{[ "type": "text", "label": "", "name": "pec", "class": "email-mask", "placeholder":"pec@dominio.ext", "value": "$pec$", "icon-before": "", "validation": "email" ]}
{[ "type": "text", "label": "", "name": "sitoweb", "placeholder":"www.dominio.ext", "value": "$sitoweb$", "icon-before": "" ]}

{[ "type": "text", "label": "", "name": "indirizzo", "value": "$indirizzo$" ]}
{[ "type": "text", "label": "", "name": "indirizzo2", "value": "$indirizzo2$" ]}
{[ "type": "text", "label": "", "name": "cap", "maxlength": 6, "class": "text-center", "value": "$cap$" ]}
{[ "type": "text", "label": "", "name": "citta", "class": "text-center", "value": "$citta$" ]}
{[ "type": "text", "label": "", "name": "provincia", "class": "text-center provincia-mask text-uppercase", "value": "$provincia$", "extra": "onkeyup=\"this.value = this.value.toUpperCase();\"" ]}
{[ "type": "select", "label": "", "name": "id_nazione", "value": "$id_nazione$", "ajax-source": "nazioni" ]}
{[ "type": "telefono", "label": "", "name": "telefono", "class": "text-center", "value": "$telefono$" ]}
{[ "type": "telefono", "label": "", "name": "cellulare", "class": "text-center", "value": "$cellulare$", "icon-after": "" : ""; ?>" ]}
{[ "type": "text", "label": "", "name": "email", "class": "email-mask", "placeholder": "casella@dominio.ext", "value": "$email$", "icon-before": "", "validation": "email" ]}
{[ "type": "text", "label": "", "name": "fax", "class": "text-center", "value": "$fax$", "icon-before": "" ]}
{[ "type": "select", "label": "", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY descrizione ASC", "value": "$idzona$", "placeholder": "", "icon-after": "add|getByField('title', 'Zone', Models\Locale::getPredefined()->id); ?>" ]}
{[ "type": "number", "label": "", "name": "km", "decimals":"1", "class": "text-center", "value": "$km$", "icon-after": "Km" ]}
{[ "type": "checkbox", "label": "", "name": "disable_newsletter", "value": "", "help": "" ]}
sedeLegale; $anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita')); $sede_azienda = $anagrafica_azienda->sedeLegale; echo '

'.tr('Geolocalizzazione').'

'; // Area caricamento mappa echo '

'; if (!empty($sede_cliente->gaddress) || (!empty($sede_cliente->lat) && !empty($sede_cliente->lng))) { // Modifica manuale delle informazioni echo ' '.tr('Aggiorna posizione').' '; } else { // Definizione manuale delle informazioni echo ' '.tr('Definisci posizione').' '; } // Navigazione diretta verso l'indirizzo echo ' '.tr('Carica mappa').' '; // Navigazione diretta verso l'indirizzo echo ' '.tr('Calcola percorso').' '.((!empty($sede_cliente->lat) && !empty($sede_azienda->lat)) ? tr('(GPS)') : '').' '; // Ricerca diretta su Mappa echo ' '.tr('Cerca su Mappa').' '.((!empty($sede_cliente->lat)) ? tr(' (GPS)') : '').' '; echo '
'; if ($is_cliente or $is_fornitore or $is_tecnico) { echo '

'.tr('Informazioni per tipo di anagrafica').'

'; } ?>

{[ "type": "text", "label": "", "name": "codiceri", "value": "$codiceri$", "help": "" ]}
{[ "type": "text", "label": "('.tr('provincia-C.C.I.A.A.').')'; ?>", "name": "codicerea", "value": "$codicerea$", "class": "rea-mask text-uppercase", "help": " 'RM-123456', ]); ?>" ]}
{[ "type": "text", "label": "", "name": "riferimento_amministrazione", "value": "$riferimento_amministrazione$", "maxlength": "20" ]}
{[ "type": "number", "label": "", "name": "provvigione_default", "value": "$provvigione_default$", "icon-after": "%" ]}
{[ "type": "text", "label": "", "name": "iscrizione_tribunale", "value": "$iscrizione_tribunale$" ]}
{[ "type": "text", "label": "", "name": "n_alboartigiani", "value": "$n_alboartigiani$" ]}
{[ "type": "text", "label": "", "name": "foro_competenza", "value": "$foro_competenza$" ]}
{[ "type": "text", "label": "", "name": "capitale_sociale", "value": "$capitale_sociale$" ]}
{[ "type": "select", "label": "", "name": "id_settore", "ajax-source": "settori", "value": "$id_settore$", "icon-after": "add|getByField('title', 'Settori', Models\Locale::getPredefined()->id); ?>" ]}
{[ "type": "text", "label": "", "name": "marche", "value": "$marche$" ]}
{[ "type": "number", "label": "", "name": "dipendenti", "decimals": 0, "value": "$dipendenti$" ]}
{[ "type": "number", "label": "", "name": "macchine", "decimals": 0, "value": "$macchine$" ]}
{[ "type": "select", "multiple": "1", "label": "", "name": "idtipoanagrafica[]", "values": "query=SELECT `an_tipianagrafiche`.`id`, `title` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = id); ?>) WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `t`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = id); ?>) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche_lang`.`title` = 'Azienda' AND `deleted_at` IS NULL) ORDER BY `title`", "value": "$idtipianagrafica$" ]} '.tr('Questa anagrafica è di tipo "Azienda"').'.

'; } ?>
{[ "type": "textarea", "label": "", "name": "note", "value": "$note$", "charcounter": 1 ]}
{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )} '.tr('Per impostare il logo nelle stampe, caricare un\'immagine specificando come nome "Logo stampe" (Risoluzione consigliata 302x111 pixel).
Per impostare una filigrana nelle stampe, caricare un\'immagine specificando come nome "Filigrana stampe"').'.'; } // Collegamenti diretti // Fatture, ddt, preventivi, contratti, ordini, interventi, utenti collegati a questa anagrafica $elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`title` AS tipo_documento, `co_tipidocumento`.`dir`, NULL AS `deleted_at` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_documenti`.`idanagrafica` = '.prepare($id_record).' UNION SELECT `zz_users`.`idgruppo` AS id, `zz_users`.`created_at` AS data, `zz_users`.`username` AS numero, 0 AS `numero_esterno`, "Utente" AS tipo_documento, 0 AS `dir`, NULL AS `deleted_at` FROM `zz_users` WHERE `zz_users`.`idanagrafica` = '.prepare($id_record).' UNION SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine_lang`.`title` AS tipo_documento, `or_tipiordine`.`dir`, NULL AS `deleted_at` FROM `or_ordini` INNER JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine`.`id` = `or_tipiordine_lang`.`id_record` AND `or_tipiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `or_ordini`.`idanagrafica` = '.prepare($id_record).' UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`title` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).' UNION SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice` AS numero, 0 AS numero_esterno, "Intervento" AS tipo_documento, 0 AS dir, in_interventi.deleted_at AS `deleted_at` FROM `in_interventi` LEFT JOIN `in_interventi_tecnici` ON `in_interventi`.`id` = `in_interventi_tecnici`.`idintervento` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_interventi_tecnici` WHERE `idtecnico` = '.prepare($id_record).') OR `in_interventi`.`idanagrafica` = '.prepare($id_record).' UNION SELECT `co_contratti`.`id`, `co_contratti`.`data_bozza`, `co_contratti`.`numero`, 0 AS numero_esterno , "Contratto" AS tipo_documento, 0 AS dir, NULL AS `deleted_at` FROM `co_contratti` WHERE `co_contratti`.`idanagrafica` = '.prepare($id_record).' UNION SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir, NULL AS `deleted_at` FROM `co_preventivi` WHERE `co_preventivi`.`idanagrafica` = '.prepare($id_record).' AND `default_revision` = 1 ORDER BY `data`'); if (!empty($elementi)) { echo '

'.tr('Documenti collegati: _NUM_', [ '_NUM_' => count($elementi), ]).'

'; } if (empty($record['deleted_at'])) { if (!in_array($id_azienda, $tipi_anagrafica)) { if (!empty($elementi)) { echo '
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
'; } echo ' '.tr('Elimina').' '; } else { echo '
'.tr('Questa è l\'anagrafica "Azienda" e non è possibile eliminarla').'.
'; } } else { echo '
'.tr('Questa anagrafica è stata eliminata').'.
'; } ?>