. */ include_once __DIR__.'/../../core.php'; use Models\Module; $block_edit = $record['is_completato']; $data_accettazione = $record['data_accettazione'] ? strtotime((string) $record['data_accettazione']) : ''; $data_conclusione = $record['data_conclusione'] ? strtotime((string) $record['data_conclusione']) : ''; if ($data_conclusione < $data_accettazione && !empty($data_accettazione) && !empty($data_conclusione)) { echo '
'.tr('Attenzione! La data di accettazione supera la data di conclusione del contratto. Verificare le informazioni inserite.').'
'; } echo '
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `title` as `descrizione`, `colore` AS _bgcolor_ FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') ORDER BY `title`", "value": "$idstato$", "class": "unblockable" ]}

'.tr('Dati cliente').'

'.Modules::link('Anagrafiche', $record['idanagrafica'], null, null, 'class="pull-right"').' {[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "id": "idanagrafica_c", "required": 1, "value": "$idanagrafica$", "ajax-source": "clienti" ]}
{[ "type": "select", "label": "'.tr('Sede').'", "name": "idsede", "value": "$idsede$", "ajax-source": "sedi", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "placeholder": "Sede legale" ]}
'.Plugins::link('Referenti', $record['idanagrafica'], null, null, 'class="pull-right"').' {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].',"idsede_destinazione": '.$record['idsede'].'} ]}
'; if ($record['idagente'] != 0) { echo Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"'); } ?> {[ "type": "select", "label": "", "name": "idagente", "ajax-source": "agenti", "select-options": {"idanagrafica": }, "value": "$idagente$" ]}

