. */ use Models\Module; use Models\Plugin; use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Sede; use Modules\DDT\Stato; include_once __DIR__.'/../../core.php'; $block_edit = $record['flag_completato']; $id_segment = $record['id_segment']; if ($dir == 'entrata') { $numero_previsto = verifica_numero_ddt($ddt, $id_segment); if (!empty($numero_previsto)) { echo '
'.tr("E' assente un _TYPE_ numero _NUM_ in data precedente o corrispondente a _DATE_: si potrebbero verificare dei problemi con la numerazione corrente dei DDT", [ '_TYPE_' => $module_name, '_DATE_' => dateFormat($ddt->data), '_NUM_' => '"'.$numero_previsto.'"', ]).'.
'; } $rs2 = $dbo->fetchArray('SELECT piva, codice_fiscale, citta, indirizzo, cap, provincia FROM an_anagrafiche WHERE idanagrafica='.prepare($record['idanagrafica'])); $campi_mancanti = []; if ($rs2[0]['piva'] == '') { if ($rs2[0]['codice_fiscale'] == '') { array_push($campi_mancanti, 'codice fiscale'); } } if ($rs2[0]['citta'] == '') { array_push($campi_mancanti, 'citta'); } if ($rs2[0]['indirizzo'] == '') { array_push($campi_mancanti, 'indirizzo'); } if ($rs2[0]['cap'] == '') { array_push($campi_mancanti, 'C.A.P.'); } if (sizeof($campi_mancanti) > 0) { echo "
Prima di procedere alla stampa completa i seguenti campi dell'anagrafica:
".implode(', ', $campi_mancanti).'
'.Modules::link('Anagrafiche', $record['idanagrafica'], tr('Vai alla scheda anagrafica'), null).'
'; } } $righe = $ddt->getRighe(); $righe_vuote = false; foreach ($righe as $riga) { if ($riga->qta == 0) { $righe_vuote = true; } } if ($righe_vuote) { echo '
'.tr('Nel ddt sono presenti delle righe con quantità a 0.').'
'; } $sede_anagrafica = $ddt->anagrafica->sedeLegale; $id_sede_anagrafica = $dir == 'entrata' ? $ddt->idsede_destinazione : $ddt->idsede_partenza; if (!empty($id_sede_anagrafica)) { $sede_anagrafica = Sede::find($id_sede_anagrafica); } $anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita')); $sede_azienda = $anagrafica_azienda->sedeLegale; $id_sede_azienda = $dir == 'entrata' ? $ddt->idsede_partenza : $ddt->idsede_destinazione; if (!empty($id_sede_azienda)) { $sede_azienda = Sede::find($id_sede_azienda); } echo '
'; if (setting('Cambia automaticamente stato ddt fatturati')) { $id_stato_fatt = Stato::where('name', 'Fatturato')->first()->id; $id_stato_parz_fatt = Stato::where('name', 'Parzialmente fatturato')->first()->id; if ($ddt->stato->id == $id_stato_fatt || $ddt->stato->id == $id_stato_parz_fatt) { echo ' {[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatoddt", "required": 1, "values": "query=SELECT `dt_statiddt`.*, `dt_statiddt_lang`.`title` as descrizione, `colore` AS _bgcolor_ FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') ORDER BY `title`", "value": "$idstatoddt$", "extra": "readonly", "class": "unblockable" ]}'; } else { $id_stato_bozza = Stato::where('name', 'Bozza')->first()->id; $id_stato_evaso = Stato::where('name', 'Evaso')->first()->id; $id_stato_parz_evaso = Stato::where('name', 'Parzialmente evaso')->first()->id; echo ' {[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatoddt", "required": 1, "values": "query=SELECT `dt_statiddt`.*, `dt_statiddt_lang`.`title` as descrizione, `colore` AS _bgcolor_ FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_statiddt`.`id` IN ('.implode(',', [$id_stato_bozza, $id_stato_evaso, $id_stato_parz_evaso]).') ORDER BY `title`", "value": "$idstatoddt$", "class": "unblockable" ]}'; } } else { echo ' {[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatoddt", "required": 1, "values": "query=SELECT `dt_statiddt`.*, `colore` AS _bgcolor_, `dt_statiddt_lang`.`title` as descrizione FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') ORDER BY `title`", "value": "$idstatoddt$", "class": "unblockable" ]}'; } echo '

