Fix esportazione scadenzario Ri.Ba.

This commit is contained in:
Pek5892 2023-03-13 16:15:45 +01:00
parent a31b73d316
commit 30ff4bb1f2
4 changed files with 13 additions and 7 deletions

View File

@ -99,7 +99,7 @@ abstract class BaseRecord implements RecordInterface
// Pad automatico sulla base del tipo
if ($record['tipo'] == 'string') {
$value = $this->padString($value, $record['dimensione']);
$value = $this->padString($value, $record['dimensione'], isset($record['forzaPadding']) ? $record['forzaPadding'] : "" );
} elseif ($record['tipo'] == 'numeric') {
$value = $this->padNumber($value, $record['dimensione']);
} elseif ($record['tipo'] == 'constant') {
@ -112,7 +112,7 @@ abstract class BaseRecord implements RecordInterface
/**
* @return string
*/
protected function padString(?string $string, int $length)
protected function padString(?string $string, int $length, $pad = STR_PAD_RIGHT)
{
// Sostituzione di alcuni simboli noti
$replaces = [
@ -124,7 +124,11 @@ abstract class BaseRecord implements RecordInterface
$string = substr($string, 0, $length);
return str_pad($string, $length);
if ( $pad == STR_PAD_LEFT || $pad == STR_PAD_RIGHT ) {
return str_pad($string, $length, " ", $pad);
}
return str_pad($string, $length, " ");
}
/**

View File

@ -35,9 +35,10 @@ class Record20 extends BaseRecord
'tipo' => 'string',
],
'descrizione_creditore_4' => [
'inizio' => 91,
'inizio' => 83,
'dimensione' => 24,
'tipo' => 'string',
'forzaPadding' => STR_PAD_LEFT
],
];

View File

@ -8,7 +8,7 @@ namespace Plugins\PresentazioniBancarie\Cbi\Records;
* @property string numero_progressivo Numero progressivo della ricevuta, uguale a quello indicato per il record 14 della disposizione.
* @property string riferimento_debito_1 Riferimenti al debito.
* @property string riferimento_debito_2 Riferimenti al debito.
* @property string codice_fiscale_creditore Codice fiscale/Partita IVA del creditore. Se il campo è valorizzato, il controllo è di validità pertanto va verificata la presenza del CIN e la sua correttezza. Lobbligatorietà viene meno nel caso in cui il campo 82 del tipo record 70 delle “Riba presentate da clientela non residente” sia valorizzato a 1.
* @property string partita_iva_o_codice_fiscale_creditore Codice fiscale/Partita IVA del creditore. Se il campo è valorizzato, il controllo è di validità pertanto va verificata la presenza del CIN e la sua correttezza. Lobbligatorietà viene meno nel caso in cui il campo 82 del tipo record 70 delle “Riba presentate da clientela non residente” sia valorizzato a 1.
*/
class Record50 extends BaseRecord
{
@ -28,10 +28,11 @@ class Record50 extends BaseRecord
'dimensione' => 40,
'tipo' => 'string',
],
'codice_fiscale_creditore' => [
'partita_iva_o_codice_fiscale_creditore' => [
'inizio' => 101,
'dimensione' => 16,
'tipo' => 'string',
'forzaPadding' => STR_PAD_LEFT
],
];

View File

@ -153,7 +153,7 @@ class RiBa
// Record 50
$r50 = new Record50();
$r50->numero_progressivo = $progressivo;
$r50->codice_fiscale_creditore = $intestazione->identificativo_creditore;
$r50->partita_iva_o_codice_fiscale_creditore = $intestazione->partita_iva_o_codice_fiscale_creditore;
$r50->riferimento_debito_1 = $ricevuta->descrizione;
$r50->riferimento_debito_2 = $ricevuta->descrizione_origine;
$contenuto .= $r50->toCBI().$eol;