. */ // Inizializzazione $documento = $options['documento']; $documento_finale = $options['documento_finale']; if (empty($documento) || (!empty($documento_finale) && $documento_finale->direzione != $documento->direzione)) { return; } // Informazioi utili $dir = $documento->direzione; $original_module = Modules::get($documento->module); $name = !empty($documento_finale) ? $documento_finale->module : $options['module']; $final_module = Modules::get($name); // IVA predefinta $id_iva = $id_iva ?: setting('Iva predefinita'); $righe = $documento->getRighe()->where('qta_rimanente', '>', 0); if (empty($righe)) { echo '

'.tr('Non ci sono elementi da evadere').'...

'; return; } $link = !empty($documento_finale) ? ROOTDIR.'/editor.php?id_module='.$final_module['id'].'&id_record='.$documento_finale->id : ROOTDIR.'/controller.php?id_module='.$final_module['id']; echo '
'; // Creazione fattura dal documento if (!empty($options['create_document'])) { echo '

'.tr('Nuovo documento').'

{[ "type": "date", "label": "'.tr('Data del documento').'", "name": "data", "required": 1, "value": "-now-" ]}
'; if (in_array($final_module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) { if ($options['op'] == 'nota_accredito' && !empty($segmenti)) { $segmento = $dbo->fetchOne("SELECT * FROM zz_segments WHERE predefined_accredito='1'"); $id_segment = $segmento['id']; } else { $id_segment = $_SESSION['module_'.$final_module['id']]['id_segment']; } echo '
{[ "type": "select", "label": "'.tr('Ritenuta contributi').'", "name": "id_ritenuta_contributi", "value": "$id_ritenuta_contributi$", "values": "query=SELECT * FROM co_ritenuta_contributi" ]}
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.prepare($final_module['id']).' ORDER BY name", "value": "'.$id_segment.'" ]}
'; } // Opzioni aggiuntive per gli Interventi elseif ($final_module['name'] == 'Interventi') { echo '
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato_intervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL" ]}
{[ "type": "select", "label": "'.tr('Tipo').'", "name": "id_tipo_intervento", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento" ]}
'; } // Selezione fornitore per Ordine fornitore elseif ($options['op'] == 'add_ordine_cliente') { $tipo_anagrafica = tr('Fornitore'); $ajax = 'fornitori'; echo '
{[ "type": "select", "label": "'.$tipo_anagrafica.'", "name": "idanagrafica", "required": 1, "ajax-source": "'.$ajax.'", "icon-after": "add|<'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica='.$tipo_anagrafica.'" ]}
'; } echo '
'; } // Conto, rivalsa INPS, ritenuta d'acconto e ritenuta contributi if (in_array($final_module['name'], ['Fatture di vendita', 'Fatture di acquisto']) && !in_array($original_module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) { $id_rivalsa_inps = setting('Percentuale rivalsa'); if ($dir == 'uscita') { $id_ritenuta_acconto = $documento->anagrafica->id_ritenuta_acconto_acquisti; } else { $id_ritenuta_acconto = $documento->anagrafica->id_ritenuta_acconto_vendite ?: setting("Percentuale ritenuta d'acconto"); } $calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito"); $show_rivalsa = !empty($id_rivalsa_inps); $show_ritenuta_acconto = setting("Percentuale ritenuta d'acconto") != '' || !empty($id_ritenuta_acconto); $show_ritenuta_contributi = !empty($documento_finale['id_ritenuta_contributi']); $id_conto = $documento_finale['idconto']; if (empty($id_conto)) { $id_conto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto'); } echo '

'.tr('Opzioni generali delle righe').'

'; if ($show_rivalsa || $show_ritenuta_acconto) { echo '
'; // Rivalsa INPS if ($show_rivalsa) { echo '
{[ "type": "select", "label": "'.tr('Rivalsa').'", "name": "id_rivalsa_inps", "value": "'.$id_rivalsa_inps.'", "values": "query=SELECT * FROM co_rivalse", "help": "'.(($options['dir'] == 'entrata') ? setting('Tipo Cassa Previdenziale') : null).'" ]}
'; } // Ritenuta d'acconto if ($show_ritenuta_acconto) { echo '
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "id_ritenuta_acconto", "value": "'.$id_ritenuta_acconto.'", "values": "query=SELECT * FROM co_ritenutaacconto" ]}
'; // Calcola ritenuta d'acconto su echo '
{[ "type": "select", "label": "'.tr("Calcola ritenuta d'acconto su").'", "name": "calcolo_ritenuta_acconto", "value": "'.$calcolo_ritenuta_acconto.'", "values": "list=\"IMP\":\"Imponibile\", \"IMP+RIV\":\"Imponibile + rivalsa\"", "required": "1" ]}
'; } echo '
'; } $width = $show_ritenuta_contributi ? 6 : 12; echo '
'; // Ritenuta contributi if ($show_ritenuta_contributi) { echo '
{[ "type": "checkbox", "label": "'.tr('Ritenuta contributi').'", "name": "ritenuta_contributi", "value": "1" ]}
'; } // Conto echo '
{[ "type": "select", "label": "'.tr('Conto').'", "name": "id_conto", "required": 1, "value": "'.$id_conto.'", "ajax-source": "'.($dir == 'entrata' ? 'conti-vendite' : 'conti-acquisti').'" ]}
'; } echo '

'.tr('Righe da importare').'

'; if (!empty($options['serials'])) { echo ' '; } echo ' '; foreach ($righe as $i => $r) { // Descrizione echo ' '; // Q.tà rimanente echo ' '; // Q.tà da evadere echo ' '; echo ' '; // Seriali if (!empty($options['serials'])) { echo ' '; } echo ' '; } // Totale echo '
'.tr('Descrizione').' '.tr('Q.tà').' '.tr('Q.tà da evadere').' '.tr('Subtot.').''.tr('Seriali').'
'; // Checkbox - da evadere? echo ' '; $descrizione = ($r->isArticolo() ? $r->articolo->codice.' - ' : '').$r['descrizione']; echo ' '.nl2br($descrizione); echo ' '.Translator::numberToLocale($r['qta_rimanente']).' {[ "type": "number", "name": "qta_da_evadere['.$r['id'].']", "id": "qta_'.$i.'", "required": 1, "value": "'.$r['qta_rimanente'].'", "decimals": "qta", "min-value": "0", "extra": "'.(($r['is_descrizione']) ? 'readonly' : '').' onkeyup=\"ricalcola_subtotale_riga('.$i.');\"" ]} '.moneyFormat($r->totale).'
'.Translator::numberToLocale($r->totale_imponibile).' + '.Translator::numberToLocale($r->iva).'
'; if (!empty($r['abilita_serial'])) { $serials = $r->serials; $list = []; foreach ($serials as $serial) { $list[] = [ 'id' => $serial, 'text' => $serial, ]; } if (!empty($serials)) { echo ' {[ "type": "select", "name": "serial['.$r['id'].'][]", "id": "serial_'.$i.'", "multiple": 1, "values": '.json_encode($list).', "value": "'.implode(',', $serials).'", "extra": "data-maximum=\"'.intval($r['qta_rimanente']).'\"" ]}'; } } if (empty($r['abilita_serial']) || empty($serials)) { echo '-'; } echo '
'.tr('Totale').':
'; echo '
'; echo ' '; ?>