mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-02 08:56:48 +01:00
Aggiunta campo fornitore per gli articoli
Fix minori
This commit is contained in:
parent
73062dbfdf
commit
dda875a75e
@ -67,6 +67,7 @@ switch (post('op')) {
|
||||
$articolo->prezzo_acquisto = post('prezzo_acquisto');
|
||||
$articolo->idconto_vendita = post('idconto_vendita');
|
||||
$articolo->idconto_acquisto = post('idconto_acquisto');
|
||||
$articolo->id_fornitore = post('id_fornitore');
|
||||
$articolo->idiva_vendita = post('idiva_vendita');
|
||||
$articolo->gg_garanzia = post('gg_garanzia');
|
||||
$articolo->servizio = post('servizio');
|
||||
|
@ -134,6 +134,12 @@ $_SESSION['superselect']['id_categoria'] = $record['id_categoria'];
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "select", "label": "<?php echo tr('Fornitore predefinito'); ?>", "name": "id_fornitore", "value": "$id_fornitore$", "ajax-source": "fornitori" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "select", "label": "<?php echo tr('Conto predefinito di acquisto'); ?>", "name": "idconto_acquisto", "value": "$idconto_acquisto$", "ajax-source": "conti-acquisti" ]}
|
||||
|
@ -2,36 +2,36 @@
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
echo'
|
||||
<button type="button" class="btn btn-primary" onclick="if( confirm(\'Duplicare questo contratto?\') ){ $(\'#copia-contratto\').submit(); }"> <i class="fa fa-copy"></i> '.tr('Duplica contratto').'</button>';
|
||||
|
||||
$rs_documento = $dbo->fetchArray('SELECT * FROM co_righe_contratti WHERE idcontratto='.prepare($id_record));
|
||||
|
||||
$disabled = $record['is_fatturabile'] && !empty($rs_documento);
|
||||
|
||||
$stati_abilitati = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARATOR ", ") AS stati_abilitati FROM `co_staticontratti` WHERE `is_fatturabile` = 1')['stati_abilitati'];
|
||||
$stati_fatturabili= $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARATOR ", ") AS stati_abilitati FROM `co_staticontratti` WHERE `is_fatturabile` = 1')['stati_abilitati'];
|
||||
|
||||
|
||||
/* permetto di fatturare il contratto solo se contiene righe e si trova in uno stato fatturabile */
|
||||
echo '
|
||||
<button type="button" '.($disabled ? '' : 'disabled').' class="btn btn-info '.($disabled ? '' : 'disabled tip').' " data-href="'.$structure->fileurl('crea_documento.php').'?id_module='.$id_module.'&id_record='.$id_record.'&documento=fattura" data-toggle="modal" data-title="'.tr('Crea fattura').'" title="'.($disabled ? '' : tr('Per creare un documento deve essere inserita almeno una riga e lo stato del contratto deve essere tra: ').$stati_abilitati).'">
|
||||
<button type="button" '.($disabled ? '' : 'disabled').' class="btn btn-info '.($disabled ? '' : 'disabled tip').' " data-href="'.$structure->fileurl('crea_documento.php').'?id_module='.$id_module.'&id_record='.$id_record.'&documento=fattura" data-toggle="modal" data-title="'.tr('Crea fattura').'" title="'.($disabled ? '' : tr('Per creare un documento deve essere inserita almeno una riga e lo stato del contratto deve essere tra: ').$stati_fatturabili).'">
|
||||
<i class="fa fa-magic"></i> '.tr('Crea fattura').'
|
||||
</button>';
|
||||
|
||||
if ($record['rinnovabile']) {
|
||||
$rinnova = !empty($record['data_accettazione']) && !empty($record['data_conclusione']) && $record['data_accettazione'] != '0000-00-00' && $record['data_conclusione'] != '0000-00-00' && $record['is_pianificabile'];
|
||||
|
||||
$stati_pianificabili = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARATOR ", ") AS stati_pianificabili FROM `co_staticontratti` WHERE `is_pianificabile` = 1')['stati_pianificabili'];
|
||||
$rinnova = !empty($record['data_accettazione']) && !empty($record['data_conclusione']) && $record['data_accettazione'] != '0000-00-00' && $record['data_conclusione'] != '0000-00-00' && $record['is_pianificabile'] && $record['rinnovabile'];
|
||||
|
||||
$stati_pianificabili = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARATOR ", ") AS stati_pianificabili FROM `co_staticontratti` WHERE `is_pianificabile` = 1')['stati_pianificabili'];
|
||||
|
||||
echo '
|
||||
<button type="button" class="btn btn-warning ask '.($rinnova ? '' : 'disabled tip').'" data-backto="record-edit" data-op="renew" data-msg="'.tr('Rinnovare questo contratto?').'" data-button="'.tr('Rinnova').'" data-class="btn btn-lg btn-warning" '.($rinnova ? '' : 'disabled').' title="'.( ($rinnova) ? '' : tr('Il contratto è rinnovabile se sono definite le date di accettazione e conclusione e si trova in uno stato di questi stati: '.$stati_pianificabili)).'">
|
||||
<i class="fa fa-refresh"></i> '.tr('Rinnova').'...
|
||||
</button>';
|
||||
|
||||
echo '
|
||||
<div class="tip" data-toggle="tooltip" title="'.tr('Il contratto è rinnovabile se sono definite le date di accettazione e conclusione e si trova in uno stato di questi stati: '.$stati_pianificabili).'" style="display:inline;">
|
||||
<button type="button" class="btn btn-warning ask '.($rinnova ? '' : 'disabled').'" data-backto="record-edit" data-op="renew" data-msg="'.tr('Rinnovare questo contratto?').'" data-button="Rinnova" data-class="btn btn-lg btn-warning" '.($rinnova ? '' : 'disabled').'>
|
||||
<i class="fa fa-refresh"></i> '.tr('Rinnova').'...
|
||||
</button>
|
||||
</div>';
|
||||
}
|
||||
|
||||
// Duplica contratto
|
||||
echo'
|
||||
<button type="button" class="btn btn-primary" onclick="if( confirm(\''.tr('Duplicare questo contratto?').'\') ){ $(\'#copia-contratto\').submit(); }"> <i class="fa fa-copy"></i> '.tr('Duplica contratto').'</button>';
|
||||
|
||||
|
||||
echo '
|
||||
<form action="" method="post" id="copia-contratto">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
@ -105,7 +105,7 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "number", "label": "<?php echo tr('Ore rimanenti rinnovo'); ?>", "name": "ore_preavviso_rinnovo", "decimals": "0", "value": "$ore_preavviso_rinnovo$", "icon-after": "ore", "disabled": <?php echo $record['rinnovabile'] ? 0 : 1; ?>, "help": "Numero ore restanti nel contratto per avviso rinnovo anticipato." ]}
|
||||
{[ "type": "number", "label": "<?php echo tr('Ore rimanenti rinnovo'); ?>", "name": "ore_preavviso_rinnovo", "decimals": "0", "value": "$ore_preavviso_rinnovo$", "icon-after": "ore", "disabled": <?php echo $record['rinnovabile'] ? 0 : 1; ?>, "help": "<?php echo tr("Ore residue nel contratto prima di visualizzare una avviso per un eventuale rinnovo anticipato."); ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -114,7 +114,7 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione) && $fattura->stato->des
|
||||
<?php
|
||||
if ($dir == 'uscita') {
|
||||
echo '
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-'.(($dir == 'entrata') ? '3' : '2').'">
|
||||
{[ "type": "text", "label": "'.tr('Numero fattura/protocollo').'", "required": 1, "name": "numero","class": "text-center alphanumeric-mask", "value": "$numero$" ]}
|
||||
</div>';
|
||||
$label = tr('Numero fattura del fornitore');
|
||||
@ -126,7 +126,7 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione) && $fattura->stato->des
|
||||
<!-- id_segment -->
|
||||
{[ "type": "hidden", "label": "Segmento", "name": "id_segment", "class": "text-center", "value": "$id_segment$" ]}
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-<?php echo ($dir == 'entrata') ? '3' : '2'; ?>">
|
||||
{[ "type": "text", "label": "<?php echo $label; ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
|
||||
</div>
|
||||
|
||||
@ -171,7 +171,7 @@ if (empty($record['is_fiscale'])) {
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-<?php echo ($dir == 'entrata') ? '3' : '2'; ?>">
|
||||
<!-- TODO: Rimuovere possibilità di selezionare lo stato pagato obbligando l'utente ad aggiungere il movimento in prima nota -->
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatodocumento", "required": 1, "values": "query=<?php echo $query; ?>", "value": "$idstatodocumento$", "class": "unblockable", "extra": " onchange = \"if ($('#idstatodocumento option:selected').text()=='Pagato' || $('#idstatodocumento option:selected').text()=='Parzialmente pagato' ){if( confirm('<?php echo tr('Sicuro di voler impostare manualmente la fattura come pagata senza aggiungere il movimento in prima nota?'); ?>') ){ return true; }else{ $('#idstatodocumento').selectSet(<?php echo $record['idstatodocumento']; ?>); }}\" " ]}
|
||||
</div>
|
||||
|
@ -121,6 +121,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
||||
|
||||
$articolo = ArticoloOriginale::build($codice, $riga['Descrizione'], $categoria);
|
||||
$articolo->prezzo_acquisto = $riga['PrezzoUnitario'];
|
||||
$articolo->id_fornitore = $fattura->idanagrafica;
|
||||
$articolo->save();
|
||||
}
|
||||
}
|
||||
|
@ -874,3 +874,12 @@ ORDER BY giorni_rimanenti ASC, IFNULL( ((SELECT SUM(co_righe_contratti.qta) FROM
|
||||
|
||||
-- Aggiunta campo barcode per gli articoli
|
||||
ALTER TABLE `mg_articoli` ADD `barcode` VARCHAR(255);
|
||||
|
||||
-- Aggiunta campo fornitore per gli articoli
|
||||
ALTER TABLE `mg_articoli` ADD `id_fornitore` INT(11) NULL DEFAULT NULL;
|
||||
|
||||
-- Aggiunta vista prezzo vendita e prezzo acquisto per gli articoli
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `summable`, `visible`, `default`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Fornitore', '(SELECT `ragione_sociale` FROM `an_anagrafiche` WHERE `idanagrafica` = `id_fornitore`)', 6, 1, 0, 0, 0, 0, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di acquisto', 'prezzo_acquisto', 6, 1, 0, 1, 1, 0, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), 'Prezzo di vendita', 'prezzo_vendita', 6, 1, 0, 1, 1, 0, 1);
|
Loading…
x
Reference in New Issue
Block a user