1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-16 19:40:44 +01:00
This commit is contained in:
Luca 2018-12-20 16:33:18 +01:00
commit e2da8d80a0
11 changed files with 82 additions and 33 deletions

View File

@ -307,7 +307,11 @@ span.form-control {
padding-right: 5px;
position: relative;
z-index: 1;
opacity: 0.1;
opacity: 0.4;
}
.close:focus, .close:hover{
opacity: 0.8;
}
/* Tooltip dark */

View File

@ -151,7 +151,7 @@ function search(button) {
<label><input type="file" name="blob" id="blob"></label>
<button type="button" class="btn btn-primary pull-right" onclick="update()">
<i class="fa fa-upload"></i> '.tr('Carica').'...
<i class="fa fa-upload"></i> '.tr('Carica').'
</button>
</form>
</div>

View File

@ -73,6 +73,7 @@ switch (post('op')) {
$anagrafica->idtipointervento_default = post('idtipointervento_default');
$anagrafica->id_ritenuta_acconto_acquisti = post('id_ritenuta_acconto_acquisti');
$anagrafica->id_ritenuta_acconto_vendite = post('id_ritenuta_acconto_vendite');
$anagrafica->split_payment = post('split_payment');
$anagrafica->tipologie = (array) post('idtipoanagrafica');

View File

@ -248,22 +248,36 @@ if (!empty($google)) {
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Listino articoli'); ?>", "name": "idlistino_acquisti", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_acquisti$", "extra": "<?php echo ($fornitore) ? '' : 'readonly'; ?>" ]}
</div>
</div>
<div class="col-md-6">
<?php
// Collegamento con il conto
if (!empty($record['idconto_fornitore'])) {
$conto = $dbo->fetchOne('SELECT co_pianodeiconti2.numero as numero, co_pianodeiconti3.numero as numero_conto, co_pianodeiconti3.descrizione as descrizione FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = '.prepare($record['idconto_fornitore']));
echo '
/*echo '
<p>'.tr('Piano dei conti collegato: _NAME_', [
'_NAME_' => $conto['numero'].'.'.$conto['numero_conto'].' '.$conto['descrizione'],
]).Modules::link('Piano dei conti', null, '').'</p>';
} ?>
]).Modules::link('Piano dei conti', null, '').'</p>';*/
if (!empty($conto['numero_conto'])){
$piano_dei_conti_fornitore = tr('_NAME_', [
'_NAME_' => $conto['numero'].'.'.$conto['numero_conto'].' '.$conto['descrizione'],
]);
}else{
$piano_dei_conti_fornitore = tr('Nessuno');
}
echo Modules::link('Piano dei conti', null, null, null, 'class="pull-right"');
?>
{[ "type": "select", "label": "<?php echo tr('Piano dei conti fornitore'); ?>", "name": "piano_dei_conti_fornitore", "values": "list=\"\": \"<?php echo $piano_dei_conti_fornitore; ?>\"", "readonly": 1, "value": "", "extra": "" ]}
</div>
</div>
</div>
</div>
</div>
</div>
@ -315,24 +329,41 @@ if (!empty($record['idconto_fornitore'])) {
{[ "type": "select", "label": "Agente principale", "name": "idagente", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted_at IS NOT NULL, CONCAT(ragione_sociale, ' (Eliminato)'), ragione_sociale ) AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE (descrizione='Agente' AND deleted_at IS NULL)<?php echo isset($record['idagente']) ? 'OR (an_anagrafiche.idanagrafica = '.prepare($record['idagente']).' AND deleted_at IS NOT NULL) ' : ''; ?>ORDER BY ragione_sociale", "value": "$idagente$", "extra": "<?php echo ($cliente) ? '' : 'readonly'; ?>" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
<?php
// Collegamento con il conto
if (!empty($record['idconto_cliente'])) {
$conto = $dbo->fetchOne('SELECT co_pianodeiconti2.numero as numero, co_pianodeiconti3.numero as numero_conto, co_pianodeiconti3.descrizione as descrizione FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = '.prepare($record['idconto_cliente']));
echo '
/*echo '
<p>'.tr('Piano dei conti collegato: _NAME_', [
'_NAME_' => $conto['numero'].'.'.$conto['numero_conto'].' '.$conto['descrizione'],
]).Modules::link('Piano dei conti', null, '').'</p>';
} ?>
]).Modules::link('Piano dei conti', null, '').'</p>';*/
if (!empty($conto['numero_conto'])){
$piano_dei_conti_cliente = tr('_NAME_', [
'_NAME_' => $conto['numero'].'.'.$conto['numero_conto'].' '.$conto['descrizione'],
]);
}else{
$piano_dei_conti_cliente = tr('Nessuno');
}
echo Modules::link('Piano dei conti', null, null, null, 'class="pull-right"');
?> {[ "type": "select", "label": "<?php echo tr('Piano dei conti cliente'); ?>", "name": "piano_dei_conti_cliente", "values": "list=\"\": \"<?php echo $piano_dei_conti_cliente; ?>\"", "readonly": 1, "value": "", "extra": "" ]}
</div>
<div class="col-md-6">
{[ "type": "checkbox", "label": "<?php echo tr('Abilitare lo split payment'); ?>", "name": "split_payment", "value": "$split_payment$", "help": "<?php echo tr('Lo split payment <strong>&egrave; obbligatorio</strong> per:<ul><li>Stato;</li><li>organi statali ancorch&eacute; dotati di personalit&agrave; giuridica;</li><li>enti pubblici territoriali e dei consorzi tra essi costituiti;</li><li>Camere di Commercio;</li><li>Istituti universitari;</li><li>ASL e degli enti ospedalieri;</li><li>enti pubblici di ricovero e cura aventi prevalente carattere scientifico;</li><li>enti pubblici di assistenza e beneficienza;</li><li>enti di previdenza;</li><li>consorzi tra questi costituiti.</li></ul>'); ?>", "placeholder": "<?php echo tr('Split payment'); ?>", "extra" : "<?php echo ($record['tipo'] != 'Ente pubblico') ? 'disabled' : ''; ?>" ]}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="clearfix" ></div>
</div>
</div>
</div>
<div class="clearfix" ></div>
<?php
}

View File

@ -752,7 +752,7 @@ class FatturaElettronica
// Riepiloghi per IVA per percentuale
$riepiloghi_percentuale = $database->fetchArray('SELECT SUM(`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`) as totale, SUM(`co_righe_documenti`.`iva`) as iva, `co_iva`.`esigibilita`, `co_iva`.`percentuale`, `co_iva`.`dicitura` FROM `co_righe_documenti` INNER JOIN `co_iva` ON `co_iva`.`id` = `co_righe_documenti`.`idiva` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND
`co_iva`.`codice_natura_fe` IS NULL GROUP BY `co_iva`.`percentuale`');
`co_iva`.`codice_natura_fe` IS NULL AND sconto_globale=0 GROUP BY `co_iva`.`percentuale`');
foreach ($riepiloghi_percentuale as $riepilogo) {
$iva = [
'AliquotaIVA' => $riepilogo['percentuale'],

View File

@ -57,7 +57,12 @@ echo '
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">
'.tr('Carica un XML').'</span>
'.tr('Carica un XML').'
<span class="tip" title="'.tr("Formati supportati: XML e P7M").'.">
<i class="fa fa-question-circle-o"></i>
</span>
</h3>
</div>
<div class="box-body" id="upload">
@ -67,8 +72,8 @@ echo '
</div>
<div class="col-md-3">
<button type="button" class="btn btn-primary btn-lg pull-right" onclick="upload(this)">
<i class="fa fa-upload"></i> '.tr('Carica').'...
<button type="button" class="btn btn-primary pull-right" onclick="upload(this)">
<i class="fa fa-upload"></i> '.tr('Carica fattura di acquisto').'
</button>
</div>
</div>
@ -83,7 +88,7 @@ if (Interaction::isEnabled()) {
'.tr('Importazione automatica').'</span>
</h3>
<button type="button" class="btn btn-primary pull-right" onclick="search(this)">
<i class="fa fa-refresh"></i> '.tr('Ricerca').'...
<i class="fa fa-refresh"></i> '.tr('Ricerca fatture di acquisto').'
</button>
</div>
<div class="box-body" id="list">';

View File

@ -23,7 +23,7 @@ if (!empty($list)) {
<td>'.$element.'</td>
<td>
<button type="button" class="btn btn-warning" onclick="download(this, \''.$element.'\')">
<i class="fa fa-download"></i> '.tr('Importa').'
<i class="fa fa-download"></i> '.tr('Importa fattura di acquisto').'
</button>
</td>
</tr>';

View File

@ -71,7 +71,8 @@ if (!empty($righe)) {
echo '
<h4>
'.tr('Righe').'
<button type="button" class="btn btn-warning btn small pull-right" onclick="copy()"><i class="fa fa-copy"></i> '.tr('Copia IVA e conto da prima riga').'</button>
<button type="button" class="btn btn-info btn-sm pull-right" onclick="copy()"><i class="fa fa-copy"></i> '.tr('Copia IVA e conto da prima riga').'</button>
<div class="clearfix"></div>
</h4>
<div class="table-responsive">
@ -79,10 +80,10 @@ if (!empty($righe)) {
<tr>
<th>'.tr('Descrizione').'</th>
<th width="10%">'.tr('Q.').'</th>
<th width="15%">'.tr('Prezzo unitario').'</th>
<th width="10%">'.tr('Prezzo unitario').'</th>
<th width="15%">'.tr('Iva associata').'*</th>
<th width="15%">'.tr('Conto').'*</th>
<th width="15%">'.tr('Articolo associato').'</th>
<th width="25%">'.tr('Articolo').'</th>
</tr>';
foreach ($righe as $key => $riga) {
@ -106,7 +107,7 @@ if (!empty($righe)) {
{[ "type": "select", "name": "conto['.$key.']", "ajax-source": "conti-acquisti", "required": 1 ]}
</td>
<td>
{[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli" ]}
{[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "class": "", "icon-after": "add|'.Modules::get("Articoli")["id"].'" ]}
</td>
</tr>';
}

View File

@ -17,6 +17,7 @@ switch ($operazione) {
'cellulare' => post('cellulare'),
'telefono' => post('telefono'),
'email' => post('email'),
'id_nazione' => !empty(post('id_nazione')) ? post('id_nazione') : null,
'idzona' => post('idzona'),
]);
$id_record = $dbo->lastInsertedID();

View File

@ -36,6 +36,15 @@ echo '
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "values": "query=SELECT `id`, `nome` AS `descrizione` FROM `an_nazioni` ORDER BY `descrizione` ASC", "value": "" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "values": "query=SELECT `id`, CONCAT(`nome`, \' - \', `descrizione`) AS `descrizione` FROM `an_zone` ORDER BY `descrizione` ASC" ]}
</div>
</div>
<div class="row">
<div class="col-md-4">
{[ "type": "text", "label": "'.tr('Cellulare').'", "name": "cellulare" ]}
@ -50,12 +59,6 @@ echo '
</div>
</div>
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "values": "query=SELECT `id`, CONCAT(`nome`, \' - \', `descrizione`) AS `descrizione` FROM `an_zone` ORDER BY `descrizione` ASC" ]}
</div>
</div>
<!-- PULSANTI -->
<div class="row">
<div class="col-md-12 text-right">

View File

@ -2,3 +2,6 @@ INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`,
(NULL, 'Ricevute FE', 'Ricevute FE', (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di vendita'), (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di vendita'), 'tab_main', 'receiptFE', 'custom');
UPDATE `fe_stati_documento` SET `icon` = 'fa fa-check text-success' WHERE `codice` = 'ACK';
-- Introduzione del flag split payment
ALTER TABLE `an_anagrafiche` ADD `split_payment` BOOLEAN NOT NULL DEFAULT FALSE AFTER `codice_destinatario`;