'.($dir == 'entrata' ? tr('Dati destinatario') : tr('Dati mittente')).'

'.Modules::link('Anagrafiche', $record['idanagrafica'], null, null, 'class="pull-right"').' {[ "type": "select", "label": "'.($dir == 'uscita' ? tr('Mittente') : tr('Destinatario')).'", "name": "idanagrafica", "required": 1, "value": "$idanagrafica$", "ajax-source": "clienti_fornitori" ]}
'; if ($dir == 'entrata') { echo '
'; if ($record['idagente'] != 0) { echo Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"'); } echo ' {[ "type": "select", "label": "'.tr('Agente').'", "name": "idagente", "ajax-source": "agenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "value": "$idagente$" ]}
'; } echo '
'; if (!empty($record['idreferente'])) { echo Plugins::link('Referenti', $record['idanagrafica'], null, null, 'class="pull-right"'); } echo ' {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.$record['idsede_destinazione'].'} ]}
'; ?>

{[ "type": "span", "label": "'.tr('Numero ddt').'", "class": "text-center", "value": "$numero$" ]}
'; } ?>
{[ "type": "text", "label": "", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
{[ "type": "date", "label": "", "name": "data", "required": 1, "value": "$data$" ]}
fetchArray('SELECT `mg_articoli`.`id` FROM ((`mg_articoli` INNER JOIN `dt_righe_ddt` ON `mg_articoli`.`id`=`dt_righe_ddt`.`idarticolo`) INNER JOIN `dt_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt`) WHERE `dt_ddt`.`id`='.prepare($id_record)); $id_modulo_anagrafiche = Module::where('name', 'Anagrafiche')->first()->id; $id_plugin_sedi = Plugin::where('name', 'Sedi')->first()->id; if ($dir == 'entrata') { echo '
{[ "type": "select", "label": "'.tr('Partenza merce').'", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "value": "$idsede_partenza$", "select-options": '.json_encode(['idsede_partenza' => $record['idsede_partenza']]).', "help": "'.tr("Sedi di partenza dell'azienda").'" ]}
{[ "type": "select", "label": "'.tr('Destinazione merce').'", "name": "idsede_destinazione", "ajax-source": "sedi", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "value": "$idsede_destinazione$", "help": "'.tr('Sedi del destinatario').'", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.$id_plugin_sedi.'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
'; } else { echo '
{[ "type": "select", "label": "'.tr('Partenza merce').'", "name": "idsede_partenza", "ajax-source": "sedi", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "value": "$idsede_partenza$", "help": "'.tr('Sedi del mittente').'", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.$id_plugin_sedi.'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
{[ "type": "select", "label": "'.tr('Destinazione merce').'", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "$idsede_destinazione$", "help": "'.tr("Sedi di arrivo dell'azienda").'" ]}
'; } ?>
{[ "type": "select", "label": "", "name": "idpagamento", "ajax-source": "pagamenti", "value": "$idpagamento$" ]}
{[ "type": "number", "label": "Sconto in fattura", "name": "sconto_finale", "value": "'.($ddt->sconto_finale_percentuale ?: $ddt->sconto_finale).'", "icon-after": "choice|untprc|'.(empty($ddt->sconto_finale) ? 'PRC' : 'UNT').'", "help": "'.tr('Sconto in fattura, utilizzabile per applicare sconti sul netto a pagare del documento').'." ]}

{[ "type": "select", "label": "", "name": "idaspettobeni", "value": "$idaspettobeni$", "ajax-source": "aspetto-beni", "icon-after": "add|first()->id; ?>|||" ]}
{[ "type": "select", "label": "", "name": "idcausalet", "required": 1, "value": "$idcausalet$", "ajax-source": "causali", "icon-after": "add|first()->id; ?>|||", "help": "" ]}
{[ "type": "select", "label": "", "name": "idspedizione", "placeholder": "-", "values": "query=SELECT `dt_spedizione`.`id`, `dt_spedizione_lang`.`title` as `descrizione`, `esterno` FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione_lang`.`id_record` = `dt_spedizione`.`id` AND `dt_spedizione_lang`.`id_lang` = id); ?>) ORDER BY `title` ASC", "value": "$idspedizione$" ]}
{[ "type": "text", "label": "", "name": "n_colli", "value": "$n_colli$" ]}
{[ "type": "select", "label": "", "name": "idporto", "placeholder": "-", "help": "
  • Franco: pagamento del trasporto a carico del mittente
  • Assegnato: pagamento del trasporto a carico del destinatario
  • '); ?>", "values": "query=SELECT `dt_porto`.`id`, `dt_porto_lang`.`title` as descrizione FROM `dt_porto` LEFT JOIN `dt_porto_lang` ON (`dt_porto`.`id` = `dt_porto_lang`.`id_record` AND `dt_porto_lang`.`id_lang` = id); ?>) ORDER BY `title` ASC", "value": "$idporto$" ]}
    selectOne('dt_spedizione', 'esterno', [ 'id' => $record['idspedizione'], ])['esterno']; ?> {[ "type": "select", "label": "", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": , "required": , "icon-after": "add|first()->id; ?>|tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|", "class": "" ]}
    {[ "type": "timestamp", "label": "", "name": "data_ora_trasporto", "value": "$data_ora_trasporto$", "help": "" ]}
    {[ "type": "number", "label": "'.tr('Peso').'", "name": "peso", "value": "$peso$", "readonly": "'.intval(empty($record['peso_manuale'])).'", "help": "'.tr('Il valore del campo Peso viene calcolato in automatico sulla base degli articoli inseriti nel documento, a meno dell\'impostazione di un valore manuale in questo punto').'", "icon-after": "KG" ]}
    {[ "type": "checkbox", "label": "'.tr('Modifica peso').'", "name": "peso_manuale", "value":"$peso_manuale$", "help": "'.tr('Seleziona per modificare manualmente il campo Peso').'", "placeholder": "'.tr('Modifica peso').'" ]}
    {[ "type": "number", "label": "'.tr('Volume').'", "name": "volume", "value": "$volume$", "readonly": "'.intval(empty($record['volume_manuale'])).'", "help": "'.tr('Il valore del campo volume viene calcolato in automatico sulla base degli articoli inseriti nel documento, a meno dell\'impostazione di un valore manuale in questo punto').'" ]}
    {[ "type": "checkbox", "label": "'.tr('Modifica volume').'", "name": "volume_manuale", "value":"$volume_manuale$", "help": "'.tr('Seleziona per modificare manualmente il campo volume').'", "placeholder": "'.tr('Modifica volume').'" ]}
    '; } ?>
    {[ "type": "textarea", "label": "", "name": "note", "value": "$note$" ]}
    {[ "type": "textarea", "label": "", "name": "note_aggiuntive", "help": "", "value": "$note_aggiuntive$" ]}

    {[ "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 ]}

    id).') WHERE `idanagrafica`='.prepare($record['idanagrafica']).' AND `or_statiordine_lang`.`title` IN(\'Accettato\', \'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\') AND `or_tipiordine`.`dir`='.prepare($dir).' AND (`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) > 0 GROUP BY `or_ordini`.`id`'; $tot_ordini = $dbo->fetchArray($ordini_query)[0]['tot']; $ddt_query = 'SELECT COUNT(*) AS tot FROM `dt_ddt` INNER JOIN `dt_statiddt` ON `dt_ddt`.`idstatoddt` = `dt_statiddt`.`id` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt_lang`.`id_record` = `dt_statiddt`.`id` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` WHERE `title` IN("Evaso", "Parzialmente evaso", "Parzialmente fatturato") AND `dt_tipiddt`.`dir`="'.($dir == 'entrata' ? 'uscita' : 'entrata').'" AND (`dt_righe_ddt`.`qta` - `dt_righe_ddt`.`qta_evasa`) > 0 GROUP BY `dt_ddt`.`id`'; $tot_ddt = $dbo->fetchArray($ddt_query)[0]['tot']; // 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 collegate a questo ddt $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`.`idddt` = '.prepare($id_record).' UNION SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice`, NULL, \'Attività\' AS tipo_documento, \'Interventi\' as modulo FROM `in_interventi` JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id` WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($id_record).' AND `in_righe_interventi`.`original_document_type` = \'Modules\\\\DDT\\\\DDT\') 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').'.
    '; } ?> sedi)) { ?> $("#idsede_destinazione").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); }); } }); ';