Pagina 1 di 3
Esportare scadenze RiBa in standard CBI
Inviato: sabato 12 gennaio 2013, 18:54
da usit86
Ho creato un gestionale per la mia attività dove ho risolto (con molto aiuto da questo forum) quasi tutti i problemi che mi si sono presentati. L'unico "problema" che ancora non riesco a risolvere riguarda la creazione di un file di testo in standard CBI da poter inviare via home banking per le scadenze con pagamento RiBa. Se qualcuno ha una soluzione o una dritta ne sarei molto grato, accetto anche soluzioni di sviluppatori da poter integrare al mio database (ovviamente dietro giusta ricompensa).
Re: Esportare scadenze RiBa in standard CBI
Inviato: sabato 12 gennaio 2013, 23:27
da gozzi
Dovrò affrontare lo stesso problema anche io entro la fine del mese:
al momento ho scaricato il manuale con le specifiche dello standard ma gli ho dato poco più di un'occhiata veloce.
Ti farò sapere non appena inizierò a preoccuparmene in modo da poterci scambiare opinioni
Re: Esportare scadenze RiBa in standard CBI
Inviato: domenica 13 gennaio 2013, 18:17
da usit86
Ti ringrazio per il tuo interesse... fammi sapere se risolvi in qualche modo.
Sicuramente qualcuno nel forum ha già affrontato e risolto (spero) questo problema e ci potrà dare una mano.
Re: Esportare scadenze RiBa in standard CBI
Inviato: lunedì 14 gennaio 2013, 10:47
da stregatto
non è nulla di complicato, solo molto noioso. l'unica cosa che può infastidire è l'acapo (di solito su mac). si tratta semplicemente di prendere le specifiche e seguirle.
.g.
Re: Esportare scadenze RiBa in standard CBI
Inviato: lunedì 14 gennaio 2013, 13:32
da usit86
Grazie Stregatto,
So che non ti piace dare la "pappa fatta", e questo lo condivido in quanto ho imparato ad usare quel poco che conosco di FMP facendo esperimenti in prima persona e leggendo quanti più post potevo. Potresti magari semplicemente instradarmi per la giusta via con la tua consueta ma efficacissima sintesi?
Grazie in anticipo!
Re: Esportare scadenze RiBa in standard CBI
Inviato: lunedì 14 gennaio 2013, 16:20
da stregatto
parti da:
http://www.querciacb.info/it-IT/standar ... cbiit.html
ci sono le specifivhe dei file da realizzare…
.g.
Re: Esportare scadenze RiBa in standard CBI
Inviato: martedì 22 gennaio 2013, 14:41
da gozzi
Ho iniziato oggi a sviluppare il file che mi servirà per inviare le Ri.Ba alla banca ed effettivamente è una bella palla...
Ho deciso di creare 3 tabelle:
Riba_flussi -> Riba -> Riba_disposizioni
Ogni flusso Riba conterrà n. Riba ed ogni riba conterrà le 9 righe (riba_disposizioni) che dovranno essere inviate (1 di testa, 1 di coda e 7 di dati)
Molti campi sono duplicati più volte, molti altri sono fissi, tutti sono a lunghezza fissa di 120 caratteri.
Per chi lo avesse già fatto la struttura è simile a quella delle lettere di vettura di Bartolini
Posterò nei prossimi gg degli esempi pratici
Re: Esportare scadenze RiBa in standard CBI
Inviato: martedì 22 gennaio 2013, 18:17
da usit86
Grazie Gozzi
Attendo fiducioso il tuo esempio per studiarlo ed adattarlo alla mia soluzione!
Re: Esportare scadenze RiBa in standard CBI
Inviato: giovedì 24 gennaio 2013, 15:52
da gozzi
Ho finito la parte più pallosa, quindi quella di definire i campi secondo lo standard.
Di seguito i codici che potrai utilizzare nel tuo file: ovviamente dovrai valorizzare tutte le variabili e poi ti toccherà la parte più divertente... inserirlo nel tuo DB
Io ho creato uno script che imposta con un loop i record in sequenza come richiede lo standard.
Ogni flusso riba (il file txt che invierai alla banca) è composto da n disposizioni.
Ogni disposizione è composta a sua volta da 7 record.
L'insieme di tutti i record ottenuti dovrà iniziare con un record di testa "IB" ed un record di coda "EF"
I record di testa e coda sono così composti:
Record di testa (IB)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso IB*/ "IB" &
/* 4-8- codice Sia mittente*/ Sinistra($codice_mittente &" ";5) &
/* 9-13 - ABI ricevente/debitore */ Sinistra($abi_debitore &" ";5) &
/* 14-19 - data creazione GGMMAA*/ Sinistra($data_creazione & " ";6) &
/* 20-39 - nome supporto/nome file*/ Sinistra($nome_file & " ";20) &
/* 40-45 - campo a disposizione */ Sinistra($campo_disponibile &" ";6) &
/* 46-104 - filler/blank*/ " " &
/* 105-111 Qualificatori di flusso */
/* 105 - tipo flusso */ Sinistra($tipo_flusso &" ";1) &
/* 106 - qualificatore flusso */ Sinistra($qualificatore_flusso &" ";1) & /* Se valorizzato deve assumenre il valore fisso $ */
/* 107-111 - soggetto veicolatore */ Sinistra($soggetto_veicolatore &" ";5) &
/* 112-113 - filler/blank */ " " &
/* 114 - codice divisa*/ "E" &
/* 115 - filler/blank */ " " &
/* 116-120 - campo non disponibile */ " "
Record di coda (EF)
Codice: Seleziona tutto
/* 1 - filler/blank*/ " " &
/* 2-3 - codice fisso EF*/ "EF" &
/* 4-8- codice Sia mittente*/ Sinistra($codice_mittente &" ";5) &
/* 9-13 - ABI ricevente/debitore */ Sinistra($abi_debitore &" ";5) &
/* 14-19 - data creazione GGMMAA*/ Sinistra($data_creazione & " ";6) &
/* 20-39 - nome supporto/nome file*/ Sinistra($nome_file & " ";20) &
/* 40-45 - campo a disposizione */ Sinistra($campo_disponibile &" ";6) &
/* 46-52 - numero disposizioni*/ Destra("0000000" & $numero_disposizioni;7) &
/* 53-67 - importo toale in centesimi €*/ Destra("000000000000000" & $totale_importi;15) &
/* 68-82 - valorizzato con 15 zeri */ "000000000000000" &
/* 83-89 - numero record complessivi*/ Destra("0000000" & $numero_record;7) &
/* 90-113 - filler/blank */ " " &
/* 114 - codice divisa*/ "E" &
/* 115-120 - campo non disponibile */ " "
Ogni disposizione è a sua volta divisa in 7 record che vanno formattati come vedi di seguito:
Riga 1 (14)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso 14*/ "14" &
/* 4-10- progressivo*/ Destra("0000000" & $progressivo;7) &
/* 11-22 - filler/blank*/ " " &
/* 23-28 - data pagamento GGMMAA*/ Sinistra($data_pagamento & " ";6) &
/* 29-33 -causale, valore fisso 30000*/ "30000" &
/* 33-46 - importo in centesimi*/ Destra("00000000000000" & $importo;14) &
/* 47 - segno '-'*/ "-" &
/* Coordinate banca assuntrice (mittente) */
/* 48-52 - ABI */ Sinistra($abi_mittente &" ";5) &
/* 53-57 - CAB */ Sinistra($cab_mittente &" ";5) &
/* 58-69 - Numero C/C */ Destra(" " & $numero_conto_mittente;12) &
/* Coordinate banca Domiciliataria (debitore) */
/* 70-74 - ABI */ Sinistra($abi_debitore &" ";5) &
/* 75-79 - CAB */ Sinistra($cab_debitore &" ";5) &
/* 80-91 - filler/blank */ " " &
/* Coordinate azienda creditrice (mittente) */
/* 92-96 - codice azienda */ Sinistra($codice_mittente &" ";5) &
/* 97 - valore fisso '4' */ "4" &
/* 98-113 - codice cliente debitore*/ Destra("0000000000000000" & $id_cliente;16) &
/* 114 - flag tipo debitore
(se è una banca indicare B)*/ Sinistra($flag_tipo_debitore & " ";1) &
/* 115-119 - filler/blank */ " " &
/* 120 - codice divisa*/ "E"
Riga 2(20)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso 20*/ "20" &
/* 4-10- progressivo*/ Destra("0000000" & $progressivo;7) &
/* Descrizione creditore (mittente), suddivisa in 4 segmenti alfanumerici di 24 caratteri ciascuno */
/* 11-34 - 1° segmento*/
/* 35-38 - 2° segmento*/
/* 59-82 - 3° segmento*/
/* 83-106 - 4° segmento*/ Sinistra(" " & $descrizione_mittente;96) &
/* 107-120 - filler/blank */ " "
Riga 3 (30)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso 30*/ "30" &
/* 4-10- progressivo*/ Destra("0000000" & $progressivo;7) &
/* Descrizione debitore (destinatario), suddivisa in 2 segmenti alfanumerici di 30 caratteri ciascuno */
/* 11-40 - 1° segmento*/
/* 41-70 - 2° segmento*/ Sinistra(" " & $descrizione_mittente;60) &
/* 71-86 - codice fiscale debitore*/ Sinistra(" " & $codice_fiscale_debitore;16) &
/* 87-120 - filler/blank */ " "
Riga 4(40)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso 40*/ "40" &
/* 4-10- progressivo*/ Destra("0000000" & $progressivo;7) &
/* Indirizzo del debitore */
/* 11-40 - indirizzo*/ Sinistra($indirizzo_debitore & " ";30) &
/* 41-45 - cap*/ Sinistra($cap_debitore & " " ;5) &
/* 46-70 - comune e sigla provincia*/ Sinistra($comune_debitore & " " ;23) & Sinistra($provincia_debitore & " ";2) &
/* 71-120 -Banca/Sportello domiciliataria*/ Sinistra($banca_debitore & " " ;50)
Riga 5 (50)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso 50*/ "50" &
/* 4-10- progressivo*/ Destra("0000000" & $progressivo;7) &
/* Riferimenti al debito (es Fatturan. del), suddivisi in 2 segmenti alfanumerici di 40 caratteri ciascuno */
/* 11-50 - 1° segmento*/
/* 51-90 - 2° segmento*/ Sinistra($descrizione_mittente & " ";80) &
/* 91-100 - filler/blank */ " " &
/* 101-116 - codice fiscale creditore*/ Sinistra($codice_fiscale_mittente & " ";16) &
/* 117-120 - filler/blank */ " "
Riga 6 (51)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso 51*/ "51" &
/* 4-10- progressivo*/ Destra("0000000" & $progressivo;7) &
/* 11-20 - numero ricevuta*/ Destra("0000000000" & $id_disposizione;10) &
/* 21-40 - denom. abbreviata creditore*/ Sinistra($denominazione_abbreviata_mittente & " ";20) &
/* Bollo virtuale, tutti i valori sono facoltativi ed intendono l'intendenza di finanza che ha concesso ll'autorizzazione */
/* 41-55 - provincia*/ Sinistra($provincia_intendenza_finanza & " ";15) &
/* 56-65 - numero autorizzazione*/ Sinistra($n_autorizzazione_intendenza_finanza & " ";10) &
/* 66-71 - data autorizzazione GGMMAA*/ Sinistra($data_autorizzazione_intendenza_finanza & " ";6) &
/* 72-120 - filler/blank */ " "
Riga 7 (70)
Codice: Seleziona tutto
/* 1-blank*/ " " &
/* 2-3 - codice fisso 70*/ "70" &
/* 4-10- progressivo*/ Destra("0000000" & $progressivo;7) &
/* 11-88 - filler/blank */ " " &
/* 89-100 - indicatori di circuito*/ Sinistra($indicatori_circuito & " ";12) &
/* 101-103 Indicatori richiesta di incasso*/
/* 101 - flag tipo documento debitore*/ Sinistra($flag_tipo_documento & " ";1) &
/* 102 - flag richiesta esito*/ Sinistra($flag_richiesta_esito & " ";1) &
/* 103 - flag stampa avviso*/ Sinistra($flag_stampa_avviso & " ";1) &
/*104-120 - chiavi di controllo*/ Sinistra($chiavi_controllo & " ";17)
Se copi ed incolli i codici che ho inserito sopra anche tutti gli spazi "andranno a posto" e vedrai la quotatura a fianco ad ogni calcolo.
Per tua comodità in fase di sviluppo creati un formato con caratteri non proporzionali e piuttosto grandi...
Re: Esportare scadenze RiBa in standard CBI
Inviato: venerdì 25 gennaio 2013, 8:52
da stregatto
gozzi, un piccolo trucco:
usando let puoi definire inizialmente una serie di spazi, quindi invece di reinserirli ogni volta potrai usare sempre e solo la variabile dichiarata
.g.