Compare commits

...

6 Commits

Author SHA1 Message Date
Pek5892 7b8018c68a Fix per php8.1 2024-04-11 17:55:49 +02:00
Pek5892 95f7840a44 Fix verifica numero ddt 2024-04-11 16:24:29 +02:00
Pek5892 8a018f8606 Fix minore 2024-04-11 16:16:35 +02:00
Pek5892 519c7219cd Fix minore 2024-04-11 14:53:46 +02:00
Pek5892 9b9744b134 Fix redirect per php8.1 2024-04-11 12:26:12 +02:00
Pek5892 072c2e615a Fix minori 2024-04-11 12:21:13 +02:00
8 changed files with 17 additions and 16 deletions

View File

@ -438,7 +438,7 @@ if (empty($record) || !$has_access) {
</div>';
}
redirectOperation($id_module, isset($id_parent) ? $id_parent : $id_record);
redirectOperation($id_module, !empty($id_parent) ? $id_parent : $id_record);
// Widget in basso
echo '{( "name": "widgets", "id_module": "'.$id_module.'", "id_record": "'.$id_record.'", "position": "right", "place": "editor" )}';

View File

@ -110,8 +110,11 @@ switch (post('op')) {
$contratto->save();
$dbo->query('DELETE FROM my_impianti_contratti WHERE idcontratto='.prepare($id_record));
foreach ((array) post('matricolaimpianto') as $matricolaimpianto) {
$dbo->query('INSERT INTO my_impianti_contratti(idcontratto,idimpianto) VALUES('.prepare($id_record).', '.prepare($matricolaimpianto).')');
$matricola = post('matricolaimpianto');
if ($matricola) {
foreach (array($matricola) as $matricolaimpianto) {
$dbo->query('INSERT INTO my_impianti_contratti(idcontratto,idimpianto) VALUES('.prepare($id_record).', '.prepare($matricolaimpianto).')');
}
}
// Salvataggio costi attività unitari del contratto

View File

@ -28,7 +28,7 @@ include_once __DIR__.'/../../core.php';
$block_edit = $record['flag_completato'];
if ($dir == 'entrata') {
$numero_previsto = verifica_numero_ddt($ddt);
$numero_previsto = verifica_numero_ddt($ddt, $id_segment);
if (!empty($numero_previsto)) {
echo '
<div class="alert alert-warning">

View File

@ -234,7 +234,7 @@ if (!function_exists('get_stato_ddt')) {
}
if (!function_exists('verifica_numero_ddt')) {
function verifica_numero_ddt(DDT $ddt)
function verifica_numero_ddt(DDT $ddt, $id_segment)
{
global $dbo;
@ -253,7 +253,7 @@ if (!function_exists('verifica_numero_ddt')) {
->get();
// Recupero maschera per questo segmento
$maschera = setting('Formato numero secondario ddt');
$maschera = Generator::getMaschera($id_segment);
$ultimo = Generator::getPreviousFrom($maschera, 'dt_ddt', $campo, [
'data < '.prepare(date('Y-m-d', strtotime($data))),

View File

@ -179,9 +179,10 @@ if ($dir == 'entrata') {
if (!empty(setting('Data inizio verifica contatore fattura di vendita'))) {
$dateFormat = 'd/m/Y';
$carbonDate = Carbon::createFromFormat($dateFormat, setting('Data inizio verifica contatore fattura di vendita'));
$data_inizio_verifica_contatore = (($carbonDate !== false) ? $carbonDate->format('Y-m-d') : null);
$data_inizio_verifica_contatore = (($carbonDate !== false) ? strtotime($carbonDate->format('Y-m-d')) : null);
}
if (strtotime($fattura->data) >= strtotime($data_inizio_verifica_contatore) || empty($data_inizio_verifica_contatore)) {
$data = ($fattura->data ? strtotime($fattura->data) : '');
if ($data >= $data_inizio_verifica_contatore || empty($data_inizio_verifica_contatore)) {
$numero_previsto = verifica_numero_fattura($fattura);
}

View File

@ -113,8 +113,6 @@ class Fattura extends Document
$model->tipo()->associate($tipo_documento);
$model->stato()->associate($id_stato_attuale_documento);
$model->save();
// Salvataggio delle informazioni
$model->data = $data;
$model->data_registrazione = $data_registrazione ?: $data;
@ -250,7 +248,7 @@ class Fattura extends Document
$this->numero = static::getNextNumero($data, $direzione, $value);
if ($this->stato->getTranslation('name') == 'Bozza') {
$this->numero_esterno = null;
$this->numero_esterno = '';
} elseif (!empty($previous)) {
$this->numero_esterno = static::getNextNumeroSecondario($data, $direzione, $value);
}
@ -579,9 +577,6 @@ class Fattura extends Document
$dichiarazione_precedente = Dichiarazione::find($this->original['id_dichiarazione_intento']);
$is_fiscale = $this->isFiscale();
// Salvataggio effettivo
parent::save($options);
$this->attributes['ritenutaacconto'] = $this->ritenuta_acconto;
$this->attributes['iva_rivalsainps'] = $this->iva_rivalsa_inps;
$this->attributes['rivalsainps'] = $this->rivalsa_inps;

View File

@ -209,11 +209,13 @@ switch (post('op')) {
break;
}
if ($module->getTranslation('name') == 'Ordini cliente') {
$module_fatture = Module::find($id_modulo_fatture)->getTranslation('name');
$module_fatture ? strtolower($module_fatture) : '';
$operations['crea_fattura'] = [
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('name'))]),
'data' => [
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('name'))]),
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle _TYPE_ non ancora emesse?', ['_TYPE_' => strtolower($module_fatture)]).'", "placeholder": "'.tr('Aggiungere alle _TYPE_ nello stato bozza?', ['_TYPE_' => strtolower($module_fatture)]).'</small>", "name": "accodare" ]}
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle _TYPE_ non ancora emesse?', ['_TYPE_' => $module_fatture]).'", "placeholder": "'.tr('Aggiungere alle _TYPE_ nello stato bozza?', ['_TYPE_' => $module_fatture]).'</small>", "name": "accodare" ]}
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_modulo_fatture, 'is_sezionale' => 1]).', "value": "'.$id_segment.'", "select-options-escape": true ]}
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `name`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
{[ "type": "select", "label": "'.tr('Raggruppa per').'", "name": "raggruppamento", "required": 1, "values": "list=\"cliente\":\"Cliente\",\"sede\":\"Sede\"" ]}',

View File

@ -32,7 +32,7 @@ UPDATE `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views_lang`.`id_record` = `z
UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Matricola, Nome, Data, Descrizione", "query": "SELECT id, (SELECT `zz_modules`.`id` FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua") WHERE `name` = "Impianti") AS _link_module_, id AS _link_record_, matricola AS Matricola, nome AS Nome, DATE_FORMAT(data, "%d/%m/%Y") AS Data, descrizione AS Descrizione FROM my_impianti WHERE idanagrafica=|id_parent| HAVING 2=2 ORDER BY id DESC"} ]}' WHERE `zz_plugins`.`id` = (SELECT `id_record` FROM `zz_plugins_lang` WHERE `name` = 'Impianti del cliente' LIMIT 1);
-- Fix plugin Contratti del cliente
UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Numero, Nome, Totale, Stato, Predefinito", "query": "SELECT `co_contratti`.`id`, `numero` AS Numero, `co_contratti`.`nome` AS Nome, `an_anagrafiche`.`ragione_sociale` AS Cliente, FORMAT(`righe`.`totale_imponibile`,2) AS Totale, `co_staticontratti_lang`.`name` AS Stato, IF(`co_contratti`.`predefined`=1, "SÌ", "NO") AS Predefinito FROM `co_contratti` LEFT JOIN `an_anagrafiche` ON `co_contratti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` LEFT JOIN `co_staticontratti` ON `co_contratti`.`idstato` = `co_staticontratti`.`id` LEFT JOIN `co_staticonrtatti_lang` ON (co_staticontratti.`id` = `co_staticonrtatti_lang`.`id_record` AND `co_staticonrtatti_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) LEFT JOIN (SELECT `idcontratto`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`subtotale` - `sconto` + `iva`) AS `totale` FROM `co_righe_contratti` GROUP BY `idcontratto` ) AS righe ON `co_contratti`.`id` =`righe`.`idcontratto` WHERE 1=1 AND `co_contratti`.`idanagrafica`=|id_parent| GROUP BY `co_contratti`.`id` HAVING 2=2 ORDER BY `co_contratti`.`id` ASC"} ]}' WHERE `zz_plugins`.`id` = (SELECT `id_record` FROM `zz_plugins_lang` WHERE `name` = 'Contratti del cliente' LIMIT 1);
UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Numero, Nome, Totale, Stato, Predefinito", "query": "SELECT `co_contratti`.`id`, `numero` AS Numero, `co_contratti`.`nome` AS Nome, `an_anagrafiche`.`ragione_sociale` AS Cliente, FORMAT(`righe`.`totale_imponibile`,2) AS Totale, `co_staticontratti_lang`.`name` AS Stato, IF(`co_contratti`.`predefined`=1, "SÌ", "NO") AS Predefinito FROM `co_contratti` LEFT JOIN `an_anagrafiche` ON `co_contratti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` LEFT JOIN `co_staticontratti` ON `co_contratti`.`idstato` = `co_staticontratti`.`id` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = "Lingua")) LEFT JOIN (SELECT `idcontratto`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`subtotale` - `sconto` + `iva`) AS `totale` FROM `co_righe_contratti` GROUP BY `idcontratto` ) AS righe ON `co_contratti`.`id` =`righe`.`idcontratto` WHERE 1=1 AND `co_contratti`.`idanagrafica`=|id_parent| GROUP BY `co_contratti`.`id` HAVING 2=2 ORDER BY `co_contratti`.`id` ASC"} ]}' WHERE `zz_plugins`.`id` = (SELECT `id_record` FROM `zz_plugins_lang` WHERE `name` = 'Contratti del cliente' LIMIT 1);
-- Allineamento vista Listini
UPDATE `zz_modules` SET `options` = "