{[ "type": "text", "label": "", "name": "numero", "required": 1, "class": "text-center", "value": "$numero$" ]}
{[ "type": "date", "label": "", "name": "data_bozza", "required": 1, "value": "$data_bozza$" ]}
{[ "type": "date", "label": "", "name": "data_accettazione", "value": "$data_accettazione$", "max-date": "$data_conclusione$" ]}
{[ "type": "date", "label": "", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "isDataConclusioneAutomatica() ? '1", "help": "'.tr('La Data di conclusione è calcolata in automatico in base al valore del campo Validità contratto, se definita') : '0') : ''; ?>" ]}
{[ "type": "date", "label": "", "name": "data_rifiuto", "value": "$data_rifiuto$" ]}
{[ "type": "number", "label": "", "name": "validita", "decimals": "0", "value": "$validita$", "icon-after": "choice|period|", "help": "" ]}
{[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$nome$" ]}
{[ "type": "select", "label": "", "name": "idpagamento", "values": "query=SELECT `co_pagamenti`.`id`, `co_pagamenti_lang`.`title` AS `descrizione` FROM `co_pagamenti` LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang` = id); ?>) GROUP BY `descrizione` ORDER BY `descrizione`", "value": "$idpagamento$" ]}
{[ "type": "select", "multiple": "1", "label": "", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$", "icon-after": "add|getByField('title', 'Impianti', Models\Locale::getPredefined()->id); ?>|||" ]}
{[ "type": "number", "label": "", "name": "sconto_finale", "value": "sconto_finale_percentuale ?: $contratto->sconto_finale; ?>", "icon-after": "choice|untprc|sconto_finale) ? 'PRC' : 'UNT'; ?>", "help": "." ]}
{[ "type": "textarea", "label": "", "name": "esclusioni", "class": "autosize", "value": "$esclusioni$", "extra": "rows='5'" ]}
{[ "type": "textarea", "label": "", "name": "descrizione", "class": "autosize", "value": "$descrizione$", "extra": "rows='5'" ]}
gruppo != 'Clienti') { echo '
{[ "type": "textarea", "label": "'.tr('Note interne').'", "name": "informazioniaggiuntive", "class": "autosize", "value": "$informazioniaggiuntive$", "extra": "rows=\'5\'" ]}
'; } ?>
'ckeditor', 'use_full_ckeditor' => 0, 'label' => tr('Condizioni generali di fornitura'), 'name' => 'condizioni_fornitura', 'value' => $record['condizioni_fornitura'], ]); ?>

{[ "type": "text", "label": "", "name": "id_documento_fe", "required": 0, "help": "Obbligatorio per valorizzare CIG/CUP. È possible inserire:
  • N. determina
  • RDO
  • Ordine MEPA
'); ?>", "value": "$id_documento_fe$", "maxlength": 20 ]}
{[ "type": "text", "label": "", "name": "num_item", "required": 0, "value": "$num_item$", "maxlength": 15 ]}
{[ "type": "text", "label": "", "name": "codice_cig", "required": 0, "value": "$codice_cig$", "maxlength": 15 ]}
{[ "type": "text", "label": "", "name": "codice_cup", "required": 0, "value": "$codice_cup$", "maxlength": 15 ]}

fetchArray('SELECT `co_contratti_tipiintervento`.*, `in_tipiintervento_lang`.`title` FROM `co_contratti_tipiintervento` INNER JOIN `in_tipiintervento` ON `in_tipiintervento`.`id` = `co_contratti_tipiintervento`.`idtipointervento` LEFT JOIN `in_tipiintervento_lang` ON `in_tipiintervento_lang`.`id_record` = `in_tipiintervento`.`id` AND `in_tipiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).' WHERE `idcontratto`='.prepare($id_record).' AND (`co_contratti_tipiintervento`.`costo_ore` != `in_tipiintervento`.`costo_orario` OR `co_contratti_tipiintervento`.`costo_km` != `in_tipiintervento`.`costo_km` OR `co_contratti_tipiintervento`.`costo_dirittochiamata` != `in_tipiintervento`.`costo_diritto_chiamata`) ORDER BY `in_tipiintervento_lang`.`title`'); if (!empty($rs)) { echo ' '; for ($i = 0; $i < sizeof($rs); ++$i) { echo ' '; $idtipiintervento[] = prepare($rs[$i]['idtipointervento']); } echo '
'.tr('Tipo attività').' '.tr('Addebito orario').' '.tr('Addebito km').' '.tr('Addebito diritto ch.').'
'.$rs[$i]['descrizione'].' {[ "type": "number", "name": "costo_ore['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_ore'].'" ]} {[ "type": "number", "name": "costo_km['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_km'].'" ]} {[ "type": "number", "name": "costo_dirittochiamata['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_dirittochiamata'].'" ]}
'; } echo '
'; // Loop fra i tipi di attività e i relativi costi del tipo intervento (quelli a 0) $rs = $dbo->fetchArray('SELECT * FROM `co_contratti_tipiintervento` INNER JOIN `in_tipiintervento` ON `in_tipiintervento`.`id` = `co_contratti_tipiintervento`.`idtipointervento` LEFT JOIN `in_tipiintervento_lang` ON (`in_tipiintervento`.`id`=`in_tipiintervento_lang`.`id_record` AND `in_tipiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_contratti_tipiintervento`.`idtipointervento` NOT IN('.implode(',', $idtipiintervento).') AND `idcontratto`='.prepare($id_record).' ORDER BY `title`'); if (!empty($rs)) { echo '
 
'; for ($i = 0; $i < sizeof($rs); ++$i) { echo ' '; } echo '
'.tr('Tipo attività').' '.tr('Addebito orario').' '.tr('Addebito km').' '.tr('Addebito diritto ch.').'
'.$rs[$i]['descrizione'].' {[ "type": "number", "name": "costo_ore['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_orario'].'", "icon-after": "" ]} {[ "type": "number", "name": "costo_km['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_km'].'", "icon-after": "" ]} {[ "type": "number", "name": "costo_dirittochiamata['.$rs[$i]['idtipointervento'].']", "value": "'.$rs[$i]['costo_diritto_chiamata'].'" , "icon-after": "" ]}
'; } echo '

'.tr('Righe').'

'; if (!$block_edit) { // Form di inserimento riga documento echo ' '; } echo '

{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )} {( "name": "log_email", "id_module": "$id_module$", "id_record": "$id_record$" )} '; // Collegamenti diretti // Fatture o interventi collegati a questo contratto $elementi = $dbo->fetchArray(' SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`title` AS tipo_documento, IF(`co_tipidocumento`.`dir` = \'entrata\', \'Fatture di vendita\', \'Fatture di acquisto\') AS modulo FROM `co_documenti` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_righe_documenti`.`idcontratto` = '.prepare($id_record).' UNION SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice`, NULL, \'Attività\', \'Interventi\' FROM `in_interventi` JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id` WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($contratto->id).' '.($contratto ? 'AND `in_righe_interventi`.`original_document_type` = '.prepare($contratto::class) : '').') OR `in_interventi`.`id_contratto` = '.prepare($id_record).' ORDER BY `data`'); if (!empty($elementi)) { echo '

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

'; } if (!empty($elementi)) { echo '
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
'; } else { ?> $(document).ready(function() { $("#data_conclusione").on("dp.change", function (e) { let data_accettazione = $("#data_accettazione"); data_accettazione.data("DateTimePicker").maxDate(e.date); if(data_accettazione.data("DateTimePicker").date() > e.date){ data_accettazione.data("DateTimePicker").date(e.date); } }); $("#idsede").change(function(){ updateSelectOption("idsede_destinazione", $(this).val()); $("#idreferente").selectReset(); }); }); input("ordinamento").on("change", function(){ if (input(this).get() == "desc") { session_set("module_'.$id_module.',order_row_desc", 1, "").then(function () { caricaRighe(null); }); } else { session_set("module_'.$id_module.',order_row_desc").then(function () { caricaRighe(null); }); } }); ';