2018-03-28 17:04:10 +02:00
< ? php
2020-09-07 15:04:06 +02:00
/*
* OpenSTAManager : il software gestionale open source per l ' assistenza tecnica e la fatturazione
2021-01-20 15:08:51 +01:00
* Copyright ( C ) DevCode s . r . l .
2020-09-07 15:04:06 +02:00
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < https :// www . gnu . org / licenses />.
*/
2018-03-28 17:04:10 +02:00
include_once __DIR__ . '/../../core.php' ;
2018-05-11 15:56:08 +02:00
?> <form action="" method="post" id="edit-form">
2018-03-28 17:04:10 +02:00
< input type = " hidden " name = " backto " value = " record-edit " >
< input type = " hidden " name = " op " value = " update " >
<!-- DATI -->
2024-05-16 18:02:50 +02:00
< div class = " card card-primary " >
< div class = " card-heading " >
< h3 class = " card-title " >< ? php echo tr ( 'Dati' ); ?> </h3>
2018-03-28 17:04:10 +02:00
</ div >
2024-05-16 18:02:50 +02:00
< div class = " card-body " >
2018-03-28 17:04:10 +02:00
< div class = " row " >
2020-09-24 16:41:43 +02:00
< div class = " col-md-3 " >
2023-07-18 20:03:16 +02:00
< ? php echo Modules :: link ( 'Anagrafiche' , $record [ 'id_anagrafica' ], null , null , 'class="pull-right"' ); ?>
2020-09-09 16:55:45 +02:00
{[ " type " : " select " , " label " : " <?php echo tr('Anagrafica'); ?> " , " name " : " id_anagrafica " , " required " : " 1 " , " value " : " $id_anagrafica $ " , " ajax-source " : " anagrafiche " , " disabled " : 1 ]}
2018-03-28 17:04:10 +02:00
</ div >
2020-09-09 16:55:45 +02:00
2020-09-24 16:41:43 +02:00
< div class = " col-md-3 " >
{[ " type " : " checkbox " , " label " : " <?php echo tr('Predefinito'); ?> " , " name " : " predefined " , " value " : " $predefined $ " , " disabled " : " <?php echo intval( $record['predefined'] ); ?> " ]}
</ div >
2020-09-09 16:55:45 +02:00
< div class = " col-md-6 " >
{[ " type " : " text " , " label " : " <?php echo tr('Nome'); ?> " , " name " : " nome " , " required " : " 1 " , " value " : " $nome $ " ]}
</ div >
</ div >
< div class = " row " >
< div class = " col-md-6 " >
2018-08-11 15:49:46 +02:00
{[ " type " : " text " , " label " : " <?php echo tr('Filiale'); ?> " , " name " : " filiale " , " value " : " $filiale $ " ]}
2018-03-28 17:04:10 +02:00
</ div >
2020-09-09 16:55:45 +02:00
< div class = " col-md-6 " >
2022-04-21 09:51:48 +02:00
{[ " type " : " select " , " label " : " <?php echo tr('Conto predefinito'); ?> " , " name " : " id_pianodeiconti3 " , " value " : " $id_pianodeiconti3 $ " , " ajax-source " : " conti " , " help " : " <?php echo tr('Impostando un conto predefinito verrà pre-selezionata questa banca durante la scelta del tipo di pagamento in fattura.').'<br>'.tr('Anche il tipo di pagamento dovrà avere configurato lo stesso conto.'); ?> " ]}
2018-03-28 17:22:55 +02:00
</ div >
</ div >
2020-09-09 16:55:45 +02:00
2018-03-28 17:22:55 +02:00
< div class = " row " >
< div class = " col-md-8 " >
2018-05-09 12:28:21 +02:00
{[ " type " : " text " , " label " : " <?php echo tr('IBAN'); ?> " , " name " : " iban " , " required " : " 1 " , " class " : " alphanumeric-mask " , " maxlength " : 32 , " value " : " $iban $ " ]}
2018-03-28 17:22:55 +02:00
</ div >
2021-04-26 09:27:05 +02:00
< div class = " col-md-4 " >
2023-03-21 17:39:43 +01:00
{[ " type " : " text " , " label " : " <?php echo tr('BIC'); ?> " , " name " : " bic " , " class " : " alphanumeric-mask " , " minlength " : 8 , " maxlength " : 11 , " value " : " $bic $ " , " help " : " <?php echo $help_codice_bic ; ?> " ]}
2021-04-26 09:27:05 +02:00
</ div >
2021-04-26 08:45:52 +02:00
</ div >
2020-09-09 16:55:45 +02:00
2021-04-26 08:45:52 +02:00
< div class = " row " >
2020-10-02 17:25:26 +02:00
< div class = " col-md-6 " >
2020-09-24 17:27:33 +02:00
{[ " type " : " text " , " label " : " <?php echo tr('ID Creditore SEPA'); ?> " , " name " : " creditor_id " , " class " : " alphanumeric-mask " , " value " : " $creditor_id $ " , " help " : " <?php echo tr( " Codice identificativo per l 'azienda nell' area SEPA . Nel caso di aziende aderenti alla procedura Allineamento Elettronico Archivio per le quali non risulta reperibile in CF / PIVA viene generato un codice identificativo non significativo ( NOTPROVIDEDXXXXXXXXXXXX ) . " ); ?> " ]}
</ div >
2020-10-02 17:25:26 +02:00
< div class = " col-md-6 " >
2021-01-08 18:21:43 +01:00
{[ " type " : " text " , " label " : " <?php echo tr('Codice SIA azienda'); ?> " , " name " : " codice_sia " , " class " : " alphanumeric-mask " , " maxlength " : 5 , " value " : " $codice_sia $ " , " help " : " <?php echo tr('Società Interbancaria per l \ 'Automazione. Questo campo è necessario per la generazione delle Ri.Ba.<br>E \ ' composto da 5 caratteri alfanumerici.'); ?> " ]}
2020-10-02 17:25:26 +02:00
</ div >
</ div >
2020-09-09 16:55:45 +02:00
2018-03-28 17:22:55 +02:00
< div class = " row " >
< div class = " col-md-12 " >
2018-08-03 09:34:06 +02:00
{[ " type " : " textarea " , " label " : " <?php echo tr('Note'); ?> " , " name " : " note " , " value " : " $note $ " ]}
2018-03-28 17:04:10 +02:00
</ div >
</ div >
</ div >
</ div >
2018-03-28 17:22:55 +02:00
</ form >
2018-03-28 17:04:10 +02:00
2021-04-26 08:45:52 +02:00
<!-- Composizione IBAN -->
2024-05-16 18:02:50 +02:00
< div class = " card card-info " >
< div class = " card-header " >
< h3 class = " card-title " >< ? php echo tr ( 'Composizione IBAN' ); ?> </h3>
2021-04-26 08:45:52 +02:00
</ div >
2024-05-16 18:02:50 +02:00
< div class = " card-body " >
2021-04-26 08:45:52 +02:00
< div class = " row " >
< div class = " col-md-4 " >
{[ " type " : " select " , " label " : " <?php echo tr('Nazione'); ?> " , " name " : " id_nazione " , " value " : " $id_nazione $ " , " ajax-source " : " nazioni " ]}
</ div >
< div class = " col-md-4 " >
2021-11-16 10:50:22 +01:00
{[ " type " : " text " , " label " : " <?php echo tr('Codice banca nazionale (ABI)'); ?> " , " name " : " bank_code " , " class " : " alphanumeric-mask " , " value " : " $bank_code $ " ]}
2021-04-26 08:45:52 +02:00
</ div >
< div class = " col-md-4 " >
2021-11-16 10:50:22 +01:00
{[ " type " : " text " , " label " : " <?php echo tr('Codice filiale (CAB)'); ?> " , " name " : " branch_code " , " class " : " alphanumeric-mask " , " value " : " $branch_code $ " ]}
2021-04-26 08:45:52 +02:00
</ div >
</ div >
< div class = " row " >
< div class = " col-md-4 " >
{[ " type " : " text " , " label " : " <?php echo tr('Numero account'); ?> " , " name " : " account_number " , " class " : " alphanumeric-mask " , " value " : " $account_number $ " ]}
</ div >
< div class = " col-md-4 " >
2021-04-26 09:27:05 +02:00
{[ " type " : " text " , " label " : " <?php echo tr('Cifre di controllo (CIN europeo)'); ?> " , " name " : " check_digits " , " class " : " alphanumeric-mask " , " value " : " $check_digits $ " ]}
2021-04-26 08:45:52 +02:00
</ div >
< div class = " col-md-4 " >
2021-04-26 09:27:05 +02:00
{[ " type " : " text " , " label " : " <?php echo tr('Cifre di verifica nazionale (CIN nazionale)'); ?> " , " name " : " national_check_digits " , " class " : " alphanumeric-mask " , " value " : " $national_check_digits $ " ]}
2021-04-26 08:45:52 +02:00
</ div >
</ div >
</ div >
</ div >
2018-03-28 17:04:10 +02:00
< ? php
2018-09-05 10:05:23 +02:00
// Collegamenti diretti (numerici)
2020-09-24 15:34:19 +02:00
$numero_documenti = $dbo -> fetchNum ( 'SELECT idanagrafica FROM an_anagrafiche WHERE idbanca_vendite=' . prepare ( $id_record ) . '
2018-12-28 00:04:41 +01:00
UNION SELECT idanagrafica FROM an_anagrafiche WHERE idbanca_acquisti = '.prepare($id_record).'
2020-09-24 15:44:02 +02:00
UNION SELECT idanagrafica FROM co_documenti WHERE id_banca_azienda = '.prepare($id_record).' OR id_banca_controparte = ' . prepare ( $id_record ));
2018-03-28 17:04:10 +02:00
2020-09-24 15:34:19 +02:00
if ( ! empty ( $numero_documenti )) {
2018-06-26 14:30:26 +02:00
echo '
2018-03-28 17:22:55 +02:00
< div class = " alert alert-danger " >
'.tr(' Ci sono _NUM_ documenti collegati ' , [
2020-09-24 15:34:19 +02:00
'_NUM_' => $numero_documenti ,
2018-03-28 17:22:55 +02:00
]) . ' .
</ div > ' ;
2018-03-28 17:04:10 +02:00
}
?>
< a class = " btn btn-danger ask " data - backto = " record-list " >
< i class = " fa fa-trash " ></ i > < ? php echo tr ( 'Elimina' ); ?>
</ a >
2021-04-26 08:45:52 +02:00
< script >
var iban = input ( " iban " );
var branch_code = input ( " branch_code " );
var bank_code = input ( " bank_code " );
var account_number = input ( " account_number " );
var check_digits = input ( " check_digits " );
var national_check_digits = input ( " national_check_digits " );
var id_nazione = input ( " id_nazione " );
2023-03-21 18:32:51 +01:00
var bic = input ( " bic " );
2021-04-26 08:45:52 +02:00
var components = [ branch_code , bank_code , account_number , check_digits , national_check_digits , id_nazione ];
$ ( document ) . ready ( function (){
2021-12-02 11:46:59 +01:00
iban . trigger ( " keyup " );
2021-04-26 08:45:52 +02:00
});
2021-12-02 11:46:59 +01:00
iban . on ( " keyup " , function () {
2021-04-26 08:45:52 +02:00
if ( ! iban . isDisabled ()){
let value = iban . get ();
for ( const component of components ){
component . setDisabled ( value !== " " )
}
scomponiIban ();
}
});
for ( const component of components ){
2021-12-02 11:46:59 +01:00
component . on ( " keyup " , function () {
2021-04-26 08:45:52 +02:00
let i = input ( this );
if ( ! i . isDisabled ()) {
iban . setDisabled ( i . get () !== " " )
componiIban ();
}
});
}
function scomponiIban () {
$ . ajax ({
url : globals . rootdir + '/actions.php' ,
data : {
id_module : globals . id_module ,
op : " decompose " ,
iban : iban . get (),
},
type : 'GET' ,
dataType : " json " ,
success : function ( response ) {
compilaCampi ( response );
2023-03-21 18:32:51 +01:00
2023-03-23 18:19:13 +01:00
if ( response . id_nazione . iso2 === " IT " ){
2023-03-21 18:32:51 +01:00
bic . setRequired ( false );
2023-03-23 19:33:50 +01:00
var label_text = $ ( 'label[for=bic] span .text-red' ) . text ();
$ ( 'label[for=bic] span .text-red' ) . text ( label_text . replace ( '*' , ' ' ));
2023-03-21 18:32:51 +01:00
} else {
bic . setRequired ( true );
2023-03-23 19:33:50 +01:00
var label_text = $ ( 'label[for=bic] span .text-red' ) . text ();
$ ( 'label[for=bic] span .text-red' ) . text ( label_text . replace ( ' ' , '*' ));
2023-03-21 18:32:51 +01:00
}
2021-04-26 10:16:42 +02:00
},
error : function () {
toastr [ " error " ]( " <?php echo tr('Formato IBAN non valido'); ?> " );
2021-04-26 08:45:52 +02:00
}
});
}
function componiIban () {
// Controllo su campi con valore impostato
let continua = false ;
for ( const component of components ){
continua |= ! ([ undefined , null , " " ] . includes ( component . get ()));
}
if ( ! continua ){
return ;
}
$ . ajax ({
url : globals . rootdir + '/actions.php' ,
data : {
id_module : globals . id_module ,
op : " compose " ,
branch_code : branch_code . get (),
bank_code : bank_code . get (),
account_number : account_number . get (),
check_digits : check_digits . get (),
national_check_digits : national_check_digits . get (),
id_nazione : id_nazione . get (),
},
type : 'GET' ,
dataType : " json " ,
success : function ( response ) {
compilaCampi ( response );
2021-04-26 10:16:42 +02:00
},
error : function () {
toastr [ " error " ]( " <?php echo tr('Formato IBAN non valido'); ?> " );
2021-04-26 08:45:52 +02:00
}
});
}
function compilaCampi ( values ) {
for ([ key , value ] of Object . entries ( values )) {
if ( typeof value === 'object' && value !== null ) {
input ( key ) . getElement () . selectSetNew ( value . id , value . text , value );
} else {
input ( key ) . set ( value );
}
}
}
</ script >