Aggiunto tipo documento in crea fattura in fase di importazione

This commit is contained in:
MatteoPistorello 2021-09-16 11:57:07 +02:00
parent 9027bfad75
commit 77b3152cfa
3 changed files with 25 additions and 16 deletions

View File

@ -40,6 +40,7 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
### Aggiunto (Added)
- Aggiunto modal in fase di **Stampa Bilancio** per visualizzare o meno l'elenco analitico dei clienti e fornitori
- Aggiunta scelta del tipo documento in fase di creazione fattura da un altro documento
### Modificato (Changed)
### Fixed

View File

@ -89,17 +89,37 @@ if (!empty($options['create_document'])) {
$stato_predefinito = $database->fetchOne("SELECT id FROM co_statidocumento WHERE descrizione = 'Bozza'");
if(!empty($options['reversed'])){
$idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
'dir' => $dir,
'descrizione' => 'Nota di credito',
])['id'];
} elseif(in_array($original_module['name'], ['Ddt di vendita', 'Ddt di acquisto'])){
$idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
'dir' => $dir,
'descrizione' => ($dir=='uscita' ? 'Fattura differita di acquisto' : 'Fattura differita di vendita'),
])['id'];
} else{
$idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
'predefined' => 1,
'dir' => $dir,
])['id'];
}
echo '
<input type="hidden" name="reversed" value="'.$options['reversed'].'">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT * FROM co_statidocumento WHERE descrizione IN (\'Emessa\', \'Bozza\')", "value": "'.$stato_predefinito['id'].'"]}
</div>
<div class="col-md-6">
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, CONCAT(codice_tipo_documento_fe, \' - \', descrizione) AS descrizione FROM co_tipidocumento WHERE enabled = 1 AND dir = '.prepare($dir).' ORDER BY codice_tipo_documento_fe", "value": "'.$idtipodocumento.'" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Ritenuta contributi').'", "name": "id_ritenuta_contributi", "value": "$id_ritenuta_contributi$", "values": "query=SELECT * FROM co_ritenuta_contributi" ]}
</div>
<div class="col-md-6">
<div class="col-md-4">
{[ "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.'" ]}
</div>';
}

View File

@ -687,7 +687,6 @@ switch (post('op')) {
case 'add_documento':
$class = post('class');
$id_documento = post('id_documento');
$reversed = post('reversed');
// Individuazione del documento originale
if (!is_subclass_of($class, \Common\Document::class)) {
@ -702,18 +701,7 @@ switch (post('op')) {
// Creazione della fattura al volo
if (post('create_document') == 'on') {
$descrizione = ($documento->direzione == 'entrata') ? 'Fattura immediata di vendita' : 'Fattura immediata di acquisto';
// Fattura differita in caso di importazione da DDT
if ($documento instanceof DDT) {
$descrizione = ($documento->direzione == 'entrata') ? 'Fattura differita di vendita' : 'Fattura differita di acquisto';
}
if ($reversed) {
$tipo = Tipo::where('descrizione', 'Nota di credito')->where('dir', '!=', $documento->direzione)->first();
} else {
$tipo = Tipo::where('descrizione', $descrizione)->first();
}
$tipo = Tipo::find(post('idtipodocumento'));
$fattura = Fattura::build($documento->anagrafica, $tipo, post('data'), post('id_segment'));